From 28e98bc4854bb613fdfcbcda72e72a36bb43a284 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Thu, 14 Jun 2018 16:59:04 -0700 Subject: [PATCH 1/2] Update strace to 4.22. 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. Bug: N/A Test: strace -f date Change-Id: I41780dbf3262f9e2f72c825fc3c4c1be662bbbf5 --- Android.bp | 5 + COPYING | 2 +- CREDITS | 11 +- ChangeLog | 2039 ++++ Makefile | 8222 +++++++++++++++ Makefile.am | 61 +- Makefile.in | 569 +- NEWS | 53 + README | 14 +- aclocal.m4 | 1 + arch_defs.h | 2 +- block.c | 4 +- bpf.c | 302 +- bpf_attr.h | 193 + bpf_attr_check.c | 458 + bpf_filter.c | 89 +- btrfs.c | 31 +- clone.c | 2 +- config.h | 152 +- config.h.in | 142 +- configure | 1052 +- configure.ac | 57 +- count.c | 81 +- debian/changelog | 21 +- debian/changelog.in | 15 +- debian/control | 16 +- debian/copyright | 8 +- debian/rules | 16 +- debian/strace.manpages | 4 +- debian/strace64.manpages | 2 +- defs.h | 123 +- delay.c | 154 + delay.h | 38 + dm.c | 4 +- evdev.c | 124 +- evdev_mpers.c | 151 + filter_qualify.c | 99 +- gcc_compat.h | 8 +- gen_bpf_attr_check.sh | 71 + gnu/stubs-32.h | 0 ioctl.c | 3 +- ioctl_iocdef.h | 5 + ioctl_redefs1.h | 1372 +++ ioctlent0.h | 106 +- ioctlent1.h | 38 +- ioctlent2.h | 58 +- largefile_wrappers.h | 6 +- ldt.c | 2 +- linux/32/ioctls_inc_align16.h | 35 +- linux/32/ioctls_inc_align32.h | 35 +- linux/32/ioctls_inc_align64.h | 35 +- linux/64/ioctls_inc.h | 35 +- linux/aarch64/ioctls_arch0.h | 71 + linux/aarch64/raw_syscall.h | 49 + linux/alpha/errnoent.h | 1 + linux/alpha/raw_syscall.h | 51 + linux/arc/raw_syscall.h | 61 + linux/arch_defs_.h | 4 + linux/arm/arch_defs_.h | 1 + linux/arm/ioctls_arch0.h | 3 + linux/arm/raw_syscall.h | 49 + linux/avr32/raw_syscall.h | 49 + linux/bfin/raw_syscall.h | 48 + linux/errnoent.h | 1 + linux/hppa/errnoent.h | 1 + linux/hppa/raw_syscall.h | 52 + linux/i386/arch_defs_.h | 1 + linux/i386/ioctls_arch0.h | 4 + linux/i386/raw_syscall.h | 48 + linux/ia64/raw_syscall.h | 61 + linux/inet_diag.h | 2 + linux/m68k/raw_syscall.h | 48 + linux/metag/raw_syscall.h | 49 + linux/microblaze/raw_syscall.h | 50 + linux/mips/arch_defs_.h | 1 + linux/mips/errnoent.h | 1 + linux/mips/ioctls_arch0.h | 69 + linux/mips/raw_syscall.h | 55 + linux/nios2/raw_syscall.h | 49 + linux/or1k/raw_syscall.h | 50 + linux/powerpc/arch_defs_.h | 1 + linux/powerpc/ioctls_arch0.h | 3 + linux/powerpc/raw_syscall.h | 52 + linux/powerpc64/raw_syscall.h | 1 + linux/raw_syscall.h | 1 + linux/riscv/arch_defs_.h | 1 + linux/riscv/raw_syscall.h | 49 + linux/s390/arch_defs_.h | 1 + linux/s390/ioctls_arch0.h | 3 + linux/s390/raw_syscall.h | 49 + linux/s390x/ioctls_arch0.h | 3 + linux/s390x/raw_syscall.h | 1 + linux/sh/raw_syscall.h | 54 + linux/sh64/raw_syscall.h | 1 + linux/sparc/arch_defs_.h | 1 + linux/sparc/errnoent.h | 1 + linux/sparc/raw_syscall.h | 58 + linux/sparc/syscallent.h | 2 +- linux/sparc64/raw_syscall.h | 60 + linux/sparc64/syscallent.h | 2 +- linux/tile/arch_defs_.h | 1 + linux/tile/raw_syscall.h | 53 + linux/x32/ioctls_inc0.h | 35 +- linux/x32/raw_syscall.h | 1 + linux/x86_64/arch_regs.h | 29 + linux/x86_64/getregs_old.c | 2 +- linux/x86_64/ioctls_arch0.h | 4 + linux/x86_64/raw_syscall.h | 48 + linux/xtensa/raw_syscall.h | 48 + loop.c | 6 +- lseek.c | 3 +- m32_funcs.h | 23 + m32_printer_decls.h | 44 + m32_printer_defs.h | 44 + m32_type_defs.h | 166 + m4/bpf_attr.m4 | 51 + m4/mpers.m4 | 6 +- m4/st_warn_cflags.m4 | 1 + macros.h | 18 +- mem.c | 5 +- mmap_cache.c | 233 + mmap_cache.h | 86 + mpers-m32.stamp | 0 mpers-m32/kernel_dirent.c | 36 + mpers-m32/kernel_dirent.d1 | 89 + mpers-m32/kernel_dirent.d2 | 87 + mpers-m32/kernel_dirent.h | 10 + .../mq_attr_t.c | 33 +- mpers-m32/mq_attr_t.d1 | 83 + mpers-m32/mq_attr_t.d2 | 79 + mpers-m32/mq_attr_t.h | 10 + mpers-m32/msgbuf_t.c | 39 + mpers-m32/msgbuf_t.d1 | 69 + mpers-m32/msgbuf_t.d2 | 63 + mpers-m32/msgbuf_t.h | 8 + mpers-m32/msqid_ds_t.c | 49 + mpers-m32/msqid_ds_t.d1 | 246 + mpers-m32/msqid_ds_t.d2 | 271 + mpers-m32/msqid_ds_t.h | 28 + mpers-m32/rusage_t.c | 38 + mpers-m32/rusage_t.d1 | 166 + mpers-m32/rusage_t.d2 | 175 + mpers-m32/rusage_t.h | 27 + mpers-m32/sample.c | 38 + mpers-m32/sample.expected | 42 + mpers-m32/sample_struct.c | 37 + mpers-m32/sample_struct.d1 | 301 + mpers-m32/sample_struct.d2 | 336 + mpers-m32/sample_struct.h | 42 + mpers-m32/shmid_ds_t.c | 49 + mpers-m32/shmid_ds_t.d1 | 245 + mpers-m32/shmid_ds_t.d2 | 270 + mpers-m32/shmid_ds_t.h | 27 + mpers-m32/siginfo_t.c | 42 + mpers-m32/siginfo_t.d1 | 408 + mpers-m32/siginfo_t.d2 | 452 + mpers-m32/siginfo_t.h | 65 + mpers-m32/stack_t.c | 39 + mpers-m32/stack_t.d1 | 65 + mpers-m32/stack_t.d2 | 59 + mpers-m32/stack_t.h | 12 + mpers-m32/struct_blk_user_trace_setup.c | 65 + mpers-m32/struct_blk_user_trace_setup.d1 | 132 + mpers-m32/struct_blk_user_trace_setup.d2 | 138 + mpers-m32/struct_blk_user_trace_setup.h | 15 + mpers-m32/struct_blkpg_ioctl_arg.c | 65 + mpers-m32/struct_blkpg_ioctl_arg.d1 | 61 + mpers-m32/struct_blkpg_ioctl_arg.d2 | 54 + mpers-m32/struct_blkpg_ioctl_arg.h | 13 + mpers-m32/struct_blkpg_partition.c | 65 + mpers-m32/struct_blkpg_partition.d1 | 95 + mpers-m32/struct_blkpg_partition.d2 | 94 + mpers-m32/struct_blkpg_partition.h | 11 + .../struct_btrfs_ioctl_dev_replace_args.c | 47 + .../struct_btrfs_ioctl_dev_replace_args.d1 | 181 + .../struct_btrfs_ioctl_dev_replace_args.d2 | 191 + .../struct_btrfs_ioctl_dev_replace_args.h | 25 + .../struct_btrfs_ioctl_received_subvol_args.c | 47 + ...struct_btrfs_ioctl_received_subvol_args.d1 | 133 + ...struct_btrfs_ioctl_received_subvol_args.d2 | 137 + .../struct_btrfs_ioctl_received_subvol_args.h | 20 + mpers-m32/struct_btrfs_ioctl_send_args.c | 47 + mpers-m32/struct_btrfs_ioctl_send_args.d1 | 100 + mpers-m32/struct_btrfs_ioctl_send_args.d2 | 100 + mpers-m32/struct_btrfs_ioctl_send_args.h | 16 + mpers-m32/struct_btrfs_ioctl_vol_args_v2.c | 47 + mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1 | 238 + mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2 | 257 + mpers-m32/struct_btrfs_ioctl_vol_args_v2.h | 24 + mpers-m32/struct_ff_effect.c | 42 + mpers-m32/struct_ff_effect.d1 | 366 + mpers-m32/struct_ff_effect.d2 | 402 + mpers-m32/struct_ff_effect.h | 70 + mpers-m32/struct_flock.c | 36 + mpers-m32/struct_flock.d1 | 95 + mpers-m32/struct_flock.d2 | 94 + mpers-m32/struct_flock.h | 10 + mpers-m32/struct_flock64.c | 36 + mpers-m32/struct_flock64.d1 | 90 + mpers-m32/struct_flock64.d2 | 88 + mpers-m32/struct_flock64.h | 12 + mpers-m32/struct_group_req.c | 37 + mpers-m32/struct_group_req.d1 | 98 + mpers-m32/struct_group_req.d2 | 96 + mpers-m32/struct_group_req.h | 10 + mpers-m32/struct_hd_geometry.c | 37 + mpers-m32/struct_hd_geometry.d1 | 69 + mpers-m32/struct_hd_geometry.d2 | 63 + mpers-m32/struct_hd_geometry.h | 9 + mpers-m32/struct_ifconf.c | 44 + mpers-m32/struct_ifconf.d1 | 571 ++ mpers-m32/struct_ifconf.d2 | 645 ++ mpers-m32/struct_ifconf.h | 14 + mpers-m32/struct_ifreq.c | 44 + mpers-m32/struct_ifreq.d1 | 532 + mpers-m32/struct_ifreq.d2 | 600 ++ mpers-m32/struct_ifreq.h | 62 + mpers-m32/struct_keyctl_kdf_params.c | 7 + mpers-m32/struct_keyctl_kdf_params.d1 | 88 + mpers-m32/struct_keyctl_kdf_params.d2 | 86 + mpers-m32/struct_keyctl_kdf_params.h | 13 + mpers-m32/struct_loop_info.c | 36 + mpers-m32/struct_loop_info.d1 | 162 + mpers-m32/struct_loop_info.d2 | 172 + mpers-m32/struct_loop_info.h | 17 + mpers-m32/struct_mmsghdr.c | 34 + mpers-m32/struct_mmsghdr.d1 | 161 + mpers-m32/struct_mmsghdr.d2 | 171 + mpers-m32/struct_mmsghdr.h | 19 + mpers-m32/struct_msghdr.c | 34 + mpers-m32/struct_msghdr.d1 | 143 + mpers-m32/struct_msghdr.d2 | 151 + mpers-m32/struct_msghdr.h | 16 + mpers-m32/struct_mtd_oob_buf.c | 40 + mpers-m32/struct_mtd_oob_buf.d1 | 66 + mpers-m32/struct_mtd_oob_buf.d2 | 60 + mpers-m32/struct_mtd_oob_buf.h | 12 + mpers-m32/struct_rt_sigframe.c | 33 + mpers-m32/struct_rt_sigframe.d1 | 657 ++ mpers-m32/struct_rt_sigframe.d2 | 740 ++ mpers-m32/struct_rt_sigframe.h | 93 + mpers-m32/struct_rtc_pll_info.c | 38 + mpers-m32/struct_rtc_pll_info.d1 | 83 + mpers-m32/struct_rtc_pll_info.d2 | 79 + mpers-m32/struct_rtc_pll_info.h | 12 + mpers-m32/struct_sg_io_hdr.c | 41 + mpers-m32/struct_sg_io_hdr.d1 | 184 + mpers-m32/struct_sg_io_hdr.d2 | 199 + mpers-m32/struct_sg_io_hdr.h | 31 + mpers-m32/struct_sg_req_info.c | 41 + mpers-m32/struct_sg_req_info.d1 | 94 + mpers-m32/struct_sg_req_info.d2 | 93 + mpers-m32/struct_sg_req_info.h | 17 + mpers-m32/struct_sigevent.c | 32 + mpers-m32/struct_sigevent.d1 | 115 + mpers-m32/struct_sigevent.d2 | 114 + mpers-m32/struct_sigevent.h | 18 + mpers-m32/struct_sock_fprog.c | 34 + mpers-m32/struct_sock_fprog.d1 | 104 + mpers-m32/struct_sock_fprog.d2 | 104 + mpers-m32/struct_sock_fprog.h | 12 + mpers-m32/struct_stat.c | 62 + mpers-m32/struct_stat.d1 | 169 + mpers-m32/struct_stat.d2 | 180 + mpers-m32/struct_stat.h | 25 + mpers-m32/struct_stat64.c | 60 + mpers-m32/struct_stat64.d1 | 32 + mpers-m32/struct_stat64.d2 | 20 + mpers-m32/struct_stat64.h | 5 + mpers-m32/struct_statfs.c | 37 + mpers-m32/struct_statfs.d1 | 152 + mpers-m32/struct_statfs.d2 | 159 + mpers-m32/struct_statfs.h | 19 + mpers-m32/struct_statfs64.c | 37 + mpers-m32/struct_statfs64.d1 | 161 + mpers-m32/struct_statfs64.d2 | 170 + mpers-m32/struct_statfs64.h | 20 + mpers-m32/struct_timex.c | 38 + mpers-m32/struct_timex.d1 | 198 + mpers-m32/struct_timex.d2 | 213 + mpers-m32/struct_timex.h | 29 + mpers-m32/struct_ustat.c | 35 + mpers-m32/struct_v4l2_buffer.c | 53 + mpers-m32/struct_v4l2_buffer.d1 | 335 + mpers-m32/struct_v4l2_buffer.d2 | 371 + mpers-m32/struct_v4l2_buffer.h | 38 + mpers-m32/struct_v4l2_clip.c | 53 + mpers-m32/struct_v4l2_clip.d1 | 95 + mpers-m32/struct_v4l2_clip.d2 | 93 + mpers-m32/struct_v4l2_clip.h | 16 + mpers-m32/struct_v4l2_create_buffers.c | 53 + mpers-m32/struct_v4l2_create_buffers.d1 | 678 ++ mpers-m32/struct_v4l2_create_buffers.d2 | 762 ++ mpers-m32/struct_v4l2_create_buffers.h | 98 + mpers-m32/struct_v4l2_ext_control.c | 53 + mpers-m32/struct_v4l2_ext_control.d1 | 172 + mpers-m32/struct_v4l2_ext_control.d2 | 188 + mpers-m32/struct_v4l2_ext_control.h | 21 + mpers-m32/struct_v4l2_ext_controls.c | 53 + mpers-m32/struct_v4l2_ext_controls.d1 | 233 + mpers-m32/struct_v4l2_ext_controls.d2 | 258 + mpers-m32/struct_v4l2_ext_controls.h | 17 + mpers-m32/struct_v4l2_format.c | 53 + mpers-m32/struct_v4l2_format.d1 | 635 ++ mpers-m32/struct_v4l2_format.d2 | 713 ++ mpers-m32/struct_v4l2_format.h | 92 + mpers-m32/struct_v4l2_framebuffer.c | 53 + mpers-m32/struct_v4l2_framebuffer.d1 | 120 + mpers-m32/struct_v4l2_framebuffer.d2 | 122 + mpers-m32/struct_v4l2_framebuffer.h | 22 + mpers-m32/struct_v4l2_input.c | 53 + mpers-m32/struct_v4l2_input.d1 | 137 + mpers-m32/struct_v4l2_input.d2 | 143 + mpers-m32/struct_v4l2_input.h | 15 + mpers-m32/struct_v4l2_standard.c | 53 + mpers-m32/struct_v4l2_standard.d1 | 137 + mpers-m32/struct_v4l2_standard.d2 | 142 + mpers-m32/struct_v4l2_standard.h | 16 + mpers-m32/sysinfo_t.c | 39 + mpers-m32/sysinfo_t.d1 | 175 + mpers-m32/sysinfo_t.d2 | 188 + mpers-m32/sysinfo_t.h | 19 + mpers-m32/time_t.c | 32 + mpers-m32/time_t.d1 | 46 + mpers-m32/time_t.d2 | 37 + mpers-m32/time_t.h | 4 + mpers-m32/timespec_t.c | 34 + mpers-m32/timespec_t.d1 | 59 + mpers-m32/timespec_t.d2 | 51 + mpers-m32/timespec_t.h | 7 + mpers-m32/timeval_t.c | 34 + mpers-m32/timeval_t.d1 | 64 + mpers-m32/timeval_t.d2 | 57 + mpers-m32/timeval_t.h | 7 + mpers-m32/tms_t.c | 38 + mpers-m32/tms_t.d1 | 71 + mpers-m32/tms_t.d2 | 65 + mpers-m32/tms_t.h | 9 + mpers-m32/utimbuf_t.c | 8 + mpers-m32/utimbuf_t.d1 | 59 + mpers-m32/utimbuf_t.d2 | 51 + mpers-m32/utimbuf_t.h | 7 + mpers.am | 2 +- mpers.awk | 2 +- mpers_test.sh | 2 +- mpers_xlat.h | 15 +- mtd.c | 4 +- native_printer_decls.h | 4 +- native_printer_defs.h | 4 +- netlink.c | 6 +- netlink_netfilter.c | 98 + netlink_packet_diag.c | 6 +- nlattr.c | 6 +- poll.c | 9 +- prctl.c | 45 +- print_fields.h | 26 +- printers.h | 6 +- process.c | 44 +- ptp.c | 37 +- ptrace.h | 4 + quota.c | 8 +- regs.h | 5 - retval.c | 70 + retval.h | 8 + rtc.c | 8 +- rtnl_link.c | 24 +- rtnl_tc.c | 5 +- s390.c | 36 +- sched.c | 7 +- sen.h | 1 + sockaddr.c | 7 +- socketutils.c | 18 +- sparc.c | 46 + stamp-h1 | 1 + static_assert.h | 40 + strace-log-merge | 2 +- strace-log-merge.1 | 4 +- strace-log-merge.1.in | 2 +- strace.1 | 71 +- strace.1.in | 69 +- strace.c | 285 +- strace.spec | 14 +- strace.spec.in | 6 +- sys_func.h | 1 + syscall.c | 126 +- term.c | 8 +- tests-m32/Makefile | 8817 +++++++++++++++++ tests-m32/Makefile.am | 26 +- tests-m32/Makefile.in | 380 +- tests-m32/bpf.c | 1204 ++- tests-m32/btrfs.c | 97 +- tests-m32/count.test | 6 +- tests-m32/delay.c | 135 + tests-m32/delay.test | 10 + tests-m32/dev-yy.c | 101 + tests-m32/dev-yy.gen.test | 4 + tests-m32/file_handle.c | 3 +- tests-m32/fsync-y.c | 71 + tests-m32/fsync-y.gen.test | 4 + tests-m32/futex.c | 1 - tests-m32/gen_tests.am | 14 +- tests-m32/gen_tests.in | 6 +- tests-m32/init.sh | 3 +- tests-m32/inject-nf.c | 86 + tests-m32/inject-nf.test | 50 + tests-m32/ioctl.test | 2 +- tests-m32/ioctl_dm.c | 1 - tests-m32/ioctl_loop.c | 3 +- tests-m32/ioctl_sock_gifconf.c | 3 +- tests-m32/ioctl_v4l2.c | 148 +- tests-m32/ipc_shm.c | 2 +- tests-m32/kern_features-fault.test | 38 + tests-m32/kern_features.c | 120 + tests-m32/kern_features.gen.test | 4 + tests-m32/keyctl.c | 3 +- tests-m32/localtime.c | 57 + tests-m32/localtime.test | 38 + tests-m32/mq_sendrecv.c | 3 +- tests-m32/net-yy-inet.c | 89 +- tests-m32/net-yy-inet6.c | 13 + tests-m32/net-yy-inet6.gen.test | 4 + tests-m32/netlink_kobject_uevent.c | 21 +- tests-m32/netlink_netfilter.c | 123 +- tests-m32/options-syntax.test | 8 +- tests-m32/perf_event_open.c | 1 - tests-m32/pread64-pwrite64.c | 3 +- tests-m32/print_quoted_string.c | 71 +- tests-m32/ptrace.c | 20 + tests-m32/pure_executables.am | 3 + tests-m32/pure_executables.list | 3 + tests-m32/qual_inject-syntax.test | 10 +- tests-m32/read-write.c | 70 +- tests-m32/read-write.gen.test | 4 +- tests-m32/remap_file_pages.c | 13 +- tests-m32/s390_guarded_storage.c | 1 - tests-m32/s390_pci_mmio_read_write.c | 1 - tests-m32/s390_sthyi.c | 21 +- tests-m32/sched_xetattr.c | 43 +- tests-m32/scno_tampering.sh | 4 +- tests-m32/test_printstrn.c | 17 + tests-m32/tests.h | 52 +- tests-m32/xet_thread_area_x86.c | 1 - tests-mx32/Makefile | 8817 +++++++++++++++++ tests-mx32/Makefile.am | 26 +- tests-mx32/Makefile.in | 380 +- tests-mx32/bpf.c | 1204 ++- tests-mx32/btrfs.c | 97 +- tests-mx32/count.test | 6 +- tests-mx32/delay.c | 135 + tests-mx32/delay.test | 10 + tests-mx32/dev-yy.c | 101 + tests-mx32/dev-yy.gen.test | 4 + tests-mx32/file_handle.c | 3 +- tests-mx32/fsync-y.c | 71 + tests-mx32/fsync-y.gen.test | 4 + tests-mx32/futex.c | 1 - tests-mx32/gen_tests.am | 14 +- tests-mx32/gen_tests.in | 6 +- tests-mx32/init.sh | 3 +- tests-mx32/inject-nf.c | 86 + tests-mx32/inject-nf.test | 50 + tests-mx32/ioctl.test | 2 +- tests-mx32/ioctl_dm.c | 1 - tests-mx32/ioctl_loop.c | 3 +- tests-mx32/ioctl_sock_gifconf.c | 3 +- tests-mx32/ioctl_v4l2.c | 148 +- tests-mx32/ipc_shm.c | 2 +- tests-mx32/kern_features-fault.test | 38 + tests-mx32/kern_features.c | 120 + tests-mx32/kern_features.gen.test | 4 + tests-mx32/keyctl.c | 3 +- tests-mx32/localtime.c | 57 + tests-mx32/localtime.test | 38 + tests-mx32/mq_sendrecv.c | 3 +- tests-mx32/net-yy-inet.c | 89 +- tests-mx32/net-yy-inet6.c | 13 + tests-mx32/net-yy-inet6.gen.test | 4 + tests-mx32/netlink_kobject_uevent.c | 21 +- tests-mx32/netlink_netfilter.c | 123 +- tests-mx32/options-syntax.test | 8 +- tests-mx32/perf_event_open.c | 1 - tests-mx32/pread64-pwrite64.c | 3 +- tests-mx32/print_quoted_string.c | 71 +- tests-mx32/ptrace.c | 20 + tests-mx32/pure_executables.am | 3 + tests-mx32/pure_executables.list | 3 + tests-mx32/qual_inject-syntax.test | 10 +- tests-mx32/read-write.c | 70 +- tests-mx32/read-write.gen.test | 4 +- tests-mx32/remap_file_pages.c | 13 +- tests-mx32/s390_guarded_storage.c | 1 - tests-mx32/s390_pci_mmio_read_write.c | 1 - tests-mx32/s390_sthyi.c | 21 +- tests-mx32/sched_xetattr.c | 43 +- tests-mx32/scno_tampering.sh | 4 +- tests-mx32/test_printstrn.c | 17 + tests-mx32/tests.h | 52 +- tests-mx32/xet_thread_area_x86.c | 1 - tests/Makefile | 8817 +++++++++++++++++ tests/Makefile.am | 26 +- tests/Makefile.in | 380 +- tests/bpf.c | 1204 ++- tests/btrfs.c | 97 +- tests/count.test | 6 +- tests/delay.c | 135 + tests/delay.test | 10 + tests/dev-yy.c | 101 + tests/dev-yy.gen.test | 4 + tests/file_handle.c | 3 +- tests/fsync-y.c | 71 + tests/fsync-y.gen.test | 4 + tests/futex.c | 1 - tests/gen_tests.am | 14 +- tests/gen_tests.in | 6 +- tests/init.sh | 3 +- tests/inject-nf.c | 86 + tests/inject-nf.test | 50 + tests/ioctl.test | 2 +- tests/ioctl_dm.c | 1 - tests/ioctl_loop.c | 3 +- tests/ioctl_sock_gifconf.c | 3 +- tests/ioctl_v4l2.c | 148 +- tests/ipc_shm.c | 2 +- tests/kern_features-fault.test | 38 + tests/kern_features.c | 120 + tests/kern_features.gen.test | 4 + tests/keyctl.c | 3 +- tests/ksysent.h | 828 ++ tests/localtime.c | 57 + tests/localtime.test | 38 + tests/mq_sendrecv.c | 3 +- tests/net-yy-inet.c | 89 +- tests/net-yy-inet6.c | 13 + tests/net-yy-inet6.gen.test | 4 + tests/netlink_kobject_uevent.c | 21 +- tests/netlink_netfilter.c | 123 +- tests/options-syntax.test | 8 +- tests/perf_event_open.c | 1 - tests/pread64-pwrite64.c | 3 +- tests/print_quoted_string.c | 71 +- tests/ptrace.c | 20 + tests/pure_executables.am | 3 + tests/pure_executables.list | 3 + tests/qual_inject-syntax.test | 10 +- tests/read-write.c | 70 +- tests/read-write.gen.test | 4 +- tests/remap_file_pages.c | 13 +- tests/s390_guarded_storage.c | 1 - tests/s390_pci_mmio_read_write.c | 1 - tests/s390_sthyi.c | 21 +- tests/sched_xetattr.c | 43 +- tests/scno.h | 1003 ++ tests/scno_tampering.sh | 4 +- tests/test_printstrn.c | 17 + tests/tests.h | 52 +- tests/xet_thread_area_x86.c | 1 - time.c | 6 +- times.c | 9 +- ucopy.c | 4 +- uid.c | 4 +- unwind-libunwind.c | 174 + unwind.c | 443 +- unwind.h | 76 + upoke.c | 2 +- util.c | 262 +- v4l2.c | 60 +- xlat.c | 18 - xlat/Makemodule.am | 20 +- xlat/bpf_attach_flags.h | 4 + xlat/bpf_attach_flags.in | 1 + xlat/bpf_attach_type.h | 4 + xlat/bpf_attach_type.in | 1 + xlat/bpf_file_mode_flags.h | 22 + xlat/bpf_file_mode_flags.in | 2 + xlat/bpf_map_types.h | 4 + xlat/bpf_map_types.in | 1 + xlat/bpf_prog_types.h | 4 + xlat/bpf_prog_types.in | 1 + xlat/btrfs_logical_ino_args_flags.h | 20 + xlat/btrfs_logical_ino_args_flags.in | 1 + xlat/ethernet_protocols.h | 457 +- xlat/ethernet_protocols.in | 179 +- xlat/evdev_autorepeat.h | 4 +- xlat/evdev_ff_status.h | 4 +- xlat/evdev_ff_types.h | 4 +- xlat/evdev_keycode.h | 2871 +++--- xlat/evdev_keycode.in | 1188 ++- xlat/evdev_leds.h | 4 +- xlat/evdev_misc.h | 4 +- xlat/evdev_mtslots.h | 4 +- xlat/evdev_prop.h | 4 +- xlat/evdev_relative_axes.h | 4 +- xlat/evdev_snd.h | 4 +- xlat/evdev_switch.h | 4 +- xlat/evdev_sync.h | 4 +- xlat/fsmagic.h | 2 +- xlat/fsmagic.in | 3 +- xlat/gen.sh | 16 +- xlat/hw_breakpoint_type.h | 5 +- xlat/hw_breakpoint_type.in | 4 +- xlat/inet_diag_bytecodes.h | 2 + xlat/inet_diag_bytecodes.in | 2 + xlat/mmap_flags.h | 78 +- xlat/mmap_flags.in | 51 +- xlat/netfilter_versions.h | 22 + xlat/netfilter_versions.in | 2 + xlat/nl_netfilter_msg_types.h | 7 +- xlat/nl_netfilter_subsys_ids.h | 4 - xlat/nl_netfilter_subsys_ids.in | 1 - xlat/perf_hw_cache_id.h | 3 +- xlat/perf_hw_cache_id.in | 2 +- xlat/perf_hw_cache_op_id.h | 3 +- xlat/perf_hw_cache_op_id.in | 2 +- xlat/perf_hw_cache_op_result_id.h | 3 +- xlat/perf_hw_cache_op_result_id.in | 2 +- xlat/perf_hw_id.h | 3 +- xlat/perf_hw_id.in | 2 +- xlat/perf_sw_ids.h | 3 +- xlat/perf_sw_ids.in | 2 +- xlat/perf_type_id.h | 3 +- xlat/perf_type_id.in | 2 +- xlat/pollflags.h | 63 +- xlat/pollflags.in | 20 +- xlat/pr_sve_vl_flags.h | 22 + xlat/pr_sve_vl_flags.in | 2 + xlat/prctl_options.h | 8 + xlat/prctl_options.in | 2 + xlat/ptrace_cmds.h | 3 + xlat/ptrace_cmds.in | 1 + xlat/rtnl_ifla_events.h | 42 + xlat/rtnl_ifla_events.in | 7 + xlat/rtnl_link_attrs.h | 20 + xlat/rtnl_link_attrs.in | 5 + xlat/rtnl_tc_attrs.h | 12 + xlat/rtnl_tc_attrs.in | 3 + xlat/rwf_flags.h | 12 +- xlat/rwf_flags.in | 9 +- xlat/sched_flags.h | 8 + xlat/sched_flags.in | 4 +- xlat/seccomp_filter_flags.h | 7 +- xlat/sigbus_codes.h | 3 + xlat/sigbus_codes.in | 1 + xlat/sigfpe_codes.h | 18 + xlat/sigfpe_codes.in | 6 + xlat/sigill_codes.h | 30 + xlat/sigill_codes.in | 10 + xlat/sigsegv_codes.h | 6 + xlat/sigsegv_codes.in | 2 + xlat/sigtrap_codes.h | 12 + xlat/sigtrap_codes.in | 4 + xlat/socksctpoptions.h | 321 +- xlat/socksctpoptions.in | 118 +- xlat/sparc_kern_features.h | 18 + xlat/sparc_kern_features.in | 1 + xlat/v4l2_pix_fmts.h | 629 ++ xlat/v4l2_pix_fmts.in | 154 + xlat/v4l2_sdr_fmts.h | 49 + xlat/v4l2_sdr_fmts.in | 9 + 658 files changed, 82325 insertions(+), 7273 deletions(-) create mode 100644 Makefile create mode 100644 bpf_attr.h create mode 100644 bpf_attr_check.c create mode 100644 delay.c create mode 100644 delay.h create mode 100644 evdev_mpers.c create mode 100755 gen_bpf_attr_check.sh create mode 100644 gnu/stubs-32.h create mode 100644 ioctl_iocdef.h create mode 100644 ioctl_redefs1.h create mode 100644 linux/aarch64/raw_syscall.h create mode 100644 linux/alpha/raw_syscall.h create mode 100644 linux/arc/raw_syscall.h create mode 100644 linux/arm/raw_syscall.h create mode 100644 linux/avr32/raw_syscall.h create mode 100644 linux/bfin/raw_syscall.h create mode 100644 linux/hppa/raw_syscall.h create mode 100644 linux/i386/raw_syscall.h create mode 100644 linux/ia64/raw_syscall.h create mode 100644 linux/m68k/raw_syscall.h create mode 100644 linux/metag/raw_syscall.h create mode 100644 linux/microblaze/raw_syscall.h create mode 100644 linux/mips/raw_syscall.h create mode 100644 linux/nios2/raw_syscall.h create mode 100644 linux/or1k/raw_syscall.h create mode 100644 linux/powerpc/raw_syscall.h create mode 100644 linux/powerpc64/raw_syscall.h create mode 100644 linux/raw_syscall.h create mode 100644 linux/riscv/raw_syscall.h create mode 100644 linux/s390/raw_syscall.h create mode 100644 linux/s390x/raw_syscall.h create mode 100644 linux/sh/raw_syscall.h create mode 100644 linux/sh64/raw_syscall.h create mode 100644 linux/sparc/raw_syscall.h create mode 100644 linux/sparc64/raw_syscall.h create mode 100644 linux/tile/raw_syscall.h create mode 100644 linux/x32/raw_syscall.h create mode 100644 linux/x86_64/raw_syscall.h create mode 100644 linux/xtensa/raw_syscall.h create mode 100644 m32_funcs.h create mode 100644 m32_printer_decls.h create mode 100644 m32_printer_defs.h create mode 100644 m32_type_defs.h create mode 100644 m4/bpf_attr.m4 create mode 100644 mmap_cache.c create mode 100644 mmap_cache.h create mode 100644 mpers-m32.stamp create mode 100644 mpers-m32/kernel_dirent.c create mode 100644 mpers-m32/kernel_dirent.d1 create mode 100644 mpers-m32/kernel_dirent.d2 create mode 100644 mpers-m32/kernel_dirent.h rename supported_personalities.h => mpers-m32/mq_attr_t.c (72%) create mode 100644 mpers-m32/mq_attr_t.d1 create mode 100644 mpers-m32/mq_attr_t.d2 create mode 100644 mpers-m32/mq_attr_t.h create mode 100644 mpers-m32/msgbuf_t.c create mode 100644 mpers-m32/msgbuf_t.d1 create mode 100644 mpers-m32/msgbuf_t.d2 create mode 100644 mpers-m32/msgbuf_t.h create mode 100644 mpers-m32/msqid_ds_t.c create mode 100644 mpers-m32/msqid_ds_t.d1 create mode 100644 mpers-m32/msqid_ds_t.d2 create mode 100644 mpers-m32/msqid_ds_t.h create mode 100644 mpers-m32/rusage_t.c create mode 100644 mpers-m32/rusage_t.d1 create mode 100644 mpers-m32/rusage_t.d2 create mode 100644 mpers-m32/rusage_t.h create mode 100644 mpers-m32/sample.c create mode 100644 mpers-m32/sample.expected create mode 100644 mpers-m32/sample_struct.c create mode 100644 mpers-m32/sample_struct.d1 create mode 100644 mpers-m32/sample_struct.d2 create mode 100644 mpers-m32/sample_struct.h create mode 100644 mpers-m32/shmid_ds_t.c create mode 100644 mpers-m32/shmid_ds_t.d1 create mode 100644 mpers-m32/shmid_ds_t.d2 create mode 100644 mpers-m32/shmid_ds_t.h create mode 100644 mpers-m32/siginfo_t.c create mode 100644 mpers-m32/siginfo_t.d1 create mode 100644 mpers-m32/siginfo_t.d2 create mode 100644 mpers-m32/siginfo_t.h create mode 100644 mpers-m32/stack_t.c create mode 100644 mpers-m32/stack_t.d1 create mode 100644 mpers-m32/stack_t.d2 create mode 100644 mpers-m32/stack_t.h create mode 100644 mpers-m32/struct_blk_user_trace_setup.c create mode 100644 mpers-m32/struct_blk_user_trace_setup.d1 create mode 100644 mpers-m32/struct_blk_user_trace_setup.d2 create mode 100644 mpers-m32/struct_blk_user_trace_setup.h create mode 100644 mpers-m32/struct_blkpg_ioctl_arg.c create mode 100644 mpers-m32/struct_blkpg_ioctl_arg.d1 create mode 100644 mpers-m32/struct_blkpg_ioctl_arg.d2 create mode 100644 mpers-m32/struct_blkpg_ioctl_arg.h create mode 100644 mpers-m32/struct_blkpg_partition.c create mode 100644 mpers-m32/struct_blkpg_partition.d1 create mode 100644 mpers-m32/struct_blkpg_partition.d2 create mode 100644 mpers-m32/struct_blkpg_partition.h create mode 100644 mpers-m32/struct_btrfs_ioctl_dev_replace_args.c create mode 100644 mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1 create mode 100644 mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2 create mode 100644 mpers-m32/struct_btrfs_ioctl_dev_replace_args.h create mode 100644 mpers-m32/struct_btrfs_ioctl_received_subvol_args.c create mode 100644 mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1 create mode 100644 mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2 create mode 100644 mpers-m32/struct_btrfs_ioctl_received_subvol_args.h create mode 100644 mpers-m32/struct_btrfs_ioctl_send_args.c create mode 100644 mpers-m32/struct_btrfs_ioctl_send_args.d1 create mode 100644 mpers-m32/struct_btrfs_ioctl_send_args.d2 create mode 100644 mpers-m32/struct_btrfs_ioctl_send_args.h create mode 100644 mpers-m32/struct_btrfs_ioctl_vol_args_v2.c create mode 100644 mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1 create mode 100644 mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2 create mode 100644 mpers-m32/struct_btrfs_ioctl_vol_args_v2.h create mode 100644 mpers-m32/struct_ff_effect.c create mode 100644 mpers-m32/struct_ff_effect.d1 create mode 100644 mpers-m32/struct_ff_effect.d2 create mode 100644 mpers-m32/struct_ff_effect.h create mode 100644 mpers-m32/struct_flock.c create mode 100644 mpers-m32/struct_flock.d1 create mode 100644 mpers-m32/struct_flock.d2 create mode 100644 mpers-m32/struct_flock.h create mode 100644 mpers-m32/struct_flock64.c create mode 100644 mpers-m32/struct_flock64.d1 create mode 100644 mpers-m32/struct_flock64.d2 create mode 100644 mpers-m32/struct_flock64.h create mode 100644 mpers-m32/struct_group_req.c create mode 100644 mpers-m32/struct_group_req.d1 create mode 100644 mpers-m32/struct_group_req.d2 create mode 100644 mpers-m32/struct_group_req.h create mode 100644 mpers-m32/struct_hd_geometry.c create mode 100644 mpers-m32/struct_hd_geometry.d1 create mode 100644 mpers-m32/struct_hd_geometry.d2 create mode 100644 mpers-m32/struct_hd_geometry.h create mode 100644 mpers-m32/struct_ifconf.c create mode 100644 mpers-m32/struct_ifconf.d1 create mode 100644 mpers-m32/struct_ifconf.d2 create mode 100644 mpers-m32/struct_ifconf.h create mode 100644 mpers-m32/struct_ifreq.c create mode 100644 mpers-m32/struct_ifreq.d1 create mode 100644 mpers-m32/struct_ifreq.d2 create mode 100644 mpers-m32/struct_ifreq.h create mode 100644 mpers-m32/struct_keyctl_kdf_params.c create mode 100644 mpers-m32/struct_keyctl_kdf_params.d1 create mode 100644 mpers-m32/struct_keyctl_kdf_params.d2 create mode 100644 mpers-m32/struct_keyctl_kdf_params.h create mode 100644 mpers-m32/struct_loop_info.c create mode 100644 mpers-m32/struct_loop_info.d1 create mode 100644 mpers-m32/struct_loop_info.d2 create mode 100644 mpers-m32/struct_loop_info.h create mode 100644 mpers-m32/struct_mmsghdr.c create mode 100644 mpers-m32/struct_mmsghdr.d1 create mode 100644 mpers-m32/struct_mmsghdr.d2 create mode 100644 mpers-m32/struct_mmsghdr.h create mode 100644 mpers-m32/struct_msghdr.c create mode 100644 mpers-m32/struct_msghdr.d1 create mode 100644 mpers-m32/struct_msghdr.d2 create mode 100644 mpers-m32/struct_msghdr.h create mode 100644 mpers-m32/struct_mtd_oob_buf.c create mode 100644 mpers-m32/struct_mtd_oob_buf.d1 create mode 100644 mpers-m32/struct_mtd_oob_buf.d2 create mode 100644 mpers-m32/struct_mtd_oob_buf.h create mode 100644 mpers-m32/struct_rt_sigframe.c create mode 100644 mpers-m32/struct_rt_sigframe.d1 create mode 100644 mpers-m32/struct_rt_sigframe.d2 create mode 100644 mpers-m32/struct_rt_sigframe.h create mode 100644 mpers-m32/struct_rtc_pll_info.c create mode 100644 mpers-m32/struct_rtc_pll_info.d1 create mode 100644 mpers-m32/struct_rtc_pll_info.d2 create mode 100644 mpers-m32/struct_rtc_pll_info.h create mode 100644 mpers-m32/struct_sg_io_hdr.c create mode 100644 mpers-m32/struct_sg_io_hdr.d1 create mode 100644 mpers-m32/struct_sg_io_hdr.d2 create mode 100644 mpers-m32/struct_sg_io_hdr.h create mode 100644 mpers-m32/struct_sg_req_info.c create mode 100644 mpers-m32/struct_sg_req_info.d1 create mode 100644 mpers-m32/struct_sg_req_info.d2 create mode 100644 mpers-m32/struct_sg_req_info.h create mode 100644 mpers-m32/struct_sigevent.c create mode 100644 mpers-m32/struct_sigevent.d1 create mode 100644 mpers-m32/struct_sigevent.d2 create mode 100644 mpers-m32/struct_sigevent.h create mode 100644 mpers-m32/struct_sock_fprog.c create mode 100644 mpers-m32/struct_sock_fprog.d1 create mode 100644 mpers-m32/struct_sock_fprog.d2 create mode 100644 mpers-m32/struct_sock_fprog.h create mode 100644 mpers-m32/struct_stat.c create mode 100644 mpers-m32/struct_stat.d1 create mode 100644 mpers-m32/struct_stat.d2 create mode 100644 mpers-m32/struct_stat.h create mode 100644 mpers-m32/struct_stat64.c create mode 100644 mpers-m32/struct_stat64.d1 create mode 100644 mpers-m32/struct_stat64.d2 create mode 100644 mpers-m32/struct_stat64.h create mode 100644 mpers-m32/struct_statfs.c create mode 100644 mpers-m32/struct_statfs.d1 create mode 100644 mpers-m32/struct_statfs.d2 create mode 100644 mpers-m32/struct_statfs.h create mode 100644 mpers-m32/struct_statfs64.c create mode 100644 mpers-m32/struct_statfs64.d1 create mode 100644 mpers-m32/struct_statfs64.d2 create mode 100644 mpers-m32/struct_statfs64.h create mode 100644 mpers-m32/struct_timex.c create mode 100644 mpers-m32/struct_timex.d1 create mode 100644 mpers-m32/struct_timex.d2 create mode 100644 mpers-m32/struct_timex.h create mode 100644 mpers-m32/struct_ustat.c create mode 100644 mpers-m32/struct_v4l2_buffer.c create mode 100644 mpers-m32/struct_v4l2_buffer.d1 create mode 100644 mpers-m32/struct_v4l2_buffer.d2 create mode 100644 mpers-m32/struct_v4l2_buffer.h create mode 100644 mpers-m32/struct_v4l2_clip.c create mode 100644 mpers-m32/struct_v4l2_clip.d1 create mode 100644 mpers-m32/struct_v4l2_clip.d2 create mode 100644 mpers-m32/struct_v4l2_clip.h create mode 100644 mpers-m32/struct_v4l2_create_buffers.c create mode 100644 mpers-m32/struct_v4l2_create_buffers.d1 create mode 100644 mpers-m32/struct_v4l2_create_buffers.d2 create mode 100644 mpers-m32/struct_v4l2_create_buffers.h create mode 100644 mpers-m32/struct_v4l2_ext_control.c create mode 100644 mpers-m32/struct_v4l2_ext_control.d1 create mode 100644 mpers-m32/struct_v4l2_ext_control.d2 create mode 100644 mpers-m32/struct_v4l2_ext_control.h create mode 100644 mpers-m32/struct_v4l2_ext_controls.c create mode 100644 mpers-m32/struct_v4l2_ext_controls.d1 create mode 100644 mpers-m32/struct_v4l2_ext_controls.d2 create mode 100644 mpers-m32/struct_v4l2_ext_controls.h create mode 100644 mpers-m32/struct_v4l2_format.c create mode 100644 mpers-m32/struct_v4l2_format.d1 create mode 100644 mpers-m32/struct_v4l2_format.d2 create mode 100644 mpers-m32/struct_v4l2_format.h create mode 100644 mpers-m32/struct_v4l2_framebuffer.c create mode 100644 mpers-m32/struct_v4l2_framebuffer.d1 create mode 100644 mpers-m32/struct_v4l2_framebuffer.d2 create mode 100644 mpers-m32/struct_v4l2_framebuffer.h create mode 100644 mpers-m32/struct_v4l2_input.c create mode 100644 mpers-m32/struct_v4l2_input.d1 create mode 100644 mpers-m32/struct_v4l2_input.d2 create mode 100644 mpers-m32/struct_v4l2_input.h create mode 100644 mpers-m32/struct_v4l2_standard.c create mode 100644 mpers-m32/struct_v4l2_standard.d1 create mode 100644 mpers-m32/struct_v4l2_standard.d2 create mode 100644 mpers-m32/struct_v4l2_standard.h create mode 100644 mpers-m32/sysinfo_t.c create mode 100644 mpers-m32/sysinfo_t.d1 create mode 100644 mpers-m32/sysinfo_t.d2 create mode 100644 mpers-m32/sysinfo_t.h create mode 100644 mpers-m32/time_t.c create mode 100644 mpers-m32/time_t.d1 create mode 100644 mpers-m32/time_t.d2 create mode 100644 mpers-m32/time_t.h create mode 100644 mpers-m32/timespec_t.c create mode 100644 mpers-m32/timespec_t.d1 create mode 100644 mpers-m32/timespec_t.d2 create mode 100644 mpers-m32/timespec_t.h create mode 100644 mpers-m32/timeval_t.c create mode 100644 mpers-m32/timeval_t.d1 create mode 100644 mpers-m32/timeval_t.d2 create mode 100644 mpers-m32/timeval_t.h create mode 100644 mpers-m32/tms_t.c create mode 100644 mpers-m32/tms_t.d1 create mode 100644 mpers-m32/tms_t.d2 create mode 100644 mpers-m32/tms_t.h create mode 100644 mpers-m32/utimbuf_t.c create mode 100644 mpers-m32/utimbuf_t.d1 create mode 100644 mpers-m32/utimbuf_t.d2 create mode 100644 mpers-m32/utimbuf_t.h create mode 100644 netlink_netfilter.c create mode 100644 retval.c create mode 100644 retval.h create mode 100644 sparc.c create mode 100644 stamp-h1 create mode 100755 static_assert.h create mode 100644 tests-m32/Makefile create mode 100644 tests-m32/delay.c create mode 100755 tests-m32/delay.test create mode 100644 tests-m32/dev-yy.c create mode 100755 tests-m32/dev-yy.gen.test create mode 100644 tests-m32/fsync-y.c create mode 100755 tests-m32/fsync-y.gen.test create mode 100644 tests-m32/inject-nf.c create mode 100755 tests-m32/inject-nf.test create mode 100755 tests-m32/kern_features-fault.test create mode 100644 tests-m32/kern_features.c create mode 100755 tests-m32/kern_features.gen.test create mode 100644 tests-m32/localtime.c create mode 100755 tests-m32/localtime.test create mode 100644 tests-m32/net-yy-inet6.c create mode 100755 tests-m32/net-yy-inet6.gen.test create mode 100644 tests-mx32/Makefile create mode 100644 tests-mx32/delay.c create mode 100755 tests-mx32/delay.test create mode 100644 tests-mx32/dev-yy.c create mode 100755 tests-mx32/dev-yy.gen.test create mode 100644 tests-mx32/fsync-y.c create mode 100755 tests-mx32/fsync-y.gen.test create mode 100644 tests-mx32/inject-nf.c create mode 100755 tests-mx32/inject-nf.test create mode 100755 tests-mx32/kern_features-fault.test create mode 100644 tests-mx32/kern_features.c create mode 100755 tests-mx32/kern_features.gen.test create mode 100644 tests-mx32/localtime.c create mode 100755 tests-mx32/localtime.test create mode 100644 tests-mx32/net-yy-inet6.c create mode 100755 tests-mx32/net-yy-inet6.gen.test create mode 100644 tests/Makefile create mode 100644 tests/delay.c create mode 100755 tests/delay.test create mode 100644 tests/dev-yy.c create mode 100755 tests/dev-yy.gen.test create mode 100644 tests/fsync-y.c create mode 100755 tests/fsync-y.gen.test create mode 100644 tests/inject-nf.c create mode 100755 tests/inject-nf.test create mode 100755 tests/kern_features-fault.test create mode 100644 tests/kern_features.c create mode 100755 tests/kern_features.gen.test create mode 100644 tests/ksysent.h create mode 100644 tests/localtime.c create mode 100755 tests/localtime.test create mode 100644 tests/net-yy-inet6.c create mode 100755 tests/net-yy-inet6.gen.test create mode 100644 tests/scno.h create mode 100644 unwind-libunwind.c create mode 100644 unwind.h create mode 100644 xlat/bpf_file_mode_flags.h create mode 100644 xlat/bpf_file_mode_flags.in create mode 100644 xlat/btrfs_logical_ino_args_flags.h create mode 100644 xlat/btrfs_logical_ino_args_flags.in create mode 100644 xlat/netfilter_versions.h create mode 100644 xlat/netfilter_versions.in create mode 100644 xlat/pr_sve_vl_flags.h create mode 100644 xlat/pr_sve_vl_flags.in create mode 100644 xlat/rtnl_ifla_events.h create mode 100644 xlat/rtnl_ifla_events.in create mode 100644 xlat/sparc_kern_features.h create mode 100644 xlat/sparc_kern_features.in create mode 100644 xlat/v4l2_pix_fmts.h create mode 100644 xlat/v4l2_pix_fmts.in create mode 100644 xlat/v4l2_sdr_fmts.h create mode 100644 xlat/v4l2_sdr_fmts.in 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 Copyright (c) 1995, 1996 Michael Elizabeth Chastain Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey Copyright (c) 1998-2001 Wichert Akkerman -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 Abhishek Tiwari @@ -96,6 +96,7 @@ strace-devel@lists.sourceforge.net mailing list. Helge Deller Henrik Storner Holger Hans Peter Freyther + J. Bruce Fields Jacob Goense Jakub Bogusz Jakub Jelinek @@ -115,6 +116,7 @@ strace-devel@lists.sourceforge.net mailing list. John Hughes John Spencer Josef T. Burger + Josh Triplett Joshua Neal Jürgen Fluk Jürgen Weigert @@ -169,6 +171,7 @@ strace-devel@lists.sourceforge.net mailing list. Pavel Machek Peter Jones Peter Zotov + Philipp Marek Philippe De Muyter Philippe Ombredanne Pádraig Brady @@ -228,6 +231,6 @@ strace-devel@lists.sourceforge.net mailing list. Yun-Chih Chen Zach Brown Zev Weiss - Zhang Le + Zhang Le Zubin Mithra Марк Коренберг diff --git a/ChangeLog b/ChangeLog index ca54bd7b..6efa3a24 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,2047 @@ +2018-04-05 Dmitry V. Levin + + 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 + + Update NEWS. + +2018-04-05 Masatake YAMATO + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=528488 + +2018-04-04 Eugene Syromyatnikov + + 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 + Co-Authored-by: Dmitry V. Levin + Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466195 + +2018-04-04 Eugene Syromyatnikov + + 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 + Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=436284 + +2018-04-04 Eugene Syromyatnikov + + 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 + Closes: https://github.com/strace/strace/issues/42 + +2018-04-04 Eugene Syromyatnikov + + 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 + + dist/README: s/linux/Linux/ + * dist/README: Replace "linux" with "Linux". + +2018-04-04 Eugene Syromyatnikov + + 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 + + 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 + +2018-04-04 Eugene Syromyatnikov + + bpf: add a comment about bpf_attr decoding. + * bpf.c: Add comment. + +2018-04-04 Dmitry V. Levin + + 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 + + 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 + +2018-04-04 Eugene Syromyatnikov + + 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 + +2018-04-04 Eugene Syromyatnikov + + 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 + +2018-04-04 Eugene Syromyatnikov + + 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 + + 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 + + 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 + + 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 + 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 + + 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 + + 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 + + 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 + +2018-04-04 Eugene Syromyatnikov + + 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 + + Introduce static_assert. + We are going to use static_assert provided by 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 , + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 . + (main): Invoke setlocale. + * tests/init.sh: Export LC_ALL=C. + * NEWS: Mention this enhancement. + +2018-03-29 Dmitry V. Levin + + 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 + + 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) : 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 + + 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 + + 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) : 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 + +2018-03-28 Dmitry V. Levin + + 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 + + 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 + + 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 + + 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 + + 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 + +2018-03-27 Eugene Syromyatnikov + + 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 + +2018-03-27 Dmitry V. Levin + + 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 + + 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 + +2018-03-23 Eugene Syromyatnikov + + 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 + +2018-03-23 Dmitry V. Levin + + 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 + + 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 + + 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 + + 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 . + (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 + + 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 + + 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 + + tests: btrfs.c whitespace cleanup. + * tests/btrfs.c: Add spaces after PRI* format specifiers. + +2018-03-22 Elvira Khabirova + + 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 + +2018-03-22 Elvira Khabirova + + 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 + (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 + +2018-03-22 Dmitry V. Levin + + 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 + + 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 + +2018-03-20 Eugene Syromyatnikov + + btrfs: print struct btrfs_ioctl_logical_ino_args.reserved if non-zero. + * btrfs.c (btrfs_ioctl) : 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 + +2018-03-20 Eugene Syromyatnikov + + 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 + +2018-03-20 Dmitry V. Levin + + 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 + + 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 + +2018-03-20 Eugene Syromyatnikov + + INSTALL-git.md: enhance phrasing. + * INSTALL-git.md: Enhance phrasing. + + Co-Authored-by: Dmitry V. Levin + +2018-03-20 Dmitry V. Levin + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + +2018-03-16 Eugene Syromyatnikov + + 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 + References: https://github.com/strace/strace/issues/56 + +2018-03-15 Eugene Syromyatnikov + + README: synchronise with README.md. + * README: Extend description, reference COPYING. + +2018-03-15 Eugene Syromyatnikov + + 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 + + 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 + + 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 + + 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 + #include + #include + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + tests: add check for NETLINK_NETFILTER parser. + * tests/netlink_netfilter.c: Include , + and . + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + +2018-03-07 Eugene Syromyatnikov + + 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 + +2018-03-06 Eugene Syromyatnikov + + 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 + + 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 + + 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 + + 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 + + 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 + + btrfs.c: print __u64 fields with pointer semantics using printaddr64. + * btrfs.c (btrfs_ioctl) : Print fspath field + with printaddr64. + (btrfs_ioctl) : 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 + + 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 + + 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 + + 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 + +2018-03-06 Dmitry V. Levin + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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) : Pass v4l2_pix_fmts to print_pixelformat. + (print_v4l2_format_fmt) : Pass v4l2_sdr_fmts to print_pixelformat. + * tests/v4l2.c: Test it, update expected output. + * NEWS: Mention it. + +2018-03-02 Eugene Syromyatnikov + + 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 + Fixes: v4.10~371 "Implement Video4Linux video-input ioctls decoder" + +2018-03-01 Dmitry V. Levin + + tests: do not include in files that include "tests.h" + Starting with commit v4.21-37-g4f63bc70ca95012d72e288fc3c1eeb3ba26068a4, + is included by tests.h, so all tests that already include + "tests.h" do not need to include . + + * tests/btrfs.c: Do not include . + * 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 + + 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 + + printfd: print character/block device number in -yy mode. + * util.c: Include , , + 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 + +2018-03-01 Eugene Syromyatnikov + + 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 + + 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 + +2018-03-01 Eugene Syromyatnikov + + 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 + +2018-03-01 Eugene Syromyatnikov + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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) : 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) : 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 + + 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) : 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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) : Change to linux-any. + (strace64, strace-udeb) : 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 + + 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 + + mpers.awk: use stdint.h instead of inttypes.h. + As is included in files generated by mpers.awk to obtain + definitions of uintNN_t types provided by , replace the former + header with the latter. + + * mpers.awk: Use instead of . + * mpers_test.sh: Update expected output. + +2018-02-23 Dmitry V. Levin + + 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 + + m68k: fix build. + When is included after , 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 is x86_64, other three (m68k, tile, and x86) + are fine with definitions already provided by . + + Fix the issue by getting rid of 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 . + * 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 early") + +2018-02-15 Dmitry V. Levin + + 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 + + Update copyright headers. + * COPYING: Update copyright year number range. + * debian/copyright: Sync with COPYING. + +2018-02-14 Dmitry V. Levin + + 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 Prepare for 4.21 release. * NEWS: Update for 4.21 release. +2018-02-13 Eugene Syromyatnikov + + 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 + 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 +# Copyright (c) 2006-2016 Dmitry V. Levin +# Copyright (c) 2008-2015 Mike Frysinger +# Copyright (c) 2015 Elvira Khabirova +# 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 +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (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 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 * Copyright (c) 2011-2016 Dmitry V. Levin - * 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 * Copyright (c) 2017 Quentin Monnet + * 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 #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 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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 +# 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 + * 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 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 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 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 header file. */ #define HAVE_SYS_QUOTA_H 1 -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_REG_H 1 - /* Define to 1 if you have the 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 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 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 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 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 header file. */ #undef HAVE_SYS_QUOTA_H -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_REG_H - /* Define to 1 if you have the 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 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 . +# Report bugs to . # # # 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 . +Report bugs to . strace home page: . _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 @@ -5168,6 +5171,83 @@ else 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 @@ -7173,6 +7253,83 @@ else 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 @@ -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,309 +10343,701 @@ 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 + ac_fn_c_check_type "$LINENO" "struct bpf_insn" "ac_cv_type_struct_bpf_insn" "#include " -if test "x$ac_cv_member_union_bpf_attr_attach_flags" = xyes; then : +if test "x$ac_cv_type_struct_bpf_insn" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_ATTACH_FLAGS 1 +#define HAVE_STRUCT_BPF_INSN 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "bpf_fd" "ac_cv_member_union_bpf_attr_bpf_fd" "#include + + ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_bpf_fd" "ac_cv_member_union_bpf_attr_attach_bpf_fd" "#include " -if test "x$ac_cv_member_union_bpf_attr_bpf_fd" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_attach_bpf_fd" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_BPF_FD 1 +#define HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "flags" "ac_cv_member_union_bpf_attr_flags" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_flags" "ac_cv_member_union_bpf_attr_attach_flags" "#include " -if test "x$ac_cv_member_union_bpf_attr_flags" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_attach_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_FLAGS 1 +#define HAVE_UNION_BPF_ATTR_ATTACH_FLAGS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "info.info" "ac_cv_member_union_bpf_attr_info_info" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_type" "ac_cv_member_union_bpf_attr_attach_type" "#include " -if test "x$ac_cv_member_union_bpf_attr_info_info" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_attach_type" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_INFO_INFO 1 +#define HAVE_UNION_BPF_ATTR_ATTACH_TYPE 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "next_id" "ac_cv_member_union_bpf_attr_next_id" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "bpf_fd" "ac_cv_member_union_bpf_attr_bpf_fd" "#include " -if test "x$ac_cv_member_union_bpf_attr_next_id" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_bpf_fd" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_NEXT_ID 1 +#define HAVE_UNION_BPF_ATTR_BPF_FD 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "numa_node" "ac_cv_member_union_bpf_attr_numa_node" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "dummy" "ac_cv_member_union_bpf_attr_dummy" "#include " -if test "x$ac_cv_member_union_bpf_attr_numa_node" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_dummy" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_NUMA_NODE 1 +#define HAVE_UNION_BPF_ATTR_DUMMY 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_flags" "ac_cv_member_union_bpf_attr_prog_flags" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "file_flags" "ac_cv_member_union_bpf_attr_file_flags" "#include " -if test "x$ac_cv_member_union_bpf_attr_prog_flags" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_file_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_PROG_FLAGS 1 +#define HAVE_UNION_BPF_ATTR_FILE_FLAGS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.duration" "ac_cv_member_union_bpf_attr_test_duration" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "flags" "ac_cv_member_union_bpf_attr_flags" "#include " -if test "x$ac_cv_member_union_bpf_attr_test_duration" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_TEST_DURATION 1 +#define HAVE_UNION_BPF_ATTR_FLAGS 1 _ACEOF fi - - -fi - -done - - -ac_fn_c_check_type "$LINENO" "struct br_mdb_entry" "ac_cv_type_struct_br_mdb_entry" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "inner_map_fd" "ac_cv_member_union_bpf_attr_inner_map_fd" "#include " -if test "x$ac_cv_type_struct_br_mdb_entry" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_inner_map_fd" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_BR_MDB_ENTRY 1 +#define HAVE_UNION_BPF_ATTR_INNER_MAP_FD 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct br_port_msg" "ac_cv_type_struct_br_port_msg" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "insn_cnt" "ac_cv_member_union_bpf_attr_insn_cnt" "#include " -if test "x$ac_cv_type_struct_br_port_msg" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_insn_cnt" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_BR_PORT_MSG 1 +#define HAVE_UNION_BPF_ATTR_INSN_CNT 1 _ACEOF fi - -ac_fn_c_check_member "$LINENO" "struct br_mdb_entry" "flags" "ac_cv_member_struct_br_mdb_entry_flags" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "insns" "ac_cv_member_union_bpf_attr_insns" "#include " -if test "x$ac_cv_member_struct_br_mdb_entry_flags" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_insns" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_BR_MDB_ENTRY_FLAGS 1 +#define HAVE_UNION_BPF_ATTR_INSNS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "struct br_mdb_entry" "vid" "ac_cv_member_struct_br_mdb_entry_vid" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "kern_version" "ac_cv_member_union_bpf_attr_kern_version" "#include " -if test "x$ac_cv_member_struct_br_mdb_entry_vid" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_kern_version" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_BR_MDB_ENTRY_VID 1 +#define HAVE_UNION_BPF_ATTR_KERN_VERSION 1 _ACEOF fi - - -ac_fn_c_check_type "$LINENO" "struct dcbmsg" "ac_cv_type_struct_dcbmsg" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "key" "ac_cv_member_union_bpf_attr_key" "#include " -if test "x$ac_cv_type_struct_dcbmsg" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_key" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_DCBMSG 1 +#define HAVE_UNION_BPF_ATTR_KEY 1 _ACEOF fi - -ac_fn_c_check_type "$LINENO" "struct ifaddrlblmsg" "ac_cv_type_struct_ifaddrlblmsg" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "key_size" "ac_cv_member_union_bpf_attr_key_size" "#include " -if test "x$ac_cv_type_struct_ifaddrlblmsg" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_key_size" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_IFADDRLBLMSG 1 +#define HAVE_UNION_BPF_ATTR_KEY_SIZE 1 _ACEOF fi - -ac_fn_c_check_type "$LINENO" "struct netconfmsg" "ac_cv_type_struct_netconfmsg" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "license" "ac_cv_member_union_bpf_attr_license" "#include " -if test "x$ac_cv_type_struct_netconfmsg" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_license" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_NETCONFMSG 1 +#define HAVE_UNION_BPF_ATTR_LICENSE 1 _ACEOF fi - - -ac_fn_c_check_type "$LINENO" "struct rta_mfc_stats" "ac_cv_type_struct_rta_mfc_stats" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_buf" "ac_cv_member_union_bpf_attr_log_buf" "#include " -if test "x$ac_cv_type_struct_rta_mfc_stats" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_log_buf" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_RTA_MFC_STATS 1 +#define HAVE_UNION_BPF_ATTR_LOG_BUF 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct rtvia" "ac_cv_type_struct_rtvia" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_level" "ac_cv_member_union_bpf_attr_log_level" "#include " -if test "x$ac_cv_type_struct_rtvia" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_log_level" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_RTVIA 1 +#define HAVE_UNION_BPF_ATTR_LOG_LEVEL 1 _ACEOF fi - - -ac_fn_c_check_member "$LINENO" "struct ndt_stats" "ndts_table_fulls" "ac_cv_member_struct_ndt_stats_ndts_table_fulls" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_size" "ac_cv_member_union_bpf_attr_log_size" "#include " -if test "x$ac_cv_member_struct_ndt_stats_ndts_table_fulls" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_log_size" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_NDT_STATS_NDTS_TABLE_FULLS 1 +#define HAVE_UNION_BPF_ATTR_LOG_SIZE 1 _ACEOF fi - -ac_fn_c_check_type "$LINENO" "struct ndt_config" "ac_cv_type_struct_ndt_config" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_fd" "ac_cv_member_union_bpf_attr_map_fd" "#include " -if test "x$ac_cv_type_struct_ndt_config" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_fd" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_NDT_CONFIG 1 +#define HAVE_UNION_BPF_ATTR_MAP_FD 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct ndt_stats" "ac_cv_type_struct_ndt_stats" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_flags" "ac_cv_member_union_bpf_attr_map_flags" "#include " -if test "x$ac_cv_type_struct_ndt_stats" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_NDT_STATS 1 +#define HAVE_UNION_BPF_ATTR_MAP_FLAGS 1 _ACEOF fi - - -ac_fn_c_check_type "$LINENO" "struct ifla_bridge_id" "ac_cv_type_struct_ifla_bridge_id" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_id" "ac_cv_member_union_bpf_attr_map_id" "#include " -if test "x$ac_cv_type_struct_ifla_bridge_id" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_id" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_IFLA_BRIDGE_ID 1 +#define HAVE_UNION_BPF_ATTR_MAP_ID 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct ifla_port_vsi" "ac_cv_type_struct_ifla_port_vsi" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_type" "ac_cv_member_union_bpf_attr_map_type" "#include " -if test "x$ac_cv_type_struct_ifla_port_vsi" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_type" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_IFLA_PORT_VSI 1 +#define HAVE_UNION_BPF_ATTR_MAP_TYPE 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct rtnl_link_stats64" "ac_cv_type_struct_rtnl_link_stats64" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "max_entries" "ac_cv_member_union_bpf_attr_max_entries" "#include " -if test "x$ac_cv_type_struct_rtnl_link_stats64" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_max_entries" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_RTNL_LINK_STATS64 1 +#define HAVE_UNION_BPF_ATTR_MAX_ENTRIES 1 _ACEOF fi - -ac_fn_c_check_member "$LINENO" "struct rtnl_link_stats" "rx_nohandler" "ac_cv_member_struct_rtnl_link_stats_rx_nohandler" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "next_id" "ac_cv_member_union_bpf_attr_next_id" "#include " -if test "x$ac_cv_member_struct_rtnl_link_stats_rx_nohandler" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_next_id" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_RTNL_LINK_STATS_RX_NOHANDLER 1 +#define HAVE_UNION_BPF_ATTR_NEXT_ID 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "struct rtnl_link_stats64" "rx_nohandler" "ac_cv_member_struct_rtnl_link_stats64_rx_nohandler" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "next_key" "ac_cv_member_union_bpf_attr_next_key" "#include " -if test "x$ac_cv_member_struct_rtnl_link_stats64_rx_nohandler" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_next_key" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_RTNL_LINK_STATS64_RX_NOHANDLER 1 +#define HAVE_UNION_BPF_ATTR_NEXT_KEY 1 _ACEOF fi - - -ac_fn_c_check_type "$LINENO" "struct gnet_stats_basic" "ac_cv_type_struct_gnet_stats_basic" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "numa_node" "ac_cv_member_union_bpf_attr_numa_node" "#include " -if test "x$ac_cv_type_struct_gnet_stats_basic" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_numa_node" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_GNET_STATS_BASIC 1 +#define HAVE_UNION_BPF_ATTR_NUMA_NODE 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct gnet_stats_queue" "ac_cv_type_struct_gnet_stats_queue" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "open_flags" "ac_cv_member_union_bpf_attr_open_flags" "#include " -if test "x$ac_cv_type_struct_gnet_stats_queue" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_open_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_GNET_STATS_QUEUE 1 +#define HAVE_UNION_BPF_ATTR_OPEN_FLAGS 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct gnet_stats_rate_est" "ac_cv_type_struct_gnet_stats_rate_est" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "pathname" "ac_cv_member_union_bpf_attr_pathname" "#include " -if test "x$ac_cv_type_struct_gnet_stats_rate_est" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_pathname" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_GNET_STATS_RATE_EST 1 +#define HAVE_UNION_BPF_ATTR_PATHNAME 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct gnet_stats_rate_est64" "ac_cv_type_struct_gnet_stats_rate_est64" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_flags" "ac_cv_member_union_bpf_attr_prog_flags" "#include +" +if test "x$ac_cv_member_union_bpf_attr_prog_flags" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_PROG_FLAGS 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_id" "ac_cv_member_union_bpf_attr_prog_id" "#include +" +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 +" +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 +" +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 +" +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 +" +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 +" +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 +" +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 +" +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 +" +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 +" +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 +" +if test "x$ac_cv_member_union_bpf_attr_test_duration" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_TEST_DURATION 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.prog_fd" "ac_cv_member_union_bpf_attr_test_prog_fd" "#include +" +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 +" +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 +" +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 +" +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 +" +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 +" +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 +" +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 + +done + + +ac_fn_c_check_type "$LINENO" "struct br_mdb_entry" "ac_cv_type_struct_br_mdb_entry" "#include +" +if test "x$ac_cv_type_struct_br_mdb_entry" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_BR_MDB_ENTRY 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct br_port_msg" "ac_cv_type_struct_br_port_msg" "#include +" +if test "x$ac_cv_type_struct_br_port_msg" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_BR_PORT_MSG 1 +_ACEOF + + +fi + +ac_fn_c_check_member "$LINENO" "struct br_mdb_entry" "flags" "ac_cv_member_struct_br_mdb_entry_flags" "#include +" +if test "x$ac_cv_member_struct_br_mdb_entry_flags" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_BR_MDB_ENTRY_FLAGS 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct br_mdb_entry" "vid" "ac_cv_member_struct_br_mdb_entry_vid" "#include +" +if test "x$ac_cv_member_struct_br_mdb_entry_vid" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_BR_MDB_ENTRY_VID 1 +_ACEOF + + +fi + + +ac_fn_c_check_type "$LINENO" "struct dcbmsg" "ac_cv_type_struct_dcbmsg" "#include +" +if test "x$ac_cv_type_struct_dcbmsg" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_DCBMSG 1 +_ACEOF + + +fi + +ac_fn_c_check_type "$LINENO" "struct ifaddrlblmsg" "ac_cv_type_struct_ifaddrlblmsg" "#include +" +if test "x$ac_cv_type_struct_ifaddrlblmsg" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_IFADDRLBLMSG 1 +_ACEOF + + +fi + +ac_fn_c_check_type "$LINENO" "struct netconfmsg" "ac_cv_type_struct_netconfmsg" "#include +" +if test "x$ac_cv_type_struct_netconfmsg" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_NETCONFMSG 1 +_ACEOF + + +fi + + +ac_fn_c_check_type "$LINENO" "struct rta_mfc_stats" "ac_cv_type_struct_rta_mfc_stats" "#include +" +if test "x$ac_cv_type_struct_rta_mfc_stats" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_RTA_MFC_STATS 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct rtvia" "ac_cv_type_struct_rtvia" "#include +" +if test "x$ac_cv_type_struct_rtvia" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_RTVIA 1 +_ACEOF + + +fi + + +ac_fn_c_check_member "$LINENO" "struct ndt_stats" "ndts_table_fulls" "ac_cv_member_struct_ndt_stats_ndts_table_fulls" "#include +" +if test "x$ac_cv_member_struct_ndt_stats_ndts_table_fulls" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_NDT_STATS_NDTS_TABLE_FULLS 1 +_ACEOF + + +fi + +ac_fn_c_check_type "$LINENO" "struct ndt_config" "ac_cv_type_struct_ndt_config" "#include +" +if test "x$ac_cv_type_struct_ndt_config" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_NDT_CONFIG 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct ndt_stats" "ac_cv_type_struct_ndt_stats" "#include +" +if test "x$ac_cv_type_struct_ndt_stats" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_NDT_STATS 1 +_ACEOF + + +fi + + +ac_fn_c_check_type "$LINENO" "struct ifla_bridge_id" "ac_cv_type_struct_ifla_bridge_id" "#include +" +if test "x$ac_cv_type_struct_ifla_bridge_id" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_IFLA_BRIDGE_ID 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct ifla_port_vsi" "ac_cv_type_struct_ifla_port_vsi" "#include +" +if test "x$ac_cv_type_struct_ifla_port_vsi" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_IFLA_PORT_VSI 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct rtnl_link_stats64" "ac_cv_type_struct_rtnl_link_stats64" "#include +" +if test "x$ac_cv_type_struct_rtnl_link_stats64" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_RTNL_LINK_STATS64 1 +_ACEOF + + +fi + +ac_fn_c_check_member "$LINENO" "struct rtnl_link_stats" "rx_nohandler" "ac_cv_member_struct_rtnl_link_stats_rx_nohandler" "#include +" +if test "x$ac_cv_member_struct_rtnl_link_stats_rx_nohandler" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_RTNL_LINK_STATS_RX_NOHANDLER 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct rtnl_link_stats64" "rx_nohandler" "ac_cv_member_struct_rtnl_link_stats64_rx_nohandler" "#include +" +if test "x$ac_cv_member_struct_rtnl_link_stats64_rx_nohandler" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_RTNL_LINK_STATS64_RX_NOHANDLER 1 +_ACEOF + + +fi + + +ac_fn_c_check_type "$LINENO" "struct gnet_stats_basic" "ac_cv_type_struct_gnet_stats_basic" "#include +" +if test "x$ac_cv_type_struct_gnet_stats_basic" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_GNET_STATS_BASIC 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct gnet_stats_queue" "ac_cv_type_struct_gnet_stats_queue" "#include +" +if test "x$ac_cv_type_struct_gnet_stats_queue" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_GNET_STATS_QUEUE 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct gnet_stats_rate_est" "ac_cv_type_struct_gnet_stats_rate_est" "#include +" +if test "x$ac_cv_type_struct_gnet_stats_rate_est" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_GNET_STATS_RATE_EST 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct gnet_stats_rate_est64" "ac_cv_type_struct_gnet_stats_rate_est64" "#include " if test "x$ac_cv_type_struct_gnet_stats_rate_est64" = xyes; then : @@ -10773,6 +11322,17 @@ cat >>confdefs.h <<_ACEOF _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 +#include +" +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 @@ -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 +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 . +Report bugs to . strace home page: ." _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 ]) + AC_CHECK_TYPES([struct bpf_insn],,, [#include ]) + 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 #include ]) 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 ]], + [[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 Tue, 13 Feb 2018 23:10:19 +0000 + -- Strace Thu, 14 Jun 2018 16:29:09 -0700 + +strace (4.21-1) unstable; urgency=medium + + * New upstream version. + + -- Dmitry V. Levin 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 , Thu Sep 12 14:59:44 MET DST 1996 + -- Wichert Akkerman Thu, 12 Sep 1996 14:59:44 +0200 strace (3.1-3) unstable; urgency=low * Revamped debian files - -- Wichert Akkerman , Thu Jul 11 20:19:11 MET DST 1996 + -- Wichert Akkerman 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 + -- Wichert Akkerman 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 + -- Wichert Akkerman 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 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 , Thu Sep 12 14:59:44 MET DST 1996 + -- Wichert Akkerman Thu, 12 Sep 1996 14:59:44 +0200 strace (3.1-3) unstable; urgency=low * Revamped debian files - -- Wichert Akkerman , Thu Jul 11 20:19:11 MET DST 1996 + -- Wichert Akkerman 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 + -- Wichert Akkerman 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 + -- Wichert Akkerman 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 Copyright (c) 1993 Ulrich Pegelow Copyright (c) 1995, 1996 Michael Elizabeth Chastain Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey -Copyright (c) 1998-2003 Wichert Akkerman -Copyright (c) 2002-2008 Roland McGrath -Copyright (c) 2003-2008 Dmitry V. Levin -Copyright (c) 2007-2008 Jan Kratochvil +Copyright (c) 1998-2001 Wichert Akkerman +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 * Copyright (c) 2016 Dmitry V. Levin * Copyright (c) 2016 Eugene Syromyatnikov - * 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 * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 # include -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 + * Copyright (c) 2015-2016 Dmitry V. Levin + * 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 +# include + +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; @@ -78,12 +80,32 @@ find_errno_by_name(const char *name) return -1; } +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 - * 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 +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (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 < +# 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 < * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey * Copyright (c) 1996-2001 Wichert Akkerman - * 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; + +/* 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 * Copyright (c) 2013-2015 Dmitry V. Levin - * 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 . * * 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 * Copyright (c) 2013 Denys Vlasenko * Copyright (c) 2014-2016 Dmitry V. Levin + * 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 ]) +]) 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 #include ]) 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 #include ]) 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 +#include + #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< + * 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 + +#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 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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey + * Copyright (c) 1996-1999 Wichert Akkerman + * Copyright (c) 2005-2015 Dmitry V. Levin + * 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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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>: Abbrev Number: 8 (DW_TAG_subrange_type) + DW_AT_type : <0xb0> + DW_AT_lower_bound : 0 + DW_AT_count : 1 + <2>: Abbrev Number: 0 + <1>: 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>: 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) + <1>: 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> +Abbrev Number: 8 (DW_TAG_subrange_type) +DW_AT_type : <0xb0> +DW_AT_lower_bound : 0 +DW_AT_count : 1 +<1> +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> +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 +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 similarity index 72% rename from supported_personalities.h rename to 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 + * Copyright (c) 2005-2015 Dmitry V. Levin + * 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 +typedef struct mq_attr mq_attr_t; +#elif defined HAVE_LINUX_MQUEUE_H +# include +# include +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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>: Abbrev Number: 8 (DW_TAG_subrange_type) + DW_AT_type : <0xa9> + DW_AT_lower_bound : 0 + DW_AT_count : 4 + <2>: Abbrev Number: 0 + <1>: 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) + <1>: 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> +Abbrev Number: 8 (DW_TAG_subrange_type) +DW_AT_type : <0xa9> +DW_AT_lower_bound : 0 +DW_AT_count : 4 +<1> +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 +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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey + * Copyright (c) 1996-1999 Wichert Akkerman + * Copyright (c) 2003-2006 Roland McGrath + * Copyright (c) 2006-2015 Dmitry V. Levin + * 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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey + * Copyright (c) 1996-1999 Wichert Akkerman + * Copyright (c) 2003-2006 Roland McGrath + * Copyright (c) 2006-2015 Dmitry V. Levin + * 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 +typedef struct msqid_ds msqid_ds_t; +#elif defined HAVE_LINUX_MSG_H +/* The linux header might provide the right struct. */ +# include +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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) + <2>
: Abbrev Number: 0 + <1>: 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>: 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>: 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) + <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> +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> +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> +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> +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> +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> +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> +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 +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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey + * Copyright (c) 1996-1999 Wichert Akkerman + * 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 + + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x171): ru_nsignals + 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> +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> +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> +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> +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>
+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> +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> +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 +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 +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + 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> +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> +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> +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> +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> +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> +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> +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 +#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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey + * Copyright (c) 1996-1999 Wichert Akkerman + * Copyright (c) 2003-2006 Roland McGrath + * Copyright (c) 2006-2015 Dmitry V. Levin + * 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 +typedef struct shmid_ds shmid_ds_t; +#elif defined HAVE_LINUX_SHM_H +/* The linux header might provide the right struct. */ +# include +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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) + <2>: Abbrev Number: 0 + <1>: 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>: 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>: 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>: 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) + <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> +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> +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> +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> +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> +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> +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> +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 +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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993-1996 Rick Sladkey + * Copyright (c) 1996-1999 Wichert Akkerman + * Copyright (c) 2001 John Hughes + * Copyright (c) 2013 Denys Vlasenko + * Copyright (c) 2011-2015 Dmitry V. Levin + * Copyright (c) 2015 Elvira Khabirova + * 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 +#include + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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) + 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>: 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) + <4>: Abbrev Number: 0 + <3>: 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>: Abbrev Number: 7 (DW_TAG_structure_type) + DW_AT_byte_size : 16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 57 + <4>: 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>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x13d): _sigval + 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> +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> +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> +Abbrev Number: 7 (DW_TAG_structure_type) +DW_AT_byte_size : 16 +DW_AT_decl_file : 1 +DW_AT_decl_line : 57 +<4> +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> +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> +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> +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 +#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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993-1996 Rick Sladkey + * Copyright (c) 1996-1999 Wichert Akkerman + * Copyright (c) 2005-2015 Dmitry V. Levin + * Copyright (c) 2015 Elvira Khabirova + * 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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +#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 + * Copyright (c) 2011-2016 Dmitry V. Levin + * 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 +#include + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_array_type) + DW_AT_type : <0xb3> + <2>: Abbrev Number: 7 (DW_TAG_subrange_type) + DW_AT_type : <0xba> + DW_AT_lower_bound : 0 + DW_AT_count : 32 + <2>: Abbrev Number: 0 + <1>: 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>: 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>: 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>: 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>: 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>: 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>: 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>: 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>: Abbrev Number: 3 (DW_TAG_typedef) + 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> +Abbrev Number: 6 (DW_TAG_array_type) +DW_AT_type : <0xb3> +<2> +Abbrev Number: 7 (DW_TAG_subrange_type) +DW_AT_type : <0xba> +DW_AT_lower_bound : 0 +DW_AT_count : 32 +<1> +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> +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> +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> +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> +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> +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> +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> +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> +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 +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 + * Copyright (c) 2011-2016 Dmitry V. Levin + * 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 +#include + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +#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 + * Copyright (c) 2011-2016 Dmitry V. Levin + * 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 +#include + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 8 + <1>: 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>: Abbrev Number: 7 (DW_TAG_array_type) + DW_AT_type : <0xb7> + <2>: Abbrev Number: 8 (DW_TAG_subrange_type) + DW_AT_type : <0xbe> + DW_AT_lower_bound : 0 + DW_AT_count : 64 + <2>: Abbrev Number: 0 + <1>: 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>: 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) + <1>: 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> +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> +Abbrev Number: 7 (DW_TAG_array_type) +DW_AT_type : <0xb7> +<2> +Abbrev Number: 8 (DW_TAG_subrange_type) +DW_AT_type : <0xbe> +DW_AT_lower_bound : 0 +DW_AT_count : 64 +<1> +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> +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 +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 + * 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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + DW_AT_name : (indirect string, offset: 0xd4): __u64 + DW_AT_decl_file : 1 + DW_AT_decl_line : 31 + <1>: 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>: 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>: 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>: 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>: 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>: 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 9 (DW_TAG_array_type) + DW_AT_type : <0xff> + <2>: Abbrev Number: 10 (DW_TAG_subrange_type) + DW_AT_type : <0x111> + DW_AT_lower_bound : 0 + DW_AT_count : 1025 + <2>: Abbrev Number: 0 + <1>: 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> +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> +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> +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> +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> +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> +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> +Abbrev Number: 9 (DW_TAG_array_type) +DW_AT_type : <0xff> +<2> +Abbrev Number: 10 (DW_TAG_subrange_type) +DW_AT_type : <0x111> +DW_AT_lower_bound : 0 +DW_AT_count : 1025 +<1> +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 +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 + * 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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_array_type) + DW_AT_type : <0xbb> + <2>: Abbrev Number: 7 (DW_TAG_subrange_type) + DW_AT_type : <0xc2> + DW_AT_lower_bound : 0 + DW_AT_count : 16 + <2>: Abbrev Number: 0 + <1>: 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>: 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>: 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>: 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>: 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>: 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>: 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) + <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> +Abbrev Number: 6 (DW_TAG_array_type) +DW_AT_type : <0xbb> +<2> +Abbrev Number: 7 (DW_TAG_subrange_type) +DW_AT_type : <0xc2> +DW_AT_lower_bound : 0 +DW_AT_count : 16 +<1> +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> +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> +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> +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> +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> +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> +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 +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 + * 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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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) + DW_AT_type : <0xaa> + DW_AT_name : (indirect string, offset: 0xc8): __s64 + DW_AT_decl_file : 1 + DW_AT_decl_line : 30 + <1>: 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>: 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>: 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>: Abbrev Number: 7 (DW_TAG_pointer_type) + DW_AT_type : <0xb1> + <1>: Abbrev Number: 8 (DW_TAG_array_type) + DW_AT_type : <0xb1> + <2>: Abbrev Number: 9 (DW_TAG_subrange_type) + DW_AT_type : <0xd5> + DW_AT_lower_bound : 0 + DW_AT_count : 4 + <2>: Abbrev Number: 0 + <1>: 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) + <1>: 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> +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> +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> +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> +Abbrev Number: 7 (DW_TAG_pointer_type) +DW_AT_type : <0xb1> +<1> +Abbrev Number: 8 (DW_TAG_array_type) +DW_AT_type : <0xb1> +<2> +Abbrev Number: 9 (DW_TAG_subrange_type) +DW_AT_type : <0xd5> +DW_AT_lower_bound : 0 +DW_AT_count : 4 +<1> +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 +#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 + * 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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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) + <4>: Abbrev Number: 0 + <3>: 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) + <3>: Abbrev Number: 0 + <2>: 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>: Abbrev Number: 9 (DW_TAG_union_type) + DW_AT_byte_size : 4040 + DW_AT_decl_file : 2 + DW_AT_decl_line : 78 + <3>: 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>: 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) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: 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>: 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>: 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) + <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> +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> +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> +Abbrev Number: 9 (DW_TAG_union_type) +DW_AT_byte_size : 4040 +DW_AT_decl_file : 2 +DW_AT_decl_line : 78 +<3> +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> +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> +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> +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> +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 +#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 + * Copyright (c) 2015-2016 Dmitry V. Levin + * 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 +# include + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + 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>: 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>: 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>: 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>: 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) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: 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>: 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>: 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) + <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> +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> +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> +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> +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> +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> +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> +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 +#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 + * 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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + DW_AT_name : (indirect string, offset: 0xd9): __kernel_off_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 75 + <1>: 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>: 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>: 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>: 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 + <1>: 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> +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> +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> +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> +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 +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 + * 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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + DW_AT_name : (indirect string, offset: 0xd0): __kernel_loff_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 76 + <1>: 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>: 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>: 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 + <1>: 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> +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> +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> +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 +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 + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + DW_AT_decl_file : 3 + DW_AT_decl_line : 23 + <1>: 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>: Abbrev Number: 9 (DW_TAG_array_type) + DW_AT_type : <0xb8> + <2>: Abbrev Number: 10 (DW_TAG_subrange_type) + DW_AT_type : <0xbf> + DW_AT_lower_bound : 0 + DW_AT_count : 126 + <2>: Abbrev Number: 0 + <1>: 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>: 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) + <1>: 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> +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> +Abbrev Number: 9 (DW_TAG_array_type) +DW_AT_type : <0xb8> +<2> +Abbrev Number: 10 (DW_TAG_subrange_type) +DW_AT_type : <0xbf> +DW_AT_lower_bound : 0 +DW_AT_count : 126 +<1> +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> +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 +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 + * Copyright (c) 2011-2016 Dmitry V. Levin + * 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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +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 + * 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 +#if defined ALPHA || defined SH || defined SH64 +# include +#endif +#include +#include +#include + + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + DW_AT_decl_line : 124 + <2>: 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>: Abbrev Number: 6 (DW_TAG_union_type) + DW_AT_byte_size : 16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 126 + <3>: 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) + <3>: Abbrev Number: 0 + <2>: 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>: Abbrev Number: 6 (DW_TAG_union_type) + DW_AT_byte_size : 16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 129 + <3>: 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>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + 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> +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> +Abbrev Number: 6 (DW_TAG_union_type) +DW_AT_byte_size : 16 +DW_AT_decl_file : 1 +DW_AT_decl_line : 126 +<3> +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> +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> +Abbrev Number: 6 (DW_TAG_union_type) +DW_AT_byte_size : 16 +DW_AT_decl_file : 1 +DW_AT_decl_line : 129 +<3> +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> +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> +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> +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 +#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 + * 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 +#if defined ALPHA || defined SH || defined SH64 +# include +#endif +#include +#include +#include + + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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>: 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>: 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>: 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>: 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>: 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>: 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>: 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) + <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> +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> +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> +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> +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> +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> +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> +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 +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 8 (DW_TAG_array_type) + DW_AT_type : <0x88> + <2>: Abbrev Number: 9 (DW_TAG_subrange_type) + DW_AT_type : <0xb2> + DW_AT_lower_bound : 0 + DW_AT_count : 8 + <2>: Abbrev Number: 0 + <1>: 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) + <1>: 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> +Abbrev Number: 8 (DW_TAG_array_type) +DW_AT_type : <0x88> +<2> +Abbrev Number: 9 (DW_TAG_subrange_type) +DW_AT_type : <0xb2> +DW_AT_lower_bound : 0 +DW_AT_count : 8 +<1> +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 +#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 . + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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 +#include + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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>: 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) + <2>: Abbrev Number: 0 + <1>: 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>: 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) + <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> +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> +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> +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> +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> +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> +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> +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 +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 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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>: 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>: 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>: 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_pointer_type) + <1>: 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>: 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>: 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>: 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>: 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>: 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> +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> +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> +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> +Abbrev Number: 6 (DW_TAG_pointer_type) +<1> +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> +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> +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> +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> +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> +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 +#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 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_pointer_type) + <1>: 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>: 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>: 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>: 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>: 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>: Abbrev Number: 8 (DW_TAG_pointer_type) + DW_AT_type : <0xdf> + <1>: 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>: 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>: 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 + <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> +Abbrev Number: 6 (DW_TAG_pointer_type) +<1> +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> +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> +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> +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> +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> +Abbrev Number: 8 (DW_TAG_pointer_type) +DW_AT_type : <0xdf> +<1> +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> +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> +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 +#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 + * 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 +# include + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +#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 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + 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>: Abbrev Number: 7 (DW_TAG_union_type) + DW_AT_byte_size : 112 + DW_AT_decl_file : 1 + DW_AT_decl_line : 51 + <3>: 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>: 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>: Abbrev Number: 8 (DW_TAG_structure_type) + DW_AT_byte_size : 8 + DW_AT_decl_file : 1 + DW_AT_decl_line : 53 + <4>: 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>: 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) + <4>: Abbrev Number: 0 + <3>: 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>: Abbrev Number: 8 (DW_TAG_structure_type) + DW_AT_byte_size : 16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 57 + <4>: Abbrev Number: 5 (DW_TAG_member) + 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> +Abbrev Number: 7 (DW_TAG_union_type) +DW_AT_byte_size : 112 +DW_AT_decl_file : 1 +DW_AT_decl_line : 51 +<3> +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> +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> +Abbrev Number: 8 (DW_TAG_structure_type) +DW_AT_byte_size : 8 +DW_AT_decl_file : 1 +DW_AT_decl_line : 53 +<4> +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> +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> +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> +Abbrev Number: 8 (DW_TAG_structure_type) +DW_AT_byte_size : 16 +DW_AT_decl_file : 1 +DW_AT_decl_line : 57 +<4> +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 +#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 + * Copyright (c) 2004-2016 Dmitry V. Levin + * 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 +#include + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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) + <2>: Abbrev Number: 0 + <1>: 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>: 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 + <1>: 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> +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> +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 +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 + * Copyright (c) 2007-2017 Dmitry V. Levin + * Copyright (c) 2015 Bart Van Assche + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x147): status + 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> +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> +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> +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> +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>
+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> +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> +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 +#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 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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) + <2>: Abbrev Number: 0 + <1>: 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>: 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>: Abbrev Number: 7 (DW_TAG_pointer_type) + <1>: 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 + <1>: 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> +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> +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> +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> +Abbrev Number: 7 (DW_TAG_pointer_type) +<1> +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 +#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 + * Copyright (c) 2005-2016 Dmitry V. Levin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + 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>: 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>: Abbrev Number: 4 (DW_TAG_structure_type) + DW_AT_byte_size : 8 + DW_AT_decl_file : 1 + DW_AT_decl_line : 40 + <4>: 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>: 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) + <4>: Abbrev Number: 0 + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: 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>: 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 + <1>: 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> +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> +Abbrev Number: 4 (DW_TAG_structure_type) +DW_AT_byte_size : 8 +DW_AT_decl_file : 1 +DW_AT_decl_line : 40 +<4> +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> +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> +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> +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 +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 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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 +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + 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) + <2>: Abbrev Number: 0 + <1>: 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>: 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>: 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>: 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>: 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 + <1>: 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> +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> +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> +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> +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> +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 +#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 + * 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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x136): st_atime_nsec + 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> +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> +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> +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> +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>
+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> +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> +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 +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 + * 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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +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 + * 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 +#include +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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>
: 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) + <2>: Abbrev Number: 0 + <1>: 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>: 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>: Abbrev Number: 3 (DW_TAG_typedef) + 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> +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> +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> +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> +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>
+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> +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> +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> +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 +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 + * 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 +#include +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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>
: 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) + <2>: Abbrev Number: 0 + <1>: 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>: 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>: Abbrev Number: 3 (DW_TAG_typedef) + 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> +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> +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> +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> +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>
+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> +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> +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> +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 +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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey + * Copyright (c) 2006-2015 Dmitry V. Levin + * 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 +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x169): shift + 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> +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> +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> +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> +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>
+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> +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> +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 +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 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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 +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 + * Copyright (c) 2014 William Manley + * Copyright (c) 2011 Peter Zotov + * 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 +#include +#include +#include + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + 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>: 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>: 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>: 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>: Abbrev Number: 6 (DW_TAG_union_type) + DW_AT_byte_size : 4 + DW_AT_decl_file : 2 +
DW_AT_decl_line : 476 + <3>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + 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> +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> +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> +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> +Abbrev Number: 6 (DW_TAG_union_type) +DW_AT_byte_size : 4 +DW_AT_decl_file : 2 +DW_AT_decl_line : 476 +<3> +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> +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> +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 +#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 + * Copyright (c) 2014 William Manley + * Copyright (c) 2011 Peter Zotov + * 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 +#include +#include +#include + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2>: Abbrev Number: 0 + <1>: 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>: 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>: 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>: 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>: Abbrev Number: 9 (DW_TAG_pointer_type) + DW_AT_type : <0x3b> + <1>: 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> +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> +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> +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> +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> +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 +#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 + * Copyright (c) 2014 William Manley + * Copyright (c) 2011 Peter Zotov + * 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 +#include +#include +#include + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: 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>: 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>: 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>: Abbrev Number: 7 (DW_TAG_union_type) + DW_AT_byte_size : 200 + DW_AT_decl_file : 2 + DW_AT_decl_line : 1143 + <3>: 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>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + 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> +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> +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> +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> +Abbrev Number: 7 (DW_TAG_union_type) +DW_AT_byte_size : 200 +DW_AT_decl_file : 2 +DW_AT_decl_line : 1143 +<3> +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> +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> +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> +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 +#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 + * Copyright (c) 2014 William Manley + * Copyright (c) 2011 Peter Zotov + * 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 +#include +#include +#include + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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) + 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>: 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>: 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>: 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>: 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) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: 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>: 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>: Abbrev Number: 9 (DW_TAG_array_type) + 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> +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> +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> +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> +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> +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> +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> +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 +#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 + * Copyright (c) 2014 William Manley + * Copyright (c) 2011 Peter Zotov + * 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 +#include +#include +#include + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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>: 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) + <2>: Abbrev Number: 0 + <1>: 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>: 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>: Abbrev Number: 9 (DW_TAG_array_type) + DW_AT_type : <0xb0> + <2>: Abbrev Number: 10 (DW_TAG_subrange_type) + DW_AT_type : <0xcf> + DW_AT_lower_bound : 0 + DW_AT_count : 2 + <2>: Abbrev Number: 0 + <1>: 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>: Abbrev Number: 12 (DW_TAG_pointer_type) + DW_AT_type : <0xdb> + <1>: 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>: 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>: 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) + <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> +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> +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> +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> +Abbrev Number: 9 (DW_TAG_array_type) +DW_AT_type : <0xb0> +<2> +Abbrev Number: 10 (DW_TAG_subrange_type) +DW_AT_type : <0xcf> +DW_AT_lower_bound : 0 +DW_AT_count : 2 +<1> +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> +Abbrev Number: 12 (DW_TAG_pointer_type) +DW_AT_type : <0xdb> +<1> +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> +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> +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 +#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 + * Copyright (c) 2014 William Manley + * Copyright (c) 2011 Peter Zotov + * 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 +#include +#include +#include + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: 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>: 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>: 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>: 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) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: 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>: 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>: 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>: Abbrev Number: 9 (DW_TAG_member) + 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> +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> +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> +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> +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> +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> +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> +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> +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 +#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 + * Copyright (c) 2014 William Manley + * Copyright (c) 2011 Peter Zotov + * 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 +#include +#include +#include + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <3>: 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>: 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>: 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>: 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>: 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>: 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) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: 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> +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> +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> +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> +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> +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> +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> +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 +#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 + * Copyright (c) 2014 William Manley + * Copyright (c) 2011 Peter Zotov + * 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 +#include +#include +#include + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 + 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>: 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>: 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) + <2>: Abbrev Number: 0 + <1>: 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>: 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>: Abbrev Number: 7 (DW_TAG_array_type) + DW_AT_type : <0xeb> + <2>: Abbrev Number: 8 (DW_TAG_subrange_type) + DW_AT_type : <0xfd> + DW_AT_lower_bound : 0 + DW_AT_count : 32 + <2>: Abbrev Number: 0 + <1>: 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>: 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>: Abbrev Number: 9 (DW_TAG_base_type) + 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> +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> +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> +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> +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> +Abbrev Number: 7 (DW_TAG_array_type) +DW_AT_type : <0xeb> +<2> +Abbrev Number: 8 (DW_TAG_subrange_type) +DW_AT_type : <0xfd> +DW_AT_lower_bound : 0 +DW_AT_count : 32 +<1> +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> +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> +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 +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 + * Copyright (c) 2014 William Manley + * Copyright (c) 2011 Peter Zotov + * 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 +#include +#include +#include + +#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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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) + DW_AT_type : <0xaa> + DW_AT_name : (indirect string, offset: 0xbd): __u32 + DW_AT_decl_file : 1 + DW_AT_decl_line : 28 + <1>: 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>: 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>: 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>: 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>: Abbrev Number: 8 (DW_TAG_array_type) + DW_AT_type : <0xdc> + <2>: Abbrev Number: 9 (DW_TAG_subrange_type) + DW_AT_type : <0xee> + DW_AT_lower_bound : 0 + DW_AT_count : 24 + <2>: Abbrev Number: 0 + <1>: 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>: 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>: 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>: 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>: Abbrev Number: 12 (DW_TAG_member) + 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> +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> +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> +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> +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> +Abbrev Number: 8 (DW_TAG_array_type) +DW_AT_type : <0xdc> +<2> +Abbrev Number: 9 (DW_TAG_subrange_type) +DW_AT_type : <0xee> +DW_AT_lower_bound : 0 +DW_AT_count : 24 +<1> +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> +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> +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> +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> +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 +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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993-1996 Rick Sladkey + * Copyright (c) 1996-1999 Wichert Akkerman + * Copyright (c) 2012 H.J. Lu + * Copyright (c) 2012 Denys Vlasenko + * Copyright (c) 2014-2015 Dmitry V. Levin + * Copyright (c) 2015 Elvira Khabirova + * 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 +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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> + 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x177): _f + 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> +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> +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> +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> +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>
+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> +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> +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 +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 + * 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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +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 + * 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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +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 + * 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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +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 + * Copyright (c) 1993 Branko Lankester + * Copyright (c) 1993-1996 Rick Sladkey + * Copyright (c) 1996-1999 Wichert Akkerman + * Copyright (c) 2012 H.J. Lu + * Copyright (c) 2015 Elvira Khabirova + * Copyright (c) 2015 Dmitry V. Levin + * 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 +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +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 + +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>: Abbrev Number: 1 (DW_TAG_compile_unit) + 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 +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 " + print "#include " } /^<[[: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" < +#include #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 - * 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 * Copyright (c) 2016 Dmitry V. Levin - * 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" @@ -548,6 +547,9 @@ decode_nlmsgerr(struct tcb *const tcp, 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, 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 + * 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 +# include +# include "netlink.h" +# include + +# 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 * Copyright (c) 2017 JingPiao Chen - * 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 #include #include +#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 * Copyright (c) 2005-2007 Roland McGrath * Copyright (c) 2008-2015 Dmitry V. Levin - * 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 +#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 * Copyright (c) 2014-2015 Dmitry V. Levin - * 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 # include +# 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 * Copyright (c) 2013 Ali Polatel * Copyright (c) 2015 Mike Frysinger + * 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 * Copyright (c) 1996-1999 Wichert Akkerman * Copyright (c) 2005-2016 Dmitry V. Levin - * 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 - -#ifdef HAVE_SYS_REG_H -# include -#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 * Copyright (c) 2004-2016 Dmitry V. Levin - * 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 #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 * Copyright (c) 2005 Roland McGrath * Copyright (c) 2012-2015 Dmitry V. Levin - * 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 * Copyright (c) 1996-2000 Wichert Akkerman * Copyright (c) 2005-2016 Dmitry V. Levin - * 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 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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 . +mailing list at . .\" .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 . +mailing list at . .\" .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 . +mailing list at . .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 . +mailing list at . .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 #include #include +#include #include #ifdef HAVE_PRCTL # include @@ -51,11 +52,13 @@ #include #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, ¶ms_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 - 4.21-1 +- v4.20 -> v4.21. * Mon Nov 13 2017 Dmitry V. Levin - 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 - 4.21-1 +- v4.20 -> v4.21. + * Mon Nov 13 2017 Dmitry V. Levin - 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 /* 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 - * 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 +# 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 +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (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 ' | \ + $(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 + * 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 +#include +#include +#include +#include + #include +#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 -# include -# include -# include -# include +#ifdef HAVE_LINUX_BPF_H # include -# 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 #include #include -#include #include #include #include @@ -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 -# 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 +#include +#include +#include +#include +#include +#include +#include +#include + +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 "); + + 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 +#include + +#include + +#include + +#include + +#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 * Copyright (c) 2016 Eugene Syromyatnikov - * 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 # include # include -# include # include 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 +#include +#include +#include + +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 # include -# include # include # include # include 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 +#include +#include +#include + +#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 . + */ +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 # include -# include # include # include # include 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 * Copyright (c) 2016 Eugene Syromyatnikov - * 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 -#include #include #include #include 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 - * 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 #include #include 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 - * 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 #include #include #include #include #include -#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 * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 + +#include "raw_syscall.h" +#include "scno.h" + +#if defined __NR_kern_features && defined raw_syscall_0 + +# include +# include +# include +# include + +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 - * 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 # include # include -# include # include # include # include 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 +#include +#include +#include + +#include + +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 - * 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 # include # include -# include # include # include # include 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\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, {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, 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, {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, 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\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, {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, {sa_family=AF_INET" - ", sin_port=htons(%u), sin_addr=inet_addr(\"127.0.0.1\")}" - ", [%u]) = %d127.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(%d127.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(%d127.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(%d127.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(%d127.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(%d127.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(%d127.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(%d127.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) = 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 - * 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 #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 + * Copyright (c) 2017, 2018 Chen Jingpiao * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -32,9 +32,24 @@ # include # include # include +# include +# include # include -# include "netlink.h" +# include "test_netlink.h" # include +# ifdef HAVE_LINUX_NETFILTER_NF_TABLES_H +# include +# 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 # include -# include # include # include # include 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 - * 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 @@ -9,6 +9,12 @@ * Assumes instr is NUL-terminated. */ +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) { @@ -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 #include "ptrace.h" +#include #include +#include #include #include #include @@ -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 - * 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 + * 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< -# include # include # include # include 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 -# include # include # include # include 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 # include # include -# include # include # include # include @@ -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 + * 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 -# 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 + * 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 -# include "kernel_types.h" -# include "gcc_compat.h" -# include "macros.h" +#include +#include +#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 # include -# include # include # include # include 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 +# 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 +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (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 ' | \ + $(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 + * 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 +#include +#include +#include +#include + #include +#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 -# include -# include -# include -# include +#ifdef HAVE_LINUX_BPF_H # include -# 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 #include #include -#include #include #include #include @@ -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 -# 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 +#include +#include +#include +#include +#include +#include +#include +#include + +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 "); + + 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 +#include + +#include + +#include + +#include + +#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 * Copyright (c) 2016 Eugene Syromyatnikov - * 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 # include # include -# include # include 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 +#include +#include +#include + +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 # include -# include # include # include # include 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 +#include +#include +#include + +#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 . + */ +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 # include -# include # include # include # include 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 * Copyright (c) 2016 Eugene Syromyatnikov - * 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 -#include #include #include #include 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 - * 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 #include #include 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 - * 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 #include #include #include #include #include -#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 * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 + +#include "raw_syscall.h" +#include "scno.h" + +#if defined __NR_kern_features && defined raw_syscall_0 + +# include +# include +# include +# include + +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 - * 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 # include # include -# include # include # include # include 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 +#include +#include +#include + +#include + +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 - * 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 # include # include -# include # include # include # include 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\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, {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, 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, {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, 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\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, {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, {sa_family=AF_INET" - ", sin_port=htons(%u), sin_addr=inet_addr(\"127.0.0.1\")}" - ", [%u]) = %d127.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(%d127.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(%d127.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(%d127.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(%d127.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(%d127.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(%d127.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(%d127.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) = 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 - * 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 #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 + * Copyright (c) 2017, 2018 Chen Jingpiao * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -32,9 +32,24 @@ # include # include # include +# include +# include # include -# include "netlink.h" +# include "test_netlink.h" # include +# ifdef HAVE_LINUX_NETFILTER_NF_TABLES_H +# include +# 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 # include -# include # include # include # include 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 - * 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 @@ -9,6 +9,12 @@ * Assumes instr is NUL-terminated. */ +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) { @@ -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 #include "ptrace.h" +#include #include +#include #include #include #include @@ -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 - * 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 + * 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< -# include # include # include # include 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 -# include # include # include # include 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 # include # include -# include # include # include # include @@ -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 + * 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 -# 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 + * 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 -# include "kernel_types.h" -# include "gcc_compat.h" -# include "macros.h" +#include +#include +#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 # include -# include # include # include # include 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 +# 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 +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (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 ' | \ + $(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 + * 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 +#include +#include +#include +#include + #include +#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 -# include -# include -# include -# include +#ifdef HAVE_LINUX_BPF_H # include -# 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 #include #include -#include #include #include #include @@ -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 -# 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 +#include +#include +#include +#include +#include +#include +#include +#include + +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 "); + + 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 +#include + +#include + +#include + +#include + +#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 * Copyright (c) 2016 Eugene Syromyatnikov - * 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 # include # include -# include # include 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 +#include +#include +#include + +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 # include -# include # include # include # include 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 +#include +#include +#include + +#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 . + */ +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 # include -# include # include # include # include 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 * Copyright (c) 2016 Eugene Syromyatnikov - * 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 -#include #include #include #include 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 - * 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 #include #include 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 - * 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 #include #include #include #include #include -#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 * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 + +#include "raw_syscall.h" +#include "scno.h" + +#if defined __NR_kern_features && defined raw_syscall_0 + +# include +# include +# include +# include + +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 - * 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 # include # include -# include # include # include # include 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 +#include +#include +#include + +#include + +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 - * 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 # include # include -# include # include # include # include 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\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, {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, 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, {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, 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\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, {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, {sa_family=AF_INET" - ", sin_port=htons(%u), sin_addr=inet_addr(\"127.0.0.1\")}" - ", [%u]) = %d127.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(%d127.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(%d127.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(%d127.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(%d127.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(%d127.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(%d127.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(%d127.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) = 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 - * 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 #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 + * Copyright (c) 2017, 2018 Chen Jingpiao * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -32,9 +32,24 @@ # include # include # include +# include +# include # include -# include "netlink.h" +# include "test_netlink.h" # include +# ifdef HAVE_LINUX_NETFILTER_NF_TABLES_H +# include +# 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 # include -# include # include # include # include 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 - * 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 @@ -9,6 +9,12 @@ * Assumes instr is NUL-terminated. */ +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) { @@ -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 #include "ptrace.h" +#include #include +#include #include #include #include @@ -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 - * 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 + * 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< -# include # include # include # include 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 -# include # include # include # include 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 # include # include -# include # include # include # include @@ -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 + * 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 -# 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 + * 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 -# include "kernel_types.h" -# include "gcc_compat.h" -# include "macros.h" +#include +#include +#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 # include -# include # include # include # include 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 * Copyright (c) 1993 Branko Lankester * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey - * 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 * Copyright (c) 2015 Elvira Khabirova * Copyright (c) 2015 Dmitry V. Levin - * 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 * - * 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 + * 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 + +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 -#include +#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 + * 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 - * 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 #include #include +#include +#include #ifdef HAVE_SYS_XATTR_H # include #endif #include + +#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 @@ -139,24 +139,6 @@ printxval_searchn(const struct xlat *xlat, size_t xlat_size, uint64_t val, return 0; } -/* - * Interpret `xlat' as an array of flags - * print the entries whose bits are on in `flags' - */ -void -addflags(const struct xlat *xlat, uint64_t flags) -{ - for (; xlat->str; xlat++) { - if (xlat->val && (flags & xlat->val) == xlat->val) { - tprintf("|%s", xlat->str); - flags &= ~xlat->val; - } - } - if (flags) { - tprintf("|%#" PRIx64, flags); - } -} - /* * Interpret `xlat' as an array of flags. * Print to static string the entries whose bits are on in `flags' 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 # Copyright (c) 2014-2015 Dmitry V. Levin -# 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 */ -- GitLab From 03a418ed8025a9c0517bc9e40e8ade6272a2cc53 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 15 Jun 2018 13:11:40 -0700 Subject: [PATCH 2/2] Update strace to 4.23. Noteworthy changes in release 4.23 (2018-06-14) =============================================== * Changes in behaviour * On x32 personality, 64-bit syscalls (such as readv) are now shown with "#64" suffix instead of "64:" prefix. Unlike the old names, these new names can be used in syscall qualification expressions. * Changed error number output format: error numbers are consistently printed as "-1 ECONST (Error description)" for known errors and as "-1 (errno 123)" for unknown errors, regardless of -e raw qualification settings. One can specify -X raw for displaying raw error numbers unconditionally. * Unfetchable addresses inside arrays are now printed as comments. * Obsolete IA-32 mode syscall names are no longer printed on ia64. * Improvements * Implemented libdw backend for -k option, configured at build time using --with-libdw option. Whether -k option is compiled is now configured at build time using --enable-stacktrace option. * Added -X option for configuring xlat output formatting (addresses Debian bug #692915). * Added support for personality designation ("64", "32", or "x32") to syscall qualifications in -e trace expressions. * Implemented injection of syscalls with no side effects as an alternative to injection of an invalid syscall (-e inject=SET:syscall= expression). * Improved support for reproducible builds (addresses Debian bug #896016). * Implemented decoding of BPF_PROG_QUERY and BPF_RAW_TRACEPOINT_OPEN bpf syscall commands. * Implemented decoding of INOTIFY_IOC_SETNEXTWD and PERF_EVENT_IOC_* ioctl commands. * Implemented decoding of PR_GET_SPECULATION_CTRL and PR_SET_SPECULATION_CTRL prctl syscall options. * Enhanced decoding of bpf, getsockopt, setsockopt, and socket syscalls. * Enhanced decoding of NETLINK_KOBJECT_UEVENT and NETLINK_ROUTE protocols. * Enhanced decoding of *_DIAG_MEMINFO netlink attributes. * Enhanced decoding of BTRFS_*, FS_IOC_*, SIOCGIFHWADDR, and SIOCSIFHWADDR ioctl commands. * Enhanced decoding of AF_BLUETOOTH socket addresses. * Implemented decoding of io_pgetevent syscall. * Wired up rseq syscall. * Updated lists of ADJ_*, BPF_*, BPF_F_*, BPF_PROG_TYPE_*, ETH_P_*, FPE_*, IFF_*, IPPROTO_*, MAP_*, MS_*, MSG_*, NETLINK_*, PACKET_*, PROT_*, SCTP_*, SECCOMP_FILTER_FLAG_*, SEGV_*, SEM_*, SHM_*, SW_*, V4L2_CID_*, V4L2_CTRL_CLASS_*, and V4L2_PIX_FMT_* constants. * Updated lists of ioctl commands from Linux 4.17. * Bug fixes * Fixed decoding of msgtyp argument of msgrcv syscall. * Fixed fallback definitions for F_*, MCL_*, MSG_ZEROCOPY, SI_*, and SOL_SOCKET constants. * Fixed -e trace=%pure expression on mips. Bug: N/A Test: strace -f date Change-Id: I9eff306cca99b239815284a366315fb04686667a --- Android.bp | 7 + CREDITS | 2 + ChangeLog | 4026 +++++++++++++++ Makefile | 1008 ++-- Makefile.am | 46 +- Makefile.in | 978 ++-- NEWS | 53 + aclocal.m4 | 4 + aio.c | 25 +- basic_filters.c | 121 +- bpf.c | 509 +- bpf_attr.h | 109 +- bpf_attr_check.c | 250 + bpf_filter.c | 86 +- bpf_sock_filter.c | 13 +- btrfs.c | 574 +-- config.h | 200 +- config.h.in | 166 +- configure | 1230 ++++- configure.ac | 226 +- debian/changelog | 12 +- debian/changelog.in | 6 + debian/control | 2 +- debian/rules | 2 +- defs.h | 485 +- dm.c | 2 +- epoll.c | 4 +- error_prints.c | 5 +- evdev.c | 59 +- execve.c | 9 +- f_owner_ex.h | 41 + fanotify.c | 10 +- fcntl.c | 23 +- file_ioctl.c | 10 +- filter_qualify.c | 39 +- futex.c | 11 +- gcc_compat.h | 11 + gen_bpf_attr_check.sh | 18 +- inotify_ioctl.c | 48 + io.c | 4 +- ioctl.c | 47 +- ioctl_redefs1.h | 76 +- ioctlent0.h | 110 +- ioctlent1.h | 110 +- ioctlent2.h | 111 +- ioprio.c | 11 +- ipc.c | 7 +- ipc_defs.h | 8 +- ipc_msg.c | 11 +- ipc_sem.c | 10 +- ipc_shm.c | 14 +- kexec.c | 4 +- keyctl.c | 20 +- linux/32/ioctls_inc_align16.h | 112 +- linux/32/ioctls_inc_align32.h | 110 +- linux/32/ioctls_inc_align64.h | 110 +- linux/32/syscallent.h | 1 + linux/64/ioctls_inc.h | 110 +- linux/64/syscallent.h | 1 + linux/aarch64/errnoent1.h | 2 - linux/aarch64/signalent1.h | 1 - linux/alpha/set_error.c | 4 +- linux/arm/raw_syscall.h | 15 + linux/arm/syscallent.h | 1 + linux/dummy.h | 3 +- linux/i386/ioctls_arch0.h | 1 + linux/i386/syscallent.h | 2 + linux/ia64/syscallent.h | 15 - linux/mips/syscallent-n32.h | 16 +- linux/mips/syscallent-n64.h | 16 +- linux/mips/syscallent-o32.h | 16 +- linux/powerpc/set_error.c | 4 +- linux/powerpc/syscallent.h | 1 + linux/powerpc64/errnoent1.h | 1 - linux/powerpc64/signalent1.h | 1 - linux/powerpc64/syscallent.h | 1 + linux/riscv/errnoent1.h | 2 - linux/riscv/signalent1.h | 2 - linux/s390/syscallent.h | 1 + linux/s390x/errnoent1.h | 1 - linux/s390x/signalent1.h | 1 - linux/s390x/syscallent.h | 1 + linux/sparc64/errnoent1.h | 1 - linux/sparc64/signalent1.h | 1 - linux/tile/errnoent1.h | 2 - linux/tile/signalent1.h | 2 - linux/x32/errnoent1.h | 2 - linux/x32/ioctls_inc0.h | 110 +- linux/x32/signalent1.h | 2 - linux/x32/syscallent.h | 98 +- linux/x86_64/errnoent1.h | 2 - linux/x86_64/errnoent2.h | 2 - linux/x86_64/ioctls_arch0.h | 1 + linux/x86_64/signalent1.h | 2 - linux/x86_64/signalent2.h | 2 - linux/x86_64/syscallent.h | 2 + m32_printer_decls.h | 4 +- m32_printer_defs.h | 4 +- m32_type_defs.h | 3 + m4/bpf_attr.m4 | 44 +- m4/st_demangle.m4 | 82 + m4/st_libdw.m4 | 113 + m4/st_libunwind.m4 | 119 + m4/st_stacktrace.m4 | 78 + macros.h | 2 + mem.c | 16 +- mmap_cache.c | 182 +- mmap_cache.h | 19 +- mmap_notify.c | 54 + mmap_notify.h | 40 + mmsghdr.c | 15 +- mount.c | 4 +- mpers-m32/kernel_dirent.d1 | 159 +- mpers-m32/kernel_dirent.d2 | 74 +- mpers-m32/mq_attr_t.d1 | 147 +- mpers-m32/mq_attr_t.d2 | 68 +- mpers-m32/msgbuf_t.d1 | 119 +- mpers-m32/msgbuf_t.d2 | 54 +- mpers-m32/msqid_ds_t.d1 | 473 +- mpers-m32/msqid_ds_t.d2 | 236 +- mpers-m32/rusage_t.d1 | 313 +- mpers-m32/rusage_t.d2 | 150 +- mpers-m32/sample_struct.d1 | 583 +-- mpers-m32/sample_struct.d2 | 282 +- mpers-m32/shmid_ds_t.d1 | 471 +- mpers-m32/shmid_ds_t.d2 | 236 +- mpers-m32/siginfo_t.d1 | 797 +-- mpers-m32/siginfo_t.d2 | 368 +- mpers-m32/stack_t.d1 | 111 +- mpers-m32/stack_t.d2 | 50 +- mpers-m32/strace_aio_sigset.c | 36 + mpers-m32/strace_aio_sigset.d1 | 87 + mpers-m32/strace_aio_sigset.d2 | 83 + mpers-m32/strace_aio_sigset.h | 11 + mpers-m32/struct_blk_user_trace_setup.d1 | 245 +- mpers-m32/struct_blk_user_trace_setup.d2 | 122 +- mpers-m32/struct_blkpg_ioctl_arg.d1 | 103 +- mpers-m32/struct_blkpg_ioctl_arg.d2 | 44 +- mpers-m32/struct_blkpg_partition.d1 | 171 +- mpers-m32/struct_blkpg_partition.d2 | 80 +- .../struct_btrfs_ioctl_dev_replace_args.d1 | 343 +- .../struct_btrfs_ioctl_dev_replace_args.d2 | 160 +- ...struct_btrfs_ioctl_received_subvol_args.d1 | 247 +- ...struct_btrfs_ioctl_received_subvol_args.d2 | 140 +- mpers-m32/struct_btrfs_ioctl_send_args.d1 | 181 +- mpers-m32/struct_btrfs_ioctl_send_args.d2 | 102 +- mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1 | 457 +- mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2 | 212 +- mpers-m32/struct_ff_effect.d1 | 713 +-- mpers-m32/struct_ff_effect.d2 | 336 +- mpers-m32/struct_flock.d1 | 171 +- mpers-m32/struct_flock.d2 | 82 +- mpers-m32/struct_flock64.d1 | 161 +- mpers-m32/struct_flock64.d2 | 76 +- mpers-m32/struct_group_req.d1 | 177 +- mpers-m32/struct_group_req.d2 | 86 +- mpers-m32/struct_hd_geometry.d1 | 119 +- mpers-m32/struct_hd_geometry.d2 | 52 +- mpers-m32/struct_ifconf.c | 2 +- mpers-m32/struct_ifconf.d1 | 1123 ++--- mpers-m32/struct_ifconf.d2 | 636 +-- mpers-m32/struct_ifreq.c | 2 +- mpers-m32/struct_ifreq.d1 | 1045 ++-- mpers-m32/struct_ifreq.d2 | 586 +-- mpers-m32/struct_keyctl_kdf_params.d1 | 157 +- mpers-m32/struct_keyctl_kdf_params.d2 | 76 +- mpers-m32/struct_loop_info.d1 | 305 +- mpers-m32/struct_loop_info.d2 | 150 +- mpers-m32/struct_mmsghdr.d1 | 303 +- mpers-m32/struct_mmsghdr.d2 | 176 +- mpers-m32/struct_msghdr.d1 | 267 +- mpers-m32/struct_msghdr.d2 | 154 +- mpers-m32/struct_mtd_oob_buf.d1 | 113 +- mpers-m32/struct_mtd_oob_buf.d2 | 52 +- mpers-m32/struct_rt_sigframe.d1 | 1338 ++--- mpers-m32/struct_rt_sigframe.d2 | 699 +-- mpers-m32/struct_rt_sigframe.h | 7 + mpers-m32/struct_rtc_pll_info.d1 | 147 +- mpers-m32/struct_rtc_pll_info.d2 | 66 +- mpers-m32/struct_sg_io_hdr.d1 | 349 +- mpers-m32/struct_sg_io_hdr.d2 | 170 +- mpers-m32/struct_sg_req_info.d1 | 169 +- mpers-m32/struct_sg_req_info.d2 | 78 +- mpers-m32/struct_sigevent.d1 | 211 +- mpers-m32/struct_sigevent.d2 | 88 +- mpers-m32/struct_sock_fprog.d1 | 189 +- mpers-m32/struct_sock_fprog.d2 | 90 +- mpers-m32/struct_stat.d1 | 319 +- mpers-m32/struct_stat.d2 | 152 +- mpers-m32/struct_stat64.d1 | 45 +- mpers-m32/struct_stat64.d2 | 16 +- mpers-m32/struct_statfs.d1 | 285 +- mpers-m32/struct_statfs.d2 | 136 +- mpers-m32/struct_statfs64.d1 | 303 +- mpers-m32/struct_statfs64.d2 | 146 +- mpers-m32/struct_timex.d1 | 377 +- mpers-m32/struct_timex.d2 | 182 +- mpers-m32/struct_v4l2_buffer.d1 | 651 +-- mpers-m32/struct_v4l2_buffer.d2 | 390 +- mpers-m32/struct_v4l2_clip.d1 | 171 +- mpers-m32/struct_v4l2_clip.d2 | 86 +- mpers-m32/struct_v4l2_create_buffers.d1 | 1337 ++--- mpers-m32/struct_v4l2_create_buffers.d2 | 784 +-- mpers-m32/struct_v4l2_ext_control.d1 | 325 +- mpers-m32/struct_v4l2_ext_control.d2 | 192 +- mpers-m32/struct_v4l2_ext_controls.d1 | 447 +- mpers-m32/struct_v4l2_ext_controls.d2 | 268 +- mpers-m32/struct_v4l2_format.d1 | 1251 ++--- mpers-m32/struct_v4l2_format.d2 | 730 +-- mpers-m32/struct_v4l2_framebuffer.d1 | 221 +- mpers-m32/struct_v4l2_framebuffer.d2 | 130 +- mpers-m32/struct_v4l2_input.d1 | 255 +- mpers-m32/struct_v4l2_input.d2 | 148 +- mpers-m32/struct_v4l2_standard.d1 | 255 +- mpers-m32/struct_v4l2_standard.d2 | 140 +- mpers-m32/sysinfo_t.d1 | 331 +- mpers-m32/sysinfo_t.d2 | 164 +- mpers-m32/time_t.d1 | 73 +- mpers-m32/time_t.d2 | 34 +- mpers-m32/timespec_t.d1 | 99 +- mpers-m32/timespec_t.d2 | 44 +- mpers-m32/timeval_t.d1 | 109 +- mpers-m32/timeval_t.d2 | 50 +- mpers-m32/tms_t.d1 | 123 +- mpers-m32/tms_t.d2 | 56 +- mpers-m32/utimbuf_t.d1 | 99 +- mpers-m32/utimbuf_t.d2 | 44 +- mpers.am | 2 +- mpers_xlat.h | 7 +- msghdr.c | 6 +- native_printer_decls.h | 4 +- native_printer_defs.h | 4 +- net.c | 185 +- netlink.c | 41 +- netlink_kobject_uevent.c | 65 + netlink_kobject_uevent.h | 17 + netlink_netlink_diag.c | 2 +- netlink_packet_diag.c | 5 +- netlink_unix_diag.c | 2 +- nlattr.c | 234 +- nlattr.h | 45 +- numa.c | 10 +- open.c | 11 +- perf.c | 4 +- perf_event_struct.h | 6 + perf_ioctl.c | 153 + poll.c | 2 +- prctl.c | 49 +- print_aio_sigset.c | 53 + print_fields.h | 48 + print_ifindex.c | 44 +- print_mac.c | 55 + printers.h | 8 +- printmode.c | 33 +- printsiginfo.c | 7 +- rtnl_link.c | 493 +- rtnl_route.c | 18 +- rtnl_rule.c | 28 +- rtnl_tc.c | 2 +- s390.c | 7 +- scno.h | 3 + sen.h | 2 + signal.c | 2 +- sock.c | 100 +- sockaddr.c | 177 +- socketcall.c | 10 +- socketutils.c | 15 +- static_assert.h | 11 +- strace-log-merge.1 | 2 +- strace.1 | 73 +- strace.1.in | 71 +- strace.c | 99 +- strace.spec | 26 +- strace.spec.in | 18 +- sys_func.h | 1 + syscall.c | 159 +- sysent.h | 2 +- sysent_shorthand_defs.h | 2 +- tests-m32/Makefile | 1518 ++++-- tests-m32/Makefile.am | 51 +- tests-m32/Makefile.in | 1490 ++++-- tests-m32/add_key.c | 10 +- tests-m32/aio.c | 4 +- tests-m32/aio_pgetevents.c | 190 + tests-m32/aio_pgetevents.gen.test | 4 + tests-m32/bpf-obj_get_info_by_fd-prog-v.c | 3 + .../bpf-obj_get_info_by_fd-prog-v.gen.test | 4 + tests-m32/bpf-obj_get_info_by_fd-prog.c | 2 + .../bpf-obj_get_info_by_fd-prog.gen.test | 4 + tests-m32/bpf-obj_get_info_by_fd-v.c | 2 + tests-m32/bpf-obj_get_info_by_fd-v.gen.test | 4 + tests-m32/bpf-obj_get_info_by_fd.c | 499 ++ tests-m32/bpf-obj_get_info_by_fd.gen.test | 4 + tests-m32/bpf-success-v.c | 2 + tests-m32/bpf-success-v.test | 6 + tests-m32/bpf-success.c | 2 + tests-m32/bpf-success.test | 6 + tests-m32/bpf.c | 563 ++- tests-m32/btrfs-X.test | 11 + tests-m32/btrfs-vX.test | 11 + tests-m32/btrfs-vwX.test | 25 + tests-m32/btrfs-wX.test | 25 + tests-m32/btrfs.c | 822 +-- tests-m32/execve.c | 11 +- tests-m32/execveat.c | 9 +- tests-m32/fanotify_mark-Xabbrev.c | 1 + tests-m32/fanotify_mark-Xabbrev.gen.test | 4 + tests-m32/fanotify_mark-Xraw.c | 2 + tests-m32/fanotify_mark-Xraw.gen.test | 4 + tests-m32/fanotify_mark-Xverbose.c | 2 + tests-m32/fanotify_mark-Xverbose.gen.test | 4 + tests-m32/fanotify_mark.c | 82 +- tests-m32/fcntl-common.c | 267 + tests-m32/fcntl.c | 45 +- tests-m32/fcntl64.c | 56 +- tests-m32/gen_tests.am | 167 +- tests-m32/gen_tests.in | 65 +- tests-m32/init.sh | 13 +- tests-m32/ioctl_evdev.c | 35 +- tests-m32/ioctl_inotify.c | 81 + tests-m32/ioctl_inotify.gen.test | 4 + tests-m32/ioctl_kvm_run.c | 29 +- tests-m32/ioctl_loop.c | 26 +- tests-m32/ioctl_perf-success.c | 165 + tests-m32/ioctl_perf-success.test | 15 + tests-m32/ioctl_perf.c | 238 + tests-m32/ioctl_perf.gen.test | 4 + tests-m32/ioctl_ptp.c | 131 + tests-m32/ioctl_ptp.gen.test | 4 + tests-m32/ioctl_v4l2.c | 17 +- tests-m32/ipc.sh | 2 +- tests-m32/ipc_msg-Xabbrev.c | 1 + tests-m32/ipc_msg-Xabbrev.gen.test | 4 + tests-m32/ipc_msg-Xraw.c | 2 + tests-m32/ipc_msg-Xraw.gen.test | 4 + tests-m32/ipc_msg-Xverbose.c | 2 + tests-m32/ipc_msg-Xverbose.gen.test | 4 + tests-m32/ipc_msg.c | 91 +- tests-m32/ipc_msg.gen.test | 4 +- tests-m32/ipc_msgbuf-Xabbrev.c | 1 + tests-m32/ipc_msgbuf-Xabbrev.gen.test | 4 + tests-m32/ipc_msgbuf-Xraw.c | 2 + tests-m32/ipc_msgbuf-Xraw.gen.test | 4 + tests-m32/ipc_msgbuf-Xverbose.c | 2 + tests-m32/ipc_msgbuf-Xverbose.gen.test | 4 + tests-m32/ipc_msgbuf.c | 53 +- tests-m32/ipc_msgbuf.test | 4 +- tests-m32/ipc_sem-Xabbrev.c | 1 + tests-m32/ipc_sem-Xabbrev.gen.test | 4 + tests-m32/ipc_sem-Xraw.c | 2 + tests-m32/ipc_sem-Xraw.gen.test | 4 + tests-m32/ipc_sem-Xverbose.c | 2 + tests-m32/ipc_sem-Xverbose.gen.test | 4 + tests-m32/ipc_sem.c | 74 +- tests-m32/ipc_sem.gen.test | 4 +- tests-m32/ipc_shm-Xabbrev.c | 1 + tests-m32/ipc_shm-Xabbrev.gen.test | 4 + tests-m32/ipc_shm-Xraw.c | 2 + tests-m32/ipc_shm-Xraw.gen.test | 4 + tests-m32/ipc_shm-Xverbose.c | 2 + tests-m32/ipc_shm-Xverbose.gen.test | 4 + tests-m32/ipc_shm.c | 108 +- tests-m32/ipc_shm.gen.test | 4 +- tests-m32/kcmp.c | 3 +- tests-m32/kexec_load.c | 4 +- tests-m32/keyctl-Xabbrev.c | 1 + tests-m32/keyctl-Xabbrev.gen.test | 4 + tests-m32/keyctl-Xraw.c | 2 + tests-m32/keyctl-Xraw.gen.test | 4 + tests-m32/keyctl-Xverbose.c | 2 + tests-m32/keyctl-Xverbose.gen.test | 4 + tests-m32/keyctl.c | 135 +- tests-m32/mknod.c | 2 +- tests-m32/mknodat.c | 2 +- tests-m32/mmap-Xabbrev.c | 1 + tests-m32/mmap-Xabbrev.gen.test | 4 + tests-m32/mmap-Xraw.c | 2 + tests-m32/mmap-Xraw.gen.test | 4 + tests-m32/mmap-Xverbose.c | 2 + tests-m32/mmap-Xverbose.gen.test | 4 + tests-m32/mmap.c | 54 +- tests-m32/mmap.test | 15 +- tests-m32/mmap64-Xabbrev.c | 1 + tests-m32/mmap64-Xabbrev.gen.test | 4 + tests-m32/mmap64-Xraw.c | 2 + tests-m32/mmap64-Xraw.gen.test | 4 + tests-m32/mmap64-Xverbose.c | 2 + tests-m32/mmap64-Xverbose.gen.test | 4 + tests-m32/mmsg_name.c | 4 +- tests-m32/modify_ldt.c | 4 +- tests-m32/mount-Xabbrev.c | 1 + tests-m32/mount-Xabbrev.gen.test | 4 + tests-m32/mount-Xraw.c | 2 + tests-m32/mount-Xraw.gen.test | 4 + tests-m32/mount-Xverbose.c | 2 + tests-m32/mount-Xverbose.gen.test | 4 + tests-m32/mount.c | 86 +- tests-m32/mount.gen.test | 4 +- tests-m32/move_pages.c | 6 +- tests-m32/msg_control.c | 8 +- tests-m32/net-sockaddr.c | 75 +- tests-m32/netlink_crypto.c | 8 +- tests-m32/netlink_kobject_uevent.c | 93 + tests-m32/netlink_netfilter.c | 20 +- tests-m32/netlink_netlink_diag.c | 5 +- tests-m32/netlink_protocol.c | 12 +- tests-m32/netlink_route.c | 35 +- tests-m32/netlink_selinux.c | 11 +- tests-m32/netlink_sock_diag.c | 38 +- tests-m32/nlattr.c | 4 +- tests-m32/nlattr_br_port_msg.c | 4 +- tests-m32/nlattr_crypto_user_alg.c | 9 +- tests-m32/nlattr_dcbmsg.c | 4 +- tests-m32/nlattr_fib_rule_hdr.c | 72 +- tests-m32/nlattr_ifaddrlblmsg.c | 4 +- tests-m32/nlattr_ifaddrmsg.c | 29 +- tests-m32/nlattr_ifinfomsg.c | 64 +- tests-m32/nlattr_ifla.h | 78 + tests-m32/nlattr_ifla_af_spec.c | 322 ++ tests-m32/nlattr_ifla_af_spec.gen.test | 4 + tests-m32/nlattr_ifla_brport.c | 52 +- tests-m32/nlattr_ifla_linkinfo.c | 711 +++ tests-m32/nlattr_ifla_linkinfo.gen.test | 4 + tests-m32/nlattr_ifla_port.c | 47 +- tests-m32/nlattr_ifla_xdp.c | 50 +- tests-m32/nlattr_inet_diag_msg.c | 99 +- tests-m32/nlattr_inet_diag_req_compat.c | 4 +- tests-m32/nlattr_inet_diag_req_v2.c | 7 +- tests-m32/nlattr_mdba_mdb_entry.c | 9 +- tests-m32/nlattr_mdba_router_port.c | 20 +- tests-m32/nlattr_ndmsg.c | 5 +- tests-m32/nlattr_ndtmsg.c | 4 +- tests-m32/nlattr_netconfmsg.c | 4 +- tests-m32/nlattr_netlink_diag_msg.c | 33 +- tests-m32/nlattr_nlmsgerr.c | 8 +- tests-m32/nlattr_packet_diag_msg.c | 52 +- tests-m32/nlattr_rtgenmsg.c | 9 +- tests-m32/nlattr_rtmsg.c | 9 +- tests-m32/nlattr_smc_diag_msg.c | 38 +- tests-m32/nlattr_tc_stats.c | 4 +- tests-m32/nlattr_tca_stab.c | 14 +- tests-m32/nlattr_tcamsg.c | 4 +- tests-m32/nlattr_tcmsg.c | 5 +- tests-m32/nlattr_unix_diag_msg.c | 26 +- tests-m32/nsyscalls.c | 4 +- tests-m32/old_mmap-Xabbrev.c | 1 + tests-m32/old_mmap-Xabbrev.gen.test | 4 + tests-m32/old_mmap-Xraw.c | 2 + tests-m32/old_mmap-Xraw.gen.test | 4 + tests-m32/old_mmap-Xverbose.c | 2 + tests-m32/old_mmap-Xverbose.gen.test | 4 + tests-m32/old_mmap.c | 24 + tests-m32/opipe.test | 2 +- tests-m32/options-syntax.test | 34 + tests-m32/personality-Xabbrev.c | 1 + tests-m32/personality-Xabbrev.gen.test | 4 + tests-m32/personality-Xraw.c | 2 + tests-m32/personality-Xraw.gen.test | 4 + tests-m32/personality-Xverbose.c | 2 + tests-m32/personality-Xverbose.gen.test | 4 + tests-m32/personality.c | 76 +- tests-m32/personality.test | 2 +- tests-m32/poll.c | 2 +- tests-m32/prctl-spec-inject.c | 153 + tests-m32/prctl-spec-inject.test | 55 + tests-m32/preadv-pwritev.c | 4 +- tests-m32/preadv2-pwritev2.c | 4 +- tests-m32/print_quoted_string.c | 12 + tests-m32/process_vm_readv_writev.c | 4 +- tests-m32/ptrace.c | 7 +- tests-m32/pure_executables.am | 49 + tests-m32/pure_executables.list | 49 + tests-m32/pwritev.c | 3 +- tests-m32/qual_fault-syntax.test | 6 + tests-m32/qual_fault-syscall.test | 3 + tests-m32/qual_fault.c | 5 +- tests-m32/qual_fault.test | 13 +- .../qual_inject-error-signal-syscall.test | 3 + tests-m32/qual_inject-error-signal.test | 6 +- tests-m32/qual_inject-retval-syscall.test | 3 + tests-m32/qual_inject-retval.test | 5 +- tests-m32/qual_inject-signal-syscall.test | 3 + tests-m32/qual_inject-signal.test | 5 +- tests-m32/qual_inject-syntax.test | 6 + tests-m32/qualify_personality.sh | 94 + tests-m32/qualify_personality_empty.in | 0 tests-m32/readv.c | 4 +- tests-m32/request_key.c | 6 +- tests-m32/s390_guarded_storage.c | 4 +- tests-m32/s390_runtime_instr.c | 17 +- tests-m32/s390_runtime_instr.gen.test | 4 +- tests-m32/s390_sthyi.c | 2 +- tests-m32/seccomp-filter-v.c | 7 +- tests-m32/seccomp-filter.c | 9 +- tests-m32/semop.c | 8 +- tests-m32/set_mempolicy.c | 3 +- tests-m32/setgroups.c | 6 +- tests-m32/signal_receive.c | 132 +- tests-m32/so_peercred-Xabbrev.c | 1 + tests-m32/so_peercred-Xabbrev.gen.test | 4 + tests-m32/so_peercred-Xraw.c | 2 + tests-m32/so_peercred-Xraw.gen.test | 4 + tests-m32/so_peercred-Xverbose.c | 2 + tests-m32/so_peercred-Xverbose.gen.test | 4 + tests-m32/so_peercred.c | 41 +- tests-m32/sock_filter-v-Xabbrev.c | 1 + tests-m32/sock_filter-v-Xabbrev.gen.test | 4 + tests-m32/sock_filter-v-Xraw.c | 2 + tests-m32/sock_filter-v-Xraw.gen.test | 4 + tests-m32/sock_filter-v-Xverbose.c | 2 + tests-m32/sock_filter-v-Xverbose.gen.test | 4 + tests-m32/sock_filter-v.c | 132 +- tests-m32/strace-V.test | 3 +- tests-m32/strace-k-demangle.expected | 1 + tests-m32/strace-k-demangle.test | 1 - tests-m32/strace-k.expected | 1 + tests-m32/strace-k.test | 41 +- tests-m32/struct_flock.c | 108 - tests-m32/test_nlattr.h | 131 +- tests-m32/tests.h | 18 +- tests-m32/trace_personality_32.gen.test | 4 + tests-m32/trace_personality_32.in | 1 + tests-m32/trace_personality_64.gen.test | 4 + tests-m32/trace_personality_64.in | 1 + tests-m32/trace_personality_regex_32.gen.test | 4 + tests-m32/trace_personality_regex_32.in | 3 + tests-m32/trace_personality_regex_64.gen.test | 4 + tests-m32/trace_personality_regex_64.in | 3 + .../trace_personality_regex_x32.gen.test | 4 + tests-m32/trace_personality_regex_x32.in | 3 + tests-m32/trace_personality_x32.gen.test | 4 + tests-m32/trace_personality_x32.in | 1 + tests-m32/xet_thread_area_x86.c | 6 +- tests-mx32/Makefile | 1518 ++++-- tests-mx32/Makefile.am | 51 +- tests-mx32/Makefile.in | 1490 ++++-- tests-mx32/add_key.c | 10 +- tests-mx32/aio.c | 4 +- tests-mx32/aio_pgetevents.c | 190 + tests-mx32/aio_pgetevents.gen.test | 4 + tests-mx32/bpf-obj_get_info_by_fd-prog-v.c | 3 + .../bpf-obj_get_info_by_fd-prog-v.gen.test | 4 + tests-mx32/bpf-obj_get_info_by_fd-prog.c | 2 + .../bpf-obj_get_info_by_fd-prog.gen.test | 4 + tests-mx32/bpf-obj_get_info_by_fd-v.c | 2 + tests-mx32/bpf-obj_get_info_by_fd-v.gen.test | 4 + tests-mx32/bpf-obj_get_info_by_fd.c | 499 ++ tests-mx32/bpf-obj_get_info_by_fd.gen.test | 4 + tests-mx32/bpf-success-v.c | 2 + tests-mx32/bpf-success-v.test | 6 + tests-mx32/bpf-success.c | 2 + tests-mx32/bpf-success.test | 6 + tests-mx32/bpf.c | 563 ++- tests-mx32/btrfs-X.test | 11 + tests-mx32/btrfs-vX.test | 11 + tests-mx32/btrfs-vwX.test | 25 + tests-mx32/btrfs-wX.test | 25 + tests-mx32/btrfs.c | 822 +-- tests-mx32/execve.c | 11 +- tests-mx32/execveat.c | 9 +- tests-mx32/fanotify_mark-Xabbrev.c | 1 + tests-mx32/fanotify_mark-Xabbrev.gen.test | 4 + tests-mx32/fanotify_mark-Xraw.c | 2 + tests-mx32/fanotify_mark-Xraw.gen.test | 4 + tests-mx32/fanotify_mark-Xverbose.c | 2 + tests-mx32/fanotify_mark-Xverbose.gen.test | 4 + tests-mx32/fanotify_mark.c | 82 +- tests-mx32/fcntl-common.c | 267 + tests-mx32/fcntl.c | 45 +- tests-mx32/fcntl64.c | 56 +- tests-mx32/gen_tests.am | 167 +- tests-mx32/gen_tests.in | 65 +- tests-mx32/init.sh | 13 +- tests-mx32/ioctl_evdev.c | 35 +- tests-mx32/ioctl_inotify.c | 81 + tests-mx32/ioctl_inotify.gen.test | 4 + tests-mx32/ioctl_kvm_run.c | 29 +- tests-mx32/ioctl_loop.c | 26 +- tests-mx32/ioctl_perf-success.c | 165 + tests-mx32/ioctl_perf-success.test | 15 + tests-mx32/ioctl_perf.c | 238 + tests-mx32/ioctl_perf.gen.test | 4 + tests-mx32/ioctl_ptp.c | 131 + tests-mx32/ioctl_ptp.gen.test | 4 + tests-mx32/ioctl_v4l2.c | 17 +- tests-mx32/ipc.sh | 2 +- tests-mx32/ipc_msg-Xabbrev.c | 1 + tests-mx32/ipc_msg-Xabbrev.gen.test | 4 + tests-mx32/ipc_msg-Xraw.c | 2 + tests-mx32/ipc_msg-Xraw.gen.test | 4 + tests-mx32/ipc_msg-Xverbose.c | 2 + tests-mx32/ipc_msg-Xverbose.gen.test | 4 + tests-mx32/ipc_msg.c | 91 +- tests-mx32/ipc_msg.gen.test | 4 +- tests-mx32/ipc_msgbuf-Xabbrev.c | 1 + tests-mx32/ipc_msgbuf-Xabbrev.gen.test | 4 + tests-mx32/ipc_msgbuf-Xraw.c | 2 + tests-mx32/ipc_msgbuf-Xraw.gen.test | 4 + tests-mx32/ipc_msgbuf-Xverbose.c | 2 + tests-mx32/ipc_msgbuf-Xverbose.gen.test | 4 + tests-mx32/ipc_msgbuf.c | 53 +- tests-mx32/ipc_msgbuf.test | 4 +- tests-mx32/ipc_sem-Xabbrev.c | 1 + tests-mx32/ipc_sem-Xabbrev.gen.test | 4 + tests-mx32/ipc_sem-Xraw.c | 2 + tests-mx32/ipc_sem-Xraw.gen.test | 4 + tests-mx32/ipc_sem-Xverbose.c | 2 + tests-mx32/ipc_sem-Xverbose.gen.test | 4 + tests-mx32/ipc_sem.c | 74 +- tests-mx32/ipc_sem.gen.test | 4 +- tests-mx32/ipc_shm-Xabbrev.c | 1 + tests-mx32/ipc_shm-Xabbrev.gen.test | 4 + tests-mx32/ipc_shm-Xraw.c | 2 + tests-mx32/ipc_shm-Xraw.gen.test | 4 + tests-mx32/ipc_shm-Xverbose.c | 2 + tests-mx32/ipc_shm-Xverbose.gen.test | 4 + tests-mx32/ipc_shm.c | 108 +- tests-mx32/ipc_shm.gen.test | 4 +- tests-mx32/kcmp.c | 3 +- tests-mx32/kexec_load.c | 4 +- tests-mx32/keyctl-Xabbrev.c | 1 + tests-mx32/keyctl-Xabbrev.gen.test | 4 + tests-mx32/keyctl-Xraw.c | 2 + tests-mx32/keyctl-Xraw.gen.test | 4 + tests-mx32/keyctl-Xverbose.c | 2 + tests-mx32/keyctl-Xverbose.gen.test | 4 + tests-mx32/keyctl.c | 135 +- tests-mx32/mknod.c | 2 +- tests-mx32/mknodat.c | 2 +- tests-mx32/mmap-Xabbrev.c | 1 + tests-mx32/mmap-Xabbrev.gen.test | 4 + tests-mx32/mmap-Xraw.c | 2 + tests-mx32/mmap-Xraw.gen.test | 4 + tests-mx32/mmap-Xverbose.c | 2 + tests-mx32/mmap-Xverbose.gen.test | 4 + tests-mx32/mmap.c | 54 +- tests-mx32/mmap.test | 15 +- tests-mx32/mmap64-Xabbrev.c | 1 + tests-mx32/mmap64-Xabbrev.gen.test | 4 + tests-mx32/mmap64-Xraw.c | 2 + tests-mx32/mmap64-Xraw.gen.test | 4 + tests-mx32/mmap64-Xverbose.c | 2 + tests-mx32/mmap64-Xverbose.gen.test | 4 + tests-mx32/mmsg_name.c | 4 +- tests-mx32/modify_ldt.c | 4 +- tests-mx32/mount-Xabbrev.c | 1 + tests-mx32/mount-Xabbrev.gen.test | 4 + tests-mx32/mount-Xraw.c | 2 + tests-mx32/mount-Xraw.gen.test | 4 + tests-mx32/mount-Xverbose.c | 2 + tests-mx32/mount-Xverbose.gen.test | 4 + tests-mx32/mount.c | 86 +- tests-mx32/mount.gen.test | 4 +- tests-mx32/move_pages.c | 6 +- tests-mx32/msg_control.c | 8 +- tests-mx32/net-sockaddr.c | 75 +- tests-mx32/netlink_crypto.c | 8 +- tests-mx32/netlink_kobject_uevent.c | 93 + tests-mx32/netlink_netfilter.c | 20 +- tests-mx32/netlink_netlink_diag.c | 5 +- tests-mx32/netlink_protocol.c | 12 +- tests-mx32/netlink_route.c | 35 +- tests-mx32/netlink_selinux.c | 11 +- tests-mx32/netlink_sock_diag.c | 38 +- tests-mx32/nlattr.c | 4 +- tests-mx32/nlattr_br_port_msg.c | 4 +- tests-mx32/nlattr_crypto_user_alg.c | 9 +- tests-mx32/nlattr_dcbmsg.c | 4 +- tests-mx32/nlattr_fib_rule_hdr.c | 72 +- tests-mx32/nlattr_ifaddrlblmsg.c | 4 +- tests-mx32/nlattr_ifaddrmsg.c | 29 +- tests-mx32/nlattr_ifinfomsg.c | 64 +- tests-mx32/nlattr_ifla.h | 78 + tests-mx32/nlattr_ifla_af_spec.c | 322 ++ tests-mx32/nlattr_ifla_af_spec.gen.test | 4 + tests-mx32/nlattr_ifla_brport.c | 52 +- tests-mx32/nlattr_ifla_linkinfo.c | 711 +++ tests-mx32/nlattr_ifla_linkinfo.gen.test | 4 + tests-mx32/nlattr_ifla_port.c | 47 +- tests-mx32/nlattr_ifla_xdp.c | 50 +- tests-mx32/nlattr_inet_diag_msg.c | 99 +- tests-mx32/nlattr_inet_diag_req_compat.c | 4 +- tests-mx32/nlattr_inet_diag_req_v2.c | 7 +- tests-mx32/nlattr_mdba_mdb_entry.c | 9 +- tests-mx32/nlattr_mdba_router_port.c | 20 +- tests-mx32/nlattr_ndmsg.c | 5 +- tests-mx32/nlattr_ndtmsg.c | 4 +- tests-mx32/nlattr_netconfmsg.c | 4 +- tests-mx32/nlattr_netlink_diag_msg.c | 33 +- tests-mx32/nlattr_nlmsgerr.c | 8 +- tests-mx32/nlattr_packet_diag_msg.c | 52 +- tests-mx32/nlattr_rtgenmsg.c | 9 +- tests-mx32/nlattr_rtmsg.c | 9 +- tests-mx32/nlattr_smc_diag_msg.c | 38 +- tests-mx32/nlattr_tc_stats.c | 4 +- tests-mx32/nlattr_tca_stab.c | 14 +- tests-mx32/nlattr_tcamsg.c | 4 +- tests-mx32/nlattr_tcmsg.c | 5 +- tests-mx32/nlattr_unix_diag_msg.c | 26 +- tests-mx32/nsyscalls.c | 4 +- tests-mx32/old_mmap-Xabbrev.c | 1 + tests-mx32/old_mmap-Xabbrev.gen.test | 4 + tests-mx32/old_mmap-Xraw.c | 2 + tests-mx32/old_mmap-Xraw.gen.test | 4 + tests-mx32/old_mmap-Xverbose.c | 2 + tests-mx32/old_mmap-Xverbose.gen.test | 4 + tests-mx32/old_mmap.c | 24 + tests-mx32/opipe.test | 2 +- tests-mx32/options-syntax.test | 34 + tests-mx32/personality-Xabbrev.c | 1 + tests-mx32/personality-Xabbrev.gen.test | 4 + tests-mx32/personality-Xraw.c | 2 + tests-mx32/personality-Xraw.gen.test | 4 + tests-mx32/personality-Xverbose.c | 2 + tests-mx32/personality-Xverbose.gen.test | 4 + tests-mx32/personality.c | 76 +- tests-mx32/personality.test | 2 +- tests-mx32/poll.c | 2 +- tests-mx32/prctl-spec-inject.c | 153 + tests-mx32/prctl-spec-inject.test | 55 + tests-mx32/preadv-pwritev.c | 4 +- tests-mx32/preadv2-pwritev2.c | 4 +- tests-mx32/print_quoted_string.c | 12 + tests-mx32/process_vm_readv_writev.c | 4 +- tests-mx32/ptrace.c | 7 +- tests-mx32/pure_executables.am | 49 + tests-mx32/pure_executables.list | 49 + tests-mx32/pwritev.c | 3 +- tests-mx32/qual_fault-syntax.test | 6 + tests-mx32/qual_fault-syscall.test | 3 + tests-mx32/qual_fault.c | 5 +- tests-mx32/qual_fault.test | 13 +- .../qual_inject-error-signal-syscall.test | 3 + tests-mx32/qual_inject-error-signal.test | 6 +- tests-mx32/qual_inject-retval-syscall.test | 3 + tests-mx32/qual_inject-retval.test | 5 +- tests-mx32/qual_inject-signal-syscall.test | 3 + tests-mx32/qual_inject-signal.test | 5 +- tests-mx32/qual_inject-syntax.test | 6 + tests-mx32/qualify_personality.sh | 94 + tests-mx32/qualify_personality_empty.in | 0 tests-mx32/readv.c | 4 +- tests-mx32/request_key.c | 6 +- tests-mx32/s390_guarded_storage.c | 4 +- tests-mx32/s390_runtime_instr.c | 17 +- tests-mx32/s390_runtime_instr.gen.test | 4 +- tests-mx32/s390_sthyi.c | 2 +- tests-mx32/seccomp-filter-v.c | 7 +- tests-mx32/seccomp-filter.c | 9 +- tests-mx32/semop.c | 8 +- tests-mx32/set_mempolicy.c | 3 +- tests-mx32/setgroups.c | 6 +- tests-mx32/signal_receive.c | 132 +- tests-mx32/so_peercred-Xabbrev.c | 1 + tests-mx32/so_peercred-Xabbrev.gen.test | 4 + tests-mx32/so_peercred-Xraw.c | 2 + tests-mx32/so_peercred-Xraw.gen.test | 4 + tests-mx32/so_peercred-Xverbose.c | 2 + tests-mx32/so_peercred-Xverbose.gen.test | 4 + tests-mx32/so_peercred.c | 41 +- tests-mx32/sock_filter-v-Xabbrev.c | 1 + tests-mx32/sock_filter-v-Xabbrev.gen.test | 4 + tests-mx32/sock_filter-v-Xraw.c | 2 + tests-mx32/sock_filter-v-Xraw.gen.test | 4 + tests-mx32/sock_filter-v-Xverbose.c | 2 + tests-mx32/sock_filter-v-Xverbose.gen.test | 4 + tests-mx32/sock_filter-v.c | 132 +- tests-mx32/strace-V.test | 3 +- tests-mx32/strace-k-demangle.expected | 1 + tests-mx32/strace-k-demangle.test | 1 - tests-mx32/strace-k.expected | 1 + tests-mx32/strace-k.test | 41 +- tests-mx32/struct_flock.c | 108 - tests-mx32/test_nlattr.h | 131 +- tests-mx32/tests.h | 18 +- tests-mx32/trace_personality_32.gen.test | 4 + tests-mx32/trace_personality_32.in | 1 + tests-mx32/trace_personality_64.gen.test | 4 + tests-mx32/trace_personality_64.in | 1 + .../trace_personality_regex_32.gen.test | 4 + tests-mx32/trace_personality_regex_32.in | 3 + .../trace_personality_regex_64.gen.test | 4 + tests-mx32/trace_personality_regex_64.in | 3 + .../trace_personality_regex_x32.gen.test | 4 + tests-mx32/trace_personality_regex_x32.in | 3 + tests-mx32/trace_personality_x32.gen.test | 4 + tests-mx32/trace_personality_x32.in | 1 + tests-mx32/xet_thread_area_x86.c | 6 +- tests/Makefile | 1518 ++++-- tests/Makefile.am | 51 +- tests/Makefile.in | 1490 ++++-- tests/add_key.c | 10 +- tests/aio.c | 4 +- tests/aio_pgetevents.c | 190 + tests/aio_pgetevents.gen.test | 4 + tests/bpf-obj_get_info_by_fd-prog-v.c | 3 + tests/bpf-obj_get_info_by_fd-prog-v.gen.test | 4 + tests/bpf-obj_get_info_by_fd-prog.c | 2 + tests/bpf-obj_get_info_by_fd-prog.gen.test | 4 + tests/bpf-obj_get_info_by_fd-v.c | 2 + tests/bpf-obj_get_info_by_fd-v.gen.test | 4 + tests/bpf-obj_get_info_by_fd.c | 499 ++ tests/bpf-obj_get_info_by_fd.gen.test | 4 + tests/bpf-success-v.c | 2 + tests/bpf-success-v.test | 6 + tests/bpf-success.c | 2 + tests/bpf-success.test | 6 + tests/bpf.c | 563 ++- tests/btrfs-X.test | 11 + tests/btrfs-vX.test | 11 + tests/btrfs-vwX.test | 25 + tests/btrfs-wX.test | 25 + tests/btrfs.c | 822 +-- tests/execve.c | 11 +- tests/execveat.c | 9 +- tests/fanotify_mark-Xabbrev.c | 1 + tests/fanotify_mark-Xabbrev.gen.test | 4 + tests/fanotify_mark-Xraw.c | 2 + tests/fanotify_mark-Xraw.gen.test | 4 + tests/fanotify_mark-Xverbose.c | 2 + tests/fanotify_mark-Xverbose.gen.test | 4 + tests/fanotify_mark.c | 82 +- tests/fcntl-common.c | 267 + tests/fcntl.c | 45 +- tests/fcntl64.c | 56 +- tests/gen_tests.am | 167 +- tests/gen_tests.in | 65 +- tests/init.sh | 13 +- tests/ioctl_evdev.c | 35 +- tests/ioctl_inotify.c | 81 + tests/ioctl_inotify.gen.test | 4 + tests/ioctl_kvm_run.c | 29 +- tests/ioctl_loop.c | 26 +- tests/ioctl_perf-success.c | 165 + tests/ioctl_perf-success.test | 15 + tests/ioctl_perf.c | 238 + tests/ioctl_perf.gen.test | 4 + tests/ioctl_ptp.c | 131 + tests/ioctl_ptp.gen.test | 4 + tests/ioctl_v4l2.c | 17 +- tests/ipc.sh | 2 +- tests/ipc_msg-Xabbrev.c | 1 + tests/ipc_msg-Xabbrev.gen.test | 4 + tests/ipc_msg-Xraw.c | 2 + tests/ipc_msg-Xraw.gen.test | 4 + tests/ipc_msg-Xverbose.c | 2 + tests/ipc_msg-Xverbose.gen.test | 4 + tests/ipc_msg.c | 91 +- tests/ipc_msg.gen.test | 4 +- tests/ipc_msgbuf-Xabbrev.c | 1 + tests/ipc_msgbuf-Xabbrev.gen.test | 4 + tests/ipc_msgbuf-Xraw.c | 2 + tests/ipc_msgbuf-Xraw.gen.test | 4 + tests/ipc_msgbuf-Xverbose.c | 2 + tests/ipc_msgbuf-Xverbose.gen.test | 4 + tests/ipc_msgbuf.c | 53 +- tests/ipc_msgbuf.test | 4 +- tests/ipc_sem-Xabbrev.c | 1 + tests/ipc_sem-Xabbrev.gen.test | 4 + tests/ipc_sem-Xraw.c | 2 + tests/ipc_sem-Xraw.gen.test | 4 + tests/ipc_sem-Xverbose.c | 2 + tests/ipc_sem-Xverbose.gen.test | 4 + tests/ipc_sem.c | 74 +- tests/ipc_sem.gen.test | 4 +- tests/ipc_shm-Xabbrev.c | 1 + tests/ipc_shm-Xabbrev.gen.test | 4 + tests/ipc_shm-Xraw.c | 2 + tests/ipc_shm-Xraw.gen.test | 4 + tests/ipc_shm-Xverbose.c | 2 + tests/ipc_shm-Xverbose.gen.test | 4 + tests/ipc_shm.c | 108 +- tests/ipc_shm.gen.test | 4 +- tests/kcmp.c | 3 +- tests/kexec_load.c | 4 +- tests/keyctl-Xabbrev.c | 1 + tests/keyctl-Xabbrev.gen.test | 4 + tests/keyctl-Xraw.c | 2 + tests/keyctl-Xraw.gen.test | 4 + tests/keyctl-Xverbose.c | 2 + tests/keyctl-Xverbose.gen.test | 4 + tests/keyctl.c | 135 +- tests/mknod.c | 2 +- tests/mknodat.c | 2 +- tests/mmap-Xabbrev.c | 1 + tests/mmap-Xabbrev.gen.test | 4 + tests/mmap-Xraw.c | 2 + tests/mmap-Xraw.gen.test | 4 + tests/mmap-Xverbose.c | 2 + tests/mmap-Xverbose.gen.test | 4 + tests/mmap.c | 54 +- tests/mmap.test | 15 +- tests/mmap64-Xabbrev.c | 1 + tests/mmap64-Xabbrev.gen.test | 4 + tests/mmap64-Xraw.c | 2 + tests/mmap64-Xraw.gen.test | 4 + tests/mmap64-Xverbose.c | 2 + tests/mmap64-Xverbose.gen.test | 4 + tests/mmsg_name.c | 4 +- tests/modify_ldt.c | 4 +- tests/mount-Xabbrev.c | 1 + tests/mount-Xabbrev.gen.test | 4 + tests/mount-Xraw.c | 2 + tests/mount-Xraw.gen.test | 4 + tests/mount-Xverbose.c | 2 + tests/mount-Xverbose.gen.test | 4 + tests/mount.c | 86 +- tests/mount.gen.test | 4 +- tests/move_pages.c | 6 +- tests/msg_control.c | 8 +- tests/net-sockaddr.c | 75 +- tests/netlink_crypto.c | 8 +- tests/netlink_kobject_uevent.c | 93 + tests/netlink_netfilter.c | 20 +- tests/netlink_netlink_diag.c | 5 +- tests/netlink_protocol.c | 12 +- tests/netlink_route.c | 35 +- tests/netlink_selinux.c | 11 +- tests/netlink_sock_diag.c | 38 +- tests/nlattr.c | 4 +- tests/nlattr_br_port_msg.c | 4 +- tests/nlattr_crypto_user_alg.c | 9 +- tests/nlattr_dcbmsg.c | 4 +- tests/nlattr_fib_rule_hdr.c | 72 +- tests/nlattr_ifaddrlblmsg.c | 4 +- tests/nlattr_ifaddrmsg.c | 29 +- tests/nlattr_ifinfomsg.c | 64 +- tests/nlattr_ifla.h | 78 + tests/nlattr_ifla_af_spec.c | 322 ++ tests/nlattr_ifla_af_spec.gen.test | 4 + tests/nlattr_ifla_brport.c | 52 +- tests/nlattr_ifla_linkinfo.c | 711 +++ tests/nlattr_ifla_linkinfo.gen.test | 4 + tests/nlattr_ifla_port.c | 47 +- tests/nlattr_ifla_xdp.c | 50 +- tests/nlattr_inet_diag_msg.c | 99 +- tests/nlattr_inet_diag_req_compat.c | 4 +- tests/nlattr_inet_diag_req_v2.c | 7 +- tests/nlattr_mdba_mdb_entry.c | 9 +- tests/nlattr_mdba_router_port.c | 20 +- tests/nlattr_ndmsg.c | 5 +- tests/nlattr_ndtmsg.c | 4 +- tests/nlattr_netconfmsg.c | 4 +- tests/nlattr_netlink_diag_msg.c | 33 +- tests/nlattr_nlmsgerr.c | 8 +- tests/nlattr_packet_diag_msg.c | 52 +- tests/nlattr_rtgenmsg.c | 9 +- tests/nlattr_rtmsg.c | 9 +- tests/nlattr_smc_diag_msg.c | 38 +- tests/nlattr_tc_stats.c | 4 +- tests/nlattr_tca_stab.c | 14 +- tests/nlattr_tcamsg.c | 4 +- tests/nlattr_tcmsg.c | 5 +- tests/nlattr_unix_diag_msg.c | 26 +- tests/nsyscalls.c | 4 +- tests/old_mmap-Xabbrev.c | 1 + tests/old_mmap-Xabbrev.gen.test | 4 + tests/old_mmap-Xraw.c | 2 + tests/old_mmap-Xraw.gen.test | 4 + tests/old_mmap-Xverbose.c | 2 + tests/old_mmap-Xverbose.gen.test | 4 + tests/old_mmap.c | 24 + tests/opipe.test | 2 +- tests/options-syntax.test | 34 + tests/personality-Xabbrev.c | 1 + tests/personality-Xabbrev.gen.test | 4 + tests/personality-Xraw.c | 2 + tests/personality-Xraw.gen.test | 4 + tests/personality-Xverbose.c | 2 + tests/personality-Xverbose.gen.test | 4 + tests/personality.c | 76 +- tests/personality.test | 2 +- tests/poll.c | 2 +- tests/prctl-spec-inject.c | 153 + tests/prctl-spec-inject.test | 55 + tests/preadv-pwritev.c | 4 +- tests/preadv2-pwritev2.c | 4 +- tests/print_quoted_string.c | 12 + tests/process_vm_readv_writev.c | 4 +- tests/ptrace.c | 7 +- tests/pure_executables.am | 49 + tests/pure_executables.list | 49 + tests/pwritev.c | 3 +- tests/qual_fault-syntax.test | 6 + tests/qual_fault-syscall.test | 3 + tests/qual_fault.c | 5 +- tests/qual_fault.test | 13 +- tests/qual_inject-error-signal-syscall.test | 3 + tests/qual_inject-error-signal.test | 6 +- tests/qual_inject-retval-syscall.test | 3 + tests/qual_inject-retval.test | 5 +- tests/qual_inject-signal-syscall.test | 3 + tests/qual_inject-signal.test | 5 +- tests/qual_inject-syntax.test | 6 + tests/qualify_personality.sh | 94 + tests/qualify_personality_empty.in | 0 tests/readv.c | 4 +- tests/request_key.c | 6 +- tests/s390_guarded_storage.c | 4 +- tests/s390_runtime_instr.c | 17 +- tests/s390_runtime_instr.gen.test | 4 +- tests/s390_sthyi.c | 2 +- tests/scno.h | 3 + tests/seccomp-filter-v.c | 7 +- tests/seccomp-filter.c | 9 +- tests/semop.c | 8 +- tests/set_mempolicy.c | 3 +- tests/setgroups.c | 6 +- tests/signal_receive.c | 132 +- tests/so_peercred-Xabbrev.c | 1 + tests/so_peercred-Xabbrev.gen.test | 4 + tests/so_peercred-Xraw.c | 2 + tests/so_peercred-Xraw.gen.test | 4 + tests/so_peercred-Xverbose.c | 2 + tests/so_peercred-Xverbose.gen.test | 4 + tests/so_peercred.c | 41 +- tests/sock_filter-v-Xabbrev.c | 1 + tests/sock_filter-v-Xabbrev.gen.test | 4 + tests/sock_filter-v-Xraw.c | 2 + tests/sock_filter-v-Xraw.gen.test | 4 + tests/sock_filter-v-Xverbose.c | 2 + tests/sock_filter-v-Xverbose.gen.test | 4 + tests/sock_filter-v.c | 132 +- tests/strace-V.test | 3 +- tests/strace-k-demangle.expected | 1 + tests/strace-k-demangle.test | 1 - tests/strace-k.expected | 1 + tests/strace-k.test | 41 +- tests/struct_flock.c | 108 - tests/test_nlattr.h | 131 +- tests/tests.h | 18 +- tests/trace_personality_32.gen.test | 4 + tests/trace_personality_32.in | 1 + tests/trace_personality_64.gen.test | 4 + tests/trace_personality_64.in | 1 + tests/trace_personality_regex_32.gen.test | 4 + tests/trace_personality_regex_32.in | 3 + tests/trace_personality_regex_64.gen.test | 4 + tests/trace_personality_regex_64.in | 3 + tests/trace_personality_regex_x32.gen.test | 4 + tests/trace_personality_regex_x32.in | 3 + tests/trace_personality_x32.gen.test | 4 + tests/trace_personality_x32.in | 1 + tests/xet_thread_area_x86.c | 6 +- time.c | 30 +- uid.c | 2 +- unwind-libdw.c | 211 + unwind-libunwind.c | 50 +- unwind.c | 37 +- unwind.h | 6 - util.c | 186 +- v4l2.c | 26 +- xlat.c | 369 +- xlat.h | 38 + xlat/Makemodule.am | 154 +- xlat/access_flags.h | 16 +- xlat/addrfams.h | 364 +- xlat/addrfams.in | 1 + xlat/adjtimex_modes.h | 126 +- xlat/adjtimex_modes.in | 27 +- xlat/adjtimex_state.h | 66 +- xlat/adjtimex_state.in | 13 +- xlat/adjtimex_status.h | 140 +- xlat/adjtimex_status.in | 32 +- xlat/advise.h | 88 +- xlat/advise.in | 17 +- xlat/af_packet_types.h | 83 +- xlat/af_packet_types.in | 16 +- xlat/archvals.h | 70 +- xlat/arp_hardware_types.h | 481 +- xlat/arp_hardware_types.in | 133 +- xlat/at_flags.h | 42 +- xlat/at_statx_sync_types.h | 40 +- xlat/atomic_ops.h | 16 +- xlat/audit_arch.h | 18 +- xlat/baud_options.h | 16 +- xlat/bdaddr_types.h | 46 + xlat/bdaddr_types.in | 4 + xlat/blkpg_ops.h | 36 +- xlat/bluetooth_l2_cid.h | 103 + xlat/bluetooth_l2_cid.in | 11 + xlat/bluetooth_l2_psm.h | 95 + xlat/bluetooth_l2_psm.in | 10 + xlat/bootflags1.h | 22 +- xlat/bootflags2.h | 40 +- xlat/bootflags3.h | 64 +- xlat/bpf_attach_flags.h | 28 +- xlat/bpf_attach_type.h | 128 +- xlat/bpf_attach_type.in | 8 + xlat/bpf_class.h | 80 +- xlat/bpf_class.in | 17 +- xlat/bpf_commands.h | 160 +- xlat/bpf_commands.in | 3 + xlat/bpf_file_mode_flags.h | 28 +- xlat/bpf_map_flags.h | 58 +- xlat/bpf_map_flags.in | 3 + xlat/bpf_map_types.h | 152 +- xlat/bpf_map_types.in | 1 + xlat/bpf_map_update_elem_flags.h | 40 +- xlat/bpf_map_update_elem_flags.in | 1 + xlat/bpf_miscop.h | 38 +- xlat/bpf_miscop.in | 4 +- xlat/bpf_mode.h | 73 +- xlat/bpf_mode.in | 14 +- xlat/bpf_op_alu.h | 122 +- xlat/bpf_op_alu.in | 28 +- xlat/bpf_op_jmp.h | 138 +- xlat/bpf_op_jmp.in | 28 +- xlat/bpf_prog_flags.h | 22 +- xlat/bpf_prog_types.h | 160 +- xlat/bpf_prog_types.in | 3 + xlat/bpf_query_flags.h | 30 + xlat/bpf_query_flags.in | 1 + xlat/bpf_rval.h | 45 +- xlat/bpf_rval.in | 6 +- xlat/bpf_size.h | 52 +- xlat/bpf_size.in | 8 +- xlat/bpf_src.h | 38 +- xlat/bpf_src.in | 4 +- xlat/bsg_flags.h | 28 +- xlat/bsg_protocol.h | 16 +- xlat/bsg_subprotocol.h | 16 +- xlat/bt_protocols.h | 80 +- xlat/bt_protocols.in | 17 +- xlat/btrfs_balance_args.h | 84 +- xlat/btrfs_balance_ctl_cmds.h | 30 +- xlat/btrfs_balance_flags.h | 48 +- xlat/btrfs_balance_state.h | 36 +- xlat/btrfs_compress_types.h | 36 +- xlat/btrfs_cont_reading_from_srcdev_mode.h | 40 + xlat/btrfs_cont_reading_from_srcdev_mode.in | 2 + xlat/btrfs_defrag_flags.h | 18 +- xlat/btrfs_dev_replace_cmds.h | 18 +- xlat/btrfs_dev_replace_results.h | 18 +- xlat/btrfs_dev_replace_state.h | 18 +- xlat/btrfs_dev_stats_flags.h | 18 +- xlat/btrfs_dev_stats_values.h | 18 +- xlat/btrfs_features_compat.h | 18 +- xlat/btrfs_features_compat_ro.h | 30 +- xlat/btrfs_features_incompat.h | 78 +- xlat/btrfs_key_types.h | 264 +- xlat/btrfs_logical_ino_args_flags.h | 24 +- xlat/btrfs_qgroup_ctl_cmds.h | 18 +- xlat/btrfs_qgroup_inherit_flags.h | 18 +- xlat/btrfs_qgroup_limit_flags.h | 54 +- xlat/btrfs_qgroup_status_flags.h | 30 +- xlat/btrfs_scrub_flags.h | 24 +- xlat/btrfs_send_flags.h | 36 +- xlat/btrfs_snap_flags_v2.h | 18 +- xlat/btrfs_space_info_flags.h | 84 +- xlat/btrfs_tree_objectids.h | 96 +- xlat/cacheflush_scope.h | 16 +- xlat/caif_protocols.h | 70 + xlat/caif_protocols.in | 7 + xlat/can_protocols.h | 70 + xlat/can_protocols.in | 7 + xlat/cap.h | 16 +- xlat/cap_mask0.h | 16 +- xlat/cap_mask1.h | 16 +- xlat/cap_version.h | 16 +- xlat/clockflags.h | 16 +- xlat/clocknames.h | 108 +- xlat/clocknames.in | 1 + xlat/clone_flags.h | 154 +- xlat/cpuclocknames.h | 45 +- xlat/cpuclocknames.in | 7 +- xlat/crypto_nl_attrs.h | 88 +- xlat/dcb_commands.h | 184 +- xlat/delete_module_flags.h | 16 +- xlat/dirent_types.h | 12 +- xlat/dm_flags.h | 124 +- xlat/ebpf_class.h | 78 + xlat/ebpf_class.in | 8 + xlat/ebpf_mode.h | 62 + xlat/ebpf_mode.in | 5 + xlat/ebpf_op_alu.h | 46 + xlat/ebpf_op_alu.in | 3 + xlat/ebpf_op_jmp.h | 94 + xlat/ebpf_op_jmp.in | 9 + xlat/ebpf_regs.h | 110 + xlat/ebpf_regs.in | 12 + xlat/ebpf_size.h | 30 + xlat/ebpf_size.in | 1 + xlat/efd_flags.h | 34 +- xlat/epollctls.h | 34 +- xlat/epollevents.h | 16 +- xlat/epollflags.h | 22 +- xlat/ethernet_protocols.h | 560 ++- xlat/ethernet_protocols.in | 1 + xlat/evdev_abs.h | 301 +- xlat/evdev_abs.in | 83 +- xlat/evdev_autorepeat.h | 38 +- xlat/evdev_autorepeat.in | 5 +- xlat/evdev_ev.h | 108 +- xlat/evdev_ev.in | 24 +- xlat/evdev_ff_status.h | 38 +- xlat/evdev_ff_status.in | 5 +- xlat/evdev_ff_types.h | 137 +- xlat/evdev_ff_types.in | 33 +- xlat/evdev_keycode.h | 4451 ++++++++++++----- xlat/evdev_keycode.in | 46 +- xlat/evdev_leds.h | 101 +- xlat/evdev_leds.in | 23 +- xlat/evdev_misc.h | 66 +- xlat/evdev_misc.in | 13 +- xlat/evdev_mtslots.h | 16 +- xlat/evdev_prop.h | 73 +- xlat/evdev_prop.in | 15 +- xlat/evdev_relative_axes.h | 94 +- xlat/evdev_relative_axes.in | 21 +- xlat/evdev_snd.h | 45 +- xlat/evdev_snd.in | 7 +- xlat/evdev_switch.h | 140 +- xlat/evdev_switch.in | 33 +- xlat/evdev_sync.h | 52 +- xlat/evdev_sync.in | 9 +- xlat/f_owner_types.h | 34 +- xlat/f_seals.h | 40 +- xlat/falloc_flags.h | 58 +- xlat/fan_classes.h | 34 +- xlat/fan_event_flags.h | 76 +- xlat/fan_init_flags.h | 40 +- xlat/fan_mark_flags.h | 64 +- xlat/fcntl64cmds.h | 27 - xlat/fcntlcmds.h | 438 +- xlat/fcntlcmds.in | 68 + xlat/fdflags.h | 16 +- xlat/fib_rule_actions.h | 70 +- xlat/fib_rule_flags.h | 16 +- xlat/fiemap_extent_flags.h | 82 +- xlat/fiemap_flags.h | 34 +- xlat/flockcmds.h | 64 +- xlat/fsmagic.h | 16 +- xlat/futexops.h | 166 +- xlat/futexwakecmps.h | 52 +- xlat/futexwakeops.h | 46 +- xlat/gen.sh | 55 +- xlat/getrandom_flags.h | 28 +- ...etsockipoptions.h => getsock_ip_options.h} | 22 +- xlat/getsock_ip_options.in | 29 + ...ckipv6options.h => getsock_ipv6_options.h} | 22 +- xlat/getsock_ipv6_options.in | 10 + xlat/getsock_options.h | 44 + xlat/getsock_options.in | 5 + xlat/hci_channels.h | 59 +- xlat/hci_channels.in | 11 +- xlat/hw_breakpoint_len.h | 40 +- xlat/hw_breakpoint_type.h | 46 +- xlat/icmpfilterflags.h | 16 +- xlat/if_dqblk_valid.h | 52 +- xlat/if_dqinfo_flags.h | 28 +- xlat/if_dqinfo_valid.h | 34 +- xlat/ifaddrflags.h | 16 +- xlat/iffflags.h | 152 +- xlat/iffflags.in | 35 +- xlat/in6_addr_gen_mode.h | 54 + xlat/in6_addr_gen_mode.in | 5 + xlat/inet6_devconf_indices.h | 430 ++ xlat/inet6_devconf_indices.in | 52 + xlat/inet6_if_flags.h | 63 + xlat/inet6_if_flags.in | 6 + xlat/inet_devconf_indices.h | 271 + xlat/inet_devconf_indices.in | 33 + xlat/inet_diag_attrs.h | 16 +- xlat/inet_diag_bytecodes.h | 16 +- xlat/inet_diag_extended_flags.h | 16 +- xlat/inet_diag_req_attrs.h | 16 +- xlat/inet_protocols.h | 266 +- xlat/inet_protocols.in | 67 +- xlat/inotify_flags.h | 142 +- xlat/inotify_init_flags.h | 28 +- xlat/ioctl_dirs.h | 16 +- xlat/ioprio_class.h | 16 +- xlat/ioprio_who.h | 16 +- xlat/ip_cmsg_types.h | 64 +- xlat/ip_type_of_services.h | 12 +- xlat/ipc_msg_flags.h | 16 +- xlat/ipc_private.h | 25 + xlat/ipc_private.in | 1 + xlat/ipccalls.h | 88 +- xlat/irda_protocols.h | 38 + xlat/irda_protocols.in | 3 + xlat/isdn_protocols.h | 132 + xlat/isdn_protocols.in | 19 + xlat/itimer_which.h | 45 +- xlat/itimer_which.in | 7 +- xlat/kcm_protocols.h | 30 + xlat/kcm_protocols.in | 2 + xlat/kcmp_types.h | 64 +- xlat/kexec_arch_values.h | 94 +- xlat/kexec_file_load_flags.h | 34 +- xlat/kexec_load_flags.h | 28 +- xlat/key_perms.h | 184 +- xlat/key_reqkeys.h | 88 +- xlat/key_reqkeys.in | 1 + xlat/key_spec.h | 80 +- xlat/key_spec.in | 1 + xlat/keyctl_commands.h | 166 +- xlat/kvm_mem_flags.h | 28 +- xlat/lockfcmds.h | 16 +- xlat/loop_cmds.h | 82 +- xlat/loop_crypt_type_options.h | 18 +- xlat/loop_flags_options.h | 48 +- xlat/lwtunnel_encap_types.h | 58 +- xlat/madvise_cmds.h | 16 +- xlat/mbindflags.h | 34 +- xlat/mctl_sync.h | 16 +- xlat/mdb_flags.h | 16 +- xlat/mdb_states.h | 16 +- xlat/membarrier_cmds.h | 64 +- xlat/memfd_create_flags.h | 34 +- xlat/mempolicyflags.h | 28 +- xlat/mlock_flags.h | 22 +- xlat/mlockall_flags.h | 64 +- xlat/mlockall_flags.in | 6 + xlat/mmap_flags.h | 37 +- xlat/mmap_flags.in | 1 + xlat/mmap_prot.h | 19 +- xlat/mmap_prot.in | 1 + xlat/modem_flags.h | 16 +- xlat/modetypes.h | 16 +- xlat/module_init_flags.h | 28 +- xlat/mount_flags.h | 198 +- xlat/mount_flags.in | 1 + xlat/move_pages_flags.h | 16 +- xlat/mq_attr_flags.h | 18 +- xlat/mremap_flags.h | 16 +- xlat/msg_flags.h | 210 +- xlat/msg_flags.in | 56 +- xlat/msgctl_flags.h | 83 +- xlat/msgctl_flags.in | 10 +- xlat/mtd_file_mode_options.h | 18 +- xlat/mtd_flags_options.h | 18 +- xlat/mtd_mode_options.h | 18 +- xlat/mtd_nandecc_options.h | 18 +- xlat/mtd_otp_options.h | 18 +- xlat/mtd_type_options.h | 18 +- xlat/multicast_router_types.h | 40 +- xlat/name_to_handle_at_flags.h | 28 +- xlat/neighbor_cache_entry_flags.h | 16 +- xlat/neighbor_cache_entry_states.h | 16 +- xlat/netfilter_versions.h | 28 +- xlat/netlink_ack_flags.h | 16 +- xlat/netlink_delete_flags.h | 16 +- xlat/netlink_diag_attrs.h | 16 +- xlat/netlink_diag_show.h | 16 +- xlat/netlink_flags.h | 52 +- xlat/netlink_get_flags.h | 16 +- xlat/netlink_new_flags.h | 16 +- xlat/netlink_protocols.h | 146 +- xlat/netlink_protocols.in | 1 + xlat/netlink_sk_meminfo_indices.h | 94 + xlat/netlink_sk_meminfo_indices.in | 10 + xlat/netlink_socket_flags.h | 16 +- xlat/netlink_states.h | 28 +- xlat/netlink_types.h | 40 +- xlat/nf_acct_msg_types.h | 46 +- xlat/nf_cthelper_msg_types.h | 34 +- xlat/nf_ctnetlink_exp_msg_types.h | 40 +- xlat/nf_ctnetlink_msg_types.h | 64 +- xlat/nf_cttimeout_msg_types.h | 46 +- xlat/nf_ipset_msg_types.h | 130 +- xlat/nf_nft_compat_msg_types.h | 22 +- xlat/nf_nftables_msg_types.h | 148 +- xlat/nf_osf_msg_types.h | 28 +- xlat/nf_queue_msg_types.h | 40 +- xlat/nf_ulog_msg_types.h | 28 +- xlat/nfc_protocols.h | 38 + xlat/nfc_protocols.in | 3 + xlat/nl_audit_types.h | 577 ++- xlat/nl_audit_types.in | 17 + xlat/nl_crypto_types.h | 46 +- xlat/nl_netfilter_msg_types.h | 24 +- xlat/nl_netfilter_subsys_ids.h | 88 +- xlat/nl_route_types.h | 324 +- xlat/nl_selinux_types.h | 28 +- xlat/nl_sock_diag_types.h | 40 +- xlat/nl_xfrm_types.h | 154 +- xlat/nlmsgerr_attrs.h | 40 +- xlat/notifyflags.h | 16 +- xlat/nt_descriptor_types.h | 394 +- xlat/numa_node.h | 30 + xlat/numa_node.in | 1 + xlat/open_access_modes.h | 12 +- xlat/open_mode_flags.h | 12 +- xlat/packet_diag_attrs.h | 16 +- xlat/packet_diag_info_flags.h | 16 +- xlat/packet_diag_show.h | 16 +- xlat/packet_mreq_type.h | 16 +- xlat/perf_attr_size.h | 52 +- xlat/perf_branch_sample_type.h | 118 +- xlat/perf_event_open_flags.h | 40 +- xlat/perf_event_read_format.h | 40 +- xlat/perf_event_sample_format.h | 136 +- xlat/perf_hw_cache_id.h | 58 +- xlat/perf_hw_cache_op_id.h | 34 +- xlat/perf_hw_cache_op_result_id.h | 28 +- xlat/perf_hw_id.h | 76 +- xlat/perf_ioctl_cmds.h | 120 + xlat/perf_ioctl_cmds.in | 12 + xlat/perf_ioctl_flags.h | 32 + xlat/perf_ioctl_flags.in | 1 + xlat/perf_sw_ids.h | 82 +- xlat/perf_type_id.h | 52 +- xlat/personality_flags.h | 82 +- xlat/personality_types.h | 154 +- xlat/phonet_protocols.h | 46 + xlat/phonet_protocols.in | 4 + xlat/pkey_access.h | 34 +- xlat/policies.h | 40 +- xlat/pollflags.h | 70 +- xlat/pr_cap_ambient.h | 40 +- xlat/pr_dumpable.h | 34 +- xlat/pr_fp_mode.h | 28 +- xlat/pr_mce_kill.h | 28 +- xlat/pr_mce_kill_policy.h | 34 +- xlat/pr_set_mm.h | 106 +- xlat/pr_spec_cmds.h | 30 + xlat/pr_spec_cmds.in | 1 + xlat/pr_spec_get_store_bypass_flags.h | 62 + xlat/pr_spec_get_store_bypass_flags.in | 5 + xlat/pr_spec_set_store_bypass_flags.h | 46 + xlat/pr_spec_set_store_bypass_flags.in | 3 + xlat/pr_sve_vl_flags.h | 28 +- xlat/pr_tsc.h | 28 +- xlat/pr_unalign_flags.h | 28 +- xlat/prctl_options.h | 326 +- xlat/prctl_options.in | 2 + xlat/priorities.h | 16 +- xlat/ptp_flags_options.h | 16 +- xlat/ptrace_cmds.h | 16 +- xlat/ptrace_events.h | 16 +- xlat/ptrace_peeksiginfo_flags.h | 22 +- xlat/ptrace_setoptions_flags.h | 16 +- xlat/quota_formats.h | 40 +- xlat/quotacmds.h | 226 +- xlat/quotatypes.h | 34 +- xlat/rename_flags.h | 34 +- xlat/resource_flags.h | 12 +- xlat/resources.h | 16 +- xlat/riscv_flush_icache_flags.h | 22 +- xlat/route_nexthop_flags.h | 16 +- xlat/routing_flags.h | 16 +- xlat/routing_protocols.h | 137 +- xlat/routing_protocols.in | 33 +- xlat/routing_scopes.h | 42 +- xlat/routing_table_ids.h | 42 +- xlat/routing_types.h | 84 +- xlat/rtnl_addr_attrs.h | 70 +- xlat/rtnl_addrlabel_attrs.h | 28 +- xlat/rtnl_dcb_attrs.h | 118 +- xlat/rtnl_ifla_af_spec_inet6_attrs.h | 94 + xlat/rtnl_ifla_af_spec_inet6_attrs.in | 10 + xlat/rtnl_ifla_af_spec_inet_attrs.h | 38 + xlat/rtnl_ifla_af_spec_inet_attrs.in | 3 + xlat/rtnl_ifla_brport_attrs.h | 202 +- xlat/rtnl_ifla_events.h | 58 +- xlat/rtnl_ifla_info_attrs.h | 52 +- xlat/rtnl_ifla_info_data_bridge_attrs.h | 382 ++ xlat/rtnl_ifla_info_data_bridge_attrs.in | 46 + xlat/rtnl_ifla_info_data_tun_attrs.h | 102 + xlat/rtnl_ifla_info_data_tun_attrs.in | 11 + xlat/rtnl_ifla_port_attrs.h | 64 +- xlat/rtnl_ifla_vf_port_attrs.h | 28 +- xlat/rtnl_ifla_xdp_attrs.h | 46 +- xlat/rtnl_link_attrs.h | 316 +- xlat/rtnl_mdb_attrs.h | 34 +- xlat/rtnl_mdba_mdb_attrs.h | 28 +- xlat/rtnl_mdba_mdb_eattr_attrs.h | 28 +- xlat/rtnl_mdba_mdb_entry_attrs.h | 28 +- xlat/rtnl_mdba_router_attrs.h | 28 +- xlat/rtnl_mdba_router_pattr_attrs.h | 34 +- xlat/rtnl_neigh_attrs.h | 88 +- xlat/rtnl_neightbl_attrs.h | 76 +- xlat/rtnl_neightbl_parms_attrs.h | 130 +- xlat/rtnl_netconf_attrs.h | 64 +- xlat/rtnl_nsid_attrs.h | 46 +- xlat/rtnl_route_attrs.h | 178 +- xlat/rtnl_rta_metrics_attrs.h | 118 +- xlat/rtnl_rule_attrs.h | 174 +- xlat/rtnl_rule_attrs.in | 4 + xlat/rtnl_tc_action_attrs.h | 58 +- xlat/rtnl_tc_attrs.h | 106 +- xlat/rtnl_tca_stab_attrs.h | 34 +- xlat/rtnl_tca_stats_attrs.h | 58 +- xlat/rwf_flags.h | 46 +- xlat/s390_guarded_storage_commands.h | 46 +- xlat/s390_runtime_instr_commands.h | 28 +- xlat/s390_sthyi_function_codes.h | 22 +- xlat/sa_handler_values.h | 16 +- xlat/sched_flags.h | 34 +- xlat/schedulers.h | 16 +- xlat/scmvals.h | 34 +- xlat/scsi_sg_commands.h | 154 +- xlat/secbits.h | 64 +- xlat/seccomp_filter_flags.h | 32 +- xlat/seccomp_filter_flags.in | 1 + xlat/seccomp_mode.h | 34 +- xlat/seccomp_ops.h | 34 +- xlat/seccomp_ret_action.h | 54 +- xlat/semctl_flags.h | 134 +- xlat/semctl_flags.in | 24 +- xlat/semop_flags.h | 16 +- xlat/setns_types.h | 54 +- ...etsockipoptions.h => setsock_ip_options.h} | 22 +- xlat/setsock_ip_options.in | 31 + ...ckipv6options.h => setsock_ipv6_options.h} | 22 +- xlat/setsock_ipv6_options.in | 8 + xlat/setsock_options.h | 44 + xlat/setsock_options.in | 5 + xlat/sfd_flags.h | 28 +- xlat/sg_io_dxfer_direction.h | 18 +- xlat/sg_io_flags.h | 54 +- xlat/sg_io_info.h | 30 +- xlat/sg_scsi_reset.h | 52 +- xlat/shm_flags.h | 22 +- xlat/shm_resource_flags.h | 16 +- xlat/shmctl_flags.h | 93 +- xlat/shmctl_flags.in | 18 +- xlat/shutdown_modes.h | 34 +- xlat/sigact_flags.h | 16 +- xlat/sigaltstack_flags.h | 36 +- xlat/sigbus_codes.h | 48 +- xlat/sigchld_codes.h | 54 +- xlat/sigemt_codes.h | 24 +- xlat/sigev_value.h | 42 +- xlat/sigfpe_codes.h | 82 +- xlat/sigfpe_codes.in | 2 + xlat/sigill_codes.h | 66 +- xlat/siginfo_codes.h | 110 +- xlat/siginfo_codes.in | 8 + xlat/sigpoll_codes.h | 54 +- xlat/sigprocmaskcmds.h | 16 +- xlat/sigprof_codes.h | 18 +- xlat/sigsegv_codes.h | 66 +- xlat/sigsegv_codes.in | 3 + xlat/sigsys_codes.h | 24 +- xlat/sigtrap_codes.h | 42 +- xlat/skf_ad.h | 112 +- xlat/skf_off.h | 26 + xlat/skf_off.in | 4 + xlat/smc_diag_attrs.h | 16 +- xlat/smc_diag_extended_flags.h | 16 +- xlat/smc_link_group_roles.h | 28 +- xlat/smc_protocols.h | 38 + xlat/smc_protocols.in | 3 + xlat/smc_states.h | 88 +- xlat/snmp_icmp6_stats.h | 70 + xlat/snmp_icmp6_stats.in | 7 + xlat/snmp_ip_stats.h | 310 ++ xlat/snmp_ip_stats.in | 37 + xlat/sock_alg_options.h | 62 + xlat/sock_alg_options.in | 6 + xlat/sock_bluetooth_options.h | 87 + xlat/sock_bluetooth_options.in | 9 + xlat/sock_caif_options.h | 46 + xlat/sock_caif_options.in | 3 + xlat/sock_dccp_options.h | 151 + xlat/sock_dccp_options.in | 17 + xlat/{sockipoptions.h => sock_ip_options.h} | 20 +- xlat/sock_ip_options.in | 50 + ...{sockipv6options.h => sock_ipv6_options.h} | 20 +- xlat/sock_ipv6_options.in | 62 + xlat/sock_ipx_options.h | 25 + xlat/sock_ipx_options.in | 1 + xlat/sock_irda_options.h | 110 + xlat/sock_irda_options.in | 12 + xlat/sock_iucv_options.h | 46 + xlat/sock_iucv_options.in | 3 + xlat/sock_kcm_options.h | 30 + xlat/sock_kcm_options.in | 1 + xlat/sock_llc_options.h | 102 + xlat/sock_llc_options.in | 11 + xlat/sock_netlink_options.h | 110 + xlat/sock_netlink_options.in | 11 + xlat/sock_nfcllcp_options.h | 62 + xlat/sock_nfcllcp_options.in | 6 + xlat/sock_options.h | 1858 +++++++ xlat/sock_options.in | 445 ++ ...kpacketoptions.h => sock_packet_options.h} | 20 +- xlat/sock_packet_options.in | 21 + xlat/sock_pnp_options.h | 54 + xlat/sock_pnp_options.in | 4 + xlat/sock_pppol2tp_options.h | 62 + xlat/sock_pppol2tp_options.in | 6 + xlat/sock_raw_options.h | 25 + xlat/sock_raw_options.in | 1 + xlat/sock_rds_options.h | 209 + xlat/sock_rds_options.in | 29 + xlat/sock_rxrpc_options.h | 70 + xlat/sock_rxrpc_options.in | 7 + xlat/sock_sctp_options.h | 527 ++ xlat/sock_sctp_options.in | 64 + xlat/{socktcpoptions.h => sock_tcp_options.h} | 20 +- xlat/sock_tcp_options.in | 34 + xlat/sock_tipc_options.h | 103 + xlat/sock_tipc_options.in | 11 + xlat/sock_tls_options.h | 38 + xlat/sock_tls_options.in | 2 + xlat/sock_type_flags.h | 16 +- xlat/sock_udp_options.h | 54 + xlat/sock_udp_options.in | 4 + xlat/socketcalls.h | 136 +- xlat/socketlayers.h | 245 +- xlat/socketlayers.in | 6 + xlat/sockipxoptions.h | 17 - xlat/socknetlinkoptions.h | 58 - xlat/sockoptions.h | 228 - xlat/sockrawoptions.h | 17 - xlat/socksctpoptions.h | 259 - xlat/socktypes.h | 12 +- xlat/sparc_kern_features.h | 22 +- xlat/splice_flags.h | 16 +- xlat/sram_alloc_flags.h | 16 +- xlat/statfs_flags.h | 76 +- xlat/statx_attrs.h | 52 +- xlat/statx_masks.h | 100 +- xlat/swap_flags.h | 40 +- xlat/sync_file_range_flags.h | 34 +- xlat/sysctl_kern.h | 16 +- xlat/sysctl_net.h | 16 +- xlat/sysctl_net_core.h | 16 +- xlat/sysctl_net_ipv4.h | 16 +- xlat/sysctl_net_ipv4_conf.h | 16 +- xlat/sysctl_net_ipv4_route.h | 16 +- xlat/sysctl_net_ipv6.h | 16 +- xlat/sysctl_net_ipv6_route.h | 16 +- xlat/sysctl_net_unix.h | 16 +- xlat/sysctl_root.h | 16 +- xlat/sysctl_vm.h | 16 +- xlat/syslog_action_type.h | 16 +- xlat/sysmips_operations.h | 16 +- xlat/tcflsh_options.h | 16 +- xlat/tcp_state_flags.h | 12 +- xlat/tcp_states.h | 84 +- xlat/tcxonc_options.h | 16 +- xlat/timerfdflags.h | 40 +- xlat/tun_device_types.h | 38 + xlat/tun_device_types.in | 3 + xlat/ubi_volume_props.h | 16 +- xlat/ubi_volume_types.h | 16 +- xlat/uffd_api_features.h | 16 +- xlat/uffd_api_flags.h | 16 +- xlat/uffd_copy_flags.h | 16 +- xlat/uffd_flags.h | 16 +- xlat/uffd_register_ioctl_flags.h | 16 +- xlat/uffd_register_mode_flags.h | 16 +- xlat/uffd_zeropage_flags.h | 16 +- xlat/umount_flags.h | 40 +- xlat/unix_diag_attrs.h | 16 +- xlat/unix_diag_show.h | 16 +- xlat/unshare_flags.h | 16 +- xlat/usagewho.h | 40 +- xlat/v4l2_buf_flags.h | 18 +- xlat/v4l2_buf_types.h | 18 +- xlat/v4l2_capture_modes.h | 18 +- xlat/v4l2_colorspaces.h | 18 +- xlat/v4l2_control_classes.h | 116 +- xlat/v4l2_control_classes.in | 22 +- xlat/v4l2_control_flags.h | 18 +- xlat/v4l2_control_id_bases.h | 168 + xlat/v4l2_control_id_bases.in | 18 + xlat/v4l2_control_ids.h | 2715 +++++++++- xlat/v4l2_control_ids.in | 424 +- xlat/v4l2_control_types.h | 18 +- xlat/v4l2_device_capabilities_flags.h | 18 +- xlat/v4l2_fields.h | 18 +- xlat/v4l2_format_description_flags.h | 18 +- xlat/v4l2_frameinterval_types.h | 18 +- xlat/v4l2_framesize_types.h | 18 +- xlat/v4l2_input_types.h | 18 +- xlat/v4l2_memories.h | 18 +- xlat/v4l2_pix_fmts.h | 944 +++- xlat/v4l2_pix_fmts.in | 1 + xlat/v4l2_sdr_fmts.h | 66 +- xlat/v4l2_sliced_flags.h | 18 +- xlat/v4l2_streaming_capabilities.h | 18 +- xlat/v4l2_tuner_audmodes.h | 18 +- xlat/v4l2_tuner_capabilities.h | 18 +- xlat/v4l2_tuner_rxsubchanses.h | 18 +- xlat/v4l2_tuner_types.h | 18 +- xlat/v4l2_vbi_flags.h | 18 +- xlat/wait4_options.h | 34 +- xlat/waitid_types.h | 16 +- xlat/whence_codes.h | 12 +- xlat/xattrflags.h | 28 +- xlat/xdp_flags.h | 16 +- xlat/xfs_dqblk_flags.h | 34 +- xlat/xfs_quota_flags.h | 52 +- 1689 files changed, 90725 insertions(+), 31001 deletions(-) create mode 100644 f_owner_ex.h create mode 100644 inotify_ioctl.c delete mode 100644 linux/aarch64/errnoent1.h delete mode 100644 linux/aarch64/signalent1.h delete mode 100644 linux/powerpc64/errnoent1.h delete mode 100644 linux/powerpc64/signalent1.h delete mode 100644 linux/riscv/errnoent1.h delete mode 100644 linux/riscv/signalent1.h delete mode 100644 linux/s390x/errnoent1.h delete mode 100644 linux/s390x/signalent1.h delete mode 100644 linux/sparc64/errnoent1.h delete mode 100644 linux/sparc64/signalent1.h delete mode 100644 linux/tile/errnoent1.h delete mode 100644 linux/tile/signalent1.h delete mode 100644 linux/x32/errnoent1.h delete mode 100644 linux/x32/signalent1.h delete mode 100644 linux/x86_64/errnoent1.h delete mode 100644 linux/x86_64/errnoent2.h delete mode 100644 linux/x86_64/signalent1.h delete mode 100644 linux/x86_64/signalent2.h create mode 100644 m4/st_demangle.m4 create mode 100644 m4/st_libdw.m4 create mode 100644 m4/st_libunwind.m4 create mode 100644 m4/st_stacktrace.m4 create mode 100644 mmap_notify.c create mode 100644 mmap_notify.h create mode 100644 mpers-m32/strace_aio_sigset.c create mode 100644 mpers-m32/strace_aio_sigset.d1 create mode 100644 mpers-m32/strace_aio_sigset.d2 create mode 100644 mpers-m32/strace_aio_sigset.h create mode 100644 netlink_kobject_uevent.c create mode 100644 netlink_kobject_uevent.h create mode 100644 perf_ioctl.c create mode 100644 print_aio_sigset.c create mode 100644 print_mac.c create mode 100644 tests-m32/aio_pgetevents.c create mode 100755 tests-m32/aio_pgetevents.gen.test create mode 100644 tests-m32/bpf-obj_get_info_by_fd-prog-v.c create mode 100755 tests-m32/bpf-obj_get_info_by_fd-prog-v.gen.test create mode 100644 tests-m32/bpf-obj_get_info_by_fd-prog.c create mode 100755 tests-m32/bpf-obj_get_info_by_fd-prog.gen.test create mode 100644 tests-m32/bpf-obj_get_info_by_fd-v.c create mode 100755 tests-m32/bpf-obj_get_info_by_fd-v.gen.test create mode 100644 tests-m32/bpf-obj_get_info_by_fd.c create mode 100755 tests-m32/bpf-obj_get_info_by_fd.gen.test create mode 100644 tests-m32/bpf-success-v.c create mode 100755 tests-m32/bpf-success-v.test create mode 100644 tests-m32/bpf-success.c create mode 100755 tests-m32/bpf-success.test create mode 100755 tests-m32/btrfs-X.test create mode 100755 tests-m32/btrfs-vX.test create mode 100755 tests-m32/btrfs-vwX.test create mode 100755 tests-m32/btrfs-wX.test create mode 100644 tests-m32/fanotify_mark-Xabbrev.c create mode 100755 tests-m32/fanotify_mark-Xabbrev.gen.test create mode 100644 tests-m32/fanotify_mark-Xraw.c create mode 100755 tests-m32/fanotify_mark-Xraw.gen.test create mode 100644 tests-m32/fanotify_mark-Xverbose.c create mode 100755 tests-m32/fanotify_mark-Xverbose.gen.test create mode 100644 tests-m32/fcntl-common.c create mode 100644 tests-m32/ioctl_inotify.c create mode 100755 tests-m32/ioctl_inotify.gen.test create mode 100644 tests-m32/ioctl_perf-success.c create mode 100755 tests-m32/ioctl_perf-success.test create mode 100644 tests-m32/ioctl_perf.c create mode 100755 tests-m32/ioctl_perf.gen.test create mode 100644 tests-m32/ioctl_ptp.c create mode 100755 tests-m32/ioctl_ptp.gen.test create mode 100644 tests-m32/ipc_msg-Xabbrev.c create mode 100755 tests-m32/ipc_msg-Xabbrev.gen.test create mode 100644 tests-m32/ipc_msg-Xraw.c create mode 100755 tests-m32/ipc_msg-Xraw.gen.test create mode 100644 tests-m32/ipc_msg-Xverbose.c create mode 100755 tests-m32/ipc_msg-Xverbose.gen.test create mode 100644 tests-m32/ipc_msgbuf-Xabbrev.c create mode 100755 tests-m32/ipc_msgbuf-Xabbrev.gen.test create mode 100644 tests-m32/ipc_msgbuf-Xraw.c create mode 100755 tests-m32/ipc_msgbuf-Xraw.gen.test create mode 100644 tests-m32/ipc_msgbuf-Xverbose.c create mode 100755 tests-m32/ipc_msgbuf-Xverbose.gen.test create mode 100644 tests-m32/ipc_sem-Xabbrev.c create mode 100755 tests-m32/ipc_sem-Xabbrev.gen.test create mode 100644 tests-m32/ipc_sem-Xraw.c create mode 100755 tests-m32/ipc_sem-Xraw.gen.test create mode 100644 tests-m32/ipc_sem-Xverbose.c create mode 100755 tests-m32/ipc_sem-Xverbose.gen.test create mode 100644 tests-m32/ipc_shm-Xabbrev.c create mode 100755 tests-m32/ipc_shm-Xabbrev.gen.test create mode 100644 tests-m32/ipc_shm-Xraw.c create mode 100755 tests-m32/ipc_shm-Xraw.gen.test create mode 100644 tests-m32/ipc_shm-Xverbose.c create mode 100755 tests-m32/ipc_shm-Xverbose.gen.test create mode 100644 tests-m32/keyctl-Xabbrev.c create mode 100755 tests-m32/keyctl-Xabbrev.gen.test create mode 100644 tests-m32/keyctl-Xraw.c create mode 100755 tests-m32/keyctl-Xraw.gen.test create mode 100644 tests-m32/keyctl-Xverbose.c create mode 100755 tests-m32/keyctl-Xverbose.gen.test create mode 100644 tests-m32/mmap-Xabbrev.c create mode 100755 tests-m32/mmap-Xabbrev.gen.test create mode 100644 tests-m32/mmap-Xraw.c create mode 100755 tests-m32/mmap-Xraw.gen.test create mode 100644 tests-m32/mmap-Xverbose.c create mode 100755 tests-m32/mmap-Xverbose.gen.test create mode 100644 tests-m32/mmap64-Xabbrev.c create mode 100755 tests-m32/mmap64-Xabbrev.gen.test create mode 100644 tests-m32/mmap64-Xraw.c create mode 100755 tests-m32/mmap64-Xraw.gen.test create mode 100644 tests-m32/mmap64-Xverbose.c create mode 100755 tests-m32/mmap64-Xverbose.gen.test create mode 100644 tests-m32/mount-Xabbrev.c create mode 100755 tests-m32/mount-Xabbrev.gen.test create mode 100644 tests-m32/mount-Xraw.c create mode 100755 tests-m32/mount-Xraw.gen.test create mode 100644 tests-m32/mount-Xverbose.c create mode 100755 tests-m32/mount-Xverbose.gen.test create mode 100644 tests-m32/nlattr_ifla.h create mode 100644 tests-m32/nlattr_ifla_af_spec.c create mode 100755 tests-m32/nlattr_ifla_af_spec.gen.test create mode 100644 tests-m32/nlattr_ifla_linkinfo.c create mode 100755 tests-m32/nlattr_ifla_linkinfo.gen.test create mode 100644 tests-m32/old_mmap-Xabbrev.c create mode 100755 tests-m32/old_mmap-Xabbrev.gen.test create mode 100644 tests-m32/old_mmap-Xraw.c create mode 100755 tests-m32/old_mmap-Xraw.gen.test create mode 100644 tests-m32/old_mmap-Xverbose.c create mode 100755 tests-m32/old_mmap-Xverbose.gen.test create mode 100644 tests-m32/personality-Xabbrev.c create mode 100755 tests-m32/personality-Xabbrev.gen.test create mode 100644 tests-m32/personality-Xraw.c create mode 100755 tests-m32/personality-Xraw.gen.test create mode 100644 tests-m32/personality-Xverbose.c create mode 100755 tests-m32/personality-Xverbose.gen.test create mode 100644 tests-m32/prctl-spec-inject.c create mode 100755 tests-m32/prctl-spec-inject.test create mode 100755 tests-m32/qual_fault-syscall.test create mode 100755 tests-m32/qual_inject-error-signal-syscall.test create mode 100755 tests-m32/qual_inject-retval-syscall.test create mode 100755 tests-m32/qual_inject-signal-syscall.test create mode 100644 tests-m32/qualify_personality.sh create mode 100644 tests-m32/qualify_personality_empty.in create mode 100644 tests-m32/so_peercred-Xabbrev.c create mode 100755 tests-m32/so_peercred-Xabbrev.gen.test create mode 100644 tests-m32/so_peercred-Xraw.c create mode 100755 tests-m32/so_peercred-Xraw.gen.test create mode 100644 tests-m32/so_peercred-Xverbose.c create mode 100755 tests-m32/so_peercred-Xverbose.gen.test create mode 100644 tests-m32/sock_filter-v-Xabbrev.c create mode 100755 tests-m32/sock_filter-v-Xabbrev.gen.test create mode 100644 tests-m32/sock_filter-v-Xraw.c create mode 100755 tests-m32/sock_filter-v-Xraw.gen.test create mode 100644 tests-m32/sock_filter-v-Xverbose.c create mode 100755 tests-m32/sock_filter-v-Xverbose.gen.test create mode 100644 tests-m32/strace-k-demangle.expected create mode 100644 tests-m32/strace-k.expected delete mode 100644 tests-m32/struct_flock.c create mode 100755 tests-m32/trace_personality_32.gen.test create mode 100644 tests-m32/trace_personality_32.in create mode 100755 tests-m32/trace_personality_64.gen.test create mode 100644 tests-m32/trace_personality_64.in create mode 100755 tests-m32/trace_personality_regex_32.gen.test create mode 100755 tests-m32/trace_personality_regex_32.in create mode 100755 tests-m32/trace_personality_regex_64.gen.test create mode 100755 tests-m32/trace_personality_regex_64.in create mode 100755 tests-m32/trace_personality_regex_x32.gen.test create mode 100755 tests-m32/trace_personality_regex_x32.in create mode 100755 tests-m32/trace_personality_x32.gen.test create mode 100644 tests-m32/trace_personality_x32.in create mode 100644 tests-mx32/aio_pgetevents.c create mode 100755 tests-mx32/aio_pgetevents.gen.test create mode 100644 tests-mx32/bpf-obj_get_info_by_fd-prog-v.c create mode 100755 tests-mx32/bpf-obj_get_info_by_fd-prog-v.gen.test create mode 100644 tests-mx32/bpf-obj_get_info_by_fd-prog.c create mode 100755 tests-mx32/bpf-obj_get_info_by_fd-prog.gen.test create mode 100644 tests-mx32/bpf-obj_get_info_by_fd-v.c create mode 100755 tests-mx32/bpf-obj_get_info_by_fd-v.gen.test create mode 100644 tests-mx32/bpf-obj_get_info_by_fd.c create mode 100755 tests-mx32/bpf-obj_get_info_by_fd.gen.test create mode 100644 tests-mx32/bpf-success-v.c create mode 100755 tests-mx32/bpf-success-v.test create mode 100644 tests-mx32/bpf-success.c create mode 100755 tests-mx32/bpf-success.test create mode 100755 tests-mx32/btrfs-X.test create mode 100755 tests-mx32/btrfs-vX.test create mode 100755 tests-mx32/btrfs-vwX.test create mode 100755 tests-mx32/btrfs-wX.test create mode 100644 tests-mx32/fanotify_mark-Xabbrev.c create mode 100755 tests-mx32/fanotify_mark-Xabbrev.gen.test create mode 100644 tests-mx32/fanotify_mark-Xraw.c create mode 100755 tests-mx32/fanotify_mark-Xraw.gen.test create mode 100644 tests-mx32/fanotify_mark-Xverbose.c create mode 100755 tests-mx32/fanotify_mark-Xverbose.gen.test create mode 100644 tests-mx32/fcntl-common.c create mode 100644 tests-mx32/ioctl_inotify.c create mode 100755 tests-mx32/ioctl_inotify.gen.test create mode 100644 tests-mx32/ioctl_perf-success.c create mode 100755 tests-mx32/ioctl_perf-success.test create mode 100644 tests-mx32/ioctl_perf.c create mode 100755 tests-mx32/ioctl_perf.gen.test create mode 100644 tests-mx32/ioctl_ptp.c create mode 100755 tests-mx32/ioctl_ptp.gen.test create mode 100644 tests-mx32/ipc_msg-Xabbrev.c create mode 100755 tests-mx32/ipc_msg-Xabbrev.gen.test create mode 100644 tests-mx32/ipc_msg-Xraw.c create mode 100755 tests-mx32/ipc_msg-Xraw.gen.test create mode 100644 tests-mx32/ipc_msg-Xverbose.c create mode 100755 tests-mx32/ipc_msg-Xverbose.gen.test create mode 100644 tests-mx32/ipc_msgbuf-Xabbrev.c create mode 100755 tests-mx32/ipc_msgbuf-Xabbrev.gen.test create mode 100644 tests-mx32/ipc_msgbuf-Xraw.c create mode 100755 tests-mx32/ipc_msgbuf-Xraw.gen.test create mode 100644 tests-mx32/ipc_msgbuf-Xverbose.c create mode 100755 tests-mx32/ipc_msgbuf-Xverbose.gen.test create mode 100644 tests-mx32/ipc_sem-Xabbrev.c create mode 100755 tests-mx32/ipc_sem-Xabbrev.gen.test create mode 100644 tests-mx32/ipc_sem-Xraw.c create mode 100755 tests-mx32/ipc_sem-Xraw.gen.test create mode 100644 tests-mx32/ipc_sem-Xverbose.c create mode 100755 tests-mx32/ipc_sem-Xverbose.gen.test create mode 100644 tests-mx32/ipc_shm-Xabbrev.c create mode 100755 tests-mx32/ipc_shm-Xabbrev.gen.test create mode 100644 tests-mx32/ipc_shm-Xraw.c create mode 100755 tests-mx32/ipc_shm-Xraw.gen.test create mode 100644 tests-mx32/ipc_shm-Xverbose.c create mode 100755 tests-mx32/ipc_shm-Xverbose.gen.test create mode 100644 tests-mx32/keyctl-Xabbrev.c create mode 100755 tests-mx32/keyctl-Xabbrev.gen.test create mode 100644 tests-mx32/keyctl-Xraw.c create mode 100755 tests-mx32/keyctl-Xraw.gen.test create mode 100644 tests-mx32/keyctl-Xverbose.c create mode 100755 tests-mx32/keyctl-Xverbose.gen.test create mode 100644 tests-mx32/mmap-Xabbrev.c create mode 100755 tests-mx32/mmap-Xabbrev.gen.test create mode 100644 tests-mx32/mmap-Xraw.c create mode 100755 tests-mx32/mmap-Xraw.gen.test create mode 100644 tests-mx32/mmap-Xverbose.c create mode 100755 tests-mx32/mmap-Xverbose.gen.test create mode 100644 tests-mx32/mmap64-Xabbrev.c create mode 100755 tests-mx32/mmap64-Xabbrev.gen.test create mode 100644 tests-mx32/mmap64-Xraw.c create mode 100755 tests-mx32/mmap64-Xraw.gen.test create mode 100644 tests-mx32/mmap64-Xverbose.c create mode 100755 tests-mx32/mmap64-Xverbose.gen.test create mode 100644 tests-mx32/mount-Xabbrev.c create mode 100755 tests-mx32/mount-Xabbrev.gen.test create mode 100644 tests-mx32/mount-Xraw.c create mode 100755 tests-mx32/mount-Xraw.gen.test create mode 100644 tests-mx32/mount-Xverbose.c create mode 100755 tests-mx32/mount-Xverbose.gen.test create mode 100644 tests-mx32/nlattr_ifla.h create mode 100644 tests-mx32/nlattr_ifla_af_spec.c create mode 100755 tests-mx32/nlattr_ifla_af_spec.gen.test create mode 100644 tests-mx32/nlattr_ifla_linkinfo.c create mode 100755 tests-mx32/nlattr_ifla_linkinfo.gen.test create mode 100644 tests-mx32/old_mmap-Xabbrev.c create mode 100755 tests-mx32/old_mmap-Xabbrev.gen.test create mode 100644 tests-mx32/old_mmap-Xraw.c create mode 100755 tests-mx32/old_mmap-Xraw.gen.test create mode 100644 tests-mx32/old_mmap-Xverbose.c create mode 100755 tests-mx32/old_mmap-Xverbose.gen.test create mode 100644 tests-mx32/personality-Xabbrev.c create mode 100755 tests-mx32/personality-Xabbrev.gen.test create mode 100644 tests-mx32/personality-Xraw.c create mode 100755 tests-mx32/personality-Xraw.gen.test create mode 100644 tests-mx32/personality-Xverbose.c create mode 100755 tests-mx32/personality-Xverbose.gen.test create mode 100644 tests-mx32/prctl-spec-inject.c create mode 100755 tests-mx32/prctl-spec-inject.test create mode 100755 tests-mx32/qual_fault-syscall.test create mode 100755 tests-mx32/qual_inject-error-signal-syscall.test create mode 100755 tests-mx32/qual_inject-retval-syscall.test create mode 100755 tests-mx32/qual_inject-signal-syscall.test create mode 100644 tests-mx32/qualify_personality.sh create mode 100644 tests-mx32/qualify_personality_empty.in create mode 100644 tests-mx32/so_peercred-Xabbrev.c create mode 100755 tests-mx32/so_peercred-Xabbrev.gen.test create mode 100644 tests-mx32/so_peercred-Xraw.c create mode 100755 tests-mx32/so_peercred-Xraw.gen.test create mode 100644 tests-mx32/so_peercred-Xverbose.c create mode 100755 tests-mx32/so_peercred-Xverbose.gen.test create mode 100644 tests-mx32/sock_filter-v-Xabbrev.c create mode 100755 tests-mx32/sock_filter-v-Xabbrev.gen.test create mode 100644 tests-mx32/sock_filter-v-Xraw.c create mode 100755 tests-mx32/sock_filter-v-Xraw.gen.test create mode 100644 tests-mx32/sock_filter-v-Xverbose.c create mode 100755 tests-mx32/sock_filter-v-Xverbose.gen.test create mode 100644 tests-mx32/strace-k-demangle.expected create mode 100644 tests-mx32/strace-k.expected delete mode 100644 tests-mx32/struct_flock.c create mode 100755 tests-mx32/trace_personality_32.gen.test create mode 100644 tests-mx32/trace_personality_32.in create mode 100755 tests-mx32/trace_personality_64.gen.test create mode 100644 tests-mx32/trace_personality_64.in create mode 100755 tests-mx32/trace_personality_regex_32.gen.test create mode 100755 tests-mx32/trace_personality_regex_32.in create mode 100755 tests-mx32/trace_personality_regex_64.gen.test create mode 100755 tests-mx32/trace_personality_regex_64.in create mode 100755 tests-mx32/trace_personality_regex_x32.gen.test create mode 100755 tests-mx32/trace_personality_regex_x32.in create mode 100755 tests-mx32/trace_personality_x32.gen.test create mode 100644 tests-mx32/trace_personality_x32.in create mode 100644 tests/aio_pgetevents.c create mode 100755 tests/aio_pgetevents.gen.test create mode 100644 tests/bpf-obj_get_info_by_fd-prog-v.c create mode 100755 tests/bpf-obj_get_info_by_fd-prog-v.gen.test create mode 100644 tests/bpf-obj_get_info_by_fd-prog.c create mode 100755 tests/bpf-obj_get_info_by_fd-prog.gen.test create mode 100644 tests/bpf-obj_get_info_by_fd-v.c create mode 100755 tests/bpf-obj_get_info_by_fd-v.gen.test create mode 100644 tests/bpf-obj_get_info_by_fd.c create mode 100755 tests/bpf-obj_get_info_by_fd.gen.test create mode 100644 tests/bpf-success-v.c create mode 100755 tests/bpf-success-v.test create mode 100644 tests/bpf-success.c create mode 100755 tests/bpf-success.test create mode 100755 tests/btrfs-X.test create mode 100755 tests/btrfs-vX.test create mode 100755 tests/btrfs-vwX.test create mode 100755 tests/btrfs-wX.test create mode 100644 tests/fanotify_mark-Xabbrev.c create mode 100755 tests/fanotify_mark-Xabbrev.gen.test create mode 100644 tests/fanotify_mark-Xraw.c create mode 100755 tests/fanotify_mark-Xraw.gen.test create mode 100644 tests/fanotify_mark-Xverbose.c create mode 100755 tests/fanotify_mark-Xverbose.gen.test create mode 100644 tests/fcntl-common.c create mode 100644 tests/ioctl_inotify.c create mode 100755 tests/ioctl_inotify.gen.test create mode 100644 tests/ioctl_perf-success.c create mode 100755 tests/ioctl_perf-success.test create mode 100644 tests/ioctl_perf.c create mode 100755 tests/ioctl_perf.gen.test create mode 100644 tests/ioctl_ptp.c create mode 100755 tests/ioctl_ptp.gen.test create mode 100644 tests/ipc_msg-Xabbrev.c create mode 100755 tests/ipc_msg-Xabbrev.gen.test create mode 100644 tests/ipc_msg-Xraw.c create mode 100755 tests/ipc_msg-Xraw.gen.test create mode 100644 tests/ipc_msg-Xverbose.c create mode 100755 tests/ipc_msg-Xverbose.gen.test create mode 100644 tests/ipc_msgbuf-Xabbrev.c create mode 100755 tests/ipc_msgbuf-Xabbrev.gen.test create mode 100644 tests/ipc_msgbuf-Xraw.c create mode 100755 tests/ipc_msgbuf-Xraw.gen.test create mode 100644 tests/ipc_msgbuf-Xverbose.c create mode 100755 tests/ipc_msgbuf-Xverbose.gen.test create mode 100644 tests/ipc_sem-Xabbrev.c create mode 100755 tests/ipc_sem-Xabbrev.gen.test create mode 100644 tests/ipc_sem-Xraw.c create mode 100755 tests/ipc_sem-Xraw.gen.test create mode 100644 tests/ipc_sem-Xverbose.c create mode 100755 tests/ipc_sem-Xverbose.gen.test create mode 100644 tests/ipc_shm-Xabbrev.c create mode 100755 tests/ipc_shm-Xabbrev.gen.test create mode 100644 tests/ipc_shm-Xraw.c create mode 100755 tests/ipc_shm-Xraw.gen.test create mode 100644 tests/ipc_shm-Xverbose.c create mode 100755 tests/ipc_shm-Xverbose.gen.test create mode 100644 tests/keyctl-Xabbrev.c create mode 100755 tests/keyctl-Xabbrev.gen.test create mode 100644 tests/keyctl-Xraw.c create mode 100755 tests/keyctl-Xraw.gen.test create mode 100644 tests/keyctl-Xverbose.c create mode 100755 tests/keyctl-Xverbose.gen.test create mode 100644 tests/mmap-Xabbrev.c create mode 100755 tests/mmap-Xabbrev.gen.test create mode 100644 tests/mmap-Xraw.c create mode 100755 tests/mmap-Xraw.gen.test create mode 100644 tests/mmap-Xverbose.c create mode 100755 tests/mmap-Xverbose.gen.test create mode 100644 tests/mmap64-Xabbrev.c create mode 100755 tests/mmap64-Xabbrev.gen.test create mode 100644 tests/mmap64-Xraw.c create mode 100755 tests/mmap64-Xraw.gen.test create mode 100644 tests/mmap64-Xverbose.c create mode 100755 tests/mmap64-Xverbose.gen.test create mode 100644 tests/mount-Xabbrev.c create mode 100755 tests/mount-Xabbrev.gen.test create mode 100644 tests/mount-Xraw.c create mode 100755 tests/mount-Xraw.gen.test create mode 100644 tests/mount-Xverbose.c create mode 100755 tests/mount-Xverbose.gen.test create mode 100644 tests/nlattr_ifla.h create mode 100644 tests/nlattr_ifla_af_spec.c create mode 100755 tests/nlattr_ifla_af_spec.gen.test create mode 100644 tests/nlattr_ifla_linkinfo.c create mode 100755 tests/nlattr_ifla_linkinfo.gen.test create mode 100644 tests/old_mmap-Xabbrev.c create mode 100755 tests/old_mmap-Xabbrev.gen.test create mode 100644 tests/old_mmap-Xraw.c create mode 100755 tests/old_mmap-Xraw.gen.test create mode 100644 tests/old_mmap-Xverbose.c create mode 100755 tests/old_mmap-Xverbose.gen.test create mode 100644 tests/personality-Xabbrev.c create mode 100755 tests/personality-Xabbrev.gen.test create mode 100644 tests/personality-Xraw.c create mode 100755 tests/personality-Xraw.gen.test create mode 100644 tests/personality-Xverbose.c create mode 100755 tests/personality-Xverbose.gen.test create mode 100644 tests/prctl-spec-inject.c create mode 100755 tests/prctl-spec-inject.test create mode 100755 tests/qual_fault-syscall.test create mode 100755 tests/qual_inject-error-signal-syscall.test create mode 100755 tests/qual_inject-retval-syscall.test create mode 100755 tests/qual_inject-signal-syscall.test create mode 100644 tests/qualify_personality.sh create mode 100644 tests/qualify_personality_empty.in create mode 100644 tests/so_peercred-Xabbrev.c create mode 100755 tests/so_peercred-Xabbrev.gen.test create mode 100644 tests/so_peercred-Xraw.c create mode 100755 tests/so_peercred-Xraw.gen.test create mode 100644 tests/so_peercred-Xverbose.c create mode 100755 tests/so_peercred-Xverbose.gen.test create mode 100644 tests/sock_filter-v-Xabbrev.c create mode 100755 tests/sock_filter-v-Xabbrev.gen.test create mode 100644 tests/sock_filter-v-Xraw.c create mode 100755 tests/sock_filter-v-Xraw.gen.test create mode 100644 tests/sock_filter-v-Xverbose.c create mode 100755 tests/sock_filter-v-Xverbose.gen.test create mode 100644 tests/strace-k-demangle.expected create mode 100644 tests/strace-k.expected delete mode 100644 tests/struct_flock.c create mode 100755 tests/trace_personality_32.gen.test create mode 100644 tests/trace_personality_32.in create mode 100755 tests/trace_personality_64.gen.test create mode 100644 tests/trace_personality_64.in create mode 100755 tests/trace_personality_regex_32.gen.test create mode 100755 tests/trace_personality_regex_32.in create mode 100755 tests/trace_personality_regex_64.gen.test create mode 100755 tests/trace_personality_regex_64.in create mode 100755 tests/trace_personality_regex_x32.gen.test create mode 100755 tests/trace_personality_regex_x32.in create mode 100755 tests/trace_personality_x32.gen.test create mode 100644 tests/trace_personality_x32.in create mode 100644 unwind-libdw.c create mode 100644 xlat/bdaddr_types.h create mode 100644 xlat/bdaddr_types.in create mode 100644 xlat/bluetooth_l2_cid.h create mode 100644 xlat/bluetooth_l2_cid.in create mode 100644 xlat/bluetooth_l2_psm.h create mode 100644 xlat/bluetooth_l2_psm.in create mode 100644 xlat/bpf_query_flags.h create mode 100644 xlat/bpf_query_flags.in create mode 100644 xlat/btrfs_cont_reading_from_srcdev_mode.h create mode 100644 xlat/btrfs_cont_reading_from_srcdev_mode.in create mode 100644 xlat/caif_protocols.h create mode 100644 xlat/caif_protocols.in create mode 100644 xlat/can_protocols.h create mode 100644 xlat/can_protocols.in create mode 100644 xlat/ebpf_class.h create mode 100644 xlat/ebpf_class.in create mode 100644 xlat/ebpf_mode.h create mode 100644 xlat/ebpf_mode.in create mode 100644 xlat/ebpf_op_alu.h create mode 100644 xlat/ebpf_op_alu.in create mode 100644 xlat/ebpf_op_jmp.h create mode 100644 xlat/ebpf_op_jmp.in create mode 100644 xlat/ebpf_regs.h create mode 100644 xlat/ebpf_regs.in create mode 100644 xlat/ebpf_size.h create mode 100644 xlat/ebpf_size.in delete mode 100644 xlat/fcntl64cmds.h rename xlat/{getsockipoptions.h => getsock_ip_options.h} (88%) create mode 100644 xlat/getsock_ip_options.in rename xlat/{getsockipv6options.h => getsock_ipv6_options.h} (65%) create mode 100644 xlat/getsock_ipv6_options.in create mode 100644 xlat/getsock_options.h create mode 100644 xlat/getsock_options.in create mode 100644 xlat/in6_addr_gen_mode.h create mode 100644 xlat/in6_addr_gen_mode.in create mode 100644 xlat/inet6_devconf_indices.h create mode 100644 xlat/inet6_devconf_indices.in create mode 100644 xlat/inet6_if_flags.h create mode 100644 xlat/inet6_if_flags.in create mode 100644 xlat/inet_devconf_indices.h create mode 100644 xlat/inet_devconf_indices.in create mode 100644 xlat/ipc_private.h create mode 100644 xlat/ipc_private.in create mode 100644 xlat/irda_protocols.h create mode 100644 xlat/irda_protocols.in create mode 100644 xlat/isdn_protocols.h create mode 100644 xlat/isdn_protocols.in create mode 100644 xlat/kcm_protocols.h create mode 100644 xlat/kcm_protocols.in create mode 100644 xlat/netlink_sk_meminfo_indices.h create mode 100644 xlat/netlink_sk_meminfo_indices.in create mode 100644 xlat/nfc_protocols.h create mode 100644 xlat/nfc_protocols.in create mode 100644 xlat/numa_node.h create mode 100644 xlat/numa_node.in create mode 100644 xlat/perf_ioctl_cmds.h create mode 100644 xlat/perf_ioctl_cmds.in create mode 100644 xlat/perf_ioctl_flags.h create mode 100644 xlat/perf_ioctl_flags.in create mode 100644 xlat/phonet_protocols.h create mode 100644 xlat/phonet_protocols.in create mode 100644 xlat/pr_spec_cmds.h create mode 100644 xlat/pr_spec_cmds.in create mode 100644 xlat/pr_spec_get_store_bypass_flags.h create mode 100644 xlat/pr_spec_get_store_bypass_flags.in create mode 100644 xlat/pr_spec_set_store_bypass_flags.h create mode 100644 xlat/pr_spec_set_store_bypass_flags.in create mode 100644 xlat/rtnl_ifla_af_spec_inet6_attrs.h create mode 100644 xlat/rtnl_ifla_af_spec_inet6_attrs.in create mode 100644 xlat/rtnl_ifla_af_spec_inet_attrs.h create mode 100644 xlat/rtnl_ifla_af_spec_inet_attrs.in create mode 100644 xlat/rtnl_ifla_info_data_bridge_attrs.h create mode 100644 xlat/rtnl_ifla_info_data_bridge_attrs.in create mode 100644 xlat/rtnl_ifla_info_data_tun_attrs.h create mode 100644 xlat/rtnl_ifla_info_data_tun_attrs.in rename xlat/{setsockipoptions.h => setsock_ip_options.h} (89%) create mode 100644 xlat/setsock_ip_options.in rename xlat/{setsockipv6options.h => setsock_ipv6_options.h} (51%) create mode 100644 xlat/setsock_ipv6_options.in create mode 100644 xlat/setsock_options.h create mode 100644 xlat/setsock_options.in create mode 100644 xlat/skf_off.h create mode 100644 xlat/skf_off.in create mode 100644 xlat/smc_protocols.h create mode 100644 xlat/smc_protocols.in create mode 100644 xlat/snmp_icmp6_stats.h create mode 100644 xlat/snmp_icmp6_stats.in create mode 100644 xlat/snmp_ip_stats.h create mode 100644 xlat/snmp_ip_stats.in create mode 100644 xlat/sock_alg_options.h create mode 100644 xlat/sock_alg_options.in create mode 100644 xlat/sock_bluetooth_options.h create mode 100644 xlat/sock_bluetooth_options.in create mode 100644 xlat/sock_caif_options.h create mode 100644 xlat/sock_caif_options.in create mode 100644 xlat/sock_dccp_options.h create mode 100644 xlat/sock_dccp_options.in rename xlat/{sockipoptions.h => sock_ip_options.h} (94%) create mode 100644 xlat/sock_ip_options.in rename xlat/{sockipv6options.h => sock_ipv6_options.h} (95%) create mode 100644 xlat/sock_ipv6_options.in create mode 100644 xlat/sock_ipx_options.h create mode 100644 xlat/sock_ipx_options.in create mode 100644 xlat/sock_irda_options.h create mode 100644 xlat/sock_irda_options.in create mode 100644 xlat/sock_iucv_options.h create mode 100644 xlat/sock_iucv_options.in create mode 100644 xlat/sock_kcm_options.h create mode 100644 xlat/sock_kcm_options.in create mode 100644 xlat/sock_llc_options.h create mode 100644 xlat/sock_llc_options.in create mode 100644 xlat/sock_netlink_options.h create mode 100644 xlat/sock_netlink_options.in create mode 100644 xlat/sock_nfcllcp_options.h create mode 100644 xlat/sock_nfcllcp_options.in create mode 100644 xlat/sock_options.h create mode 100644 xlat/sock_options.in rename xlat/{sockpacketoptions.h => sock_packet_options.h} (89%) create mode 100644 xlat/sock_packet_options.in create mode 100644 xlat/sock_pnp_options.h create mode 100644 xlat/sock_pnp_options.in create mode 100644 xlat/sock_pppol2tp_options.h create mode 100644 xlat/sock_pppol2tp_options.in create mode 100644 xlat/sock_raw_options.h create mode 100644 xlat/sock_raw_options.in create mode 100644 xlat/sock_rds_options.h create mode 100644 xlat/sock_rds_options.in create mode 100644 xlat/sock_rxrpc_options.h create mode 100644 xlat/sock_rxrpc_options.in create mode 100644 xlat/sock_sctp_options.h create mode 100644 xlat/sock_sctp_options.in rename xlat/{socktcpoptions.h => sock_tcp_options.h} (92%) create mode 100644 xlat/sock_tcp_options.in create mode 100644 xlat/sock_tipc_options.h create mode 100644 xlat/sock_tipc_options.in create mode 100644 xlat/sock_tls_options.h create mode 100644 xlat/sock_tls_options.in create mode 100644 xlat/sock_udp_options.h create mode 100644 xlat/sock_udp_options.in delete mode 100644 xlat/sockipxoptions.h delete mode 100644 xlat/socknetlinkoptions.h delete mode 100644 xlat/sockoptions.h delete mode 100644 xlat/sockrawoptions.h delete mode 100644 xlat/socksctpoptions.h create mode 100644 xlat/tun_device_types.h create mode 100644 xlat/tun_device_types.in create mode 100644 xlat/v4l2_control_id_bases.h create mode 100644 xlat/v4l2_control_id_bases.in diff --git a/Android.bp b/Android.bp index 149757c3..f3ac00e9 100644 --- a/Android.bp +++ b/Android.bp @@ -78,6 +78,7 @@ cc_binary { "hdio.c", "hostname.c", "inotify.c", + "inotify_ioctl.c", "io.c", "ioctl.c", "ioperm.c", @@ -104,6 +105,7 @@ cc_binary { "memfd_create.c", "mknod.c", "mmap_cache.c", + "mmap_notify.c", "mmsghdr.c", "mount.c", "mq.c", @@ -113,6 +115,7 @@ cc_binary { "netlink.c", "netlink_crypto.c", "netlink_inet_diag.c", + "netlink_kobject_uevent.c", "netlink_netfilter.c", "netlink_netlink_diag.c", "netlink_packet_diag.c", @@ -129,13 +132,16 @@ cc_binary { "open.c", "pathtrace.c", "perf.c", + "perf_ioctl.c", "personality.c", "pkeys.c", "poll.c", "prctl.c", + "print_aio_sigset.c", "print_dev_t.c", "print_group_req.c", "print_ifindex.c", + "print_mac.c", "print_mq_attr.c", "print_msgbuf.c", "print_sigevent.c", @@ -239,6 +245,7 @@ cc_binary { ] + [ "-Wall", "-Werror", + "-Wno-initializer-overrides", "-Wno-missing-field-initializers", "-Wno-pointer-arith", "-Wno-unused-parameter", diff --git a/CREDITS b/CREDITS index 94cecfeb..9ef85d1d 100644 --- a/CREDITS +++ b/CREDITS @@ -43,6 +43,7 @@ strace-devel@lists.strace.io mailing list. Chen Jingpiao Cheolung Lee Chris Dearman + Chris Lamb Chris Metcalf Chris Zankel Christian Neukirchen @@ -232,5 +233,6 @@ strace-devel@lists.strace.io mailing list. Zach Brown Zev Weiss Zhang Le + Zhibin Li <08826794brmt@gmail.com> Zubin Mithra Марк Коренберг diff --git a/ChangeLog b/ChangeLog index 6efa3a24..27871314 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,4031 @@ +2018-06-14 Dmitry V. Levin + + Prepare for 4.23 release. + * NEWS: Update for 4.23 release. + + Update copyright headers. + Headers updated automatically using maint/update_copyright_years.sh + script. + + tests: add missing copyright headers. + * tests/prctl-spec-inject.test: Add copyright header. + * tests/qualify_personality.sh: Likewise. + + maint: document release procedure. + * maint/README-release: New file. + * maint/gen-release-notes.sh: Likewise. + * maint/gen-release-github.sh: Likewise. + * maint/gen-release-gitlab.sh: Likewise. + + maint: prepend contributor names in tag messages with an asterisk. + * maint/gen-tag-message.sh: Prepend every line of + gen-contributors-list.sh output with an asterisk. + +2018-06-14 Eugene Syromyatnikov + + Update NEWS. + +2018-06-13 Dmitry V. Levin + + Wire up rseq syscall. + This new syscall was introduced by Linux commit v4.17-1308-gd7822b1. + + * linux/dummy.h (sys_rseq): New macro. + * linux/arm/syscallent.h (398): Add rseq entry. + * linux/i386/syscallent.h (386): Likewise. + * linux/powerpc/syscallent.h (387): Likewise. + * linux/powerpc64/syscallent.h (387): Likewise. + * linux/x32/syscallent.h (334): Likewise. + * linux/x86_64/syscallent.h (334): Likewise. + +2018-06-13 Eugene Syromyatnikov + + tests: check decoding of io_pgetevents syscall. + * configure.ac (AC_CHECK_TYPES): Check for struct __aio_sigset + in . + * tests/aio_pgetevents.c: New file. + * tests/.gitignore: Add aio_pgetevents. + * tests/pure_executables.list: Likewise. + * tests/gen_tests.in (aio_pgetevents): New test. + + Co-Authored-by: Dmitry V. Levin + +2018-06-13 Eugene Syromyatnikov + + Implement io_pgetevents syscall decoding. + Introduced by Linux commit v4.17-rc3-7-g7a074e9. + + * print_aio_sigset.c: New file. + * Makefile.am (strace_SOURCES): Add it. + * aio.c (print_io_getevents): Rename from SYS_FUNC(io_getevents), add + has_usig flag, print user sigset on exiting if has_usig is set to true. + (SYS_FUNC(io_getevents), SYS_FUNC(io_pgetevents)): New functions, + wrappers for print_io_getevents. + * linux/32/syscallent.h ([292]): Wire up io_pgetevents. + * linux/64/syscallent.h ([292]): Likewise. + * linux/i386/syscallent.h ([385]): Likewise. + * linux/x32/syscallent.h ([333]): Likewise. + * linux/x86_64/syscallent.h ([333]): Likewise. + * NEWS: Mention this improvement. + + Co-Authored-by: Dmitry V. Levin + +2018-06-13 Dmitry V. Levin + + travis: re-enable testing with the latest mainline kernel headers. + As is out of the game now, the Linux commit + v4.17-rc3-7-g7a074e9 should not cause harm anymore, so let's enable + testing with the latest mainline kernel headers again. + + * .travis.yml (matrix): Do not specify KBRANCH for KHEADERS=torvalds/linux. + +2018-06-13 Dmitry V. Levin + + Workaround incompatibility between and libc headers. + Override with so that those few linux + headers that include could be included along with libc + headers. + + * linux/linux/signal.h: New file. + * Makefile.am (strace_SOURCES): Add it. + +2018-06-13 Eugene Syromyatnikov + + tests: add personality specification syntax checks. + * tests/options-syntax.test: Add personality specification syntax + checks. + + tests: add basic checks for personality designation support. + * tests/qualify_personality.sh: New file. + * tests/qualify_personality_empty.in: Likewise. + * tests/trace_personality_32.in: Likewise. + * tests/trace_personality_64.in: Likewise. + * tests/trace_personality_regex_32.in: Likewise. + * tests/trace_personality_regex_64.in: Likewise. + * tests/trace_personality_regex_x32.in: Likewise. + * tests/trace_personality_x32.in: Likewise. + * tests/Makefile.am (EXTRA_DIST): Add them. + * tests/gen_tests.in (trace_personality_32, trace_personality_64, + trace_personality_x32, trace_personality_regex_32, + trace_personality_regex_64, trace_personality_regex_x32): New tests. + +2018-06-13 Eugene Syromyatnikov + + Add support for personality designation in regex qualifications. + * basic_filters.c (qualify_syscall_regex): Copy syscall name + to a temporary buffer, append the personality designation to it, + and check it against regular expression if the syscall name + hasn't been matched already. + + References: https://github.com/strace/strace/issues/35 + +2018-06-13 Eugene Syromyatnikov + + Add support for personality designation in syscall qualifications. + * syscall.c (personality_designators): New array. + * defs.h (personality_designators): New declaration. + * basic_filters.c (qualify_syscall_separate_personality, + qualify_syscall_number_personality): New functions. + (qualify_syscall_number): Use qualify_syscall_separate_personality for + checking for a personality specification, call + qualify_syscall_number_personality for setting number set for specific + personality. + (qualify_syscall_name_personality): New function. + (qualify_syscall_name): Use qualify_syscall_separate_personality for + checking for a personality specification, call + qualify_syscall_name_personality for setting number set for specific + personality. + * strace.1.in (.SS Filtering): Document it. + * NEWS: Mention it. + + Co-Authored-by: Dmitry V. Levin + Closes: https://github.com/strace/strace/issues/35 + +2018-06-13 Eugene Syromyatnikov + + tests: add basic checks for inject=SET:syscall= expression syntax. + * tests/qual_fault-syscall.test: New test. + * tests/qual_inject-error-signal-syscall.test: Likewise. + * tests/qual_inject-retval-syscall.test: Likewise. + * tests/qual_inject-signal-syscall.test: Likewise. + * tests/Makefile.am (MISC_TESTS): Add them. + * tests/qual_fault-syntax.test: Add checks for inject=SET:syscall= + expression syntax. + * tests/qual_inject-syntax.test: Likewise. + * tests/qual_fault.test: Append $suffix to -e fault arguments, override + $NAME with $name_override if the latter is set. + * tests/qual_inject-error-signal.test: Append $suffix to -e inject + arguments, override $NAME with $name_override if the latter is set. + * tests/qual_inject-retval.test: Likewise. + * tests/qual_inject-signal.test: Likewise. + +2018-06-13 Eugene Syromyatnikov + + Implement injection of syscalls with no side effects as an alternative to -1 + * defs.h (INJECT_F_SYSCALL, INJECT_ACTION_FLAGS, TCB_TAMPERED_NO_FAIL, + syscall_tampered_nofail): New macros. + (inject_data): Add scno field. + * filter_qualify.c (struct inject_personality_data): New type. + (parse_inject_token): Add "pdata" argument, parse "syscall=" option. + (parse_inject_expression): Add "pdata" argument, forward it to + parse_inject_token. + (qualify_inject_common) : New variable array, pass it to + parse_inject_expression, copy it into inject_vec. + * syscall.c (tamper_with_syscall_entering): Inject the specified syscall + if INJECT_F_SYSCALL is set. + (tamper_with_syscall_exiting): Update the check for a failed syscall + injection. + (get_syscall_result): Update get_error invocation. + * strace.1.in: Document new syscall injection expression. + * NEWS: Mention it. + + Co-Authored-by: Dmitry V. Levin + Closes: https://github.com/strace/strace/issues/26 + +2018-06-13 Dmitry V. Levin + + ia64: remove legacy i386 entries from the syscall entry table. + Remove the last piece of IA-32 mode support. Besides being obsolete, + these bogus syscall entries cause problems with syscall name resolution. + + * linux/ia64/syscallent.h [CST > 0]: Remove. + + Complements: v4.21~17 "linux/ia64: remove IA-32 mode support" + +2018-06-11 Eugene Syromyatnikov + + linux: set error flags in arch_set_error on POWER and Alpha. + * alpha/set_error.c (arch_set_error): Set alpha_r3 to 1, update tracee's + REG_A3. + * powerpc/set_error.c (arch_set_error): Set bit 28 in CCR register, + update tracee's PT_CCR. + + Fixes: v4.15~126 "Implement arch specific methods of changing syscall number and error code" + +2018-06-11 Eugene Syromyatnikov + + tests: check decoding of IFLA_LINKINFO netlink attribute. + * tests/nlattr_ifla_linkinfo.c: New file. + * tests/pure_executables.list: Add nlattr_ifla_linkinfo. + * tests/.gitignore: Likewise. + * tests/gen_tests.in (nlattr_ifla_linkinfo): New test. + + Co-Authored-by: Dmitry V. Levin + +2018-06-11 Eugene Syromyatnikov + + tests: add print_quoted_stringn to print string with a size limit. + This is similar to print_quoted_cstring, but not quite the same. + + * tests/print_quoted_string.c (print_quoted_stringn): New function. + * tests/tests.h (print_quoted_stringn): New declaration. + +2018-06-11 Eugene Syromyatnikov + + tests: add fallback_func argument to TEST_NESTED_NLATTR_OBJECT_EX_ + * tests/test_nlattr.h (TEST_NESTED_NLATTR_OBJECT_EX_): Add fallback_func + argument, call it instead of print_quoted_hex. + (TEST_NESTED_NLATTR_OBJECT_EX, TEST_NESTED_NLATTR_OBJECT): Specify + print_quoted_hex as a fallback_func. + * tests/nlattr_ifla_af_spec.c: Specify print_quoted_hex as + a fallback_func in TEST_NESTED_NLATTR_OBJECT_EX_ calls. + + tests/test_nlattr.h: add ability to provide additional nlattr payload. + * tests/test_nlattr.h (print_nlattr): Add add_data argument, print + opening square bracket if add_data is set to true. + (TEST_NLATTR_EX_): Rename from TEST_NLATTR_, add nla_total_len_ + argument, use it for msg_len calculation, print square brackets + if nla_total_len_ is greater than nla_data_len_. + (TEST_NLATTR_): New macro, a wrapper for TEST_NLATTR_EX_. + +2018-06-11 Eugene Syromyatnikov + + rtnl_link: decode struct ifla_bridge_id unconditionally. + Since it is relatively simple. + + * rtnl_link.c (decode_ifla_bridge_id): Provide struct definition for + the id variable. + [!HAVE_STRUCT_IFLA_BRIDGE_ID] (decode_ifla_bridge_id): Decode struct + ifla_bridge_id. + +2018-06-11 Eugene Syromyatnikov + + nlattr: specify size for ethernet protocol. + Otherwise it tries to decode payload of size 1, which makes little + sense. + + * nlattr.c (decode_nla_ether_proto) : Specify size field. + + Fixes: v4.22-321-gfd0cd65 "nlattr: add ethernet protocol decoder" + +2018-06-11 Eugene Syromyatnikov + + rtnl_link: use ARRSZ_PAIR where appropriate. + It reduces code duplication somewhat and allows avoiding errors like + the one fixed in the previous commit. + + * rtnl_link.c (decode_ifla_protinfo, decode_nla_linkinfo_data_bridge, + decode_nla_linkinfo_data_tun, decode_ifla_linkinfo, decode_ifla_port, + decode_ifla_vf_ports, decode_ifla_xdp, + DECL_NETLINK_ROUTE_DECODER(decode_ifinfomsg)): Use ARRSZ_PAIR in + decode_nlattr call arguments. + +2018-06-11 Eugene Syromyatnikov + + rtnl_link: fix incorrect variable names in ARRAY_SIZE arguments. + * rtnl_link.c (decode_nla_linkinfo_data_bridge): Change + rtnl_ifla_info_data_bridge_attrs to ifla_info_data_bridge_nla_decoders + in ARRAY_SIZE call. + (decode_nla_linkinfo_data_tun): Change rtnl_ifla_info_data_tun_attrs + to ifla_info_data_tun_nla_decoders in ARRAY_SIZE call. + + Fixes: v4.22-328-g1e6d5a8 "rtnl_link: implement IFLA_INFO_DATA for bridges" + Fixes: v4.22-329-g4eab3a4 "rtnl_link: implement IFLA_INFO_DATA for tun devices" + +2018-06-11 Eugene Syromyatnikov + + mips: add missing pure flag to syscall entries. + * linux/mips/syscallent-n32.h ([6038], [6100], [6102], [6105], [6106], + [6108], [6109], [6178]): Add pure flag to getpid, getuid, getgid, geteuid, + getegid, getpgid, getpgrp, and gttid syscall descriptors. + * linux/mips/syscallent-n64.h ([5038], [5100], [5102], [5105], [5106], + [5108], [5109], [5178]): Likewise. + * linux/mips/syscallent-o32.h ([4020], [4024], [4047], [4049], [4050], + [4064], [4065], [4222]): Likewise. + + Complements: v4.21~29 "Add pure syscall flag" + +2018-06-11 Eugene Syromyatnikov + + mips: add missing "never fails" flag to getpgrp syscall entries. + * linux/mips/syscallent-n32.h ([6109]): Add NF flag. + * linux/mips/syscallent-n64.h ([5109]): Likewise. + * linux/mips/syscallent-o32.h ([4065]): Likewise. + + Complements: v4.21~46 "Add SYSCALL_NEVER_FAILS flag to getpgrp" + +2018-06-07 Eugene Syromyatnikov + + Update NEWS. + Co-Authored-by: Dmitry V. Levin + + xlat: describe IPV4_DEVCONF_* weirdness. + * xlat/inet_devconf_indices.in: Add a comment about fallback definitions. + +2018-06-07 Dmitry V. Levin + + configure.ac: fix the check for struct tc_sizespec on old kernel headers + * configure.ac (AC_CHECK_TYPES): Include before + to check for struct tc_sizespec on linux kernel + headers without v2.6.29-rc4~77^2~26 fix. + +2018-06-06 Dmitry V. Levin + + travis: use kernel headers from v4.17. + There is too much noise when using unreleased kernel uapi. + + * ci/install-dependencies.sh (clone_repo): Add optional "branch" + argument, pass it to "git clone". + ($KHEADERS): Pass $KBRANCH as branch argument of clone_repo. + * .travis.yml (matrix): Specify KBRANCH=v4.17 for + KHEADERS=torvalds/linux. + +2018-06-06 Eugene Syromyatnikov + + tests: check decoding of IFLA_AF_SPEC netlink attribute. + * configure.ac (AC_CHECK_TYPES): Check for struct ifla_cacheinfo in + + (AC_CHECK_DECLS): Check for IFLA_AF_SPEC in . + * tests/nlattr_ifla_af_spec.c: New file. + * tests/pure_executables.list: Add nlattr_ifla_af_spec. + * tests/.gitignore: Likewise. + * tests/gen_tests.in (nlattr_ifla_af_spec): New test. + +2018-06-06 Eugene Syromyatnikov + + tests: add TEST_NESTED_NLATTR_ARRAY_EX to test_nlattr.h. + An ability to specify custom depth is going to be needed later to check + IFLA_AF_SPEC decoding. + + * configure.ac (AC_CHECK_DECLS): Check for TCA_STAB_DATA in + . + * tests/test_nlattr.h (TEST_NESTED_NLATTR_ARRAY_EX): Rename from + TEST_NESTED_NLATTR_ARRAY, add depth_ argument, perform padding and + output accordingly. + (TEST_NESTED_NLATTR_ARRAY): New macro, a thin wrapper around + TEST_NESTED_NLATTR_ARRAY_EX. + * tests/nlattr_tca_stab.c [!HAVE_DECL_TCA_STAB_DATA] (TCA_STAB_DATA): + New enumeration declaration. + + Co-Authored-by: Dmitry V. Levin + +2018-06-06 Eugene Syromyatnikov + + tests: pass index to print_elem_ callback in TEST_NLATTR_NESTED_ARRAY. + * tests/test_nlattr.h (TEST_NLATTR_NESTED_ARRAY): Pass array index + to the print_elem_ callback. + * tests/nlattr_tca_stab.c (print_uint16): Add index argument. + + tests: move common ifinfomsg boilerplate into a separate header. + * configure.ac (AC_CHECK_DECLS): Check for IFLA_PORT_SELF, IFLA_PROTINFO, and + IFLA_XDP in . + * tests/nlattr_ifla.h: New file. + * tests/Makefile.am (EXTRA_DIST): Add it. + * tests/nlattr_ifla_brport.c [!HAVE_DECL_IFLA_PROTINFO] (IFLA_PROTINFO): + New declaration. + (hdrlen, init_ifinfomsg, print_ifinfomsg): Remove. + (IFLA_ATTR): Define to IFLA_PROTINFO. + Include nlattr_ifla.h. + * tests/nlattr_ifla_port.c [!HAVE_DECL_IFLA_PORT_SELF] (IFLA_PORT_SELF): + New declaration. + (hdrlen, init_ifinfomsg, print_ifinfomsg): Remove. + (IFLA_ATTR): Define to IFLA_PORT_SELF. + Include nlattr_ifla.h. + * tests/nlattr_ifla_xdp.c + * tests/nlattr_ifla_xdp.c [!HAVE_DECL_IFLA_XDP] (IFLA_XDP): New + declaration. + (hdrlen, init_ifinfomsg, print_ifinfomsg): Remove. + (IFLA_ATTR): Define to IFLA_XDP. + Include nlattr_ifla.h. + + rtnl_link: implement IFLA_INFO_DATA for tun devices. + * xlat/rtnl_ifla_info_data_tun_attrs.in: New file. + * xlat/tun_device_types.in: Likewise. + * rtnl_link.c: Include xlat/rtnl_ifla_info_data_tun_attrs.h and + xlat/tun_device_types.h. + (decode_nla_tun_type, decode_nla_linkinfo_data_tun): New functions. + (ifla_info_data_tun_nla_decoders): New decoder dispatcher table. + (decode_nla_linkinfo_data): Use decode_nla_linkinfo_data_tun if kind + is + "tun". + + rtnl_link: implement IFLA_INFO_DATA for bridges. + * xlat/rtnl_ifla_info_data_bridge_attrs.in: New file. + * rtnl_link.c: Include xlat/rtnl_ifla_info_data_bridge_attrs.h. + (ifla_info_data_bridge_nla_decoders): New decoder dispatcher table. + (decode_nla_linkinfo_data_bridge, decode_nla_linkinfo_data): New + functions. + (ifla_linkinfo_nla_decoders) : Use + decode_nla_linkinfo_data as a decoder. + +2018-06-06 Eugene Syromyatnikov + + rtnl_link: implement IFLA_INFO_XSTATS decoding. + So far, only CAN provides it. + + * rtnl_link.c (decode_nla_linkinfo_xstats_can, + decode_nla_linkinfo_xstats): New function. + (ifla_linkinfo_nla_decoders) : Use + decode_nla_linkinfo_xstats as a decoder. + +2018-06-06 Eugene Syromyatnikov + + rtnl_link: add basic IFLA_INFO_* handling. + Dispatch for IFLA_INFO_* attributes should be performed based on the + string provided in a IFLA_INFO_KIND attribute. + + * nlattr.h (struct ifla_linkinfo_ctx): New type definition. + * rtnl_link.c (decode_nla_linkinfo_kind): New function. + (ifla_linkinfo_nla_decoders) : Use + decode_nla_linkinfo_kind as decoder. + (decode_ifla_linkinfo): Add struct ifla_linkinfo_ctx context, pass it to + the decode_nlattr call as opaque data. + +2018-06-06 Eugene Syromyatnikov + + rtnl_link: decode IFLA_AF_SPEC. + * xlat/in6_addr_gen_mode.in: New file. + * xlat/inet6_devconf_indices.in: Likewise. + * xlat/inet6_if_flags.in: Likewise. + * xlat/inet_devconf_indices.in: Likewise. + * xlat/rtnl_ifla_af_spec_inet6_attrs.in: Likewise. + * xlat/rtnl_ifla_af_spec_inet_attrs.in: Likewise. + * xlat/snmp_icmp6_stats.in: Likewise. + * xlat/snmp_ip_stats.in: Likewise. + * rtnl_link.c: Include netinet/in.h, xlat/in6_addr_gen_mode.h, + xlat/inet_devconf_indices.h, xlat/inet6_devconf_indices.h, + xlat/inet6_if_flags.h, xlat/rtnl_ifla_af_spec_inet_attrs.h, + xlat/rtnl_ifla_af_spec_inet6_attrs.h, xlat/snmp_icmp6_stats.h, + and xlat/snmp_ip_stats.h. + (decode_ifla_inet_conf, decode_ifla_inet6_flags, + decode_ifla_inet6_conf, decode_ifla_inet6_stats, + decode_ifla_inet6_cacheinfo, decode_ifla_inet6_icmp6_stats, + decode_ifla_inet6_token, decode_ifla_inet6_agm, decode_ifla_af, + decode_ifla_af_spec): New functions. + (ifla_inet_nla_decoders, ifla_inet6_nla_decoders, + nla_decoder_table_desc): New static constant variables. + (ifinfomsg_nla_decoders) <[IFLA_AF_SPEC]>: Change value from NULL to + decode_ifla_af_spec. + +2018-06-06 Eugene Syromyatnikov + + nlattr: add size check to decode_nla_xval and decode_nla_flags. + If the field size is known, do not print as valid numbers those + attributes that are too short, and ignore extra data. + + This change puts xval/flags printing in line with the reset of attribute + decoders. + + * nlattr.h (struct decode_nla_xlat_opts): Add size field. + * nlattr.c (decode_nla_xval, decode_nla_flags): Check that len is at + least opts->size, limit len to opts->size. + (decode_nla_ip_proto): Specify size of 1. + + Co-Authored-by: Dmitry V. Levin + +2018-06-06 Eugene Syromyatnikov + + nlattr: add UID/GID netlink attribute decoders. + * nlattr.h (DECL_NLA(uid), DECL_NLA(gid)): New declarations. + * nlattr.c (decode_nla_uid, decode_nla_gid): New functions. + + nlattr: add unsigned int decoders that print in hex form. + * nlattr.h (DECL_NLA(x8), DECL_NLA(x16), DECL_NLA(x32), DECL_NLA(x64)): + New declarations. + * nlattr.c (DECODE_NLA_INTEGER(x8, uint8_t, "%#" PRIx8), + DECODE_NLA_INTEGER(x16, uint16_t, "%#" PRIx16), + DECODE_NLA_INTEGER(x32, uint32_t, "%#" PRIx32), + DECODE_NLA_INTEGER(x64, uint64_t, "%#" PRIx64)): New decoders. + + nlattr: add ethernet protocol decoder. + * nlattr.h (DECL_NLA(ether_proto)): New declaration. + * nlattr.c (process_host_order, decode_nla_ether_proto): New functions. + +2018-06-06 Eugene Syromyatnikov + + nlattr: add value processing support for xlat/flags nlattr decoders. + Needed for upcoming decoder of ethernet proto which is stored in the + host order and has to be converted to the network order before printing + as an xval constant. This change also adds ability to provide + prefix/suffix in order to enclose the printed value in something that + describes the performed conversion. + + * nlattr.h (struct decode_nla_xlat_opts): Add prefix, suffix, and + process_fn fields. + * nlattr.c (decode_nla_xval, decode_nla_flags): Handle process_fn, + prefix, snd uffix parameters. + +2018-06-06 Eugene Syromyatnikov + + nlattr: introduce decode_nla_flags. + Similar to decode_nla_xval. + + * nlattr.c (decode_nla_flags): New function. + * nlattr.h: (DECL_NLA(flags)): New declaration. + +2018-06-06 Eugene Syromyatnikov + + nlattr: add ability to pass nla_type to decoder in decode_nlattr. + As of now, it's impossible to introduce a dispatching nlattr decoder + that performs actions based on the type of the message, so let's use + a combination of zero decoder list size and non-zero decoder pointer + for this. + + This is going to be used later in IFLA_AF_SPEC decoding. + + * nlattr.c (decode_nlattr_with_data): Handle zero size and non-NULL + decoders in a special way. + (decode_nlattr): Add an error message about ignoring of opaque_data + argument when zero size and non-NULL decoders are provided. + * nlattr.h (decode_nlattr): Add a comment about the new special case. + +2018-06-06 Dmitry V. Levin + + tests: use STRINGIFY instead of _STR. + Remove _STR which is essentially the same as STRINGIFY but from + the namespace where we should not introduce new identifiers. + + * tests/tests.h (_STR): Remove. + * tests/add_key.c (main): Replace _STR with STRINGIFY. + * tests/keyctl.c (XARG_STR): Likewise. + * tests/request_key.c (main): Likewise. + +2018-06-06 Eugene Syromyatnikov + + tests: check decoding of IFLA_EVENT netlink attribute. + * tests/nlattr_ifinfomsg.c (main): Add a check for IFLA_EVENT attribute + decoding. + +2018-06-05 Dmitry V. Levin + + xlat: handle xlat constants that are not identifiers. + Extend xlat generator to support such input lines as + IPV4_DEVCONF_FORWARDING-1 0 + + This is going to be used later in IFLA_AF_SPEC decoding. + + * xlat/gen.sh (cond_def): If the xlat value is not an identifier name, + extract an identifier name from the beginning of xlat value. + +2018-06-05 Eugene Syromyatnikov + + xlat.c: handle NULL xlat in lookup routines as incremental search. + This is going to be used later in IFLA_AF_SPEC decoding. + + * xlat.c (xlookup): Add static variable pos, store xlat there when it is + non-NULL, use pos for lookup. + (xlat_search, xlat_idx): Add static variables pos and memb_left, store + xlat and nmemb there when xlat is non-NULL, use them for lookup. + (printxvals_ex): Store the last non-NULL xlat in static variable "last". + If the first xlat argument is NULL, use "last" instead. + + Co-Authored-by: Dmitry V. Levin + +2018-06-05 Eugene Syromyatnikov + + xlat.c: cleanup printxvals_ex a bit. + * xlat.c (printxvals_ex): Change "str" variable visibility to the whole + function, jump to va_end instead of duplicating call and return, return + !!str. + + Leverage the fact that inet_protocols xlat is sorted. + * defs.h (inet_protocols): Move up, add description. + (inet_protocols_size): New declaration. + * net.c (inet_protocols_size): New constant variable. + * nlattr.c (decode_nla_ip_proto): Specify xlat_size, set xt to XT_SORTED. + +2018-06-04 Eugene Syromyatnikov + + Print arp_hardware_types as a sorted xlat. + * rtnl_link.c (DECL_NETLINK_ROUTE_DECODER(decode_ifinfomsg)): Use + PRINT_FIELD_XVAL_SORTED_SIZED instead of PRINT_FIELD_XVAL for + arp_hardware_types. + * sock.c (print_ifreq): Likewise. + + Provide a value for arp_hardware_types_size array. + * defs.h (arp_hardware_types_size): New declaration. + * sockaddr.c (arp_hardware_types_size): New variable. + +2018-06-04 Eugene Syromyatnikov + + print_fields.h: introduce PRINT_FIELD_XVAL_SORTED_SIZED. + For those cases when array definition is not readily available + and should be provided separately. + + * print_fields.h (PRINT_FIELD_XVAL_SORTED_SIZED): New macro. + +2018-06-04 Eugene Syromyatnikov + + tests/opipe.test: remove unneeded run_prog call. + There is no need to invoke grep using run_prog. + + * tests/opipe.test: Remove run_prog decoration for the grep invocation. + +2018-06-04 Eugene Syromyatnikov + + tests: check BPF_OBJ_GET_INFO_BY_FD decoding. + * tests/bpf-obj_get_info_by_fd-prog-v.c: New file. + * tests/bpf-obj_get_info_by_fd-prog.c: Likewise. + * tests/bpf-obj_get_info_by_fd-v.c: Likewise. + * tests/bpf-obj_get_info_by_fd.c: Likewise. + * configure.ac (AC_CHECK_HEADERS): Check for struct bpf_insn, + struct bpf_map_info, and struct bpf_prog_info. + * tests/pure_executables.list: Add bpf-obj_get_info_by_fd, + bpf-obj_get_info_by_fd-v, bpf-obj_get_info_by_fd-prog, and + bpf-obj_get_info_by_fd-prog-v. + * tests/.gitignore: Likewise. + * tests/gen_tests.in (bpf-obj_get_info_by_fd, + bpf-obj_get_info_by_fd-v, bpf-obj_get_info_by_fd-prog, + bpf-obj_get_info_by_fd-prog-v): New tests. + + Co-Authored-by: Dmitry V. Levin + +2018-06-04 Dmitry V. Levin + + bpf: enhance BPF_OBJ_GET_INFO_BY_FD decoder further. + * bpf.c (print_ebpf_prog): Remove "decode" argument, all users updated. + (print_bpf_prog_info): Use the minimum of xlated_prog_len values on + entering and exiting syscall as the size of xlated_prog_insns array + to be decoded. Likewise, use the minimum of nr_map_ids values on entering + and exiting syscall as the size of map_ids array to be decoded. + +2018-06-02 Eugene Syromyatnikov + + bpf: enhance BPF_OBJ_GET_INFO_BY_FD decoder. + * bpf.c (print_bpf_map_info): Print only those fields that are + present in the structure, as it has been growing over time. + (print_bpf_prog_info): Likewise. Print map_ids field as an array + of uint32_t instead of uint64_t; print "name" field. + + Co-Authored-by: Dmitry V. Levin + +2018-06-02 Eugene Syromyatnikov + + bpf: move handling of the saved state to BPF_OBJ_GET_INFO_BY_FD decoder. + As it is needed for proper info_len printing on exiting. + + * bpf.c (print_bpf_obj_info_fn): Change return type to void, add "saved" + argument. + (struct obj_get_info_saved): New type definition. + (print_bpf_map_info, print_bpf_prog_info): Change return type to void, + add "saved" argument, do not handle private tcb data allocation and + obtainment. + (print_bpf_obj_info_addr): Change return type to void, add tcb argument, + print the address only on exiting. + (print_bpf_obj_info): Change return type to void, add "saved" argument. + (BEGIN_BPF_CMD_DECODER(BPF_OBJ_GET_INFO_BY_FD)): Handle private data + allocation/saving/restoring, use it for storing/printing info_len field. + + Co-Authored-by: Dmitry V. Levin + +2018-06-02 Eugene Syromyatnikov + + bpf: print log_buf field as a string. + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD)): Print log_buf field + as a string. + * tests/bpf.c: Update expected output. + + Co-Authored-by: Dmitry V. Levin + +2018-06-02 Eugene Syromyatnikov + + bpf: print xlated_prog_insns only when xlated_prog_len had not been 0. + If xlated_prog_len is zero on entering syscall and non-zero on exiting, + the program itself is not written into xlated_prog_insns. + + * bpf.c (print_ebpf_prog): Add decode argument, print the address only + if decode is false. + (BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD)): Specify decode == true argument + to print_ebpf_prog. + (print_bpf_prog_info): Specify saved xlated_prog_len as decode argument + to print_ebpf_prog. + + Co-Authored-by: Dmitry V. Levin + +2018-06-02 Eugene Syromyatnikov + + bpf: move print_big_u64_addr inside print_ebpf_prog. + * bpf.c (print_ebpf_prog): Add static qualifier. Change the type + of "addr" argument from kernel_ulong_t to uint64_t, print it using + print_big_u64_addr. + (BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD), print_bpf_prog_info): Do not call + print_big_u64_addr before print_ebpf_prog. + + Co-Authored-by: Dmitry V. Levin + +2018-06-02 Dmitry V. Levin + + bpf_attr.h: add ATTRIBUTE_ALIGNED(8) to all fields of type uint64_t. + Our policy is that all fields of type uint64_t in this header file + must have this attribute. + + This shouldn't cause any contradictions with + unless the latter is buggy. + + By word "buggy" I mean containing such changes as Linux kernel commit + v4.16-rc1~123^2~109^2~5^2~4. + + * bpf_attr.h (struct BPF_MAP_UPDATE_ELEM_struct): Add + ATTRIBUTE_ALIGNED(8) to "flags" field. + (struct bpf_prog_info_struct): Add ATTRIBUTE_ALIGNED(8) to "load_time" + field. + +2018-06-02 Eugene Syromyatnikov + + tests: cast printf arguments to short when %h format qualifier is used. + Reported by clang. + + * tests/mknod.c (main): Cast printf argument for %#03ho format to short. + * tests/mknodat.c (main): Likewise. + * tests/net-sockaddr.c (main): Cast printf argument for %hu format + to short. + * tests/semop.c (main): Likewise. + +2018-06-02 Eugene Syromyatnikov + + xlat/evdev_keycode.in: remove constants with duplicating values. + Those are used for describing input device category and not specific + button. + + Reported by clang. + + * xlat/evdev_keycode.in (BTN_MOUSE, BTN_JOYSTICK, BTN_GAMEPAD, BTN_DIGI, + BTN_WHEEL, BTN_TRIGGER_HAPPY): Remove. + +2018-06-01 Eugene Syromyatnikov + + configure.ac: include before + This is needed for old Linux UAPI headers that do no contain commit + v3.1-rc2~19^2~29. + + * configure.ac: Include before + in AC_CHECK_* invocations. + +2018-06-01 Eugene Syromyatnikov + + configure.ac: check for linux/rtnetlink.h instead of linux/if_link.h for declarations + Historically, type definitions and declarations related to netlink route + interface attributes were in linux/rtnetlink.h, later they were moved + elsewhere (first linux/if.h, then linux/if_link.h) with the inclusion + of the corresponding header file in linux/rtnetlink.h. + + * configure.ac: Use instead of + in checks for interface netlink attributes-related declarations + and definitions. + +2018-06-01 Eugene Syromyatnikov + + m4: move the gawk script from m4/gen_bpf_attr_m4.sh into a separate file + As it turns out, old versions of gawk do not support -e option. + + * m4/gen_bpf_attr_m4.sh: Move the gawk script ... + * m4/gen_bpf_attr_m4.awk: ... here. + +2018-06-01 Eugene Syromyatnikov + + s390: wire up kexec_file_load syscall. + * linux/s390/syscallent.h ([381]): Add kexec_file_load syscall. + * linux/s390/syscallent.h ([381]): Likewise. + +2018-06-01 Zhibin Li <08826794brmt@gmail.com> + + tests: check short read of struct flock/flock64. + * tests/fcntl-common.c (test_flock_einval): Check short read + of struct flock. + (test_flock64_einval): Check short read of struct flock64. + +2018-06-01 Dmitry V. Levin + + tests: extend struct flock/flock64 decoding checks. + * tests/fcntl-common.c (test_flock_einval, test_flock): Create + struct_kernel_flock object using tail_alloc. + (test_flock64_einval): Create struct_kernel_flock64 object using + tail_alloc. + * tests/fcntl64.c (test_flock64_lk64): Likewise. + +2018-06-01 Dmitry V. Levin + + tests: extend F_OFD_* decoding checks. + Check that non-faulty F_OFD_* fcntl operations are decoded properly. + + * tests/fcntl-common.c: Include . + (test_flock64_ofd): New function. + (test_flock64): Invoke it, remove [F_OFD_SETLK]. + +2018-06-01 Dmitry V. Levin + + tests/fcntl-common.c: define and initialize errstr. + Initialize errstr inside invoke_test_syscall so that its users + won't have to go into trouble of caring about clobbering errno. + + * tests/fcntl-common.c (errstr): New variable. + (invoke_test_syscall): Initialize it. + (test_flock_einval, test_flock64_einval, test_flock, + test_f_owner_ex_type_pid): Use it. + * tests/fcntl.c (test_flock64_undecoded): Likewise. + * tests/fcntl64.c (test_flock64_lk64): Likewise. + +2018-06-01 Dmitry V. Levin + + tests/fcntl-common.c: add fd argument to invoke_test_syscall. + Extend invoke_test_syscall for later use with different file + descriptors. + + * tests/fcntl-common.c (invoke_test_syscall): Add fd argument, pass it + to TEST_SYSCALL_NR syscall. All users updated. + +2018-06-01 Dmitry V. Levin + + tests: move F_OFD_SETLK* checks from fcntl64.c to fcntl-common.c. + This change enables F_OFD_SETLK* tests for fcntl as well. + + * tests/fcntl64.c (test_flock64): Rename to test_flock64_lk64. + [F_OFD_SETLK]: Remove. + (test_flock64_einval): Move ... + * tests/fcntl-common.c: ... here. + (test_flock64_lk64): New protype. + (test_flock64_einval, test_flock64): New functions. + * tests/fcntl.c (test_flock64_einval): Rename to test_flock64_undecoded. + (TEST_FLOCK64_UNDECODED): New macro. + (test_flock64): Rename to test_flock64_lk64, replace TEST_FLOCK64_EINVAL + with TEST_FLOCK64_UNDECODED. + +2018-06-01 Dmitry V. Levin + + tests: move F_OWNER_* tests to fcntl-common.c. + This change enables F_OWNER_* tests for fcntl64 as well. + + * tests/fcntl.c: Move main, [TEST_FLOCK64_EINVAL], + and [TEST_F_OWNER_EX] ... + * tests/fcntl-common.c: ... here. + (test_flock64): New prototype. + * tests/fcntl64.c (main): Remove. + +2018-06-01 Dmitry V. Levin + + tests: rename struct_flock.c to fcntl-common.c. + It is not limited to struct flock, more fcntl tests are going to land + in this file. + + * tests/struct_flock.c: Rename to fcntl-common.c. + * tests/Makefile.am (EXTRA_DIST): Rename struct_flock.c + to fcntl-common.c. + * tests/fcntl.c: Likewise. + * tests/fcntl64.c: Likewise. + +2018-05-30 Eugene Syromyatnikov + + tests: check decoding of new FRA_* netlink attributes. + * configure.ac (AC_CHECK_TYPES): Check for struct fib_rule_port_range + in . + * tests/nlattr_fib_rule_hdr.c: Include . + (FRA_PROTOCOL, FRA_IP_PROTO, FRA_SPORT_RANGE, FRA_DPORT_RANGE): New + macro constants. + [!HAVE_STRUCT_FIB_RULE_PORT_RANGE] (struct fib_rule_port_range): New + type. + (main): Check decoding of new FRA_* netlink attributes. + + Co-Authored-by: Dmitry V. Levin + +2018-05-30 Eugene Syromyatnikov + + rtnl_rule: decode new FRA_* attributes. + * nlattr.h (DECL_NLA(ip_proto), DECL_NLA(rt_proto)): New declarations. + * nlattr.c (decode_nla_ip_proto): New function. + * rtnl_route.c (decode_nla_rt_proto): Likewise. + * rtnl_rule.c (decode_rule_port_rang): Likewise. + (fib_rule_hdr_nla_decoders) <[FRA_PROTOCOL]>: New attribute, introduced + by Linux commit v4.17-rc1~148^2~371. + (fib_rule_hdr_nla_decoders) <[FRA_IP_PROTO], [FRA_SPORT_RANGE], + [FRA_DPORT_RANGE]>: New attributes, introduced by Linux commit + v4.17-rc1~148^2~328^2~4. + * xlat/rtnl_rule_attrs.in (FRA_PROTOCOL, FRA_IP_PROTO, FRA_SPORT_RANGE, + FRA_DPORT_RANGE): New constants. + + Co-Authored-by: Dmitry V. Levin + +2018-05-30 Eugene Syromyatnikov + + nlattr: introduce decode_nla_xval helper. + * nlattr.c (decode_nla_xval): New function. + * nlattr.h: Include "xlat.h". + (struct decode_nla_xlat_opts): New type. + (DECL_NLA(xval)): New declaration. + + Co-Authored-by: Dmitry V. Levin + +2018-05-30 Dmitry V. Levin + + Move definitions of xlat_type and xlat_style from defs.h to xlat.h. + * defs.h (enum xlat_type, enum xlat_style, XLAT_STYLE_FORMAT_SHIFT, + XLAT_STYLE_VERBOSITY_MASK, XLAT_STYLE_FORMAT_MASK, XLAT_STYLE_SPEC_BITS, + XLAT_STYLE_MASK): Move ... + * xlat.h: ... here. + + travis: switch from gcc-7 to gcc-8. + * .travis.yml (matrix): Change gcc-7 to gcc-8. + +2018-05-30 Eugene Syromyatnikov + + tests: use syscall() for ioctl() calls with oversized arguments. + * tests/ioctl_inotify.c (sys_ioctl): New function. + (main): Use sys_ioctl for ioctl calls with oversized arguments. + * tests/ioctl_loop.c: Likewise. + * tests/ioctl_perf.c: Likewise. + +2018-05-30 Eugene Syromyatnikov + + print_ifindex: respect xlat style settings. + Print interface indices according to the preferred xlat style settings. + + * print_ifindex.c (INI_PFX, INI_SFX): New helper macros. + [HAVE_IF_INDEXTONAME] (get_ifname): New function. + [HAVE_IF_INDEXTONAME] (print_ifindex): Implement as a wrapper around + get_ifname and print_xlat_ex. + +2018-05-30 Eugene Syromyatnikov + + tests/test_nlattr.h: fix pointer calculation in TEST_NLATTR_ARRAY, take 2 + The old code works only when an array contains exactly two items. + + * tests/test_nlattr.h (TEST_NLATTR_ARRAY): Fix pointer address + for the case of incomplete read. + +2018-05-30 Eugene Syromyatnikov + + nlattr: print index names in netlink meminfo array. + * xlat/netlink_sk_meminfo_indices.in: New file. + * nlattr.c: Include xlat/netlink_sk_meminfo_indices.h. + (decode_nla_meminfo): Use print_array_ex, pass + netlink_sk_meminfo_indices as index xlat table. + * tests/nlattr_inet_diag_msg.c: Update expected output. + +2018-05-30 Eugene Syromyatnikov + + Introduce ARRSZ_PAIR macro. + A shorthand similar to ARG_STR in its purpose: it provides and ability + to pass an array an its size without variable name duplication. + + * macros.h (ARRSZ_PAIR): New macro. + +2018-05-30 Eugene Syromyatnikov + + print_array: add support for printing array indices. + * defs.h (XLAT_STYLE_SPEC_BITS, XLAT_STYLE_MASK): New macro constants. + (tfetch_mem_fn, print_fn): New typedefs. + (enum print_array_flag_bits, enum print_array_flags): New enumerations. + (print_array_ex): Rename from print_array, add flags, index_xlat, + index_xlat_size, and index_dflt arguments. + (print_array): New static inline function, a thin wrapper around + print_array_ex. + util.c: Include "xlat.h". + (print_array): Rename to print_array_ex, add flags, index_xlat, + index_xlat_size, and index_dflt arguments. Print array indices + according to the style settings specified by flags if PAF_PRINT_INDICES + is set. + +2018-05-29 Dmitry V. Levin + + Enhance printing of unfetchable object addresses in sequences and arrays + * btrfs.c (btrfs_print_tree_search): Print the address of unfetchable + object inside the sequence using printaddr_comment. + * msghdr.c (decode_msg_control): Likewise. + * execve.c (printargv): Print the address of unfetchable object inside + the array using printaddr_comment. + * netlink.c (fetch_nlmsghdr): Add in_array argument. When in_array + is true, print the address of unfetchable object using + printaddr_comment. + * nlattr.c (fetch_nlattr): Likewise. + * tests/execve.c (main): Update expected output. + * tests/execveat.c (main): Likewise. + * tests/msg_control.c (test_scm_rights1, test_scm_rights2, + test_scm_security): Likewise. + * tests/netlink_protocol.c (send_query): Likewise. + * tests/nlattr.c (test_nlattr): Likewise. + +2018-05-29 Dmitry V. Levin + + print_array: enhance printing of unfetchable object addresses. + When umoven_func invocation fails to fetch data, it prints the faulty + address. If this happens to a subsequent umoven_func invocation, + the printed address may be undistinguishable from a valid data printed + by print_func, e.g. when the data is printed in a numeric form like + [0x1, 0x2, 0x3, 0xdefaced]. + + Fix this source of confusion by moving the printing of the faulty + address from umoven_func to print_array itself. This change renames + umoven_func to tfetch_mem_func and changes its semantics, so that + - tfetch_mem_func never prints anything; + - tfetch_mem_func returns true if the fetch succeeded, + and false otherwise. + + * defs.h (print_array): Replace umoven_func argument with + tfetch_mem_func. + * util.c (print_array): Replace umoven_func argument with + tfetch_mem_func, document expected tfetch_mem_func return value + semantics. When tfetch_mem_func returns false, print either addr + or "... /* addr */" depending on the context (inside the array or not). + * bpf.c (print_ebpf_prog, print_bpf_prog_info, + BEGIN_BPF_CMD_DECODER(BPF_PROG_QUERY)): Replace umoven_or_printaddr + argument of print_array with tfetch_mem. + * bpf_filter.c (print_bpf_fprog): Likewise. + * btrfs.c (btrfs_print_logical_ino_container, + btrfs_print_ino_path_container, btrfs_print_qgroup_inherit, + btrfs_ioctl): Likewise. + * dm.c (dm_decode_dm_target_deps): Likewise. + * epoll.c (epoll_wait_common): Likewise. + * file_ioctl.c (file_ioctl): Likewise. + * ipc_sem.c (tprint_sembuf_array): Likewise. + * kexec.c (print_kexec_segments): Likewise. + * mem.c (SYS_FUNC(subpage_prot)): Likewise. + * net.c (print_getsockopt): Likewise. + * netlink.c (decode_nlmsgerr_attr_cookie): Likewise. + * netlink_netlink_diag.c (decode_netlink_diag_groups): Likewise. + * netlink_packet_diag.c (decode_packet_diag_mclist): Likewise. + * netlink_unix_diag.c (decode_unix_diag_inode): Likewise. + * nlattr.c (decode_nla_meminfo): Likewise. + * numa.c (print_nodemask, SYS_FUNC(move_pages), + * perf_ioctl.c (perf_ioctl_query_bpf): Likewise. + * poll.c (decode_poll_entering): Likewise. + * printsiginfo.c (print_siginfo_array): Likewise. + * rtnl_tc.c (decode_tca_stab_data): Likewise. + * sock.c (decode_ifconf): Likewise. + * uid.c (print_groups): Likewise. + * io.c (SYS_FUNC(io_submit), SYS_FUNC(io_getevents)): Replace + umoven_or_printaddr argument of print_array with tfetch_mem. + (tprint_iov_upto): Replace umoven_or_printaddr_ignore_syserror + with tfetch_mem_ignore_syserror. + * v4l2.c (print_v4l2_format_fmt): Replace umoven_or_printaddr argument + of print_array with tfetch_mem. + (print_v4l2_ext_controls): Replace umoven_or_printaddr_ignore_syserror + with tfetch_mem_ignore_syserror. + * mmsghdr.c (fetch_struct_mmsghdr_or_printaddr): Rename + to fetch_struct_mmsghdr_for_print, do not print address, return bool. + (decode_mmsgvec): Replace fetch_struct_mmsghdr_or_printaddr + with fetch_struct_mmsghdr_for_print. + * tests/aio.c (main): Update expected output. + * tests/bpf.c (print_BPF_PROG_QUERY_attr5): Likewise. + * tests/ioctl_perf-success.c (main): Likewise. + * tests/ioctl_v4l2.c (main): Update expected output. + * tests/kexec_load.c (main): Likewise. + * tests/mmsg_name.c (test_mmsg_name): Update expected output. + * tests/move_pages.c (print_page_array, print_node_array): Likewise. + * tests/poll.c (print_pollfd_array_entering): Likewise. + * tests/preadv-pwritev.c (main): Likewise. + * tests/preadv2-pwritev2.c (dumpio): Likewise. + * tests/process_vm_readv_writev.c (print_iov): Likewise. + * tests/pwritev.c (print_iovec): Likewise. + * tests/readv.c (main): Likewise. + * tests/seccomp-filter-v.c + * tests/semop.c (main): Likewise. + * tests/set_mempolicy.c (print_nodes): Likewise. + * tests/setgroups.c (main): Likewise. + * tests/test_nlattr.h (print_nlattr) Likewise. + + Co-Authored-by: Eugene Syromyatnikov + +2018-05-29 Dmitry V. Levin + + Introduce tfetch_* family of functions and macros. + These new functions are going to be used instead of umove_or_printaddr* + as umoven_func argument of print_array. + + * defs.h (tfetch_mem64, tfetch_mem64_ignore_syserror): New + function prototypes. + (tfetch_mem, tfetch_mem_ignore_syserror): New static inline + wrappers. + (tfetch_obj): New macro wrapper around tfetch_mem. + * util.c (tfetch_mem64, tfetch_mem64_ignore_syserror): New + functions. + (umoven_or_printaddr64, umoven_or_printaddr64_ignore_syserror): Use + them. + +2018-05-29 Dmitry V. Levin + + Introduce printaddr_comment. + * defs.h (printaddr_comment): New static inline wrapper around + tprintf_comment. + + Turn printaddr into a thin wrapper around printaddr64. + * util.c (printaddr): Move ... + * defs.h: ... here, add "static inline" qualifiers. + +2018-05-29 Eugene Syromyatnikov + + defs.h: add comments about umove* return values. + * defs.h (umoven, umoven_or_printaddr64, + umoven_or_printaddr64_ignore_syserror, umovestr): Add comments about + return values. + +2018-05-28 Dmitry V. Levin + + tests: use TAIL_ALLOC_OBJECT_CONST_PTR where appropriate. + * tests/kcmp.c (main): Use TAIL_ALLOC_OBJECT_CONST_PTR. + * tests/modify_ldt.c (main): Likewise. + * tests/netlink_protocol.c (send_query): Likewise. + * tests/ptrace.c (test_peeksiginfo, main): Likewise. + * tests/s390_guarded_storage.c (main): Likewise. + * tests/s390_sthyi.c (main): Likewise. + * tests/xet_thread_area_x86.c (main): Likewise. + +2018-05-28 Eugene Syromyatnikov + + bpf: decode bpf_attr.info field used by BPF_OBJ_GET_INFO_BY_FD command. + * bpf_attr.h [!BPF_TAG_SIZE] (BPF_TAG_SIZE): Define. + [BPF_TAG_SIZE]: Check that BPF_TAG_SIZE is 8. + (struct bpf_map_info_struct, struct bpf_prog_info_struct): New + structures. + (bpf_map_info_struct_size, expected_bpf_map_info_struct_size, + bpf_prog_info_struct_size, expected_bpf_prog_info_struct_size): New + macro constants. + * bpf.c (print_bpf_obj_info_fn): New type. + (print_bpf_map_info, print_bpf_prog_info, fetch_bpf_obj_info, + print_bpf_obj_info_addr, print_bpf_obj_info): New functions. + (BEGIN_BPF_CMD_DECODER(BPF_OBJ_GET_INFO_BY_FD)): Print bpf_fd and info_len + fields only on entering, call print_bpf_obj_info for printing info field. + * tests/bpf.c (BPF_OBJ_GET_INFO_BY_FD_checks): Print info field + as a pointer. + + Co-Authored-by: Dmitry V. Levin + +2018-05-28 Eugene Syromyatnikov + + bpf: add support for checking structures outside union bpf_attr. + struct bpf_prog_info and bpf_map_info need essentially the same handling + as union bpf_attr. + + * gen_bpf_attr_check.sh: Derive type_name from $struct if it doesn't + start with "BPF_", derive TYPE_NAME from type_name, use them in code + generation. + * m4/gen_bpf_attr_m4.sh: Rewrite parsing/generation code into awk, + add support for structures outside union bpf_attr. + + Co-Authored-by: Dmitry V. Levin + +2018-05-28 Dmitry V. Levin + + bpf: remove bpf_priv_data. + As various bpf commands need different data to save between entering + and exiting of the syscall, do not emulate union bpf_attr approach. + + * bpf.c (struct bpf_priv_data): Remove. + (DECL_BPF_CMD_DECODER): Remove "struct bpf_priv_data *" argument. + (BEGIN_BPF_CMD_DECODER(BPF_PROG_QUERY)): Use set_tcb_priv_ulong + and get_tcb_priv_ulong to keep bpf_attr.query.prog_cnt field. + (SYS_FUNC(bpf)): Remove priv variable, do not initialize it, + and do not pass it to bpf_cmd_decoders. + +2018-05-28 Eugene Syromyatnikov + + tests: add union bpf_attr.query.prog_ids field decoding checks. + * tests/bpf-success-v.c: New file. + * tests/bpf-success.c: Likewise. + * tests/bpf-success-v.test: New test. + * tests/bpf-success.test: Likewise. + * tests/.gitignore: Add bpf-success and bpf-success-v. + * tests/Makefile.am (check_PROGRAMS): Likewise. + (DECODER_TESTS): Add bpf-success.test and bpf-success-v.test. + * tests/bpf.c [INJECT_RETVAL] (sys_bpf): Check that retuned value + is equivalent to the injected one; append "(INJECTED)" string to errstr. + (prog_load_ids, prog_load_ids_ptr): New variables. + (init_BPF_PROG_QUERY_attr4, print_BPF_PROG_QUERY_attr4, + init_BPF_PROG_QUERY_attr5, print_BPF_PROG_QUERY_attr5): New functions. + (BPF_PROG_QUERY_checks): Drop "const" qualifier, add new checks. + + bpf: BPF_PROG_QUERY bpf_attr.query.prog_ids printing fixes. + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_PROG_QUERY)): Use + print_uint32_array_member instead of print_uint64_array_member for + printing prog_ids elements (and change the type of prog_id_buf from + uint64_t to uint32_t), as they are 32-bit; use common trick with + print_big_u64_addr for handling possible ambiguity with prog_ids + address. + * tests/bpf.c (BIG_ADDR_MAYBE): New macro. + (BPF_PROG_QUERY_checks): Update expected output. + + bpf: add support for instruction decoding. + * xlat/ebpf_regs.in: New file. + * bpf.c (struct ebpf_insn, struct ebpf_insns_data): New type definitions. + (print_ebpf_insn, print_ebpf_prog): New functions. + (DEF_BPF_CMD_DECODER(BPF_PROG_LOAD)): Use them. + +2018-05-28 Eugene Syromyatnikov + + tests: check decoding of successful PERF_EVENT_IOC_{ID,QUERY_BPF} ioctls + As these have some argument output on the exit path. + + * tests/ioctl_perf-success.c: New file. + * tests/ioctl_perf-success.test: New test. + * tests/Makefile.am (DECODER_TESTS): Add it. + (check_PROGRAMS): Add ioctl_perf-success. + * tests/.gitignore: Likewise. + * tests/ioctl_perf.c: Remove TODO. + + Co-Authored-by: Dmitry V. Levin + +2018-05-28 Eugene Syromyatnikov + + Implement PERF_EVENT_IOC_* decoding. + * perf.c (fetch_perf_event_attr, print_perf_event_attr): Remove "static" + qualifier. + * defs.h (fetch_perf_event_attr, print_perf_event_attr): New + declarations. + * perf_event_struct.h (struct perf_event_query_bpf): New type + definition. + * perf_ioctl.c: New file. + * Makefile.am (strace_SOURCES): Add it. + * xlat/perf_ioctl_cmds.in: New file. + * xlat/perf_ioctl_flags.in: Likewise. + * ioctl.c (ioctl_decode) : Call perf_ioctl. + * tests/gen_tests.in (ioctl_perf): New test. + * tests/ioctl_perf.c: New file. + * tests/pure_executables.list: ioctl_perf. + * tests/.gitignore: Likewise. + + Co-Authored-by: Dmitry V. Levin + +2018-05-28 Dmitry V. Levin + + tests: fix ipc_msgbuf.test. + * tests/ipc_msgbuf.test: Fix -a argument. + +2018-05-25 Eugene Syromyatnikov + + xlat: update IPPROTO_* constants. + * xlat/inet_protocols.in (IPPROTO_GGP, IPPROTO_HELLO, IPPROTO_ND): + Remove, not defined in Linux. + (IPPROTO_BEETPH): New constant, introduced by Linux commit + v2.6.19-rc1~33^2. + (IPPROTO_L2TP): New constant, introduced by Linux commit + v2.6.35-rc1~473^2~594. + (IPPROTO_MH): New constant, introduced by Linux commit + v2.6.19-rc1~1272^2~157. + Add default values to constants, sort the file. + + xlat: add fallback definitions to RTPROT_* constants. + * xlat/routing_protocols.in: Add default values to constants. + + xlat: add SECCOMP_FILTER_FLAG_SPEC_ALLOW. + * xlat/seccomp_filter_flags.in (SECCOMP_FILTER_FLAG_SPEC_ALLOW): New + constant, introduced by Linux commit v4.17-rc3-24-g00a02d0. + * tests/seccomp-filter.c: Update expected output. + * tests/seccomp-filter-v.c: Likewise. + + prctl: add PR_GET_SPECULATION_CTRL/PR_SET_SPECULATION_CTRL decoding. + * xlat/pr_spec_cmds.in: New fille. + * xlat/pr_spec_get_store_bypass_flags.in: Likewise. + * xlat/pr_spec_set_store_bypass_flags.in: Likewise. + * xlat/prctl_options.in (PR_GET_SPECULATION_CTRL, + PR_SET_SPECULATION_CTRL): New constants, introduced by Linux commit + v4.17-rc3-15-gb617cfc. + * prctl.c (SYS_FUNC(prctl)) : Implement decoding of new prctl options. + * tests/Makefile.am (check_PROGRAMS): Add prctl-spec-inject. + (DECODER_TESTS): Add prctl-spec-inject.test. + * tests/prctl-spec-inject.c: New file. + * tests/prctl-spec-inject.test: New test. + * tests/.gitignore: Add prctl-spec-inject. + + tests: add keyctl variants with different xlat verbosity levels. + * tests/keyctl-Xabbrev.c: New file. + * tests/keyctl-Xraw.c: Likewise. + * tests/keyctl-Xverbose.c: Likewise. + * tests/keyctl.c (XARG_STR): New macro. + (do_keyctl): Print command in accordance with XLAT_RAW/XLAT_VERBOSE settings. + (main): Update expected output. + * tests/pure_executables.list: Add keyctl-Xabbrev, keyctl-Xraw, + and keyctl-Xverbose. + * tests/.gitignore: Likewise. + * tests/gen_tests.in (keyctl-Xabbrev, keyctl-Xraw, keyctl-Xverbose): New + tests. + + keyctl: print KEYCTL_SET_REQKEY_KEYRING argument as an integer. + * xlat/key_reqkeys.in: Add #val_type int. + * keyctl.c (SYS_FUNC(keyctl)) : Print + arg2 as an integer. + * tests/keyctl.c: Update expected output. + + keyctl: respect xlat style when printing errno. + * keyctl.c (keyctl_reject_key): Use print_xlat_ex for printing error + argument. + +2018-05-25 Eugene Syromyatnikov + + syscall.c: unify error value printing. + There's little reason not to decode error code for syscalls printed in + raw; moreover, it creates inconsistencies for unknown syscall printing. + + Another issue was with error numbers unknown to strace: previously, they + were printed as "... = -1 1234 (Unknown error 1234)" which looked kinda + weird. + + * syscall.c (print_err_ret): New function. + (syscall_exiting_trace): Remove u_error variable, use tcp->u_error + instead. Remove u_error_str variable. + (syscall_exiting_trace) : Call print_err_ret if u_error + is non-zero. + (syscall_exiting_trace) u_error)>: + Use print_err_ret for default error printing. + * tests/nsyscalls.c [!LINUX_MIPSO32] (test_syscall): Update expected + output. + * tests/qual_fault.c (invoke) : Likewise. + * strace.1.in (.SH DESCIPTION): Update unknown syscall example. + +2018-05-25 Eugene Syromyatnikov + + ioctl: implement INOTIFY_IOC_SETNEXTWD decoding. + * inotify_ioctl.c: New file. + * Makefile.am (strace_SOURCES): Add it. + * defs.h (DECL_IOCTL(inotify)): New declaration. + * ioctl.c (ioctl_decode) : Call inotify_ioctl. + * tests/ioctl_inotify.c: New file. + * tests/.gitignore: Add ioctl_inotify. + * tests/pure_executables.list: Likewise. + * tests/gen_tests.in (ioctl_inotify): New test. + + tests/test_nlattr.h: avoid testing cropped objects of size 1. + * tests/test_nlattr.h (TEST_NLATTR_OBJECT_EX_): Check + "len < sizeof(obj_)" case only if "sizeof(obj_) > 1". + + tests: pass index to print_elem_ callback in TEST_NLATTR_ARRAY. + * tests/test_nlattr.h (TEST_NLATTR_ARRAY): Pass array index to the + print_elem_ callback. + * tests/nlattr_inet_diag_msg.c (print_uint): Add index argument. + * tests/nlattr_netlink_diag_msg.c (print_xlong): Likewise. + * tests/nlattr_packet_diag_msg.c (print_packet_diag_mclist, + print_sock_filter): Likewise. + * tests/nlattr_unix_diag_msg.c (print_uint): Likewise. + +2018-05-24 Dmitry V. Levin + + tests: further cleanup bpf big address checks. + Replace BIG_ADDR_IS_64BIT and BIG_ADDR_IS_32BIT with BIG_ADDR(). + + * tests/bpf.c (BIG_ADDR): New macro. + (BIG_ADDR_IS_64BIT, BIG_ADDR_IS_32BIT): Remove. + (BPF_PROG_LOAD_checks, BPF_OBJ_PIN_checks, + BPF_RAW_TRACEPOINT_OPEN_checks): Use BIG_ADDR() instead of + BIG_ADDR_IS_64BIT and BIG_ADDR_IS_32BIT. + +2018-05-23 Dmitry V. Levin + + tests: cleanup bpf big address checks. + Introduce BIG_ADDR_IS_64BIT and BIG_ADDR_IS_32BIT to reduce redundancy. + + * tests/bpf.c (BIG_ADDR_IS_64BIT, BIG_ADDR_IS_32BIT): New macros. + (BPF_PROG_LOAD_checks, BPF_OBJ_PIN_checks, + BPF_RAW_TRACEPOINT_OPEN_checks): Use them. + +2018-05-23 Eugene Syromyatnikov + + bpf: add support for BPF_RAW_TRACEPOINT_OPEN command decoding. + * bpf_attr.h (struct BPF_RAW_TRACEPOINT_OPEN_struct): New type + definition. + (BPF_RAW_TRACEPOINT_OPEN_struct_size, + expected_BPF_RAW_TRACEPOINT_OPEN_struct_size): New macros. + * xlat/bpf_commands.in (BPF_RAW_TRACEPOINT_OPEN): New constant, + introduced by Linux commit v4.17-rc1~148^2~19^2~4^2~3. + * xlat/bpf_prog_types.in (BPF_PROG_TYPE_RAW_TRACEPOINT): Likewise. + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_RAW_TRACEPOINT_OPEN)): New bpf + command decoder. + (SYS_FUNC(bpf)) : Add + BPF_CMD_ENTRY(BPF_RAW_TRACEPOINT_OPEN). + * tests/bpf.c (union bpf_attr_data): Add + BPF_ATTR_DATA_FIELD(BPF_RAW_TRACEPOINT_OPEN). + (BPF_PROG_LOAD_checks): Update. + (init_BPF_RAW_TRACEPOINT_attr2): New function. + (BPF_RAW_TRACEPOINT_OPEN_checks): New checks array. + (main) : Add CHK(BPF_RAW_TRACEPOINT_OPEN). + + bpf: add support for decoding struct bpf_attr.expected_attach_type field + * bpf_attr.h (struct BPF_PROG_LOAD_struct): Add expected_attach_type + field. + (BPF_PROG_LOAD_struct_size): Update to offsetofend of + expected_attach_type field. + (expected_BPF_PROG_LOAD_struct_size): Update to 72. + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD)): Decode + expected_attach_type field. + * tests/bpf.c: Update expected output. + +2018-05-23 Eugene Syromyatnikov + + nlattr: do not assume that SK_MEMINFO_VARS is constant. + SK_MEMINFO_VARS changes over time (as it was in Linux commit + v4.7-rc1~154^2~354^2~4, for example), so we cannot use it + for sanity checks. + + * nlattr.c (print_meminfo): Remove. + (decode_nla_meminfo): Use generic print_uint32_array_member element + printer callback. + * tests/nlattr_inet_diag_msg.c (main): Update expected output. + +2018-05-23 Eugene Syromyatnikov + + Introduce print_uint32_array_member helper function. + Analogous to print_int32_array_member, this helper is going to be used + in various decoders, including BPF_PROG_QUERY, PERF_EVENT_IOC_*, + and netlink meminfo. + + * defs.h (print_uint32_array_member): New declaration. + * util.c (print_uint32_array_member): New function. + +2018-05-23 Eugene Syromyatnikov + + Introduce print_int32_array_member helper function. + Analogous to print_uint64_array_member, this helper is going to be used + for IFLA_AF_SPEC decoding. + + * defs.h (print_int32_array_member): New declaration. + * util.c (print_int32_array_member): New function. + +2018-05-23 Eugene Syromyatnikov + + defs.h: move print_uint64_array_member and print_array declarations down + In preparation for the forthcoming changes. + +2018-05-23 Eugene Syromyatnikov + + tests/test_nlattr.h: fix pointer calculation in TEST_NLATTR_ARRAY. + The old code works only when an array contains exactly two items. + + * tests/test_nlattr.h (TEST_NLATTR_ARRAY): Fix pointer address + for the case of incomplete read. + +2018-05-23 Eugene Syromyatnikov + + sockaddr: add support for sockaddr_l2 without l2_bdaddr_type. + Apparently, struct sockaddr_l2 changed over time: the l2_bdaddr_type + field was added only by commit v3.5-rc1~35^2~3^2~18^2^2~39. + + * configure.ac (AC_CHECK_HEADERS): Move bluetooth/bluetooth.h check into + a separate check. + (AC_CHECK_HEADERS([bluetooth/bluetooth.h])): New check, also checks for + struct sockaddr_l2.l2_bdaddr_type member in case of success. + * sockaddr.c (print_sockaddr_data_bt) : Add to sizeof(struct sockaddr_l2) case. Print + l2_bdaddr_type field only if the provided sockaddr is big enough. + * tests/net-sockaddr.c (check_l2): Put l2_bdaddr_type usage/printing + under HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE ifdef, add a check for the + sockaddr_l2 structure without the l2_bdaddr_type field. + +2018-05-23 Eugene Syromyatnikov + + sock: guess ifr_hwaddr size in SIOCSIFHWADDR/SIOCGIFHWADDR. + And make the output more structured. + + * sock.c: Include xlat/arp_hardware_types.h in XLAT_MACROS_ONLY mode. + (print_ifreq) : Introduce + hwaddr_sizes array, print ifr_hwaddr.sa_family, print ifr_hwaddr.sa_data + using hwaddr_sizes and PRINT_FIELD_MAC_SZ. + +2018-05-22 Dmitry V. Levin + + Simplify errnoent and signalent. + Remove personality support for errnoent and signalent as + there is nothing personality-specific in these files. + + * linux/aarch64/errnoent1.h: Remove. + * linux/aarch64/signalent1.h: Likewise. + * linux/powerpc64/errnoent1.h: Likewise. + * linux/powerpc64/signalent1.h: Likewise. + * linux/riscv/errnoent1.h: Likewise. + * linux/riscv/signalent1.h: Likewise. + * linux/s390x/errnoent1.h: Likewise. + * linux/s390x/signalent1.h: Likewise. + * linux/sparc64/errnoent1.h: Likewise. + * linux/sparc64/signalent1.h: Likewise. + * linux/tile/errnoent1.h: Likewise. + * linux/tile/signalent1.h: Likewise. + * linux/x32/errnoent1.h: Likewise. + * linux/x32/signalent1.h: Likewise. + * linux/x86_64/errnoent1.h: Likewise. + * linux/x86_64/errnoent2.h: Likewise. + * linux/x86_64/signalent1.h: Likewise. + * linux/x86_64/signalent2.h: Likewise. + * Makefile.am (EXTRA_DIST): Remove them. + * defs.h (errnoent0): Rename to errnoent. + (signalent0): Rename signalent. + (nerrnos, nsignals): Change to const variables unconditionally. + * syscall.c (errnoent0): Rename to errnoent. + (signalent0): Rename signalent. + (nerrnos, nsignals): Change to const variables unconditionally. + (nerrnos0, nsignals0): Remove. + [SUPPORTED_PERSONALITIES > 1] (errnoent1, signalent1, nerrnos1, + nsignals1): Remove. + [SUPPORTED_PERSONALITIES > 2] (errnoent2, signalent2, nerrnos2, + nsignals2): Likewise. + (set_personality): Do not assign errnoent, signalent, nerrnos, + and nsignals. + +2018-05-21 Eugene Syromyatnikov + + strace.1.in: mention -Xraw in -eraw description. + * strace.1.in (\fB\-e\ raw\fR=\,\fIset\fR): Mention -X raw. + +2018-05-21 Eugene Syromyatnikov + + strace.1.in: display -k option description only if it is enabled. + Leverage the fact that manpage is generated and add condition statements + around mentions of -k option. + + * strace.1.in (.SH SYNOPSIS): Put option list inside an + ".if '@ENABLE_STACKTRACE_TRUE@'#' .ig end_unwind_opt ... .end_unwind_opt" + condition; add a second list of options without -k and put it inside + ".if '@ENABLE_STACKTRACE_FALSE@'#' .ig end_no_unwind_opt ... .end_no_unwind_opt" + condition. + (.SS Output format) <-k>: Put it inside + ".if '@ENABLE_STACKTRACE_TRUE@'#' .ig end_unwind ... .end_unwind" + condition, remove the mention of --enable-stacktrace configuration + option requirement. + +2018-05-21 Eugene Syromyatnikov + + strace.1.in: format a reference to "open" syscall using bold font. + * strace.1.in (.SH DESCRIPTION): Format a reference to "open" syscall + using bold font. + + tests/qual_fault.test: add -efu arguments to the interpreter. + * tests/qual_fault.test (#!/bin/sh): Add -efu arguments. + +2018-05-21 Eugene Syromyatnikov + + tests/qual_fault.test: swap expected/output files in match_diff calls. + match_diff expects the first argument as strace output and the second + argument as expected output. + + * tests/qual_fault.test (check_fault_injection): Swap arguments + in match_diff calls. + +2018-05-21 Dmitry V. Levin + + defs.h: convert some macro wrappers into static inline functions. + * defs.h (pathtrace_select, pathtrace_match, printxval_searchn, + printxval_indexn, sprintxval, sprintflags, printnum_slong, + printnum_ulong, printnum_ptr, printnum_kptr): Convert macro wrappers + into static inline functions. + +2018-05-21 Eugene Syromyatnikov + + xlat: add support for xlat_styles in printxval_dispatch. + * defs.h (printxval_dispatch_ex): Rename from printxval_dispatch, add + style argument. + (printxval_dispatch): New static inline function, a thin wrapper around + printxval_dispatch_ex. + * xlat.c (printxval_dispatch): Rename to printxval_dispatch_ex, add + style argument, handle it. + + Co-Authored-by: Dmitry V. Levin + +2018-05-21 Eugene Syromyatnikov + + Make printxval_dispatch publicly available. + * evdev.c (enum xlat_type, printxval_dispatch): Move elsewhere. + * defs.h (enum_xlat_type): Move from evdev.c. + (printxval_dispatch): New declaration. + * xlat.c (printxval_dispatch): Move from evdev.c, drop static qualifier. + +2018-05-21 Eugene Syromyatnikov + + Revert "evdev: remove XT_NORMAL" + This reverts commit cc52da10c6f13feba577a83088f34916c6350165 + in preparation for printxval_dispatch generalisation. + + * evdev.c (enum xlat_type): Add XT_NORMAL back. + (printxval_dispatch): Handle XT_NORMAL again. + +2018-05-21 Eugene Syromyatnikov + + defs.h: introduce is_bigendian macro. + This macro is going to be used in inline checks. + + * defs.h (is_bigendian): New macro constant. + +2018-05-21 Eugene Syromyatnikov + + util.c: make memory allocation error messages more informative. + As those are pretty unusual, let's add some additional information + that can be reported by users. + + * util.c (print_quoted_string_ex, dumpstr): Add reasons for memory + allocation errors. + (sizeof_iov): Change type from size_t to unsigned int. + (dumpiov_upto): Rewrite size initialisation similarly to the way it's + done in print_quoted_string_ex, add reasons for memory allocation errors. + + Co-Authored-by: Dmitry V. Levin + +2018-05-19 Eugene Syromyatnikov + + strace.1.in: fix -A description. + * strace.1.in (.SS Output format) <-A>: Add missing .B. + + strace.1.in: document x32 64-bit syscall peculiarity. + * strace.1.in (.SH NOTES): Document "#64" suffix for 64-bit syscalls on + x32. + +2018-05-19 Eugene Syromyatnikov + + linux/x32/syscallent.h: change 64-bit syscall designation. + The current way of designation of 64-bit specific syscalls in x32 + personality not only conflicts with fault injection specification + syntax, but also makes it impossible to specify such syscalls at all + (since everything that starts from a digit is considered a syscall + number specification). So, let's change prefix to suffix and use + octothorpe instead of colon as a separator. + + * linux/x32/syscallent.h (13, 15, 16, 19, 20, 45, 46, 47, 54, 55, 59, + 101, 127, 128. 129, 131, 134, 156, 174, 177, 178, 180, 205, 206, 209, + 211, 214, 215, 222, 236, 244, 246, 247, 273, 274, 278, 279, 295, 296, + 297, 299, 307, 310, 311, 32, 327, 328): Change "64:" prefix to "#64" + suffix in syscall name. + + Closes: https://github.com/strace/strace/issues/36 + +2018-05-19 Eugene Syromyatnikov + + xlat: add BPF_PROG_TYPE_SK_MSG. + * xlat/bpf_prog_types.in (BPF_PROG_TYPE_SK_MSG): New constant, + introduced by Linux commit v4.17-rc1~148^2~156^2~1^2~13. + * tests/bpf.c (BPF_PROG_LOAD_checks): Update expected output. + + xlat: update bpf_attach_type constants. + * xlat/bpf_attach_type.in (BPF_SK_MSG_VERDICT): New constant, + introduced by Linux commit v4.17-rc1~148^2~156^2~1^2~13. + (BPF_CGROUP_INET4_BIND, BPF_CGROUP_INET6_BIND): New constants, + introduced by Linux commit v4.17-rc1~148^2~19^2^2~6. + (BPF_CGROUP_INET4_CONNECT, BPF_CGROUP_INET6_CONNECT): New constants, + introduced by Linux commit v4.17-rc1~148^2~19^2^2~3. + (BPF_CGROUP_INET4_POST_BIND, BPF_CGROUP_INET6_POST_BIND): New constants, + introduced by Linux commit v4.17-rc1~148^2~19^2^2~1. + * tests/bpf.c (BPF_PROG_QUERY_checks): Update expected output. + +2018-05-19 Eugene Syromyatnikov + + xlat/sock_rds_options.in: make it sorted. + Define SO_TIMESTAMP twice, for PA-RISC and all the other architectures. + + * xlat/sock_rds_options.in [!__hppa__] (SO_TIMESTAMP): Define to 29. + [__hppa__] (SO_TIMESTAMP): Define to 0x4012. + * net.c (print_sockopt_fd_level_name) : Use + printxval_search instead of printxval. + +2018-05-17 Gleb Fotengauer-Malinovskiy + + Update ioctl entries from linux v4.17. + * linux/32/ioctls_inc_align16.h: Update from linux v4.17-rc5 + 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/i386/ioctls_arch0.h: Likewise. + * linux/x86_64/ioctls_arch0.h: Likewise. + * NEWS: Mention this. + + maint: update for linux 4.17-rc5. + * maint/ioctls_sym.sh: (x86_list): Add KVM_HYPERV_EVENTFD. + +2018-05-16 Dmitry V. Levin + + bpf: use indexed lookups where appropriate. + * xlat/bpf_attach_type.in: Add "#value_indexed" directive. + * xlat/bpf_class.in: Likewise. + * xlat/bpf_map_types.in: Likewise. + * xlat/bpf_map_update_elem_flags.in: Likewise. + * xlat/bpf_prog_types.in: Likewise. + * xlat/ebpf_class.in: Likewise. + * bpf_filter.c (print_bpf_filter_code): Use printxval_index + instead of printxval for decoding bpf_class and ebpf_class. + * print_fields.h (PRINT_FIELD_XVAL_INDEX): New macro. + * bpf.c: Use it instead of PRINT_FIELD_XVAL for decoding bpf_attach_type, + bpf_map_types, bpf_map_update_elem_flags, and bpf_prog_types. + +2018-05-15 Dmitry V. Levin + + bpf: use printxval_index lookup instead of printxval. + * xlat/bpf_commands.in: Add "#value_indexed" directive. + * bpf.c (SYS_FUNC(bpf)): Use printxval_index instead of printxval. + + time: use indexed lookups. + * defs.h (xlat_idx): New prototype. + * xlat.c (xlat_idx): Remove static qualifier. + * time.c (do_adjtimex): Use xlat_idx instead of xlookup. + (SYS_FUNC(getitimer), SYS_FUNC(setitimer)): Use printxval_index + instead of printxval. + [ALPHA] (SYS_FUNC(osf_getitimer), SYS_FUNC(osf_setitimer)): Likewise. + (printclockname) [CLOCKID_TO_FD]: Likewise. + * xlat/adjtimex_state.in: Add "#value_indexed" directive. + * xlat/clocknames.in: Likewise. + * xlat/cpuclocknames.in: Add "#value_indexed" directive, add default + values to constants. + * xlat/itimer_which.in: Likewise. + +2018-05-15 Andre McCurdy + + linux/arm/raw_syscall.h: avoid r7 specified register variables with Thumb + If Thumb code is being generated and frame pointers are enabled, the + Thumb frame pointer in r7 clashes with any local variable which may + need to be assigned to r7 (e.g. the syscall NR when making a raw + syscall). + + With gcc, the double use of r7 results in a build error, e.g. + + strace-4.22/tests/inject-nf.c:86:1: error: r7 cannot be used in asm here + + With clang, the double use of r7 can result in the compiler silently + generating broken code which crashes at run time due to frame pointer + corruption: + + https://bugs.llvm.org/show_bug.cgi?id=34165 + + In most cases the problem isn't visible as frame pointers will be + disabled automatically due to optimisation level. However to handle + cases where frame pointers are enabled (e.g. when CFLAGS etc are set + to support a debug build, etc) provide a version of raw_syscall_0 + which manually saves and restores the frame pointer value in r7 + to a temporary register before setting up the syscall NR in r7 + and invoking the syscall. + + * linux/arm/raw_syscall.h (raw_syscall_0) [__thumb__]: Provide + an alternative version. + +2018-05-15 Dmitry V. Levin + + sockaddr: use printxval_index lookup instead of printxval. + * xlat/addrfams.in: Add "#value_indexed" directive. + * xlat/af_packet_types.in: Likewise. + * xlat/hci_channels.in: Likewise. + * sockaddr.c (print_sockaddr_data_bt, print_sockaddr, + * print_sockaddr_data_ll): Use printxval_index instead of printxval. + +2018-05-15 Eugene Syromyatnikov + + sockaddr: use printxval_search for ARPHRD_* constants. + This xlat table is quite big. + + * sockaddr.c (print_sockaddr_data_ll): Replace printxval call with + printxval_search for printing of struct sockaddr_ll.sll_hatype field. + +2018-05-15 Eugene Syromyatnikov + + Add a common MAC address printing routine. + * print_mac.c: New file. + * Makefile.am (strace_SOURCES): Add it. + * defs.h (sprint_mac_addr): New declaration. + (print_mac_addr): New function, a thin wrapper around sprint_mac_addr. + * print_fields.h (PRINT_FIELD_MAC, PRINT_FIELD_MAC_SZ): New macros. + * rtnl_link.c (decode_ifla_bridge_id): Use PRINT_FIELD_MAC for bridge + address printing. + * sock.c (print_ifreq) : Use print_mac_addr for + ifr_hwaddr printing. + * sockaddr.c (print_sockaddr_data_bt): Use print_mac_addr for + {sco,rc,l2}_bdaddr field printing. + + Co-Authored-by: Dmitry V. Levin + +2018-05-15 Eugene Syromyatnikov + + sockaddr: decode Bluetooth L2 CID values. + * xlat/bluetooth_l2_cid.in: New file. + * sockaddr.c: Include xlat/bluetooth_l2_cid.h. + (print_bluetooth_l2_cid): New function. + (print_sockaddr_data_bt): Use it to decode struct sockaddr_l2.l2_cid + field. + * tests/net-sockaddr.c (check_l2): Update expected output. + + Co-Authored-by: Dmitry V. Levin + +2018-05-15 Eugene Syromyatnikov + + sockaddr: decode Bluetooth L2 PSM values. + * xlat/bluetooth_l2_psm.in: New file. + * sockaddr.c: Include xlat/bluetooth_l2_psm.h. + (print_bluetooth_l2_psm): New function. + (print_sockaddr_data_bt): Use it to decode struct sockaddr_l2.l2_psm + field. + * tests/net-sockaddr.c (check_l2): Update expected output. + + sockaddr: decode bluetooth address type names. + * xlat/bdaddr_types.in: New file. + * sockaddr.c: Include xlat/bdaddr_types.h. + (print_sockaddr_data_bt): Decode struct sockaddr_l2.l2_bdaddr_type field + using constants from bdaddr_types xlat. + * tests/net-sockaddr.c (check_l2): Check decoding + of struct sockaddr_l2.l2_bdaddr_type field. + +2018-05-15 Eugene Syromyatnikov + + sockaddr: decode Bluetooth socket address unconditionally. + * sockaddr.c [HAVE_BLUETOOTH_BLUETOOTH_H]: Do not include + bluetooth/bluetooth.h, bluetooth/hci.h, bluetooth/l2cap.h, + bluetooth/rfcomm.h, and bluetooth/sco.h. + [!HAVE_BLUETOOTH_BLUETOOTH_H]: Include xlat/hci_channels.h. + (btohs): New function. + (print_sockaddr_data_bt): Define unconditionally, add definitions + of struct sockaddr_hci, struct bdaddr, struct sockaddr_sco, + struct sockaddr_rc, and struct sockaddr_l2. + (sa_printers) : Define unconditionally. + + Co-Authored-by: Dmitry V. Levin + +2018-05-15 Eugene Syromyatnikov + + Avoid using print_array as a local variable name. + We have a function with the same name. + + * netlink.c (decode_netlink) : Rename to is_array, all + users updated. + * nlattr.c (decode_nlattr) : Likewise. + + Co-Authored-by: Dmitry V. Levin + +2018-05-15 Eugene Syromyatnikov + + xlat: update MSG_* constants. + Sync them with kernel's include/linux/socket.h, since syscalls perform + almost no checks for incorrect flags. + + * xlat/msg_flags.in (MSG_OOB, MSG_PEEK, MSG_DONTROUTE, MSG_CTRUNC, + MSG_PROBE, MSG_TRUNC, MSG_DONTWAIT, MSG_EOR, MSG_WAITALL, MSG_FIN, + MSG_SYN, MSG_CONFIRM, MSG_RST, MSG_ERRQUEUE, MSG_NOSIGNAL, MSG_MORE, + MSG_WAITFORONE, MSG_FASTOPEN, MSG_CMSG_CLOEXEC): Add default values + to all constants. + (MSG_SENDPAGE_NOTLAST, MSG_NO_SHARED_FRAGS): New constants. It is + an internal one, but, apparently, nothing prohibits passing it + to the kernel. + (MSG_CMSG_COMPAT): New constant. Override the value provided + by system headers. + (MSG_EOF): Commented out, as it is a synonym for MSG_FIN. + + Co-Authored-by: Dmitry V. Levin + +2018-05-14 Dmitry V. Levin + + socketutils: use exact match of unix domain sockets on fresh kernels. + * socketutils.c (unix_send_query): Do not add NLM_F_DUMP to nlmsg_flags + when kernel version is 4.4.4 or later, initialize udiag_cookie + unconditionally. + + Complements: v4.12~536 ("Change unix_diag requests back to use full dump instead of exact match") + +2018-05-14 Eugene Syromyatnikov + + socketutils: do not request NDIAG_SHOW_MEMINFO. + This information is not used and it looks like it negatively affects + ability to find the socket under high load. + + * socketutils.c (netlink_send_query) : Remove NDIAG_SHOW_MEMINFO + flag from netlink_diag_req.ndiag_show field. + * tests/netlink_netlink_diag.c (send_query) : Likewise. + + Co-Authored-by: Dmitry V. Levin + +2018-05-09 Eugene Syromyatnikov + + tests: introduce midtail_alloc and use it in netlink tests. + netlink tests happen to access memory located before the tail_malloc'ed + pointers, a practice that doesn't go well with the latest compilers + because tail_malloc is marked with ATTRIBUTE_MALLOC. + For example, glibc in -D_FORTIFY_SOURCE=2 mode and gcc 8 with + -Warray-bounds enabled complain about negative offsets out of bounds. + Fix this issue by introducing midtail_alloc. + + * tests/tests.h (midtail_alloc): New macro. + * tests/netlink_crypto.c: Use it instead of tail_malloc for nlh0 allocation. + * tests/netlink_netfilter.c: Likewise. + * tests/netlink_protocol.c: Likewise. + * tests/netlink_route.c: Likewise. + * tests/netlink_selinux.c: Likewise. + * tests/netlink_sock_diag.c: Likewise. + * tests/nlattr_br_port_msg.c: Likewise. + * tests/nlattr_crypto_user_alg.c: Likewise. + * tests/nlattr_dcbmsg.c: Likewise. + * tests/nlattr_fib_rule_hdr.c: Likewise. + * tests/nlattr_ifaddrlblmsg.c: Likewise. + * tests/nlattr_ifaddrmsg.c: Likewise. + * tests/nlattr_ifinfomsg.c: Likewise. + * tests/nlattr_ifla_brport.c: Likewise. + * tests/nlattr_ifla_port.c: Likewise. + * tests/nlattr_ifla_xdp.c: Likewise. + * tests/nlattr_inet_diag_msg.c: Likewise. + * tests/nlattr_inet_diag_req_compat.c: Likewise. + * tests/nlattr_inet_diag_req_v2.c: Likewise. + * tests/nlattr_mdba_mdb_entry.c: Likewise. + * tests/nlattr_mdba_router_port.c: Likewise. + * tests/nlattr_ndmsg.c: Likewise. + * tests/nlattr_ndtmsg.c: Likewise. + * tests/nlattr_netconfmsg.c: Likewise. + * tests/nlattr_netlink_diag_msg.c: Likewise. + * tests/nlattr_nlmsgerr.c: Likewise. + * tests/nlattr_packet_diag_msg.c: Likewise. + * tests/nlattr_rtgenmsg.c: Likewise. + * tests/nlattr_rtmsg.c: Likewise. + * tests/nlattr_smc_diag_msg.c: Likewise. + * tests/nlattr_tc_stats.c: Likewise. + * tests/nlattr_tca_stab.c: Likewise. + * tests/nlattr_tcamsg.c: Likewise. + * tests/nlattr_tcmsg.c: Likewise. + * tests/nlattr_unix_diag_msg.c: Likewise. + + Co-Authored-by: Dmitry V. Levin + +2018-05-09 Eugene Syromyatnikov + + Use MIN where appropriate. + * netlink.c (decode_nlmsghdr_with_payload): Use MIN. + * netlink_packet_diag.c (print_packet_diag_mclist): Likewise. + * nlattr.c (decode_nlattr_with_data): Likewise. + * rtnl_route.c (decode_rta_multipath): Likewise. + +2018-05-09 Eugene Syromyatnikov + + xlat: add fallback definitions to {msg,sem,shm}ctl command constants. + * xlat/msgctl_flags.in: Add default values to all constants, reorder + to make them sorted by value. + * xlat/semctl_flags.in: Likewise. + * xlat/shmctl_flags.in: Likewise. + + Co-Authored-by: Dmitry V. Levin + +2018-05-09 Eugene Syromyatnikov + + xlat: add MSG_STAT_ANY. + * xlat/msgctl_flags.in (MSG_STAT_ANY): New constant, introduced + by Linux commit v4.17-rc1~52^2~21. + * tests/ipc_msg.c: Check it. + + Co-Authored-by: Dmitry V. Levin + +2018-05-09 Eugene Syromyatnikov + + xlat: add SEM_STAT_ANY. + * xlat/semctl_flags.in (SEM_STAT_ANY): New constant, introduced + by Linux commit v4.17-rc1~52^2~22. + * tests/ipc_sem.c: Check it. + + Co-Authored-by: Dmitry V. Levin + +2018-05-09 Eugene Syromyatnikov + + xlat: add SHM_STAT_ANY. + * xlat/shmctl_flags.in (SHM_STAT_ANY): New constant, introduced + by Linux commit v4.17-rc1~52^2~23. + * tests/ipc_shm.c: Check it. + + Co-Authored-by: Dmitry V. Levin + +2018-05-09 Eugene Syromyatnikov + + net: print SO_GET_FILTER in getsockopt. + SO_ATTACH_FILTER and SO_GET_FILTER have the same value; the former + constant is intended for use in setsockopt, and the latter is for + getsockopt. Handle that the same way as similar SOL_IP/SOL_IPV6 socket + options are handled. + + * xlat/getsock_options.in: New file. + * xlat/setsock_options.in: Likewise. + * xlat/sockoptions.in (SO_ATTACH_FILTER): Move to + xlat/setsock_options.in. + * net.c: Include "xlat/setsock_options.h" and "xlat/getsock_options.h". + (print_sockopt_fd_level_name) : Use + getsock_options or setsock_options as auxiliary xlats based on the value + of is_getsockopt flag. + * tests/sock_filter-v.c: Update expected output. + + Co-Authored-by: Dmitry V. Levin + +2018-05-09 Eugene Syromyatnikov + + tests: add sock_filtrer-v variants with different xlat verbosity levels. + * tests/sock_filter-v-Xabbrev.c: New file. + * tests/sock_filter-v-Xraw.c: Likewise. + * tests/sock_filter-v-Xverbose.c: Likewise. + * tests/sock_filter-v.c (PRINT_STMT_SYM, PRINT_STMT_SYM_, + PRINT_STMT_VAL, PRINT_STMT_VAL_, PRINT_JUMP_): Remove. + (HEX_FMT, XLAT_FMT, XLAT_ARGS, PRINT_STMT): New macros. + (PRINT_JUMP): Rewrite. + (print_filter): Rewrite using PRINT_STMT and new PRINT_JUMP. + (main): Print SOL_SOCKET, SO_ATTACH_FILTER, and SO_ATTACH_REUSEPORT_CBPF + using XLAT_FMT/XLAT_ARGS macros. + * tests/pure_executables.list: Add sock_filter-v-Xabbrev, + sock_filter-v-Xraw, and sock_filter-v-Xverbose. + * tests/.gitignore: Likewise. + * tests/gen_tests.in (sock_filter-v-Xabbrev, sock_filter-v-Xraw, + sock_filter-v-Xverbose): New tests. + + Co-Authored-by: Dmitry V. Levin + +2018-05-08 Eugene Syromyatnikov + + defs.h: fix ethernet_protocols comment. + Starting with commit v4.22~109, sorted xlat tables are terminated + with XLAT_END. + + * defs.h (ethernet_protocols): Remove the "unterminated" part from + description. + +2018-05-08 Dmitry V. Levin + + xlat: rename *sock*options xlat tables. + Such names as sockrxrpcoptions are incomprehensible. + + * xlat/getsockipoptions.in: Rename to xlat/getsock_ip_options.in. + * xlat/getsockipv6options.in: Rename to xlat/getsock_ipv6_options.in. + * xlat/setsockipoptions.in: Rename to xlat/setsock_ip_options.in. + * xlat/setsockipv6options.in: Rename to xlat/setsock_ipv6_options.in. + * xlat/sockalgoptions.in: Rename to xlat/sock_alg_options.in. + * xlat/sockbluetoothoptions.in: Rename to xlat/sock_bluetooth_options.in. + * xlat/sockcaifoptions.in: Rename to xlat/sock_caif_options.in. + * xlat/sockdccpoptions.in: Rename to xlat/sock_dccp_options.in. + * xlat/sockipoptions.in: Rename to xlat/sock_ip_options.in. + * xlat/sockipv6options.in: Rename to xlat/sock_ipv6_options.in. + * xlat/sockipxoptions.in: Rename to xlat/sock_ipx_options.in. + * xlat/sockirdaoptions.in: Rename to xlat/sock_irda_options.in. + * xlat/sockiucvoptions.in: Rename to xlat/sock_iucv_options.in. + * xlat/sockkcmoptions.in: Rename to xlat/sock_kcm_options.in. + * xlat/sockllcoptions.in: Rename to xlat/sock_llc_options.in. + * xlat/socknetlinkoptions.in: Rename to xlat/sock_netlink_options.in. + * xlat/socknfcllcpoptions.in: Rename to xlat/sock_nfcllcp_options.in. + * xlat/sockoptions.in: Rename to xlat/sock_options.in. + * xlat/sockpacketoptions.in: Rename to xlat/sock_packet_options.in. + * xlat/sockpnpoptions.in: Rename to xlat/sock_pnp_options.in. + * xlat/sockpppol2tpoptions.in: Rename to xlat/sock_pppol2tp_options.in. + * xlat/sockrawoptions.in: Rename to xlat/sock_raw_options.in. + * xlat/sockrdsoptions.in: Rename to xlat/sock_rds_options.in. + * xlat/sockrxrpcoptions.in: Rename to xlat/sock_rxrpc_options.in. + * xlat/socksctpoptions.in: Rename to xlat/sock_sctp_options.in. + * xlat/socktcpoptions.in: Rename to xlat/sock_tcp_options.in. + * xlat/socktipcoptions.in: Rename to xlat/sock_tipc_options.in. + * xlat/socktlsoptions.in: Rename to xlat/sock_tls_options.in. + * xlat/sockudpoptions.in: Rename to xlat/sock_udp_options.in. + * net.c: Update. + +2018-05-08 Eugene Syromyatnikov + + net: decode more SOL_* socket options. + * xlat/sockalgoptions.in: New file. + * xlat/sockbluetoothoptions.in: Likewise. + * xlat/sockcaifoptions.in: Likewise. + * xlat/sockdccpoptions.in: Likewise. + * xlat/sockiucvoptions.in: Likewise. + * xlat/sockkcmoptions.in: Likewise. + * xlat/sockllcoptions.in: Likewise. + * xlat/socknfcllcpoptions.in: Likewise. + * xlat/sockpnpoptions.in: Likewise. + * xlat/sockpppol2tpoptions.in: Likewise. + * xlat/sockrdsoptions.in: Likewises. + * xlat/sockrxrpcoptions.in: Likewise. + * xlat/socktipcoptions.in: Likewise. + * xlat/socktlsoptions.in: Likewise. + * xlat/sockudpoptions.in: Likewise. + * net.c: Include "xlat/sockalgoptions.h", "xlat/sockbluetoothoptions.h", + "xlat/sockcaifoptions.h", "xlat/sockdccpoptions.h", + "xlat/sockiucvoptions.h", "xlat/sockkcmoptions.h", + "xlat/sockllcoptions.h", "xlat/socknfcllcpoptions.h", + "xlat/sockpnpoptions.h", "xlat/sockpppol2tpoptions.h", + "xlat/sockrdsoptions.h", "xlat/sockrxrpcoptions.h", + "xlat/socktipcoptions.h", "xlat/socktlsoptions.h", + and "xlat/sockudpoptions.h". + (print_sockopt_fd_level_name): Decode SOL_UDP, SOL_IRDA, SOL_LLC, + SOL_DCCP, SOL_TIPC, SOL_RXRPC, SOL_PPPOL2TP, SOL_BLUETOOTH, SOL_PNPIPE, + SOL_RDS, SOL_IUCV, SOL_CAIF, SOL_ALG, SOL_NFC, SOL_KCM, and SOL_TLS + socket option names. + + Co-Authored-by: Dmitry V. Levin + +2018-05-08 Eugene Syromyatnikov + + net: decode more AF_* protocol names. + * xlat/caif_protocols.in: New file. + * xlat/can_protocols.in: Likewise. + * xlat/irda_protocols.in: Likewise. + * xlat/isdn_protocols.in: Likewise. + * xlat/kcm_protocols.in: Likewise. + * xlat/nfc_protocols.in: Likewise. + * xlat/phonet_protocols.in: Likewise. + * xlat/smc_protocols.in: Likewise. + * net.c: Include "xlat/irda_protocols.h", "xlat/can_protocols.h", + "xlat/isdn_protocols.h", "xlat/phonet_protocols.h", + "xlat/caif_protocols.h", "xlat/nfc_protocols.h", + "xlat/kcm_protocols.h", and "xlat/smc_protocols.h". + (SYS_FUNC(socket)): Decode AF_IRDA, AF_CAN, AF_RXRPC, AF_ISDN, + AF_PHONET, AF_CAIF, AF_NFC, AF_KCM, and AF_SMC protocol names. + + Co-Authored-by: Dmitry V. Levin + +2018-05-08 Eugene Syromyatnikov + + Remove some duplicate fallback definitions. + There is no need to provide duplicate fallback definitions anymore, + inclusion of the appropriate xlat header in XLAT_MACROS_ONLY mode + does the right thing. + + * btrfs.c [!BTRFS_FIRST_FREE_OBJECTID] (BTRFS_FIRST_FREE_OBJECTID): + Remove, a fallback definition is already provided by included + "xlat/btrfs_tree_objectids.h". + * net.c: Include "xlat/addrfams.h" in XLAT_MACROS_ONLY mode. + [!AF_BLUETOOTH] (AF_BLUETOOTH): Remove. + * syscall.c: Include "xlat/nt_descriptor_types.h" in XLAT_MACROS_ONLY + mode. + [!NT_PRSTATUS] (NT_PRSTATUS): Remove. + + Co-Authored-by: Dmitry V. Levin + +2018-05-08 Eugene Syromyatnikov + + xlat/gen.sh: introduce XLAT_MACROS_ONLY macro. + Sometimes we need just fallback definitions and nothing else. + This change adds an interface of skipping xlat table prototypes + and definitions. + + * xlat/gen.sh (gen_header): Place xlat table prototype or definition + under "#ifndef XLAT_MACROS_ONLY" guard. + + Co-Authored-by: Dmitry V. Levin + +2018-05-08 Eugene Syromyatnikov + + rtnl_link: print IFLA_NEW_IFINDEX using decode_nla_ifindex. + As it is an interface index. + + * rtnl_link.c (ifinfomsg_nla_decoders) <[IFLA_NEW_IFINDEX]>: Change + the value from decode_nla_s32 to decode_nla_ifindex. + +2018-05-08 Eugene Syromyatnikov + + ci: install libbluetooth-dev. + * ci/install-dependencies.sh (common_packages): Add libbluetooth-dev. + + xlat: provide fallback definitions for HCI_CHANNEL_* constants. + * xlat/hci_channels.in: Provide fallback definitions. + +2018-05-08 Eugene Syromyatnikov + + s390: simplify s390_runtime_instr command printing. + As the header with command definitions is now a part of UAPI (since + Linux commit v4.16-rc1~21^2~11), there's no need for a very special + printing routine for command names. + + * s390.c (SYS_FUNC(s390_runtime_instr)): Use printxval_d to print + the command argument. + * tests/s390_runtime_instr.c: Update expected output. + +2018-05-08 Eugene Syromyatnikov + + tests/init.sh: add run_prog_match_grep. + * tests/init.sh (run_prog_match_grep): New function, similar + to run_prog_match_diff. + +2018-05-08 Eugene Syromyatnikov + + tests: add so_peercred variants with different xlat verbosity levels. + * tests/so_peercred-Xabbrev.c: New file. + * tests/so_peercred-Xraw.c: Likewise. + * tests/so_peercred-Xverbose.c: Likewise. + * tests/pure_executables.list: Add so_peercred-Xabbrev, + so_peercred-Xraw, and so_peercred-Xverbose. + * tests/.gitignore: Likewise. + * tests/so_peercred.c: Add handling of XLAT_RAW and XLAT_VERBOSE flags. + * tests/gen_tests.in (so_peercred-Xabbrev, so_peercred-Xraw, + so_peercred-Xverbose): New tests. + + Co-Authored-by: Dmitry V. Levin + +2018-05-08 Eugene Syromyatnikov + + tests: add personality variants with different xlat verbosity levels. + * tests/personality-Xabbrev.c: New file. + * tests/personality-Xraw.c: Likewise. + * tests/personality-Xverbose.c: Likewise. + * tests/pure_executables.list: Add personality-Xabbrev, + personality-Xraw, and personality-Xverbose. + * tests/.gitignore: Likewise. + * tests/personality.c: Add handling of XLAT_RAW and XLAT_VERBOSE flags. + * tests/personality.test: Add support for accepting test arguments. + * tests/gen_tests.in (personality-Xabbrev, personality-Xraw, + personality-Xverbose): New tests. + + tests: add fanotify_mark variants with different xlat verbosity levels. + * tests/fanotify_mark-Xabbrev.c: New file. + * tests/fanotify_mark-Xraw.c: Likewise. + * tests/fanotify_mark-Xverbose.c: Likewise. + * tests/pure_executables.list: Add fanotify_mark-Xabbev, + fanotify_mark-Xraw, and fanotify_mark-Xverbose. + * tests/.gitignore: Likewise. + * tests/fanotify_mark.c: Add handling of XLAT_RAW and XLAT_VERBOSE + flags. + * tests/gen_tests.in (fanotify_mark-Xabbev, fanotify_mark-Xraw, + fanotify_mark-Xverbose): New tests. + +2018-05-07 Eugene Syromyatnikov + + xlat: provide fallback definitions for IFF_* constants. + * xlat/iffflags.in: Provide fallback definitions. Mention that + the array is sorted. + + xlat: update IFF_* constants. + * xlat/iffflags.in (IFF_DYNAMIC): New constant, had been introduced + before the current git repository was conceived. + (IFF_LOWER_UP, IFF_DORMANT): New constants, introduced by Linux commit + v2.6.17-rc1~1175^2~206. + (IFF_ECHO): New constant, introduced by Linux commit + v2.6.25-rc1~1162^2~1415. + + xlat: provide fallback definitions for ARPHRD_* constants. + * xlat/arp_hardware_types.in: Provide fallback definitions, sort. + + tests: add more v4l2 checks. + * tests/ioctl_v4l2.c (main): Add more VIDIOC_S_EXT_CTRLS checks. + + tests: add variants of IPC tests with different xlat verbosity levels. + * tests/.gitignore: Add ipc_msg-Xabbrev, ipc_msg-Xraw, ipc_msg-Xverbose, + ipc_msgbuf-Xabbrev, ipc_msgbuf-Xraw, ipc_msgbuf-Xverbose, + ipc_sem-Xabbrev, ipc_sem-Xraw, ipc_sem-Xverbose, ipc_shm-Xabbrev, + ipc_shm-Xraw, and ipc_shm-Xverbose. + * tests/pure_executables.list: Likewise. + * tests/gen_tests.in (ipc_msg-Xabbrev, ipc_msg-Xraw, ipc_msg-Xverbose, + ipc_msgbuf-Xabbrev, ipc_msgbuf-Xraw, ipc_msgbuf-Xverbose, + ipc_sem-Xabbrev, ipc_sem-Xraw, ipc_sem-Xverbose, ipc_shm-Xabbrev, + ipc_shm-Xraw, ipc_shm-Xverbose): New tests. + * tests/ipc_msg-Xabbrev.c: New file. + * tests/ipc_msg-Xraw.c: Likewise. + * tests/ipc_msg-Xverbose.c: Likewise. + * tests/ipc_msgbuf-Xabbrev.c: Likewise. + * tests/ipc_msgbuf-Xraw.c: Likewise. + * tests/ipc_msgbuf-Xverbose.c: Likewise. + * tests/ipc_sem-Xabbrev.c: Likewise. + * tests/ipc_sem-Xraw.c: Likewise. + * tests/ipc_sem-Xverbose.c: Likewise. + * tests/ipc_shm-Xabbrev.c: Likewise. + * tests/ipc_shm-Xraw.c: Likewise. + * tests/ipc_shm-Xverbose.c: Likewise. + * tests/ipc.sh: Add support for accepting test arguments. + * tests/ipc_msgbuf.test: Likewise. + * tests/ipc_msg.c: Add handling of XLAT_RAW and XLAT_VERBOSE flags. + * tests/ipc_msgbuf.c: Likewise. + * tests/ipc_sem.c: Likewise. + * tests/ipc_shm.c: Likewise. + + tests: make ipc tests a bit more strict. + * tests/gen_tests.in (ipc_msg, ipc_sem, ipc_shm): Add -a option. + * tests/ipc_msg.c: Replace " +" with " " in expected output. + * tests/ipc_sem.c: Likewise. + * tests/ipc_shm.c: Likewise. + + ipc_shm: print SHM_HUGE_SHIFT using print_xlat_u. + * ipc_shm.c (SYS_FUNC(shmget)): Print SHM_HUGE_SHIFT using print_xlat_u. + + tests: check all bits of mtype in ipc_msgbuf test. + * tests/ipc_msgbuf.c: Include and . + (sys_msgrcv): New function. + (msgrcv): Use it instead of msgrcv. Add bits to mtype, + check for -mtype in msgrcv. + + tests: print expected output by ipc_msgbuf test itself. + * tests/ipc_msgbuf.expected: Remove. + * tests/Makefile.am (EXTRA_DIST): Remove tests/ipc_msgbuf.expected. + * tests/ipc_msgbuf.c: Add expected output. + * tests/ipc_msgbuf.test: Add -a31. Redirect output to $EXP. Call + match_grep with $LOG and $EXP arguments. + +2018-05-07 Dmitry V. Levin + + xlat: provide fallback definitions for SKF_*_OFF constants. + * xlat/skf_off.in: New file. + * bpf_sock_filter.c: Include "xlat/skf_off.h". + + xlat: provide fallback definitions for BPF_* constants. + * xlat/bpf_class.in: Add default values for constants. + * xlat/bpf_miscop.in: Likewise. + * xlat/bpf_mode.in: Likewise. + * xlat/bpf_op_alu.in: Likewise. + * xlat/bpf_op_jmp.in: Likewise. + * xlat/bpf_rval.in: Likewise. + * xlat/bpf_size.in: Likewise. + * xlat/bpf_src.in: Likewise. + +2018-05-06 Dmitry V. Levin + + xlat: fix F_* fallback definitions on mips64. + * xlat/fcntlcmds.in (F_GETLK64, F_SETLK64, F_SETLKW64) [__mips64]: Fix + default values. + + Fixes: v4.22-122-gfa8f486 ("xlat: fix F_* fallback definitions on alpha, hppa, mips, and sparc") + +2018-05-06 Eugene Syromyatnikov + + xlat: add fallback definitions to SO_* constants. + Regenerate xlat/sockoptions.in using the following script: + + sed -n 's/^\(SO_[^[:space:]]*\).*/\1/p' xlat/sockoptions.in | + uniq | + while read name; do + sed -rn 's/#define[[:space:]]+('"$name"')[[:space:]]+([[:digit:]]+)$/\2\t\1/p' \ + /path/to/linux/include/uapi/asm-generic/socket.h + done | + sort -n | + while read def name; do + grep -EH '#define[[:space:]]+'"$name"'[[:space:]]+(0x[[:xdigit:]]+|[[:digit:]]+)' \ + /path/to/linux/arch/*/include/uapi/asm/socket.h | + sed -rn 's|^[^#]*/arch/([^/]+)/include/uapi/asm/socket\.h:#define[[:space:]]+'"$name"'[[:space:]]+([^[:space:]]+)([[:space:]].*)?$|\1\t\2|p' | + sed s/parisc/hppa/ |sort | + awk -vname="$name" -vdef="$def" ' + { + i=strtonum($2) + if (i == def) next + if (a[i]) + a[i]=a[i] " || defined __" $1 "__" + else + a[i]="defined __" $1 "__" + } + END { + iftext="#if" + for (i in a) { + printf("%s %s\n%s %u\n",iftext,a[i],name,i) + iftext="#elif" + } + if (iftext != "#if") + print "#else" + printf("%s %s\n", name, def) + if (iftext == "#if") + print "" + else + print "#endif\n" + }' + done + + * xlat/sockoptions.in: Add fallback definitions. + + Co-Authored-by: Dmitry V. Levin + +2018-05-06 Eugene Syromyatnikov + + xlat: remove socket options with duplicate names. + * xlat/sockoptions.in (SO_GET_FILTER): Remove as it is defined + to SO_ATTACH_FILTER. + (SO_DETACH_BPF): Remove as it is defined to SO_DETACH_FILTER. + + xlat: remove socket options that do not exist in Linux. + * xlat/sockoptions.in (SO_ALLRAW, SO_ICS, SO_IMASOCKET, SO_LISTENING, + SO_MGMT, SO_ORDREL, SO_PARALLELSVR, SO_PROTOTYPE, SO_RDWRSO_SEMA, + SO_USELOOPBACK): Remove. + + xlat: treat socketlayers as a sorted array. + * xlat/socketlayers.in: Add a comment that the xlat is sorted. + * net.c (print_sockopt_fd_level_name): Use printxval_search + instead of printxval for decoding socket layer name. + +2018-05-06 Eugene Syromyatnikov + + net: decode Bluetooth protocol names unconditionally. + As we have all BTPROTO_* constant definitions now, there is no need + to rely on bluetooth.h header anymore. + + * net.c (AF_BLUETOOTH): Provide a fallback definition. + [HAVE_BLUETOOTH_BLUETOOTH_H]: Do not include . + [!HAVE_BLUETOOTH_BLUETOOTH_H]: Include "xlat/bt_protocols.h". + [!HAVE_BLUETOOTH_BLUETOOTH_H] (decode_sockbuf): Decode AF_BLUETOOTH. + (decode_sockbuf) : Use printxval_index. + * xlat/bt_protocols.in: Add "#value_indexed" directive. + +2018-05-06 Eugene Syromyatnikov + + xlat/gen.sh: invoke the shell interpreter with -e -u options. + * xlat/gen.sh: Change interpreter from "/bin/sh" to "/bin/sh -eu". + + xlat: update FPE_* constants. + * xlat/sigfpe_codes.in (FPE_FLTUNK): New constant, introduced by Linux + commit v4.17-rc1~107^2~2. + (FPE_CONDTRAP): New constant, introduced by Linux commit + v4.17-rc1~31^2~3. + + xlat: add MAP_FIXED_NOREPLACE. + * xlat/mmap_flags.in (MAP_FIXED_NOREPLACE): New constant, introduced + by Linux commit v4.17-rc1~52^2~14. + +2018-05-06 Eugene Syromyatnikov + + xlat: provide fallback definitions for BTPROTO_* constants. + As they are architecture-independent. + + * xlat/bt_protocols.in: Add values to constants. + +2018-05-06 Eugene Syromyatnikov + + xlat: add NETLINK_SMC. + * xlat/netlink_protocols.in (NETLINK_SMC): New constant, introduced + by Linux commit v4.11-rc1~94^2~43^2. + + xlat: provide fallback definitions for V4L2_CID_* constants. + * xlat/v4l2_control_id_bases.in: New file with fallback definitions. + * xlat/v4l2_control_ids.in: Add fallback definitions. + * v4l2.c: Reorder includes, include "xlat/v4l2_control_id_bases.h", + remove legacy V4L2_CID_* constant definitions. + +2018-05-06 Eugene Syromyatnikov + + xlat: update V4L2_CID_* constants. + Synchronise v4l2_control_ids list with the one provided by kernel's + include/uapi/linux/v4l2-controls.h. A few notes: + - V4L2_CID_CHROMA_GAIN and V4L2_CID_COLORFX_CBCR moved in accordance + with their position/values. + - V4L2_CID_WHITENESS is removed as it has the same value as + V4L2_CID_GAMMA. + - V4L2_CID_PRIVATE_BASE is removed. + - V4L2_CID_HCENTER and V4L2_CID_VCENTER that were removed by Linux + commit v3.9-rc1~93^2~237, are retained for historical reasons. + + * xlat/v4l2_control_ids.in: Update. + +2018-05-06 Eugene Syromyatnikov + + xlat: provide fallback definitions for V4L2_CTRL_CLASS_* constants. + As those are architecture-independant. Also note that the xlat + is sorted. + + * xlat/v4l2_control_classes.in: Add values. + +2018-05-06 Eugene Syromyatnikov + + xlat: update V4L2_CTRL_CLASS_* constants. + * xlat/v4l2_control_classes.in (V4L2_CTRL_CLASS_DV): New constant, + introduced by Linux commit v3.7-rc1~101^2^2~322. + (V4L2_CTRL_CLASS_RF_TUNER): New constant, introduced by Linux commit + v3.15-rc1~85^2~192. + (V4L2_CTRL_CLASS_DETECT): New constant, introduced by Linux commit + v3.17-rc1~112^2~340. + +2018-05-06 Eugene Syromyatnikov + + xlat: update BPF_F_* constants. + Apparently, BPF_F_RDONLY and BPF_F_WRONLY are also used in map_flags. + Moreover, set of flags depends on the type of map, but let's leave that + for another day. + + * xlat/bpf_map_flags.in (BPF_F_RDONLY, BPF_F_WRONLY): New constants. + (BPF_F_STACK_BUILD_ID): New constant, introduced by Linux commit + v4.17-rc1~148^2~156^2~3^2~1. + * xlat/bpf_map_flags.in: Update expected output. + +2018-05-06 Eugene Syromyatnikov + + xlat: add V4L2_PIX_FMT_HEVC. + * xlat/v4l2_pix_fmts.in (V4L2_PIX_FMT_HEVC): New constant, introduced + by Linux commit v4.17-rc1~143^2~60. + + xlat: add ETH_P_PREAUTH. + * xlat/ethernet_protocols.in (ETH_P_PREAUTH): New constant, introduced + by Linux commit v4.17-rc1~148^2~379^2~3. + + xlat: update SCTP_* constants. + * xlat/socksctpoptions.in (SCTP_AUTH_DEACTIVATE_KEY): New constant, + introduced by Linux commit v4.17-rc1~148^2~191^2~2. + (SCTP_SENDMSG_CONNECT): New constant, introduced by Linux commit + v4.17-rc1~96^2~9. + + xlat: add SPARC ADI-related SIGSEGV codes. + * xlat/sigsegv_codes.in (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR): New + constants, introduced by Linux commit v4.17-rc1~147^2~4^2~10. + + xlat: add PROT_ADI. + * xlat/mmap_prot.in (PROT_ADI): New constant, introduced by Linux commit + v4.17-rc1~147^2~4^2~1. + +2018-05-05 Dmitry V. Levin + + build: rewrite libdw detection without pkg-config. + pkg-config expected to be more convenient way to configure libdw, + but in practice it appeared to be less portable than good old + AC_CHECK_HEADERS and AC_CHECK_LIB. + + * ci/install-dependencies.sh (common_packages): Remove pkg-config. + (STACKTRACE == "libdw"): Do not install libz-dev and liblzma-dev. + * debian/control (Build-Depends): Remove pkg-config. + * m4/st_libdw.m4 (st_ARG_LIBDW, st_LIBDW): Rewrite without pkg-config. + +2018-05-04 Dmitry V. Levin + + ci: add more variants of unwinder to test matrices. + Check x86_64 builds with libdw, with libunwind, and without stacktrace. + As Travis CI doesn't provide a suitable libdw, do not test libdw there. + + * ci/install-dependencies.sh (common_packages): Remove libdw-dev. + Install libdw-dev or libunwind8-dev depending on $STACKTRACE. + * ci/run-build-and-tests.sh: Specify --with-libdw=yes, + --with-libunwind=yes, or --without-stacktrace depending on $STACKTRACE. + * .gitlab-ci.yml (gcc-x86_64): Rename to gcc-x86_64-libdw, + add STACKTRACE=libdw. + (gcc-x86): Rename to gcc-x86-nounwind, add STACKTRACE=no. + (clang-x86_64): Rename to clang-x86_64-libdw, add STACKTRACE=libdw. + (clang-x86): Rename to clang-x86-nounwind, add STACKTRACE=no. + (gcc-x86_64-libunwind, gcc-x86_64-nounwind, gcc-x86-nounwind, + clang-x86_64-libunwind, clang-x86_64-nounwind, clang-x86-nounwind): + New test matrix entries. + * .travis.yml: Add STACKTRACE=libunwind to all x86_64 test matrix + entries except musl-gcc, add STACKTRACE=no to other matrix entries, + add test matrix entries with STACKTRACE=no variants on x86_64. + +2018-05-04 Eugene Syromyatnikov + + xlat: update af_packet_types. + * xlat/af_packet_types.in: Add values. + (PACKET_USER, PACKET_KERNEL): New constants, introduced by Linux commit + v3.14-rc1~94^2~349. + + xlat: add values to adjtimex_state, adjtimex_status, advise xlats. + * xlat/adjtimex_state.in: Add values. + * xlat/adjtimex_status.in: Likewise. + * xlat/advise.in: Likewise. + + xlat: update adjtimex_modes. + * xlat/adjtimex_modes.in: Add values to constants. + (0): Remove. + (ADJ_OFFSET_SS_READ): Move to the first place. + (ADJ_OFFSET_SINGLESHOT): Move to the second place. + +2018-05-04 Dmitry V. Levin + + mmap_cache: do not activate unless requested. + Do not call mmap_cache functions until mmap_cache_enable is invoked. + Change struct mmap_cache_t into a proxy structure, move all mmap_cache + data from struct tcb inside this new structure. + + * Makefile.am (strace_SOURCES): Move mmap_cache.c and mmap_cache.h + to libstrace_a_SOURCES. + * defs.h (struct tcb): Remove mmap_cache_size and mmap_cache_generation + * fields. + * mmap_cache.h (struct mmap_cache_t): Rename + to struct mmap_cache_entry_t, create a new struct mmap_cache_t, + all users updated. + (mmap_cache_delete): Remove. + * mmap_cache.c (mmap_cache_delete): Rename to delete_mmap_cache, + add static qualifier. + (build_mmap_cache): Merge into mmap_cache_rebuild_if_invalid. + * strace.c (droptcb): Replace mmap_cache_delete invocation + with tcp->mmap_cache->free_fn. + +2018-05-03 Dmitry V. Levin + + mmap_cache: remove mmap_cache_is_enabled. + This function is no longer used and could be removed. + + * mmap_cache.c (mmap_cache_is_enabled): Remove. + * mmap_cache.h: Likewise. + +2018-05-03 Masatake YAMATO + + unwind-libdw: use the mmap_notify subsystem. + The unwind subsystem uses the mmap_cache subsystem even it uses + unwind-libdw as backend. unwind-libdw doesn't need the full set of the + mmap_cache subsystem; libdw has a feature for caching a memory + mapping. + + This commit does three things. + + (1) Make the unwind subsystem not use the mmap_cache subsystem. + The unwind subsystem never concern the memory mapping of the target. + It becomes a thin layer. + + (2) Make unwind-libunwind use the mmap_cache subsystem directly. + + (3) Make unwind-libdw use the mmap_notify subsystem to know when it + should call dwfl_linux_proc_report/dwfl_report_end for updating the + cache. + + Here is a subsystem structure that this patch + introduces: + + +-------------------------------------+ + | unwind subsys | + +------------------+------------------+ + | unwind-libunwind | unwind-libdw | + +------------------+------------------+ + | mmap_cache | | + +------------------+ | + | mmap_notify | + +-------------------------------------+ + | syscall | + +-------------------------------------+ + mmap/munmap/mprotect/brk... + + * unwind.c: Don't include "mmap_cache.h". + (unwind_init): Don't call mmap_cache_enable. + (unwind_tcb_print, unwind_tcb_capture): Don't call mmap_cache related + functions, just invoke unwinder.tcb_walk. + * unwind.h (struct unwind_unwinder_t): Remove tcb_flush_cache field. + + * unwind-libdw.c: Include "mmap_notify.h" instead of "mmap_cache.h". + (struct ctx): Add last_proc_updating field to record the generation + of memory mapping that is cached by dwfl_linux_proc_report + and dwfl_report_end. + (mapping_generation): A variable counting how many times the memory + mapping of targets has been changed. + (updating_mapping_generation): New utility function for updating + mapping_generation. + (init): New function for registering updating_mapping_generation + in the mmap_notify subsystem as a callback function. + (tcb_init): Initialize ctx::last_proc_updating. + (tcb_flush_cache): Rename to flush_cache_maybe. Rebuild the cache data + only if the data is stale. + (tcb_walk): Call flush_cache_maybe for avoiding referring staled cache data. + (unwinder): Set init function, remove tcb_flush_cache field. + * unwind-libunwind.c (init): Enable the mmap_cache subsystem. + (tcb_walk): Call mmap_cache_rebuild_if_invalid and unw_flush_cache for + updating the cache of the memory mapping before walking the stack. + (tcb_walk): Rename to walk. + (unwinder): Remove tcb_flush_cache field. + +2018-05-03 Masatake YAMATO + + unwind-libdw: introduce indirect data structure for storing unwinding context + unwind-libdw uses Dwfl as the data structure for storing unwinding + context. It is raw data that come from libdw. + + This commit introduces "struct ctx" file local data type for allowing + unwind-libdw to attach strace side data to the unwinding context. + + * unwind-libdw.c (struct ctx): New struct definition. + (tcb_init, tcb_fin, tcb_walk, tcb_flush_cache): Use struct ctx instead + of Dwfl directly. + +2018-05-03 Masatake YAMATO + + mmap_notify: rename the macro for tracking memory mapping. + * sysent.h (STACKTRACE_INVALIDATE_CACHE): Rename to + MEMORY_MAPPING_CHANGE. All users updated. + + mmap_cache: use the mmap_notify subsystem. + * mmap_cache.c: Include mmap_notify.h. + (mmap_cache_enable): Call mmap_notify_register_client to use + the mmap_notify subsystem, mmap_cache_invalidate is specified + to handle the change of memory mapping. + (mmap_cache_invalidate): Add static qualifier. + * mmap_cache.h (mmap_cache_invalidate): Remove. + * syscall.c: Include mmap_notify.h instead of mmap_cache.h. + (syscall_exiting_decode): Call mmap_notify_report instead + of mmap_cache_invalidate. + +2018-05-03 Masatake YAMATO + + mmap_notify: new subsystem for tracking the changes of memory mappings. + This subsystem is a spin-off of the mmap_cache subsystem. + + The mmap_cache subsystem had two features: (1) tracking the change + of memory mapping, and (2) maintaining the cache of memory mapping. + + mmap_notify is a subsystem specialized to provide feature (2). + unwind-libdw itself has the feature (1). It needs only (2). + + * mmap_notify.h: New file. + * mmap_notify.c: Likewise. + * Makefile.am (strace_SOURCES): Add them. + +2018-05-03 Eugene Syromyatnikov + + btrfs: add missing braces. + Reported by Coverity. + + * btrfs.c (MPERS_PRINTER_DECL(btrfs_ioctl)) : Add missing braces. + + Fixes: v4.22-76-gf766447 "btrfs: use PRINT_FIELD_*" + +2018-05-03 Eugene Syromyatnikov + + strace.c: check return code of never failing fcntl call. + Because the kernel cannot be trusted. + + * strace.c (set_cloexec_flag): Call perror_msg_and_die if fcntl(F_SETFD) + has failed. + +2018-05-03 Eugene Syromyatnikov + + sock: use error_func_msg for printing function name. + * sock.c (decode_ifconf): Use error_func_msg instead of error_msg with + manual function name printing. + +2018-05-03 Eugene Syromyatnikov + + util.c: add len sanity checks to dumpstr. + Reported by clang. + + * util.c (dumpstr): Check that len is sane. + +2018-05-03 Eugene Syromyatnikov + + mmap_cache: fool-proofing build_mmap_cache. + Let's try to handle better the situation when build_mmap_cache is called + without mmap_cache/mmap_cache_size being reset prior to the call. + + Reported by Coverity scan. + + * mmap_cache.c (build_mmap_cache): Set cache_head to tcp->mmap_cache. + Reset tcp->mmap_cache_size to 0. + +2018-05-03 Eugene Syromyatnikov + + error_prints: add missing va_end() calls. + These missing va_end() calls are followed by die() calls that never + return, so the only practical effect of this change is appeasement + of code checking tools. + + Reported by cppcheck. + + * error_prints.c (error_msg_and_die, error_msg_and_help, + perror_msg_and_die): Add va_end(). + +2018-05-03 Eugene Syromyatnikov + + mem: handle potential error from sysconf(_SC_PAGESIZE) + Reported by Coverity scan. + + * mem.c (get_pagesize): Handle the case when sysconf(_SC_PAGESIZE) + returns an error. + +2018-05-03 Dmitry V. Levin + + xlat: merge fcntl64cmds into fcntlcmds. + Since we don't have to workaround old F_[GS]ETOWN_EX == F_[SG]ETLK64 + kernel bug any longer, there is a room for cleanup. + + * xlat/fcntlcmds.in (F_GETLK64, F_SETLK64, F_SETLKW64): Add from + xlat/fcntl64cmds.in. + * xlat/fcntl64cmds.in: Remove. + * fcntl.c: Do not include "xlat/fcntl64cmds.h". + (SYS_FUNC(fcntl), SYS_FUNC(fcntl64)): Do not use fcntl64cmds, call + printxval instead of printxvals. + +2018-05-03 Zhibin Li <08826794brmt@gmail.com> + + tests: check decoding of F_GETOWN_EX and F_SETOWN_EX fcntl commands. + * tests/fcntl.c (TEST_F_OWNER_EX): New macro. + [TEST_F_OWNER_EX]: Include "f_owner_ex.h". + [TEST_F_OWNER_EX] (test_f_owner_ex_type_pid, + test_f_owner_ex_umove_or_printaddr, test_f_owner_ex): New functions. + (main) [TEST_F_OWNER_EX]: Use test_f_owner_ex. + + Co-Authored-by: Dmitry V. Levin + +2018-05-03 Dmitry V. Levin + + Introduce f_owner_ex.h. + Some headers define struct f_owner_ex, some struct __kernel_f_owner_ex, + we have to support both variants. + + * configure.ac (AC_CHECK_TYPES): Check for "struct f_owner_ex" + and "struct __kernel_f_owner_ex" in . + * f_owner_ex.h: New file. + * Makefile.am (strace_SOURCES): Add it. + +2018-05-02 Masatake YAMATO + + tests/ioctl_kvm_run.c: handle cpuid at the end of vcpu dentry. + Since Linux 4.16, kernel appends the cpuid as suffix to the entry + for a kvm vcpu in /proc/$pid/fd like: + + anon_inode:kvm-vcpu:0 + + That was + + anon_inode:kvm-vcpu + + This kernel change causes the test case failure on newer kernels. + Update the test to deal with the new name as well as the old one. + + * tests/ioctl_kvm_run.c: Include unistd.h for using readlink(2). + (vcpu_dev_should_have_cpuid): New function for detecting whether + a proc entry for given fd has the cpuid suffix or not. + (main): Trim vcpu_dev to remove the cpuid suffix if needed. + (vcpu_dev): Remove const modifier. + +2018-04-29 Dmitry V. Levin + + xlat: check that system definitions match fallback definitions. + For each constant that is accompanied by a fallback definition, + generate a sanity check that the definition provided by system headers + matches the fallback definition. + + * gcc_compat.h (DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE, + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE): New macros. + * xlat/gen.sh (cond_def): Generate a code that checks the system + definition against the default. + (gen_header): Generate a code that includes "gcc_compat.h" and + "static_assert.h". + + Co-Authored-by: Eugene Syromyatnikov + +2018-04-29 Dmitry V. Levin + + xlat: override values of F_SETOWN_EX and F_GETOWN_EX constants. + Linux kernel commit v2.6.32-rc7~23 has changed values of F_SETOWN_EX + and F_GETOWN_EX constants introduced by commit v2.6.32-rc1~96 to fix + the conflict with F_GETLK64 and F_SETLK64 constants. + + Looks like the best way to handle this situation is to pretend that + old values of F_SETOWN_EX and F_GETOWN_EX didn't exist. + + * xlat/fcntlcmds.in (F_SETOWN_EX, F_GETOWN_EX): Undefine. + +2018-04-29 Dmitry V. Levin + + xlat: fix F_* fallback definitions on alpha, hppa, mips, and sparc. + * xlat/fcntlcmds.in (F_GETLK, F_SETLK, F_SETLKW, F_SETOWN, F_GETOWN, + F_SETSIG, F_GETSIG) [alpha || hppa || mips || sparc]: Fix definitions. + * xlat/fcntl64cmds.in (F_GETLK64, F_SETLK64, F_SETLKW64) [hppa || mips]: + Likewise. + + xlat: fix SI_* fallback definitions on mips. + * xlat/siginfo_codes.in [mips] (SI_ASYNCIO, SI_TIMER, SI_MESGQ): Define + to -2, -3, and -4, respectively. + +2018-04-29 Dmitry V. Levin + + xlat: override values of KEY_RFKILL and KEY_BRIGHTNESS_MIN constants. + KEY_RFKILL and KEY_NUMERIC_A constants were introduced by Linux kernel + commits v2.6.33~17^2~2 and v4.1-rc1~150^2~1^10~6, respectively. + Apparently, RHEL6 introduced an alternative KEY_RFKILL constant + with the same value as upstream KEY_NUMERIC_A. + + KEY_BRIGHTNESS_MIN and KEY_BRIGHTNESS_MAX constants were introduced + by Linux kernel commit v3.16-rc1~30^2~6^2~1^2~7. + Apparently, RHEL7 introduced an alternative KEY_BRIGHTNESS_MIN constant + with the same value as upstream KEY_BRIGHTNESS_MAX. + + Downstream vendors are *not* allowed to do this. + Ignore the system value of KEY_RFKILL and KEY_BRIGHTNESS_MIN. + + * xlat/evdev_keycode.in (KEY_RFKILL, KEY_BRIGHTNESS_MIN): Undefine. + +2018-04-29 Dmitry V. Levin + + xlat: override the value of KEY_DATA constant. + Linux kernel commit v4.9-rc8~12^2 has changed the value of KEY_DATA + constant introduced by commit v4.7-rc6~32^2~6^2 because the old value + was already used by KEY_FASTREVERSE. + + Looks like the best way to handle this situation is to pretend that + the old value of KEY_DATA didn't exist. + + * xlat/evdev_keycode.in (KEY_DATA): Undefine. + +2018-04-29 Dmitry V. Levin + + xlat: override the value of AUDIT_FEATURE_CHANGE constant. + Linux kernel commit v3.15-rc1~18^2~1 has changed the value + of AUDIT_FEATURE_CHANGE constant introduced by commit v3.13-rc1~19^2~20 + which is of course an ABI breakage that affected 3.13 and 3.14 kernel + releases as well as their LTS derivatives. + + Linux kernel commit v3.15-rc1~18^2~1 also claims that the old value + of AUDIT_FEATURE_CHANGE was ignored by userspace because of the + established convention how netlink messages for the audit system + are divided into blocks. + + Looks like the best way to handle this situation is to pretend that + the old value of AUDIT_FEATURE_CHANGE didn't exist. + + * xlat/nl_audit_types.in (AUDIT_FEATURE_CHANGE): Undefine. + + Co-Authored-by: Eugene Syromyatnikov + +2018-04-29 Dmitry V. Levin + + xlat: fix MCL_* fallback definitions on alpha, ppc, ppc64, and sparc. + On these architectures, MCL_* constants are different. + + * xlat/socketlayers.in [__alpha__ || __powerpc__ || __powerpc64__ + || __sparc__] (MCL_CURRENT, MCL_FUTURE, MCL_ONFAULT): Define to 0x2000, + 0x4000, and 0x8000, respectively. + +2018-04-28 Eugene Syromyatnikov + + xlat: fix SOL_SOCKET fallback definition on alpha, hppa, mips, and sparc + On these architectures, SOL_SOCKET is 0xffff and not 1. + + * xlat/socketlayers.in [__alpha__ || __hppa__ || __mips__ || __sparc__] + (SOL_SOCKET): Define to 0xffff. + + Co-Authored-by: Dmitry V. Levin + +2018-04-28 Eugene Syromyatnikov + + tests: add more mount checks. + * tests/gen_tests.in (mount, mount-Xabbrev, mount-Xraw, mount-Xverbose): + Add -a33 option. + * tests/mount.c: Check printing of flags and pointers. + + Co-Authored-by: Dmitry V. Levin + +2018-04-28 Dmitry V. Levin + + tests: use sprintrc in mount test. + * tests/mount.c (main): Use sprintrc. + +2018-04-28 Eugene Syromyatnikov + + tests: add mount variants with different xlat verbosity levels. + * tests/mount-Xabbrev.c: New file. + * tests/mount-Xraw.c: Likewise. + * tests/mount-Xverbose.c: Likewise. + * tests/mount.c: Add handling of XLAT_RAW and XLAT_VERBOSE macros. + * tests/pure_executables.list: Add mount-Xabbrev, mount-Xraw, + and mount-Xverbose. + * tests/.gitignore: Likewise. + * tests/gen_tests.in (mount-Xabbrev, mount-Xraw, mount-Xverbose): New + tests. + + tests: add old_mmap variants with different xlat verbosity levels. + * tests/old_mmap-Xabbrev.c: New file. + * tests/old_mmap-Xraw.c: Likewise. + * tests/old_mmap-Xverbose.c: Likewise. + * tests/old_mmap.c (main): Add handling of XLAT_RAW and XLAT_VERBOSE + macros. + * tests/pure_executables.list: Add old_mmap-Xabbrev, old_mmap-Xraw, + and old_mmap-Xverbose. + * tests/.gitignore: Likewise. + * tests/gen_tests.in (old_mmap-Xabbrev, old_mmap-Xraw, + old_mmap-Xverbose): New tests. + +2018-04-28 Eugene Syromyatnikov + + tests: add mmap/mmap64 variants different xlat verbosity levels. + * tests/tests.h [!XLAT_RAW] (XLAT_RAW): Define. + [!XLAT_VERBOSE] (XLAT_VERBOSE): Likewise. + * tests/mmap-Xabbrev.c: New file. + * tests/mmap-Xraw.c: Likewise. + * tests/mmap-Xverbose.c: Likewise. + * tests/mmap64-Xabbrev.c: Likewise. + * tests/mmap64-Xraw.c: Likewise. + * tests/mmap64-Xverbose.c: Likewise. + * tests/mmap.c (main): Add handling of XLAT_RAW and XLAT_VERBOSE macros. + * tests/mmap.test: Add handling of optional test arguments that set + alignment and xlat verbosity options. + * tests/Makefile.am (mmap64_Xabbrev_CPPFLAGS, mmap64_Xraw_CPPFLAGS, + mmap64_Xverbose_CPPFLAGS): New variables, analogous to mmap64_CPPFLAGS. + * tests/pure_executables.list: Add mmap-Xabbrev, mmap-Xraw, + mmap-Xverbose, mmap64-Xabbrev, mmap64-Xraw, and mmap64-Xverbose. + * tests/.gitignore: Likewise. + * tests/gen_tests.in (mmap-Xabbrev, mmap-Xraw, mmap-Xverbose, + mmap64-Xabbrev, mmap64-Xraw, mmap64-Xverbose): New tests. + + Co-Authored-by: Dmitry V. Levin + +2018-04-27 Dmitry V. Levin + + Fix fallback definition of MSG_ZEROCOPY. + * xlat/msg_flags.in (MSG_ZEROCOPY): Set fallback definition to 0x4000000. + + Fixes: v4.21~316 ("Update MSG_* constants") + +2018-04-27 Dmitry V. Levin + + build: try to use _Static_assert if static_assert is not available. + * configure.ac: Check for _Static_assert if static_assert + is not available. + * static_assert.h [!HAVE_STATIC_ASSERT && HAVE__STATIC_ASSERT] + (static_assert): Define to _Static_assert. + +2018-04-27 Eugene Syromyatnikov + + printmode: add xlat style support to print_symbolic_mode_t. + * printmode.c (print_symbolic_mode_t): Set ifmt to an empty string, + print raw and decoded values based on current xlat_verbosity setting. + +2018-04-27 Eugene Syromyatnikov + + evdev: remove XT_NORMAL. + It is no longer used. + + * evdev.c (enum xlat_type) : Remove. + (printxval_dispatch) : Remove. + +2018-04-27 Eugene Syromyatnikov + + Switch to use of value-indexed xlats for evdev constants. + * xlat/evdev_abs.in: Add "#value_indexed" directive. + * xlat/evdev_autorepeat.in: Likewise. + * xlat/evdev_ff_status.in: Likewise. + * xlat/evdev_keycode.in: Likewise. + * xlat/evdev_leds.in: Likewise. + * xlat/evdev_misc.in: Likewise. + * xlat/evdev_prop.in: Likewise. + * xlat/evdev_relative_axes.in: Likewise. + * xlat/evdev_snd.in: Likewise. + * xlat/evdev_switch.in: Likewise. + * xlat/evdev_sync.in: Likewise. + * xlat/evdev_ff_types.in: Add a comment about sorting. + * evdev.c (keycode_ioctl, keycode_V2_ioctl): Use printxval_index + instead of printxval. + (bit_ioctl): Use XT_SORTED for evdev_ff_types, use XT_INDEXED + for other xlats. + (evdev_read_ioctl): Use XT_INDEXED for all xlats. + * ioctl.c (evdev_decode_number): Use printxval_indexn instead of + printxval for evdev_abs. + + evdev: support various types of xlats in decode_bitset. + * evdev.c (enum xlat_type): New enumeration. + (printxval_dispatch): New function. + (decode_bitset_): Rename from decode_bitset, add decode_nr_size + and xt arguments, call printxval_dispatch instead of printxval. + (decode_bitset): Add a decode_bitset_ wrapper that derives + decode_nr_size from the ARRAY_SIZE of decode_nr. + (bit_ioctl, evdev_read_ioctl): Update decode_bitset calls. + +2018-04-27 Eugene Syromyatnikov + + Move xlat/evdev_abs.h inclusion from ioctl.c to evdev.c. + Also introduce evdev_abs_size constant, which will be needed later. + + * defs.h (evdev_abs_size): New declaration. + * ioctl.c: Move xlat/evdev_abs.h inclusion ... + * evdev.c: ... here. + (evdev_abs_size): New constant variable. + +2018-04-27 Eugene Syromyatnikov + + Add support for value-indexed xlats. + There are quite a few xlats that start from 0 and not too sparse, + we can push the search time for them down to O(1). + + * defs.h (printxval_indexn_ex): New declaration. + (printxval_indexn, printxval_index, printxval_index_ex): New macros. + * xlat.c (printxval_sized): Rename from printxval_searchn_ex, + add fn argument, call it instead of xlat_search. + (printxval_searchn_ex): Implement as a thin wrapper around + printxval_sized using xlat_search as a search function. + (xlat_idx): New function. + (printxval_indexn_ex): New function, a thin wrapper around + printxval_sized using xlat_idx as a search function. + * xlat/gen.sh: Add support for "#value_indexed" directive. + +2018-04-27 Eugene Syromyatnikov + + socketcall: use printxval_d for printing call argument. + * socketcall.c (SYS_FUNC(socketcall)): Use printxval_d instead of manual + call argument decoding. + + signal: use print_xlat_ex in print_sa_handler. + * signal.c (print_sa_handler): Call print_xlat_ex instead of tprints + in order to respect current xlat style setting. + + s390: use printxvals_ex for command printing in s390_runtime_instr. + * s390.c (SYS_FUNC(s390_runtime_instr)): Replace manual command argument + decoding with a printxvals_ex call. + +2018-04-27 Eugene Syromyatnikov + + printsiginfo: use print_xlat_ex in print_si_code. + In order to respect current xlat style setting. + + * printsiginfo.c (print_si_code): Use print_xlat_ex instead of manual + string/value printing. + +2018-04-27 Eugene Syromyatnikov + + open: use print_xlat_ex for printing open modes. + In order to respect xlat style setting. + + * open.c (tprint_open_modes): Use print_xlat_ex instead of + tprint_open_modes. + +2018-04-27 Eugene Syromyatnikov + + netlink: use print_xlat_ex in decode_nlmsg_type_netfilter. + In order to respect current xlat style setting. + + * netlink.c (decode_nlmsg_type_netfilter): Use print_xlat_ex + instead of tprints. + +2018-04-27 Eugene Syromyatnikov + + net: use print_xlat_ex in tprint_sock_type. + In order to respect current xlat style setting. + + * next.c (tprint_sock_type): Use print_xlat_ex instead of tprints + for socket type printing. + +2018-04-27 Eugene Syromyatnikov + + keyctl: use printxval_d for printing keyring serial number. + * keyctl.c (print_keyring_serial_number): Use printxval_d instead of + looking up and printing xlat value manually. + * xlat/key_spec.in: Add "#val_type int" so the xlat values have sign + bit propagated. + + ipc: use printxval_u instead of manual xlat value printing. + * ipc.c (SYS_FUNC(ipc)): Decode call argument using printxval_u. + +2018-04-27 Eugene Syromyatnikov + + ioprio: use sprintxval instead of xlookup and string/value printing. + In order to respect current xlat style. + + * ioprio.c (sprint_ioprio): Use sprintxval for producing string + representation of ioprio class, use the produced string representation + in resulting xsprintf. + +2018-04-27 Eugene Syromyatnikov + + xlat: handle NULL str in print_xlat_ex. + It allows to use the following code pattern: + + print_xlat_ex(val, xlookup(xlat, val), XLAT_STYLE_FMT_D); + + * xlat.c (print_xlat_ex): Handle str being NULL: print val instead. + + Co-Authored-by: Dmitry V. Levin + +2018-04-26 Eugene Syromyatnikov + + strace.1.in: fix typo (Ronald -> Roland) + A very unfortunate one, though. + + NEWS: mention that -X option addresses Debian bug #692915. + +2018-04-25 Eugene Syromyatnikov + + ioctl: do not include linux/input.h. + All the ABS_* and EV_* values are now available internally, + there's no need to include the header. + + * ioctl.c [HAVE_LINUX_INPUT_H]: Do not include linux/input.h. + +2018-04-25 Eugene Syromyatnikov + + tests: add more evdev ioctl checks. + tests/ioctl_evdev.c (TEST_NULL_ARG_EX): Rename from TEST_NULL_ARG, add + str argument, print it instead of #cmd. + (TEST_NULL_ARG): Implement as a TEST_NULL_ARG_EX wrapper. + (main): Add checks for EVIOCSABS and EVIOCGBIT ioctls. + + evdev: decode EV_SW unconditionally. + * evdev.c (bit_ioctl): Remove [EV_SW] check. + * tests/ioctl_evdev.c [!EV_SW] (EV_SW): Define. + (main): Remove [EV_SW] check. + +2018-04-25 Eugene Syromyatnikov + + xlat: provide fallback definitions for arch-independent evdev constants. + * xlat/evdev_abs.in: Add constant values. + * xlat/evdev_autorepeat.in: Likewise. + * xlat/evdev_ev.in: Likewise. + * xlat/evdev_ff_status.in: Likewise. + * xlat/evdev_ff_types.in: Likewise. + * xlat/evdev_leds.in: Likewise. + * xlat/evdev_misc.in: Likewise. + * xlat/evdev_prop.in: Likewise. + * xlat/evdev_relative_axes.in: Likewise. + * xlat/evdev_snd.in: Likewise. + * xlat/evdev_switch.in: Likewise. + * xlat/evdev_sync.in: Likewise. + + Co-Authored-by: Dmitry V. Levin + +2018-04-25 Eugene Syromyatnikov + + xlat/evdev_switch.in: update. + * xlat/evdev_switch.in (SW_RADIO): Remove, as it was renamed to + SW_RFKILL_ALL and marked as deprecated by Linux commit v2.6.26-rc5~32^2. + (SW_PEN_INSERTED): New constant, was added by Linux commit v4.7~11^2~7. + +2018-04-24 Eugene Syromyatnikov + + util.c: make "Out of memory" messages a bit more informative. + Since these are emitted in multiple places and are not expected during + any normal operation, it makes sense to report the caller name. + + * util.c (print_quoted_string_ex, print_quoted_string_ex, dumpiov_upto, + dumpstr): Replace error_msg with error_func_msg. + +2018-04-24 Eugene Syromyatnikov + + ci: reorder travis jobs. + Run coverage check first as it is the longest one. + + * .travis.yml (matrix): Reorder. + +2018-04-24 Eugene Syromyatnikov + + xlat: add MS_SUBMOUNT constant. + * xlat/mount_flags.in (MS_SUBMOUNT): New constant, introduced + by Linux commit v4.11-rc1~82^2~7. + +2018-04-24 Eugene Syromyatnikov + + fcntl: replace combinations of xlookup and printxval with printxvals. + After all, that's what printxvals for. + + * fcntl.c (SYS_FUNC(fcntl), SYS_FUNC(fcntl64)): Use printxvals for + printing value with multiple xlat tables as constant sources. + +2018-04-24 Eugene Syromyatnikov + + Move xlat_verbose and xlat_format from xlat.c to defs.h. + As it will be used elsewhere. + + * xlat.c (xlat_verbose, xlat_format): Move... + * defs.h: ...here. + +2018-04-20 Eugene Syromyatnikov + + btrfs: use printxval_u for error types printing. + * btrfs.c (MPERS_PRINTER_DECL(btrfs_ioctl)) : Use printxval_u for error type printing. + * tests/btrfs.c (btrfs_test_get_dev_stats_ioctl): Update expected output. + + btrfs: print device IDs using PRINT_FIELD_DEV. + * btrfs.c (btrfs_print_balance_args): Print devid field using + PRINT_FIELD_DEV. + (MPERS_PRINTER_DECL(btrfs_ioctl)) : Likewise. + (MPERS_PRINTER_DECL(btrfs_ioctl)) : Print + start.srcdevid field using PRINT_FIELD_DEV. + * tests/btrfs.c: Update expected output. + + btrfs: print cont_reading_from_srcdev_mode as xlat. + * xlat/btrfs_cont_reading_from_srcdev_mode.in: New file. + * btrfs.c: Include "xlat/btrfs_cont_reading_from_srcdev_mode.h". + (MPERS_PRINTER_DECL(btrfs_ioctl)) : Print + named values for the + struct btrfs_ioctl_dev_replace_args.start.cont_reading_from_srcdev_mode + field. + * tests/btrfs.c: Include "xlat/btrfs_cont_reading_from_srcdev_mode.h". + (btrfs_test_dev_replace_ioctl): Update expected output. + + btrfs: use PRINT_FIELD_* + * btrfs.c (btrfs_print_balance_args, btrfs_print_balance, + btrfs_print_features, btrfs_print_qgroup_limit, + btrfs_print_data_container_header, + print_btrfs_data_container_logical_ino, btrfs_print_qgroup_inherit, + btrfs_print_tree_search, print_btrfs_ioctl_space_info, btrfs_ioctl): + Use PRINT_FIELD_* macros for printing structure fields. + + btrfs: make BTRFS_IOC_GET_DEV_STATS error statistics output more structured + * btrfs.c (MPERS_PRINTER_DECL(btrfs_ioctl)) : Print array index in square brackets before + the value in order to avoid confusion. + * tests/btrfs.c (btrfs_test_get_dev_stats_ioctl): Update expected output. + + ioctl: print ioctl number in accordance with xlat verbosity setting. + * ioctl.c (SYS_FUNC(ioctl)): Print ioctl command name in accordance + with the current xlat_verbosity setting. + * tests/btrfs.c (sprint_xlat_): New function. + (ioc): New macro, a wrapper for sprint_xlat_. + Update expected output. + + file_ioctl: make abbreviated output more structured. + * file_ioctl.c (file_ioctl): Print fm_extents field name only in case + of non-abbreviated output. + * tests/btrfs.c (btrfs_test_ino_path_ioctls): Update expected output. + +2018-04-20 Eugene Syromyatnikov + + btrfs: fix printing of struct btrfs_ioctl_quota_ctl_args. + For some reason, he decoder of BTRFS_IOC_QUOTA_CTL command didn't print + opening curly brace and field name, only the closing curly brace. + + * btrfs.c (MPERS_PRINTER_DECL(btrfs_ioctl)) : + Print "{cmd=". + * tests/btrfs.c (btrfs_test_quota_ctl_ioctl): Update expected output. + + Fixes: v4.12~100 "ioctl: add decoding support for btrfs ioctls" + +2018-04-20 Eugene Syromyatnikov + + btrfs: consistently use PRINT_FIELD_U64. + * btrfs.c (print_u64, print_member_u64, print_key_value_internal, + print_key_value): Remove. + (btrfs_print_balance_args): Use PRINT_FIELD_U64 instead of + print_member_u64. + (btrfs_print_tree_search): Use PRINT_FIELD_U64 instead of + print_key_value. + (MPERS_PRINTER_DECL(btrfs_ioctl)): Use PRINT_FIELD_U64 instead of manual + UINT64_MAX printing. + * tests/btrfs.c: Update expected output in order to account fields that + are now affected by xlat_verbosity setting. + +2018-04-20 Eugene Syromyatnikov + + btrfs: print {min,max}_{offset,transid} unconditionally. + As it looks like there's no reason to skip their printing. + + * btrfs.c (print_key_value_internal): Do not check value argument + for holding non-zero value. + * tests/btrfs.c (btrfs_print_search_key): Update expected output. + +2018-04-20 Eugene Syromyatnikov + + tests/btrfs.c: accept possible failure of BTRFS_IOC_BALANCE_V2. + BTRFS_IOC_BALANCE_V2 ioctl might fail sometimes (for example, if it + decides that it doesn't have enough free space). + + * tests/btrfs.c (btrfs_test_balance_ioctls): Print expected output for + the BTRFS_IOC_BALANCE_V2 call based on its return code. + +2018-04-20 Eugene Syromyatnikov + + tests/btrfs.c: support volumes with mixed data/metadata in BTRFS_IOC_BALANCE_V2 + For these volumes, pend/vend should be the same for data and meta. + + * tests/btrfs.c (btrfs_test_balance_ioctls): Set args.meta.pend and + args.meta.vend to the same values as args.data.pend and args.data.vend, + respectively. + +2018-04-20 Eugene Syromyatnikov + + tests/btrfs.c: check BTRFS_IOC_SUBVOL_CREATE_V2 result. + Otherwise the subsequent openat call fails with a cryptic message. + + * tests/btrfs.c (btrfs_test_subvol_ioctls): Check return code of the + BTRFS_IOC_SUBVOL_CREATE_V2 ioctl call that is supposed to be successful. + +2018-04-20 Eugene Syromyatnikov + + tests/btrfs.c: add pid suffix to the created directory, remove it on exit + If multiple tests are running simultaneously in the same directory, + conflicts (and test failures) may happen. + + * tests/btrfs.c (path, dir_name_fmt, dir_name): New variables. + (btrfs_test_ino_path_ioctls): Use dir_name for printing directory name. + (rm_test_dir): New function. + (main): Generate dir_name, use it instead of fixed name, add rm_test_dir + as an atexit handler. + +2018-04-20 Eugene Syromyatnikov + + btrfs: duplicate printing of opening braces on entering/exiting. + * btrfs.c (MPERS_PRINTER_DECL(btrfs_ioctl)): Print opening bracket + on entering and exiting separately. + + btrfs: refactor timespec printing into print_btrfs_timespec. + * btrfs.c (print_btrfs_timespec): New function. + (MPERS_PRINTER_DECL(btrfs_ioctl)) : + Use print_btrfs_timespec for printing stime and rtime fields. + * tests/btrfs.c (btrfs_test_set_received_subvol_ioctl): Update expected + output. + + btrfs: print abbreviations and field names more consistently. + * btrfs.c (btrfs_print_data_container_header): Do not print ", val=". + (btrfs_print_ino_path_container): Print val field name only in case + of non-abbreviated output. + (btrfs_print_qgroup_inherit): Print qgroups field name only in case + of non-abbreviated output. + (btrfs_print_tree_search): Print buf field name only in case + of non-abbreviated output. + (MPERS_PRINTER_DECL(btrfs_ioctl)) : Print + clone_sources field name only in case of non-abbreviated output. + (MPERS_PRINTER_DECL(btrfs_ioctl)) : Print + spaces field name only in case of non-abbreviated output. + * tests/btrfs.c: Update expected output. + + btrfs: move printing of the field name inside btrfs_print_qgroup_limit. + * btrfs.c (btrfs_print_qgroup_limit): Print ", lim=". + (btrfs_print_qgroup_inherit, MPERS_PRINTER_DECL(btrfs_ioctl)): Do not + print ", lim=" before btrfs_print_qgroup_limit call. + + btrfs: convert btrfs_print_{objectid,key_type} to PRINT_FIELD_XVAL_U. + * btrfs.c (btrfs_print_key_type, btrfs_print_objectid): Convert into + thin wrappers around PRINT_FIELD_XVAL_U. + (btrfs_print_data_container_header, btrfs_print_tree_search, + MPERS_PRINTER_DECL(btrfs_ioctl)): Update calls to btrfs_print_key_type + and btrfs_print_objectid in accordance with the new calling convention. + (print_objectid_callback): Use printxvals_ex directly instead of + btrfs_print_objectid call. + * tests/btrfs.c (btrfs_print_objectid, btrfs_print_key_type): Update + expected output. + + tests: add btrfs tests with verbose xlat decoding. + * tests/btrfs-X.test: New test. + * tests/btrfs-vX.test: Likewise. + * tests/btrfs-vwX.test: Likewise. + * tests/btrfs-wX.test: Likewise. + * tests/Makefile.am (DECODER_TESTS): Add them. + * tests/btrfs.c (verbose_xlat): New static variable. + (prfl_btrfs, prxval_btrfs): New function. + (btrfs_print_qgroup_inherit, btrfs_print_vol_args_v2, + btrfs_print_balance_args, btrfs_test_balance_ioctls, + btrfs_test_clone_ioctls, btrfs_test_defrag_ioctls, + btrfs_test_space_info_ioctl, btrfs_print_defrag_range_args, + btrfs_test_scrub_ioctls, btrfs_test_ino_path_ioctls, + btrfs_test_send_ioctl, btrfs_test_send_ioctl, + btrfs_test_quota_ctl_ioctl, btrfs_test_get_dev_stats_ioctl, + btrfs_test_get_dev_stats_ioctl, btrfs_test_dev_replace_ioctl, + btrfs_test_dev_replace_ioctl, btrfs_print_features): Use prfl_btrfs and + prxval_btrfs instead of printflags and printxval, respectively. + (btrfs_test_balance_ioctls, btrfs_test_ino_path_ioctls, + btrfs_test_quota_ctl_ioctl, btrfs_test_dev_replace_ioctl, + btrfs_test_dev_replace_ioctl): Update expected output based on + verbose_xlat setting. + (btrfs_print_defrag_range_args): Add compress_type_known arg, pass it + to prxval_btrfs. + (main): Handle -X option. + +2018-04-20 Eugene Syromyatnikov + + tests: check -X option syntax. + * tests/options-syntax.test: Add checks for -X option with invalid + arguments. + + Co-Authored-by: Dmitry V. Levin + +2018-04-20 Eugene Syromyatnikov + + Add user interface for configuring xlat output style. + * strace.c (init): Handle -X option, set xlat_verbosity + according to -X argument. + * strace.1.in: Document -X option. + * NEWS: Mention it. + + Closes: https://github.com/strace/strace/issues/27 + Co-Authored-by: Dmitry V. Levin + +2018-04-20 Eugene Syromyatnikov + + bpf: print fields that interpreted as pointers using printaddr64. + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_MAP_LOOKUP_ELEM), + BEGIN_BPF_CMD_DECODER(BPF_MAP_UPDATE_ELEM)): Print key and value + fields using PRINT_FIELD_ADDR64. + (BEGIN_BPF_CMD_DECODER(BPF_MAP_DELETE_ELEM)): Print key field using + PRINT_FIELD_ADDR64. + (BEGIN_BPF_CMD_DECODER(BPF_MAP_GET_NEXT_KEY)): Print key and next_key + field using PRINT_FIELD_ADDR64. + (BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD)): Print insns and log_buf fields + using PRINT_FIELD_ADDR64. + (BEGIN_BPF_CMD_DECODER(BPF_PROG_TEST_RUN)): Print data_in and data_out + fields using PRINT_FIELD_ADDR64. + * tests/bpf.c: Update expected output. + +2018-04-20 Dmitry V. Levin + + build: make it even more reproducible. + * Makefile.am (today): Consistently print the UTC date in C locale. + * configure.ac (RPM_CHANGELOGTIME, DEB_CHANGELOGTIME): Likewise. + * maint/update_copyright_years.sh: Likewise. + * copyright-year-gen: Likewise. When $SOURCE_DATE_EPOCH is non-empty, + use it as fallback date before the current system date. + + References: https://github.com/strace/strace/pull/68 + +2018-04-19 Dmitry V. Levin + + unwind: move unwind_tcb_init invocation to after_successful_attach. + There is no need to call unwind_tcb_init before the tracee is attached. + + * strace.c (alloctcb) [ENABLE_STACKTRACE]: Move unwind_tcb_init + invocation ... + (after_successful_attach) [ENABLE_STACKTRACE]: ... here. + (init) [ENABLE_STACKTRACE]: Remove unwind_tcb_init invocation loop. + * unwind.c (unwind_tcb_fin): Skip if tcp->unwind_queue is NULL. + +2018-04-19 Dmitry V. Levin + + strace: move setting of post-attach flags inside after_successful_attach + * strace.c (after_successful_attach): Add "flags" argument. + Set TCB_ATTACHED, TCB_STARTUP, and "flags" in tcp->flags. + All users updated. + +2018-04-19 Dmitry V. Levin + + strace: rename newoutf to after_successful_attach. + This function is going to be used for other things that have to be done + right after a successful attach, hence the rename. + + * strace.c (newoutf): Rename to after_successful_attach, + all users updated. + +2018-04-19 Dmitry V. Levin + + unwind: remove stray newline in error diagnostics. + * unwind-libdw.c (tcb_init): Do not pass trailing "\n" to error_msg + as the latter prints newline itself. + +2018-04-19 Dmitry V. Levin + + build: make it more reproducible. + * file-date-gen: Consistently print the UTC date in C locale. + When $SOURCE_DATE_EPOCH is non-empty, use it as fallback date + before the current system date. + + Reported-by: Chris Lamb + Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=896016 + Closes: https://github.com/strace/strace/pull/68 + +2018-04-19 Masatake YAMATO + + unwind: initialize unwind context only if given tcb is initialized. + With libdw based unwinder, following warnings are reported + when -p is passed before -k: + + $ ./strace -p 1 -k + ... + ./strace: dwfl_linux_proc_attach returned an error for process 0: No such file or directory + ... + + It seems that commit 54c7792b, "Fix libunwind segfault when -p is + passed before -k" doesn't fix the original issue. + + * strace.c (init) [ENABLE_STACKTRACE]: Initialize unwind context only + if given tcb is initialized. + +2018-04-12 Dmitry V. Levin + + bpf: harmonize length checks. + The rest of the decoder uses offsetof to check the length. + + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_OBJ_PIN), + BEGIN_BPF_CMD_DECODER(BPF_PROG_GET_NEXT_ID), + BEGIN_BPF_CMD_DECODER(BPF_PROG_GET_FD_BY_ID), + BEGIN_BPF_CMD_DECODER(BPF_MAP_GET_FD_BY_ID)): Use offsetof instead + of offsetofend. + +2018-04-12 Eugene Syromyatnikov + + bpf: add support for map_name and map_ifindex fields in BPF_MAP_CREATE. + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_MAP_CREATE)): Decode map_name + and map_ifindex fields that were added in Linux commits + v4.15-rc1~84^2~605^2~3 and v4.16-rc1~123^2~145^2~5^2~8, respectively. + * bpf_attr.h (struct BPF_MAP_CREATE_struct): Add map_name + and map_ifindex fields. + * tests/bpf.c (init_BPF_MAP_CREATE_attr7): New function. + (BPF_MAP_CREATE_checks): Remove const qualifier, add two more checks. + + bpf: improve handling of various sizes of BPF_MAP_CREATE attributes. + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_MAP_CREATE)): Skip printing + the rest of the structure if len is less than the offset of the end + of max_entries, map_flags, or inner_map_fd field. + * tests/bpf.c (BPF_MAP_CREATE_checks): Add two more checks. + + tests: add checks for bpf BPF_MAP_CREATE arguments. + * tests/bpf.c (BPF_MAP_CREATE_checks): Add two more checks. + +2018-04-12 Eugene Syromyatnikov + + bpf: print numa_node using xlat. + As the value of -1 has a special meaning. The issue is complicated + by the fact that this constant is not exported by UAPI. + + * xlat/numa_node.in: New file. + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_MAP_CREATE)): Print numa_node field + using printxvals_ex with a special xlat style. + +2018-04-12 Eugene Syromyatnikov + + btrfs: use umove_or_printaddr_ignore_syserror instead of u_error mangling + * btrfs.c (MPERS_PRINTER_DECL(btrfs_ioctl)) : Use umove_or_printaddr_ignore_syserror + instead of tcp->u_error mangling around umove_or_printaddr call. + + defs.h: introduce umove_or_printaddr{,64}_ignore_syserror wrappers. + * defs.h (umove_or_printaddr64_ignore_syserror): New macro, a thin + wrapper around umoven_or_printaddr64_ignore_syserror. + (umove_or_printaddr_ignore_syserror): New macro, a thin wrapper around + umoven_or_printaddr_ignore_syserror. + + print_fields.h: add PRINT_FIELD_XVAL_U for printing xlat in %u format. + * print_fields.h (PRINT_FIELD_XVAL_U): New macro. + + print_fields.h: add PRINT_FIELD_U64 for printing u64 with UINT64_MAX handling + * print_fields.h (PRINT_FIELD_U64): New macro. + +2018-04-12 Eugene Syromyatnikov + + bpf_sock_filter: use print_xlat32. + We can't simply use print_xlat here due to the way those SKF_*_OFF + constants are defined. + + * bpf_sock_filter.c (print_sock_filter_k): Use print_xlat32 for printing + SKF_AD_OFF, SKF_NET_OFF, and SKF_LL_OFF named constants. + +2018-04-12 Eugene Syromyatnikov + + defs.h: add print_xlat32 macro. + For those cases where inadvertent sign extension is possible. + + * defs.h (print_xlat32): New macro, a wrapper for print_xlat_ex. + +2018-04-12 Eugene Syromyatnikov + + open: use print_xlat_d in print_dirfd. + * open.c (print_dirfd): Use print_xlat_d for printing AT_FDCWD named + constant. + + fanotify: use print_xlat_d. + * fanotify.c (SYS_FUNC(fanotify_mark)): Use print_xlat_d for printing + FAN_NOFD named constant. + +2018-04-12 Eugene Syromyatnikov + + Add print_xlat_u and print_xlat_d shorthands. + Add variants of print_xlat with various value printing formats. + + * defs.h (print_xlat_u, print_xlat_d): New macro, a wrapper for + print_xlat_ex. + +2018-04-12 Eugene Syromyatnikov + + xlat: introduce XLAT_STYLE_FMT_D. + As there are some possible users for it, apparently. + + * defs.h (XLAT_STYLE_FORMAT_MASK): Update the value in order to + accommodate XLAT_STYLE_FMT_D. + (enum xlat_style) : New enumeration entity. + (printxval64_d, printxval_d): New function, a shorthand for + printxvals_ex with a single xlat and XLAT_STYLE_FMT_D xlat style. + * xlat.c (sprint_xlat_val): Handle XLAT_STYLE_FMT_D. + +2018-04-12 Eugene Syromyatnikov + + defs.h: add shorthands for printing xval with XLAT_STYLE_FMT_U. + * defs.h (printxval_u, printxval64_u): New function, a shorthand for + printxvals_ex with a single xlat and XLAT_STYLE_FMT_U as a style. + +2018-04-12 Eugene Syromyatnikov + + Add support for various xlat formats. + Since xlat printing routines now have a notion of "style" that should be + used for printing xlat values, we can also employ this argument for + passing information about number printing format (unsigned decimal + or hexadecimal, so far). + + * defs.h (XLAT_STYLE_FORMAT_SHIFT, XLAT_STYLE_FORMAT_MASK): New macro + constant. + (enum xlat_style) : New enumeration + entities. + * xlat.c (xlat_verbose, xlat_format): New macro for checking specific + aspect of style argument. + (get_xlat_style): Use xlat_verbose for checking xlat verbosity style. + (sprint_xlat_val, print_xlat_val): New function, for easing printing + raw constant number with respect to printing format style. + (printxvals_ex, sprintxval_ex, printxval_searchn_ex, + printxval_searchn_ex, sprintflags_ex, printflags_ex, print_xlat_ex): + Use xlat_verbose macro for xlat verbosity style checks. Use + print_xlat_val instead of direct raw xlat value printing. + +2018-04-12 Eugene Syromyatnikov + + v4l2: use print_xlat in print_v4l2_queryctrl. + * v4la.c (print_v4l2_queryctrl): Use print_xlat for printing + V4L2_CTRL_FLAG_NEXT_CTRL named constant. + +2018-04-12 Eugene Syromyatnikov + + prctl: use print_xlat_ex to print PR_SET_PTRACER_ANY. + We cannot simply use print_xlat as PR_SET_PTRACER_ANY is defined + differently in kernel headers. + + * prctl.c (SYS_FUNC(prctl)) : Use print_xlat_ex + for printing PR_SET_PTRACER_ANY named constant. + +2018-04-12 Eugene Syromyatnikov + + nlattr: use print_xlat. + * nlattr.c (print_nlattr): Use print_xlat for printing NLA_F_NESTED and + NLA_F_NET_BYTEORDER named constants. + + ipc_defs.h: use print_xlat. + * ipc_defs.h (PRINTCTL): Use print_xlat for printing IPC_64 named + constant. + + futex: use print_xlat. + * futex.c [!FUTEX_OP_OPARG_SHIFT] (FUTEX_OP_OPARG_SHIFT): New macro + constant. + (SYS_FUNC(futex)): Use print_xlat for printing FUTEX_OP_OPARG_SHIFT + named constant. + +2018-04-12 Eugene Syromyatnikov + + ipc: use printxval for printing key. + Convert explicit constant printing logic into a printxval call in order + to account for xlat style setting. + + * defs.h (ipc_private): New xlat array declaration. + * ipc_msg.c (SYS_FUNC(msgget)): Use printxval for printing IPC_PRIVATE. + * ipc_sem.c (SYS_FUNC(semtimedop)): Likewise. + * ipc_shm.c (SYS_FUNC(shmget)): Likewise. + * xlat/ipc_private.in: New file. + +2018-04-12 Eugene Syromyatnikov + + mount: use print_xlat for printing MS_MGC_VAL. + * mount.c (SYS_FUNC(mount)): Use print_xlat for printing MS_MGC_VAL + named constant. + +2018-04-12 Eugene Syromyatnikov + + Introduce print_xlat and print_xlat_ex. + print_xlat_ex prints a named constant in accordance with xlat style + provided, print_xlat is a thin wrapper around print_xlat_ex that passes + stringified constant name as a string and XLAT_STYLE_DEFAULT as a style. + + * defs.h (print_xlat_ex): New function prototype. + (print_xlat): New macro, a thin wrapper around print_xlat_ex. + * xlat.c (print_xlat_ex): New function. + + Co-Authored-by: Dmitry V. Levin + +2018-04-12 Eugene Syromyatnikov + + Introduce XLAT_STYLE_DEFAULT. + This will be needed later, with the introduction of user-configurable + xlat style setting (stored in xlat_verbosity variable). + + * defs.h (XLAT_STYLE_VERBOSITY_MASK): New macro constant. + (enum xlat_style) : New enumeration entity. + (xlat_verbosity): New external declaration. + (printxvals, printxval_searchn, printxval_search_ex, sprintxval, + sprintflags, printflags64): Use XLAT_STYLE_DEFAULT instead of + XLAT_STYLE_ABBREV. + * strace.c (xlat_verbosity): New variable. + * xlat.c (get_xlat_style): New function. + (printxvals_ex, sprintxval_ex, printxval_searchn_ex, sprintflags_ex, + printflags_ex): Use it. + +2018-04-12 Eugene Syromyatnikov + + Introduce xlat verbosity styles. + * defs.h (printxvals_ex): Rename from printxvals, add style argument. + (enum xlat_style): New enumeration. + (printxvals): New macro, a wrapper for printxvals_ex. + (printxval_searchn_ex): Rename from printxval_searchn, add style + argument. + (printxval_searchn): New macro, a wrapper for printxval_searchn_ex. + (printxval_search_ex): New macro, a wrapper for printxval_searchn_ex. + (sprintxval_ex): Rename from sprintxval, add style argument. + (sprintxval): New macro, a wrapper for sprintxval_ex. + (printflags_ex): Add style argument. + (sprintflags_ex): Rename from sprintflags, add style argument. + (sprintflags): New macro, a wrapper for sprintflags_ex. + (printflags64): Pass XLAT_STYLE_ABBREV as a style in printflags_ex call. + * netlink.c (decode_nlmsg_flags): Pass XLAT_STYLE_ABBREV as a style in + printflags_ex call. + * xlat.c (printxvals_ex): Rename from printxvals, add style argument, + handle it. + (sprintxval_ex): Rename from sprintxval, add style argument, handle it. + (printxval_searchn_ex): Rename from printxval_searchn, add style + argument, handle it. + (sprintflags_ex): Rename from sprintflags, add style argument, + handle it. + (printflags_ex): Add style argument, handle it. + + Co-Authored-by: Dmitry V. Levin + References: https://github.com/strace/strace/issues/27 + +2018-04-11 Dmitry V. Levin + + tests: robustify signal delivery test against kernel bugs. + Recent kernel siginfo changes, namely, v4.14-rc1~60^2^2~1, + v4.16-rc1~159^2~37, and v4.16-rc1~159^2~39, introduced ABI regressions + that render the whole siginfo interface unreliable. + + Looks like the kernel side is not eager to fix the breakage, + so here is a workaround. + + * tests/signal_receive.c (s_sig, s_code, s_pid, s_uid): New volatile + variables. + (handler): Add siginfo_t parameter, save siginfo_t fields. + (sig_print): Remove. + (main): Rewrite. Use variables saved by handler to print expected + siginfo output. Print diagnostics in case of siginfo mismatch. + * strace.spec.in (%check): Extract the diagnostics. + + Closes: https://github.com/strace/strace/issues/21 + +2018-04-11 Dmitry V. Levin + + Lift experimental status from stack tracing feature. + * strace.1.in (.SH OPTIONS) <.B \-k>: Remove " (experimental)". + * strace.c (usage) [ENABLE_STACKTRACE]: Likewise. + +2018-04-11 Dmitry V. Levin + + Enable stack tracing in packages on all architectures. + The stack tracing feature used to be enabled in packages on x86_64 only. + This change enables -k option on all architectures. + + * debian/control (Build-Depends) [!amd64]: Add pkg-config, libdw-dev, + and libiberty-dev. + * strace.spec.in (BuildRequires) [!x86_64]: Add + %buildrequires_stacktrace. + +2018-04-11 Dmitry V. Levin + + Use libdw-based unwinder in ci and packages. + * ci/install-dependencies.sh (common_packages): Add pkg-config, + replace libunwind8-dev with libdw-dev. + * debian/control (Build-Depends) [amd64]: Add pkg-config, + replace libunwind-dev with libdw-dev. + * debian/rules (build-udeb/Makefile): Replace --without-libunwind + with --without-stacktrace. + * strace.spec.in (buildrequires_libunwind_devel): Rename + to buildrequires_stacktrace, replace libunwind-devel with + either elfutils-devel or libdw-devel. + + tests: skip -k tests on unsupported architectures. + * tests/strace-k.test: When actual strace -k output doesn't match the + expected output because of limited architecture support, skip the test + on architectures that are not currently supported by libdw. + +2018-04-11 Masatake YAMATO + + unwind: add libdw as an unwinder. + Implement alternative libdw-based unwinder for stack tracing. + Add --with-libdw configure option to control whether libdw can be used + as an unwinder. + + * m4/st_libdw.m4: New file. + * m4/st_stacktrace.m4 (st_STACKTRACE): Invoke st_ARG_LIBDW and st_LIBDW, + check for mutually exclusive configure options, + (AM_CONDITIONAL): Add USE_LIBDW. + * unwind-libdw.c: New file. + * Makefile.am [USE_LIBDW] (strace_SOURCES): Append unwind-libdw.c. + [USE_LIBDW] (strace_CPPFLAGS): Append $(libdw_CPPFLAGS). + [USE_LIBDW] (strace_CFLAGS): Append $(libdw_CFLAGS). + [USE_LIBDW] (strace_LDFLAGS): Append $(libdw_LDFLAGS). + [USE_LIBDW] (strace_LDADD): Append $(libdw_LIBS). + * NEWS: Mention this improvement. + + Closes: https://github.com/strace/strace/issues/12 + Closes: https://github.com/strace/strace/issues/13 + Co-Authored-by: Mark Wielaard + Co-Authored-by: Dmitry V. Levin + +2018-04-11 Dmitry V. Levin + + tests: check corner cases of udev_monitor_netlink_header decoding. + * tests/netlink_kobject_uevent.c (test_nlmsg_type_kernel): Create + a tail-allocated udev_monitor_netlink_header object and pass it + to sys_send. + (test_nlmsg_type_udev): Likewise. Check decoding of + udev_monitor_netlink_header object that ends in unmapped memory region. + +2018-04-11 Harsha Sharma + + tests: check decoding of udev_monitor_netlink_header. + * tests/netlink_kobject_uevent.c: Include , , + and "netlink_kobject_uevent.h". + (test_nlmsg_type_udev, test_nlmsg_type_kernel): New functions. + (main): Use them. + +2018-04-11 Harsha Sharma + + netlink: decode libudev netlink header. + * defs.h (decode_netlink_kobject_uevent): New prototype. + * netlink.c (decode_netlink): Decode family kobject_uevent. + * netlink_kobject_uevent.h: New file. + * netlink_kobject_uevent.c: Likewise. + * Makefile.am (strace_SOURCES): Add them. + + Co-Authored-by: Dmitry V. Levin + +2018-04-11 Harsha Sharma + + tests: check basic decoding of PTP_* ioctl commands. + * tests/ioctl_ptp.c: New file. + * tests/gen_tests.in (ioctl_ptp): New entry. + * tests/pure_executables.list: Add ioctl_ptp. + * tests/.gitignore: Likewise. + + Co-Authored-by: Dmitry V. Levin + +2018-04-10 Eugene Syromyatnikov + + bpf: decode BPF_PROG_QUERY command. + BPF_PROG_QUERY was introduced in Linux commit v4.15-rc1~84^2~558^2~6. + + * xlat/bpf_commands.in (BPF_PROG_QUERY): New constant. + * xlat/bpf_query_flags.in: New file. + * bpf.c: Include it. + (DECL_BPF_CMD_DECODER): Add priv argument for passing tcb private data. + (BEGIN_BPF_CMD_DECODER(BPF_PROG_QUERY)): New function. + (SYS_FUNC(bpf)) : Add BPF_PROG_QUERY entry. + (SYS_FUNC(bpf)): Fetch buf on entering and exiting, pass buf on exiting, + retrieve private data on exiting, pass it to decoder as well, explicitly + rework rc handling logic for size argument printing. + * bpf_attr.h (struct BPF_PROG_QUERY_struct): New structure declaration. + (BPF_PROG_QUERY_struct_size, expected_BPF_PROG_QUERY_struct_size): New + macro. + * tests/bpf.c: Add checks for BPF_PROG_QUERY command. + +2018-04-10 Eugene Syromyatnikov + + Make print_uint64 from btrfs.c globally available. + And rename it to print_uint64_array_member to make the name sensible + without additional context. + + * defs.h (print_uint64_array_member): New function prototype. + * btrfs.c (print_uint64): Move... + * util.c (print_uint64_array_member): ...here, drop "static" qualifier. + +2018-04-10 Eugene Syromyatnikov + + Introduce umoven_or_printaddr64* functions. + Counterparts for umoven_or_printaddr/umoven_or_printaddr_ignore_syserror + that always print 64 bits of addr (as this is needed in bpf and btrfs + decoders). + + * util.c (umoven_or_printaddr64): Rename from umoven_or_printaddr, + change addr argument type to uint64_t, call printaddr64 instead of + printaddr. + (umoven_or_printaddr64_ignore_syserror): Rename from + umoven_or_printaddr_ignore_syserror, change addr argument type to + uint64_t, call printaddr64 instead of printaddr. + * defs.h (umoven_or_printaddr64): Rename from umoven_or_printaddr, + change addr argument type to uint64_t. + (umoven_or_printaddr64_ignore_syserror): Rename from + umoven_or_printaddr_ignore_syserror, change addr argument type to + uint64_t. + (umove_or_printaddr64): New macro, a wrapper for umoven_or_printaddr64. + (umoven_or_printaddr): New function, a wrapper for + umoven_or_printaddr64. + (umoven_or_printaddr_ignore_syserror): New function, a wrapper for + umoven_or_printaddr64_ignore_syserror. + +2018-04-10 Eugene Syromyatnikov + + bpf_filter.c: add support for decoding eBPF instruction codes. + * bpf_filter.c (print_bpf_filter_code): Add extended argument, remove + static qualifier. Add support for decoding eBPF instruction code. + * defs.h (print_bpf_filter_code): New declaration. + * xlat/ebpf_class.in: New file. + * xlat/ebpf_mode.in: Likewise. + * xlat/ebpf_op_alu.in: Likewise. + * xlat/ebpf_op_jmp.in: Likewise. + * xlat/ebpf_size.in: Likewise. + + Co-Authored-by: Dmitry V. Levin + +2018-04-08 Dmitry V. Levin + + unwind: prepare configure subsystem for alternative unwinders. + Introduce --enable-stacktrace configure option to control whether + -k option support is compiled in, --with-libunwind option remains + available to control whether libunwind can be used as an unwinder. + + * m4/st_demangle.m4: New file. + * m4/st_libunwind.m4: Likewise. + * m4/st_stacktrace.m4: Likewise. + * configure.ac: Replace all libunwind and libiberty checks + with a single st_STACKTRACE invocation. + * Makefile.am: Conditionalize checks for USE_LIBUNWIND and USE_DEMANGLE + on ENABLE_STACKTRACE. + [ENABLE_STACKTRACE] (strace_SOURCES): Append unwind.c and unwind.h. + * strace.1.in: Replace libunwind with an unwinder-agnostic wording. + * defs.h: Replace USE_LIBUNWIND with ENABLE_STACKTRACE. + * strace.c: Likewise. + (print_version): Print stack-trace instead of stack-unwind. + * syscall.c: Replace USE_LIBUNWIND with ENABLE_STACKTRACE. + * tests/Makefile.am: Likewise. Replace LIBUNWIND_TESTS + with STACKTRACE_TESTS. + * tests/strace-V.test: Update expected output. + +2018-04-08 Eugene Syromyatnikov + + bpf: implement decoding of prog_name and prog_ifindex fields. + * bpf.c (BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD)): Add support for decoding + of prog_name (introduced in Linux commit v4.15-rc1~84^2~605^2~4) and + prog_ifindex (introduced as prog_target_ifindex in v4.15-rc1~84^2~127^2~13, + renamed in v4.15-rc1~15^2~5^2~3^2~7). + * bpf_attr.h [!BPF_OBJ_NAME_LEN] (BPF_OBJ_NAME_LEN): New macro constant. + [BPF_OBJ_NAME_LEN]: Check that BPF_OBJ_NAME_LEN is equal to 16. + (struct BPF_PROG_LOAD_struct): Add prog_name and prog_ifindex fields. + (BPF_PROG_LOAD_struct_size, expected_BPF_PROG_LOAD_struct_size): Update. + * tests/bpf.c (init_BPF_PROG_LOAD_attr): Rename + to init_BPF_PROG_LOAD_attr3. + (print_BPF_PROG_LOAD_attr): Rename to print_BPF_PROG_LOAD_attr3. + (init_BPF_PROG_LOAD_attr4, print_BPF_PROG_LOAD_attr4): New functions. + (BPF_PROG_LOAD_checks): Check new decoding features. + +2018-04-08 Eugene Syromyatnikov + + bpf: add support for array fields. + * gen_bpf_attr_check.sh: Ignore field array size definition. + * m4/gen_bpf_attr_m4.sh (filter_entries): Likewise. + + Co-Authored-by: Dmitry V. Levin + +2018-04-07 Dmitry V. Levin + + tests: robustify strace -k tests. + Allow __getpid as an alternative name for getpid, + allow __kernel_vsyscall after getpid. + + * tests/strace-k.expected: New file. + * tests/strace-k-demangle.expected: Likewise. + * tests/Makefile.am (EXTRA_DIST): Add them. + * tests/strace-k-demangle.test (expected): Remove. + * tests/strace-k.test: Likewise. Use grep to check the output. + +2018-04-07 Eugene Syromyatnikov + + ipc_msg: sign extend msgtyp in m32 personality. + msgtyp has to be treated as a signed type all the way from fetching + to printing. + + * ipc_msg.c (fetch_msgrcv_args): Sign extend msgtyp when fetching. + 2018-04-05 Dmitry V. Levin + strace.spec.in: update Source URL. + * strace.spec.in (Source): Change to https://strace.io/files/. + + debian: enable mpers support for ppc64el and s390x. + * debian/control (Build-Depends) [ppc64el, s390x]: Add gcc-multilib. + + Post-release administrivia. + * NEWS: Add a header line for the next release. + * debian/changelog.in: Add a changelog entry for 4.22-1. + * strace.spec.in: Likewise. + Prepare for 4.22 release. * NEWS: Update for 4.22 release. diff --git a/Makefile b/Makefile index f6dbb597..c148798c 100644 --- a/Makefile +++ b/Makefile @@ -147,28 +147,37 @@ 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 -#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) +#am__append_1 = unwind.c unwind.h +##am__append_2 = unwind-libdw.c +##am__append_3 = $(libdw_CPPFLAGS) +##am__append_4 = $(libdw_CFLAGS) +##am__append_5 = $(libdw_LDFLAGS) +##am__append_6 = $(libdw_LIBS) +##am__append_7 = unwind-libunwind.c +##am__append_8 = $(libunwind_CPPFLAGS) +##am__append_9 = $(libunwind_LDFLAGS) +##am__append_10 = $(libunwind_LIBS) +##am__append_11 = $(libiberty_CPPFLAGS) +##am__append_12 = $(libiberty_LDFLAGS) +##am__append_13 = $(libiberty_LIBS) +am__append_14 = libmpers-m32.a +am__append_15 = libmpers-m32.a +am__append_16 = $(mpers_m32_targets) +am__append_17 = $(mpers_m32_targets) +#am__append_18 = libmpers-mx32.a +#am__append_19 = libmpers-mx32.a +#am__append_20 = $(mpers_mx32_targets) +#am__append_21 = $(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_demangle.m4 $(top_srcdir)/m4/st_libdw.m4 \ + $(top_srcdir)/m4/st_libunwind.m4 \ $(top_srcdir)/m4/st_save_restore_var.m4 \ + $(top_srcdir)/m4/st_stacktrace.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) \ @@ -194,12 +203,12 @@ am__libmpers_m32_a_SOURCES_DIST = block.c btrfs.c dirent.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 + ipc_msgctl.c ipc_shmctl.c loop.c mtd.c perf_ioctl.c \ + print_aio_sigset.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) \ @@ -215,6 +224,8 @@ am__objects_1 = libmpers_m32_a-block.$(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-perf_ioctl.$(OBJEXT) \ + libmpers_m32_a-print_aio_sigset.$(OBJEXT) \ libmpers_m32_a-print_group_req.$(OBJEXT) \ libmpers_m32_a-print_mq_attr.$(OBJEXT) \ libmpers_m32_a-print_msgbuf.$(OBJEXT) \ @@ -241,12 +252,12 @@ am__libmpers_mx32_a_SOURCES_DIST = block.c btrfs.c dirent.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 + ipc_msgctl.c ipc_shmctl.c loop.c mtd.c perf_ioctl.c \ + print_aio_sigset.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) \ @@ -263,6 +274,8 @@ am__objects_2 = libmpers_mx32_a-block.$(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-perf_ioctl.$(OBJEXT) \ + libmpers_mx32_a-print_aio_sigset.$(OBJEXT) \ libmpers_mx32_a-print_group_req.$(OBJEXT) \ libmpers_mx32_a-print_mq_attr.$(OBJEXT) \ libmpers_mx32_a-print_msgbuf.$(OBJEXT) \ @@ -291,6 +304,7 @@ 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-mmap_cache.$(OBJEXT) \ libstrace_a-sigreturn.$(OBJEXT) \ libstrace_a-socketcall.$(OBJEXT) libstrace_a-statfs.$(OBJEXT) \ libstrace_a-statfs64.$(OBJEXT) \ @@ -309,39 +323,42 @@ am__strace_SOURCES_DIST = access.c affinity.c aio.c alpha.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 \ + execve.c f_owner_ex.h 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 \ + getcwd.c getrandom.c hdio.c hostname.c inotify.c \ + inotify_ioctl.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/linux/signal.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 \ + mmap_notify.c mmap_notify.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_kobject_uevent.c netlink_kobject_uevent.h \ + 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 perf_ioctl.c personality.c pkeys.c poll.c \ + prctl.c print_aio_sigset.c print_dev_t.c print_group_req.c \ + print_fields.h print_ifindex.c print_mac.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 \ @@ -355,10 +372,12 @@ am__strace_SOURCES_DIST = access.c affinity.c aio.c alpha.c \ 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 + bpf_attr_check.c unwind.c unwind.h unwind-libdw.c \ + unwind-libunwind.c am__objects_3 = strace-bpf_attr_check.$(OBJEXT) -#am__objects_4 = strace-unwind.$(OBJEXT) \ -# strace-unwind-libunwind.$(OBJEXT) +#am__objects_4 = strace-unwind.$(OBJEXT) +##am__objects_5 = strace-unwind-libdw.$(OBJEXT) +##am__objects_6 = 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) \ @@ -392,23 +411,25 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(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-inotify.$(OBJEXT) strace-inotify_ioctl.$(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_notify.$(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_kobject_uevent.$(OBJEXT) \ strace-netlink_inet_diag.$(OBJEXT) \ strace-netlink_netfilter.$(OBJEXT) \ strace-netlink_netlink_diag.$(OBJEXT) \ @@ -422,11 +443,12 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(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-perf_ioctl.$(OBJEXT) strace-personality.$(OBJEXT) \ + strace-pkeys.$(OBJEXT) strace-poll.$(OBJEXT) \ + strace-prctl.$(OBJEXT) strace-print_aio_sigset.$(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_ifindex.$(OBJEXT) strace-print_mac.$(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) \ @@ -471,16 +493,18 @@ 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_4) + $(am__objects_3) $(am__objects_4) $(am__objects_5) \ + $(am__objects_6) strace_OBJECTS = $(am_strace_OBJECTS) am__DEPENDENCIES_1 = -#am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) -##am__DEPENDENCIES_3 = \ +##am__DEPENDENCIES_2 = \ ## $(am__DEPENDENCIES_1) +##am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) +##am__DEPENDENCIES_4 = $(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) + $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4) \ + $(am__DEPENDENCIES_1) $(am__append_14) $(am__append_18) strace_LINK = $(CCLD) $(strace_CFLAGS) $(CFLAGS) $(strace_LDFLAGS) \ $(LDFLAGS) -o $@ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -640,12 +664,12 @@ 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 +ACLOCAL = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/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 +AUTOCONF = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing autoconf +AUTOHEADER = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing autoheader +AUTOMAKE = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing automake-1.14 AWK = gawk BUILD_EXEEXT = BUILD_OBJEXT = @@ -666,7 +690,7 @@ CPPFLAGS = CPPFLAGS_FOR_BUILD = CPP_FOR_BUILD = gcc -E CYGPATH_W = echo -DEB_CHANGELOGTIME = Thu, 14 Jun 2018 16:29:09 -0700 +DEB_CHANGELOGTIME = Fri, 15 Jun 2018 17:54:18 +0000 DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = @@ -693,23 +717,23 @@ LIBOBJS = LIBS = LTLIBOBJS = MAINT = # -MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing makeinfo -MANPAGE_DATE = 2018-04-04 +MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing makeinfo +MANPAGE_DATE = 2018-06-13 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_STRING = strace 4.23 PACKAGE_TARNAME = strace PACKAGE_URL = https://strace.io -PACKAGE_VERSION = 4.22 +PACKAGE_VERSION = 4.23 PATH_SEPARATOR = : PERL = /usr/bin/perl RANLIB = aarch64-linux-android-ranlib READELF = aarch64-linux-android-readelf -RPM_CHANGELOGTIME = Thu Jun 14 2018 +RPM_CHANGELOGTIME = Fri Jun 15 2018 SED = /bin/sed SET_MAKE = SHELL = /bin/sh @@ -718,13 +742,13 @@ SIZEOF_LONG = 8 STRIP = aarch64-linux-android-strip VALGRIND = valgrind VALGRIND_ENABLED = yes -VERSION = 4.22 +VERSION = 4.23 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 +abs_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 +abs_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 +abs_top_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 +abs_top_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 ac_ct_CC = ac_ct_CC_FOR_BUILD = gcc am__include = include @@ -760,8 +784,12 @@ 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 +install_sh = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/install-sh libdir = ${exec_prefix}/lib +libdw_CFLAGS = +libdw_CPPFLAGS = +libdw_LDFLAGS = +libdw_LIBS = libexecdir = ${exec_prefix}/libexec libiberty_CPPFLAGS = libiberty_LDFLAGS = @@ -814,21 +842,23 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/audit_arch.in xlat/baud_options.in xlat/bdaddr_types.in \ + xlat/blkpg_ops.in xlat/bluetooth_l2_cid.in \ + xlat/bluetooth_l2_psm.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/bpf_prog_types.in xlat/bpf_query_flags.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_cont_reading_from_srcdev_mode.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 \ @@ -841,12 +871,15 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/cacheflush_scope.in xlat/caif_protocols.in \ + xlat/can_protocols.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/dm_flags.in xlat/ebpf_class.in xlat/ebpf_mode.in \ + xlat/ebpf_op_alu.in xlat/ebpf_op_jmp.in xlat/ebpf_regs.in \ + xlat/ebpf_size.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 \ @@ -857,27 +890,31 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/fan_mark_flags.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/getsock_ip_options.in \ + xlat/getsock_ipv6_options.in xlat/getsock_options.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/in6_addr_gen_mode.in xlat/inet6_devconf_indices.in \ + xlat/inet6_if_flags.in xlat/inet_devconf_indices.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/ipc_private.in xlat/ipccalls.in xlat/irda_protocols.in \ + xlat/isdn_protocols.in xlat/itimer_which.in \ + xlat/kcm_protocols.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 \ @@ -899,6 +936,7 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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_sk_meminfo_indices.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 \ @@ -907,12 +945,13 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/nfc_protocols.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/numa_node.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 \ @@ -920,13 +959,17 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/perf_hw_id.in xlat/perf_ioctl_cmds.in \ + xlat/perf_ioctl_flags.in xlat/perf_sw_ids.in \ + xlat/perf_type_id.in xlat/personality_flags.in \ + xlat/personality_types.in xlat/phonet_protocols.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/pr_set_mm.in xlat/pr_spec_cmds.in \ + xlat/pr_spec_get_store_bypass_flags.in \ + xlat/pr_spec_set_store_bypass_flags.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 \ @@ -938,11 +981,16 @@ 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_af_spec_inet6_attrs.in \ + xlat/rtnl_ifla_af_spec_inet_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_ifla_info_attrs.in \ + xlat/rtnl_ifla_info_data_bridge_attrs.in \ + xlat/rtnl_ifla_info_data_tun_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 \ @@ -960,31 +1008,42 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/setsock_ip_options.in xlat/setsock_ipv6_options.in \ + xlat/setsock_options.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/skf_off.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/smc_link_group_roles.in xlat/smc_protocols.in \ + xlat/smc_states.in xlat/snmp_icmp6_stats.in \ + xlat/snmp_ip_stats.in xlat/sock_alg_options.in \ + xlat/sock_bluetooth_options.in xlat/sock_caif_options.in \ + xlat/sock_dccp_options.in xlat/sock_ip_options.in \ + xlat/sock_ipv6_options.in xlat/sock_ipx_options.in \ + xlat/sock_irda_options.in xlat/sock_iucv_options.in \ + xlat/sock_kcm_options.in xlat/sock_llc_options.in \ + xlat/sock_netlink_options.in xlat/sock_nfcllcp_options.in \ + xlat/sock_options.in xlat/sock_packet_options.in \ + xlat/sock_pnp_options.in xlat/sock_pppol2tp_options.in \ + xlat/sock_raw_options.in xlat/sock_rds_options.in \ + xlat/sock_rxrpc_options.in xlat/sock_sctp_options.in \ + xlat/sock_tcp_options.in xlat/sock_tipc_options.in \ + xlat/sock_tls_options.in xlat/sock_type_flags.in \ + xlat/sock_udp_options.in xlat/socketcalls.in \ + xlat/socketlayers.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 \ @@ -992,17 +1051,18 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/tun_device_types.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_control_id_bases.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 \ @@ -1020,18 +1080,22 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/baud_options.h xlat/bdaddr_types.h xlat/blkpg_ops.h \ + xlat/bluetooth_l2_cid.h xlat/bluetooth_l2_psm.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/bpf_query_flags.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_cont_reading_from_srcdev_mode.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 \ @@ -1043,11 +1107,14 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/cacheflush_scope.h xlat/caif_protocols.h \ + xlat/can_protocols.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/ebpf_class.h xlat/ebpf_mode.h xlat/ebpf_op_alu.h \ + xlat/ebpf_op_jmp.h xlat/ebpf_regs.h xlat/ebpf_size.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 \ @@ -1057,23 +1124,27 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/fan_mark_flags.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/getrandom_flags.h xlat/getsock_ip_options.h \ + xlat/getsock_ipv6_options.h xlat/getsock_options.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/in6_addr_gen_mode.h xlat/inet6_devconf_indices.h \ + xlat/inet6_if_flags.h xlat/inet_devconf_indices.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/ipc_private.h xlat/ipccalls.h xlat/irda_protocols.h \ + xlat/isdn_protocols.h xlat/itimer_which.h xlat/kcm_protocols.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 \ @@ -1098,34 +1169,38 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/netlink_sk_meminfo_indices.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/nfc_protocols.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/numa_node.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_ioctl_cmds.h \ + xlat/perf_ioctl_flags.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/phonet_protocols.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_spec_cmds.h \ + xlat/pr_spec_get_store_bypass_flags.h \ + xlat/pr_spec_set_store_bypass_flags.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 \ @@ -1135,11 +1210,16 @@ 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_af_spec_inet6_attrs.h \ + xlat/rtnl_ifla_af_spec_inet_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_ifla_info_attrs.h \ + xlat/rtnl_ifla_info_data_bridge_attrs.h \ + xlat/rtnl_ifla_info_data_tun_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 \ @@ -1156,24 +1236,35 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/setsock_ip_options.h xlat/setsock_ipv6_options.h \ + xlat/setsock_options.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/sigtrap_codes.h xlat/skf_ad.h xlat/skf_off.h \ + xlat/smc_diag_attrs.h xlat/smc_diag_extended_flags.h \ + xlat/smc_link_group_roles.h xlat/smc_protocols.h \ + xlat/smc_states.h xlat/snmp_icmp6_stats.h xlat/snmp_ip_stats.h \ + xlat/sock_alg_options.h xlat/sock_bluetooth_options.h \ + xlat/sock_caif_options.h xlat/sock_dccp_options.h \ + xlat/sock_ip_options.h xlat/sock_ipv6_options.h \ + xlat/sock_ipx_options.h xlat/sock_irda_options.h \ + xlat/sock_iucv_options.h xlat/sock_kcm_options.h \ + xlat/sock_llc_options.h xlat/sock_netlink_options.h \ + xlat/sock_nfcllcp_options.h xlat/sock_options.h \ + xlat/sock_packet_options.h xlat/sock_pnp_options.h \ + xlat/sock_pppol2tp_options.h xlat/sock_raw_options.h \ + xlat/sock_rds_options.h xlat/sock_rxrpc_options.h \ + xlat/sock_sctp_options.h xlat/sock_tcp_options.h \ + xlat/sock_tipc_options.h xlat/sock_tls_options.h \ + xlat/sock_type_flags.h xlat/sock_udp_options.h \ + xlat/socketcalls.h xlat/socketlayers.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 \ @@ -1185,9 +1276,10 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/timerfdflags.h xlat/tun_device_types.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 \ @@ -1195,7 +1287,8 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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_control_id_bases.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 \ @@ -1207,14 +1300,14 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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) +strace_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_3) $(am__append_8) \ + $(am__append_11) $(CODE_COVERAGE_CPPFLAGS) +strace_CFLAGS = $(AM_CFLAGS) $(am__append_4) $(CODE_COVERAGE_CFLAGS) +strace_LDFLAGS = $(am__append_5) $(am__append_9) $(am__append_12) +strace_LDADD = libstrace.a $(clock_LIBS) $(timer_LIBS) $(am__append_6) \ + $(am__append_10) $(am__append_13) $(CODE_COVERAGE_LIBS) \ + $(am__append_14) $(am__append_18) +noinst_LIBRARIES = libstrace.a $(am__append_15) $(am__append_19) libstrace_a_CPPFLAGS = $(strace_CPPFLAGS) libstrace_a_CFLAGS = $(strace_CFLAGS) libstrace_a_SOURCES = \ @@ -1223,6 +1316,8 @@ libstrace_a_SOURCES = \ fstatfs64.c \ getpagesize.c \ ipc.c \ + mmap_cache.c \ + mmap_cache.h \ sigreturn.c \ socketcall.c \ statfs.c \ @@ -1240,40 +1335,43 @@ strace_SOURCES = access.c affinity.c aio.c alpha.c arch_defs.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 \ + evdev_mpers.c eventfd.c execve.c f_owner_ex.h 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 \ + hdio.c hostname.c inotify.c inotify_ioctl.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/linux/signal.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_notify.c mmap_notify.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_crypto.c netlink_kobject_uevent.c \ + netlink_kobject_uevent.h 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 \ + perf_ioctl.c personality.c pkeys.c poll.c prctl.c \ + print_aio_sigset.c print_dev_t.c print_group_req.c \ + print_fields.h print_ifindex.c print_mac.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 \ @@ -1287,7 +1385,8 @@ strace_SOURCES = access.c affinity.c aio.c alpha.c arch_defs.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) $(am__append_1) $(am__append_2) \ + $(am__append_7) strace_SOURCES_check = bpf_attr_check.c CODE_COVERAGE_BRANCH_COVERAGE = 1 CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \ @@ -1335,7 +1434,6 @@ EXTRA_DIST = \ 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 \ @@ -1348,7 +1446,6 @@ EXTRA_DIST = \ 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 \ @@ -1606,7 +1703,6 @@ EXTRA_DIST = \ 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 \ @@ -1620,7 +1716,6 @@ EXTRA_DIST = \ 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 \ @@ -1629,7 +1724,6 @@ EXTRA_DIST = \ 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 \ @@ -1640,7 +1734,6 @@ EXTRA_DIST = \ 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 \ @@ -1667,7 +1760,6 @@ EXTRA_DIST = \ 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 \ @@ -1679,7 +1771,6 @@ EXTRA_DIST = \ 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 \ @@ -1745,7 +1836,6 @@ EXTRA_DIST = \ 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 \ @@ -1758,7 +1848,6 @@ EXTRA_DIST = \ 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 \ @@ -1769,7 +1858,6 @@ EXTRA_DIST = \ 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 \ @@ -1781,7 +1869,6 @@ EXTRA_DIST = \ 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 \ @@ -1794,7 +1881,6 @@ EXTRA_DIST = \ 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 \ @@ -1807,7 +1893,6 @@ EXTRA_DIST = \ 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 \ @@ -1817,8 +1902,6 @@ EXTRA_DIST = \ 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 \ @@ -1835,8 +1918,6 @@ EXTRA_DIST = \ 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 \ @@ -1876,7 +1957,7 @@ syscallent_names = subcall.h syscallent.h syscallent1.h \ syscallent_patterns = $(patsubst %,\%/%,$(syscallent_names)) syscallent_files = $(filter $(syscallent_patterns),$(EXTRA_DIST)) -today = $(shell date +%Y-%m-%d) +today = $(shell LC_TIME=C date -u +%Y-%m-%d) version_regexp = $(subst .,\.,$(VERSION)) news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))' ioctlsort_CC = $(CC_FOR_BUILD) @@ -1890,12 +1971,12 @@ ioctlent_h = $(patsubst $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%,ioctlent%,$(ioctls_i 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) + sys_func.h .version scno.h $(am__append_16) $(am__append_20) 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) + sys_func.h syscallent.i scno.h $(am__append_17) \ + $(am__append_21) DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) @@ -1905,7 +1986,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_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 +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 perf_ioctl.c print_aio_sigset.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)) @@ -2114,6 +2195,8 @@ 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-perf_ioctl.Po +include ./$(DEPDIR)/libmpers_m32_a-print_aio_sigset.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 @@ -2152,6 +2235,8 @@ 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-perf_ioctl.Po +include ./$(DEPDIR)/libmpers_mx32_a-print_aio_sigset.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 @@ -2178,6 +2263,7 @@ 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-mmap_cache.Po include ./$(DEPDIR)/libstrace_a-sigreturn.Po include ./$(DEPDIR)/libstrace_a-socketcall.Po include ./$(DEPDIR)/libstrace_a-statfs.Po @@ -2245,6 +2331,7 @@ include ./$(DEPDIR)/strace-getrandom.Po include ./$(DEPDIR)/strace-hdio.Po include ./$(DEPDIR)/strace-hostname.Po include ./$(DEPDIR)/strace-inotify.Po +include ./$(DEPDIR)/strace-inotify_ioctl.Po include ./$(DEPDIR)/strace-io.Po include ./$(DEPDIR)/strace-ioctl.Po include ./$(DEPDIR)/strace-ioperm.Po @@ -2269,7 +2356,7 @@ 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-mmap_notify.Po include ./$(DEPDIR)/strace-mmsghdr.Po include ./$(DEPDIR)/strace-mount.Po include ./$(DEPDIR)/strace-mq.Po @@ -2279,6 +2366,7 @@ 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_kobject_uevent.Po include ./$(DEPDIR)/strace-netlink_netfilter.Po include ./$(DEPDIR)/strace-netlink_netlink_diag.Po include ./$(DEPDIR)/strace-netlink_packet_diag.Po @@ -2296,13 +2384,16 @@ include ./$(DEPDIR)/strace-open.Po include ./$(DEPDIR)/strace-or1k_atomic.Po include ./$(DEPDIR)/strace-pathtrace.Po include ./$(DEPDIR)/strace-perf.Po +include ./$(DEPDIR)/strace-perf_ioctl.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_aio_sigset.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_mac.Po include ./$(DEPDIR)/strace-print_mq_attr.Po include ./$(DEPDIR)/strace-print_msgbuf.Po include ./$(DEPDIR)/strace-print_sg_req_info.Po @@ -2382,6 +2473,7 @@ include ./$(DEPDIR)/strace-uid16.Po include ./$(DEPDIR)/strace-umask.Po include ./$(DEPDIR)/strace-umount.Po include ./$(DEPDIR)/strace-uname.Po +include ./$(DEPDIR)/strace-unwind-libdw.Po include ./$(DEPDIR)/strace-unwind-libunwind.Po include ./$(DEPDIR)/strace-unwind.Po include ./$(DEPDIR)/strace-userfaultfd.Po @@ -2647,6 +2739,34 @@ libmpers_m32_a-mtd.obj: mtd.c # 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-perf_ioctl.o: perf_ioctl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-perf_ioctl.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-perf_ioctl.Tpo -c -o libmpers_m32_a-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-perf_ioctl.Tpo $(DEPDIR)/libmpers_m32_a-perf_ioctl.Po +# $(AM_V_CC)source='perf_ioctl.c' object='libmpers_m32_a-perf_ioctl.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-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c + +libmpers_m32_a-perf_ioctl.obj: perf_ioctl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-perf_ioctl.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-perf_ioctl.Tpo -c -o libmpers_m32_a-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-perf_ioctl.Tpo $(DEPDIR)/libmpers_m32_a-perf_ioctl.Po +# $(AM_V_CC)source='perf_ioctl.c' object='libmpers_m32_a-perf_ioctl.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-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` + +libmpers_m32_a-print_aio_sigset.o: print_aio_sigset.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_aio_sigset.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Tpo -c -o libmpers_m32_a-print_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Tpo $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Po +# $(AM_V_CC)source='print_aio_sigset.c' object='libmpers_m32_a-print_aio_sigset.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_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c + +libmpers_m32_a-print_aio_sigset.obj: print_aio_sigset.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_aio_sigset.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Tpo -c -o libmpers_m32_a-print_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Tpo $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Po +# $(AM_V_CC)source='print_aio_sigset.c' object='libmpers_m32_a-print_aio_sigset.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_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.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 @@ -3179,6 +3299,34 @@ libmpers_mx32_a-mtd.obj: mtd.c # 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-perf_ioctl.o: perf_ioctl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-perf_ioctl.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Tpo -c -o libmpers_mx32_a-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Tpo $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Po +# $(AM_V_CC)source='perf_ioctl.c' object='libmpers_mx32_a-perf_ioctl.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-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c + +libmpers_mx32_a-perf_ioctl.obj: perf_ioctl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-perf_ioctl.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Tpo -c -o libmpers_mx32_a-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Tpo $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Po +# $(AM_V_CC)source='perf_ioctl.c' object='libmpers_mx32_a-perf_ioctl.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-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` + +libmpers_mx32_a-print_aio_sigset.o: print_aio_sigset.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_aio_sigset.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Tpo -c -o libmpers_mx32_a-print_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Tpo $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Po +# $(AM_V_CC)source='print_aio_sigset.c' object='libmpers_mx32_a-print_aio_sigset.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_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c + +libmpers_mx32_a-print_aio_sigset.obj: print_aio_sigset.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_aio_sigset.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Tpo -c -o libmpers_mx32_a-print_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Tpo $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Po +# $(AM_V_CC)source='print_aio_sigset.c' object='libmpers_mx32_a-print_aio_sigset.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_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.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 @@ -3543,6 +3691,20 @@ libstrace_a-ipc.obj: ipc.c # 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-mmap_cache.o: mmap_cache.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-mmap_cache.o -MD -MP -MF $(DEPDIR)/libstrace_a-mmap_cache.Tpo -c -o libstrace_a-mmap_cache.o `test -f 'mmap_cache.c' || echo '$(srcdir)/'`mmap_cache.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-mmap_cache.Tpo $(DEPDIR)/libstrace_a-mmap_cache.Po +# $(AM_V_CC)source='mmap_cache.c' object='libstrace_a-mmap_cache.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-mmap_cache.o `test -f 'mmap_cache.c' || echo '$(srcdir)/'`mmap_cache.c + +libstrace_a-mmap_cache.obj: mmap_cache.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-mmap_cache.obj -MD -MP -MF $(DEPDIR)/libstrace_a-mmap_cache.Tpo -c -o libstrace_a-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)/libstrace_a-mmap_cache.Tpo $(DEPDIR)/libstrace_a-mmap_cache.Po +# $(AM_V_CC)source='mmap_cache.c' object='libstrace_a-mmap_cache.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-mmap_cache.obj `if test -f 'mmap_cache.c'; then $(CYGPATH_W) 'mmap_cache.c'; else $(CYGPATH_W) '$(srcdir)/mmap_cache.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 @@ -4467,6 +4629,20 @@ strace-inotify.obj: inotify.c # 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-inotify_ioctl.o: inotify_ioctl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-inotify_ioctl.o -MD -MP -MF $(DEPDIR)/strace-inotify_ioctl.Tpo -c -o strace-inotify_ioctl.o `test -f 'inotify_ioctl.c' || echo '$(srcdir)/'`inotify_ioctl.c + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-inotify_ioctl.Tpo $(DEPDIR)/strace-inotify_ioctl.Po +# $(AM_V_CC)source='inotify_ioctl.c' object='strace-inotify_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-inotify_ioctl.o `test -f 'inotify_ioctl.c' || echo '$(srcdir)/'`inotify_ioctl.c + +strace-inotify_ioctl.obj: inotify_ioctl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-inotify_ioctl.obj -MD -MP -MF $(DEPDIR)/strace-inotify_ioctl.Tpo -c -o strace-inotify_ioctl.obj `if test -f 'inotify_ioctl.c'; then $(CYGPATH_W) 'inotify_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/inotify_ioctl.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-inotify_ioctl.Tpo $(DEPDIR)/strace-inotify_ioctl.Po +# $(AM_V_CC)source='inotify_ioctl.c' object='strace-inotify_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-inotify_ioctl.obj `if test -f 'inotify_ioctl.c'; then $(CYGPATH_W) 'inotify_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/inotify_ioctl.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 @@ -4803,19 +4979,19 @@ strace-mknod.obj: mknod.c # 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 \ +strace-mmap_notify.o: mmap_notify.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmap_notify.o -MD -MP -MF $(DEPDIR)/strace-mmap_notify.Tpo -c -o strace-mmap_notify.o `test -f 'mmap_notify.c' || echo '$(srcdir)/'`mmap_notify.c + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmap_notify.Tpo $(DEPDIR)/strace-mmap_notify.Po +# $(AM_V_CC)source='mmap_notify.c' object='strace-mmap_notify.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 +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mmap_notify.o `test -f 'mmap_notify.c' || echo '$(srcdir)/'`mmap_notify.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 \ +strace-mmap_notify.obj: mmap_notify.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmap_notify.obj -MD -MP -MF $(DEPDIR)/strace-mmap_notify.Tpo -c -o strace-mmap_notify.obj `if test -f 'mmap_notify.c'; then $(CYGPATH_W) 'mmap_notify.c'; else $(CYGPATH_W) '$(srcdir)/mmap_notify.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmap_notify.Tpo $(DEPDIR)/strace-mmap_notify.Po +# $(AM_V_CC)source='mmap_notify.c' object='strace-mmap_notify.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` +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mmap_notify.obj `if test -f 'mmap_notify.c'; then $(CYGPATH_W) 'mmap_notify.c'; else $(CYGPATH_W) '$(srcdir)/mmap_notify.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 @@ -4929,6 +5105,20 @@ strace-netlink_crypto.obj: netlink_crypto.c # 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_kobject_uevent.o: netlink_kobject_uevent.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_kobject_uevent.o -MD -MP -MF $(DEPDIR)/strace-netlink_kobject_uevent.Tpo -c -o strace-netlink_kobject_uevent.o `test -f 'netlink_kobject_uevent.c' || echo '$(srcdir)/'`netlink_kobject_uevent.c + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_kobject_uevent.Tpo $(DEPDIR)/strace-netlink_kobject_uevent.Po +# $(AM_V_CC)source='netlink_kobject_uevent.c' object='strace-netlink_kobject_uevent.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_kobject_uevent.o `test -f 'netlink_kobject_uevent.c' || echo '$(srcdir)/'`netlink_kobject_uevent.c + +strace-netlink_kobject_uevent.obj: netlink_kobject_uevent.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_kobject_uevent.obj -MD -MP -MF $(DEPDIR)/strace-netlink_kobject_uevent.Tpo -c -o strace-netlink_kobject_uevent.obj `if test -f 'netlink_kobject_uevent.c'; then $(CYGPATH_W) 'netlink_kobject_uevent.c'; else $(CYGPATH_W) '$(srcdir)/netlink_kobject_uevent.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_kobject_uevent.Tpo $(DEPDIR)/strace-netlink_kobject_uevent.Po +# $(AM_V_CC)source='netlink_kobject_uevent.c' object='strace-netlink_kobject_uevent.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_kobject_uevent.obj `if test -f 'netlink_kobject_uevent.c'; then $(CYGPATH_W) 'netlink_kobject_uevent.c'; else $(CYGPATH_W) '$(srcdir)/netlink_kobject_uevent.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 @@ -5181,6 +5371,20 @@ strace-perf.obj: perf.c # 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-perf_ioctl.o: perf_ioctl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-perf_ioctl.o -MD -MP -MF $(DEPDIR)/strace-perf_ioctl.Tpo -c -o strace-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-perf_ioctl.Tpo $(DEPDIR)/strace-perf_ioctl.Po +# $(AM_V_CC)source='perf_ioctl.c' object='strace-perf_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-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c + +strace-perf_ioctl.obj: perf_ioctl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-perf_ioctl.obj -MD -MP -MF $(DEPDIR)/strace-perf_ioctl.Tpo -c -o strace-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-perf_ioctl.Tpo $(DEPDIR)/strace-perf_ioctl.Po +# $(AM_V_CC)source='perf_ioctl.c' object='strace-perf_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-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.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 @@ -5237,6 +5441,20 @@ strace-prctl.obj: prctl.c # 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_aio_sigset.o: print_aio_sigset.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_aio_sigset.o -MD -MP -MF $(DEPDIR)/strace-print_aio_sigset.Tpo -c -o strace-print_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_aio_sigset.Tpo $(DEPDIR)/strace-print_aio_sigset.Po +# $(AM_V_CC)source='print_aio_sigset.c' object='strace-print_aio_sigset.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_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c + +strace-print_aio_sigset.obj: print_aio_sigset.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_aio_sigset.obj -MD -MP -MF $(DEPDIR)/strace-print_aio_sigset.Tpo -c -o strace-print_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_aio_sigset.Tpo $(DEPDIR)/strace-print_aio_sigset.Po +# $(AM_V_CC)source='print_aio_sigset.c' object='strace-print_aio_sigset.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_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.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 @@ -5279,6 +5497,20 @@ strace-print_ifindex.obj: print_ifindex.c # 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_mac.o: print_mac.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_mac.o -MD -MP -MF $(DEPDIR)/strace-print_mac.Tpo -c -o strace-print_mac.o `test -f 'print_mac.c' || echo '$(srcdir)/'`print_mac.c + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_mac.Tpo $(DEPDIR)/strace-print_mac.Po +# $(AM_V_CC)source='print_mac.c' object='strace-print_mac.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_mac.o `test -f 'print_mac.c' || echo '$(srcdir)/'`print_mac.c + +strace-print_mac.obj: print_mac.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_mac.obj -MD -MP -MF $(DEPDIR)/strace-print_mac.Tpo -c -o strace-print_mac.obj `if test -f 'print_mac.c'; then $(CYGPATH_W) 'print_mac.c'; else $(CYGPATH_W) '$(srcdir)/print_mac.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_mac.Tpo $(DEPDIR)/strace-print_mac.Po +# $(AM_V_CC)source='print_mac.c' object='strace-print_mac.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_mac.obj `if test -f 'print_mac.c'; then $(CYGPATH_W) 'print_mac.c'; else $(CYGPATH_W) '$(srcdir)/print_mac.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 @@ -6553,6 +6785,20 @@ strace-unwind.obj: unwind.c # 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-libdw.o: unwind-libdw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind-libdw.o -MD -MP -MF $(DEPDIR)/strace-unwind-libdw.Tpo -c -o strace-unwind-libdw.o `test -f 'unwind-libdw.c' || echo '$(srcdir)/'`unwind-libdw.c + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind-libdw.Tpo $(DEPDIR)/strace-unwind-libdw.Po +# $(AM_V_CC)source='unwind-libdw.c' object='strace-unwind-libdw.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-libdw.o `test -f 'unwind-libdw.c' || echo '$(srcdir)/'`unwind-libdw.c + +strace-unwind-libdw.obj: unwind-libdw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind-libdw.obj -MD -MP -MF $(DEPDIR)/strace-unwind-libdw.Tpo -c -o strace-unwind-libdw.obj `if test -f 'unwind-libdw.c'; then $(CYGPATH_W) 'unwind-libdw.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libdw.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind-libdw.Tpo $(DEPDIR)/strace-unwind-libdw.Po +# $(AM_V_CC)source='unwind-libdw.c' object='strace-unwind-libdw.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-libdw.obj `if test -f 'unwind-libdw.c'; then $(CYGPATH_W) 'unwind-libdw.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libdw.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 @@ -7105,8 +7351,14 @@ $(top_srcdir)/xlat/audit_arch.h: $(top_srcdir)/xlat/audit_arch.in $(top_srcdir)/ $(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/bdaddr_types.h: $(top_srcdir)/xlat/bdaddr_types.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/bluetooth_l2_cid.h: $(top_srcdir)/xlat/bluetooth_l2_cid.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/bluetooth_l2_psm.h: $(top_srcdir)/xlat/bluetooth_l2_psm.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 @@ -7141,6 +7393,8 @@ $(top_srcdir)/xlat/bpf_prog_flags.h: $(top_srcdir)/xlat/bpf_prog_flags.in $(top_ $(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_query_flags.h: $(top_srcdir)/xlat/bpf_query_flags.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 @@ -7165,6 +7419,8 @@ $(top_srcdir)/xlat/btrfs_balance_state.h: $(top_srcdir)/xlat/btrfs_balance_state $(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_cont_reading_from_srcdev_mode.h: $(top_srcdir)/xlat/btrfs_cont_reading_from_srcdev_mode.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 @@ -7207,6 +7463,10 @@ $(top_srcdir)/xlat/btrfs_tree_objectids.h: $(top_srcdir)/xlat/btrfs_tree_objecti $(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/caif_protocols.h: $(top_srcdir)/xlat/caif_protocols.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/can_protocols.h: $(top_srcdir)/xlat/can_protocols.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 @@ -7233,6 +7493,18 @@ $(top_srcdir)/xlat/dirent_types.h: $(top_srcdir)/xlat/dirent_types.in $(top_srcd $(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/ebpf_class.h: $(top_srcdir)/xlat/ebpf_class.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_mode.h: $(top_srcdir)/xlat/ebpf_mode.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_op_alu.h: $(top_srcdir)/xlat/ebpf_op_alu.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_op_jmp.h: $(top_srcdir)/xlat/ebpf_op_jmp.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_regs.h: $(top_srcdir)/xlat/ebpf_regs.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_size.h: $(top_srcdir)/xlat/ebpf_size.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 @@ -7285,8 +7557,6 @@ $(top_srcdir)/xlat/fan_init_flags.h: $(top_srcdir)/xlat/fan_init_flags.in $(top_ $(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 @@ -7311,9 +7581,11 @@ $(top_srcdir)/xlat/futexwakeops.h: $(top_srcdir)/xlat/futexwakeops.in $(top_srcd $(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 +$(top_srcdir)/xlat/getsock_ip_options.h: $(top_srcdir)/xlat/getsock_ip_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/getsock_ipv6_options.h: $(top_srcdir)/xlat/getsock_ipv6_options.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 +$(top_srcdir)/xlat/getsock_options.h: $(top_srcdir)/xlat/getsock_options.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 $< $@ @@ -7333,6 +7605,14 @@ $(top_srcdir)/xlat/ifaddrflags.h: $(top_srcdir)/xlat/ifaddrflags.in $(top_srcdir $(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/in6_addr_gen_mode.h: $(top_srcdir)/xlat/in6_addr_gen_mode.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/inet6_devconf_indices.h: $(top_srcdir)/xlat/inet6_devconf_indices.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/inet6_if_flags.h: $(top_srcdir)/xlat/inet6_if_flags.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/inet_devconf_indices.h: $(top_srcdir)/xlat/inet_devconf_indices.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 @@ -7359,10 +7639,18 @@ $(top_srcdir)/xlat/ip_type_of_services.h: $(top_srcdir)/xlat/ip_type_of_services $(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/ipc_private.h: $(top_srcdir)/xlat/ipc_private.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/irda_protocols.h: $(top_srcdir)/xlat/irda_protocols.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/isdn_protocols.h: $(top_srcdir)/xlat/isdn_protocols.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/kcm_protocols.h: $(top_srcdir)/xlat/kcm_protocols.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 @@ -7471,6 +7759,8 @@ $(top_srcdir)/xlat/netlink_new_flags.h: $(top_srcdir)/xlat/netlink_new_flags.in $(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_sk_meminfo_indices.h: $(top_srcdir)/xlat/netlink_sk_meminfo_indices.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 @@ -7499,6 +7789,8 @@ $(top_srcdir)/xlat/nf_queue_msg_types.h: $(top_srcdir)/xlat/nf_queue_msg_types.i $(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/nfc_protocols.h: $(top_srcdir)/xlat/nfc_protocols.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 @@ -7521,6 +7813,8 @@ $(top_srcdir)/xlat/notifyflags.h: $(top_srcdir)/xlat/notifyflags.in $(top_srcdir $(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/numa_node.h: $(top_srcdir)/xlat/numa_node.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 @@ -7551,6 +7845,10 @@ $(top_srcdir)/xlat/perf_hw_cache_op_result_id.h: $(top_srcdir)/xlat/perf_hw_cach $(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_ioctl_cmds.h: $(top_srcdir)/xlat/perf_ioctl_cmds.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/perf_ioctl_flags.h: $(top_srcdir)/xlat/perf_ioctl_flags.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 @@ -7559,6 +7857,8 @@ $(top_srcdir)/xlat/personality_flags.h: $(top_srcdir)/xlat/personality_flags.in $(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/phonet_protocols.h: $(top_srcdir)/xlat/phonet_protocols.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 @@ -7577,6 +7877,12 @@ $(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_spec_cmds.h: $(top_srcdir)/xlat/pr_spec_cmds.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/pr_spec_get_store_bypass_flags.h: $(top_srcdir)/xlat/pr_spec_get_store_bypass_flags.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/pr_spec_set_store_bypass_flags.h: $(top_srcdir)/xlat/pr_spec_set_store_bypass_flags.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 @@ -7629,12 +7935,20 @@ $(top_srcdir)/xlat/rtnl_addrlabel_attrs.h: $(top_srcdir)/xlat/rtnl_addrlabel_att $(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_af_spec_inet6_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_af_spec_inet6_attrs.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/rtnl_ifla_af_spec_inet_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_af_spec_inet_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_info_data_bridge_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_info_data_bridge_attrs.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/rtnl_ifla_info_data_tun_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_info_data_tun_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 @@ -7713,9 +8027,11 @@ $(top_srcdir)/xlat/semop_flags.h: $(top_srcdir)/xlat/semop_flags.in $(top_srcdir $(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 +$(top_srcdir)/xlat/setsock_ip_options.h: $(top_srcdir)/xlat/setsock_ip_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/setsock_ipv6_options.h: $(top_srcdir)/xlat/setsock_ipv6_options.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 +$(top_srcdir)/xlat/setsock_options.h: $(top_srcdir)/xlat/setsock_options.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 $< $@ @@ -7767,37 +8083,77 @@ $(top_srcdir)/xlat/sigtrap_codes.h: $(top_srcdir)/xlat/sigtrap_codes.in $(top_sr $(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/skf_off.h: $(top_srcdir)/xlat/skf_off.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_protocols.h: $(top_srcdir)/xlat/smc_protocols.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 +$(top_srcdir)/xlat/snmp_icmp6_stats.h: $(top_srcdir)/xlat/snmp_icmp6_stats.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 +$(top_srcdir)/xlat/snmp_ip_stats.h: $(top_srcdir)/xlat/snmp_ip_stats.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 +$(top_srcdir)/xlat/sock_alg_options.h: $(top_srcdir)/xlat/sock_alg_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_bluetooth_options.h: $(top_srcdir)/xlat/sock_bluetooth_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_caif_options.h: $(top_srcdir)/xlat/sock_caif_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_dccp_options.h: $(top_srcdir)/xlat/sock_dccp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_ip_options.h: $(top_srcdir)/xlat/sock_ip_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_ipv6_options.h: $(top_srcdir)/xlat/sock_ipv6_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_ipx_options.h: $(top_srcdir)/xlat/sock_ipx_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_irda_options.h: $(top_srcdir)/xlat/sock_irda_options.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 +$(top_srcdir)/xlat/sock_iucv_options.h: $(top_srcdir)/xlat/sock_iucv_options.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 +$(top_srcdir)/xlat/sock_kcm_options.h: $(top_srcdir)/xlat/sock_kcm_options.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 +$(top_srcdir)/xlat/sock_llc_options.h: $(top_srcdir)/xlat/sock_llc_options.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 +$(top_srcdir)/xlat/sock_netlink_options.h: $(top_srcdir)/xlat/sock_netlink_options.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 +$(top_srcdir)/xlat/sock_nfcllcp_options.h: $(top_srcdir)/xlat/sock_nfcllcp_options.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 +$(top_srcdir)/xlat/sock_options.h: $(top_srcdir)/xlat/sock_options.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 +$(top_srcdir)/xlat/sock_packet_options.h: $(top_srcdir)/xlat/sock_packet_options.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 +$(top_srcdir)/xlat/sock_pnp_options.h: $(top_srcdir)/xlat/sock_pnp_options.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 +$(top_srcdir)/xlat/sock_pppol2tp_options.h: $(top_srcdir)/xlat/sock_pppol2tp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_raw_options.h: $(top_srcdir)/xlat/sock_raw_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_rds_options.h: $(top_srcdir)/xlat/sock_rds_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_rxrpc_options.h: $(top_srcdir)/xlat/sock_rxrpc_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_sctp_options.h: $(top_srcdir)/xlat/sock_sctp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_tcp_options.h: $(top_srcdir)/xlat/sock_tcp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_tipc_options.h: $(top_srcdir)/xlat/sock_tipc_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_tls_options.h: $(top_srcdir)/xlat/sock_tls_options.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/sock_udp_options.h: $(top_srcdir)/xlat/sock_udp_options.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/socktypes.h: $(top_srcdir)/xlat/socktypes.in $(top_srcdir)/xlat/gen.sh $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ @@ -7853,6 +8209,8 @@ $(top_srcdir)/xlat/tcxonc_options.h: $(top_srcdir)/xlat/tcxonc_options.in $(top_ $(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/tun_device_types.h: $(top_srcdir)/xlat/tun_device_types.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 @@ -7893,6 +8251,8 @@ $(top_srcdir)/xlat/v4l2_control_classes.h: $(top_srcdir)/xlat/v4l2_control_class $(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_id_bases.h: $(top_srcdir)/xlat/v4l2_control_id_bases.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 diff --git a/Makefile.am b/Makefile.am index 6985d282..32593443 100644 --- a/Makefile.am +++ b/Makefile.am @@ -75,6 +75,8 @@ libstrace_a_SOURCES = \ fstatfs64.c \ getpagesize.c \ ipc.c \ + mmap_cache.c \ + mmap_cache.h \ sigreturn.c \ socketcall.c \ statfs.c \ @@ -128,6 +130,7 @@ strace_SOURCES = \ evdev_mpers.c \ eventfd.c \ execve.c \ + f_owner_ex.h \ fadvise.c \ fallocate.c \ fanotify.c \ @@ -157,6 +160,7 @@ strace_SOURCES = \ hdio.c \ hostname.c \ inotify.c \ + inotify_ioctl.c \ io.c \ ioctl.c \ ioperm.c \ @@ -178,6 +182,7 @@ strace_SOURCES = \ ldt.c \ link.c \ linux/asm_stat.h \ + linux/linux/signal.h \ linux/x32/asm_stat.h \ linux/x86_64/asm_stat.h \ listen.c \ @@ -189,8 +194,8 @@ strace_SOURCES = \ membarrier.c \ memfd_create.c \ mknod.c \ - mmap_cache.c \ - mmap_cache.h \ + mmap_notify.c \ + mmap_notify.h \ mmsghdr.c \ mount.c \ mpers_type.h \ @@ -204,6 +209,8 @@ strace_SOURCES = \ netlink.c \ netlink.h \ netlink_crypto.c \ + netlink_kobject_uevent.c \ + netlink_kobject_uevent.h \ netlink_sock_diag.h \ netlink_inet_diag.c \ netlink_netfilter.c \ @@ -229,14 +236,17 @@ strace_SOURCES = \ pathtrace.c \ perf.c \ perf_event_struct.h \ + perf_ioctl.c \ personality.c \ pkeys.c \ poll.c \ prctl.c \ + print_aio_sigset.c \ print_dev_t.c \ print_group_req.c \ print_fields.h \ print_ifindex.c \ + print_mac.c \ print_mq_attr.c \ print_msgbuf.c \ print_sg_req_info.c \ @@ -349,11 +359,21 @@ strace_SOURCES = \ strace_SOURCES_check = bpf_attr_check.c +if ENABLE_STACKTRACE +strace_SOURCES += unwind.c unwind.h +if USE_LIBDW +strace_SOURCES += unwind-libdw.c +strace_CPPFLAGS += $(libdw_CPPFLAGS) +strace_CFLAGS += $(libdw_CFLAGS) +strace_LDFLAGS += $(libdw_LDFLAGS) +strace_LDADD += $(libdw_LIBS) +endif if USE_LIBUNWIND -strace_SOURCES += unwind.c unwind.h unwind-libunwind.c +strace_SOURCES += unwind-libunwind.c strace_CPPFLAGS += $(libunwind_CPPFLAGS) strace_LDFLAGS += $(libunwind_LDFLAGS) strace_LDADD += $(libunwind_LIBS) +endif if USE_DEMANGLE strace_CPPFLAGS += $(libiberty_CPPFLAGS) strace_LDFLAGS += $(libiberty_LDFLAGS) @@ -411,7 +431,6 @@ EXTRA_DIST = \ 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 \ @@ -424,7 +443,6 @@ EXTRA_DIST = \ 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 \ @@ -682,7 +700,6 @@ EXTRA_DIST = \ 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 \ @@ -696,7 +713,6 @@ EXTRA_DIST = \ 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 \ @@ -705,7 +721,6 @@ EXTRA_DIST = \ 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 \ @@ -716,7 +731,6 @@ EXTRA_DIST = \ 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 \ @@ -743,7 +757,6 @@ EXTRA_DIST = \ 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 \ @@ -755,7 +768,6 @@ EXTRA_DIST = \ 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 \ @@ -821,7 +833,6 @@ EXTRA_DIST = \ 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 \ @@ -834,7 +845,6 @@ EXTRA_DIST = \ 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 \ @@ -845,7 +855,6 @@ EXTRA_DIST = \ 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 \ @@ -857,7 +866,6 @@ EXTRA_DIST = \ 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 \ @@ -870,7 +878,6 @@ EXTRA_DIST = \ 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 \ @@ -883,7 +890,6 @@ EXTRA_DIST = \ 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 \ @@ -893,8 +899,6 @@ EXTRA_DIST = \ 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 \ @@ -911,8 +915,6 @@ EXTRA_DIST = \ 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 \ @@ -980,7 +982,7 @@ dist-hook: ${AM_V_GEN}echo $(COPYRIGHT_YEAR) > $(distdir)/.year ${AM_V_GEN}echo $(MANPAGE_DATE) > $(distdir)/.strace.1.in.date -today = $(shell date +%Y-%m-%d) +today = $(shell LC_TIME=C date -u +%Y-%m-%d) version_regexp = $(subst .,\.,$(VERSION)) news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))' diff --git a/Makefile.in b/Makefile.in index f02c2bee..9cfc55a3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -147,28 +147,37 @@ 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 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) -@USE_DEMANGLE_TRUE@@USE_LIBUNWIND_TRUE@am__append_5 = $(libiberty_CPPFLAGS) -@USE_DEMANGLE_TRUE@@USE_LIBUNWIND_TRUE@am__append_6 = $(libiberty_LDFLAGS) -@USE_DEMANGLE_TRUE@@USE_LIBUNWIND_TRUE@am__append_7 = $(libiberty_LIBS) -@HAVE_M32_MPERS_TRUE@am__append_8 = libmpers-m32.a -@HAVE_M32_MPERS_TRUE@am__append_9 = libmpers-m32.a -@HAVE_M32_MPERS_TRUE@am__append_10 = $(mpers_m32_targets) -@HAVE_M32_MPERS_TRUE@am__append_11 = $(mpers_m32_targets) -@HAVE_MX32_MPERS_TRUE@am__append_12 = libmpers-mx32.a -@HAVE_MX32_MPERS_TRUE@am__append_13 = libmpers-mx32.a -@HAVE_MX32_MPERS_TRUE@am__append_14 = $(mpers_mx32_targets) -@HAVE_MX32_MPERS_TRUE@am__append_15 = $(mpers_mx32_targets) +@ENABLE_STACKTRACE_TRUE@am__append_1 = unwind.c unwind.h +@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__append_2 = unwind-libdw.c +@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__append_3 = $(libdw_CPPFLAGS) +@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__append_4 = $(libdw_CFLAGS) +@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__append_5 = $(libdw_LDFLAGS) +@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__append_6 = $(libdw_LIBS) +@ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__append_7 = unwind-libunwind.c +@ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__append_8 = $(libunwind_CPPFLAGS) +@ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__append_9 = $(libunwind_LDFLAGS) +@ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__append_10 = $(libunwind_LIBS) +@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_11 = $(libiberty_CPPFLAGS) +@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_12 = $(libiberty_LDFLAGS) +@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_13 = $(libiberty_LIBS) +@HAVE_M32_MPERS_TRUE@am__append_14 = libmpers-m32.a +@HAVE_M32_MPERS_TRUE@am__append_15 = libmpers-m32.a +@HAVE_M32_MPERS_TRUE@am__append_16 = $(mpers_m32_targets) +@HAVE_M32_MPERS_TRUE@am__append_17 = $(mpers_m32_targets) +@HAVE_MX32_MPERS_TRUE@am__append_18 = libmpers-mx32.a +@HAVE_MX32_MPERS_TRUE@am__append_19 = libmpers-mx32.a +@HAVE_MX32_MPERS_TRUE@am__append_20 = $(mpers_mx32_targets) +@HAVE_MX32_MPERS_TRUE@am__append_21 = $(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_demangle.m4 $(top_srcdir)/m4/st_libdw.m4 \ + $(top_srcdir)/m4/st_libunwind.m4 \ $(top_srcdir)/m4/st_save_restore_var.m4 \ + $(top_srcdir)/m4/st_stacktrace.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) \ @@ -194,12 +203,12 @@ am__libmpers_m32_a_SOURCES_DIST = block.c btrfs.c dirent.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 + ipc_msgctl.c ipc_shmctl.c loop.c mtd.c perf_ioctl.c \ + print_aio_sigset.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) \ @@ -215,6 +224,8 @@ am__objects_1 = libmpers_m32_a-block.$(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-perf_ioctl.$(OBJEXT) \ + libmpers_m32_a-print_aio_sigset.$(OBJEXT) \ libmpers_m32_a-print_group_req.$(OBJEXT) \ libmpers_m32_a-print_mq_attr.$(OBJEXT) \ libmpers_m32_a-print_msgbuf.$(OBJEXT) \ @@ -241,12 +252,12 @@ am__libmpers_mx32_a_SOURCES_DIST = block.c btrfs.c dirent.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 + ipc_msgctl.c ipc_shmctl.c loop.c mtd.c perf_ioctl.c \ + print_aio_sigset.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) \ @@ -263,6 +274,8 @@ am__objects_2 = libmpers_mx32_a-block.$(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-perf_ioctl.$(OBJEXT) \ + libmpers_mx32_a-print_aio_sigset.$(OBJEXT) \ libmpers_mx32_a-print_group_req.$(OBJEXT) \ libmpers_mx32_a-print_mq_attr.$(OBJEXT) \ libmpers_mx32_a-print_msgbuf.$(OBJEXT) \ @@ -291,6 +304,7 @@ 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-mmap_cache.$(OBJEXT) \ libstrace_a-sigreturn.$(OBJEXT) \ libstrace_a-socketcall.$(OBJEXT) libstrace_a-statfs.$(OBJEXT) \ libstrace_a-statfs64.$(OBJEXT) \ @@ -309,39 +323,42 @@ am__strace_SOURCES_DIST = access.c affinity.c aio.c alpha.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 \ + execve.c f_owner_ex.h 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 \ + getcwd.c getrandom.c hdio.c hostname.c inotify.c \ + inotify_ioctl.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/linux/signal.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 \ + mmap_notify.c mmap_notify.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_kobject_uevent.c netlink_kobject_uevent.h \ + 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 perf_ioctl.c personality.c pkeys.c poll.c \ + prctl.c print_aio_sigset.c print_dev_t.c print_group_req.c \ + print_fields.h print_ifindex.c print_mac.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 \ @@ -355,10 +372,12 @@ am__strace_SOURCES_DIST = access.c affinity.c aio.c alpha.c \ 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 + bpf_attr_check.c unwind.c unwind.h unwind-libdw.c \ + 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) +@ENABLE_STACKTRACE_TRUE@am__objects_4 = strace-unwind.$(OBJEXT) +@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__objects_5 = strace-unwind-libdw.$(OBJEXT) +@ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__objects_6 = 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) \ @@ -392,23 +411,25 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(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-inotify.$(OBJEXT) strace-inotify_ioctl.$(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_notify.$(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_kobject_uevent.$(OBJEXT) \ strace-netlink_inet_diag.$(OBJEXT) \ strace-netlink_netfilter.$(OBJEXT) \ strace-netlink_netlink_diag.$(OBJEXT) \ @@ -422,11 +443,12 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(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-perf_ioctl.$(OBJEXT) strace-personality.$(OBJEXT) \ + strace-pkeys.$(OBJEXT) strace-poll.$(OBJEXT) \ + strace-prctl.$(OBJEXT) strace-print_aio_sigset.$(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_ifindex.$(OBJEXT) strace-print_mac.$(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) \ @@ -471,16 +493,18 @@ 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_4) + $(am__objects_3) $(am__objects_4) $(am__objects_5) \ + $(am__objects_6) 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) +@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__DEPENDENCIES_2 = \ +@ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@ $(am__DEPENDENCIES_1) +@ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) +@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__DEPENDENCIES_4 = $(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) + $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4) \ + $(am__DEPENDENCIES_1) $(am__append_14) $(am__append_18) strace_LINK = $(CCLD) $(strace_CFLAGS) $(CFLAGS) $(strace_LDFLAGS) \ $(LDFLAGS) -o $@ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -762,6 +786,10 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ +libdw_CFLAGS = @libdw_CFLAGS@ +libdw_CPPFLAGS = @libdw_CPPFLAGS@ +libdw_LDFLAGS = @libdw_LDFLAGS@ +libdw_LIBS = @libdw_LIBS@ libexecdir = @libexecdir@ libiberty_CPPFLAGS = @libiberty_CPPFLAGS@ libiberty_LDFLAGS = @libiberty_LDFLAGS@ @@ -814,21 +842,23 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/audit_arch.in xlat/baud_options.in xlat/bdaddr_types.in \ + xlat/blkpg_ops.in xlat/bluetooth_l2_cid.in \ + xlat/bluetooth_l2_psm.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/bpf_prog_types.in xlat/bpf_query_flags.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_cont_reading_from_srcdev_mode.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 \ @@ -841,12 +871,15 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/cacheflush_scope.in xlat/caif_protocols.in \ + xlat/can_protocols.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/dm_flags.in xlat/ebpf_class.in xlat/ebpf_mode.in \ + xlat/ebpf_op_alu.in xlat/ebpf_op_jmp.in xlat/ebpf_regs.in \ + xlat/ebpf_size.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 \ @@ -857,27 +890,31 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/fan_mark_flags.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/getsock_ip_options.in \ + xlat/getsock_ipv6_options.in xlat/getsock_options.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/in6_addr_gen_mode.in xlat/inet6_devconf_indices.in \ + xlat/inet6_if_flags.in xlat/inet_devconf_indices.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/ipc_private.in xlat/ipccalls.in xlat/irda_protocols.in \ + xlat/isdn_protocols.in xlat/itimer_which.in \ + xlat/kcm_protocols.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 \ @@ -899,6 +936,7 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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_sk_meminfo_indices.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 \ @@ -907,12 +945,13 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/nfc_protocols.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/numa_node.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 \ @@ -920,13 +959,17 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/perf_hw_id.in xlat/perf_ioctl_cmds.in \ + xlat/perf_ioctl_flags.in xlat/perf_sw_ids.in \ + xlat/perf_type_id.in xlat/personality_flags.in \ + xlat/personality_types.in xlat/phonet_protocols.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/pr_set_mm.in xlat/pr_spec_cmds.in \ + xlat/pr_spec_get_store_bypass_flags.in \ + xlat/pr_spec_set_store_bypass_flags.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 \ @@ -938,11 +981,16 @@ 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_af_spec_inet6_attrs.in \ + xlat/rtnl_ifla_af_spec_inet_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_ifla_info_attrs.in \ + xlat/rtnl_ifla_info_data_bridge_attrs.in \ + xlat/rtnl_ifla_info_data_tun_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 \ @@ -960,31 +1008,42 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/setsock_ip_options.in xlat/setsock_ipv6_options.in \ + xlat/setsock_options.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/skf_off.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/smc_link_group_roles.in xlat/smc_protocols.in \ + xlat/smc_states.in xlat/snmp_icmp6_stats.in \ + xlat/snmp_ip_stats.in xlat/sock_alg_options.in \ + xlat/sock_bluetooth_options.in xlat/sock_caif_options.in \ + xlat/sock_dccp_options.in xlat/sock_ip_options.in \ + xlat/sock_ipv6_options.in xlat/sock_ipx_options.in \ + xlat/sock_irda_options.in xlat/sock_iucv_options.in \ + xlat/sock_kcm_options.in xlat/sock_llc_options.in \ + xlat/sock_netlink_options.in xlat/sock_nfcllcp_options.in \ + xlat/sock_options.in xlat/sock_packet_options.in \ + xlat/sock_pnp_options.in xlat/sock_pppol2tp_options.in \ + xlat/sock_raw_options.in xlat/sock_rds_options.in \ + xlat/sock_rxrpc_options.in xlat/sock_sctp_options.in \ + xlat/sock_tcp_options.in xlat/sock_tipc_options.in \ + xlat/sock_tls_options.in xlat/sock_type_flags.in \ + xlat/sock_udp_options.in xlat/socketcalls.in \ + xlat/socketlayers.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 \ @@ -992,17 +1051,18 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/tun_device_types.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_control_id_bases.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 \ @@ -1020,18 +1080,22 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/baud_options.h xlat/bdaddr_types.h xlat/blkpg_ops.h \ + xlat/bluetooth_l2_cid.h xlat/bluetooth_l2_psm.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/bpf_query_flags.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_cont_reading_from_srcdev_mode.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 \ @@ -1043,11 +1107,14 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/cacheflush_scope.h xlat/caif_protocols.h \ + xlat/can_protocols.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/ebpf_class.h xlat/ebpf_mode.h xlat/ebpf_op_alu.h \ + xlat/ebpf_op_jmp.h xlat/ebpf_regs.h xlat/ebpf_size.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 \ @@ -1057,23 +1124,27 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/fan_mark_flags.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/getrandom_flags.h xlat/getsock_ip_options.h \ + xlat/getsock_ipv6_options.h xlat/getsock_options.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/in6_addr_gen_mode.h xlat/inet6_devconf_indices.h \ + xlat/inet6_if_flags.h xlat/inet_devconf_indices.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/ipc_private.h xlat/ipccalls.h xlat/irda_protocols.h \ + xlat/isdn_protocols.h xlat/itimer_which.h xlat/kcm_protocols.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 \ @@ -1098,34 +1169,38 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/netlink_sk_meminfo_indices.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/nfc_protocols.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/numa_node.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_ioctl_cmds.h \ + xlat/perf_ioctl_flags.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/phonet_protocols.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_spec_cmds.h \ + xlat/pr_spec_get_store_bypass_flags.h \ + xlat/pr_spec_set_store_bypass_flags.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 \ @@ -1135,11 +1210,16 @@ 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_af_spec_inet6_attrs.h \ + xlat/rtnl_ifla_af_spec_inet_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_ifla_info_attrs.h \ + xlat/rtnl_ifla_info_data_bridge_attrs.h \ + xlat/rtnl_ifla_info_data_tun_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 \ @@ -1156,24 +1236,35 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/setsock_ip_options.h xlat/setsock_ipv6_options.h \ + xlat/setsock_options.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/sigtrap_codes.h xlat/skf_ad.h xlat/skf_off.h \ + xlat/smc_diag_attrs.h xlat/smc_diag_extended_flags.h \ + xlat/smc_link_group_roles.h xlat/smc_protocols.h \ + xlat/smc_states.h xlat/snmp_icmp6_stats.h xlat/snmp_ip_stats.h \ + xlat/sock_alg_options.h xlat/sock_bluetooth_options.h \ + xlat/sock_caif_options.h xlat/sock_dccp_options.h \ + xlat/sock_ip_options.h xlat/sock_ipv6_options.h \ + xlat/sock_ipx_options.h xlat/sock_irda_options.h \ + xlat/sock_iucv_options.h xlat/sock_kcm_options.h \ + xlat/sock_llc_options.h xlat/sock_netlink_options.h \ + xlat/sock_nfcllcp_options.h xlat/sock_options.h \ + xlat/sock_packet_options.h xlat/sock_pnp_options.h \ + xlat/sock_pppol2tp_options.h xlat/sock_raw_options.h \ + xlat/sock_rds_options.h xlat/sock_rxrpc_options.h \ + xlat/sock_sctp_options.h xlat/sock_tcp_options.h \ + xlat/sock_tipc_options.h xlat/sock_tls_options.h \ + xlat/sock_type_flags.h xlat/sock_udp_options.h \ + xlat/socketcalls.h xlat/socketlayers.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 \ @@ -1185,9 +1276,10 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/timerfdflags.h xlat/tun_device_types.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 \ @@ -1195,7 +1287,8 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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_control_id_bases.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 \ @@ -1207,14 +1300,14 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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) +strace_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_3) $(am__append_8) \ + $(am__append_11) $(CODE_COVERAGE_CPPFLAGS) +strace_CFLAGS = $(AM_CFLAGS) $(am__append_4) $(CODE_COVERAGE_CFLAGS) +strace_LDFLAGS = $(am__append_5) $(am__append_9) $(am__append_12) +strace_LDADD = libstrace.a $(clock_LIBS) $(timer_LIBS) $(am__append_6) \ + $(am__append_10) $(am__append_13) $(CODE_COVERAGE_LIBS) \ + $(am__append_14) $(am__append_18) +noinst_LIBRARIES = libstrace.a $(am__append_15) $(am__append_19) libstrace_a_CPPFLAGS = $(strace_CPPFLAGS) libstrace_a_CFLAGS = $(strace_CFLAGS) libstrace_a_SOURCES = \ @@ -1223,6 +1316,8 @@ libstrace_a_SOURCES = \ fstatfs64.c \ getpagesize.c \ ipc.c \ + mmap_cache.c \ + mmap_cache.h \ sigreturn.c \ socketcall.c \ statfs.c \ @@ -1240,40 +1335,43 @@ strace_SOURCES = access.c affinity.c aio.c alpha.c arch_defs.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 \ + evdev_mpers.c eventfd.c execve.c f_owner_ex.h 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 \ + hdio.c hostname.c inotify.c inotify_ioctl.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/linux/signal.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_notify.c mmap_notify.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_crypto.c netlink_kobject_uevent.c \ + netlink_kobject_uevent.h 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 \ + perf_ioctl.c personality.c pkeys.c poll.c prctl.c \ + print_aio_sigset.c print_dev_t.c print_group_req.c \ + print_fields.h print_ifindex.c print_mac.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 \ @@ -1287,7 +1385,8 @@ strace_SOURCES = access.c affinity.c aio.c alpha.c arch_defs.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) $(am__append_1) $(am__append_2) \ + $(am__append_7) strace_SOURCES_check = bpf_attr_check.c CODE_COVERAGE_BRANCH_COVERAGE = 1 CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \ @@ -1335,7 +1434,6 @@ EXTRA_DIST = \ 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 \ @@ -1348,7 +1446,6 @@ EXTRA_DIST = \ 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 \ @@ -1606,7 +1703,6 @@ EXTRA_DIST = \ 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 \ @@ -1620,7 +1716,6 @@ EXTRA_DIST = \ 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 \ @@ -1629,7 +1724,6 @@ EXTRA_DIST = \ 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 \ @@ -1640,7 +1734,6 @@ EXTRA_DIST = \ 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 \ @@ -1667,7 +1760,6 @@ EXTRA_DIST = \ 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 \ @@ -1679,7 +1771,6 @@ EXTRA_DIST = \ 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 \ @@ -1745,7 +1836,6 @@ EXTRA_DIST = \ 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 \ @@ -1758,7 +1848,6 @@ EXTRA_DIST = \ 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 \ @@ -1769,7 +1858,6 @@ EXTRA_DIST = \ 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 \ @@ -1781,7 +1869,6 @@ EXTRA_DIST = \ 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 \ @@ -1794,7 +1881,6 @@ EXTRA_DIST = \ 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 \ @@ -1807,7 +1893,6 @@ EXTRA_DIST = \ 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 \ @@ -1817,8 +1902,6 @@ EXTRA_DIST = \ 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 \ @@ -1835,8 +1918,6 @@ EXTRA_DIST = \ 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 \ @@ -1876,7 +1957,7 @@ syscallent_names = subcall.h syscallent.h syscallent1.h \ syscallent_patterns = $(patsubst %,\%/%,$(syscallent_names)) syscallent_files = $(filter $(syscallent_patterns),$(EXTRA_DIST)) -today = $(shell date +%Y-%m-%d) +today = $(shell LC_TIME=C date -u +%Y-%m-%d) version_regexp = $(subst .,\.,$(VERSION)) news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))' ioctlsort_CC = $(CC_FOR_BUILD) @@ -1890,12 +1971,12 @@ ioctlent_h = $(patsubst $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%,ioctlent%,$(ioctls_i 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) + sys_func.h .version scno.h $(am__append_16) $(am__append_20) 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) + sys_func.h syscallent.i scno.h $(am__append_17) \ + $(am__append_21) DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) @@ -1905,7 +1986,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_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 +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 perf_ioctl.c print_aio_sigset.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)) @@ -2114,6 +2195,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-ipc_shmctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-loop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-mtd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-perf_ioctl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-print_aio_sigset.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-print_group_req.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-print_mq_attr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-print_msgbuf.Po@am__quote@ @@ -2152,6 +2235,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-ipc_shmctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-loop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-mtd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-perf_ioctl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-print_group_req.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-print_mq_attr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-print_msgbuf.Po@am__quote@ @@ -2178,6 +2263,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-fstatfs64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getpagesize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-ipc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-mmap_cache.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sigreturn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-socketcall.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-statfs.Po@am__quote@ @@ -2245,6 +2331,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-hdio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-hostname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-inotify.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-inotify_ioctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-io.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-ioctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-ioperm.Po@am__quote@ @@ -2269,7 +2356,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-mmap_notify.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@ @@ -2279,6 +2366,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_kobject_uevent.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@ @@ -2296,13 +2384,16 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-or1k_atomic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-pathtrace.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-perf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-perf_ioctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-personality.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-pkeys.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-poll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-prctl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-print_aio_sigset.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-print_dev_t.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-print_group_req.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-print_ifindex.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-print_mac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-print_mq_attr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-print_msgbuf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-print_sg_req_info.Po@am__quote@ @@ -2382,6 +2473,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-libdw.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@ @@ -2647,6 +2739,34 @@ libmpers_m32_a-mtd.obj: mtd.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-mtd.obj `if test -f 'mtd.c'; then $(CYGPATH_W) 'mtd.c'; else $(CYGPATH_W) '$(srcdir)/mtd.c'; fi` +libmpers_m32_a-perf_ioctl.o: perf_ioctl.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-perf_ioctl.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-perf_ioctl.Tpo -c -o libmpers_m32_a-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-perf_ioctl.Tpo $(DEPDIR)/libmpers_m32_a-perf_ioctl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='perf_ioctl.c' object='libmpers_m32_a-perf_ioctl.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-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c + +libmpers_m32_a-perf_ioctl.obj: perf_ioctl.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-perf_ioctl.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-perf_ioctl.Tpo -c -o libmpers_m32_a-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-perf_ioctl.Tpo $(DEPDIR)/libmpers_m32_a-perf_ioctl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='perf_ioctl.c' object='libmpers_m32_a-perf_ioctl.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-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` + +libmpers_m32_a-print_aio_sigset.o: print_aio_sigset.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-print_aio_sigset.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Tpo -c -o libmpers_m32_a-print_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Tpo $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='print_aio_sigset.c' object='libmpers_m32_a-print_aio_sigset.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-print_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c + +libmpers_m32_a-print_aio_sigset.obj: print_aio_sigset.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-print_aio_sigset.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Tpo -c -o libmpers_m32_a-print_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Tpo $(DEPDIR)/libmpers_m32_a-print_aio_sigset.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='print_aio_sigset.c' object='libmpers_m32_a-print_aio_sigset.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-print_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.c'; fi` + libmpers_m32_a-print_group_req.o: print_group_req.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-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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_group_req.Tpo $(DEPDIR)/libmpers_m32_a-print_group_req.Po @@ -3179,6 +3299,34 @@ libmpers_mx32_a-mtd.obj: mtd.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-mtd.obj `if test -f 'mtd.c'; then $(CYGPATH_W) 'mtd.c'; else $(CYGPATH_W) '$(srcdir)/mtd.c'; fi` +libmpers_mx32_a-perf_ioctl.o: perf_ioctl.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-perf_ioctl.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Tpo -c -o libmpers_mx32_a-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Tpo $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='perf_ioctl.c' object='libmpers_mx32_a-perf_ioctl.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-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c + +libmpers_mx32_a-perf_ioctl.obj: perf_ioctl.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-perf_ioctl.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Tpo -c -o libmpers_mx32_a-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Tpo $(DEPDIR)/libmpers_mx32_a-perf_ioctl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='perf_ioctl.c' object='libmpers_mx32_a-perf_ioctl.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-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` + +libmpers_mx32_a-print_aio_sigset.o: print_aio_sigset.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-print_aio_sigset.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Tpo -c -o libmpers_mx32_a-print_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Tpo $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='print_aio_sigset.c' object='libmpers_mx32_a-print_aio_sigset.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-print_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c + +libmpers_mx32_a-print_aio_sigset.obj: print_aio_sigset.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-print_aio_sigset.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Tpo -c -o libmpers_mx32_a-print_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Tpo $(DEPDIR)/libmpers_mx32_a-print_aio_sigset.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='print_aio_sigset.c' object='libmpers_mx32_a-print_aio_sigset.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-print_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.c'; fi` + libmpers_mx32_a-print_group_req.o: print_group_req.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-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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_group_req.Tpo $(DEPDIR)/libmpers_mx32_a-print_group_req.Po @@ -3543,6 +3691,20 @@ libstrace_a-ipc.obj: ipc.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(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-mmap_cache.o: mmap_cache.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-mmap_cache.o -MD -MP -MF $(DEPDIR)/libstrace_a-mmap_cache.Tpo -c -o libstrace_a-mmap_cache.o `test -f 'mmap_cache.c' || echo '$(srcdir)/'`mmap_cache.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-mmap_cache.Tpo $(DEPDIR)/libstrace_a-mmap_cache.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap_cache.c' object='libstrace_a-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) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-mmap_cache.o `test -f 'mmap_cache.c' || echo '$(srcdir)/'`mmap_cache.c + +libstrace_a-mmap_cache.obj: mmap_cache.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-mmap_cache.obj -MD -MP -MF $(DEPDIR)/libstrace_a-mmap_cache.Tpo -c -o libstrace_a-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)/libstrace_a-mmap_cache.Tpo $(DEPDIR)/libstrace_a-mmap_cache.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap_cache.c' object='libstrace_a-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) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-mmap_cache.obj `if test -f 'mmap_cache.c'; then $(CYGPATH_W) 'mmap_cache.c'; else $(CYGPATH_W) '$(srcdir)/mmap_cache.c'; fi` + libstrace_a-sigreturn.o: sigreturn.c @am__fastdepCC_TRUE@ $(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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sigreturn.Tpo $(DEPDIR)/libstrace_a-sigreturn.Po @@ -4467,6 +4629,20 @@ strace-inotify.obj: inotify.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-inotify.obj `if test -f 'inotify.c'; then $(CYGPATH_W) 'inotify.c'; else $(CYGPATH_W) '$(srcdir)/inotify.c'; fi` +strace-inotify_ioctl.o: inotify_ioctl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-inotify_ioctl.o -MD -MP -MF $(DEPDIR)/strace-inotify_ioctl.Tpo -c -o strace-inotify_ioctl.o `test -f 'inotify_ioctl.c' || echo '$(srcdir)/'`inotify_ioctl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-inotify_ioctl.Tpo $(DEPDIR)/strace-inotify_ioctl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='inotify_ioctl.c' object='strace-inotify_ioctl.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-inotify_ioctl.o `test -f 'inotify_ioctl.c' || echo '$(srcdir)/'`inotify_ioctl.c + +strace-inotify_ioctl.obj: inotify_ioctl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-inotify_ioctl.obj -MD -MP -MF $(DEPDIR)/strace-inotify_ioctl.Tpo -c -o strace-inotify_ioctl.obj `if test -f 'inotify_ioctl.c'; then $(CYGPATH_W) 'inotify_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/inotify_ioctl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-inotify_ioctl.Tpo $(DEPDIR)/strace-inotify_ioctl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='inotify_ioctl.c' object='strace-inotify_ioctl.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-inotify_ioctl.obj `if test -f 'inotify_ioctl.c'; then $(CYGPATH_W) 'inotify_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/inotify_ioctl.c'; fi` + strace-io.o: io.c @am__fastdepCC_TRUE@ $(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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-io.Tpo $(DEPDIR)/strace-io.Po @@ -4803,19 +4979,19 @@ 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@ +strace-mmap_notify.o: mmap_notify.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmap_notify.o -MD -MP -MF $(DEPDIR)/strace-mmap_notify.Tpo -c -o strace-mmap_notify.o `test -f 'mmap_notify.c' || echo '$(srcdir)/'`mmap_notify.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmap_notify.Tpo $(DEPDIR)/strace-mmap_notify.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap_notify.c' object='strace-mmap_notify.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 +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mmap_notify.o `test -f 'mmap_notify.c' || echo '$(srcdir)/'`mmap_notify.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@ +strace-mmap_notify.obj: mmap_notify.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmap_notify.obj -MD -MP -MF $(DEPDIR)/strace-mmap_notify.Tpo -c -o strace-mmap_notify.obj `if test -f 'mmap_notify.c'; then $(CYGPATH_W) 'mmap_notify.c'; else $(CYGPATH_W) '$(srcdir)/mmap_notify.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmap_notify.Tpo $(DEPDIR)/strace-mmap_notify.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap_notify.c' object='strace-mmap_notify.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` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mmap_notify.obj `if test -f 'mmap_notify.c'; then $(CYGPATH_W) 'mmap_notify.c'; else $(CYGPATH_W) '$(srcdir)/mmap_notify.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 @@ -4929,6 +5105,20 @@ strace-netlink_crypto.obj: netlink_crypto.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_crypto.obj `if test -f 'netlink_crypto.c'; then $(CYGPATH_W) 'netlink_crypto.c'; else $(CYGPATH_W) '$(srcdir)/netlink_crypto.c'; fi` +strace-netlink_kobject_uevent.o: netlink_kobject_uevent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_kobject_uevent.o -MD -MP -MF $(DEPDIR)/strace-netlink_kobject_uevent.Tpo -c -o strace-netlink_kobject_uevent.o `test -f 'netlink_kobject_uevent.c' || echo '$(srcdir)/'`netlink_kobject_uevent.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_kobject_uevent.Tpo $(DEPDIR)/strace-netlink_kobject_uevent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='netlink_kobject_uevent.c' object='strace-netlink_kobject_uevent.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_kobject_uevent.o `test -f 'netlink_kobject_uevent.c' || echo '$(srcdir)/'`netlink_kobject_uevent.c + +strace-netlink_kobject_uevent.obj: netlink_kobject_uevent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_kobject_uevent.obj -MD -MP -MF $(DEPDIR)/strace-netlink_kobject_uevent.Tpo -c -o strace-netlink_kobject_uevent.obj `if test -f 'netlink_kobject_uevent.c'; then $(CYGPATH_W) 'netlink_kobject_uevent.c'; else $(CYGPATH_W) '$(srcdir)/netlink_kobject_uevent.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_kobject_uevent.Tpo $(DEPDIR)/strace-netlink_kobject_uevent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='netlink_kobject_uevent.c' object='strace-netlink_kobject_uevent.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_kobject_uevent.obj `if test -f 'netlink_kobject_uevent.c'; then $(CYGPATH_W) 'netlink_kobject_uevent.c'; else $(CYGPATH_W) '$(srcdir)/netlink_kobject_uevent.c'; fi` + strace-netlink_inet_diag.o: netlink_inet_diag.c @am__fastdepCC_TRUE@ $(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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_inet_diag.Tpo $(DEPDIR)/strace-netlink_inet_diag.Po @@ -5181,6 +5371,20 @@ strace-perf.obj: perf.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-perf.obj `if test -f 'perf.c'; then $(CYGPATH_W) 'perf.c'; else $(CYGPATH_W) '$(srcdir)/perf.c'; fi` +strace-perf_ioctl.o: perf_ioctl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-perf_ioctl.o -MD -MP -MF $(DEPDIR)/strace-perf_ioctl.Tpo -c -o strace-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-perf_ioctl.Tpo $(DEPDIR)/strace-perf_ioctl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='perf_ioctl.c' object='strace-perf_ioctl.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-perf_ioctl.o `test -f 'perf_ioctl.c' || echo '$(srcdir)/'`perf_ioctl.c + +strace-perf_ioctl.obj: perf_ioctl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-perf_ioctl.obj -MD -MP -MF $(DEPDIR)/strace-perf_ioctl.Tpo -c -o strace-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-perf_ioctl.Tpo $(DEPDIR)/strace-perf_ioctl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='perf_ioctl.c' object='strace-perf_ioctl.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-perf_ioctl.obj `if test -f 'perf_ioctl.c'; then $(CYGPATH_W) 'perf_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/perf_ioctl.c'; fi` + strace-personality.o: personality.c @am__fastdepCC_TRUE@ $(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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-personality.Tpo $(DEPDIR)/strace-personality.Po @@ -5237,6 +5441,20 @@ strace-prctl.obj: prctl.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-prctl.obj `if test -f 'prctl.c'; then $(CYGPATH_W) 'prctl.c'; else $(CYGPATH_W) '$(srcdir)/prctl.c'; fi` +strace-print_aio_sigset.o: print_aio_sigset.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_aio_sigset.o -MD -MP -MF $(DEPDIR)/strace-print_aio_sigset.Tpo -c -o strace-print_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_aio_sigset.Tpo $(DEPDIR)/strace-print_aio_sigset.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='print_aio_sigset.c' object='strace-print_aio_sigset.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-print_aio_sigset.o `test -f 'print_aio_sigset.c' || echo '$(srcdir)/'`print_aio_sigset.c + +strace-print_aio_sigset.obj: print_aio_sigset.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_aio_sigset.obj -MD -MP -MF $(DEPDIR)/strace-print_aio_sigset.Tpo -c -o strace-print_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_aio_sigset.Tpo $(DEPDIR)/strace-print_aio_sigset.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='print_aio_sigset.c' object='strace-print_aio_sigset.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-print_aio_sigset.obj `if test -f 'print_aio_sigset.c'; then $(CYGPATH_W) 'print_aio_sigset.c'; else $(CYGPATH_W) '$(srcdir)/print_aio_sigset.c'; fi` + strace-print_dev_t.o: print_dev_t.c @am__fastdepCC_TRUE@ $(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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_dev_t.Tpo $(DEPDIR)/strace-print_dev_t.Po @@ -5279,6 +5497,20 @@ strace-print_ifindex.obj: print_ifindex.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-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_mac.o: print_mac.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_mac.o -MD -MP -MF $(DEPDIR)/strace-print_mac.Tpo -c -o strace-print_mac.o `test -f 'print_mac.c' || echo '$(srcdir)/'`print_mac.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_mac.Tpo $(DEPDIR)/strace-print_mac.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='print_mac.c' object='strace-print_mac.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-print_mac.o `test -f 'print_mac.c' || echo '$(srcdir)/'`print_mac.c + +strace-print_mac.obj: print_mac.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_mac.obj -MD -MP -MF $(DEPDIR)/strace-print_mac.Tpo -c -o strace-print_mac.obj `if test -f 'print_mac.c'; then $(CYGPATH_W) 'print_mac.c'; else $(CYGPATH_W) '$(srcdir)/print_mac.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_mac.Tpo $(DEPDIR)/strace-print_mac.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='print_mac.c' object='strace-print_mac.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-print_mac.obj `if test -f 'print_mac.c'; then $(CYGPATH_W) 'print_mac.c'; else $(CYGPATH_W) '$(srcdir)/print_mac.c'; fi` + strace-print_mq_attr.o: print_mq_attr.c @am__fastdepCC_TRUE@ $(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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_mq_attr.Tpo $(DEPDIR)/strace-print_mq_attr.Po @@ -6553,6 +6785,20 @@ strace-unwind.obj: unwind.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-unwind.obj `if test -f 'unwind.c'; then $(CYGPATH_W) 'unwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind.c'; fi` +strace-unwind-libdw.o: unwind-libdw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind-libdw.o -MD -MP -MF $(DEPDIR)/strace-unwind-libdw.Tpo -c -o strace-unwind-libdw.o `test -f 'unwind-libdw.c' || echo '$(srcdir)/'`unwind-libdw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind-libdw.Tpo $(DEPDIR)/strace-unwind-libdw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='unwind-libdw.c' object='strace-unwind-libdw.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-libdw.o `test -f 'unwind-libdw.c' || echo '$(srcdir)/'`unwind-libdw.c + +strace-unwind-libdw.obj: unwind-libdw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind-libdw.obj -MD -MP -MF $(DEPDIR)/strace-unwind-libdw.Tpo -c -o strace-unwind-libdw.obj `if test -f 'unwind-libdw.c'; then $(CYGPATH_W) 'unwind-libdw.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libdw.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind-libdw.Tpo $(DEPDIR)/strace-unwind-libdw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='unwind-libdw.c' object='strace-unwind-libdw.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-libdw.obj `if test -f 'unwind-libdw.c'; then $(CYGPATH_W) 'unwind-libdw.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libdw.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 @@ -7105,8 +7351,14 @@ $(top_srcdir)/xlat/audit_arch.h: $(top_srcdir)/xlat/audit_arch.in $(top_srcdir)/ $(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/bdaddr_types.h: $(top_srcdir)/xlat/bdaddr_types.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/bluetooth_l2_cid.h: $(top_srcdir)/xlat/bluetooth_l2_cid.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/bluetooth_l2_psm.h: $(top_srcdir)/xlat/bluetooth_l2_psm.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 @@ -7141,6 +7393,8 @@ $(top_srcdir)/xlat/bpf_prog_flags.h: $(top_srcdir)/xlat/bpf_prog_flags.in $(top_ $(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_query_flags.h: $(top_srcdir)/xlat/bpf_query_flags.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 @@ -7165,6 +7419,8 @@ $(top_srcdir)/xlat/btrfs_balance_state.h: $(top_srcdir)/xlat/btrfs_balance_state $(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_cont_reading_from_srcdev_mode.h: $(top_srcdir)/xlat/btrfs_cont_reading_from_srcdev_mode.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 @@ -7207,6 +7463,10 @@ $(top_srcdir)/xlat/btrfs_tree_objectids.h: $(top_srcdir)/xlat/btrfs_tree_objecti $(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/caif_protocols.h: $(top_srcdir)/xlat/caif_protocols.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/can_protocols.h: $(top_srcdir)/xlat/can_protocols.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 @@ -7233,6 +7493,18 @@ $(top_srcdir)/xlat/dirent_types.h: $(top_srcdir)/xlat/dirent_types.in $(top_srcd $(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/ebpf_class.h: $(top_srcdir)/xlat/ebpf_class.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_mode.h: $(top_srcdir)/xlat/ebpf_mode.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_op_alu.h: $(top_srcdir)/xlat/ebpf_op_alu.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_op_jmp.h: $(top_srcdir)/xlat/ebpf_op_jmp.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_regs.h: $(top_srcdir)/xlat/ebpf_regs.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_size.h: $(top_srcdir)/xlat/ebpf_size.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 @@ -7285,8 +7557,6 @@ $(top_srcdir)/xlat/fan_init_flags.h: $(top_srcdir)/xlat/fan_init_flags.in $(top_ $(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 @@ -7311,9 +7581,11 @@ $(top_srcdir)/xlat/futexwakeops.h: $(top_srcdir)/xlat/futexwakeops.in $(top_srcd $(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 +$(top_srcdir)/xlat/getsock_ip_options.h: $(top_srcdir)/xlat/getsock_ip_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/getsock_ipv6_options.h: $(top_srcdir)/xlat/getsock_ipv6_options.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 +$(top_srcdir)/xlat/getsock_options.h: $(top_srcdir)/xlat/getsock_options.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 $< $@ @@ -7333,6 +7605,14 @@ $(top_srcdir)/xlat/ifaddrflags.h: $(top_srcdir)/xlat/ifaddrflags.in $(top_srcdir $(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/in6_addr_gen_mode.h: $(top_srcdir)/xlat/in6_addr_gen_mode.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/inet6_devconf_indices.h: $(top_srcdir)/xlat/inet6_devconf_indices.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/inet6_if_flags.h: $(top_srcdir)/xlat/inet6_if_flags.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/inet_devconf_indices.h: $(top_srcdir)/xlat/inet_devconf_indices.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 @@ -7359,10 +7639,18 @@ $(top_srcdir)/xlat/ip_type_of_services.h: $(top_srcdir)/xlat/ip_type_of_services $(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/ipc_private.h: $(top_srcdir)/xlat/ipc_private.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/irda_protocols.h: $(top_srcdir)/xlat/irda_protocols.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/isdn_protocols.h: $(top_srcdir)/xlat/isdn_protocols.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/kcm_protocols.h: $(top_srcdir)/xlat/kcm_protocols.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 @@ -7471,6 +7759,8 @@ $(top_srcdir)/xlat/netlink_new_flags.h: $(top_srcdir)/xlat/netlink_new_flags.in $(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_sk_meminfo_indices.h: $(top_srcdir)/xlat/netlink_sk_meminfo_indices.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 @@ -7499,6 +7789,8 @@ $(top_srcdir)/xlat/nf_queue_msg_types.h: $(top_srcdir)/xlat/nf_queue_msg_types.i $(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/nfc_protocols.h: $(top_srcdir)/xlat/nfc_protocols.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 @@ -7521,6 +7813,8 @@ $(top_srcdir)/xlat/notifyflags.h: $(top_srcdir)/xlat/notifyflags.in $(top_srcdir $(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/numa_node.h: $(top_srcdir)/xlat/numa_node.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 @@ -7551,6 +7845,10 @@ $(top_srcdir)/xlat/perf_hw_cache_op_result_id.h: $(top_srcdir)/xlat/perf_hw_cach $(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_ioctl_cmds.h: $(top_srcdir)/xlat/perf_ioctl_cmds.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/perf_ioctl_flags.h: $(top_srcdir)/xlat/perf_ioctl_flags.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 @@ -7559,6 +7857,8 @@ $(top_srcdir)/xlat/personality_flags.h: $(top_srcdir)/xlat/personality_flags.in $(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/phonet_protocols.h: $(top_srcdir)/xlat/phonet_protocols.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 @@ -7577,6 +7877,12 @@ $(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_spec_cmds.h: $(top_srcdir)/xlat/pr_spec_cmds.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/pr_spec_get_store_bypass_flags.h: $(top_srcdir)/xlat/pr_spec_get_store_bypass_flags.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/pr_spec_set_store_bypass_flags.h: $(top_srcdir)/xlat/pr_spec_set_store_bypass_flags.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 @@ -7629,12 +7935,20 @@ $(top_srcdir)/xlat/rtnl_addrlabel_attrs.h: $(top_srcdir)/xlat/rtnl_addrlabel_att $(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_af_spec_inet6_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_af_spec_inet6_attrs.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/rtnl_ifla_af_spec_inet_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_af_spec_inet_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_info_data_bridge_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_info_data_bridge_attrs.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/rtnl_ifla_info_data_tun_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_info_data_tun_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 @@ -7713,9 +8027,11 @@ $(top_srcdir)/xlat/semop_flags.h: $(top_srcdir)/xlat/semop_flags.in $(top_srcdir $(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 +$(top_srcdir)/xlat/setsock_ip_options.h: $(top_srcdir)/xlat/setsock_ip_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/setsock_ipv6_options.h: $(top_srcdir)/xlat/setsock_ipv6_options.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 +$(top_srcdir)/xlat/setsock_options.h: $(top_srcdir)/xlat/setsock_options.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 $< $@ @@ -7767,37 +8083,77 @@ $(top_srcdir)/xlat/sigtrap_codes.h: $(top_srcdir)/xlat/sigtrap_codes.in $(top_sr $(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/skf_off.h: $(top_srcdir)/xlat/skf_off.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_protocols.h: $(top_srcdir)/xlat/smc_protocols.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 +$(top_srcdir)/xlat/snmp_icmp6_stats.h: $(top_srcdir)/xlat/snmp_icmp6_stats.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 +$(top_srcdir)/xlat/snmp_ip_stats.h: $(top_srcdir)/xlat/snmp_ip_stats.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 +$(top_srcdir)/xlat/sock_alg_options.h: $(top_srcdir)/xlat/sock_alg_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_bluetooth_options.h: $(top_srcdir)/xlat/sock_bluetooth_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_caif_options.h: $(top_srcdir)/xlat/sock_caif_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_dccp_options.h: $(top_srcdir)/xlat/sock_dccp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_ip_options.h: $(top_srcdir)/xlat/sock_ip_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_ipv6_options.h: $(top_srcdir)/xlat/sock_ipv6_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_ipx_options.h: $(top_srcdir)/xlat/sock_ipx_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_irda_options.h: $(top_srcdir)/xlat/sock_irda_options.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 +$(top_srcdir)/xlat/sock_iucv_options.h: $(top_srcdir)/xlat/sock_iucv_options.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 +$(top_srcdir)/xlat/sock_kcm_options.h: $(top_srcdir)/xlat/sock_kcm_options.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 +$(top_srcdir)/xlat/sock_llc_options.h: $(top_srcdir)/xlat/sock_llc_options.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 +$(top_srcdir)/xlat/sock_netlink_options.h: $(top_srcdir)/xlat/sock_netlink_options.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 +$(top_srcdir)/xlat/sock_nfcllcp_options.h: $(top_srcdir)/xlat/sock_nfcllcp_options.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 +$(top_srcdir)/xlat/sock_options.h: $(top_srcdir)/xlat/sock_options.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 +$(top_srcdir)/xlat/sock_packet_options.h: $(top_srcdir)/xlat/sock_packet_options.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 +$(top_srcdir)/xlat/sock_pnp_options.h: $(top_srcdir)/xlat/sock_pnp_options.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 +$(top_srcdir)/xlat/sock_pppol2tp_options.h: $(top_srcdir)/xlat/sock_pppol2tp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_raw_options.h: $(top_srcdir)/xlat/sock_raw_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_rds_options.h: $(top_srcdir)/xlat/sock_rds_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_rxrpc_options.h: $(top_srcdir)/xlat/sock_rxrpc_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_sctp_options.h: $(top_srcdir)/xlat/sock_sctp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_tcp_options.h: $(top_srcdir)/xlat/sock_tcp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_tipc_options.h: $(top_srcdir)/xlat/sock_tipc_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_tls_options.h: $(top_srcdir)/xlat/sock_tls_options.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/sock_udp_options.h: $(top_srcdir)/xlat/sock_udp_options.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/socktypes.h: $(top_srcdir)/xlat/socktypes.in $(top_srcdir)/xlat/gen.sh $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ @@ -7853,6 +8209,8 @@ $(top_srcdir)/xlat/tcxonc_options.h: $(top_srcdir)/xlat/tcxonc_options.in $(top_ $(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/tun_device_types.h: $(top_srcdir)/xlat/tun_device_types.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 @@ -7893,6 +8251,8 @@ $(top_srcdir)/xlat/v4l2_control_classes.h: $(top_srcdir)/xlat/v4l2_control_class $(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_id_bases.h: $(top_srcdir)/xlat/v4l2_control_id_bases.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 diff --git a/NEWS b/NEWS index f1035c7c..29602bed 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,56 @@ +Noteworthy changes in release 4.23 (2018-06-14) +=============================================== + +* Changes in behaviour + * On x32 personality, 64-bit syscalls (such as readv) are now shown with "#64" + suffix instead of "64:" prefix. Unlike the old names, these new names + can be used in syscall qualification expressions. + * Changed error number output format: error numbers are consistently + printed as "-1 ECONST (Error description)" + for known errors and as "-1 (errno 123)" for unknown errors, + regardless of -e raw qualification settings. One can specify + -X raw for displaying raw error numbers unconditionally. + * Unfetchable addresses inside arrays are now printed as comments. + * Obsolete IA-32 mode syscall names are no longer printed on ia64. + +* Improvements + * Implemented libdw backend for -k option, configured at build time + using --with-libdw option. + Whether -k option is compiled is now configured at build time + using --enable-stacktrace option. + * Added -X option for configuring xlat output formatting (addresses + Debian bug #692915). + * Added support for personality designation ("64", "32", or "x32") to syscall + qualifications in -e trace expressions. + * Implemented injection of syscalls with no side effects as an alternative + to injection of an invalid syscall (-e inject=SET:syscall= expression). + * Improved support for reproducible builds (addresses Debian bug #896016). + * Implemented decoding of BPF_PROG_QUERY and BPF_RAW_TRACEPOINT_OPEN bpf + syscall commands. + * Implemented decoding of INOTIFY_IOC_SETNEXTWD and PERF_EVENT_IOC_* ioctl + commands. + * Implemented decoding of PR_GET_SPECULATION_CTRL and PR_SET_SPECULATION_CTRL + prctl syscall options. + * Enhanced decoding of bpf, getsockopt, setsockopt, and socket syscalls. + * Enhanced decoding of NETLINK_KOBJECT_UEVENT and NETLINK_ROUTE protocols. + * Enhanced decoding of *_DIAG_MEMINFO netlink attributes. + * Enhanced decoding of BTRFS_*, FS_IOC_*, SIOCGIFHWADDR, and SIOCSIFHWADDR + ioctl commands. + * Enhanced decoding of AF_BLUETOOTH socket addresses. + * Implemented decoding of io_pgetevent syscall. + * Wired up rseq syscall. + * Updated lists of ADJ_*, BPF_*, BPF_F_*, BPF_PROG_TYPE_*, ETH_P_*, FPE_*, + IFF_*, IPPROTO_*, MAP_*, MS_*, MSG_*, NETLINK_*, PACKET_*, PROT_*, SCTP_*, + SECCOMP_FILTER_FLAG_*, SEGV_*, SEM_*, SHM_*, SW_*, V4L2_CID_*, + V4L2_CTRL_CLASS_*, and V4L2_PIX_FMT_* constants. + * Updated lists of ioctl commands from Linux 4.17. + +* Bug fixes + * Fixed decoding of msgtyp argument of msgrcv syscall. + * Fixed fallback definitions for F_*, MCL_*, MSG_ZEROCOPY, SI_*, + and SOL_SOCKET constants. + * Fixed -e trace=%pure expression on mips. + Noteworthy changes in release 4.22 (2018-04-05) =============================================== diff --git a/aclocal.m4 b/aclocal.m4 index 1d2ff002..6cc46ab9 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1205,6 +1205,10 @@ 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_demangle.m4]) +m4_include([m4/st_libdw.m4]) +m4_include([m4/st_libunwind.m4]) m4_include([m4/st_save_restore_var.m4]) +m4_include([m4/st_stacktrace.m4]) m4_include([m4/st_warn_cflags.m4]) m4_include([m4/warnings.m4]) diff --git a/aio.c b/aio.c index 600f88ef..8a6741b1 100644 --- a/aio.c +++ b/aio.c @@ -3,7 +3,7 @@ * Copyright (c) 1993 Branko Lankester * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey * Copyright (c) 1996-1999 Wichert Akkerman - * 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 @@ -196,7 +196,7 @@ SYS_FUNC(io_submit) printaddr(addr); else print_array(tcp, addr, nr, &iocbp, current_wordsize, - umoven_or_printaddr, print_iocbp, 0); + tfetch_mem, print_iocbp, 0); return RVAL_DECODED; } @@ -238,7 +238,8 @@ SYS_FUNC(io_cancel) return 0; } -SYS_FUNC(io_getevents) +static int +print_io_getevents(struct tcb *tcp, bool has_usig) { if (entering(tcp)) { printaddr(tcp->u_arg[0]); @@ -248,16 +249,30 @@ SYS_FUNC(io_getevents) } else { struct io_event buf; print_array(tcp, tcp->u_arg[3], tcp->u_rval, &buf, sizeof(buf), - umoven_or_printaddr, print_io_event, 0); + tfetch_mem, print_io_event, 0); tprints(", "); /* - * Since the timeout parameter is read by the kernel + * Since the timeout and usig parameters are read by the kernel * on entering syscall, it has to be decoded the same way * whether the syscall has failed or not. */ temporarily_clear_syserror(tcp); print_timespec(tcp, tcp->u_arg[4]); + if (has_usig) { + tprints(", "); + print_aio_sigset(tcp, tcp->u_arg[5]); + } restore_cleared_syserror(tcp); } return 0; } + +SYS_FUNC(io_getevents) +{ + return print_io_getevents(tcp, false); +} + +SYS_FUNC(io_pgetevents) +{ + return print_io_getevents(tcp, true); +} diff --git a/basic_filters.c b/basic_filters.c index 4ea23b54..6071a67f 100644 --- a/basic_filters.c +++ b/basic_filters.c @@ -27,25 +27,82 @@ */ #include "defs.h" -#include "number_set.h" -#include "filter.h" + #include +#include "filter.h" +#include "number_set.h" +#include "xstring.h" + + +/** + * Checks whether a @-separated personality specification suffix is present. + * Personality suffix is a one of strings stored in personality_designators + * array. + * + * @param[in] s Specification string to check. + * @param[out] p Where to store personality number if it is found. + * @return If personality is found, the provided string is copied without + * suffix and returned as a result (callee should de-alllocate it + * with free() after use), and personality number is written to p. + * Otherwise, NULL is returned and p is untouched. + */ +static char * +qualify_syscall_separate_personality(const char *s, unsigned int *p) +{ + char *pos = strchr(s, '@'); + + if (!pos) + return NULL; + + for (unsigned int i = 0; i < SUPPORTED_PERSONALITIES; i++) { + if (!strcmp(pos + 1, personality_designators[i])) { + *p = i; + return xstrndup(s, pos - s); + } + } + + error_msg_and_help("incorrect personality designator '%s'" + " in qualification '%s'", pos + 1, s); +} + +static bool +qualify_syscall_number_personality(int n, unsigned int p, + struct number_set *set) +{ + if ((unsigned int) n >= nsyscall_vec[p]) + return false; + + add_number_to_set_array(n, set, p); + + return true; +} + static bool qualify_syscall_number(const char *s, struct number_set *set) { - int n = string_to_uint(s); + unsigned int p; + char *num_str = qualify_syscall_separate_personality(s, &p); + int n; + + if (num_str) { + n = string_to_uint(num_str); + free(num_str); + + if (n < 0) + return false; + + return qualify_syscall_number_personality(n, p, set); + } + + n = string_to_uint(s); if (n < 0) return false; bool done = false; - for (unsigned int p = 0; p < SUPPORTED_PERSONALITIES; ++p) { - if ((unsigned) n >= nsyscall_vec[p]) - continue; - add_number_to_set_array(n, set, p); - done = true; - } + for (p = 0; p < SUPPORTED_PERSONALITIES; ++p) + done |= qualify_syscall_number_personality(n, p, set); return done; } @@ -75,12 +132,26 @@ qualify_syscall_regex(const char *s, struct number_set *set) for (unsigned int i = 0; i < nsyscall_vec[p]; ++i) { if (!sysent_vec[p][i].sys_name) continue; + rc = regexec(&preg, sysent_vec[p][i].sys_name, 0, NULL, 0); + + if (rc == REG_NOMATCH) { + char name_buf[128]; + char *pos = stpcpy(name_buf, + sysent_vec[p][i].sys_name); + + (void) xappendstr(name_buf, pos, "@%s", + personality_designators[p]); + + rc = regexec(&preg, name_buf, 0, NULL, 0); + } + if (rc == REG_NOMATCH) continue; else if (rc) regerror_msg_and_die(rc, &preg, "regexec", s); + add_number_to_set_array(i, set, p); found = true; } @@ -163,20 +234,38 @@ scno_by_name(const char *s, unsigned int p, kernel_long_t start) return -1; } +static bool +qualify_syscall_name_personality(const char *s, unsigned int p, + struct number_set *set) +{ + bool found = false; + + for (kernel_long_t scno = 0; (scno = scno_by_name(s, p, scno)) >= 0; + ++scno) { + add_number_to_set_array(scno, set, p); + found = true; + } + + return found; +} + static bool qualify_syscall_name(const char *s, struct number_set *set) { + unsigned int p; + char *name_str = qualify_syscall_separate_personality(s, &p); bool found = false; - for (unsigned int p = 0; p < SUPPORTED_PERSONALITIES; ++p) { - for (kernel_long_t scno = 0; - (scno = scno_by_name(s, p, scno)) >= 0; - ++scno) { - add_number_to_set_array(scno, set, p); - found = true; - } + if (name_str) { + found = qualify_syscall_name_personality(name_str, p, set); + free(name_str); + + return found; } + for (p = 0; p < SUPPORTED_PERSONALITIES; ++p) + found |= qualify_syscall_name_personality(s, p, set); + return found; } diff --git a/bpf.c b/bpf.c index 5b9071ea..e5dc4eeb 100644 --- a/bpf.c +++ b/bpf.c @@ -33,6 +33,7 @@ #ifdef HAVE_LINUX_BPF_H # include #endif +#include #include "bpf_attr.h" @@ -45,6 +46,9 @@ #include "xlat/bpf_map_update_elem_flags.h" #include "xlat/bpf_attach_type.h" #include "xlat/bpf_attach_flags.h" +#include "xlat/bpf_query_flags.h" +#include "xlat/ebpf_regs.h" +#include "xlat/numa_node.h" #define DECL_BPF_CMD_DECODER(bpf_cmd_decoder) \ int \ @@ -117,59 +121,160 @@ decode_attr_extra_data(struct tcb *const tcp, return 0; } +struct ebpf_insn { + uint8_t code; + uint8_t dst_reg:4; + uint8_t src_reg:4; + int16_t off; + int32_t imm; +}; + +struct ebpf_insns_data { + unsigned int count; +}; + +static bool +print_ebpf_insn(struct tcb * const tcp, void * const elem_buf, + const size_t elem_size, void * const data) +{ + struct ebpf_insns_data *eid = data; + struct ebpf_insn *insn = elem_buf; + + if (eid->count++ >= BPF_MAXINSNS) { + tprints("..."); + return false; + } + + tprints("{code="); + print_bpf_filter_code(insn->code, true); + + /* We can't use PRINT_FIELD_XVAL on bit fields */ + tprints(", dst_reg="); + printxval_index(ebpf_regs, insn->dst_reg, "BPF_REG_???"); + tprints(", src_reg="); + printxval_index(ebpf_regs, insn->src_reg, "BPF_REG_???"); + + PRINT_FIELD_D(", ", *insn, off); + PRINT_FIELD_X(", ", *insn, imm); + tprints("}"); + + return true; +} + +static void +print_ebpf_prog(struct tcb *const tcp, const uint64_t addr, const uint32_t len) +{ + print_big_u64_addr(addr); + if (abbrev(tcp)) { + printaddr(addr); + } else { + struct ebpf_insns_data eid = {}; + struct ebpf_insn insn; + + print_array(tcp, addr, len, &insn, sizeof(insn), + tfetch_mem, print_ebpf_insn, &eid); + } +} + BEGIN_BPF_CMD_DECODER(BPF_MAP_CREATE) { - PRINT_FIELD_XVAL("{", attr, map_type, bpf_map_types, - "BPF_MAP_TYPE_???"); + PRINT_FIELD_XVAL_INDEX("{", attr, map_type, bpf_map_types, + "BPF_MAP_TYPE_???"); PRINT_FIELD_U(", ", attr, key_size); PRINT_FIELD_U(", ", attr, value_size); PRINT_FIELD_U(", ", attr, max_entries); + + /* map_flags field was added in Linux commit v4.6-rc1~91^2~108^2~6. */ + if (len <= offsetof(struct BPF_MAP_CREATE_struct, map_flags)) + break; PRINT_FIELD_FLAGS(", ", attr, map_flags, bpf_map_flags, "BPF_F_???"); + + /* + * inner_map_fd field was added in Linux commit + * v4.12-rc1~64^3~373^2~2. + */ + if (len <= offsetof(struct BPF_MAP_CREATE_struct, inner_map_fd)) + break; PRINT_FIELD_FD(", ", attr, inner_map_fd, tcp); - if (attr.map_flags & BPF_F_NUMA_NODE) - PRINT_FIELD_U(", ", attr, numa_node); + + /* numa_node field was added in Linux commit v4.14-rc1~130^2~196^2~1. */ + if (len <= offsetof(struct BPF_MAP_CREATE_struct, numa_node)) + break; + if (attr.map_flags & BPF_F_NUMA_NODE) { + /* + * Kernel uses the value of -1 as a designation for "no NUMA + * node specified", and even uses NUMA_NO_NODE constant; + * however, the constant definition is not a part of UAPI + * headers, thus we can't simply print this named constant + * instead of the value. Let's force verbose xlat style instead + * in order to provide the information for the user while + * not hampering the availability to derive the actual value + * without the access to the kernel headers. + */ + tprints(", numa_node="); + printxvals_ex(attr.numa_node, NULL, + XLAT_STYLE_FMT_U | XLAT_STYLE_VERBOSE, + numa_node, NULL); + } + + /* map_name field was added in Linux commit v4.15-rc1~84^2~605^2~3. */ + if (len <= offsetof(struct BPF_MAP_CREATE_struct, map_name)) + break; + PRINT_FIELD_CSTRING_SZ(", ", attr, map_name, + MIN(sizeof(attr.map_name), + len - offsetof(struct BPF_MAP_CREATE_struct, + map_name))); + + /* + * map_ifindex field was added in Linux commit + * v4.16-rc1~123^2~145^2~5^2~8. + */ + if (len <= offsetof(struct BPF_MAP_CREATE_struct, map_ifindex)) + break; + PRINT_FIELD_IFINDEX(", ", attr, map_ifindex); } END_BPF_CMD_DECODER(RVAL_DECODED | RVAL_FD) BEGIN_BPF_CMD_DECODER(BPF_MAP_LOOKUP_ELEM) { PRINT_FIELD_FD("{", attr, map_fd, tcp); - PRINT_FIELD_X(", ", attr, key); - PRINT_FIELD_X(", ", attr, value); + PRINT_FIELD_ADDR64(", ", attr, key); + PRINT_FIELD_ADDR64(", ", attr, value); } END_BPF_CMD_DECODER(RVAL_DECODED) BEGIN_BPF_CMD_DECODER(BPF_MAP_UPDATE_ELEM) { 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_???"); + PRINT_FIELD_ADDR64(", ", attr, key); + PRINT_FIELD_ADDR64(", ", attr, value); + PRINT_FIELD_XVAL_INDEX(", ", attr, flags, bpf_map_update_elem_flags, + "BPF_???"); } END_BPF_CMD_DECODER(RVAL_DECODED) BEGIN_BPF_CMD_DECODER(BPF_MAP_DELETE_ELEM) { PRINT_FIELD_FD("{", attr, map_fd, tcp); - PRINT_FIELD_X(", ", attr, key); + PRINT_FIELD_ADDR64(", ", attr, key); } END_BPF_CMD_DECODER(RVAL_DECODED) BEGIN_BPF_CMD_DECODER(BPF_MAP_GET_NEXT_KEY) { PRINT_FIELD_FD("{", attr, map_fd, tcp); - PRINT_FIELD_X(", ", attr, key); - PRINT_FIELD_X(", ", attr, next_key); + PRINT_FIELD_ADDR64(", ", attr, key); + PRINT_FIELD_ADDR64(", ", attr, next_key); } END_BPF_CMD_DECODER(RVAL_DECODED) BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD) { - PRINT_FIELD_XVAL("{", attr, prog_type, bpf_prog_types, - "BPF_PROG_TYPE_???"); + PRINT_FIELD_XVAL_INDEX("{", attr, prog_type, bpf_prog_types, + "BPF_PROG_TYPE_???"); PRINT_FIELD_U(", ", attr, insn_cnt); - PRINT_FIELD_X(", ", attr, insns); + tprints(", insns="); + print_ebpf_prog(tcp, attr.insns, attr.insn_cnt); tprintf(", license="); print_big_u64_addr(attr.license); @@ -180,7 +285,9 @@ BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD) break; PRINT_FIELD_U(", ", attr, log_level); PRINT_FIELD_U(", ", attr, log_size); - PRINT_FIELD_X(", ", attr, log_buf); + tprintf(", log_buf="); + print_big_u64_addr(attr.log_buf); + printstr_ex(tcp, attr.log_buf, attr.log_size, QUOTE_0_TERMINATED); /* kern_version field was added in Linux commit v4.1-rc1~84^2~50. */ if (len <= offsetof(struct BPF_PROG_LOAD_struct, kern_version)) @@ -194,6 +301,32 @@ BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD) if (len <= offsetof(struct BPF_PROG_LOAD_struct, prog_flags)) break; PRINT_FIELD_FLAGS(", ", attr, prog_flags, bpf_prog_flags, "BPF_F_???"); + + /* prog_name field was added in Linux commit v4.15-rc1~84^2~605^2~4. */ + if (len <= offsetof(struct BPF_PROG_LOAD_struct, prog_name)) + break; + PRINT_FIELD_CSTRING_SZ(", ", attr, prog_name, + MIN(sizeof(attr.prog_name), + len - offsetof(struct BPF_PROG_LOAD_struct, + prog_name))); + + /* + * prog_ifindex field was added as prog_target_ifindex in Linux commit + * v4.15-rc1~84^2~127^2~13 and renamed to its current name in + * v4.15-rc1~15^2~5^2~3^2~7. + */ + if (len <= offsetof(struct BPF_PROG_LOAD_struct, prog_ifindex)) + break; + PRINT_FIELD_IFINDEX(", ", attr, prog_ifindex); + + /* + * expected_attach_type was added in Linux commit + * v4.17-rc1~148^2~19^2^2~8. + */ + if (len <= offsetof(struct BPF_PROG_LOAD_struct, expected_attach_type)) + break; + PRINT_FIELD_XVAL(", ", attr, expected_attach_type, bpf_attach_type, + "BPF_???"); } END_BPF_CMD_DECODER(RVAL_DECODED | RVAL_FD) @@ -204,10 +337,10 @@ BEGIN_BPF_CMD_DECODER(BPF_OBJ_PIN) printpath(tcp, attr.pathname); PRINT_FIELD_FD(", ", attr, bpf_fd, tcp); - if (len <= offsetofend(struct BPF_OBJ_PIN_struct, bpf_fd)) - break; /* file_flags field was added in Linux v4.15-rc1~84^2~384^2~4 */ + if (len <= offsetof(struct BPF_OBJ_PIN_struct, file_flags)) + break; PRINT_FIELD_FLAGS(", ", attr, file_flags, bpf_file_mode_flags, "BPF_F_???"); } @@ -219,7 +352,8 @@ BEGIN_BPF_CMD_DECODER(BPF_PROG_ATTACH) { 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_XVAL_INDEX(", ", attr, attach_type, bpf_attach_type, + "BPF_???"); PRINT_FIELD_FLAGS(", ", attr, attach_flags, bpf_attach_flags, "BPF_F_???"); } @@ -228,7 +362,8 @@ END_BPF_CMD_DECODER(RVAL_DECODED) BEGIN_BPF_CMD_DECODER(BPF_PROG_DETACH) { PRINT_FIELD_FD("{", attr, target_fd, tcp); - PRINT_FIELD_XVAL(", ", attr, attach_type, bpf_attach_type, "BPF_???"); + PRINT_FIELD_XVAL_INDEX(", ", attr, attach_type, bpf_attach_type, + "BPF_???"); } END_BPF_CMD_DECODER(RVAL_DECODED) @@ -238,8 +373,8 @@ BEGIN_BPF_CMD_DECODER(BPF_PROG_TEST_RUN) PRINT_FIELD_U(", ", attr, retval); PRINT_FIELD_U(", ", attr, data_size_in); PRINT_FIELD_U(", ", attr, data_size_out); - PRINT_FIELD_X(", ", attr, data_in); - PRINT_FIELD_X(", ", attr, data_out); + PRINT_FIELD_ADDR64(", ", attr, data_in); + PRINT_FIELD_ADDR64(", ", attr, data_out); PRINT_FIELD_U(", ", attr, repeat); PRINT_FIELD_U(", ", attr, duration); tprints("}"); @@ -250,10 +385,10 @@ BEGIN_BPF_CMD_DECODER(BPF_PROG_GET_NEXT_ID) { PRINT_FIELD_U("{", attr, start_id); PRINT_FIELD_U(", ", attr, next_id); - if (len <= offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, next_id)) - break; /* open_flags field has been added in Linux v4.15-rc1~84^2~384^2~4 */ + if (len <= offsetof(struct BPF_PROG_GET_NEXT_ID_struct, open_flags)) + break; PRINT_FIELD_FLAGS(", ", attr, open_flags, bpf_file_mode_flags, "BPF_F_???"); } @@ -265,10 +400,10 @@ BEGIN_BPF_CMD_DECODER(BPF_PROG_GET_FD_BY_ID) { PRINT_FIELD_U("{", attr, prog_id); PRINT_FIELD_U(", ", attr, next_id); - if (len <= offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, next_id)) - break; /* open_flags field has been added in Linux v4.15-rc1~84^2~384^2~4 */ + if (len <= offsetof(struct BPF_PROG_GET_FD_BY_ID_struct, open_flags)) + break; PRINT_FIELD_FLAGS(", ", attr, open_flags, bpf_file_mode_flags, "BPF_F_???"); } @@ -278,23 +413,299 @@ BEGIN_BPF_CMD_DECODER(BPF_MAP_GET_FD_BY_ID) { PRINT_FIELD_U("{", attr, map_id); PRINT_FIELD_U(", ", attr, next_id); - if (len <= offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, next_id)) - break; /* open_flags field has been added in Linux v4.15-rc1~84^2~384^2~4 */ + if (len <= offsetof(struct BPF_MAP_GET_FD_BY_ID_struct, open_flags)) + break; PRINT_FIELD_FLAGS(", ", attr, open_flags, bpf_file_mode_flags, "BPF_F_???"); } END_BPF_CMD_DECODER(RVAL_DECODED) +struct obj_get_info_saved; +typedef void (*print_bpf_obj_info_fn)(struct tcb *, + uint32_t bpf_fd, + const char *info_buf, + uint32_t size, + struct obj_get_info_saved *saved); + +struct obj_get_info_saved { + print_bpf_obj_info_fn print_fn; + + uint32_t info_len; + + uint32_t jited_prog_len; + uint32_t xlated_prog_len; + uint32_t nr_map_ids; +}; + +static void +print_bpf_map_info(struct tcb * const tcp, uint32_t bpf_fd, + const char *info_buf, uint32_t size, + struct obj_get_info_saved *saved) +{ + if (entering(tcp)) + return; + + struct bpf_map_info_struct info = { 0 }; + const unsigned int len = MIN(size, bpf_map_info_struct_size); + + memcpy(&info, info_buf, len); + + PRINT_FIELD_XVAL("{", info, type, bpf_map_types, "BPF_MAP_TYPE_???"); + PRINT_FIELD_U(", ", info, id); + PRINT_FIELD_U(", ", info, key_size); + PRINT_FIELD_U(", ", info, value_size); + PRINT_FIELD_U(", ", info, max_entries); + PRINT_FIELD_FLAGS(", ", info, map_flags, bpf_map_flags, "BPF_F_???"); + + /* + * "name" field was introduced by Linux commit v4.15-rc1~84^2~605^2~3. + */ + if (len <= offsetof(struct bpf_map_info_struct, name)) + goto print_bpf_map_info_end; + PRINT_FIELD_CSTRING(", ", info, name); + + /* + * ifindex, netns_dev, and netns_ino fields were introduced + * by Linux commit v4.16-rc1~123^2~109^2~5^2~4. + */ + if (len <= offsetof(struct bpf_map_info_struct, ifindex)) + goto print_bpf_map_info_end; + PRINT_FIELD_IFINDEX(", ", info, ifindex); + PRINT_FIELD_DEV(", ", info, netns_dev); + PRINT_FIELD_U(", ", info, netns_ino); + + decode_attr_extra_data(tcp, info_buf, size, bpf_map_info_struct_size); + +print_bpf_map_info_end: + tprints("}"); +} + +static void +print_bpf_prog_info(struct tcb * const tcp, uint32_t bpf_fd, + const char *info_buf, uint32_t size, + struct obj_get_info_saved *saved) +{ + struct bpf_prog_info_struct info = { 0 }; + const unsigned int len = MIN(size, bpf_prog_info_struct_size); + uint64_t map_id_buf; + + memcpy(&info, info_buf, len); + + if (entering(tcp)) { + saved->jited_prog_len = info.jited_prog_len; + saved->xlated_prog_len = info.xlated_prog_len; + saved->nr_map_ids = info.nr_map_ids; + + return; + } + + PRINT_FIELD_XVAL("{", info, type, bpf_prog_types, "BPF_PROG_TYPE_???"); + PRINT_FIELD_U(", ", info, id); + PRINT_FIELD_HEX_ARRAY(", ", info, tag); + + tprints(", jited_prog_len="); + if (saved->jited_prog_len != info.jited_prog_len) + tprintf("%" PRIu32 " => ", saved->jited_prog_len); + tprintf("%" PRIu32, info.jited_prog_len); + + tprints(", jited_prog_insns="); + print_big_u64_addr(info.jited_prog_insns); + printstr_ex(tcp, info.jited_prog_insns, info.jited_prog_len, + QUOTE_FORCE_HEX); + + tprints(", xlated_prog_len="); + if (saved->xlated_prog_len != info.xlated_prog_len) + tprintf("%" PRIu32 " => ", saved->xlated_prog_len); + tprintf("%" PRIu32, info.xlated_prog_len); + + tprints(", xlated_prog_insns="); + print_ebpf_prog(tcp, info.xlated_prog_insns, + MIN(saved->xlated_prog_len, info.xlated_prog_len) / 8); + + /* + * load_time, created_by_uid, nr_map_ids, map_ids, and name fields + * were introduced by Linux commit v4.15-rc1~84^2~605^2~4. + */ + if (len <= offsetof(struct bpf_prog_info_struct, load_time)) + goto print_bpf_prog_info_end; + PRINT_FIELD_U(", ", info, load_time); + PRINT_FIELD_UID(", ", info, created_by_uid); + + tprints(", nr_map_ids="); + if (saved->nr_map_ids != info.nr_map_ids) + tprintf("%" PRIu32 " => ", saved->nr_map_ids); + tprintf("%" PRIu32, info.nr_map_ids); + + tprints(", map_ids="); + print_big_u64_addr(info.map_ids); + print_array(tcp, info.map_ids, MIN(saved->nr_map_ids, info.nr_map_ids), + &map_id_buf, sizeof(map_id_buf), + tfetch_mem, print_uint32_array_member, 0); + + PRINT_FIELD_CSTRING(", ", info, name); + + /* + * ifindex, netns_dev, and netns_ino fields were introduced + * by Linux commit v4.16-rc1~123^2~227^2~5^2~2. + */ + if (len <= offsetof(struct bpf_prog_info_struct, ifindex)) + goto print_bpf_prog_info_end; + PRINT_FIELD_IFINDEX(", ", info, ifindex); + PRINT_FIELD_DEV(", ", info, netns_dev); + PRINT_FIELD_U(", ", info, netns_ino); + + decode_attr_extra_data(tcp, info_buf, size, bpf_prog_info_struct_size); + +print_bpf_prog_info_end: + tprints("}"); +} + +static const char * +fetch_bpf_obj_info(struct tcb * const tcp, uint64_t info, uint32_t size) +{ + static char *info_buf; + + if (!info_buf) + info_buf = xmalloc(get_pagesize()); + + memset(info_buf, 0, get_pagesize()); + + if (size > 0 && size <= get_pagesize() + && !umoven(tcp, info, size, info_buf)) + return info_buf; + + return NULL; +} + +static void +print_bpf_obj_info_addr(struct tcb * const tcp, uint64_t addr) +{ + if (exiting(tcp)) + printaddr64(addr); +} + +static void +print_bpf_obj_info(struct tcb * const tcp, uint32_t bpf_fd, uint64_t info, + uint32_t size, struct obj_get_info_saved *saved) +{ + if (abbrev(tcp)) { + print_bpf_obj_info_addr(tcp, info); + return; + } + + static struct { + const char *id; + print_bpf_obj_info_fn print_fn; + } obj_printers[] = { + { "anon_inode:bpf-map", print_bpf_map_info }, + { "anon_inode:bpf-prog", print_bpf_prog_info } + }; + + if (entering(tcp)) { + char path[PATH_MAX + 1]; + + if (getfdpath(tcp, bpf_fd, path, sizeof(path)) > 0) { + for (size_t i = 0; i < ARRAY_SIZE(obj_printers); ++i) { + if (!strcmp(path, obj_printers[i].id)) { + saved->print_fn = + obj_printers[i].print_fn; + break; + } + } + } + } + + if (!saved || !saved->print_fn) { + print_bpf_obj_info_addr(tcp, info); + return; + } + + const char *info_buf = fetch_bpf_obj_info(tcp, info, size); + + if (info_buf) + saved->print_fn(tcp, bpf_fd, info_buf, size, saved); + else + print_bpf_obj_info_addr(tcp, info); +} + BEGIN_BPF_CMD_DECODER(BPF_OBJ_GET_INFO_BY_FD) { - PRINT_FIELD_FD("{info={", attr, bpf_fd, tcp); - PRINT_FIELD_U(", ", attr, info_len); - PRINT_FIELD_X(", ", attr, info); + struct obj_get_info_saved *saved; + + if (entering(tcp)) { + saved = xcalloc(1, sizeof(*saved)); + saved->info_len = attr.info_len; + set_tcb_priv_data(tcp, saved, free); + + PRINT_FIELD_FD("{info={", attr, bpf_fd, tcp); + PRINT_FIELD_U(", ", attr, info_len); + } else { + saved = get_tcb_priv_data(tcp); + + if (saved && (saved->info_len != attr.info_len)) + tprintf(" => %u", attr.info_len); + + tprintf(", info="); + } + + print_bpf_obj_info(tcp, attr.bpf_fd, attr.info, attr.info_len, saved); + + if (entering(tcp)) + return 0; + + tprints("}"); +} +END_BPF_CMD_DECODER(RVAL_DECODED) + +BEGIN_BPF_CMD_DECODER(BPF_PROG_QUERY) +{ + uint32_t prog_id_buf; + + if (entering(tcp)) { + PRINT_FIELD_FD("{query={", attr, target_fd, tcp); + PRINT_FIELD_XVAL_INDEX(", ", attr, attach_type, bpf_attach_type, + "BPF_???"); + PRINT_FIELD_FLAGS(", ", attr, query_flags, bpf_query_flags, + "BPF_F_QUERY_???"); + PRINT_FIELD_FLAGS(", ", attr, attach_flags, bpf_attach_flags, + "BPF_F_???"); + + tprints(", prog_ids="); + + set_tcb_priv_ulong(tcp, attr.prog_cnt); + + return 0; + } + + print_big_u64_addr(attr.prog_ids); + print_array(tcp, attr.prog_ids, attr.prog_cnt, &prog_id_buf, + sizeof(prog_id_buf), tfetch_mem, + print_uint32_array_member, 0); + + tprints(", prog_cnt="); + const uint32_t prog_cnt_entering = get_tcb_priv_ulong(tcp); + if (prog_cnt_entering != attr.prog_cnt) + tprintf("%" PRIu32 " => ", prog_cnt_entering); + tprintf("%" PRIu32, attr.prog_cnt); tprints("}"); } -END_BPF_CMD_DECODER(RVAL_DECODED | RVAL_FD) +END_BPF_CMD_DECODER(RVAL_DECODED) + +BEGIN_BPF_CMD_DECODER(BPF_RAW_TRACEPOINT_OPEN) +{ + enum { TP_NAME_SIZE = 128 }; + + tprintf("{raw_tracepoint={name="); + print_big_u64_addr(attr.name); + printstr_ex(tcp, attr.name, TP_NAME_SIZE, QUOTE_0_TERMINATED); + + PRINT_FIELD_FD(", ", attr, prog_fd, tcp); + + tprints("}"); +} +END_BPF_CMD_DECODER(RVAL_DECODED) SYS_FUNC(bpf) { @@ -315,38 +726,36 @@ SYS_FUNC(bpf) BPF_CMD_ENTRY(BPF_PROG_GET_FD_BY_ID), BPF_CMD_ENTRY(BPF_MAP_GET_FD_BY_ID), BPF_CMD_ENTRY(BPF_OBJ_GET_INFO_BY_FD), + BPF_CMD_ENTRY(BPF_PROG_QUERY), + BPF_CMD_ENTRY(BPF_RAW_TRACEPOINT_OPEN), }; const unsigned int cmd = tcp->u_arg[0]; const kernel_ulong_t addr = tcp->u_arg[1]; const unsigned int size = tcp->u_arg[2]; - int rc; + int rc = RVAL_DECODED; if (entering(tcp)) { + printxval_index(bpf_commands, cmd, "BPF_???"); + tprints(", "); + } + + if (size > 0 + && size <= get_pagesize() + && cmd < ARRAY_SIZE(bpf_cmd_decoders) + && bpf_cmd_decoders[cmd]) { static char *buf; if (!buf) buf = xmalloc(get_pagesize()); - printxval(bpf_commands, cmd, "BPF_???"); - tprints(", "); - - if (size > 0 - && size <= get_pagesize() - && cmd < ARRAY_SIZE(bpf_cmd_decoders) - && bpf_cmd_decoders[cmd]) { - rc = umoven_or_printaddr(tcp, addr, size, buf) - ? RVAL_DECODED - : bpf_cmd_decoders[cmd](tcp, addr, size, buf); - } else { - printaddr(addr); - rc = RVAL_DECODED; - } + if (!umoven_or_printaddr_ignore_syserror(tcp, addr, size, buf)) + rc = bpf_cmd_decoders[cmd](tcp, addr, size, buf); } else { - rc = bpf_cmd_decoders[cmd](tcp, addr, size, NULL) | RVAL_DECODED; + printaddr(addr); } - if (rc & RVAL_DECODED) + if (exiting(tcp) || (rc & RVAL_DECODED)) tprintf(", %u", size); return rc; diff --git a/bpf_attr.h b/bpf_attr.h index 66496838..45bb30a7 100644 --- a/bpf_attr.h +++ b/bpf_attr.h @@ -28,6 +28,33 @@ #ifndef STRACE_BPF_ATTR_H #define STRACE_BPF_ATTR_H +/* + * The policy is that all fields of type uint64_t in this header file + * must have ATTRIBUTE_ALIGNED(8). + * + * This should not cause any contradictions with + * unless the latter is buggy. + * + * By word "buggy" I mean containing such changes as Linux kernel commit + * v4.16-rc1~123^2~109^2~5^2~4. + */ + +#ifndef BPF_OBJ_NAME_LEN +# define BPF_OBJ_NAME_LEN 16U +#else +# if BPF_OBJ_NAME_LEN != 16U +# error "Unexpected value of BPF_OBJ_NAME_LEN" +# endif +#endif + +#ifndef BPF_TAG_SIZE +# define BPF_TAG_SIZE 8 +#else +# if BPF_TAG_SIZE != 8 +# error "Unexpected value of BPF_TAG_SIZE" +# endif +#endif + struct BPF_MAP_CREATE_struct { uint32_t map_type; uint32_t key_size; @@ -36,11 +63,13 @@ struct BPF_MAP_CREATE_struct { uint32_t map_flags; uint32_t inner_map_fd; uint32_t numa_node; + char map_name[BPF_OBJ_NAME_LEN]; + uint32_t map_ifindex; }; #define BPF_MAP_CREATE_struct_size \ sizeof(struct BPF_MAP_CREATE_struct) -#define expected_BPF_MAP_CREATE_struct_size 28 +#define expected_BPF_MAP_CREATE_struct_size 48 struct BPF_MAP_LOOKUP_ELEM_struct { uint32_t map_fd; @@ -56,7 +85,7 @@ 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; + uint64_t ATTRIBUTE_ALIGNED(8) flags; }; #define BPF_MAP_UPDATE_ELEM_struct_size \ @@ -92,11 +121,14 @@ struct BPF_PROG_LOAD_struct { uint64_t ATTRIBUTE_ALIGNED(8) log_buf; uint32_t kern_version; uint32_t prog_flags; + char prog_name[BPF_OBJ_NAME_LEN]; + uint32_t prog_ifindex; + uint32_t expected_attach_type; }; #define BPF_PROG_LOAD_struct_size \ - sizeof(struct BPF_PROG_LOAD_struct) -#define expected_BPF_PROG_LOAD_struct_size 48 + offsetofend(struct BPF_PROG_LOAD_struct, expected_attach_type) +#define expected_BPF_PROG_LOAD_struct_size 72 struct BPF_OBJ_PIN_struct { uint64_t ATTRIBUTE_ALIGNED(8) pathname; @@ -190,4 +222,73 @@ struct BPF_OBJ_GET_INFO_BY_FD_struct /* info */ { sizeof(struct BPF_OBJ_GET_INFO_BY_FD_struct) #define expected_BPF_OBJ_GET_INFO_BY_FD_struct_size 16 +struct BPF_PROG_QUERY_struct /* query */ { + uint32_t target_fd; + uint32_t attach_type; + uint32_t query_flags; + uint32_t attach_flags; + uint64_t ATTRIBUTE_ALIGNED(8) prog_ids; + uint32_t prog_cnt; +}; + +#define BPF_PROG_QUERY_struct_size \ + offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt) +#define expected_BPF_PROG_QUERY_struct_size 28 + +struct BPF_RAW_TRACEPOINT_OPEN_struct /* raw_tracepoint */ { + uint64_t ATTRIBUTE_ALIGNED(8) name; + uint32_t prog_fd; +}; + +#define BPF_RAW_TRACEPOINT_OPEN_struct_size \ + offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, prog_fd) +#define expected_BPF_RAW_TRACEPOINT_OPEN_struct_size 12 + +struct bpf_map_info_struct { + uint32_t type; + uint32_t id; + uint32_t key_size; + uint32_t value_size; + uint32_t max_entries; + uint32_t map_flags; + char name[BPF_OBJ_NAME_LEN]; + uint32_t ifindex; + /* + * The kernel UAPI is broken by Linux commit + * v4.16-rc1~123^2~109^2~5^2~4 . + */ + uint64_t ATTRIBUTE_ALIGNED(8) netns_dev; /* skip check */ + uint64_t ATTRIBUTE_ALIGNED(8) netns_ino; /* skip check */ +}; + +#define bpf_map_info_struct_size \ + sizeof(struct bpf_map_info_struct) +#define expected_bpf_map_info_struct_size 64 + +struct bpf_prog_info_struct { + uint32_t type; + uint32_t id; + uint8_t tag[BPF_TAG_SIZE]; + uint32_t jited_prog_len; + uint32_t xlated_prog_len; + uint64_t ATTRIBUTE_ALIGNED(8) jited_prog_insns; + uint64_t ATTRIBUTE_ALIGNED(8) xlated_prog_insns; + uint64_t ATTRIBUTE_ALIGNED(8) load_time; + uint32_t created_by_uid; + uint32_t nr_map_ids; + uint64_t ATTRIBUTE_ALIGNED(8) map_ids; + char name[BPF_OBJ_NAME_LEN]; + uint32_t ifindex; + /* + * The kernel UAPI is broken by Linux commit + * v4.16-rc1~123^2~227^2~5^2~2 . + */ + uint64_t ATTRIBUTE_ALIGNED(8) netns_dev; /* skip check */ + uint64_t ATTRIBUTE_ALIGNED(8) netns_ino; /* skip check */ +}; + +#define bpf_prog_info_struct_size \ + sizeof(struct bpf_prog_info_struct) +#define expected_bpf_prog_info_struct_size 104 + #endif /* !STRACE_BPF_ATTR_H */ diff --git a/bpf_attr_check.c b/bpf_attr_check.c index ea0d66d4..cae1e71c 100644 --- a/bpf_attr_check.c +++ b/bpf_attr_check.c @@ -56,6 +56,20 @@ "BPF_MAP_CREATE_struct.numa_node offset mismatch"); # endif /* HAVE_UNION_BPF_ATTR_NUMA_NODE */ +# ifdef HAVE_UNION_BPF_ATTR_MAP_NAME + static_assert(SoM(struct BPF_MAP_CREATE_struct, map_name) == SoM(union bpf_attr, map_name), + "BPF_MAP_CREATE_struct.map_name size mismatch"); + static_assert(offsetof(struct BPF_MAP_CREATE_struct, map_name) == offsetof(union bpf_attr, map_name), + "BPF_MAP_CREATE_struct.map_name offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_MAP_NAME */ + +# ifdef HAVE_UNION_BPF_ATTR_MAP_IFINDEX + static_assert(SoM(struct BPF_MAP_CREATE_struct, map_ifindex) == SoM(union bpf_attr, map_ifindex), + "BPF_MAP_CREATE_struct.map_ifindex size mismatch"); + static_assert(offsetof(struct BPF_MAP_CREATE_struct, map_ifindex) == offsetof(union bpf_attr, map_ifindex), + "BPF_MAP_CREATE_struct.map_ifindex offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_MAP_IFINDEX */ + static_assert(BPF_MAP_CREATE_struct_size == expected_BPF_MAP_CREATE_struct_size, "BPF_MAP_CREATE_struct_size mismatch"); @@ -218,6 +232,27 @@ static_assert(BPF_MAP_GET_NEXT_KEY_struct_size == expected_BPF_MAP_GET_NEXT_KEY_ "BPF_PROG_LOAD_struct.prog_flags offset mismatch"); # endif /* HAVE_UNION_BPF_ATTR_PROG_FLAGS */ +# ifdef HAVE_UNION_BPF_ATTR_PROG_NAME + static_assert(SoM(struct BPF_PROG_LOAD_struct, prog_name) == SoM(union bpf_attr, prog_name), + "BPF_PROG_LOAD_struct.prog_name size mismatch"); + static_assert(offsetof(struct BPF_PROG_LOAD_struct, prog_name) == offsetof(union bpf_attr, prog_name), + "BPF_PROG_LOAD_struct.prog_name offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_PROG_NAME */ + +# ifdef HAVE_UNION_BPF_ATTR_PROG_IFINDEX + static_assert(SoM(struct BPF_PROG_LOAD_struct, prog_ifindex) == SoM(union bpf_attr, prog_ifindex), + "BPF_PROG_LOAD_struct.prog_ifindex size mismatch"); + static_assert(offsetof(struct BPF_PROG_LOAD_struct, prog_ifindex) == offsetof(union bpf_attr, prog_ifindex), + "BPF_PROG_LOAD_struct.prog_ifindex offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_PROG_IFINDEX */ + +# ifdef HAVE_UNION_BPF_ATTR_EXPECTED_ATTACH_TYPE + static_assert(SoM(struct BPF_PROG_LOAD_struct, expected_attach_type) == SoM(union bpf_attr, expected_attach_type), + "BPF_PROG_LOAD_struct.expected_attach_type size mismatch"); + static_assert(offsetof(struct BPF_PROG_LOAD_struct, expected_attach_type) == offsetof(union bpf_attr, expected_attach_type), + "BPF_PROG_LOAD_struct.expected_attach_type offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_EXPECTED_ATTACH_TYPE */ + static_assert(BPF_PROG_LOAD_struct_size == expected_BPF_PROG_LOAD_struct_size, "BPF_PROG_LOAD_struct_size mismatch"); @@ -455,4 +490,219 @@ static_assert(BPF_MAP_GET_FD_BY_ID_struct_size == expected_BPF_MAP_GET_FD_BY_ID_ 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"); +# ifdef HAVE_UNION_BPF_ATTR_QUERY_TARGET_FD + static_assert(SoM(struct BPF_PROG_QUERY_struct, target_fd) == SoM(union bpf_attr, query.target_fd), + "BPF_PROG_QUERY_struct.target_fd size mismatch"); + static_assert(offsetof(struct BPF_PROG_QUERY_struct, target_fd) == offsetof(union bpf_attr, query.target_fd), + "BPF_PROG_QUERY_struct.target_fd offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_QUERY_TARGET_FD */ + +# ifdef HAVE_UNION_BPF_ATTR_QUERY_ATTACH_TYPE + static_assert(SoM(struct BPF_PROG_QUERY_struct, attach_type) == SoM(union bpf_attr, query.attach_type), + "BPF_PROG_QUERY_struct.attach_type size mismatch"); + static_assert(offsetof(struct BPF_PROG_QUERY_struct, attach_type) == offsetof(union bpf_attr, query.attach_type), + "BPF_PROG_QUERY_struct.attach_type offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_QUERY_ATTACH_TYPE */ + +# ifdef HAVE_UNION_BPF_ATTR_QUERY_QUERY_FLAGS + static_assert(SoM(struct BPF_PROG_QUERY_struct, query_flags) == SoM(union bpf_attr, query.query_flags), + "BPF_PROG_QUERY_struct.query_flags size mismatch"); + static_assert(offsetof(struct BPF_PROG_QUERY_struct, query_flags) == offsetof(union bpf_attr, query.query_flags), + "BPF_PROG_QUERY_struct.query_flags offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_QUERY_QUERY_FLAGS */ + +# ifdef HAVE_UNION_BPF_ATTR_QUERY_ATTACH_FLAGS + static_assert(SoM(struct BPF_PROG_QUERY_struct, attach_flags) == SoM(union bpf_attr, query.attach_flags), + "BPF_PROG_QUERY_struct.attach_flags size mismatch"); + static_assert(offsetof(struct BPF_PROG_QUERY_struct, attach_flags) == offsetof(union bpf_attr, query.attach_flags), + "BPF_PROG_QUERY_struct.attach_flags offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_QUERY_ATTACH_FLAGS */ + +# ifdef HAVE_UNION_BPF_ATTR_QUERY_PROG_IDS + static_assert(SoM(struct BPF_PROG_QUERY_struct, prog_ids) == SoM(union bpf_attr, query.prog_ids), + "BPF_PROG_QUERY_struct.prog_ids size mismatch"); + static_assert(offsetof(struct BPF_PROG_QUERY_struct, prog_ids) == offsetof(union bpf_attr, query.prog_ids), + "BPF_PROG_QUERY_struct.prog_ids offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_QUERY_PROG_IDS */ + +# ifdef HAVE_UNION_BPF_ATTR_QUERY_PROG_CNT + static_assert(SoM(struct BPF_PROG_QUERY_struct, prog_cnt) == SoM(union bpf_attr, query.prog_cnt), + "BPF_PROG_QUERY_struct.prog_cnt size mismatch"); + static_assert(offsetof(struct BPF_PROG_QUERY_struct, prog_cnt) == offsetof(union bpf_attr, query.prog_cnt), + "BPF_PROG_QUERY_struct.prog_cnt offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_QUERY_PROG_CNT */ + +static_assert(BPF_PROG_QUERY_struct_size == expected_BPF_PROG_QUERY_struct_size, + "BPF_PROG_QUERY_struct_size mismatch"); + +# ifdef HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_NAME + static_assert(SoM(struct BPF_RAW_TRACEPOINT_OPEN_struct, name) == SoM(union bpf_attr, raw_tracepoint.name), + "BPF_RAW_TRACEPOINT_OPEN_struct.name size mismatch"); + static_assert(offsetof(struct BPF_RAW_TRACEPOINT_OPEN_struct, name) == offsetof(union bpf_attr, raw_tracepoint.name), + "BPF_RAW_TRACEPOINT_OPEN_struct.name offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_NAME */ + +# ifdef HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_PROG_FD + static_assert(SoM(struct BPF_RAW_TRACEPOINT_OPEN_struct, prog_fd) == SoM(union bpf_attr, raw_tracepoint.prog_fd), + "BPF_RAW_TRACEPOINT_OPEN_struct.prog_fd size mismatch"); + static_assert(offsetof(struct BPF_RAW_TRACEPOINT_OPEN_struct, prog_fd) == offsetof(union bpf_attr, raw_tracepoint.prog_fd), + "BPF_RAW_TRACEPOINT_OPEN_struct.prog_fd offset mismatch"); +# endif /* HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_PROG_FD */ + +static_assert(BPF_RAW_TRACEPOINT_OPEN_struct_size == expected_BPF_RAW_TRACEPOINT_OPEN_struct_size, + "BPF_RAW_TRACEPOINT_OPEN_struct_size mismatch"); + +# ifdef HAVE_STRUCT_BPF_MAP_INFO_TYPE + static_assert(SoM(struct bpf_map_info_struct, type) == SoM(struct bpf_map_info, type), + "bpf_map_info_struct.type size mismatch"); + static_assert(offsetof(struct bpf_map_info_struct, type) == offsetof(struct bpf_map_info, type), + "bpf_map_info_struct.type offset mismatch"); +# endif /* HAVE_STRUCT_BPF_MAP_INFO_TYPE */ + +# ifdef HAVE_STRUCT_BPF_MAP_INFO_ID + static_assert(SoM(struct bpf_map_info_struct, id) == SoM(struct bpf_map_info, id), + "bpf_map_info_struct.id size mismatch"); + static_assert(offsetof(struct bpf_map_info_struct, id) == offsetof(struct bpf_map_info, id), + "bpf_map_info_struct.id offset mismatch"); +# endif /* HAVE_STRUCT_BPF_MAP_INFO_ID */ + +# ifdef HAVE_STRUCT_BPF_MAP_INFO_KEY_SIZE + static_assert(SoM(struct bpf_map_info_struct, key_size) == SoM(struct bpf_map_info, key_size), + "bpf_map_info_struct.key_size size mismatch"); + static_assert(offsetof(struct bpf_map_info_struct, key_size) == offsetof(struct bpf_map_info, key_size), + "bpf_map_info_struct.key_size offset mismatch"); +# endif /* HAVE_STRUCT_BPF_MAP_INFO_KEY_SIZE */ + +# ifdef HAVE_STRUCT_BPF_MAP_INFO_VALUE_SIZE + static_assert(SoM(struct bpf_map_info_struct, value_size) == SoM(struct bpf_map_info, value_size), + "bpf_map_info_struct.value_size size mismatch"); + static_assert(offsetof(struct bpf_map_info_struct, value_size) == offsetof(struct bpf_map_info, value_size), + "bpf_map_info_struct.value_size offset mismatch"); +# endif /* HAVE_STRUCT_BPF_MAP_INFO_VALUE_SIZE */ + +# ifdef HAVE_STRUCT_BPF_MAP_INFO_MAX_ENTRIES + static_assert(SoM(struct bpf_map_info_struct, max_entries) == SoM(struct bpf_map_info, max_entries), + "bpf_map_info_struct.max_entries size mismatch"); + static_assert(offsetof(struct bpf_map_info_struct, max_entries) == offsetof(struct bpf_map_info, max_entries), + "bpf_map_info_struct.max_entries offset mismatch"); +# endif /* HAVE_STRUCT_BPF_MAP_INFO_MAX_ENTRIES */ + +# ifdef HAVE_STRUCT_BPF_MAP_INFO_MAP_FLAGS + static_assert(SoM(struct bpf_map_info_struct, map_flags) == SoM(struct bpf_map_info, map_flags), + "bpf_map_info_struct.map_flags size mismatch"); + static_assert(offsetof(struct bpf_map_info_struct, map_flags) == offsetof(struct bpf_map_info, map_flags), + "bpf_map_info_struct.map_flags offset mismatch"); +# endif /* HAVE_STRUCT_BPF_MAP_INFO_MAP_FLAGS */ + +# ifdef HAVE_STRUCT_BPF_MAP_INFO_NAME + static_assert(SoM(struct bpf_map_info_struct, name) == SoM(struct bpf_map_info, name), + "bpf_map_info_struct.name size mismatch"); + static_assert(offsetof(struct bpf_map_info_struct, name) == offsetof(struct bpf_map_info, name), + "bpf_map_info_struct.name offset mismatch"); +# endif /* HAVE_STRUCT_BPF_MAP_INFO_NAME */ + +# ifdef HAVE_STRUCT_BPF_MAP_INFO_IFINDEX + static_assert(SoM(struct bpf_map_info_struct, ifindex) == SoM(struct bpf_map_info, ifindex), + "bpf_map_info_struct.ifindex size mismatch"); + static_assert(offsetof(struct bpf_map_info_struct, ifindex) == offsetof(struct bpf_map_info, ifindex), + "bpf_map_info_struct.ifindex offset mismatch"); +# endif /* HAVE_STRUCT_BPF_MAP_INFO_IFINDEX */ + +static_assert(bpf_map_info_struct_size == expected_bpf_map_info_struct_size, + "bpf_map_info_struct_size mismatch"); + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_TYPE + static_assert(SoM(struct bpf_prog_info_struct, type) == SoM(struct bpf_prog_info, type), + "bpf_prog_info_struct.type size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, type) == offsetof(struct bpf_prog_info, type), + "bpf_prog_info_struct.type offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_TYPE */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_ID + static_assert(SoM(struct bpf_prog_info_struct, id) == SoM(struct bpf_prog_info, id), + "bpf_prog_info_struct.id size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, id) == offsetof(struct bpf_prog_info, id), + "bpf_prog_info_struct.id offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_ID */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_TAG + static_assert(SoM(struct bpf_prog_info_struct, tag) == SoM(struct bpf_prog_info, tag), + "bpf_prog_info_struct.tag size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, tag) == offsetof(struct bpf_prog_info, tag), + "bpf_prog_info_struct.tag offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_TAG */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_LEN + static_assert(SoM(struct bpf_prog_info_struct, jited_prog_len) == SoM(struct bpf_prog_info, jited_prog_len), + "bpf_prog_info_struct.jited_prog_len size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, jited_prog_len) == offsetof(struct bpf_prog_info, jited_prog_len), + "bpf_prog_info_struct.jited_prog_len offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_LEN */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_LEN + static_assert(SoM(struct bpf_prog_info_struct, xlated_prog_len) == SoM(struct bpf_prog_info, xlated_prog_len), + "bpf_prog_info_struct.xlated_prog_len size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, xlated_prog_len) == offsetof(struct bpf_prog_info, xlated_prog_len), + "bpf_prog_info_struct.xlated_prog_len offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_LEN */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_INSNS + static_assert(SoM(struct bpf_prog_info_struct, jited_prog_insns) == SoM(struct bpf_prog_info, jited_prog_insns), + "bpf_prog_info_struct.jited_prog_insns size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, jited_prog_insns) == offsetof(struct bpf_prog_info, jited_prog_insns), + "bpf_prog_info_struct.jited_prog_insns offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_INSNS */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_INSNS + static_assert(SoM(struct bpf_prog_info_struct, xlated_prog_insns) == SoM(struct bpf_prog_info, xlated_prog_insns), + "bpf_prog_info_struct.xlated_prog_insns size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, xlated_prog_insns) == offsetof(struct bpf_prog_info, xlated_prog_insns), + "bpf_prog_info_struct.xlated_prog_insns offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_INSNS */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_LOAD_TIME + static_assert(SoM(struct bpf_prog_info_struct, load_time) == SoM(struct bpf_prog_info, load_time), + "bpf_prog_info_struct.load_time size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, load_time) == offsetof(struct bpf_prog_info, load_time), + "bpf_prog_info_struct.load_time offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_LOAD_TIME */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_CREATED_BY_UID + static_assert(SoM(struct bpf_prog_info_struct, created_by_uid) == SoM(struct bpf_prog_info, created_by_uid), + "bpf_prog_info_struct.created_by_uid size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, created_by_uid) == offsetof(struct bpf_prog_info, created_by_uid), + "bpf_prog_info_struct.created_by_uid offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_CREATED_BY_UID */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_NR_MAP_IDS + static_assert(SoM(struct bpf_prog_info_struct, nr_map_ids) == SoM(struct bpf_prog_info, nr_map_ids), + "bpf_prog_info_struct.nr_map_ids size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, nr_map_ids) == offsetof(struct bpf_prog_info, nr_map_ids), + "bpf_prog_info_struct.nr_map_ids offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_NR_MAP_IDS */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_MAP_IDS + static_assert(SoM(struct bpf_prog_info_struct, map_ids) == SoM(struct bpf_prog_info, map_ids), + "bpf_prog_info_struct.map_ids size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, map_ids) == offsetof(struct bpf_prog_info, map_ids), + "bpf_prog_info_struct.map_ids offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_MAP_IDS */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_NAME + static_assert(SoM(struct bpf_prog_info_struct, name) == SoM(struct bpf_prog_info, name), + "bpf_prog_info_struct.name size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, name) == offsetof(struct bpf_prog_info, name), + "bpf_prog_info_struct.name offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_NAME */ + +# ifdef HAVE_STRUCT_BPF_PROG_INFO_IFINDEX + static_assert(SoM(struct bpf_prog_info_struct, ifindex) == SoM(struct bpf_prog_info, ifindex), + "bpf_prog_info_struct.ifindex size mismatch"); + static_assert(offsetof(struct bpf_prog_info_struct, ifindex) == offsetof(struct bpf_prog_info, ifindex), + "bpf_prog_info_struct.ifindex offset mismatch"); +# endif /* HAVE_STRUCT_BPF_PROG_INFO_IFINDEX */ + +static_assert(bpf_prog_info_struct_size == expected_bpf_prog_info_struct_size, + "bpf_prog_info_struct_size mismatch"); + #endif /* HAVE_LINUX_BPF_H */ diff --git a/bpf_filter.c b/bpf_filter.c index 32fd4358..a102e149 100644 --- a/bpf_filter.c +++ b/bpf_filter.c @@ -34,6 +34,7 @@ #include "bpf_fprog.h" #include + #include "xlat/bpf_class.h" #include "xlat/bpf_miscop.h" #include "xlat/bpf_mode.h" @@ -43,56 +44,85 @@ #include "xlat/bpf_size.h" #include "xlat/bpf_src.h" -static void -print_bpf_filter_code(const uint16_t code) +#include "xlat/ebpf_class.h" +#include "xlat/ebpf_mode.h" +#include "xlat/ebpf_op_alu.h" +#include "xlat/ebpf_op_jmp.h" +#include "xlat/ebpf_size.h" + +void +print_bpf_filter_code(const uint16_t code, bool extended) { + const struct xlat *mode = extended ? ebpf_mode : bpf_mode; uint16_t i = code & ~BPF_CLASS(code); - printxval(bpf_class, BPF_CLASS(code), "BPF_???"); + if (extended) + printxval_index(ebpf_class, BPF_CLASS(code), "BPF_???"); + else + printxval_index(bpf_class, BPF_CLASS(code), "BPF_???"); switch (BPF_CLASS(code)) { + case BPF_ST: + case BPF_STX: + if (!extended) { + if (i) { + tprintf("|%#x", i); + tprints_comment("BPF_???"); + } + break; + } + ATTRIBUTE_FALLTHROUGH; /* extended == true */ + case BPF_LD: case BPF_LDX: tprints("|"); - printxval(bpf_size, BPF_SIZE(code), "BPF_???"); + printxvals(BPF_SIZE(code), "BPF_???", + bpf_size, extended ? ebpf_size : NULL, NULL); tprints("|"); - printxval(bpf_mode, BPF_MODE(code), "BPF_???"); + printxval(mode, BPF_MODE(code), "BPF_???"); break; - case BPF_ST: - case BPF_STX: - if (i) { - tprintf("|%#x", i); - tprints_comment("BPF_???"); + + case BPF_MISC: /* BPF_ALU64 in eBPF */ + if (!extended) { + tprints("|"); + printxval(bpf_miscop, BPF_MISCOP(code), "BPF_???"); + i &= ~BPF_MISCOP(code); + if (i) { + tprintf("|%#x", i); + tprints_comment("BPF_???"); + } + break; } - break; + ATTRIBUTE_FALLTHROUGH; /* extended == true */ + case BPF_ALU: tprints("|"); printxval(bpf_src, BPF_SRC(code), "BPF_???"); tprints("|"); - printxval(bpf_op_alu, BPF_OP(code), "BPF_???"); + printxvals(BPF_OP(code), "BPF_???", + bpf_op_alu, + extended ? ebpf_op_alu : NULL, NULL); break; + case BPF_JMP: tprints("|"); printxval(bpf_src, BPF_SRC(code), "BPF_???"); tprints("|"); - printxval(bpf_op_jmp, BPF_OP(code), "BPF_???"); + printxvals(BPF_OP(code), "BPF_???", + bpf_op_jmp, extended ? ebpf_op_jmp : NULL, NULL); break; - case BPF_RET: - tprints("|"); - printxval(bpf_rval, BPF_RVAL(code), "BPF_???"); - i &= ~BPF_RVAL(code); - if (i) { - tprintf("|%#x", i); - tprints_comment("BPF_???"); + + case BPF_RET: /* Reserved in eBPF */ + if (!extended) { + tprints("|"); + printxval(bpf_rval, BPF_RVAL(code), "BPF_???"); + i &= ~BPF_RVAL(code); } - 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; } } @@ -102,7 +132,7 @@ print_bpf_filter_stmt(const struct bpf_filter_block *const filter, const print_bpf_filter_fn print_k) { tprints("BPF_STMT("); - print_bpf_filter_code(filter->code); + print_bpf_filter_code(filter->code, false); tprints(", "); if (!print_k || !print_k(filter)) tprintf("%#x", filter->k); @@ -113,7 +143,7 @@ static void print_bpf_filter_jump(const struct bpf_filter_block *const filter) { tprints("BPF_JUMP("); - print_bpf_filter_code(filter->code); + print_bpf_filter_code(filter->code, false); tprintf(", %#x, %#x, %#x)", filter->k, filter->jt, filter->jf); } @@ -153,7 +183,7 @@ print_bpf_fprog(struct tcb *const tcp, const kernel_ulong_t addr, struct bpf_filter_block filter; print_array(tcp, addr, len, &filter, sizeof(filter), - umoven_or_printaddr, print_bpf_filter_block, &fbd); + tfetch_mem, print_bpf_filter_block, &fbd); } } diff --git a/bpf_sock_filter.c b/bpf_sock_filter.c index 7f8e16a8..f3d38a0e 100644 --- a/bpf_sock_filter.c +++ b/bpf_sock_filter.c @@ -2,6 +2,7 @@ * Decoder of socket filter programs. * * Copyright (c) 2017 Dmitry V. Levin + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,23 +34,25 @@ #include #include "xlat/skf_ad.h" +#include "xlat/skf_off.h" static bool print_sock_filter_k(const struct bpf_filter_block *const fp) { if (BPF_CLASS(fp->code) == BPF_LD && BPF_MODE(fp->code) == BPF_ABS) { if (fp->k >= (unsigned int) SKF_AD_OFF) { - tprints("SKF_AD_OFF+"); + print_xlat32(SKF_AD_OFF); + tprints("+"); printxval(skf_ad, fp->k - (unsigned int) SKF_AD_OFF, "SKF_AD_???"); return true; } else if (fp->k >= (unsigned int) SKF_NET_OFF) { - tprintf("%s+%u", "SKF_NET_OFF", - fp->k - (unsigned int) SKF_NET_OFF); + print_xlat32(SKF_NET_OFF); + tprintf("+%u", fp->k - (unsigned int) SKF_NET_OFF); return true; } else if (fp->k >= (unsigned int) SKF_LL_OFF) { - tprintf("%s+%u", "SKF_LL_OFF", - fp->k - (unsigned int) SKF_LL_OFF); + print_xlat32(SKF_LL_OFF); + tprintf("+%u", fp->k - (unsigned int) SKF_LL_OFF); return true; } } diff --git a/btrfs.c b/btrfs.c index ff10d69a..7ab01714 100644 --- a/btrfs.c +++ b/btrfs.c @@ -84,10 +84,6 @@ struct btrfs_ioctl_defrag_range_args { # define BTRFS_LABEL_SIZE 256 #endif -#ifndef BTRFS_FIRST_FREE_OBJECTID -# define BTRFS_FIRST_FREE_OBJECTID 256ULL -#endif - #ifndef BTRFS_IOC_QUOTA_RESCAN struct btrfs_ioctl_quota_rescan_args { uint64_t flags, progress, reserved[6]; @@ -128,6 +124,7 @@ struct btrfs_ioctl_search_args_v2 { #include "xlat/btrfs_balance_flags.h" #include "xlat/btrfs_balance_state.h" #include "xlat/btrfs_compress_types.h" +#include "xlat/btrfs_cont_reading_from_srcdev_mode.h" #include "xlat/btrfs_defrag_flags.h" #include "xlat/btrfs_dev_replace_cmds.h" #include "xlat/btrfs_dev_replace_results.h" @@ -178,31 +175,21 @@ btrfs_unparse_uuid(unsigned char *uuid, char *out) return ret; } -static void -print_u64(const char *name, uint64_t value) -{ - tprintf(", %s=%" PRIu64, name, value); - if (value == UINT64_MAX) - tprints_comment("UINT64_MAX"); -} - -#define print_member_u64(obj, name) print_u64(#name, obj->name) - static void btrfs_print_balance_args(const char *name, const struct btrfs_balance_args *bba) { - tprintf(", %s={profiles=", name); - printflags64(btrfs_space_info_flags, bba->profiles, - "BTRFS_BLOCK_GROUP_???"); - print_member_u64(bba, usage); - print_member_u64(bba, devid); - print_member_u64(bba, pstart); - print_member_u64(bba, pend); - print_member_u64(bba, vstart); - print_member_u64(bba, vend); - print_member_u64(bba, target); - tprints(", flags="); - printflags64(btrfs_balance_args, bba->flags, "BTRFS_BALANCE_ARGS_???"); + tprintf(", %s=", name); + PRINT_FIELD_FLAGS("{", *bba, profiles, btrfs_space_info_flags, + "BTRFS_BLOCK_GROUP_???"); + PRINT_FIELD_U64(", ", *bba, usage); + PRINT_FIELD_DEV(", ", *bba, devid); + PRINT_FIELD_U64(", ", *bba, pstart); + PRINT_FIELD_U64(", ", *bba, pend); + PRINT_FIELD_U64(", ", *bba, vstart); + PRINT_FIELD_U64(", ", *bba, vend); + PRINT_FIELD_U64(", ", *bba, target); + PRINT_FIELD_FLAGS(", ", *bba, flags, btrfs_balance_args, + "BTRFS_BALANCE_ARGS_???"); tprints("}"); } @@ -214,14 +201,12 @@ btrfs_print_balance(struct tcb *const tcp, const kernel_ulong_t arg, bool out) if (umove_or_printaddr(tcp, arg, &balance_args)) return; - tprints("{flags="); - printflags64(btrfs_balance_flags, balance_args.flags, - "BTRFS_BALANCE_???"); - if (out) { - tprints(", state="); - printflags64(btrfs_balance_state, balance_args.state, - "BTRFS_BALANCE_STATE_???"); - } + PRINT_FIELD_FLAGS("{", balance_args, flags, btrfs_balance_flags, + "BTRFS_BALANCE_???"); + if (out) + PRINT_FIELD_FLAGS(", ", balance_args, state, + btrfs_balance_state, + "BTRFS_BALANCE_STATE_???"); if (balance_args.flags & BTRFS_BALANCE_DATA) btrfs_print_balance_args("data", &balance_args.data); @@ -235,53 +220,41 @@ btrfs_print_balance(struct tcb *const tcp, const kernel_ulong_t arg, bool out) static void btrfs_print_features(const struct btrfs_ioctl_feature_flags *flags) { - tprints("{compat_flags="); - printflags64(btrfs_features_compat, flags->compat_flags, - "BTRFS_FEATURE_COMPAT_???"); - - tprints(", compat_ro_flags="); - printflags64(btrfs_features_compat_ro, flags->compat_ro_flags, - "BTRFS_FEATURE_COMPAT_RO_???"); - - tprints(", incompat_flags="); - printflags64(btrfs_features_incompat, flags->incompat_flags, - "BTRFS_FEATURE_INCOMPAT_???"); + PRINT_FIELD_FLAGS("{", *flags, compat_flags, btrfs_features_compat, + "BTRFS_FEATURE_COMPAT_???"); + PRINT_FIELD_FLAGS(", ", *flags, compat_ro_flags, + btrfs_features_compat_ro, + "BTRFS_FEATURE_COMPAT_RO_???"); + PRINT_FIELD_FLAGS(", ", *flags, incompat_flags, btrfs_features_incompat, + "BTRFS_FEATURE_INCOMPAT_???"); tprints("}"); } static void btrfs_print_qgroup_limit(const struct btrfs_qgroup_limit *lim) { - tprints("{flags="); - printflags64(btrfs_qgroup_limit_flags, lim->flags, - "BTRFS_QGROUP_LIMIT_???"); - tprintf(", max_rfer=%" PRI__u64 ", max_excl=%" PRI__u64 - ", rsv_rfer=%" PRI__u64 ", rsv_excl=%" PRI__u64 "}", - lim->max_rfer, lim->max_excl, - lim->rsv_rfer, lim->rsv_excl); -} - -static void -btrfs_print_key_type(uint32_t type) -{ - tprintf("%u", type); - tprints_comment(xlookup(btrfs_key_types, type)); + PRINT_FIELD_FLAGS(", lim={", *lim, flags, btrfs_qgroup_limit_flags, + "BTRFS_QGROUP_LIMIT_???"); + PRINT_FIELD_U(", ", *lim, max_rfer); + PRINT_FIELD_U(", ", *lim, max_excl); + PRINT_FIELD_U(", ", *lim, rsv_rfer); + PRINT_FIELD_U(", ", *lim, rsv_excl); + tprints("}"); } -static void -btrfs_print_objectid(uint64_t objectid) -{ - tprintf("%" PRIu64, objectid); - tprints_comment(xlookup(btrfs_tree_objectids, objectid)); -} +#define btrfs_print_key_type(prefix_, where_, field_) \ + PRINT_FIELD_XVAL_U((prefix_), (where_), field_, btrfs_key_types, NULL) +#define btrfs_print_objectid(prefix_, where_, field_) \ + PRINT_FIELD_XVAL_U((prefix_), (where_), field_, btrfs_tree_objectids, \ + NULL) static void btrfs_print_data_container_header(const struct btrfs_data_container *container) { - tprintf("{bytes_left=%u, bytes_missing=%u" - ", elem_cnt=%u, elem_missed=%u, val=", - container->bytes_left, container->bytes_missing, - container->elem_cnt, container->elem_missed); + PRINT_FIELD_U("{", *container, bytes_left); + PRINT_FIELD_U(", ", *container, bytes_missing); + PRINT_FIELD_U(", ", *container, elem_cnt); + PRINT_FIELD_U(", ", *container, elem_missed); } static void @@ -294,10 +267,16 @@ static bool print_btrfs_data_container_logical_ino(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data) { - const uint64_t *const record = elem_buf; + const struct { + uint64_t inum; + uint64_t offset; + uint64_t root; + } *const record = elem_buf; - tprintf("{inum=%" PRIu64 ", offset=%" PRIu64 ", root=%" PRIu64 "}", - record[0], record[1], record[2]); + PRINT_FIELD_U("{", *record, inum); + PRINT_FIELD_U(", ", *record, offset); + PRINT_FIELD_U(", ", *record, root); + tprints("}"); return true; } @@ -314,14 +293,15 @@ btrfs_print_logical_ino_container(struct tcb *tcp, btrfs_print_data_container_header(&container); if (abbrev(tcp)) { - tprints("..."); + tprints(", ..."); } else { const uint64_t val_addr = inodes_addr + offsetof(typeof(container), val); uint64_t record[3]; + tprints(", val="); print_array(tcp, val_addr, container.elem_cnt / 3, record, sizeof(record), - umoven_or_printaddr, + tfetch_mem, print_btrfs_data_container_logical_ino, 0); } @@ -352,28 +332,21 @@ btrfs_print_ino_path_container(struct tcb *tcp, btrfs_print_data_container_header(&container); if (abbrev(tcp)) { - tprints("..."); + tprints(", ..."); } else { uint64_t val_addr = fspath_addr + offsetof(typeof(container), val); uint64_t offset; + tprints(", val="); print_array(tcp, val_addr, container.elem_cnt, &offset, sizeof(offset), - umoven_or_printaddr, + tfetch_mem, print_btrfs_data_container_ino_path, &val_addr); } btrfs_print_data_container_footer(); } -static bool -print_uint64(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data) -{ - tprintf("%" PRIu64, *(uint64_t *) elem_buf); - - return true; -} - static void btrfs_print_qgroup_inherit(struct tcb *const tcp, const kernel_ulong_t qgi_addr) { @@ -382,101 +355,84 @@ btrfs_print_qgroup_inherit(struct tcb *const tcp, const kernel_ulong_t qgi_addr) if (umove_or_printaddr(tcp, qgi_addr, &inherit)) return; - tprints("{flags="); - printflags64(btrfs_qgroup_inherit_flags, inherit.flags, - "BTRFS_QGROUP_INHERIT_???"); - tprintf(", num_qgroups=%" PRI__u64 ", num_ref_copies=%" PRI__u64 - ", num_excl_copies=%" PRI__u64 ", lim=", - inherit.num_qgroups, inherit.num_ref_copies, - inherit.num_excl_copies); + PRINT_FIELD_FLAGS("{", inherit, flags, btrfs_qgroup_inherit_flags, + "BTRFS_QGROUP_INHERIT_???"); + PRINT_FIELD_U(", ", inherit, num_qgroups); + PRINT_FIELD_U(", ", inherit, num_ref_copies); + PRINT_FIELD_U(", ", inherit, num_excl_copies); btrfs_print_qgroup_limit(&inherit.lim); - tprints(", qgroups="); - if (abbrev(tcp)) { - tprints("..."); + tprints(", ..."); } else { uint64_t record; + tprints(", qgroups="); print_array(tcp, qgi_addr + offsetof(typeof(inherit), qgroups), inherit.num_qgroups, &record, sizeof(record), - umoven_or_printaddr, print_uint64, 0); + tfetch_mem, print_uint64_array_member, 0); } tprints("}"); } -static void -print_key_value_internal(struct tcb *tcp, const char *name, uint64_t value) -{ - if (value) { - tprintf(", %s=%" PRIu64, name, value); - if (value == UINT64_MAX) - tprints_comment("UINT64_MAX"); - } -} -#define print_key_value(tcp, key, name) \ - print_key_value_internal((tcp), #name, (key)->name) - static void btrfs_print_tree_search(struct tcb *tcp, struct btrfs_ioctl_search_key *key, uint64_t buf_addr, uint64_t buf_size, bool print_size) { if (entering(tcp)) { - tprints("{key={tree_id="); - btrfs_print_objectid(key->tree_id); + btrfs_print_objectid("{key={", *key, tree_id); if (key->min_objectid != BTRFS_FIRST_FREE_OBJECTID || - !abbrev(tcp)) { - tprints(", min_objectid="); - btrfs_print_objectid(key->min_objectid); - } + !abbrev(tcp)) + btrfs_print_objectid(", ", *key, min_objectid); if (key->max_objectid != BTRFS_LAST_FREE_OBJECTID || - !abbrev(tcp)) { - tprints(", max_objectid="); - btrfs_print_objectid(key->max_objectid); - } + !abbrev(tcp)) + btrfs_print_objectid(", ", *key, max_objectid); - print_key_value(tcp, key, min_offset); - print_key_value(tcp, key, max_offset); - print_key_value(tcp, key, min_transid); - print_key_value(tcp, key, max_transid); + PRINT_FIELD_U64(", ", *key, min_offset); + PRINT_FIELD_U64(", ", *key, max_offset); + PRINT_FIELD_U64(", ", *key, min_transid); + PRINT_FIELD_U64(", ", *key, max_transid); - tprints(", min_type="); - btrfs_print_key_type(key->min_type); - tprints(", max_type="); - btrfs_print_key_type(key->max_type); - tprintf(", nr_items=%u}", key->nr_items); + btrfs_print_key_type(", ", *key, min_type); + btrfs_print_key_type(", ", *key, max_type); + PRINT_FIELD_U(", ", *key, nr_items); + tprints("}"); if (print_size) tprintf(", buf_size=%" PRIu64, buf_size); tprints("}"); } else { - tprintf("{key={nr_items=%u}", key->nr_items); + PRINT_FIELD_U("{key={", *key, nr_items); + tprints("}"); if (print_size) tprintf(", buf_size=%" PRIu64, buf_size); - tprints(", buf="); - if (abbrev(tcp)) - tprints("..."); - else { + if (abbrev(tcp)) { + tprints(", ..."); + } else { uint64_t i; uint64_t off = 0; - tprints("["); + tprints(", buf=["); for (i = 0; i < key->nr_items; i++) { struct btrfs_ioctl_search_header sh; uint64_t addr = buf_addr + off; if (i) tprints(", "); - if (i > max_strlen || - umove(tcp, addr, &sh)) { + if (i > max_strlen) { tprints("..."); break; } - tprintf("{transid=%" PRI__u64 ", objectid=", - sh.transid); - btrfs_print_objectid(sh.objectid); - tprintf(", offset=%" PRI__u64 ", type=", sh.offset); - btrfs_print_key_type(sh.type); - tprintf(", len=%u}", sh.len); + if (umove(tcp, addr, &sh)) { + tprints("..."); + printaddr_comment(addr); + break; + } + PRINT_FIELD_U("{", sh, transid); + btrfs_print_objectid(", ", sh, objectid); + PRINT_FIELD_U(", ", sh, offset); + btrfs_print_key_type(", ", sh, type); + PRINT_FIELD_U(", ", sh, len); + tprints("}"); off += sizeof(sh) + sh.len; } @@ -490,7 +446,8 @@ static bool print_objectid_callback(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data) { - btrfs_print_objectid(*(uint64_t *) elem_buf); + printxvals_ex(*(uint64_t *) elem_buf, NULL, XLAT_STYLE_FMT_U, + btrfs_tree_objectids, NULL); return true; } @@ -501,15 +458,22 @@ print_btrfs_ioctl_space_info(struct tcb *tcp, void *elem_buf, { const struct btrfs_ioctl_space_info *info = elem_buf; - tprints("{flags="); - printflags64(btrfs_space_info_flags, info->flags, - "BTRFS_SPACE_INFO_???"); - tprintf(", total_bytes=%" PRI__u64 ", used_bytes=%" PRI__u64 "}", - info->total_bytes, info->used_bytes); + PRINT_FIELD_FLAGS("{", *info, flags, btrfs_space_info_flags, + "BTRFS_SPACE_INFO_???"); + PRINT_FIELD_U(", ", *info, total_bytes); + PRINT_FIELD_U(", ", *info, used_bytes); + tprints("}"); return true; } +static void +print_btrfs_timespec(const char *prefix, uint64_t sec, uint32_t nsec) +{ + tprintf("%s{sec=%" PRIu64 ", nsec=%u}", prefix, sec, nsec); + tprints_comment(sprinttime_nsec(sec, nsec)); +} + MPERS_PRINTER_DECL(int, btrfs_ioctl, struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg) @@ -605,19 +569,14 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprintf("{start=%" PRIu64 ", len=", (uint64_t)args.start); + PRINT_FIELD_U("{", args, start); + PRINT_FIELD_U64(", ", args, len); - tprintf("%" PRIu64, (uint64_t) args.len); - if (args.len == UINT64_MAX) - tprints_comment("UINT64_MAX"); - - tprints(", flags="); - printflags64(btrfs_defrag_flags, args.flags, - "BTRFS_DEFRAG_RANGE_???"); - tprintf(", extent_thresh=%u, compress_type=", - args.extent_thresh); - printxval(btrfs_compress_types, args.compress_type, - "BTRFS_COMPRESS_???"); + PRINT_FIELD_FLAGS(", ", args, flags, btrfs_defrag_flags, + "BTRFS_DEFRAG_RANGE_???"); + PRINT_FIELD_U(", ", args, extent_thresh); + PRINT_FIELD_XVAL(", ", args, compress_type, + btrfs_compress_types, "BTRFS_COMPRESS_???"); tprints("}"); break; } @@ -635,23 +594,25 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, tprints(" => "); if (umove_or_printaddr(tcp, arg, &args)) break; - tprints("{"); valid = btrfs_unparse_uuid(args.uuid, uuid); if (entering(tcp)) { - tprintf("devid=%" PRI__u64, args.devid); + PRINT_FIELD_DEV("{", args, devid); if (valid) tprintf(", uuid=%s", uuid); tprints("}"); return 0; } + + tprints("{"); if (valid) tprintf("uuid=%s, ", uuid); - tprintf("bytes_used=%" PRI__u64 - ", total_bytes=%" PRI__u64, - args.bytes_used, args.total_bytes); + + PRINT_FIELD_U("", args, bytes_used); + PRINT_FIELD_U(", ", args, total_bytes); PRINT_FIELD_CSTRING(", ", args, path); tprints("}"); + break; } @@ -669,24 +630,20 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, break; if (entering(tcp)) { - tprints("{cmd="); - printxval64(btrfs_dev_replace_cmds, args.cmd, - "BTRFS_IOCTL_DEV_REPLACE_CMD_???"); + PRINT_FIELD_XVAL("{", args, cmd, btrfs_dev_replace_cmds, + "BTRFS_IOCTL_DEV_REPLACE_CMD_???"); if (args.cmd == BTRFS_IOCTL_DEV_REPLACE_CMD_START) { - const char *str; - tprintf(", start={srcdevid=%" PRIu64 - ", cont_reading_from_srcdev_mode=%" PRIu64 - ", srcdev_name=", - (uint64_t) args.start.srcdevid, - (uint64_t) args.start.cont_reading_from_srcdev_mode); - - str = (const char *) args.start.srcdev_name; - print_quoted_cstring(str, - sizeof(args.start.srcdev_name)); - tprints(", tgtdev_name="); - str = (const char *) args.start.tgtdev_name; - print_quoted_cstring(str, - sizeof(args.start.tgtdev_name)); + PRINT_FIELD_DEV(", start={", args.start, + srcdevid); + PRINT_FIELD_XVAL(", ", args.start, + cont_reading_from_srcdev_mode, + btrfs_cont_reading_from_srcdev_mode, + "BTRFS_IOCTL_DEV_REPLACE_CONT_READING" + "_FROM_SRCDEV_MODE_???"); + PRINT_FIELD_CSTRING(", ", args.start, + srcdev_name); + PRINT_FIELD_CSTRING(", ", args.start, + tgtdev_name); tprints("}"); } @@ -694,34 +651,28 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, return 0; } - tprints("{result="); - printxval64(btrfs_dev_replace_results, args.result, - "BTRFS_IOCTL_DEV_REPLACE_RESULT_???"); + PRINT_FIELD_XVAL("{", args, result, btrfs_dev_replace_results, + "BTRFS_IOCTL_DEV_REPLACE_RESULT_???"); if (args.cmd == BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS) { - tprints(", "); - printxval64(btrfs_dev_replace_state, - args.status.replace_state, - "BTRFS_IOCTL_DEV_REPLACE_STATE_???"); - tprintf(", progress_1000=%" PRIu64, - (uint64_t) args.status.progress_1000); + PRINT_FIELD_XVAL(", status={", args.status, + replace_state, btrfs_dev_replace_state, + "BTRFS_IOCTL_DEV_REPLACE_STATE_???"); + PRINT_FIELD_U(", ", args.status, progress_1000); if (args.status.progress_1000 <= 1000) tprintf_comment("%u.%u%%", (unsigned) args.status.progress_1000 / 10, (unsigned) args.status.progress_1000 % 10); - tprintf(", time_started=%" PRIu64, - (uint64_t) args.status.time_started); + PRINT_FIELD_U(", ", args.status, time_started); tprints_comment(sprinttime(args.status.time_started)); - tprintf(", time_stopped=%" PRIu64, - (uint64_t) args.status.time_stopped); + PRINT_FIELD_U(", ", args.status, time_stopped); tprints_comment(sprinttime(args.status.time_stopped)); - tprintf(", num_write_errors=%" PRIu64 - ", num_uncorrectable_read_errors=%" PRIu64, - (uint64_t) args.status.num_write_errors, - (uint64_t) args.status.num_uncorrectable_read_errors); + PRINT_FIELD_U(", ", args.status, num_write_errors); + PRINT_FIELD_U(", ", args.status, + num_uncorrectable_read_errors); } tprints("}"); break; @@ -810,12 +761,11 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, #endif btrfs_unparse_uuid(args.fsid, uuid); - tprints("{"); - tprintf("max_id=%" PRI__u64 ", num_devices=%" PRI__u64 - ", fsid=%s, nodesize=%u, sectorsize=%u" + PRINT_FIELD_U("{", args, max_id); + PRINT_FIELD_U(", ", args, num_devices); + tprintf(", fsid=%s, nodesize=%u, sectorsize=%u" ", clone_alignment=%u", - args.max_id, args.num_devices, uuid, - nodesize, sectorsize, clone_alignment); + uuid, nodesize, sectorsize, clone_alignment); tprints("}"); break; } @@ -835,12 +785,14 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, tprints("{"); - if (entering(tcp)) - tprintf("devid=%" PRI__u64 ", ", args.devid); + if (entering(tcp)) { + PRINT_FIELD_DEV("", args, devid); + tprints(", "); + } - tprintf("nr_items=%" PRI__u64 ", flags=", args.nr_items); - printflags64(btrfs_dev_stats_flags, args.flags, - "BTRFS_DEV_STATS_???"); + PRINT_FIELD_U("", args, nr_items); + PRINT_FIELD_FLAGS(", ", args, flags, btrfs_dev_stats_flags, + "BTRFS_DEV_STATS_???"); if (entering(tcp)) { tprints("}"); @@ -860,8 +812,10 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, tprints("..."); break; } - tprintf("%" PRI__u64, args.values[i]); - tprints_comment(xlookup(btrfs_dev_stats_values, i)); + + tprints("["); + printxval_u(btrfs_dev_stats_values, i, NULL); + tprintf("] = %" PRI__u64, args.values[i]); } tprints("]}"); break; @@ -885,18 +839,15 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (args.treeid == 0) set_tcb_priv_ulong(tcp, 1); - tprints("{treeid="); - btrfs_print_objectid(args.treeid); - tprints(", objectid="); - btrfs_print_objectid(args.objectid); + btrfs_print_objectid("{", args, treeid); + btrfs_print_objectid(", ", args, objectid); tprints("}"); return 0; } tprints("{"); if (get_tcb_priv_ulong(tcp)) { - tprints("treeid="); - btrfs_print_objectid(args.treeid); + btrfs_print_objectid("", args, treeid); tprints(", "); } @@ -918,18 +869,15 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprints("{"); - if (entering(tcp)) { - tprintf("inum=%" PRI__u64 ", size=%" PRI__u64, - args.inum, args.size); - tprints(", fspath="); - printaddr64(args.fspath); + PRINT_FIELD_U("{", args, inum); + PRINT_FIELD_U(", ", args, size); + PRINT_FIELD_ADDR64(", ", args, fspath); tprints("}"); return 0; } - tprints("fspath="); + tprints("{fspath="); btrfs_print_ino_path_container(tcp, args.fspath); tprints("}"); @@ -949,11 +897,9 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprints("{"); - if (entering(tcp)) { - tprintf("logical=%" PRI__u64 ", size=%" PRI__u64, - args.logical, args.size); + PRINT_FIELD_U("{", args, logical); + PRINT_FIELD_U(", ", args, size); if (!IS_ARRAY_ZERO(args.reserved)) { tprints(", reserved=["); @@ -972,13 +918,12 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, args.reserved[3] #endif , "BTRFS_LOGICAL_INO_ARGS_???"); - tprints(", inodes="); - printaddr64(args.inodes); + PRINT_FIELD_ADDR64(", ", args, inodes); tprints("}"); return 0; } - tprints("inodes="); + tprints("{inodes="); btrfs_print_logical_ino_container(tcp, args.inodes); tprints("}"); @@ -992,9 +937,10 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprintf("{assign=%" PRI__u64 ", src=%" PRI__u64 - ", dst=%" PRI__u64 "}", - args.assign, args.src, args.dst); + PRINT_FIELD_U("{", args, assign); + PRINT_FIELD_U(", ", args, src); + PRINT_FIELD_U(", ", args, dst); + tprints("}"); break; } @@ -1005,8 +951,9 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprintf("{create=%" PRI__u64 ", qgroupid=%" PRI__u64 "}", - args.create, args.qgroupid); + PRINT_FIELD_U("{", args, create); + PRINT_FIELD_U(", ", args, qgroupid); + tprints("}"); break; } @@ -1020,7 +967,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprintf("{qgroupid=%" PRI__u64 ", lim=", args.qgroupid); + PRINT_FIELD_U("{", args, qgroupid); btrfs_print_qgroup_limit(&args.lim); tprints("}"); break; @@ -1033,8 +980,8 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - printxval64(btrfs_qgroup_ctl_cmds, args.cmd, - "BTRFS_QUOTA_CTL_???"); + PRINT_FIELD_XVAL("{", args, cmd, btrfs_qgroup_ctl_cmds, + "BTRFS_QUOTA_CTL_???"); tprints("}"); break; @@ -1047,7 +994,8 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprintf("{flags=%" PRIu64 "}", (uint64_t) args.flags); + PRINT_FIELD_U("{", args, flags); + tprints("}"); break; } @@ -1061,8 +1009,8 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprintf("{flags=%" PRIu64 ", progress=", (uint64_t) args.flags); - btrfs_print_objectid(args.progress); + PRINT_FIELD_U("{", args, flags); + btrfs_print_objectid(", ", args, progress); tprints("}"); break; } @@ -1083,16 +1031,18 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (entering(tcp)) { btrfs_unparse_uuid((unsigned char *)args.uuid, uuid); - tprintf("{uuid=%s, stransid=%" PRIu64 - ", stime=%" PRIu64 ".%u, flags=%" PRIu64 - "}", uuid, (uint64_t) args.stransid, - (uint64_t) args.stime.sec, args.stime.nsec, - (uint64_t) args.flags); + tprintf("{uuid=%s", uuid); + PRINT_FIELD_U(", ", args, stransid); + print_btrfs_timespec(", stime=", + args.stime.sec, args.stime.nsec); + PRINT_FIELD_U(", ", args, flags); + tprints("}"); return 0; } - tprintf("{rtransid=%" PRIu64 ", rtime=%" PRIu64 ".%u}", - (uint64_t) args.rtransid, (uint64_t) args.rtime.sec, - args.rtime.nsec); + PRINT_FIELD_U("{", args, rtransid); + print_btrfs_timespec(", rtime=", + args.rtime.sec, args.rtime.nsec); + tprints("}"); break; } @@ -1111,50 +1061,34 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, break; if (entering(tcp)) { - tprintf("{devid=%" PRI__u64, args.devid); + PRINT_FIELD_DEV("{", args, devid); if (code == BTRFS_IOC_SCRUB) { - tprintf(", start=%" PRI__u64 ", end=", - args.start); - tprintf("%" PRI__u64, args.end); - if (args.end == UINT64_MAX) - tprints_comment("UINT64_MAX"); - tprints(", flags="); - printflags64(btrfs_scrub_flags, args.flags, - "BTRFS_SCRUB_???"); + PRINT_FIELD_U(", ", args, start); + PRINT_FIELD_U64(", ", args, end); + PRINT_FIELD_FLAGS(", ", args, flags, + btrfs_scrub_flags, + "BTRFS_SCRUB_???"); } tprints("}"); return 0; } - tprintf("{data_extents_scrubbed=%" PRI__u64 - ", tree_extents_scrubbed=%" PRI__u64 - ", data_bytes_scrubbed=%" PRI__u64 - ", tree_bytes_scrubbed=%" PRI__u64 - ", read_errors=%" PRI__u64 - ", csum_errors=%" PRI__u64 - ", verify_errors=%" PRI__u64 - ", no_csum=%" PRI__u64 - ", csum_discards=%" PRI__u64 - ", super_errors=%" PRI__u64 - ", malloc_errors=%" PRI__u64 - ", uncorrectable_errors=%" PRI__u64 - ", corrected_errors=%" PRI__u64 - ", last_physical=%" PRI__u64 - ", unverified_errors=%" PRI__u64 "}", - args.progress.data_extents_scrubbed, - args.progress.tree_extents_scrubbed, - args.progress.data_bytes_scrubbed, - args.progress.tree_bytes_scrubbed, - args.progress.read_errors, - args.progress.csum_errors, - args.progress.verify_errors, - args.progress.no_csum, - args.progress.csum_discards, - args.progress.super_errors, - args.progress.malloc_errors, - args.progress.uncorrectable_errors, - args.progress.corrected_errors, - args.progress.last_physical, - args.progress.unverified_errors); + PRINT_FIELD_U("{progress={", args.progress, + data_extents_scrubbed); + PRINT_FIELD_U(", ", args.progress, tree_extents_scrubbed); + PRINT_FIELD_U(", ", args.progress, data_bytes_scrubbed); + PRINT_FIELD_U(", ", args.progress, tree_bytes_scrubbed); + PRINT_FIELD_U(", ", args.progress, read_errors); + PRINT_FIELD_U(", ", args.progress, csum_errors); + PRINT_FIELD_U(", ", args.progress, verify_errors); + PRINT_FIELD_U(", ", args.progress, no_csum); + PRINT_FIELD_U(", ", args.progress, csum_discards); + PRINT_FIELD_U(", ", args.progress, super_errors); + PRINT_FIELD_U(", ", args.progress, malloc_errors); + PRINT_FIELD_U(", ", args.progress, uncorrectable_errors); + PRINT_FIELD_U(", ", args.progress, corrected_errors); + PRINT_FIELD_U(", ", args.progress, last_physical); + PRINT_FIELD_U(", ", args.progress, unverified_errors); + tprints("}}"); break; } @@ -1189,11 +1123,11 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, else if (syserror(tcp)) { if (tcp->u_error == EOVERFLOW) { tprints(" => "); - tcp->u_error = 0; - if (!umove_or_printaddr(tcp, arg, &args)) - tprintf("{buf_size=%" PRIu64 "}", - (uint64_t)args.buf_size); - tcp->u_error = EOVERFLOW; + if (!umove_or_printaddr_ignore_syserror(tcp, + arg, &args)) { + PRINT_FIELD_U("{", args, buf_size); + tprints("}"); + } } break; } else @@ -1217,26 +1151,23 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprints("{send_fd="); - printfd(tcp, args.send_fd); - tprintf(", clone_sources_count=%" PRIu64 ", clone_sources=", - (uint64_t) args.clone_sources_count); + PRINT_FIELD_FD("{", args, send_fd, tcp); + PRINT_FIELD_U(", ", args, clone_sources_count); + tprints(", clone_sources="); if (abbrev(tcp)) - tprints("..."); + printaddr((uintptr_t) args.clone_sources); else { uint64_t record; print_array(tcp, ptr_to_kulong(args.clone_sources), args.clone_sources_count, &record, sizeof(record), - umoven_or_printaddr, + tfetch_mem, print_objectid_callback, 0); } - tprints(", parent_root="); - btrfs_print_objectid(args.parent_root); - tprints(", flags="); - printflags64(btrfs_send_flags, args.flags, - "BTRFS_SEND_FLAGS_???"); + btrfs_print_objectid(", ", args, parent_root); + PRINT_FIELD_FLAGS(", ", args, flags, btrfs_send_flags, + "BTRFS_SEND_FLAGS_???"); tprints("}"); break; } @@ -1254,28 +1185,27 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprints("{"); if (entering(tcp)) { - tprintf("space_slots=%" PRI__u64 "}", args.space_slots); + PRINT_FIELD_U("{", args, space_slots); + tprints("}"); return 0; } - tprintf("total_spaces=%" PRI__u64, args.total_spaces); + PRINT_FIELD_U("{", args, total_spaces); if (args.space_slots == 0 && args.total_spaces) { tprints("}"); break; } - tprints(", spaces="); - - if (abbrev(tcp)) - tprints("..."); - else { + if (abbrev(tcp)) { + tprints(", ..."); + } else { struct btrfs_ioctl_space_info info; + tprints(", spaces="); print_array(tcp, arg + offsetof(typeof(args), spaces), args.total_spaces, - &info, sizeof(info), umoven_or_printaddr, + &info, sizeof(info), tfetch_mem, print_btrfs_ioctl_space_info, 0); } tprints("}"); @@ -1296,8 +1226,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, if (umove_or_printaddr(tcp, arg, &args)) break; - tprints("{fd="); - printfd(tcp, args.fd); + PRINT_FIELD_FD("{", args, fd, tcp); PRINT_FIELD_CSTRING(", ", args, name); tprints("}"); break; @@ -1318,15 +1247,13 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, break; if (entering(tcp)) { - tprints("{fd="); - printfd(tcp, args.fd); - tprints(", flags="); - printflags64(btrfs_snap_flags_v2, args.flags, - "BTRFS_SUBVOL_???"); + PRINT_FIELD_FD("{", args, fd, tcp); + PRINT_FIELD_FLAGS(", ", args, flags, + btrfs_snap_flags_v2, + "BTRFS_SUBVOL_???"); if (args.flags & BTRFS_SUBVOL_QGROUP_INHERIT) { - tprintf(", size=%" PRIu64 ", qgroup_inherit=", - (uint64_t) args.size); - + PRINT_FIELD_U(", ", args, size); + tprints(", qgroup_inherit="); btrfs_print_qgroup_inherit(tcp, ptr_to_kulong(args.qgroup_inherit)); } @@ -1334,7 +1261,8 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, tprints("}"); return 0; } - tprintf("{transid=%" PRIu64 "}", (uint64_t) args.transid); + PRINT_FIELD_U("{", args, transid); + tprints("}"); break; } diff --git a/config.h b/config.h index f23eaaf9..168c34b5 100644 --- a/config.h +++ b/config.h @@ -31,6 +31,9 @@ /* Define to 1 if you want OABI support on ARM EABI. */ #define ENABLE_ARM_OABI 0 +/* Define to enable stack tracing support */ +/* #undef ENABLE_STACKTRACE */ + /* Define to 1 if you have the `accept4' function. */ #define HAVE_ACCEPT4 1 @@ -91,6 +94,22 @@ don't. */ #define HAVE_DECL_CTL_SUNRPC 1 +/* Define to 1 if you have the declaration of `IFLA_AF_SPEC', and to 0 if you + don't. */ +#define HAVE_DECL_IFLA_AF_SPEC 1 + +/* Define to 1 if you have the declaration of `IFLA_PORT_SELF', and to 0 if + you don't. */ +#define HAVE_DECL_IFLA_PORT_SELF 1 + +/* Define to 1 if you have the declaration of `IFLA_PROTINFO', and to 0 if you + don't. */ +#define HAVE_DECL_IFLA_PROTINFO 1 + +/* Define to 1 if you have the declaration of `IFLA_XDP', and to 0 if you + don't. */ +#define HAVE_DECL_IFLA_XDP 1 + /* Define to 1 if you have the declaration of `KERN_ACPI_VIDEO_FLAGS', and to 0 if you don't. */ #define HAVE_DECL_KERN_ACPI_VIDEO_FLAGS 1 @@ -391,6 +410,10 @@ don't. */ #define HAVE_DECL_SYS_ERRLIST 0 +/* Define to 1 if you have the declaration of `TCA_STAB_DATA', and to 0 if you + don't. */ +#define HAVE_DECL_TCA_STAB_DATA 1 + /* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_SDR_CAPTURE', and to 0 if you don't. */ #define HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE 1 @@ -649,6 +672,9 @@ /* Define to 1 if the system provides dladdr */ #define HAVE_DLADDR 1 +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ELFUTILS_LIBDWFL_H */ + /* Define to 1 if you have the header file. */ #define HAVE_ELF_H 1 @@ -686,7 +712,7 @@ /* #undef HAVE_GNU_STUBS_X32_H */ /* Define to 1 if you have the header file. */ -/* #undef HAVE_ICONV_H */ +#define HAVE_ICONV_H 1 /* Define to 1 if you have the `iconv_open' function. */ /* #undef HAVE_ICONV_OPEN */ @@ -947,7 +973,7 @@ #define HAVE_SIG_ATOMIC_T 1 /* Define to 1 if the system provides static_assert */ -/* #define HAVE_STATIC_ASSERT 1 */ +/* #undef HAVE_STATIC_ASSERT */ /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 @@ -982,6 +1008,76 @@ /* 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 bpf_map_info'. */ +#define HAVE_STRUCT_BPF_MAP_INFO 1 + +/* Define to 1 if `id' is a member of `struct bpf_map_info'. */ +#define HAVE_STRUCT_BPF_MAP_INFO_ID 1 + +/* Define to 1 if `ifindex' is a member of `struct bpf_map_info'. */ +/* #undef HAVE_STRUCT_BPF_MAP_INFO_IFINDEX */ + +/* Define to 1 if `key_size' is a member of `struct bpf_map_info'. */ +#define HAVE_STRUCT_BPF_MAP_INFO_KEY_SIZE 1 + +/* Define to 1 if `map_flags' is a member of `struct bpf_map_info'. */ +#define HAVE_STRUCT_BPF_MAP_INFO_MAP_FLAGS 1 + +/* Define to 1 if `max_entries' is a member of `struct bpf_map_info'. */ +#define HAVE_STRUCT_BPF_MAP_INFO_MAX_ENTRIES 1 + +/* Define to 1 if `name' is a member of `struct bpf_map_info'. */ +#define HAVE_STRUCT_BPF_MAP_INFO_NAME 1 + +/* Define to 1 if `type' is a member of `struct bpf_map_info'. */ +#define HAVE_STRUCT_BPF_MAP_INFO_TYPE 1 + +/* Define to 1 if `value_size' is a member of `struct bpf_map_info'. */ +#define HAVE_STRUCT_BPF_MAP_INFO_VALUE_SIZE 1 + +/* Define to 1 if the system has the type `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO 1 + +/* Define to 1 if `created_by_uid' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_CREATED_BY_UID 1 + +/* Define to 1 if `id' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_ID 1 + +/* Define to 1 if `ifindex' is a member of `struct bpf_prog_info'. */ +/* #undef HAVE_STRUCT_BPF_PROG_INFO_IFINDEX */ + +/* Define to 1 if `jited_prog_insns' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_INSNS 1 + +/* Define to 1 if `jited_prog_len' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_LEN 1 + +/* Define to 1 if `load_time' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_LOAD_TIME 1 + +/* Define to 1 if `map_ids' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_MAP_IDS 1 + +/* Define to 1 if `name' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_NAME 1 + +/* Define to 1 if `nr_map_ids' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_NR_MAP_IDS 1 + +/* Define to 1 if `tag' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_TAG 1 + +/* Define to 1 if `type' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_TYPE 1 + +/* Define to 1 if `xlated_prog_insns' is a member of `struct bpf_prog_info'. + */ +#define HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_INSNS 1 + +/* Define to 1 if `xlated_prog_len' is a member of `struct bpf_prog_info'. */ +#define HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_LEN 1 + /* Define to 1 if the system has the type `struct br_mdb_entry'. */ #define HAVE_STRUCT_BR_MDB_ENTRY 1 @@ -1032,6 +1128,9 @@ /* Define to 1 if the system has the type `struct dcbmsg'. */ #define HAVE_STRUCT_DCBMSG 1 +/* Define to 1 if the system has the type `struct fib_rule_port_range'. */ +/* #undef HAVE_STRUCT_FIB_RULE_PORT_RANGE */ + /* Define to 1 if the system has the type `struct fib_rule_uid_range'. */ #define HAVE_STRUCT_FIB_RULE_UID_RANGE 1 @@ -1041,6 +1140,9 @@ /* Define to 1 if the system has the type `struct flock64'. */ #define HAVE_STRUCT_FLOCK64 1 +/* Define to 1 if the system has the type `struct f_owner_ex'. */ +#define HAVE_STRUCT_F_OWNER_EX 1 + /* Define to 1 if the system has the type `struct gnet_stats_basic'. */ #define HAVE_STRUCT_GNET_STATS_BASIC 1 @@ -1062,6 +1164,9 @@ /* Define to 1 if the system has the type `struct ifla_bridge_id'. */ #define HAVE_STRUCT_IFLA_BRIDGE_ID 1 +/* Define to 1 if the system has the type `struct ifla_cacheinfo'. */ +#define HAVE_STRUCT_IFLA_CACHEINFO 1 + /* Define to 1 if the system has the type `struct ifla_port_vsi'. */ #define HAVE_STRUCT_IFLA_PORT_VSI 1 @@ -1069,7 +1174,7 @@ #define HAVE_STRUCT_INPUT_ABSINFO_RESOLUTION 1 /* Define to 1 if the system has the type `struct kcmp_epoll_slot'. */ -/* #undef HAVE_STRUCT_KCMP_EPOLL_SLOT */ +#define HAVE_STRUCT_KCMP_EPOLL_SLOT 1 /* Define to 1 if the system has the type `struct keyctl_kdf_params'. */ #define HAVE_STRUCT_KEYCTL_KDF_PARAMS 1 @@ -1202,6 +1307,9 @@ /* Define to 1 if the system has the type `struct sigcontext'. */ #define HAVE_STRUCT_SIGCONTEXT 1 +/* Define to 1 if `l2_bdaddr_type' is a member of `struct sockaddr_l2'. */ +/* #undef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE */ + /* Define to 1 if the system has the type `struct stat64'. */ /* #undef HAVE_STRUCT_STAT64 */ @@ -1265,12 +1373,18 @@ /* Define to 1 if `global_alpha' is a member of `struct v4l2_window'. */ #define HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA 1 +/* Define to 1 if the system has the type `struct __aio_sigset'. */ +/* #undef HAVE_STRUCT___AIO_SIGSET */ + /* Define to 1 if the system has the type `struct __kernel_flock'. */ /* #undef HAVE_STRUCT___KERNEL_FLOCK */ /* Define to 1 if the system has the type `struct __kernel_flock64'. */ /* #undef HAVE_STRUCT___KERNEL_FLOCK64 */ +/* Define to 1 if the system has the type `struct __kernel_f_owner_ex'. */ +/* #undef HAVE_STRUCT___KERNEL_F_OWNER_EX */ + /* Define to 1 if the system has the type `struct __old_kernel_stat'. */ /* #undef HAVE_STRUCT___OLD_KERNEL_STAT */ @@ -1331,20 +1445,23 @@ /* Define to 1 if `dummy' is a member of `union bpf_attr'. */ /* #undef HAVE_UNION_BPF_ATTR_DUMMY */ +/* Define to 1 if `expected_attach_type' is a member of `union bpf_attr'. */ +/* #undef HAVE_UNION_BPF_ATTR_EXPECTED_ATTACH_TYPE */ + /* Define to 1 if `file_flags' is a member of `union bpf_attr'. */ -/* #undef HAVE_UNION_BPF_ATTR_FILE_FLAGS */ +#define HAVE_UNION_BPF_ATTR_FILE_FLAGS 1 /* 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 HAVE_UNION_BPF_ATTR_INFO_BPF_FD 1 /* Define to 1 if `info.info' is a member of `union bpf_attr'. */ -/* #undef HAVE_UNION_BPF_ATTR_INFO_INFO */ +#define HAVE_UNION_BPF_ATTR_INFO_INFO 1 /* Define to 1 if `info.info_len' is a member of `union bpf_attr'. */ -/* #undef HAVE_UNION_BPF_ATTR_INFO_INFO_LEN */ +#define HAVE_UNION_BPF_ATTR_INFO_INFO_LEN 1 /* Define to 1 if `inner_map_fd' is a member of `union bpf_attr'. */ #define HAVE_UNION_BPF_ATTR_INNER_MAP_FD 1 @@ -1383,7 +1500,13 @@ #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 HAVE_UNION_BPF_ATTR_MAP_ID 1 + +/* Define to 1 if `map_ifindex' is a member of `union bpf_attr'. */ +/* #undef HAVE_UNION_BPF_ATTR_MAP_IFINDEX */ + +/* Define to 1 if `map_name' is a member of `union bpf_attr'. */ +#define HAVE_UNION_BPF_ATTR_MAP_NAME 1 /* Define to 1 if `map_type' is a member of `union bpf_attr'. */ #define HAVE_UNION_BPF_ATTR_MAP_TYPE 1 @@ -1392,16 +1515,16 @@ #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 HAVE_UNION_BPF_ATTR_NEXT_ID 1 /* 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 HAVE_UNION_BPF_ATTR_NUMA_NODE 1 /* Define to 1 if `open_flags' is a member of `union bpf_attr'. */ -/* #undef HAVE_UNION_BPF_ATTR_OPEN_FLAGS */ +#define HAVE_UNION_BPF_ATTR_OPEN_FLAGS 1 /* Define to 1 if `pathname' is a member of `union bpf_attr'. */ #define HAVE_UNION_BPF_ATTR_PATHNAME 1 @@ -1410,13 +1533,43 @@ #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 HAVE_UNION_BPF_ATTR_PROG_ID 1 + +/* Define to 1 if `prog_ifindex' is a member of `union bpf_attr'. */ +#define HAVE_UNION_BPF_ATTR_PROG_IFINDEX 1 + +/* Define to 1 if `prog_name' is a member of `union bpf_attr'. */ +#define HAVE_UNION_BPF_ATTR_PROG_NAME 1 /* 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 `query.attach_flags' is a member of `union bpf_attr'. */ +#define HAVE_UNION_BPF_ATTR_QUERY_ATTACH_FLAGS 1 + +/* Define to 1 if `query.attach_type' is a member of `union bpf_attr'. */ +#define HAVE_UNION_BPF_ATTR_QUERY_ATTACH_TYPE 1 + +/* Define to 1 if `query.prog_cnt' is a member of `union bpf_attr'. */ +#define HAVE_UNION_BPF_ATTR_QUERY_PROG_CNT 1 + +/* Define to 1 if `query.prog_ids' is a member of `union bpf_attr'. */ +#define HAVE_UNION_BPF_ATTR_QUERY_PROG_IDS 1 + +/* Define to 1 if `query.query_flags' is a member of `union bpf_attr'. */ +#define HAVE_UNION_BPF_ATTR_QUERY_QUERY_FLAGS 1 + +/* Define to 1 if `query.target_fd' is a member of `union bpf_attr'. */ +#define HAVE_UNION_BPF_ATTR_QUERY_TARGET_FD 1 + +/* Define to 1 if `raw_tracepoint.name' is a member of `union bpf_attr'. */ +/* #undef HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_NAME */ + +/* Define to 1 if `raw_tracepoint.prog_fd' is a member of `union bpf_attr'. */ +/* #undef HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_PROG_FD */ + /* Define to 1 if `start_id' is a member of `union bpf_attr'. */ -/* #undef HAVE_UNION_BPF_ATTR_START_ID */ +#define HAVE_UNION_BPF_ATTR_START_ID 1 /* Define to 1 if `target_fd' is a member of `union bpf_attr'. */ #define HAVE_UNION_BPF_ATTR_TARGET_FD 1 @@ -1460,6 +1613,9 @@ /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 +/* Define to 1 if the system provides _Static_assert */ +/* #undef HAVE__STATIC_ASSERT */ + /* Define to 1 if the system provides __builtin_popcount function */ #define HAVE___BUILTIN_POPCOUNT 1 @@ -1497,7 +1653,7 @@ /* #undef M68K */ /* Date */ -#define MANPAGE_DATE "2018-04-04" +#define MANPAGE_DATE "2018-06-13" /* Define for the Meta architecture. */ /* #undef METAG */ @@ -1530,7 +1686,7 @@ #define PACKAGE_NAME "strace" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "strace 4.22" +#define PACKAGE_STRING "strace 4.23" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "strace" @@ -1539,7 +1695,7 @@ #define PACKAGE_URL "https://strace.io" /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.22" +#define PACKAGE_VERSION "4.23" /* Define for the PowerPC architecture. */ /* #undef POWERPC */ @@ -1585,10 +1741,13 @@ /* Define for the Tile architecture */ /* #undef TILE */ -/* Do demangling symbols in stack trace */ +/* Do symbols demangling in stack trace */ /* #undef USE_DEMANGLE */ -/* Compile stack tracing functionality */ +/* Whether to use libdw for stack tracing */ +/* #undef USE_LIBDW */ + +/* Whether to use libunwind for stack tracing */ /* #undef USE_LIBUNWIND */ /* Enable extensions on AIX 3, Interix. */ @@ -1613,8 +1772,11 @@ #endif +/* The unwinder to use for stack tracing support */ +/* #undef USE_UNWINDER */ + /* Version number of package */ -#define VERSION "4.22" +#define VERSION "4.23" /* 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 610c5cb8..24255b62 100644 --- a/config.h.in +++ b/config.h.in @@ -33,6 +33,9 @@ /* Define to 1 if you want OABI support on ARM EABI. */ #undef ENABLE_ARM_OABI +/* Define to enable stack tracing support */ +#undef ENABLE_STACKTRACE + /* Define to 1 if you have the `accept4' function. */ #undef HAVE_ACCEPT4 @@ -93,6 +96,22 @@ don't. */ #undef HAVE_DECL_CTL_SUNRPC +/* Define to 1 if you have the declaration of `IFLA_AF_SPEC', and to 0 if you + don't. */ +#undef HAVE_DECL_IFLA_AF_SPEC + +/* Define to 1 if you have the declaration of `IFLA_PORT_SELF', and to 0 if + you don't. */ +#undef HAVE_DECL_IFLA_PORT_SELF + +/* Define to 1 if you have the declaration of `IFLA_PROTINFO', and to 0 if you + don't. */ +#undef HAVE_DECL_IFLA_PROTINFO + +/* Define to 1 if you have the declaration of `IFLA_XDP', and to 0 if you + don't. */ +#undef HAVE_DECL_IFLA_XDP + /* Define to 1 if you have the declaration of `KERN_ACPI_VIDEO_FLAGS', and to 0 if you don't. */ #undef HAVE_DECL_KERN_ACPI_VIDEO_FLAGS @@ -393,6 +412,10 @@ don't. */ #undef HAVE_DECL_SYS_ERRLIST +/* Define to 1 if you have the declaration of `TCA_STAB_DATA', and to 0 if you + don't. */ +#undef HAVE_DECL_TCA_STAB_DATA + /* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_SDR_CAPTURE', and to 0 if you don't. */ #undef HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE @@ -651,6 +674,9 @@ /* Define to 1 if the system provides dladdr */ #undef HAVE_DLADDR +/* Define to 1 if you have the header file. */ +#undef HAVE_ELFUTILS_LIBDWFL_H + /* Define to 1 if you have the header file. */ #undef HAVE_ELF_H @@ -984,6 +1010,76 @@ /* 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 bpf_map_info'. */ +#undef HAVE_STRUCT_BPF_MAP_INFO + +/* Define to 1 if `id' is a member of `struct bpf_map_info'. */ +#undef HAVE_STRUCT_BPF_MAP_INFO_ID + +/* Define to 1 if `ifindex' is a member of `struct bpf_map_info'. */ +#undef HAVE_STRUCT_BPF_MAP_INFO_IFINDEX + +/* Define to 1 if `key_size' is a member of `struct bpf_map_info'. */ +#undef HAVE_STRUCT_BPF_MAP_INFO_KEY_SIZE + +/* Define to 1 if `map_flags' is a member of `struct bpf_map_info'. */ +#undef HAVE_STRUCT_BPF_MAP_INFO_MAP_FLAGS + +/* Define to 1 if `max_entries' is a member of `struct bpf_map_info'. */ +#undef HAVE_STRUCT_BPF_MAP_INFO_MAX_ENTRIES + +/* Define to 1 if `name' is a member of `struct bpf_map_info'. */ +#undef HAVE_STRUCT_BPF_MAP_INFO_NAME + +/* Define to 1 if `type' is a member of `struct bpf_map_info'. */ +#undef HAVE_STRUCT_BPF_MAP_INFO_TYPE + +/* Define to 1 if `value_size' is a member of `struct bpf_map_info'. */ +#undef HAVE_STRUCT_BPF_MAP_INFO_VALUE_SIZE + +/* Define to 1 if the system has the type `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO + +/* Define to 1 if `created_by_uid' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_CREATED_BY_UID + +/* Define to 1 if `id' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_ID + +/* Define to 1 if `ifindex' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_IFINDEX + +/* Define to 1 if `jited_prog_insns' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_INSNS + +/* Define to 1 if `jited_prog_len' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_LEN + +/* Define to 1 if `load_time' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_LOAD_TIME + +/* Define to 1 if `map_ids' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_MAP_IDS + +/* Define to 1 if `name' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_NAME + +/* Define to 1 if `nr_map_ids' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_NR_MAP_IDS + +/* Define to 1 if `tag' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_TAG + +/* Define to 1 if `type' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_TYPE + +/* Define to 1 if `xlated_prog_insns' is a member of `struct bpf_prog_info'. + */ +#undef HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_INSNS + +/* Define to 1 if `xlated_prog_len' is a member of `struct bpf_prog_info'. */ +#undef HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_LEN + /* Define to 1 if the system has the type `struct br_mdb_entry'. */ #undef HAVE_STRUCT_BR_MDB_ENTRY @@ -1034,6 +1130,9 @@ /* Define to 1 if the system has the type `struct dcbmsg'. */ #undef HAVE_STRUCT_DCBMSG +/* Define to 1 if the system has the type `struct fib_rule_port_range'. */ +#undef HAVE_STRUCT_FIB_RULE_PORT_RANGE + /* Define to 1 if the system has the type `struct fib_rule_uid_range'. */ #undef HAVE_STRUCT_FIB_RULE_UID_RANGE @@ -1043,6 +1142,9 @@ /* Define to 1 if the system has the type `struct flock64'. */ #undef HAVE_STRUCT_FLOCK64 +/* Define to 1 if the system has the type `struct f_owner_ex'. */ +#undef HAVE_STRUCT_F_OWNER_EX + /* Define to 1 if the system has the type `struct gnet_stats_basic'. */ #undef HAVE_STRUCT_GNET_STATS_BASIC @@ -1064,6 +1166,9 @@ /* Define to 1 if the system has the type `struct ifla_bridge_id'. */ #undef HAVE_STRUCT_IFLA_BRIDGE_ID +/* Define to 1 if the system has the type `struct ifla_cacheinfo'. */ +#undef HAVE_STRUCT_IFLA_CACHEINFO + /* Define to 1 if the system has the type `struct ifla_port_vsi'. */ #undef HAVE_STRUCT_IFLA_PORT_VSI @@ -1204,6 +1309,9 @@ /* Define to 1 if the system has the type `struct sigcontext'. */ #undef HAVE_STRUCT_SIGCONTEXT +/* Define to 1 if `l2_bdaddr_type' is a member of `struct sockaddr_l2'. */ +#undef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + /* Define to 1 if the system has the type `struct stat64'. */ #undef HAVE_STRUCT_STAT64 @@ -1267,12 +1375,18 @@ /* Define to 1 if `global_alpha' is a member of `struct v4l2_window'. */ #undef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA +/* Define to 1 if the system has the type `struct __aio_sigset'. */ +#undef HAVE_STRUCT___AIO_SIGSET + /* Define to 1 if the system has the type `struct __kernel_flock'. */ #undef HAVE_STRUCT___KERNEL_FLOCK /* Define to 1 if the system has the type `struct __kernel_flock64'. */ #undef HAVE_STRUCT___KERNEL_FLOCK64 +/* Define to 1 if the system has the type `struct __kernel_f_owner_ex'. */ +#undef HAVE_STRUCT___KERNEL_F_OWNER_EX + /* Define to 1 if the system has the type `struct __old_kernel_stat'. */ #undef HAVE_STRUCT___OLD_KERNEL_STAT @@ -1333,6 +1447,9 @@ /* Define to 1 if `dummy' is a member of `union bpf_attr'. */ #undef HAVE_UNION_BPF_ATTR_DUMMY +/* Define to 1 if `expected_attach_type' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_EXPECTED_ATTACH_TYPE + /* Define to 1 if `file_flags' is a member of `union bpf_attr'. */ #undef HAVE_UNION_BPF_ATTR_FILE_FLAGS @@ -1387,6 +1504,12 @@ /* 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_ifindex' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_MAP_IFINDEX + +/* Define to 1 if `map_name' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_MAP_NAME + /* Define to 1 if `map_type' is a member of `union bpf_attr'. */ #undef HAVE_UNION_BPF_ATTR_MAP_TYPE @@ -1414,9 +1537,39 @@ /* 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_ifindex' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_PROG_IFINDEX + +/* Define to 1 if `prog_name' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_PROG_NAME + /* Define to 1 if `prog_type' is a member of `union bpf_attr'. */ #undef HAVE_UNION_BPF_ATTR_PROG_TYPE +/* Define to 1 if `query.attach_flags' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_QUERY_ATTACH_FLAGS + +/* Define to 1 if `query.attach_type' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_QUERY_ATTACH_TYPE + +/* Define to 1 if `query.prog_cnt' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_QUERY_PROG_CNT + +/* Define to 1 if `query.prog_ids' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_QUERY_PROG_IDS + +/* Define to 1 if `query.query_flags' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_QUERY_QUERY_FLAGS + +/* Define to 1 if `query.target_fd' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_QUERY_TARGET_FD + +/* Define to 1 if `raw_tracepoint.name' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_NAME + +/* Define to 1 if `raw_tracepoint.prog_fd' is a member of `union bpf_attr'. */ +#undef HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_PROG_FD + /* Define to 1 if `start_id' is a member of `union bpf_attr'. */ #undef HAVE_UNION_BPF_ATTR_START_ID @@ -1462,6 +1615,9 @@ /* Define to 1 if you have the `utimensat' function. */ #undef HAVE_UTIMENSAT +/* Define to 1 if the system provides _Static_assert */ +#undef HAVE__STATIC_ASSERT + /* Define to 1 if the system provides __builtin_popcount function */ #undef HAVE___BUILTIN_POPCOUNT @@ -1591,10 +1747,13 @@ /* Define for the Tile architecture */ #undef TILE -/* Do demangling symbols in stack trace */ +/* Do symbols demangling in stack trace */ #undef USE_DEMANGLE -/* Compile stack tracing functionality */ +/* Whether to use libdw for stack tracing */ +#undef USE_LIBDW + +/* Whether to use libunwind for stack tracing */ #undef USE_LIBUNWIND /* Enable extensions on AIX 3, Interix. */ @@ -1619,6 +1778,9 @@ #endif +/* The unwinder to use for stack tracing support */ +#undef USE_UNWINDER + /* Version number of package */ #undef VERSION diff --git a/configure b/configure index 4dfded7c..141ac3c4 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for strace 4.22. +# Generated by GNU Autoconf 2.69 for strace 4.23. # # Report bugs to . # @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='strace' PACKAGE_TARNAME='strace' -PACKAGE_VERSION='4.22' -PACKAGE_STRING='strace 4.22' +PACKAGE_VERSION='4.23' +PACKAGE_STRING='strace 4.23' PACKAGE_BUGREPORT='strace-devel@lists.strace.io' PACKAGE_URL='https://strace.io' @@ -654,9 +654,17 @@ libiberty_LDFLAGS libiberty_LIBS USE_LIBUNWIND_FALSE USE_LIBUNWIND_TRUE +USE_LIBDW_FALSE +USE_LIBDW_TRUE +ENABLE_STACKTRACE_FALSE +ENABLE_STACKTRACE_TRUE libunwind_CPPFLAGS libunwind_LDFLAGS libunwind_LIBS +libdw_LIBS +libdw_LDFLAGS +libdw_CFLAGS +libdw_CPPFLAGS READELF PERL mq_LIBS @@ -806,6 +814,8 @@ enable_gcc_Werror with_gcov enable_code_coverage enable_arm_oabi +enable_stacktrace +with_libdw with_libunwind with_libiberty enable_mpers @@ -1364,7 +1374,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.22 to adapt to many kinds of systems. +\`configure' configures strace 4.23 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1434,7 +1444,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of strace 4.22:";; + short | recursive ) echo "Configuration of strace 4.23:";; esac cat <<\_ACEOF @@ -1454,6 +1464,9 @@ Optional Features: --enable-gcc-Werror turn on gcc's -Werror option --enable-code-coverage Whether to enable code coverage support --enable-arm-oabi enable OABI support on ARM EABI + --enable-stacktrace=yes|no|check + whether to enable stack tracing support, default is + check --enable-mpers=yes|no|check|m32|mx32 whether to enable multiple personalities support required for proper decoding of structures used by @@ -1472,6 +1485,8 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gcov=GCOV use given GCOV for coverage (GCOV=gcov). + --with-libdw use libdw to implement stack tracing support + --with-libunwind use libunwind to implement stack tracing support --with-libiberty use libiberty to demangle symbols in stack trace @@ -1552,7 +1567,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -strace configure 4.22 +strace configure 4.23 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2292,7 +2307,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.22, which was +It was created by strace $as_me 4.23, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3163,7 +3178,7 @@ fi # Define the identity of the package. PACKAGE='strace' - VERSION='4.22' + VERSION='4.23' cat >>confdefs.h <<_ACEOF @@ -3350,9 +3365,9 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -RPM_CHANGELOGTIME="$(LC_TIME=C date '+%a %b %d %Y')" +RPM_CHANGELOGTIME="$(LC_TIME=C date -u '+%a %b %d %Y')" -DEB_CHANGELOGTIME="$(LC_TIME=C date -R)" +DEB_CHANGELOGTIME="$(LC_TIME=C date -u -R)" ac_ext=c @@ -8984,9 +8999,9 @@ COPYRIGHT_YEAR=2018 -$as_echo "#define MANPAGE_DATE \"2018-04-04\"" >>confdefs.h +$as_echo "#define MANPAGE_DATE \"2018-06-13\"" >>confdefs.h -MANPAGE_DATE=2018-04-04 +MANPAGE_DATE=2018-06-13 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported architecture" >&5 @@ -9865,6 +9880,28 @@ cat >>confdefs.h <<_ACEOF _ACEOF +fi +ac_fn_c_check_type "$LINENO" "struct f_owner_ex" "ac_cv_type_struct_f_owner_ex" "#include +#include +" +if test "x$ac_cv_type_struct_f_owner_ex" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_F_OWNER_EX 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct __kernel_f_owner_ex" "ac_cv_type_struct___kernel_f_owner_ex" "#include +#include +" +if test "x$ac_cv_type_struct___kernel_f_owner_ex" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT___KERNEL_F_OWNER_EX 1 +_ACEOF + + fi @@ -10222,7 +10259,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/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 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" @@ -10353,524 +10390,910 @@ _ACEOF fi - - ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_bpf_fd" "ac_cv_member_union_bpf_attr_attach_bpf_fd" "#include +ac_fn_c_check_type "$LINENO" "struct bpf_map_info" "ac_cv_type_struct_bpf_map_info" "#include " -if test "x$ac_cv_member_union_bpf_attr_attach_bpf_fd" = xyes; then : +if test "x$ac_cv_type_struct_bpf_map_info" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD 1 +#define HAVE_STRUCT_BPF_MAP_INFO 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_flags" "ac_cv_member_union_bpf_attr_attach_flags" "#include +ac_fn_c_check_type "$LINENO" "struct bpf_prog_info" "ac_cv_type_struct_bpf_prog_info" "#include " -if test "x$ac_cv_member_union_bpf_attr_attach_flags" = xyes; then : +if test "x$ac_cv_type_struct_bpf_prog_info" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_ATTACH_FLAGS 1 +#define HAVE_STRUCT_BPF_PROG_INFO 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_type" "ac_cv_member_union_bpf_attr_attach_type" "#include + + ac_fn_c_check_member "$LINENO" "struct bpf_map_info" "id" "ac_cv_member_struct_bpf_map_info_id" "#include " -if test "x$ac_cv_member_union_bpf_attr_attach_type" = xyes; then : +if test "x$ac_cv_member_struct_bpf_map_info_id" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_ATTACH_TYPE 1 +#define HAVE_STRUCT_BPF_MAP_INFO_ID 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "bpf_fd" "ac_cv_member_union_bpf_attr_bpf_fd" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_map_info" "ifindex" "ac_cv_member_struct_bpf_map_info_ifindex" "#include " -if test "x$ac_cv_member_union_bpf_attr_bpf_fd" = xyes; then : +if test "x$ac_cv_member_struct_bpf_map_info_ifindex" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_BPF_FD 1 +#define HAVE_STRUCT_BPF_MAP_INFO_IFINDEX 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "dummy" "ac_cv_member_union_bpf_attr_dummy" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_map_info" "key_size" "ac_cv_member_struct_bpf_map_info_key_size" "#include " -if test "x$ac_cv_member_union_bpf_attr_dummy" = xyes; then : +if test "x$ac_cv_member_struct_bpf_map_info_key_size" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_DUMMY 1 +#define HAVE_STRUCT_BPF_MAP_INFO_KEY_SIZE 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "file_flags" "ac_cv_member_union_bpf_attr_file_flags" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_map_info" "map_flags" "ac_cv_member_struct_bpf_map_info_map_flags" "#include " -if test "x$ac_cv_member_union_bpf_attr_file_flags" = xyes; then : +if test "x$ac_cv_member_struct_bpf_map_info_map_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_FILE_FLAGS 1 +#define HAVE_STRUCT_BPF_MAP_INFO_MAP_FLAGS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "flags" "ac_cv_member_union_bpf_attr_flags" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_map_info" "max_entries" "ac_cv_member_struct_bpf_map_info_max_entries" "#include " -if test "x$ac_cv_member_union_bpf_attr_flags" = xyes; then : +if test "x$ac_cv_member_struct_bpf_map_info_max_entries" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_FLAGS 1 +#define HAVE_STRUCT_BPF_MAP_INFO_MAX_ENTRIES 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "inner_map_fd" "ac_cv_member_union_bpf_attr_inner_map_fd" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_map_info" "name" "ac_cv_member_struct_bpf_map_info_name" "#include " -if test "x$ac_cv_member_union_bpf_attr_inner_map_fd" = xyes; then : +if test "x$ac_cv_member_struct_bpf_map_info_name" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_INNER_MAP_FD 1 +#define HAVE_STRUCT_BPF_MAP_INFO_NAME 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "insn_cnt" "ac_cv_member_union_bpf_attr_insn_cnt" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_map_info" "type" "ac_cv_member_struct_bpf_map_info_type" "#include " -if test "x$ac_cv_member_union_bpf_attr_insn_cnt" = xyes; then : +if test "x$ac_cv_member_struct_bpf_map_info_type" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_INSN_CNT 1 +#define HAVE_STRUCT_BPF_MAP_INFO_TYPE 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "insns" "ac_cv_member_union_bpf_attr_insns" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_map_info" "value_size" "ac_cv_member_struct_bpf_map_info_value_size" "#include " -if test "x$ac_cv_member_union_bpf_attr_insns" = xyes; then : +if test "x$ac_cv_member_struct_bpf_map_info_value_size" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_INSNS 1 +#define HAVE_STRUCT_BPF_MAP_INFO_VALUE_SIZE 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "kern_version" "ac_cv_member_union_bpf_attr_kern_version" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "created_by_uid" "ac_cv_member_struct_bpf_prog_info_created_by_uid" "#include " -if test "x$ac_cv_member_union_bpf_attr_kern_version" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_created_by_uid" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_KERN_VERSION 1 +#define HAVE_STRUCT_BPF_PROG_INFO_CREATED_BY_UID 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "key" "ac_cv_member_union_bpf_attr_key" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "id" "ac_cv_member_struct_bpf_prog_info_id" "#include " -if test "x$ac_cv_member_union_bpf_attr_key" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_id" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_KEY 1 +#define HAVE_STRUCT_BPF_PROG_INFO_ID 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "key_size" "ac_cv_member_union_bpf_attr_key_size" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "ifindex" "ac_cv_member_struct_bpf_prog_info_ifindex" "#include " -if test "x$ac_cv_member_union_bpf_attr_key_size" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_ifindex" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_KEY_SIZE 1 +#define HAVE_STRUCT_BPF_PROG_INFO_IFINDEX 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "license" "ac_cv_member_union_bpf_attr_license" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "jited_prog_insns" "ac_cv_member_struct_bpf_prog_info_jited_prog_insns" "#include " -if test "x$ac_cv_member_union_bpf_attr_license" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_jited_prog_insns" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_LICENSE 1 +#define HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_INSNS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_buf" "ac_cv_member_union_bpf_attr_log_buf" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "jited_prog_len" "ac_cv_member_struct_bpf_prog_info_jited_prog_len" "#include " -if test "x$ac_cv_member_union_bpf_attr_log_buf" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_jited_prog_len" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_LOG_BUF 1 +#define HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_LEN 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_level" "ac_cv_member_union_bpf_attr_log_level" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "load_time" "ac_cv_member_struct_bpf_prog_info_load_time" "#include " -if test "x$ac_cv_member_union_bpf_attr_log_level" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_load_time" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_LOG_LEVEL 1 +#define HAVE_STRUCT_BPF_PROG_INFO_LOAD_TIME 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_size" "ac_cv_member_union_bpf_attr_log_size" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "map_ids" "ac_cv_member_struct_bpf_prog_info_map_ids" "#include " -if test "x$ac_cv_member_union_bpf_attr_log_size" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_map_ids" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_LOG_SIZE 1 +#define HAVE_STRUCT_BPF_PROG_INFO_MAP_IDS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_fd" "ac_cv_member_union_bpf_attr_map_fd" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "name" "ac_cv_member_struct_bpf_prog_info_name" "#include " -if test "x$ac_cv_member_union_bpf_attr_map_fd" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_name" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_MAP_FD 1 +#define HAVE_STRUCT_BPF_PROG_INFO_NAME 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_flags" "ac_cv_member_union_bpf_attr_map_flags" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "nr_map_ids" "ac_cv_member_struct_bpf_prog_info_nr_map_ids" "#include " -if test "x$ac_cv_member_union_bpf_attr_map_flags" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_nr_map_ids" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_MAP_FLAGS 1 +#define HAVE_STRUCT_BPF_PROG_INFO_NR_MAP_IDS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_id" "ac_cv_member_union_bpf_attr_map_id" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "tag" "ac_cv_member_struct_bpf_prog_info_tag" "#include " -if test "x$ac_cv_member_union_bpf_attr_map_id" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_tag" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_MAP_ID 1 +#define HAVE_STRUCT_BPF_PROG_INFO_TAG 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_type" "ac_cv_member_union_bpf_attr_map_type" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "type" "ac_cv_member_struct_bpf_prog_info_type" "#include " -if test "x$ac_cv_member_union_bpf_attr_map_type" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_type" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_MAP_TYPE 1 +#define HAVE_STRUCT_BPF_PROG_INFO_TYPE 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "max_entries" "ac_cv_member_union_bpf_attr_max_entries" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "xlated_prog_insns" "ac_cv_member_struct_bpf_prog_info_xlated_prog_insns" "#include " -if test "x$ac_cv_member_union_bpf_attr_max_entries" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_xlated_prog_insns" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_MAX_ENTRIES 1 +#define HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_INSNS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "next_id" "ac_cv_member_union_bpf_attr_next_id" "#include +ac_fn_c_check_member "$LINENO" "struct bpf_prog_info" "xlated_prog_len" "ac_cv_member_struct_bpf_prog_info_xlated_prog_len" "#include " -if test "x$ac_cv_member_union_bpf_attr_next_id" = xyes; then : +if test "x$ac_cv_member_struct_bpf_prog_info_xlated_prog_len" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_NEXT_ID 1 +#define HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_LEN 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "next_key" "ac_cv_member_union_bpf_attr_next_key" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_bpf_fd" "ac_cv_member_union_bpf_attr_attach_bpf_fd" "#include " -if test "x$ac_cv_member_union_bpf_attr_next_key" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_attach_bpf_fd" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_NEXT_KEY 1 +#define HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "numa_node" "ac_cv_member_union_bpf_attr_numa_node" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_flags" "ac_cv_member_union_bpf_attr_attach_flags" "#include " -if test "x$ac_cv_member_union_bpf_attr_numa_node" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_attach_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_NUMA_NODE 1 +#define HAVE_UNION_BPF_ATTR_ATTACH_FLAGS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "open_flags" "ac_cv_member_union_bpf_attr_open_flags" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_type" "ac_cv_member_union_bpf_attr_attach_type" "#include " -if test "x$ac_cv_member_union_bpf_attr_open_flags" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_attach_type" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_OPEN_FLAGS 1 +#define HAVE_UNION_BPF_ATTR_ATTACH_TYPE 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "pathname" "ac_cv_member_union_bpf_attr_pathname" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "bpf_fd" "ac_cv_member_union_bpf_attr_bpf_fd" "#include " -if test "x$ac_cv_member_union_bpf_attr_pathname" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_bpf_fd" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_PATHNAME 1 +#define HAVE_UNION_BPF_ATTR_BPF_FD 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_flags" "ac_cv_member_union_bpf_attr_prog_flags" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "dummy" "ac_cv_member_union_bpf_attr_dummy" "#include " -if test "x$ac_cv_member_union_bpf_attr_prog_flags" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_dummy" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_PROG_FLAGS 1 +#define HAVE_UNION_BPF_ATTR_DUMMY 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_id" "ac_cv_member_union_bpf_attr_prog_id" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "expected_attach_type" "ac_cv_member_union_bpf_attr_expected_attach_type" "#include " -if test "x$ac_cv_member_union_bpf_attr_prog_id" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_expected_attach_type" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_PROG_ID 1 +#define HAVE_UNION_BPF_ATTR_EXPECTED_ATTACH_TYPE 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_type" "ac_cv_member_union_bpf_attr_prog_type" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "file_flags" "ac_cv_member_union_bpf_attr_file_flags" "#include " -if test "x$ac_cv_member_union_bpf_attr_prog_type" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_file_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_PROG_TYPE 1 +#define HAVE_UNION_BPF_ATTR_FILE_FLAGS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "start_id" "ac_cv_member_union_bpf_attr_start_id" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "flags" "ac_cv_member_union_bpf_attr_flags" "#include " -if test "x$ac_cv_member_union_bpf_attr_start_id" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_START_ID 1 +#define HAVE_UNION_BPF_ATTR_FLAGS 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "target_fd" "ac_cv_member_union_bpf_attr_target_fd" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "info.bpf_fd" "ac_cv_member_union_bpf_attr_info_bpf_fd" "#include " -if test "x$ac_cv_member_union_bpf_attr_target_fd" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_info_bpf_fd" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_TARGET_FD 1 +#define HAVE_UNION_BPF_ATTR_INFO_BPF_FD 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "value" "ac_cv_member_union_bpf_attr_value" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "info.info" "ac_cv_member_union_bpf_attr_info_info" "#include " -if test "x$ac_cv_member_union_bpf_attr_value" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_info_info" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_VALUE 1 +#define HAVE_UNION_BPF_ATTR_INFO_INFO 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "value_size" "ac_cv_member_union_bpf_attr_value_size" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "info.info_len" "ac_cv_member_union_bpf_attr_info_info_len" "#include " -if test "x$ac_cv_member_union_bpf_attr_value_size" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_info_info_len" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_VALUE_SIZE 1 +#define HAVE_UNION_BPF_ATTR_INFO_INFO_LEN 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 +ac_fn_c_check_member "$LINENO" "union bpf_attr" "inner_map_fd" "ac_cv_member_union_bpf_attr_inner_map_fd" "#include " -if test "x$ac_cv_member_union_bpf_attr_test_data_in" = 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_TEST_DATA_IN 1 +#define HAVE_UNION_BPF_ATTR_INNER_MAP_FD 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 +ac_fn_c_check_member "$LINENO" "union bpf_attr" "insn_cnt" "ac_cv_member_union_bpf_attr_insn_cnt" "#include " -if test "x$ac_cv_member_union_bpf_attr_test_data_out" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_insn_cnt" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_TEST_DATA_OUT 1 +#define HAVE_UNION_BPF_ATTR_INSN_CNT 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 +ac_fn_c_check_member "$LINENO" "union bpf_attr" "insns" "ac_cv_member_union_bpf_attr_insns" "#include " -if test "x$ac_cv_member_union_bpf_attr_test_data_size_in" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_insns" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_IN 1 +#define HAVE_UNION_BPF_ATTR_INSNS 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 +ac_fn_c_check_member "$LINENO" "union bpf_attr" "kern_version" "ac_cv_member_union_bpf_attr_kern_version" "#include " -if test "x$ac_cv_member_union_bpf_attr_test_data_size_out" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_kern_version" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_OUT 1 +#define HAVE_UNION_BPF_ATTR_KERN_VERSION 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.duration" "ac_cv_member_union_bpf_attr_test_duration" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "key" "ac_cv_member_union_bpf_attr_key" "#include " -if test "x$ac_cv_member_union_bpf_attr_test_duration" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_key" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_TEST_DURATION 1 +#define HAVE_UNION_BPF_ATTR_KEY 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.prog_fd" "ac_cv_member_union_bpf_attr_test_prog_fd" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "key_size" "ac_cv_member_union_bpf_attr_key_size" "#include " -if test "x$ac_cv_member_union_bpf_attr_test_prog_fd" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_key_size" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_TEST_PROG_FD 1 +#define HAVE_UNION_BPF_ATTR_KEY_SIZE 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.repeat" "ac_cv_member_union_bpf_attr_test_repeat" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "license" "ac_cv_member_union_bpf_attr_license" "#include " -if test "x$ac_cv_member_union_bpf_attr_test_repeat" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_license" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_TEST_REPEAT 1 +#define HAVE_UNION_BPF_ATTR_LICENSE 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.retval" "ac_cv_member_union_bpf_attr_test_retval" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_buf" "ac_cv_member_union_bpf_attr_log_buf" "#include " -if test "x$ac_cv_member_union_bpf_attr_test_retval" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_log_buf" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_TEST_RETVAL 1 +#define HAVE_UNION_BPF_ATTR_LOG_BUF 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 +ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_level" "ac_cv_member_union_bpf_attr_log_level" "#include " -if test "x$ac_cv_member_union_bpf_attr_info_bpf_fd" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_log_level" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_INFO_BPF_FD 1 +#define HAVE_UNION_BPF_ATTR_LOG_LEVEL 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "info.info" "ac_cv_member_union_bpf_attr_info_info" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_size" "ac_cv_member_union_bpf_attr_log_size" "#include " -if test "x$ac_cv_member_union_bpf_attr_info_info" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_log_size" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_INFO_INFO 1 +#define HAVE_UNION_BPF_ATTR_LOG_SIZE 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 +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_fd" "ac_cv_member_union_bpf_attr_map_fd" "#include " -if test "x$ac_cv_member_union_bpf_attr_info_info_len" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_fd" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_INFO_INFO_LEN 1 +#define HAVE_UNION_BPF_ATTR_MAP_FD 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "union bpf_attr" "dummy" "ac_cv_member_union_bpf_attr_dummy" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_flags" "ac_cv_member_union_bpf_attr_map_flags" "#include " -if test "x$ac_cv_member_union_bpf_attr_dummy" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_flags" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_UNION_BPF_ATTR_DUMMY 1 +#define HAVE_UNION_BPF_ATTR_MAP_FLAGS 1 _ACEOF fi - - - -fi - -done - - -ac_fn_c_check_type "$LINENO" "struct br_mdb_entry" "ac_cv_type_struct_br_mdb_entry" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_id" "ac_cv_member_union_bpf_attr_map_id" "#include " -if test "x$ac_cv_type_struct_br_mdb_entry" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_id" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_BR_MDB_ENTRY 1 +#define HAVE_UNION_BPF_ATTR_MAP_ID 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct br_port_msg" "ac_cv_type_struct_br_port_msg" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_ifindex" "ac_cv_member_union_bpf_attr_map_ifindex" "#include " -if test "x$ac_cv_type_struct_br_port_msg" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_ifindex" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_BR_PORT_MSG 1 +#define HAVE_UNION_BPF_ATTR_MAP_IFINDEX 1 _ACEOF fi - -ac_fn_c_check_member "$LINENO" "struct br_mdb_entry" "flags" "ac_cv_member_struct_br_mdb_entry_flags" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_name" "ac_cv_member_union_bpf_attr_map_name" "#include " -if test "x$ac_cv_member_struct_br_mdb_entry_flags" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_name" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_BR_MDB_ENTRY_FLAGS 1 +#define HAVE_UNION_BPF_ATTR_MAP_NAME 1 _ACEOF fi -ac_fn_c_check_member "$LINENO" "struct br_mdb_entry" "vid" "ac_cv_member_struct_br_mdb_entry_vid" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_type" "ac_cv_member_union_bpf_attr_map_type" "#include " -if test "x$ac_cv_member_struct_br_mdb_entry_vid" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_map_type" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_BR_MDB_ENTRY_VID 1 +#define HAVE_UNION_BPF_ATTR_MAP_TYPE 1 _ACEOF fi - - -ac_fn_c_check_type "$LINENO" "struct dcbmsg" "ac_cv_type_struct_dcbmsg" "#include +ac_fn_c_check_member "$LINENO" "union bpf_attr" "max_entries" "ac_cv_member_union_bpf_attr_max_entries" "#include " -if test "x$ac_cv_type_struct_dcbmsg" = xyes; then : +if test "x$ac_cv_member_union_bpf_attr_max_entries" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_DCBMSG 1 +#define HAVE_UNION_BPF_ATTR_MAX_ENTRIES 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "next_id" "ac_cv_member_union_bpf_attr_next_id" "#include +" +if test "x$ac_cv_member_union_bpf_attr_next_id" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_NEXT_ID 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "next_key" "ac_cv_member_union_bpf_attr_next_key" "#include +" +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 +" +if test "x$ac_cv_member_union_bpf_attr_numa_node" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_NUMA_NODE 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "open_flags" "ac_cv_member_union_bpf_attr_open_flags" "#include +" +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 +" +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 +" +if test "x$ac_cv_member_union_bpf_attr_prog_flags" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_PROG_FLAGS 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_id" "ac_cv_member_union_bpf_attr_prog_id" "#include +" +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_ifindex" "ac_cv_member_union_bpf_attr_prog_ifindex" "#include +" +if test "x$ac_cv_member_union_bpf_attr_prog_ifindex" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_PROG_IFINDEX 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_name" "ac_cv_member_union_bpf_attr_prog_name" "#include +" +if test "x$ac_cv_member_union_bpf_attr_prog_name" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_PROG_NAME 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_type" "ac_cv_member_union_bpf_attr_prog_type" "#include +" +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" "query.attach_flags" "ac_cv_member_union_bpf_attr_query_attach_flags" "#include +" +if test "x$ac_cv_member_union_bpf_attr_query_attach_flags" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_QUERY_ATTACH_FLAGS 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "query.attach_type" "ac_cv_member_union_bpf_attr_query_attach_type" "#include +" +if test "x$ac_cv_member_union_bpf_attr_query_attach_type" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_QUERY_ATTACH_TYPE 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "query.prog_cnt" "ac_cv_member_union_bpf_attr_query_prog_cnt" "#include +" +if test "x$ac_cv_member_union_bpf_attr_query_prog_cnt" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_QUERY_PROG_CNT 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "query.prog_ids" "ac_cv_member_union_bpf_attr_query_prog_ids" "#include +" +if test "x$ac_cv_member_union_bpf_attr_query_prog_ids" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_QUERY_PROG_IDS 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "query.query_flags" "ac_cv_member_union_bpf_attr_query_query_flags" "#include +" +if test "x$ac_cv_member_union_bpf_attr_query_query_flags" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_QUERY_QUERY_FLAGS 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "query.target_fd" "ac_cv_member_union_bpf_attr_query_target_fd" "#include +" +if test "x$ac_cv_member_union_bpf_attr_query_target_fd" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_QUERY_TARGET_FD 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "raw_tracepoint.name" "ac_cv_member_union_bpf_attr_raw_tracepoint_name" "#include +" +if test "x$ac_cv_member_union_bpf_attr_raw_tracepoint_name" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_NAME 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "raw_tracepoint.prog_fd" "ac_cv_member_union_bpf_attr_raw_tracepoint_prog_fd" "#include +" +if test "x$ac_cv_member_union_bpf_attr_raw_tracepoint_prog_fd" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_PROG_FD 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "start_id" "ac_cv_member_union_bpf_attr_start_id" "#include +" +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 +" +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" "test.data_in" "ac_cv_member_union_bpf_attr_test_data_in" "#include +" +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 +" +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 +" +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 +" +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 +" +if test "x$ac_cv_member_union_bpf_attr_test_duration" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UNION_BPF_ATTR_TEST_DURATION 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.prog_fd" "ac_cv_member_union_bpf_attr_test_prog_fd" "#include +" +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 +" +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 +" +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" "value" "ac_cv_member_union_bpf_attr_value" "#include +" +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 +" +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" "dummy" "ac_cv_member_union_bpf_attr_dummy" "#include +" +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 + +done + + +for ac_header in bluetooth/bluetooth.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "bluetooth/bluetooth.h" "ac_cv_header_bluetooth_bluetooth_h" "$ac_includes_default" +if test "x$ac_cv_header_bluetooth_bluetooth_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_BLUETOOTH_BLUETOOTH_H 1 +_ACEOF + + ac_fn_c_check_member "$LINENO" "struct sockaddr_l2" "l2_bdaddr_type" "ac_cv_member_struct_sockaddr_l2_l2_bdaddr_type" "#include + #include +" +if test "x$ac_cv_member_struct_sockaddr_l2_l2_bdaddr_type" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE 1 +_ACEOF + + +fi + + +fi + +done + + +ac_fn_c_check_type "$LINENO" "struct br_mdb_entry" "ac_cv_type_struct_br_mdb_entry" "#include +" +if test "x$ac_cv_type_struct_br_mdb_entry" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_BR_MDB_ENTRY 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct br_port_msg" "ac_cv_type_struct_br_port_msg" "#include +" +if test "x$ac_cv_type_struct_br_port_msg" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_BR_PORT_MSG 1 +_ACEOF + + +fi + +ac_fn_c_check_member "$LINENO" "struct br_mdb_entry" "flags" "ac_cv_member_struct_br_mdb_entry_flags" "#include +" +if test "x$ac_cv_member_struct_br_mdb_entry_flags" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_BR_MDB_ENTRY_FLAGS 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct br_mdb_entry" "vid" "ac_cv_member_struct_br_mdb_entry_vid" "#include +" +if test "x$ac_cv_member_struct_br_mdb_entry_vid" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_BR_MDB_ENTRY_VID 1 +_ACEOF + + +fi + + +ac_fn_c_check_type "$LINENO" "struct dcbmsg" "ac_cv_type_struct_dcbmsg" "#include +" +if test "x$ac_cv_type_struct_dcbmsg" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_DCBMSG 1 _ACEOF @@ -10899,7 +11322,8 @@ _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct rta_mfc_stats" "ac_cv_type_struct_rta_mfc_stats" "#include +ac_fn_c_check_type "$LINENO" "struct rta_mfc_stats" "ac_cv_type_struct_rta_mfc_stats" "#include +#include " if test "x$ac_cv_type_struct_rta_mfc_stats" = xyes; then : @@ -10909,7 +11333,8 @@ _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct rtvia" "ac_cv_type_struct_rtvia" "#include +ac_fn_c_check_type "$LINENO" "struct rtvia" "ac_cv_type_struct_rtvia" "#include +#include " if test "x$ac_cv_type_struct_rtvia" = xyes; then : @@ -10952,19 +11377,32 @@ _ACEOF fi - - -ac_fn_c_check_type "$LINENO" "struct ifla_bridge_id" "ac_cv_type_struct_ifla_bridge_id" "#include + + +ac_fn_c_check_type "$LINENO" "struct ifla_bridge_id" "ac_cv_type_struct_ifla_bridge_id" "#include +#include +" +if test "x$ac_cv_type_struct_ifla_bridge_id" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_IFLA_BRIDGE_ID 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "struct ifla_cacheinfo" "ac_cv_type_struct_ifla_cacheinfo" "#include +#include " -if test "x$ac_cv_type_struct_ifla_bridge_id" = xyes; then : +if test "x$ac_cv_type_struct_ifla_cacheinfo" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_IFLA_BRIDGE_ID 1 +#define HAVE_STRUCT_IFLA_CACHEINFO 1 _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct ifla_port_vsi" "ac_cv_type_struct_ifla_port_vsi" "#include +ac_fn_c_check_type "$LINENO" "struct ifla_port_vsi" "ac_cv_type_struct_ifla_port_vsi" "#include +#include " if test "x$ac_cv_type_struct_ifla_port_vsi" = xyes; then : @@ -10974,7 +11412,8 @@ _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct rtnl_link_stats64" "ac_cv_type_struct_rtnl_link_stats64" "#include +ac_fn_c_check_type "$LINENO" "struct rtnl_link_stats64" "ac_cv_type_struct_rtnl_link_stats64" "#include +#include " if test "x$ac_cv_type_struct_rtnl_link_stats64" = xyes; then : @@ -10985,7 +11424,8 @@ _ACEOF fi -ac_fn_c_check_member "$LINENO" "struct rtnl_link_stats" "rx_nohandler" "ac_cv_member_struct_rtnl_link_stats_rx_nohandler" "#include +ac_fn_c_check_member "$LINENO" "struct rtnl_link_stats" "rx_nohandler" "ac_cv_member_struct_rtnl_link_stats_rx_nohandler" "#include +#include " if test "x$ac_cv_member_struct_rtnl_link_stats_rx_nohandler" = xyes; then : @@ -10995,7 +11435,8 @@ _ACEOF fi -ac_fn_c_check_member "$LINENO" "struct rtnl_link_stats64" "rx_nohandler" "ac_cv_member_struct_rtnl_link_stats64_rx_nohandler" "#include +ac_fn_c_check_member "$LINENO" "struct rtnl_link_stats64" "rx_nohandler" "ac_cv_member_struct_rtnl_link_stats64_rx_nohandler" "#include +#include " if test "x$ac_cv_member_struct_rtnl_link_stats64_rx_nohandler" = xyes; then : @@ -11006,6 +11447,55 @@ _ACEOF fi +ac_fn_c_check_decl "$LINENO" "IFLA_PORT_SELF" "ac_cv_have_decl_IFLA_PORT_SELF" "#include +#include +" +if test "x$ac_cv_have_decl_IFLA_PORT_SELF" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_IFLA_PORT_SELF $ac_have_decl +_ACEOF +ac_fn_c_check_decl "$LINENO" "IFLA_PROTINFO" "ac_cv_have_decl_IFLA_PROTINFO" "#include +#include +" +if test "x$ac_cv_have_decl_IFLA_PROTINFO" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_IFLA_PROTINFO $ac_have_decl +_ACEOF +ac_fn_c_check_decl "$LINENO" "IFLA_AF_SPEC" "ac_cv_have_decl_IFLA_AF_SPEC" "#include +#include +" +if test "x$ac_cv_have_decl_IFLA_AF_SPEC" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_IFLA_AF_SPEC $ac_have_decl +_ACEOF +ac_fn_c_check_decl "$LINENO" "IFLA_XDP" "ac_cv_have_decl_IFLA_XDP" "#include +#include +" +if test "x$ac_cv_have_decl_IFLA_XDP" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_IFLA_XDP $ac_have_decl +_ACEOF + ac_fn_c_check_type "$LINENO" "struct gnet_stats_basic" "ac_cv_type_struct_gnet_stats_basic" "#include " @@ -11049,7 +11539,8 @@ _ACEOF fi -ac_fn_c_check_type "$LINENO" "struct tc_sizespec" "ac_cv_type_struct_tc_sizespec" "#include +ac_fn_c_check_type "$LINENO" "struct tc_sizespec" "ac_cv_type_struct_tc_sizespec" "#include +#include " if test "x$ac_cv_type_struct_tc_sizespec" = xyes; then : @@ -11060,6 +11551,19 @@ _ACEOF fi +ac_fn_c_check_decl "$LINENO" "TCA_STAB_DATA" "ac_cv_have_decl_TCA_STAB_DATA" "#include +#include +" +if test "x$ac_cv_have_decl_TCA_STAB_DATA" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_TCA_STAB_DATA $ac_have_decl +_ACEOF + ac_fn_c_check_type "$LINENO" "struct fib_rule_uid_range" "ac_cv_type_struct_fib_rule_uid_range" "#include " @@ -11070,6 +11574,16 @@ cat >>confdefs.h <<_ACEOF _ACEOF +fi +ac_fn_c_check_type "$LINENO" "struct fib_rule_port_range" "ac_cv_type_struct_fib_rule_port_range" "#include +" +if test "x$ac_cv_type_struct_fib_rule_port_range" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_FIB_RULE_PORT_RANGE 1 +_ACEOF + + fi @@ -11271,6 +11785,21 @@ _ACEOF fi +saved_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS -I$srcdir/linux" +ac_fn_c_check_type "$LINENO" "struct __aio_sigset" "ac_cv_type_struct___aio_sigset" "#include +" +if test "x$ac_cv_type_struct___aio_sigset" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT___AIO_SIGSET 1 +_ACEOF + + +fi + +CPPFLAGS="$saved_CPPFLAGS" + for ac_header in linux/btrfs.h do : ac_fn_c_check_header_mongrel "$LINENO" "linux/btrfs.h" "ac_cv_header_linux_btrfs_h" "$ac_includes_default" @@ -13560,25 +14089,58 @@ int main () { static_assert(1,"") + ; return 0; } + _ACEOF if ac_fn_c_try_link "$LINENO"; then : st_cv_have_static_assert=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +_Static_assert(1,"") + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + st_cv_have_static_assert=_Static_assert else st_cv_have_static_assert=no + fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext + + +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 +case "x$st_cv_have_static_assert" in + xyes) $as_echo "#define HAVE_STATIC_ASSERT 1" >>confdefs.h -fi + ;; + x_Static_assert) + +$as_echo "#define HAVE__STATIC_ASSERT 1" >>confdefs.h + + ;; +esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dladdr in -ldl" >&5 $as_echo_n "checking for dladdr in -ldl... " >&6; } @@ -13963,9 +14525,47 @@ else fi -libunwind_CPPFLAGS= -libunwind_LDFLAGS= -libunwind_LIBS= + +# Check whether --enable-stacktrace was given. +if test "${enable_stacktrace+set}" = set; then : + enableval=$enable_stacktrace; case "$enableval" in + yes|no|check) enable_stacktrace="$enableval" ;; + *) as_fn_error $? "bad value $enableval for enable-stacktrace option. + Valid options are: yes, no, check." "$LINENO" 5 + ;; + esac +else + enable_stacktrace=check +fi + + +use_unwinder= + +if test x"$enable_stacktrace" != xno; then : + +: ${libdw_CPPFLAGS=} +: ${libdw_CFLAGS=} +: ${libdw_LDFLAGS=} +: ${libdw_LIBS=} + + +# Check whether --with-libdw was given. +if test "${with_libdw+set}" = set; then : + withval=$with_libdw; case "${withval}" in + yes|no|check) ;; + *) libdw_CPPFLAGS="-I${withval}/include" + libdw_LDFLAGS="-L${withval}/lib" + with_libdw=yes ;; + esac + +else + with_libdw=check + +fi + + + + # Check whether --with-libunwind was given. if test "${with_libunwind+set}" = set; then : @@ -13981,8 +14581,154 @@ else fi -use_libunwind=no -if test "x$with_libunwind" != xno; then : + + if test "x$with_libdw" = xyes && test "x$with_libunwind" = xyes; then : + as_fn_error $? "--with-libdw=yes and --with-libunwind=yes are mutually exclusive" "$LINENO" 5 +elif test "x$with_libdw" = xyes; then : + with_libunwind=no +elif test "x$with_libunwind" = xyes; then : + with_libdw=no + +fi + if test "x$use_unwinder" = x; then : + +have_libdw= + +if test "x$with_libdw" != xno && test "x$use_unwinder" = x; then : + saved_CPPFLAGS="$CPPFLAGS" + saved_CFLAGS="$CFLAGS" + CPPFLAGS="$CPPFLAGS $libdw_CPPFLAGS" + CFLAGS="$CFLAGS $libdw_CFLAGS" + + for ac_header in elfutils/libdwfl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "elfutils/libdwfl.h" "ac_cv_header_elfutils_libdwfl_h" "$ac_includes_default" +if test "x$ac_cv_header_elfutils_libdwfl_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ELFUTILS_LIBDWFL_H 1 +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dwfl_linux_proc_attach in -ldw" >&5 +$as_echo_n "checking for dwfl_linux_proc_attach in -ldw... " >&6; } +if ${ac_cv_lib_dw_dwfl_linux_proc_attach+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldw $libdw_LDFLAGS $libdw_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 dwfl_linux_proc_attach (); +int +main () +{ +return dwfl_linux_proc_attach (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dw_dwfl_linux_proc_attach=yes +else + ac_cv_lib_dw_dwfl_linux_proc_attach=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dw_dwfl_linux_proc_attach" >&5 +$as_echo "$ac_cv_lib_dw_dwfl_linux_proc_attach" >&6; } +if test "x$ac_cv_lib_dw_dwfl_linux_proc_attach" = xyes; then : + libdw_LIBS="-ldw $libdw_LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elfutils version" >&5 +$as_echo_n "checking for elfutils version... " >&6; } +if ${st_cv_ELFUTILS_VERSION+:} false; then : + $as_echo_n "(cached) " >&6 +else + st_cv_ELFUTILS_VERSION="$(echo _ELFUTILS_VERSION | + $CPP $CPPFLAGS -P -imacros elfutils/version.h - | + grep '^[0-9]')" + test -n "$st_cv_ELFUTILS_VERSION" || + st_cv_ELFUTILS_VERSION=0 + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_ELFUTILS_VERSION" >&5 +$as_echo "$st_cv_ELFUTILS_VERSION" >&6; } + if test "$st_cv_ELFUTILS_VERSION" -ge 164; then : + have_libdw=yes +else + if test "x$with_libdw" = xyes; then : + as_fn_error $? "elfutils version >= 164 is required for stack tracing support" "$LINENO" 5 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: elfutils version >= 164 is required for stack tracing support" >&5 +$as_echo "$as_me: WARNING: elfutils version >= 164 is required for stack tracing support" >&2;} + +fi + + +fi + +else + if test "x$with_libdw" = xyes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to find dwfl_linux_proc_attach in libdw +See \`config.log' for more details" "$LINENO" 5; } +fi + +fi + + +else + if test "x$with_libdw" = xyes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to find elfutils/libdwfl.h +See \`config.log' for more details" "$LINENO" 5; } + +fi + + +fi + +done + + + CFLAGS="$saved_CFLAGS" + CPPFLAGS="$saved_CPPFLAGS" + + +fi + +if test "x$have_libdw" = xyes; then : + use_unwinder=libdw + +$as_echo "#define USE_LIBDW 1" >>confdefs.h + + + + + + + +fi + + +fi + if test "x$use_unwinder" = x; then : + +libunwind_CPPFLAGS= +libunwind_LDFLAGS= +libunwind_LIBS= + +if test "x$with_libunwind" != xno && test "x$use_unwinder" = x; then : saved_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $libunwind_CPPFLAGS" @@ -14097,7 +14843,7 @@ fi $as_echo "$ac_cv_lib_unwind_ptrace__UPT_create" >&6; } if test "x$ac_cv_lib_unwind_ptrace__UPT_create" = xyes; then : libunwind_LIBS="-lunwind-ptrace $libunwind_LIBS" - use_libunwind=yes + use_unwinder=libunwind else if test "x$with_libunwind" != xcheck; then @@ -14159,9 +14905,7 @@ done fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable stack tracing support using libunwind" >&5 -$as_echo_n "checking whether to enable stack tracing support using libunwind... " >&6; } -if test "x$use_libunwind" = xyes; then +if test "x$use_unwinder" = xlibunwind; then $as_echo "#define USE_LIBUNWIND 1" >>confdefs.h @@ -14169,7 +14913,36 @@ $as_echo "#define USE_LIBUNWIND 1" >>confdefs.h fi - if test "x$use_libunwind" = xyes; then + + +fi + if test x"$enable_stacktrace$use_unwinder" = xyes; then : + as_fn_error $? "stack tracing support requires an unwinder" "$LINENO" 5 + +fi + + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable stack tracing support" >&5 +$as_echo_n "checking whether to enable stack tracing support... " >&6; } + if test "x$use_unwinder" != x; then + ENABLE_STACKTRACE_TRUE= + ENABLE_STACKTRACE_FALSE='#' +else + ENABLE_STACKTRACE_TRUE='#' + ENABLE_STACKTRACE_FALSE= +fi + + if test "x$use_unwinder" = xlibdw; then + USE_LIBDW_TRUE= + USE_LIBDW_FALSE='#' +else + USE_LIBDW_TRUE='#' + USE_LIBDW_FALSE= +fi + + if test "x$use_unwinder" = xlibunwind; then USE_LIBUNWIND_TRUE= USE_LIBUNWIND_FALSE='#' else @@ -14177,12 +14950,20 @@ else USE_LIBUNWIND_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_libunwind" >&5 -$as_echo "$use_libunwind" >&6; } -libiberty_CPPFLAGS= -libiberty_LDFLAGS= -libiberty_LIBS= +use_libiberty= +if test "x$use_unwinder" != x; then : + +$as_echo "#define ENABLE_STACKTRACE 1" >>confdefs.h + + +cat >>confdefs.h <<_ACEOF +#define USE_UNWINDER "$use_unwinder" +_ACEOF + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, using $use_unwinder" >&5 +$as_echo "yes, using $use_unwinder" >&6; } + # Check whether --with-libiberty was given. if test "${with_libiberty+set}" = set; then : @@ -14198,8 +14979,12 @@ else fi +libiberty_CPPFLAGS= +libiberty_LDFLAGS= +libiberty_LIBS= use_libiberty=no -if test "x$use_libunwind" = xyes && test "x$with_libiberty" != xno; then : + +if test "x$with_libiberty" != xno; then : saved_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $libiberty_CPPFLAGS" for ac_header in demangle.h libiberty/demangle.h @@ -14283,8 +15068,8 @@ done fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable demangling symbols in stack trace" >&5 -$as_echo_n "checking whether to enable demangling symbols in stack trace... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable symbols demangling in stack trace" >&5 +$as_echo_n "checking whether to enable symbols demangling in stack trace... " >&6; } if test "x$use_libiberty" = xyes; then $as_echo "#define USE_DEMANGLE 1" >>confdefs.h @@ -14293,6 +15078,15 @@ $as_echo "#define USE_DEMANGLE 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_libiberty" >&5 +$as_echo "$use_libiberty" >&6; } + + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$use_libiberty" = xyes; then USE_DEMANGLE_TRUE= USE_DEMANGLE_FALSE='#' @@ -14301,8 +15095,8 @@ else USE_DEMANGLE_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_libiberty" >&5 -$as_echo "$use_libiberty" >&6; } + + if test "$arch" = mips && test "$no_create" != yes; then mkdir -p linux/mips @@ -15885,6 +16679,14 @@ if test -z "${CODE_COVERAGE_ENABLED_TRUE}" && test -z "${CODE_COVERAGE_ENABLED_F Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_STACKTRACE_TRUE}" && test -z "${ENABLE_STACKTRACE_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_STACKTRACE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${USE_LIBDW_TRUE}" && test -z "${USE_LIBDW_FALSE}"; then + as_fn_error $? "conditional \"USE_LIBDW\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${USE_LIBUNWIND_TRUE}" && test -z "${USE_LIBUNWIND_FALSE}"; then as_fn_error $? "conditional \"USE_LIBUNWIND\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -16310,7 +17112,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.22, which was +This file was extended by strace $as_me 4.23, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16377,7 +17179,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -strace config.status 4.22 +strace config.status 4.23 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 6e53f982..9dec1b23 100644 --- a/configure.ac +++ b/configure.ac @@ -46,9 +46,9 @@ AM_INIT_AUTOMAKE([foreign nostdinc dist-xz silent-rules parallel-tests 1.13]) AM_MAINTAINER_MODE AC_CANONICAL_HOST -RPM_CHANGELOGTIME="$(LC_TIME=C date '+%a %b %d %Y')" +RPM_CHANGELOGTIME="$(LC_TIME=C date -u '+%a %b %d %Y')" AC_SUBST(RPM_CHANGELOGTIME) -DEB_CHANGELOGTIME="$(LC_TIME=C date -R)" +DEB_CHANGELOGTIME="$(LC_TIME=C date -u -R)" AC_SUBST(DEB_CHANGELOGTIME) AC_PROG_CC @@ -322,7 +322,9 @@ AC_CHECK_TYPES(m4_normalize([ struct flock, struct flock64, struct __kernel_flock, - struct __kernel_flock64 + struct __kernel_flock64, + struct f_owner_ex, + struct __kernel_f_owner_ex ]),,, [#include #include ]) @@ -382,7 +384,6 @@ AC_CHECK_HEADERS(m4_normalize([ asm/cachectl.h asm/guarded_storage.h asm/sysmips.h - bluetooth/bluetooth.h elf.h iconv.h inttypes.h @@ -465,10 +466,20 @@ AC_CHECK_HEADERS([linux/input.h], [ ]) AC_CHECK_HEADERS([linux/bpf.h], [ - AC_CHECK_TYPES([struct bpf_insn],,, [#include ]) + AC_CHECK_TYPES(m4_normalize([ + struct bpf_insn, + struct bpf_map_info, + struct bpf_prog_info + ]),,, [#include ]) st_BPF_ATTR ]) +AC_CHECK_HEADERS([bluetooth/bluetooth.h], [ + AC_CHECK_MEMBERS([struct sockaddr_l2.l2_bdaddr_type],,, + [#include + #include ]) +]) + AC_CHECK_TYPES(m4_normalize([ struct br_mdb_entry, struct br_port_msg @@ -485,7 +496,8 @@ AC_CHECK_TYPES([struct netconfmsg],,, [#include ]) AC_CHECK_TYPES(m4_normalize([ struct rta_mfc_stats, struct rtvia -]),,, [#include ]) +]),,, [#include +#include ]) AC_CHECK_MEMBERS([struct ndt_stats.ndts_table_fulls],,, [#include ]) AC_CHECK_TYPES(m4_normalize([ @@ -495,13 +507,23 @@ AC_CHECK_TYPES(m4_normalize([ AC_CHECK_TYPES(m4_normalize([ struct ifla_bridge_id, + struct ifla_cacheinfo, struct ifla_port_vsi, struct rtnl_link_stats64 -]),,, [#include ]) +]),,, [#include +#include ]) AC_CHECK_MEMBERS(m4_normalize([ struct rtnl_link_stats.rx_nohandler, struct rtnl_link_stats64.rx_nohandler -]),,, [#include ]) +]),,, [#include +#include ]) +AC_CHECK_DECLS(m4_normalize([ + IFLA_PORT_SELF, + IFLA_PROTINFO, + IFLA_AF_SPEC, + IFLA_XDP +]),,, [#include +#include ]) AC_CHECK_TYPES(m4_normalize([ struct gnet_stats_basic, @@ -510,9 +532,15 @@ AC_CHECK_TYPES(m4_normalize([ struct gnet_stats_rate_est64 ]),,, [#include ]) -AC_CHECK_TYPES([struct tc_sizespec],,, [#include ]) +AC_CHECK_TYPES([struct tc_sizespec],,, [#include +#include ]) +AC_CHECK_DECLS([TCA_STAB_DATA],,, [#include +#include ]) -AC_CHECK_TYPES([struct fib_rule_uid_range],,, [#include ]) +AC_CHECK_TYPES(m4_normalize([ + struct fib_rule_uid_range, + struct fib_rule_port_range +]),,, [#include ]) AC_CHECK_TYPES([struct statfs], [ AC_CHECK_MEMBERS(m4_normalize([ @@ -552,6 +580,11 @@ AC_CHECK_TYPES(m4_normalize([ struct kvm_userspace_memory_region ]),,, [#include ]) +saved_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS -I$srcdir/linux" +AC_CHECK_TYPES([struct __aio_sigset],,, [#include ]) +CPPFLAGS="$saved_CPPFLAGS" + AC_CHECK_HEADERS([linux/btrfs.h], [ AC_CHECK_MEMBERS(m4_normalize([ struct btrfs_ioctl_feature_flags.compat_flags, @@ -797,13 +830,31 @@ fi AC_CACHE_CHECK([for static_assert], [st_cv_have_static_assert], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[static_assert(1,"")]])], + [[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_LINK_IFELSE([AC_LANG_PROGRAM([], + [[_Static_assert(1,"")]] + ) + ], + [st_cv_have_static_assert=_Static_assert], + [st_cv_have_static_assert=no] + ) + ] + ) + ] + ) +case "x$st_cv_have_static_assert" in + xyes) + AC_DEFINE([HAVE_STATIC_ASSERT], [1], + [Define to 1 if the system provides static_assert]) + ;; + x_Static_assert) + AC_DEFINE([HAVE__STATIC_ASSERT], [1], + [Define to 1 if the system provides _Static_assert]) + ;; +esac AC_CHECK_LIB([dl], [dladdr], [dl_LIBS='-ldl'], [dl_LIBS=]) if test "x$ac_cv_lib_dl_dladdr" = xyes; then @@ -844,148 +895,7 @@ AC_PATH_PROG([PERL], [perl]) AC_CHECK_TOOL([READELF], [readelf]) -dnl stack trace with libunwind -libunwind_CPPFLAGS= -libunwind_LDFLAGS= -libunwind_LIBS= -AC_ARG_WITH([libunwind], - [AS_HELP_STRING([--with-libunwind], - [use libunwind to implement stack tracing support])], - [case "${withval}" in - yes|no|check) ;; - *) with_libunwind=yes - libunwind_CPPFLAGS="-I${withval}/include" - libunwind_LDFLAGS="-L${withval}/lib" ;; - esac], - [with_libunwind=check] -) - -use_libunwind=no -AS_IF([test "x$with_libunwind" != xno], - [saved_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $libunwind_CPPFLAGS" - - AC_CHECK_HEADERS([libunwind-ptrace.h], - [saved_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $libunwind_LDFLAGS" - - AC_CHECK_LIB([unwind], [backtrace], - [libunwind_LIBS="-lunwind $libunwind_LIBS" - - AC_MSG_CHECKING([for unw_create_addr_space in libunwind-generic]) - saved_LIBS="$LIBS" - LIBS="-lunwind-generic $libunwind_LIBS $LIBS" - - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[return !unw_create_addr_space(0, 0)]]) - ], - [AC_MSG_RESULT([yes]) - libunwind_LIBS="-lunwind-generic $libunwind_LIBS" - - AC_CHECK_LIB([unwind-ptrace], [_UPT_create], - [libunwind_LIBS="-lunwind-ptrace $libunwind_LIBS" - use_libunwind=yes - ], - [if test "x$with_libunwind" != xcheck; then - AC_MSG_FAILURE([failed to find _UPT_create in libunwind-ptrace]) - fi - ], - [$libunwind_LIBS] - ) - ], - [AC_MSG_RESULT([no]) - if test "x$with_libunwind" != xcheck; then - AC_MSG_FAILURE([failed to find unw_create_addr_space in libunwind-generic]) - fi - ] - ) - - LIBS="$saved_LIBS" - ], - [if test "x$with_libunwind" != xcheck; then - AC_MSG_FAILURE([failed to find libunwind]) - fi - ], - [$libunwind_LIBS] - ) - - LDFLAGS="$saved_LDFLAGS" - ], - [if test "x$with_libunwind" != xcheck; then - AC_MSG_FAILURE([failed to find libunwind-ptrace.h]) - fi - ] - ) - - CPPFLAGS="$saved_CPPFLAGS" - ] -) - -dnl enable libunwind -AC_MSG_CHECKING([whether to enable stack tracing support using libunwind]) -if test "x$use_libunwind" = xyes; then - AC_DEFINE([USE_LIBUNWIND], 1, [Compile stack tracing functionality]) - AC_SUBST(libunwind_LIBS) - AC_SUBST(libunwind_LDFLAGS) - AC_SUBST(libunwind_CPPFLAGS) -fi -AM_CONDITIONAL([USE_LIBUNWIND], [test "x$use_libunwind" = xyes]) -AC_MSG_RESULT([$use_libunwind]) - -dnl demangling symbols in the stack trace -libiberty_CPPFLAGS= -libiberty_LDFLAGS= -libiberty_LIBS= -AC_ARG_WITH([libiberty], - [AS_HELP_STRING([--with-libiberty], - [use libiberty to demangle symbols in stack trace])], - [case "${withval}" in - yes|no|check) ;; - *) with_libiberty=yes - libiberty_CPPFLAGS="-I${withval}/include" - libiberty_LDFLAGS="-L${withval}/lib" ;; - esac], - [with_libiberty=check] -) - -use_libiberty=no -AS_IF([test "x$use_libunwind" = xyes && test "x$with_libiberty" != xno], - [saved_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $libiberty_CPPFLAGS" - AC_CHECK_HEADERS([demangle.h libiberty/demangle.h], - [saved_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $libiberty_LDFLAGS" - AC_CHECK_LIB([iberty],[cplus_demangle], - [libiberty_LIBS="-liberty" - use_libiberty=yes - ], - [if test "x$with_libiberty" != xcheck; then - AC_MSG_FAILURE([failed to find cplus_demangle in libiberty]) - fi - ] - ) - LDFLAGS="$saved_LDFLAGS" - ], - [if test "x$with_libiberty" != xcheck; then - AC_MSG_FAILURE([failed to find demangle.h]) - fi - ] - ) - CPPFLAGS="$saved_CPPFLAGS" - ] -) - -dnl enable libiberty -AC_MSG_CHECKING([whether to enable demangling symbols in stack trace]) -if test "x$use_libiberty" = xyes; then - AC_DEFINE([USE_DEMANGLE], 1, [Do demangling symbols in stack trace]) - AC_SUBST(libiberty_LIBS) - AC_SUBST(libiberty_LDFLAGS) - AC_SUBST(libiberty_CPPFLAGS) -fi -AM_CONDITIONAL([USE_DEMANGLE], [test "x$use_libiberty" = xyes]) -AC_MSG_RESULT([$use_libiberty]) +st_STACKTRACE if test "$arch" = mips && test "$no_create" != yes; then mkdir -p linux/mips diff --git a/debian/changelog b/debian/changelog index a93aed6d..2b099680 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,14 @@ -strace (4.22-1) experimental; urgency=low +strace (4.23-1) experimental; urgency=low - * strace 4.22 snapshot. + * strace 4.23 snapshot. - -- Strace Thu, 14 Jun 2018 16:29:09 -0700 + -- Strace Fri, 15 Jun 2018 17:54:18 +0000 + +strace (4.22-1) unstable; urgency=medium + + * New upstream version. + + -- Dmitry V. Levin Thu, 05 Apr 2018 04:05:06 +0000 strace (4.21-1) unstable; urgency=medium diff --git a/debian/changelog.in b/debian/changelog.in index f9f7c202..833f2cf0 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.22-1) unstable; urgency=medium + + * New upstream version. + + -- Dmitry V. Levin Thu, 05 Apr 2018 04:05:06 +0000 + strace (4.21-1) unstable; urgency=medium * New upstream version. diff --git a/debian/control b/debian/control index 3caffd18..38e13a13 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ 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], libbluetooth-dev +Build-Depends: libc6-dev (>= 2.2.2) [!alpha !ia64], libc6.1-dev (>= 2.2.2) [alpha ia64], gcc-multilib [amd64 i386 powerpc ppc64 ppc64el s390 s390x sparc sparc64 x32], debhelper (>= 7.0.0), gawk, libdw-dev, libiberty-dev, libbluetooth-dev Standards-Version: 4.1.3 Homepage: https://strace.io Vcs-Git: https://salsa.debian.org/debian/strace.git diff --git a/debian/rules b/debian/rules index f335fedf..b22767ac 100755 --- a/debian/rules +++ b/debian/rules @@ -61,7 +61,7 @@ build/Makefile: configure build-udeb/Makefile: configure mkdir -p $(@D) cd $(@D); sh ../configure --enable-mpers=check --prefix=/usr \ - --without-libunwind --without-libiberty $(CONFIG_OPTS) + --without-stacktrace --without-libiberty $(CONFIG_OPTS) build64/Makefile: configure mkdir -p $(@D) diff --git a/defs.h b/defs.h index 62aa11c9..4437d6fb 100644 --- a/defs.h +++ b/defs.h @@ -166,6 +166,12 @@ extern char *stpcpy(char *dst, const char *src); # define HAVE_PERSONALITY_2_MPERS 0 #endif +#ifdef WORDS_BIGENDIAN +# define is_bigendian true +#else +# define is_bigendian false +#endif + typedef struct ioctlent { const char *symbol; unsigned int code; @@ -176,12 +182,22 @@ typedef struct ioctlent { #define INJECT_F_RETVAL 0x04 #define INJECT_F_DELAY_ENTER 0x08 #define INJECT_F_DELAY_EXIT 0x10 +#define INJECT_F_SYSCALL 0x20 + +#define INJECT_ACTION_FLAGS \ + (INJECT_F_SIGNAL \ + |INJECT_F_ERROR \ + |INJECT_F_RETVAL \ + |INJECT_F_DELAY_ENTER \ + |INJECT_F_DELAY_EXIT \ + ) struct inject_data { - uint8_t flags; /* 5 of 8 flags are used so far */ + uint8_t flags; /* 6 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 */ + uint16_t scno; /* syscall to be injected instead of -1 */ }; struct inject_opts { @@ -219,10 +235,8 @@ struct tcb { struct timespec delay_expiration_time; /* When does the delay end */ struct mmap_cache_t *mmap_cache; - unsigned int mmap_cache_size; - unsigned int mmap_cache_generation; -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE void *unwind_ctx; struct unwind_queue_t *unwind_queue; #endif @@ -257,6 +271,8 @@ struct tcb { #define TCB_INJECT_DELAY_EXIT 0x800 /* Current syscall needs to be delayed on exit */ #define TCB_DELAYED 0x1000 /* Current syscall has been delayed */ +#define TCB_TAMPERED_NO_FAIL 0x2000 /* We tamper tcb with syscall + that should not fail. */ /* qualifier flags */ #define QUAL_TRACE 0x001 /* this system call should be traced */ @@ -281,24 +297,38 @@ struct tcb { #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) +#define syscall_tampered_nofail(tcp) ((tcp)->flags & TCB_TAMPERED_NO_FAIL) #include "xlat.h" extern const struct xlat addrfams[]; + +/** Protocol hardware identifiers array, sorted, defined in sockaddr.c. */ extern const struct xlat arp_hardware_types[]; +/** Protocol hardware identifiers array size without terminating record. */ +extern const size_t arp_hardware_types_size; + 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. */ +/** Ethernet protocols list, sorted, defined in sockaddr.c. */ extern const struct xlat ethernet_protocols[]; /** Ethernet protocols array size without terminating record. */ extern const size_t ethernet_protocols_size; +/** IP protocols list, sorted, defined in net.c. */ +extern const struct xlat inet_protocols[]; +/** IP protocols array size without terminating record. */ +extern const size_t inet_protocols_size; + extern const struct xlat evdev_abs[]; +/** Number of elements in evdev_abs array without the terminating record. */ +extern const size_t evdev_abs_size; + extern const struct xlat iffflags[]; -extern const struct xlat inet_protocols[]; extern const struct xlat ip_type_of_services[]; +extern const struct xlat ipc_private[]; extern const struct xlat msg_flags[]; extern const struct xlat netlink_protocols[]; extern const struct xlat nl_netfilter_msg_types[]; @@ -377,7 +407,7 @@ extern struct path_set { #define tracing_paths (global_path_set.num_selected != 0) extern unsigned xflag; extern unsigned followfork; -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE /* if this is true do the stack trace for every system call */ extern bool stack_trace_enabled; #endif @@ -456,43 +486,90 @@ static inline int set_tcb_priv_ulong(struct tcb *tcp, unsigned long val) return set_tcb_priv_data(tcp, (void *) val, 0); } +/** + * @return 0 on success, -1 on error. + */ extern int umoven(struct tcb *, kernel_ulong_t addr, unsigned int len, void *laddr); #define umove(pid, addr, objp) \ umoven((pid), (addr), sizeof(*(objp)), (void *) (objp)) +/** + * @return true on success, false on error. + */ +extern bool +tfetch_mem64(struct tcb *, uint64_t addr, unsigned int len, void *laddr); + +static inline bool +tfetch_mem(struct tcb *tcp, const kernel_ulong_t addr, + unsigned int len, void *laddr) +{ + return tfetch_mem64(tcp, addr, len, laddr); +} +#define tfetch_obj(pid, addr, objp) \ + tfetch_mem((pid), (addr), sizeof(*(objp)), (void *) (objp)) + +/** + * @return true on success, false on error. + */ +extern bool +tfetch_mem64_ignore_syserror(struct tcb *, uint64_t addr, + unsigned int len, void *laddr); + +static inline bool +tfetch_mem_ignore_syserror(struct tcb *tcp, const kernel_ulong_t addr, + unsigned int len, void *laddr) +{ + return tfetch_mem64_ignore_syserror(tcp, addr, len, laddr); +} + +/** + * @return 0 on success, -1 on error (and print addr). + */ extern int -umoven_or_printaddr(struct tcb *, kernel_ulong_t addr, - unsigned int len, void *laddr); +umoven_or_printaddr64(struct tcb *, uint64_t addr, + unsigned int len, void *laddr); +#define umove_or_printaddr64(pid, addr, objp) \ + umoven_or_printaddr64((pid), (addr), sizeof(*(objp)), (void *) (objp)) + +static inline int +umoven_or_printaddr(struct tcb *tcp, const kernel_ulong_t addr, + unsigned int len, void *laddr) +{ + return umoven_or_printaddr64(tcp, addr, len, laddr); +} #define umove_or_printaddr(pid, addr, objp) \ umoven_or_printaddr((pid), (addr), sizeof(*(objp)), (void *) (objp)) +/** + * @return 0 on success, -1 on error (and print addr). + */ extern int -umoven_or_printaddr_ignore_syserror(struct tcb *, kernel_ulong_t addr, - unsigned int len, void *laddr); +umoven_or_printaddr64_ignore_syserror(struct tcb *, uint64_t addr, + unsigned int len, void *laddr); +#define umove_or_printaddr64_ignore_syserror(pid, addr, objp) \ + umoven_or_printaddr64_ignore_syserror((pid), (addr), sizeof(*(objp)), \ + (void *) (objp)) + +static inline int +umoven_or_printaddr_ignore_syserror(struct tcb *tcp, const kernel_ulong_t addr, + unsigned int len, void *laddr) +{ + return umoven_or_printaddr64_ignore_syserror(tcp, addr, len, laddr); +} +#define umove_or_printaddr_ignore_syserror(pid, addr, objp) \ + umoven_or_printaddr_ignore_syserror((pid), (addr), sizeof(*(objp)), \ + (void *) (objp)) +/** + * @return strlen + 1 on success, 0 on success and no NUL seen, -1 on error. + */ extern int umovestr(struct tcb *, kernel_ulong_t addr, unsigned int len, char *laddr); extern int upeek(struct tcb *tcp, unsigned long, kernel_ulong_t *); extern int upoke(struct tcb *tcp, unsigned long, kernel_ulong_t); -extern bool -print_array(struct tcb *, - kernel_ulong_t start_addr, - size_t nmemb, - void *elem_buf, - size_t elem_size, - int (*umoven_func)(struct tcb *, - kernel_ulong_t, - unsigned int, - void *), - bool (*print_func)(struct tcb *, - void *elem_buf, - size_t elem_size, - void *opaque_data), - void *opaque_data); - #if HAVE_ARCH_GETRVAL2 extern long getrval2(struct tcb *); #endif @@ -500,16 +577,26 @@ extern long getrval2(struct tcb *); extern const char *signame(const int); extern void pathtrace_select_set(const char *, struct path_set *); extern bool pathtrace_match_set(struct tcb *, struct path_set *); -#define pathtrace_select(tcp) \ - pathtrace_select_set(tcp, &global_path_set) -#define pathtrace_match(tcp) \ - pathtrace_match_set(tcp, &global_path_set) + +static inline void +pathtrace_select(const char *path) +{ + return pathtrace_select_set(path, &global_path_set); +} + +static inline bool +pathtrace_match(struct tcb *tcp) +{ + return pathtrace_match_set(tcp, &global_path_set); +} + extern int getfdpath(struct tcb *, int, char *, unsigned); extern unsigned long getfdinode(struct tcb *, int); extern enum sock_proto getfdproto(struct tcb *, int); extern const char *xlookup(const struct xlat *, const uint64_t); extern const char *xlat_search(const struct xlat *, const size_t, const uint64_t); +extern const char *xlat_idx(const struct xlat *xlat, size_t nmemb, uint64_t val); struct dyxlat; struct dyxlat *dyxlat_alloc(size_t nmemb); @@ -564,11 +651,36 @@ 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 *, ...) + +static inline void +printaddr(const kernel_ulong_t addr) +{ + printaddr64(addr); +} + +#define xlat_verbose(style_) ((style_) & XLAT_STYLE_VERBOSITY_MASK) +#define xlat_format(style_) ((style_) & XLAT_STYLE_FORMAT_MASK) + +extern enum xlat_style xlat_verbosity; + +extern int printxvals_ex(uint64_t val, const char *dflt, + enum xlat_style, const struct xlat *, ...) ATTRIBUTE_SENTINEL; -extern int printxval_searchn(const struct xlat *xlat, size_t xlat_size, - uint64_t val, const char *dflt); +#define printxvals(val_, dflt_, ...) \ + printxvals_ex((val_), (dflt_), XLAT_STYLE_DEFAULT, __VA_ARGS__) + +extern int printxval_searchn_ex(const struct xlat *, size_t xlat_size, + uint64_t val, const char *dflt, + enum xlat_style); + +static inline int +printxval_searchn(const struct xlat *xlat, size_t xlat_size, uint64_t val, + const char *dflt) +{ + return printxval_searchn_ex(xlat, xlat_size, val, dflt, + XLAT_STYLE_DEFAULT); +} + /** * Wrapper around printxval_searchn that passes ARRAY_SIZE - 1 * as the array size, as all arrays are XLAT_END-terminated and @@ -576,24 +688,148 @@ extern int printxval_searchn(const struct xlat *xlat, size_t xlat_size, */ #define printxval_search(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); +#define printxval_search_ex(xlat__, val__, dflt__) \ + printxval_searchn_ex((xlat__), ARRAY_SIZE(xlat__) - 1, (val__), \ + (dflt__), XLAT_STYLE_DEFAULT) + +extern int printxval_indexn_ex(const struct xlat *, size_t xlat_size, + uint64_t val, const char *dflt, enum xlat_style); + +static inline int +printxval_indexn(const struct xlat *xlat, size_t xlat_size, uint64_t val, + const char *dflt) +{ + return printxval_indexn_ex(xlat, xlat_size, val, dflt, + XLAT_STYLE_DEFAULT); +} + +#define printxval_index(xlat__, val__, dflt__) \ + printxval_indexn(xlat__, ARRAY_SIZE(xlat__) - 1, val__, dflt__) +#define printxval_index_ex(xlat__, val__, dflt__) \ + printxval_indexn_ex((xlat__), ARRAY_SIZE(xlat__) - 1, (val__), \ + (dflt__), XLAT_STYLE_DEFAULT) + +extern int sprintxval_ex(char *buf, size_t size, const struct xlat *, + unsigned int val, const char *dflt, enum xlat_style); + +static inline int +sprintxval(char *buf, size_t size, const struct xlat *xlat, unsigned int val, + const char *dflt) +{ + return sprintxval_ex(buf, size, xlat, val, dflt, XLAT_STYLE_DEFAULT); +} + +extern void printxval_dispatch_ex(const struct xlat *, size_t xlat_size, + uint64_t val, const char *dflt, + enum xlat_type, enum xlat_style); +static inline void +printxval_dispatch(const struct xlat *xlat, size_t xlat_size, uint64_t val, + const char *dflt, enum xlat_type xt) +{ + return printxval_dispatch_ex(xlat, xlat_size, val, dflt, xt, + XLAT_STYLE_DEFAULT); +} + +/** Print a value in accordance with xlat formatting settings. */ +extern void print_xlat_ex(uint64_t val, const char *str, enum xlat_style style); +#define print_xlat(val_) \ + print_xlat_ex((val_), #val_, XLAT_STYLE_DEFAULT) +#define print_xlat32(val_) \ + print_xlat_ex((uint32_t) (val_), #val_, XLAT_STYLE_DEFAULT) +#define print_xlat_u(val_) \ + print_xlat_ex((val_), #val_, XLAT_STYLE_FMT_U) +#define print_xlat_d(val_) \ + print_xlat_ex((val_), #val_, XLAT_STYLE_FMT_D) + extern int printargs(struct tcb *); extern int printargs_u(struct tcb *); extern int printargs_d(struct tcb *); -extern int printflags_ex(uint64_t, const char *, const struct xlat *, ...) +extern int printflags_ex(uint64_t flags, const char *dflt, + enum xlat_style, const struct xlat *, ...) ATTRIBUTE_SENTINEL; -extern const char *sprintflags(const char *, const struct xlat *, uint64_t); +extern const char *sprintflags_ex(const char *prefix, const struct xlat *, + uint64_t flags, enum xlat_style); + +static inline const char * +sprintflags(const char *prefix, const struct xlat *xlat, uint64_t flags) +{ + return sprintflags_ex(prefix, xlat, flags, XLAT_STYLE_DEFAULT); +} + extern const char *sprinttime(long long sec); extern const char *sprinttime_nsec(long long sec, unsigned long long nsec); extern const char *sprinttime_usec(long long sec, unsigned long long usec); + +extern const char *sprint_mac_addr(const uint8_t addr[], size_t size); + extern void print_symbolic_mode_t(unsigned int); extern void print_numeric_umode_t(unsigned short); extern void print_numeric_long_umask(unsigned long); extern void print_dev_t(unsigned long long dev); extern void print_abnormal_hi(kernel_ulong_t); +extern bool print_int32_array_member(struct tcb *, void *elem_buf, + size_t elem_size, void *data); +extern bool print_uint32_array_member(struct tcb *, void *elem_buf, + size_t elem_size, void *data); +extern bool print_uint64_array_member(struct tcb *, void *elem_buf, + size_t elem_size, void *data); + +typedef bool (*tfetch_mem_fn)(struct tcb *, kernel_ulong_t addr, + unsigned int size, void *dest); +typedef bool (*print_fn)(struct tcb *, void *elem_buf, + size_t elem_size, void *opaque_data); + +enum print_array_flag_bits { + PAF_PRINT_INDICES_BIT = XLAT_STYLE_SPEC_BITS + 1, + PAF_INDEX_XLAT_SORTED_BIT, + PAF_INDEX_XLAT_VALUE_INDEXED_BIT, +}; + +#define FLAG_(name_) name_ = 1 << name_##_BIT + +enum print_array_flags { + FLAG_(PAF_PRINT_INDICES), + FLAG_(PAF_INDEX_XLAT_SORTED), + FLAG_(PAF_INDEX_XLAT_VALUE_INDEXED), +}; + +#undef FLAG_ + +/** + * @param flags Combination of xlat style settings and additional flags from + * enum print_array_flags. + */ +extern bool +print_array_ex(struct tcb *, + kernel_ulong_t start_addr, + size_t nmemb, + void *elem_buf, + size_t elem_size, + tfetch_mem_fn tfetch_mem_func, + print_fn print_func, + void *opaque_data, + unsigned int flags, + const struct xlat *index_xlat, + size_t index_xlat_size, + const char *index_dflt); + +static inline bool +print_array(struct tcb *const tcp, + const kernel_ulong_t start_addr, + const size_t nmemb, + void *const elem_buf, + const size_t elem_size, + tfetch_mem_fn tfetch_mem_func, + print_fn print_func, + void *const opaque_data) +{ + return print_array_ex(tcp, start_addr, nmemb, elem_buf, elem_size, + tfetch_mem_func, print_func, opaque_data, + 0, NULL, 0, NULL); +} + extern kernel_ulong_t * fetch_indirect_syscall_args(struct tcb *, kernel_ulong_t addr, unsigned int n_args); @@ -681,8 +917,15 @@ print_struct_statfs(struct tcb *, kernel_ulong_t addr); extern void print_struct_statfs64(struct tcb *, kernel_ulong_t addr, kernel_ulong_t size); +extern int +fetch_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr); +extern void +print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr); + extern void print_ifindex(unsigned int); +extern void print_bpf_filter_code(const uint16_t code, bool extended); + extern void qualify(const char *); extern unsigned int qual_flags(const unsigned int); @@ -695,6 +938,7 @@ DECL_IOCTL(dm); DECL_IOCTL(evdev); DECL_IOCTL(file); DECL_IOCTL(fs_x); +DECL_IOCTL(inotify); DECL_IOCTL(kvm); DECL_IOCTL(nsfs); DECL_IOCTL(ptp); @@ -724,6 +968,10 @@ DECL_NETLINK(route); DECL_NETLINK(selinux); DECL_NETLINK(sock_diag); +extern void +decode_netlink_kobject_uevent(struct tcb *, kernel_ulong_t addr, + kernel_ulong_t len); + extern int ts_nz(const struct timespec *); extern int ts_cmp(const struct timespec *, const struct timespec *); extern double ts_float(const struct timespec *); @@ -732,7 +980,7 @@ extern void ts_sub(struct timespec *, const struct timespec *, const struct time extern void ts_mul(struct timespec *, const struct timespec *, int); extern void ts_div(struct timespec *, const struct timespec *, int); -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE extern void unwind_init(void); extern void unwind_tcb_init(struct tcb *); extern void unwind_tcb_fin(struct tcb *); @@ -755,7 +1003,7 @@ printstr(struct tcb *tcp, kernel_ulong_t addr) static inline int printflags64(const struct xlat *x, uint64_t flags, const char *dflt) { - return printflags_ex(flags, dflt, x, NULL); + return printflags_ex(flags, dflt, XLAT_STYLE_DEFAULT, x, NULL); } static inline int @@ -776,6 +1024,30 @@ printxval(const struct xlat *x, const unsigned int val, const char *dflt) return printxvals(val, dflt, x, NULL); } +static inline int +printxval64_u(const struct xlat *x, const uint64_t val, const char *dflt) +{ + return printxvals_ex(val, dflt, XLAT_STYLE_FMT_U, x, NULL); +} + +static inline int +printxval_u(const struct xlat *x, const unsigned int val, const char *dflt) +{ + return printxvals_ex(val, dflt, XLAT_STYLE_FMT_U, x, NULL); +} + +static inline int +printxval64_d(const struct xlat *x, const int64_t val, const char *dflt) +{ + return printxvals_ex(val, dflt, XLAT_STYLE_FMT_D, x, NULL); +} + +static inline int +printxval_d(const struct xlat *x, const int val, const char *dflt) +{ + return printxvals_ex(val, dflt, XLAT_STYLE_FMT_D, x, NULL); +} + static inline void tprint_iov(struct tcb *tcp, kernel_ulong_t len, kernel_ulong_t addr, enum iov_decode decode_iov) @@ -840,6 +1112,19 @@ extern void tprints(const char *str); extern void tprintf_comment(const char *fmt, ...) ATTRIBUTE_FORMAT((printf, 1, 2)); extern void tprints_comment(const char *str); +static inline void +printaddr_comment(const kernel_ulong_t addr) +{ + tprintf_comment("%#llx", (unsigned long long) addr); +} + +static inline void +print_mac_addr(const char *prefix, const uint8_t addr[], size_t size) +{ + tprints(prefix); + tprints(sprint_mac_addr(addr, size)); +} + #if SUPPORTED_PERSONALITIES > 1 extern void set_personality(unsigned int personality); extern unsigned current_personality; @@ -925,39 +1210,94 @@ printnum_long_int(struct tcb *, kernel_ulong_t addr, const char *fmt_long, const char *fmt_int) ATTRIBUTE_FORMAT((printf, 3, 0)) ATTRIBUTE_FORMAT((printf, 4, 0)); + extern bool printnum_addr_long_int(struct tcb *, kernel_ulong_t addr); -# define printnum_slong(tcp, addr) \ - printnum_long_int((tcp), (addr), "%" PRId64, "%d") -# define printnum_ulong(tcp, addr) \ - printnum_long_int((tcp), (addr), "%" PRIu64, "%u") -# define printnum_ptr(tcp, addr) \ - printnum_addr_long_int((tcp), (addr)) + +static inline bool +printnum_slong(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_long_int(tcp, addr, "%" PRId64, "%d"); +} + +static inline bool +printnum_ulong(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_long_int(tcp, addr, "%" PRIu64, "%u"); +} + +static inline bool +printnum_ptr(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_addr_long_int(tcp, addr); +} + #elif current_wordsize > 4 -# define printnum_slong(tcp, addr) \ - printnum_int64((tcp), (addr), "%" PRId64) -# define printnum_ulong(tcp, addr) \ - printnum_int64((tcp), (addr), "%" PRIu64) -# define printnum_ptr(tcp, addr) \ - printnum_addr_int64((tcp), (addr)) + +static inline bool +printnum_slong(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_int64(tcp, addr, "%" PRId64); +} + +static inline bool +printnum_ulong(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_int64(tcp, addr, "%" PRIu64); +} + +static inline bool +printnum_ptr(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_addr_int64(tcp, addr); +} + #else /* current_wordsize == 4 */ -# define printnum_slong(tcp, addr) \ - printnum_int((tcp), (addr), "%d") -# define printnum_ulong(tcp, addr) \ - printnum_int((tcp), (addr), "%u") -# define printnum_ptr(tcp, addr) \ - printnum_addr_int((tcp), (addr)) + +static inline bool +printnum_slong(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_int(tcp, addr, "%d"); +} + +static inline bool +printnum_ulong(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_int(tcp, addr, "%u"); +} + +static inline bool +printnum_ptr(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_addr_int(tcp, addr); +} + #endif #ifndef current_klongsize extern bool printnum_addr_klong_int(struct tcb *, kernel_ulong_t addr); -# define printnum_kptr(tcp, addr) \ - printnum_addr_klong_int((tcp), (addr)) + +static inline bool +printnum_kptr(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_addr_klong_int(tcp, addr); +} + #elif current_klongsize > 4 -# define printnum_kptr(tcp, addr) \ - printnum_addr_int64((tcp), (addr)) + +static inline bool +printnum_kptr(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_addr_int64(tcp, addr); +} + #else /* current_klongsize == 4 */ -# define printnum_kptr(tcp, addr) \ - printnum_addr_int((tcp), (addr)) + +static inline bool +printnum_kptr(struct tcb *tcp, kernel_ulong_t addr) +{ + return printnum_addr_int(tcp, addr); +} + #endif #define DECL_PRINTPAIR(name) \ @@ -1021,28 +1361,27 @@ truncate_kulong_to_current_wordsize(const kernel_ulong_t v) sizeof(v) == sizeof(long) ? (long long) (long) (v) : \ (long long) (v)) +extern const char *const errnoent[]; +extern const char *const signalent[]; +extern const unsigned int nerrnos; +extern const unsigned int nsignals; + extern const struct_sysent sysent0[]; -extern const char *const errnoent0[]; -extern const char *const signalent0[]; extern const struct_ioctlent ioctlent0[]; extern const char *const personality_names[]; +/* Personality designators to be used for specifying personality */ +extern const char *const personality_designators[]; #if SUPPORTED_PERSONALITIES > 1 extern const struct_sysent *sysent; -extern const char *const *errnoent; -extern const char *const *signalent; extern const struct_ioctlent *ioctlent; #else # define sysent sysent0 -# define errnoent errnoent0 -# define signalent signalent0 # define ioctlent ioctlent0 #endif extern unsigned nsyscalls; -extern unsigned nerrnos; -extern unsigned nsignals; extern unsigned nioctlents; extern const unsigned int nsyscall_vec[SUPPORTED_PERSONALITIES]; diff --git a/dm.c b/dm.c index 77a286b3..963852f8 100644 --- a/dm.c +++ b/dm.c @@ -237,7 +237,7 @@ dm_decode_dm_target_deps(struct tcb *const tcp, const kernel_ulong_t addr, tprints(", deps="); print_array(tcp, addr + offset_end, s.count, &dev_buf, sizeof(dev_buf), - umoven_or_printaddr, dm_print_dev, NULL); + tfetch_mem, dm_print_dev, NULL); tprints("}"); diff --git a/epoll.c b/epoll.c index d5f2f551..80883c98 100644 --- a/epoll.c +++ b/epoll.c @@ -2,7 +2,7 @@ * Copyright (c) 2004-2007 Ulrich Drepper * Copyright (c) 2004 Roland McGrath * Copyright (c) 2005-2015 Dmitry V. Levin - * 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 @@ -94,7 +94,7 @@ epoll_wait_common(struct tcb *tcp) } else { struct epoll_event ev; print_array(tcp, tcp->u_arg[1], tcp->u_rval, &ev, sizeof(ev), - umoven_or_printaddr, print_epoll_event, 0); + tfetch_mem, print_epoll_event, 0); tprintf(", %d, %d", (int) tcp->u_arg[2], (int) tcp->u_arg[3]); } } diff --git a/error_prints.c b/error_prints.c index 710e99b0..6808318f 100644 --- a/error_prints.c +++ b/error_prints.c @@ -1,5 +1,5 @@ /* - * 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 @@ -90,6 +90,7 @@ error_msg_and_die(const char *fmt, ...) va_list p; va_start(p, fmt); verror_msg(0, fmt, p); + va_end(p); die(); } @@ -100,6 +101,7 @@ error_msg_and_help(const char *fmt, ...) va_list p; va_start(p, fmt); verror_msg(0, fmt, p); + va_end(p); } fprintf(stderr, "Try '%s -h' for more information.\n", program_invocation_name); @@ -121,5 +123,6 @@ perror_msg_and_die(const char *fmt, ...) va_list p; va_start(p, fmt); verror_msg(errno, fmt, p); + va_end(p); die(); } diff --git a/evdev.c b/evdev.c index 674c1c05..7ca15c9d 100644 --- a/evdev.c +++ b/evdev.c @@ -29,6 +29,8 @@ #include "defs.h" +#include "xlat/evdev_abs.h" + #ifdef HAVE_LINUX_INPUT_H # include @@ -51,6 +53,8 @@ # define SYN_MAX 0xf # endif +const size_t evdev_abs_size = ARRAY_SIZE(evdev_abs) - 1; + static int abs_ioctl(struct tcb *const tcp, const kernel_ulong_t arg) { @@ -94,7 +98,7 @@ keycode_ioctl(struct tcb *const tcp, const kernel_ulong_t arg) if (!umove_or_printaddr(tcp, arg, &keycode)) { tprintf("[%u, ", keycode[0]); - printxval(evdev_keycode, keycode[1], "KEY_???"); + printxval_index(evdev_keycode, keycode[1], "KEY_???"); tprints("]"); } @@ -121,7 +125,7 @@ keycode_V2_ioctl(struct tcb *const tcp, const kernel_ulong_t arg) unsigned int i; tprintf("index=%" PRIu16 ", keycode=", ike.index); - printxval(evdev_keycode, ike.keycode, "KEY_???"); + printxval_index(evdev_keycode, ike.keycode, "KEY_???"); tprints(", scancode=["); for (i = 0; i < ARRAY_SIZE(ike.scancode); i++) { if (i > 0) @@ -160,9 +164,9 @@ getid_ioctl(struct tcb *const tcp, const kernel_ulong_t arg) } static int -decode_bitset(struct tcb *const tcp, const kernel_ulong_t arg, - const struct xlat decode_nr[], const unsigned int max_nr, - const char *const dflt) +decode_bitset_(struct tcb *const tcp, const kernel_ulong_t arg, + const struct xlat decode_nr[], const unsigned int max_nr, + const char *const dflt, size_t decode_nr_size, enum xlat_type xt) { tprints(", "); @@ -183,7 +187,7 @@ decode_bitset(struct tcb *const tcp, const kernel_ulong_t arg, if (i < 0) { tprints(" 0 "); } else { - printxval(decode_nr, i, dflt); + printxval_dispatch(decode_nr, decode_nr_size, i, dflt, xt); while ((i = next_set_bit(decoded_arg, i + 1, size)) > 0) { if (abbrev(tcp) && bit_displayed >= 3) { @@ -191,7 +195,8 @@ decode_bitset(struct tcb *const tcp, const kernel_ulong_t arg, break; } tprints(", "); - printxval(decode_nr, i, dflt); + printxval_dispatch(decode_nr, decode_nr_size, i, dflt, + xt); bit_displayed++; } } @@ -201,6 +206,10 @@ decode_bitset(struct tcb *const tcp, const kernel_ulong_t arg, return RVAL_IOCTL_DECODED; } +#define decode_bitset(tcp_, arg_, decode_nr_, max_nr_, dflt_, xt_) \ + decode_bitset_((tcp_), (arg_), (decode_nr_), (max_nr_), \ + (dflt_), ARRAY_SIZE(decode_nr_), (xt_)) + # ifdef EVIOCGMTSLOTS static int mtslots_ioctl(struct tcb *const tcp, const unsigned int code, @@ -251,43 +260,42 @@ bit_ioctl(struct tcb *const tcp, const unsigned int ev_nr, switch (ev_nr) { case EV_SYN: return decode_bitset(tcp, arg, evdev_sync, - SYN_MAX, "SYN_???"); + SYN_MAX, "SYN_???", XT_INDEXED); case EV_KEY: return decode_bitset(tcp, arg, evdev_keycode, - KEY_MAX, "KEY_???"); + KEY_MAX, "KEY_???", XT_INDEXED); case EV_REL: return decode_bitset(tcp, arg, evdev_relative_axes, - REL_MAX, "REL_???"); + REL_MAX, "REL_???", XT_INDEXED); case EV_ABS: return decode_bitset(tcp, arg, evdev_abs, - ABS_MAX, "ABS_???"); + ABS_MAX, "ABS_???", XT_INDEXED); case EV_MSC: return decode_bitset(tcp, arg, evdev_misc, - MSC_MAX, "MSC_???"); -# ifdef EV_SW + MSC_MAX, "MSC_???", XT_INDEXED); case EV_SW: return decode_bitset(tcp, arg, evdev_switch, - SW_MAX, "SW_???"); -# endif + SW_MAX, "SW_???", XT_INDEXED); case EV_LED: return decode_bitset(tcp, arg, evdev_leds, - LED_MAX, "LED_???"); + LED_MAX, "LED_???", XT_INDEXED); case EV_SND: return decode_bitset(tcp, arg, evdev_snd, - SND_MAX, "SND_???"); + SND_MAX, "SND_???", XT_INDEXED); case EV_REP: return decode_bitset(tcp, arg, evdev_autorepeat, - REP_MAX, "REP_???"); + REP_MAX, "REP_???", XT_INDEXED); case EV_FF: return decode_bitset(tcp, arg, evdev_ff_types, - FF_MAX, "FF_???"); + FF_MAX, "FF_???", XT_SORTED); case EV_PWR: tprints(", "); printnum_int(tcp, arg, "%d"); return RVAL_IOCTL_DECODED; case EV_FF_STATUS: return decode_bitset(tcp, arg, evdev_ff_status, - FF_STATUS_MAX, "FF_STATUS_???"); + FF_STATUS_MAX, "FF_STATUS_???", + XT_INDEXED); default: tprints(", "); printaddr(arg); @@ -341,22 +349,23 @@ evdev_read_ioctl(struct tcb *const tcp, const unsigned int code, # ifdef EVIOCGPROP case _IOC_NR(EVIOCGPROP(0)): return decode_bitset(tcp, arg, evdev_prop, - INPUT_PROP_MAX, "PROP_???"); + INPUT_PROP_MAX, "PROP_???", + XT_INDEXED); # endif case _IOC_NR(EVIOCGSND(0)): return decode_bitset(tcp, arg, evdev_snd, - SND_MAX, "SND_???"); + SND_MAX, "SND_???", XT_INDEXED); # ifdef EVIOCGSW case _IOC_NR(EVIOCGSW(0)): return decode_bitset(tcp, arg, evdev_switch, - SW_MAX, "SW_???"); + SW_MAX, "SW_???", XT_INDEXED); # endif case _IOC_NR(EVIOCGKEY(0)): return decode_bitset(tcp, arg, evdev_keycode, - KEY_MAX, "KEY_???"); + KEY_MAX, "KEY_???", XT_INDEXED); case _IOC_NR(EVIOCGLED(0)): return decode_bitset(tcp, arg, evdev_leds, - LED_MAX, "LED_???"); + LED_MAX, "LED_???", XT_INDEXED); } /* multi-number fixed-length commands */ diff --git a/execve.c b/execve.c index 5455b153..32c84d07 100644 --- a/execve.c +++ b/execve.c @@ -6,7 +6,7 @@ * Copyright (c) 2007 Roland McGrath * Copyright (c) 2011-2012 Denys Vlasenko * Copyright (c) 2010-2015 Dmitry V. Levin - * 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 @@ -57,8 +57,11 @@ printargv(struct tcb *const tcp, kernel_ulong_t addr) if (umoven(tcp, addr, wordsize, cp.data)) { if (sep == start_sep) printaddr(addr); - else - tprints(", ???]"); + else { + tprints(", ..."); + printaddr_comment(addr); + tprints("]"); + } return; } if (!(wordsize < sizeof(cp.p64) ? cp.p32 : cp.p64)) { diff --git a/f_owner_ex.h b/f_owner_ex.h new file mode 100644 index 00000000..ec76ac85 --- /dev/null +++ b/f_owner_ex.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2018 Dmitry V. Levin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (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_F_OWNER_EX_H +#define STRACE_F_OWNER_EX_H + +#include + +#if defined HAVE_STRUCT_F_OWNER_EX +typedef struct f_owner_ex struct_kernel_f_owner_ex; +#elif defined HAVE_STRUCT___KERNEL_F_OWNER_EX +typedef struct __kernel_f_owner_ex struct_kernel_f_owner_ex; +#else +# error struct f_owner_ex definition not found in +#endif + +#endif /* !STRACE_F_OWNER_EX_H */ diff --git a/fanotify.c b/fanotify.c index a9ec0e9e..d99f3840 100644 --- a/fanotify.c +++ b/fanotify.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2014-2015 Dmitry V. Levin - * 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 @@ -75,10 +75,12 @@ SYS_FUNC(fanotify_mark) #endif printflags64(fan_event_flags, mask, "FAN_???"); tprints(", "); - if ((int) tcp->u_arg[argn] == FAN_NOFD) - tprints("FAN_NOFD, "); - else + if ((int) tcp->u_arg[argn] == FAN_NOFD) { + print_xlat_d(FAN_NOFD); + tprints(", "); + } else { print_dirfd(tcp, tcp->u_arg[argn]); + } printpath(tcp, tcp->u_arg[argn + 1]); return RVAL_DECODED; diff --git a/fcntl.c b/fcntl.c index a42489bd..973684e1 100644 --- a/fcntl.c +++ b/fcntl.c @@ -3,7 +3,7 @@ * Copyright (c) 1993 Branko Lankester * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey * Copyright (c) 1996-1999 Wichert Akkerman - * 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 @@ -35,7 +35,6 @@ #include "xlat/f_owner_types.h" #include "xlat/f_seals.h" #include "xlat/fcntlcmds.h" -#include "xlat/fcntl64cmds.h" #include "xlat/fdflags.h" #include "xlat/lockfcmds.h" #include "xlat/notifyflags.h" @@ -197,18 +196,7 @@ SYS_FUNC(fcntl) if (entering(tcp)) { printfd(tcp, tcp->u_arg[0]); tprints(", "); - const unsigned int cmd = tcp->u_arg[1]; - const char *str = xlookup(fcntlcmds, cmd); - if (str) { - tprints(str); - } else { - /* - * fcntl syscall does not recognize these - * constants, but we would like to show them - * for better debugging experience. - */ - printxval(fcntl64cmds, cmd, "F_???"); - } + printxval(fcntlcmds, tcp->u_arg[1], "F_???"); } return print_fcntl(tcp); } @@ -219,12 +207,7 @@ SYS_FUNC(fcntl64) if (entering(tcp)) { printfd(tcp, tcp->u_arg[0]); tprints(", "); - const char *str = xlookup(fcntl64cmds, cmd); - if (str) { - tprints(str); - } else { - printxval(fcntlcmds, cmd, "F_???"); - } + printxval(fcntlcmds, cmd, "F_???"); } switch (cmd) { case F_SETLK64: diff --git a/file_ioctl.c b/file_ioctl.c index 51b88f17..fc45aa69 100644 --- a/file_ioctl.c +++ b/file_ioctl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2016 Jeff Mahoney - * 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 @@ -185,7 +185,7 @@ file_ioctl(struct tcb *const tcp, const unsigned int code, rc = print_array(tcp, arg + offsetof(typeof(args), info), args.dest_count, &info, sizeof(info), - umoven_or_printaddr, + tfetch_mem, print_file_dedupe_range_info, limit); tprints("}"); @@ -225,15 +225,15 @@ file_ioctl(struct tcb *const tcp, const unsigned int code, "FIEMAP_FLAG_???"); tprintf(", fm_mapped_extents=%u", args.fm_mapped_extents); - tprints(", fm_extents="); if (abbrev(tcp)) { - tprints("..."); + tprints(", ..."); } else { struct fiemap_extent fe; + tprints(", fm_extents="); print_array(tcp, arg + offsetof(typeof(args), fm_extents), args.fm_mapped_extents, &fe, sizeof(fe), - umoven_or_printaddr, + tfetch_mem, print_fiemap_extent, 0); } tprints("}"); diff --git a/filter_qualify.c b/filter_qualify.c index c1283fb0..9b5569c3 100644 --- a/filter_qualify.c +++ b/filter_qualify.c @@ -43,6 +43,11 @@ static struct number_set *raw_set; static struct number_set *trace_set; static struct number_set *verbose_set; +/* Only syscall numbers are personality-specific so far. */ +struct inject_personality_data { + uint16_t scno; +}; + static int sigstr_to_uint(const char *s) { @@ -102,6 +107,7 @@ parse_delay_token(const char *input, struct inject_opts *fopts, bool isenter) static bool parse_inject_token(const char *const token, struct inject_opts *const fopts, + struct inject_personality_data *const pdata, const bool fault_tokens_only) { const char *val; @@ -137,6 +143,27 @@ parse_inject_token(const char *const token, struct inject_opts *const fopts, /* F == F+0 */ fopts->step = 0; } + } else if ((val = STR_STRIP_PREFIX(token, "syscall=")) != token) { + if (fopts->data.flags & INJECT_F_SYSCALL) + return false; + + for (unsigned int p = 0; p < SUPPORTED_PERSONALITIES; ++p) { + kernel_long_t scno = scno_by_name(val, p, 0); + + if (scno < 0) + return false; + + /* + * We want to inject only pure system calls with no side + * effects. + */ + if (!(sysent_vec[p][scno].sys_flags & TRACE_PURE)) + return false; + + pdata[p].scno = scno; + } + + fopts->data.flags |= INJECT_F_SYSCALL; } else if ((val = STR_STRIP_PREFIX(token, "error=")) != token) { if (fopts->data.flags & (INJECT_F_ERROR | INJECT_F_RETVAL)) return false; @@ -223,6 +250,7 @@ parse_inject_token(const char *const token, struct inject_opts *const fopts, static const char * parse_inject_expression(char *const str, struct inject_opts *const fopts, + struct inject_personality_data *const pdata, const bool fault_tokens_only) { if (str[0] == '\0' || str[0] == ':') @@ -233,7 +261,7 @@ parse_inject_expression(char *const str, char *token; while ((token = strtok_r(NULL, ":", &saveptr))) { - if (!parse_inject_token(token, fopts, fault_tokens_only)) + if (!parse_inject_token(token, fopts, pdata, fault_tokens_only)) return NULL; } @@ -308,9 +336,10 @@ qualify_inject_common(const char *const str, .delay_idx = -1 } }; + struct inject_personality_data pdata[SUPPORTED_PERSONALITIES] = { { 0 } }; char *copy = xstrdup(str); const char *name = - parse_inject_expression(copy, &opts, fault_tokens_only); + parse_inject_expression(copy, &opts, pdata, fault_tokens_only); if (!name) error_msg_and_die("invalid %s '%s'", description, str); @@ -321,7 +350,7 @@ qualify_inject_common(const char *const str, free(copy); /* If neither of retval, error, signal or delay is specified, then ... */ - if (!opts.data.flags) { + if (!(opts.data.flags & INJECT_ACTION_FLAGS)) { if (fault_tokens_only) { /* in fault= syntax the default error code is ENOSYS. */ opts.data.rval_idx = retval_new(ENOSYS); @@ -353,6 +382,10 @@ qualify_inject_common(const char *const str, if (is_number_in_set_array(i, tmp_set, p)) { add_number_to_set_array(i, inject_set, p); inject_vec[p][i] = opts; + + /* Copy per-personality data. */ + inject_vec[p][i].data.scno = + pdata[p].scno; } } } diff --git a/futex.c b/futex.c index 16ccddb7..9ce4ced5 100644 --- a/futex.c +++ b/futex.c @@ -3,7 +3,7 @@ * Copyright (c) 2007-2008 Ulrich Drepper * Copyright (c) 2009 Andreas Schwab * Copyright (c) 2014-2015 Dmitry V. Levin - * 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 @@ -37,6 +37,9 @@ #ifndef FUTEX_CLOCK_REALTIME # define FUTEX_CLOCK_REALTIME 256 #endif +#ifndef FUTEX_OP_OPARG_SHIFT +# define FUTEX_OP_OPARG_SHIFT 8 +#endif #include "xlat/futexops.h" #include "xlat/futexwakeops.h" @@ -94,8 +97,10 @@ SYS_FUNC(futex) tprintf(", %u, ", val2); printaddr(uaddr2); tprints(", "); - if ((val3 >> 28) & 8) - tprints("FUTEX_OP_OPARG_SHIFT<<28|"); + if ((val3 >> 28) & FUTEX_OP_OPARG_SHIFT) { + print_xlat(FUTEX_OP_OPARG_SHIFT); + tprints("<<28|"); + } comment = printxval(futexwakeops, (val3 >> 28) & 0x7, NULL) ? NULL : "FUTEX_OP_???"; tprints("<<28"); diff --git a/gcc_compat.h b/gcc_compat.h index 771286aa..251080bb 100644 --- a/gcc_compat.h +++ b/gcc_compat.h @@ -99,4 +99,15 @@ # define ATTRIBUTE_FALLTHROUGH ((void) 0) #endif +#if GNUC_PREREQ(6, 0) +# define DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE \ + _Pragma("GCC diagnostic push"); \ + _Pragma("GCC diagnostic ignored \"-Wtautological-compare\""); +# define DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE \ + _Pragma("GCC diagnostic pop"); +#else +# define DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE /* empty */ +# define DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE /* empty */ +#endif + #endif /* !STRACE_GCC_COMPAT_H */ diff --git a/gen_bpf_attr_check.sh b/gen_bpf_attr_check.sh index 9da75ad9..517e6212 100755 --- a/gen_bpf_attr_check.sh +++ b/gen_bpf_attr_check.sh @@ -38,23 +38,29 @@ cat <member_)) EOF -for struct in $(sed -n 's/^struct \(BPF_[^[:space:]]\+_struct\) .*/\1/p' < "$input"); do +for struct in $(sed -n 's/^struct \([^[:space:]]\+_struct\) .*/\1/p' < "$input"); do + case "$struct" in + BPF_*) type_name='union bpf_attr' ;; + *) type_name="struct ${struct%_struct}" ;; + esac + TYPE_NAME="$(printf %s "$type_name" |tr '[:lower:] ' '[:upper:]_')" + 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' | + sed -n 's/^[[:space:]]\+[^][;]*[[:space:]]\([^][[:space:];]\+\)\(\[[^;]*\]\)\?;$/\1/p' | while read field; do FIELD="$(printf %s "$field" |tr '[:lower:]' '[:upper:]')" cat < + +#ifndef INOTIFY_IOC_SETNEXTWD +# define INOTIFY_IOC_SETNEXTWD _IOW('I', 0, int32_t) +#endif + +int +inotify_ioctl(struct tcb *const tcp, const unsigned int code, + const kernel_ulong_t arg) +{ + switch (code) { + case INOTIFY_IOC_SETNEXTWD: + tprintf(", %d", (int) arg); + + return RVAL_IOCTL_DECODED; + } + + return RVAL_DECODED; +} diff --git a/io.c b/io.c index 9ce1cf55..cd803057 100644 --- a/io.c +++ b/io.c @@ -3,7 +3,7 @@ * Copyright (c) 1993 Branko Lankester * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey * Copyright (c) 1996-1999 Wichert Akkerman - * 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 @@ -123,7 +123,7 @@ tprint_iov_upto(struct tcb *const tcp, const kernel_ulong_t len, }; print_array(tcp, addr, len, iov, current_wordsize * 2, - umoven_or_printaddr_ignore_syserror, print_iovec, &config); + tfetch_mem_ignore_syserror, print_iovec, &config); } SYS_FUNC(readv) diff --git a/ioctl.c b/ioctl.c index 132925d8..93fb5263 100644 --- a/ioctl.c +++ b/ioctl.c @@ -33,11 +33,6 @@ #include #include "xlat/ioctl_dirs.h" -#ifdef HAVE_LINUX_INPUT_H -# include -#endif - -#include "xlat/evdev_abs.h" #include "xlat/evdev_ev.h" static int @@ -92,7 +87,8 @@ evdev_decode_number(const unsigned int code) if (_IOC_DIR(code) == _IOC_WRITE) { if (nr >= 0xc0 && nr <= 0xc0 + 0x3f) { tprints("EVIOCSABS("); - printxval(evdev_abs, nr - 0xc0, "ABS_???"); + printxval_indexn(evdev_abs, evdev_abs_size, nr - 0xc0, + "ABS_???"); tprints(")"); return 1; } @@ -108,7 +104,8 @@ evdev_decode_number(const unsigned int code) return 1; } else if (nr >= 0x40 && nr <= 0x40 + 0x3f) { tprints("EVIOCGABS("); - printxval(evdev_abs, nr - 0x40, "ABS_???"); + printxval_indexn(evdev_abs, evdev_abs_size, nr - 0x40, + "ABS_???"); tprints(")"); return 1; } @@ -258,6 +255,8 @@ ioctl_decode(struct tcb *tcp) const kernel_ulong_t arg = tcp->u_arg[2]; switch (_IOC_TYPE(code)) { + case '$': + return perf_ioctl(tcp, code, arg); #if defined(ALPHA) || defined(POWERPC) case 'f': { int ret = file_ioctl(tcp, code, arg); @@ -325,6 +324,8 @@ ioctl_decode(struct tcb *tcp) case 0xae: return kvm_ioctl(tcp, code, arg); #endif + case 'I': + return inotify_ioctl(tcp, code, arg); default: break; } @@ -339,19 +340,29 @@ SYS_FUNC(ioctl) if (entering(tcp)) { printfd(tcp, tcp->u_arg[0]); tprints(", "); - ret = ioctl_decode_command_number(tcp); - if (!(ret & IOCTL_NUMBER_STOP_LOOKUP)) { - iop = ioctl_lookup(tcp->u_arg[1]); - if (iop) { - if (ret) - tprints(" or "); - tprints(iop->symbol); - while ((iop = ioctl_next_match(iop))) - tprintf(" or %s", iop->symbol); - } else if (!ret) { - ioctl_print_code(tcp->u_arg[1]); + + if (xlat_verbosity != XLAT_STYLE_ABBREV) + tprintf("%#x", (unsigned int) tcp->u_arg[1]); + if (xlat_verbosity == XLAT_STYLE_VERBOSE) + tprints(" /* "); + if (xlat_verbosity != XLAT_STYLE_RAW) { + ret = ioctl_decode_command_number(tcp); + if (!(ret & IOCTL_NUMBER_STOP_LOOKUP)) { + iop = ioctl_lookup(tcp->u_arg[1]); + if (iop) { + if (ret) + tprints(" or "); + tprints(iop->symbol); + while ((iop = ioctl_next_match(iop))) + tprintf(" or %s", iop->symbol); + } else if (!ret) { + ioctl_print_code(tcp->u_arg[1]); + } } } + if (xlat_verbosity == XLAT_STYLE_VERBOSE) + tprints(" */"); + ret = ioctl_decode(tcp); } else { ret = ioctl_decode(tcp) | RVAL_DECODED; diff --git a/ioctl_redefs1.h b/ioctl_redefs1.h index 7021e384..77a7dc06 100644 --- a/ioctl_redefs1.h +++ b/ioctl_redefs1.h @@ -646,62 +646,6 @@ # 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 @@ -866,6 +810,10 @@ # undef PERF_EVENT_IOC_ID # define PERF_EVENT_IOC_ID 0x80042407 #endif +#ifdef PERF_EVENT_IOC_MODIFY_ATTRIBUTES +# undef PERF_EVENT_IOC_MODIFY_ATTRIBUTES +# define PERF_EVENT_IOC_MODIFY_ATTRIBUTES 0x4004240b +#endif #ifdef PERF_EVENT_IOC_QUERY_BPF # undef PERF_EVENT_IOC_QUERY_BPF # define PERF_EVENT_IOC_QUERY_BPF 0xc004240a @@ -890,22 +838,6 @@ # 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 diff --git a/ioctlent0.h b/ioctlent0.h index a4d4e28d..a6f923ee 100644 --- a/ioctlent0.h +++ b/ioctlent0.h @@ -173,6 +173,7 @@ { "VFIO_IOMMU_UNMAP_DMA", 0x00003b72 }, { "VFIO_DEVICE_GET_GFX_DMABUF", 0x00003b73 }, { "VFIO_IOMMU_ENABLE", 0x00003b73 }, +{ "VFIO_DEVICE_IOEVENTFD", 0x00003b74 }, { "VFIO_IOMMU_DISABLE", 0x00003b74 }, { "VFIO_IOMMU_SPAPR_REGISTER_MEMORY", 0x00003b75 }, { "VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY", 0x00003b76 }, @@ -354,6 +355,7 @@ { "RFKILL_IOCTL_NOINPUT", 0x00005201 }, { "RNDZAPENTCNT", 0x00005204 }, { "RNDCLEARPOOL", 0x00005206 }, +{ "RNDRESEEDCRNG", 0x00005207 }, { "CDROMPAUSE", 0x00005301 }, { "CDROMRESUME", 0x00005302 }, { "CDROMPLAYMSF", 0x00005303 }, @@ -666,34 +668,6 @@ { "PPRELEASE", 0x0000708c }, { "PPYIELD", 0x0000708d }, { "PPEXCL", 0x0000708f }, -{ "PHONE_CAPABILITIES", 0x00007180 }, -{ "PHONE_RING", 0x00007183 }, -{ "PHONE_HOOKSTATE", 0x00007184 }, -{ "OLD_PHONE_RING_START", 0x00007187 }, -{ "PHONE_RING_STOP", 0x00007188 }, -{ "PHONE_REC_START", 0x0000718a }, -{ "PHONE_REC_STOP", 0x0000718b }, -{ "PHONE_REC_LEVEL", 0x0000718f }, -{ "PHONE_PLAY_START", 0x00007191 }, -{ "PHONE_PLAY_STOP", 0x00007192 }, -{ "PHONE_PLAY_LEVEL", 0x00007195 }, -{ "PHONE_GET_TONE_ON_TIME", 0x0000719e }, -{ "PHONE_GET_TONE_OFF_TIME", 0x0000719f }, -{ "PHONE_GET_TONE_STATE", 0x000071a0 }, -{ "PHONE_BUSY", 0x000071a1 }, -{ "PHONE_RINGBACK", 0x000071a2 }, -{ "PHONE_DIALTONE", 0x000071a3 }, -{ "PHONE_CPT_STOP", 0x000071a4 }, -{ "PHONE_PSTN_GET_STATE", 0x000071a5 }, -{ "PHONE_PSTN_LINETEST", 0x000071a8 }, -{ "IXJCTL_DSP_RESET", 0x000071c0 }, -{ "IXJCTL_DSP_IDLE", 0x000071c5 }, -{ "IXJCTL_TESTRAM", 0x000071c6 }, -{ "IXJCTL_AEC_STOP", 0x000071cc }, -{ "IXJCTL_AEC_GET_LEVEL", 0x000071cd }, -{ "IXJCTL_PSTN_LINETEST", 0x000071d3 }, -{ "IXJCTL_PLAY_CID", 0x000071d7 }, -{ "IXJCTL_DRYBUFFER_CLEAR", 0x000071e7 }, { "BR_OK", 0x00007201 }, { "BR_DEAD_REPLY", 0x00007205 }, { "BR_TRANSACTION_COMPLETE", 0x00007206 }, @@ -885,7 +859,10 @@ { "VHOST_SET_OWNER", 0x0000af01 }, { "VHOST_RESET_OWNER", 0x0000af02 }, { "BT_BMC_IOCTL_SMS_ATN", 0x0000b100 }, +{ "IPMI_BMC_IOCTL_SET_SMS_ATN", 0x0000b100 }, +{ "IPMI_BMC_IOCTL_CLEAR_SMS_ATN", 0x0000b101 }, { "PPPOEIOCDFWD", 0x0000b101 }, +{ "IPMI_BMC_IOCTL_FORCE_ABORT", 0x0000b102 }, { "RPMSG_DESTROY_EPT_IOCTL", 0x0000b502 }, { "NS_GET_USERNS", 0x0000b701 }, { "NS_GET_PARENT", 0x0000b702 }, @@ -915,8 +892,6 @@ { "PPWCONTROL", 0x40017084 }, { "PPWDATA", 0x40017086 }, { "PPWCTLONIRQ", 0x40017092 }, -{ "PHONE_MAXRINGS", 0x40017185 }, -{ "PHONE_PLAY_TONE", 0x4001719b }, { "SONYPI_IOCSBRT", 0x40017600 }, { "SONYPI_IOCSBLUE", 0x40017609 }, { "SONYPI_IOCSFAN", 0x4001760b }, @@ -932,7 +907,6 @@ { "DMX_ADD_PID", 0x40026f33 }, { "DMX_REMOVE_PID", 0x40026f34 }, { "PPFCONTROL", 0x4002708e }, -{ "PHONE_RING_CADENCE", 0x40027186 }, { "SET_BITMAP_FILE", 0x4004092b }, { "IB_USER_MAD_UNREGISTER_AGENT", 0x40041b02 }, { "HFI1_IOCTL_RECV_CTRL", 0x40041be8 }, @@ -988,6 +962,7 @@ { "HCISETSCOMTU", 0x400448e4 }, { "HCIBLOCKADDR", 0x400448e6 }, { "HCIUNBLOCKADDR", 0x400448e7 }, +{ "INOTIFY_IOC_SETNEXTWD", 0x40044900 }, { "MFB_SET_PIXFMT", 0x40044d08 }, { "OTPGETREGIONCOUNT", 0x40044d0e }, { "UBI_IOCEBER", 0x40044f01 }, @@ -1109,37 +1084,6 @@ { "PPNEGOT", 0x40047091 }, { "PPSETPHASE", 0x40047094 }, { "PPSETFLAGS", 0x4004709b }, -{ "PHONE_REC_CODEC", 0x40047189 }, -{ "PHONE_REC_DEPTH", 0x4004718c }, -{ "PHONE_FRAME", 0x4004718d }, -{ "PHONE_REC_VOLUME", 0x4004718e }, -{ "PHONE_PLAY_CODEC", 0x40047190 }, -{ "PHONE_PLAY_DEPTH", 0x40047193 }, -{ "PHONE_PLAY_VOLUME", 0x40047194 }, -{ "PHONE_DTMF_OOB", 0x40047199 }, -{ "PHONE_SET_TONE_ON_TIME", 0x4004719c }, -{ "PHONE_SET_TONE_OFF_TIME", 0x4004719d }, -{ "PHONE_PSTN_SET_STATE", 0x400471a4 }, -{ "PHONE_WINK_DURATION", 0x400471a6 }, -{ "PHONE_VAD", 0x400471a9 }, -{ "PHONE_WINK", 0x400471aa }, -{ "IXJCTL_GET_FILTER_HIST", 0x400471c8 }, -{ "IXJCTL_AEC_START", 0x400471cb }, -{ "IXJCTL_SET_LED", 0x400471ce }, -{ "IXJCTL_MIXER", 0x400471cf }, -{ "IXJCTL_DAA_COEFF_SET", 0x400471d0 }, -{ "IXJCTL_PORT", 0x400471d1 }, -{ "IXJCTL_DAA_AGAIN", 0x400471d2 }, -{ "IXJCTL_POTS_PSTN", 0x400471d5 }, -{ "PHONE_REC_VOLUME_LINEAR", 0x400471db }, -{ "PHONE_PLAY_VOLUME_LINEAR", 0x400471dc }, -{ "IXJCTL_HZ", 0x400471e0 }, -{ "IXJCTL_RATE", 0x400471e1 }, -{ "IXJCTL_DTMF_PRESCALE", 0x400471e8 }, -{ "IXJCTL_SC_RXG", 0x400471ea }, -{ "IXJCTL_SC_TXG", 0x400471eb }, -{ "IXJCTL_INTERCOM_START", 0x400471fd }, -{ "IXJCTL_INTERCOM_STOP", 0x400471fe }, { "FAT_IOCTL_SET_ATTRIBUTES", 0x40047211 }, { "SCIF_LISTEN", 0x40047302 }, { "PPPIOCATTCHAN", 0x40047438 }, @@ -1187,6 +1131,7 @@ { "FW_CDEV_IOC_RECEIVE_PHY_PACKETS", 0x40082316 }, { "PERF_EVENT_IOC_PERIOD", 0x40082404 }, { "PERF_EVENT_IOC_SET_FILTER", 0x40082406 }, +{ "PERF_EVENT_IOC_MODIFY_ATTRIBUTES", 0x4008240b }, { "STP_SET_OPTIONS", 0x40082502 }, { "FBIO_RADEON_SET_MIRROR", 0x40084004 }, { "AGPIOC_SETUP", 0x40084103 }, @@ -1208,6 +1153,8 @@ { "AMDKFD_IOC_RESET_EVENT", 0x40084b0b }, { "AMDKFD_IOC_DBG_REGISTER", 0x40084b0d }, { "AMDKFD_IOC_DBG_UNREGISTER", 0x40084b0e }, +{ "AMDKFD_IOC_ACQUIRE_VM", 0x40084b15 }, +{ "AMDKFD_IOC_FREE_MEMORY_OF_GPU", 0x40084b17 }, { "MEMERASE", 0x40084d02 }, { "MFB_SET_AOID", 0x40084d04 }, { "MEMLOCK", 0x40084d05 }, @@ -1294,15 +1241,6 @@ { "PPS_SETPARAMS", 0x400870a2 }, { "PPS_KC_BIND", 0x400870a5 }, { "SPIOCSTYPE", 0x40087101 }, -{ "PHONE_CAPABILITIES_CHECK", 0x40087182 }, -{ "PHONE_RING_START", 0x40087187 }, -{ "IXJCTL_SET_FILTER", 0x400871c7 }, -{ "IXJCTL_INIT_TONE", 0x400871c9 }, -{ "IXJCTL_TONE_CADENCE", 0x400871ca }, -{ "IXJCTL_FILTER_CADENCE", 0x400871d6 }, -{ "IXJCTL_CIDCW", 0x400871d9 }, -{ "IXJCTL_SET_FILTER_RAW", 0x400871dd }, -{ "IXJCTL_SIGCTL", 0x400871e9 }, { "PPPIOCSNPMODE", 0x4008744b }, { "FS_IOC_SETVERSION", 0x40087602 }, { "ASHMEM_SET_SIZE", 0x40087703 }, @@ -1898,15 +1836,6 @@ { "PPGETMODE", 0x80047098 }, { "PPGETPHASE", 0x80047099 }, { "PPGETFLAGS", 0x8004709a }, -{ "PHONE_DTMF_READY", 0x80047196 }, -{ "PHONE_GET_DTMF", 0x80047197 }, -{ "PHONE_GET_DTMF_ASCII", 0x80047198 }, -{ "PHONE_EXCEPTION", 0x8004719a }, -{ "IXJCTL_CARDTYPE", 0x800471c1 }, -{ "IXJCTL_SERIAL", 0x800471c2 }, -{ "IXJCTL_DSP_TYPE", 0x800471c3 }, -{ "IXJCTL_DSP_VERSION", 0x800471c4 }, -{ "IXJCTL_VMWI", 0x800471d8 }, { "BR_ERROR", 0x80047200 }, { "BR_ACQUIRE_RESULT", 0x80047204 }, { "FAT_IOCTL_GET_ATTRIBUTES", 0x80047210 }, @@ -1999,14 +1928,6 @@ { "RTC_EPOCH_READ", 0x8008700d }, { "PPS_GETPARAMS", 0x800870a1 }, { "PPS_GETCAP", 0x800870a3 }, -{ "PHONE_CAPABILITIES_LIST", 0x80087181 }, -{ "IXJCTL_CID", 0x800871d4 }, -{ "IXJCTL_VERSION", 0x800871da }, -{ "IXJCTL_FRAMES_READ", 0x800871e2 }, -{ "IXJCTL_FRAMES_WRITTEN", 0x800871e3 }, -{ "IXJCTL_READ_WAIT", 0x800871e4 }, -{ "IXJCTL_WRITE_WAIT", 0x800871e5 }, -{ "IXJCTL_DRYBUFFER_READ", 0x800871e6 }, { "BR_DEAD_BINDER", 0x8008720f }, { "BR_CLEAR_DEATH_NOTIFICATION_DONE", 0x80087210 }, { "FS_IOC_GETVERSION", 0x80087601 }, @@ -2262,6 +2183,7 @@ { "DRM_IOCTL_ADD_DRAW", 0xc0046427 }, { "DRM_IOCTL_RM_DRAW", 0xc0046428 }, { "DRM_IOCTL_MGA_WAIT_FENCE", 0xc004644b }, +{ "DRM_IOCTL_VC4_PERFMON_DESTROY", 0xc004644d }, { "DRM_IOCTL_MODE_RMFB", 0xc00464af }, { "DRM_IOCTL_MODE_DESTROY_DUMB", 0xc00464b4 }, { "DRM_IOCTL_MODE_DESTROYPROPBLOB", 0xc00464be }, @@ -2328,7 +2250,6 @@ { "PHN_GET_REGS", 0xc0087002 }, { "PHN_GETREG", 0xc0087005 }, { "PPS_FETCH", 0xc00870a4 }, -{ "PHONE_QUERY_CODEC", 0xc00871a7 }, { "MIC_VIRTIO_ADD_DEVICE", 0xc0087301 }, { "SCIF_BIND", 0xc0087301 }, { "MIC_VIRTIO_COPY_DESC", 0xc0087302 }, @@ -2368,7 +2289,6 @@ { "FSL_HV_IOCTL_PARTITION_GET_STATUS", 0xc00caf02 }, { "MBXFB_IOCX_REG", 0xc00cf405 }, { "BLKREPORTZONE", 0xc0101282 }, -{ "RDMA_VERBS_IOCTL", 0xc0101b01 }, { "STP_POLICY_ID_SET", 0xc0102500 }, { "CAPI_GET_VERSION", 0xc0104307 }, { "CAPI_MANUFACTURER_CMD", 0xc0104320 }, @@ -2379,6 +2299,7 @@ { "SNDRV_EMUX_IOCTL_LOAD_PATCH", 0xc0104881 }, { "SNDRV_EMUX_IOCTL_MISC_MODE", 0xc0104884 }, { "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", 0xc0104b11 }, +{ "AMDKFD_IOC_GET_PROCESS_APERTURES_NEW", 0xc0104b14 }, { "MEMWRITEOOB", 0xc0104d03 }, { "MEMREADOOB", 0xc0104d04 }, { "MEMGETREGIONINFO", 0xc0104d08 }, @@ -2440,6 +2361,7 @@ { "DRM_IOCTL_TEGRA_GEM_GET_TILING", 0xc010644b }, { "DRM_IOCTL_VC4_GEM_MADVISE", 0xc010644b }, { "DRM_IOCTL_RADEON_INDIRECT", 0xc010644d }, +{ "DRM_IOCTL_VC4_PERFMON_GET_VALUES", 0xc010644e }, { "DRM_IOCTL_R128_INDIRECT", 0xc010644f }, { "DRM_IOCTL_AMDGPU_GEM_OP", 0xc0106450 }, { "DRM_IOCTL_RADEON_GETPARAM", 0xc0106451 }, @@ -2453,6 +2375,7 @@ { "DRM_IOCTL_I915_GEM_WAIT", 0xc010646c }, { "DRM_IOCTL_RADEON_GEM_OP", 0xc010646c }, { "DRM_IOCTL_I915_REG_READ", 0xc0106471 }, +{ "DRM_IOCTL_I915_QUERY", 0xc0106479 }, { "DRM_IOCTL_MODE_SETPROPERTY", 0xc01064ab }, { "DRM_IOCTL_MODE_GETPROPBLOB", 0xc01064ac }, { "DRM_IOCTL_MODE_MAP_DUMB", 0xc01064b3 }, @@ -2487,6 +2410,7 @@ { "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", 0xc014646b }, { "DRM_IOCTL_MODE_GETENCODER", 0xc01464a6 }, { "VTPM_PROXY_IOC_NEW_DEV", 0xc014a100 }, +{ "RDMA_VERBS_IOCTL", 0xc0181b01 }, { "HFI1_IOCTL_TID_UPDATE", 0xc0181be4 }, { "HFI1_IOCTL_TID_FREE", 0xc0181be5 }, { "HFI1_IOCTL_TID_INVAL_READ", 0xc0181bed }, @@ -2500,6 +2424,8 @@ { "ION_IOC_ALLOC", 0xc0184900 }, { "ION_IOC_HEAP_QUERY", 0xc0184908 }, { "AMDKFD_IOC_WAIT_EVENTS", 0xc0184b0c }, +{ "AMDKFD_IOC_MAP_MEMORY_TO_GPU", 0xc0184b18 }, +{ "AMDKFD_IOC_UNMAP_MEMORY_FROM_GPU", 0xc0184b19 }, { "MEMWRITEOOB64", 0xc0184d15 }, { "MEMREADOOB64", 0xc0184d16 }, { "USBDEVFS_CONTROL", 0xc0185500 }, @@ -2521,6 +2447,7 @@ { "DRM_IOCTL_ETNAVIV_GEM_USERPTR", 0xc0186448 }, { "DRM_IOCTL_I915_ALLOC", 0xc0186448 }, { "DRM_IOCTL_VIRTGPU_GET_CAPS", 0xc0186449 }, +{ "DRM_IOCTL_VC4_PERFMON_CREATE", 0xc018644c }, { "DRM_IOCTL_VIA_WAIT_IRQ", 0xc018644d }, { "DRM_IOCTL_AMDGPU_GEM_USERPTR", 0xc0186451 }, { "DRM_IOCTL_AMDGPU_WAIT_FENCES", 0xc0186452 }, @@ -2629,6 +2556,7 @@ { "FW_CDEV_IOC_GET_INFO", 0xc0282300 }, { "AMDKFD_IOC_GET_CLOCK_COUNTERS", 0xc0284b05 }, { "AMDKFD_IOC_GET_TILE_CONFIG", 0xc0284b12 }, +{ "AMDKFD_IOC_ALLOC_MEMORY_OF_GPU", 0xc0284b16 }, { "VIDIOC_G_EDID", 0xc0285628 }, { "VIDIOC_SUBDEV_G_EDID", 0xc0285628 }, { "VIDIOC_SUBDEV_S_EDID", 0xc0285629 }, @@ -2825,7 +2753,6 @@ { "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 }, { "SOUND_MIXER_GETLEVELS", 0xc0a44d74 }, @@ -2833,6 +2760,7 @@ { "SNDRV_SEQ_IOCTL_CREATE_PORT", 0xc0a85320 }, { "SNDRV_SEQ_IOCTL_GET_PORT_INFO", 0xc0a85322 }, { "SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT", 0xc0a85352 }, +{ "DRM_IOCTL_VC4_SUBMIT_CL", 0xc0a86440 }, { "SNDRV_SEQ_IOCTL_GET_CLIENT_INFO", 0xc0bc5310 }, { "SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT", 0xc0bc5351 }, { "FS_IOC_GETFSMAP", 0xc0c0583b }, diff --git a/ioctlent1.h b/ioctlent1.h index a28605ea..d9a065e1 100644 --- a/ioctlent1.h +++ b/ioctlent1.h @@ -173,6 +173,7 @@ { "VFIO_IOMMU_UNMAP_DMA", 0x00003b72 }, { "VFIO_DEVICE_GET_GFX_DMABUF", 0x00003b73 }, { "VFIO_IOMMU_ENABLE", 0x00003b73 }, +{ "VFIO_DEVICE_IOEVENTFD", 0x00003b74 }, { "VFIO_IOMMU_DISABLE", 0x00003b74 }, { "VFIO_IOMMU_SPAPR_REGISTER_MEMORY", 0x00003b75 }, { "VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY", 0x00003b76 }, @@ -354,6 +355,7 @@ { "RFKILL_IOCTL_NOINPUT", 0x00005201 }, { "RNDZAPENTCNT", 0x00005204 }, { "RNDCLEARPOOL", 0x00005206 }, +{ "RNDRESEEDCRNG", 0x00005207 }, { "CDROMPAUSE", 0x00005301 }, { "CDROMRESUME", 0x00005302 }, { "CDROMPLAYMSF", 0x00005303 }, @@ -666,34 +668,6 @@ { "PPRELEASE", 0x0000708c }, { "PPYIELD", 0x0000708d }, { "PPEXCL", 0x0000708f }, -{ "PHONE_CAPABILITIES", 0x00007180 }, -{ "PHONE_RING", 0x00007183 }, -{ "PHONE_HOOKSTATE", 0x00007184 }, -{ "OLD_PHONE_RING_START", 0x00007187 }, -{ "PHONE_RING_STOP", 0x00007188 }, -{ "PHONE_REC_START", 0x0000718a }, -{ "PHONE_REC_STOP", 0x0000718b }, -{ "PHONE_REC_LEVEL", 0x0000718f }, -{ "PHONE_PLAY_START", 0x00007191 }, -{ "PHONE_PLAY_STOP", 0x00007192 }, -{ "PHONE_PLAY_LEVEL", 0x00007195 }, -{ "PHONE_GET_TONE_ON_TIME", 0x0000719e }, -{ "PHONE_GET_TONE_OFF_TIME", 0x0000719f }, -{ "PHONE_GET_TONE_STATE", 0x000071a0 }, -{ "PHONE_BUSY", 0x000071a1 }, -{ "PHONE_RINGBACK", 0x000071a2 }, -{ "PHONE_DIALTONE", 0x000071a3 }, -{ "PHONE_CPT_STOP", 0x000071a4 }, -{ "PHONE_PSTN_GET_STATE", 0x000071a5 }, -{ "PHONE_PSTN_LINETEST", 0x000071a8 }, -{ "IXJCTL_DSP_RESET", 0x000071c0 }, -{ "IXJCTL_DSP_IDLE", 0x000071c5 }, -{ "IXJCTL_TESTRAM", 0x000071c6 }, -{ "IXJCTL_AEC_STOP", 0x000071cc }, -{ "IXJCTL_AEC_GET_LEVEL", 0x000071cd }, -{ "IXJCTL_PSTN_LINETEST", 0x000071d3 }, -{ "IXJCTL_PLAY_CID", 0x000071d7 }, -{ "IXJCTL_DRYBUFFER_CLEAR", 0x000071e7 }, { "BR_OK", 0x00007201 }, { "BR_DEAD_REPLY", 0x00007205 }, { "BR_TRANSACTION_COMPLETE", 0x00007206 }, @@ -885,7 +859,10 @@ { "VHOST_SET_OWNER", 0x0000af01 }, { "VHOST_RESET_OWNER", 0x0000af02 }, { "BT_BMC_IOCTL_SMS_ATN", 0x0000b100 }, +{ "IPMI_BMC_IOCTL_SET_SMS_ATN", 0x0000b100 }, +{ "IPMI_BMC_IOCTL_CLEAR_SMS_ATN", 0x0000b101 }, { "PPPOEIOCDFWD", 0x0000b101 }, +{ "IPMI_BMC_IOCTL_FORCE_ABORT", 0x0000b102 }, { "RPMSG_DESTROY_EPT_IOCTL", 0x0000b502 }, { "NS_GET_USERNS", 0x0000b701 }, { "NS_GET_PARENT", 0x0000b702 }, @@ -915,8 +892,6 @@ { "PPWCONTROL", 0x40017084 }, { "PPWDATA", 0x40017086 }, { "PPWCTLONIRQ", 0x40017092 }, -{ "PHONE_MAXRINGS", 0x40017185 }, -{ "PHONE_PLAY_TONE", 0x4001719b }, { "SONYPI_IOCSBRT", 0x40017600 }, { "SONYPI_IOCSBLUE", 0x40017609 }, { "SONYPI_IOCSFAN", 0x4001760b }, @@ -932,7 +907,6 @@ { "DMX_ADD_PID", 0x40026f33 }, { "DMX_REMOVE_PID", 0x40026f34 }, { "PPFCONTROL", 0x4002708e }, -{ "PHONE_RING_CADENCE", 0x40027186 }, { "SET_BITMAP_FILE", 0x4004092b }, { "BLKBSZSET", 0x40041271 }, { "IB_USER_MAD_UNREGISTER_AGENT", 0x40041b02 }, @@ -948,6 +922,7 @@ { "PERF_EVENT_IOC_SET_FILTER", 0x40042406 }, { "PERF_EVENT_IOC_SET_BPF", 0x40042408 }, { "PERF_EVENT_IOC_PAUSE_OUTPUT", 0x40042409 }, +{ "PERF_EVENT_IOC_MODIFY_ATTRIBUTES", 0x4004240b }, { "SNAPSHOT_CREATE_IMAGE", 0x40043311 }, { "PTP_ENABLE_PPS", 0x40043d04 }, { "FBIO_RADEON_SET_MIRROR", 0x40044004 }, @@ -1001,6 +976,7 @@ { "HCISETSCOMTU", 0x400448e4 }, { "HCIBLOCKADDR", 0x400448e6 }, { "HCIUNBLOCKADDR", 0x400448e7 }, +{ "INOTIFY_IOC_SETNEXTWD", 0x40044900 }, { "MFB_SET_PIXFMT", 0x40044d08 }, { "OTPGETREGIONCOUNT", 0x40044d0e }, { "UBI_IOCEBER", 0x40044f01 }, @@ -1145,46 +1121,6 @@ { "PPS_SETPARAMS", 0x400470a2 }, { "PPS_KC_BIND", 0x400470a5 }, { "SPIOCSTYPE", 0x40047101 }, -{ "PHONE_CAPABILITIES_CHECK", 0x40047182 }, -{ "PHONE_RING_START", 0x40047187 }, -{ "PHONE_REC_CODEC", 0x40047189 }, -{ "PHONE_REC_DEPTH", 0x4004718c }, -{ "PHONE_FRAME", 0x4004718d }, -{ "PHONE_REC_VOLUME", 0x4004718e }, -{ "PHONE_PLAY_CODEC", 0x40047190 }, -{ "PHONE_PLAY_DEPTH", 0x40047193 }, -{ "PHONE_PLAY_VOLUME", 0x40047194 }, -{ "PHONE_DTMF_OOB", 0x40047199 }, -{ "PHONE_SET_TONE_ON_TIME", 0x4004719c }, -{ "PHONE_SET_TONE_OFF_TIME", 0x4004719d }, -{ "PHONE_PSTN_SET_STATE", 0x400471a4 }, -{ "PHONE_WINK_DURATION", 0x400471a6 }, -{ "PHONE_VAD", 0x400471a9 }, -{ "PHONE_WINK", 0x400471aa }, -{ "IXJCTL_SET_FILTER", 0x400471c7 }, -{ "IXJCTL_GET_FILTER_HIST", 0x400471c8 }, -{ "IXJCTL_INIT_TONE", 0x400471c9 }, -{ "IXJCTL_TONE_CADENCE", 0x400471ca }, -{ "IXJCTL_AEC_START", 0x400471cb }, -{ "IXJCTL_SET_LED", 0x400471ce }, -{ "IXJCTL_MIXER", 0x400471cf }, -{ "IXJCTL_DAA_COEFF_SET", 0x400471d0 }, -{ "IXJCTL_PORT", 0x400471d1 }, -{ "IXJCTL_DAA_AGAIN", 0x400471d2 }, -{ "IXJCTL_POTS_PSTN", 0x400471d5 }, -{ "IXJCTL_FILTER_CADENCE", 0x400471d6 }, -{ "IXJCTL_CIDCW", 0x400471d9 }, -{ "PHONE_REC_VOLUME_LINEAR", 0x400471db }, -{ "PHONE_PLAY_VOLUME_LINEAR", 0x400471dc }, -{ "IXJCTL_SET_FILTER_RAW", 0x400471dd }, -{ "IXJCTL_HZ", 0x400471e0 }, -{ "IXJCTL_RATE", 0x400471e1 }, -{ "IXJCTL_DTMF_PRESCALE", 0x400471e8 }, -{ "IXJCTL_SIGCTL", 0x400471e9 }, -{ "IXJCTL_SC_RXG", 0x400471ea }, -{ "IXJCTL_SC_TXG", 0x400471eb }, -{ "IXJCTL_INTERCOM_START", 0x400471fd }, -{ "IXJCTL_INTERCOM_STOP", 0x400471fe }, { "FAT_IOCTL_SET_ATTRIBUTES", 0x40047211 }, { "SCIF_LISTEN", 0x40047302 }, { "PPPIOCATTCHAN", 0x40047438 }, @@ -1247,6 +1183,8 @@ { "AMDKFD_IOC_RESET_EVENT", 0x40084b0b }, { "AMDKFD_IOC_DBG_REGISTER", 0x40084b0d }, { "AMDKFD_IOC_DBG_UNREGISTER", 0x40084b0e }, +{ "AMDKFD_IOC_ACQUIRE_VM", 0x40084b15 }, +{ "AMDKFD_IOC_FREE_MEMORY_OF_GPU", 0x40084b17 }, { "MEMERASE", 0x40084d02 }, { "MFB_SET_AOID", 0x40084d04 }, { "MEMLOCK", 0x40084d05 }, @@ -1928,23 +1866,6 @@ { "PPGETFLAGS", 0x8004709a }, { "PPS_GETPARAMS", 0x800470a1 }, { "PPS_GETCAP", 0x800470a3 }, -{ "PHONE_CAPABILITIES_LIST", 0x80047181 }, -{ "PHONE_DTMF_READY", 0x80047196 }, -{ "PHONE_GET_DTMF", 0x80047197 }, -{ "PHONE_GET_DTMF_ASCII", 0x80047198 }, -{ "PHONE_EXCEPTION", 0x8004719a }, -{ "IXJCTL_CARDTYPE", 0x800471c1 }, -{ "IXJCTL_SERIAL", 0x800471c2 }, -{ "IXJCTL_DSP_TYPE", 0x800471c3 }, -{ "IXJCTL_DSP_VERSION", 0x800471c4 }, -{ "IXJCTL_CID", 0x800471d4 }, -{ "IXJCTL_VMWI", 0x800471d8 }, -{ "IXJCTL_VERSION", 0x800471da }, -{ "IXJCTL_FRAMES_READ", 0x800471e2 }, -{ "IXJCTL_FRAMES_WRITTEN", 0x800471e3 }, -{ "IXJCTL_READ_WAIT", 0x800471e4 }, -{ "IXJCTL_WRITE_WAIT", 0x800471e5 }, -{ "IXJCTL_DRYBUFFER_READ", 0x800471e6 }, { "BR_ERROR", 0x80047200 }, { "BR_ACQUIRE_RESULT", 0x80047204 }, { "FAT_IOCTL_GET_ATTRIBUTES", 0x80047210 }, @@ -2264,6 +2185,7 @@ { "DRM_IOCTL_RM_DRAW", 0xc0046428 }, { "DRM_IOCTL_I915_IRQ_EMIT", 0xc0046444 }, { "DRM_IOCTL_MGA_WAIT_FENCE", 0xc004644b }, +{ "DRM_IOCTL_VC4_PERFMON_DESTROY", 0xc004644d }, { "DRM_IOCTL_RADEON_IRQ_EMIT", 0xc0046456 }, { "DRM_IOCTL_MODE_RMFB", 0xc00464af }, { "DRM_IOCTL_MODE_DESTROY_DUMB", 0xc00464b4 }, @@ -2280,7 +2202,6 @@ { "PHN_GET_REG", 0xc0047000 }, { "PHN_GET_REGS", 0xc0047002 }, { "PPS_FETCH", 0xc00470a4 }, -{ "PHONE_QUERY_CODEC", 0xc00471a7 }, { "MIC_VIRTIO_ADD_DEVICE", 0xc0047301 }, { "MIC_VIRTIO_COPY_DESC", 0xc0047302 }, { "MIC_VIRTIO_CONFIG_CHANGE", 0xc0047305 }, @@ -2384,7 +2305,6 @@ { "FSL_HV_IOCTL_PARTITION_GET_STATUS", 0xc00caf02 }, { "MBXFB_IOCX_REG", 0xc00cf405 }, { "BLKREPORTZONE", 0xc0101282 }, -{ "RDMA_VERBS_IOCTL", 0xc0101b01 }, { "STP_POLICY_ID_SET", 0xc0102500 }, { "CAPI_GET_VERSION", 0xc0104307 }, { "GIGASET_VERSION", 0xc0104703 }, @@ -2393,6 +2313,7 @@ { "SNDRV_EMUX_IOCTL_LOAD_PATCH", 0xc0104881 }, { "SNDRV_EMUX_IOCTL_MISC_MODE", 0xc0104884 }, { "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", 0xc0104b11 }, +{ "AMDKFD_IOC_GET_PROCESS_APERTURES_NEW", 0xc0104b14 }, { "MEMGETREGIONINFO", 0xc0104d08 }, { "SEV_ISSUE_CMD", 0xc0105300 }, { "SNDRV_SEQ_IOCTL_RUNNING_MODE", 0xc0105303 }, @@ -2450,6 +2371,7 @@ { "DRM_IOCTL_VC4_GEM_MADVISE", 0xc010644b }, { "DRM_IOCTL_RADEON_INDIRECT", 0xc010644d }, { "DRM_IOCTL_VIA_WAIT_IRQ", 0xc010644d }, +{ "DRM_IOCTL_VC4_PERFMON_GET_VALUES", 0xc010644e }, { "DRM_IOCTL_R128_INDIRECT", 0xc010644f }, { "DRM_IOCTL_AMDGPU_GEM_OP", 0xc0106450 }, { "DRM_IOCTL_RADEON_ALLOC", 0xc0106453 }, @@ -2462,6 +2384,7 @@ { "DRM_IOCTL_I915_GEM_WAIT", 0xc010646c }, { "DRM_IOCTL_RADEON_GEM_OP", 0xc010646c }, { "DRM_IOCTL_I915_REG_READ", 0xc0106471 }, +{ "DRM_IOCTL_I915_QUERY", 0xc0106479 }, { "DRM_IOCTL_MODE_SETPROPERTY", 0xc01064ab }, { "DRM_IOCTL_MODE_GETPROPBLOB", 0xc01064ac }, { "DRM_IOCTL_MODE_MAP_DUMB", 0xc01064b3 }, @@ -2496,6 +2419,7 @@ { "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", 0xc014646b }, { "DRM_IOCTL_MODE_GETENCODER", 0xc01464a6 }, { "VTPM_PROXY_IOC_NEW_DEV", 0xc014a100 }, +{ "RDMA_VERBS_IOCTL", 0xc0181b01 }, { "HFI1_IOCTL_TID_UPDATE", 0xc0181be4 }, { "HFI1_IOCTL_TID_FREE", 0xc0181be5 }, { "HFI1_IOCTL_TID_INVAL_READ", 0xc0181bed }, @@ -2509,6 +2433,8 @@ { "ION_IOC_ALLOC", 0xc0184900 }, { "ION_IOC_HEAP_QUERY", 0xc0184908 }, { "AMDKFD_IOC_WAIT_EVENTS", 0xc0184b0c }, +{ "AMDKFD_IOC_MAP_MEMORY_TO_GPU", 0xc0184b18 }, +{ "AMDKFD_IOC_UNMAP_MEMORY_FROM_GPU", 0xc0184b19 }, { "MEMWRITEOOB64", 0xc0184d15 }, { "MEMREADOOB64", 0xc0184d16 }, { "VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS", 0xc018560b }, @@ -2532,6 +2458,7 @@ { "DRM_IOCTL_QXL_ALLOC_SURF", 0xc0186446 }, { "DRM_IOCTL_ETNAVIV_GEM_USERPTR", 0xc0186448 }, { "DRM_IOCTL_VIRTGPU_GET_CAPS", 0xc0186449 }, +{ "DRM_IOCTL_VC4_PERFMON_CREATE", 0xc018644c }, { "DRM_IOCTL_RADEON_TEXTURE", 0xc018644e }, { "DRM_IOCTL_AMDGPU_GEM_USERPTR", 0xc0186451 }, { "DRM_IOCTL_AMDGPU_WAIT_FENCES", 0xc0186452 }, @@ -2644,6 +2571,7 @@ { "FW_CDEV_IOC_GET_INFO", 0xc0282300 }, { "AMDKFD_IOC_GET_CLOCK_COUNTERS", 0xc0284b05 }, { "AMDKFD_IOC_GET_TILE_CONFIG", 0xc0284b12 }, +{ "AMDKFD_IOC_ALLOC_MEMORY_OF_GPU", 0xc0284b16 }, { "VIDIOC_ENCODER_CMD", 0xc028564d }, { "VIDIOC_TRY_ENCODER_CMD", 0xc028564e }, { "SWITCHTEC_IOCTL_EVENT_CTL", 0xc0285743 }, @@ -2817,7 +2745,6 @@ { "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 }, { "SOUND_MIXER_GETLEVELS", 0xc0a44d74 }, @@ -2825,6 +2752,7 @@ { "SNDRV_SEQ_IOCTL_CREATE_PORT", 0xc0a45320 }, { "SNDRV_SEQ_IOCTL_GET_PORT_INFO", 0xc0a45322 }, { "SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT", 0xc0a45352 }, +{ "DRM_IOCTL_VC4_SUBMIT_CL", 0xc0a86440 }, { "SNDRV_SEQ_IOCTL_GET_CLIENT_INFO", 0xc0bc5310 }, { "SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT", 0xc0bc5351 }, { "FS_IOC_GETFSMAP", 0xc0c0583b }, diff --git a/ioctlent2.h b/ioctlent2.h index 47d06a93..ccd20afb 100644 --- a/ioctlent2.h +++ b/ioctlent2.h @@ -173,6 +173,7 @@ { "VFIO_IOMMU_UNMAP_DMA", 0x00003b72 }, { "VFIO_DEVICE_GET_GFX_DMABUF", 0x00003b73 }, { "VFIO_IOMMU_ENABLE", 0x00003b73 }, +{ "VFIO_DEVICE_IOEVENTFD", 0x00003b74 }, { "VFIO_IOMMU_DISABLE", 0x00003b74 }, { "VFIO_IOMMU_SPAPR_REGISTER_MEMORY", 0x00003b75 }, { "VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY", 0x00003b76 }, @@ -354,6 +355,7 @@ { "RFKILL_IOCTL_NOINPUT", 0x00005201 }, { "RNDZAPENTCNT", 0x00005204 }, { "RNDCLEARPOOL", 0x00005206 }, +{ "RNDRESEEDCRNG", 0x00005207 }, { "CDROMPAUSE", 0x00005301 }, { "CDROMRESUME", 0x00005302 }, { "CDROMPLAYMSF", 0x00005303 }, @@ -666,34 +668,6 @@ { "PPRELEASE", 0x0000708c }, { "PPYIELD", 0x0000708d }, { "PPEXCL", 0x0000708f }, -{ "PHONE_CAPABILITIES", 0x00007180 }, -{ "PHONE_RING", 0x00007183 }, -{ "PHONE_HOOKSTATE", 0x00007184 }, -{ "OLD_PHONE_RING_START", 0x00007187 }, -{ "PHONE_RING_STOP", 0x00007188 }, -{ "PHONE_REC_START", 0x0000718a }, -{ "PHONE_REC_STOP", 0x0000718b }, -{ "PHONE_REC_LEVEL", 0x0000718f }, -{ "PHONE_PLAY_START", 0x00007191 }, -{ "PHONE_PLAY_STOP", 0x00007192 }, -{ "PHONE_PLAY_LEVEL", 0x00007195 }, -{ "PHONE_GET_TONE_ON_TIME", 0x0000719e }, -{ "PHONE_GET_TONE_OFF_TIME", 0x0000719f }, -{ "PHONE_GET_TONE_STATE", 0x000071a0 }, -{ "PHONE_BUSY", 0x000071a1 }, -{ "PHONE_RINGBACK", 0x000071a2 }, -{ "PHONE_DIALTONE", 0x000071a3 }, -{ "PHONE_CPT_STOP", 0x000071a4 }, -{ "PHONE_PSTN_GET_STATE", 0x000071a5 }, -{ "PHONE_PSTN_LINETEST", 0x000071a8 }, -{ "IXJCTL_DSP_RESET", 0x000071c0 }, -{ "IXJCTL_DSP_IDLE", 0x000071c5 }, -{ "IXJCTL_TESTRAM", 0x000071c6 }, -{ "IXJCTL_AEC_STOP", 0x000071cc }, -{ "IXJCTL_AEC_GET_LEVEL", 0x000071cd }, -{ "IXJCTL_PSTN_LINETEST", 0x000071d3 }, -{ "IXJCTL_PLAY_CID", 0x000071d7 }, -{ "IXJCTL_DRYBUFFER_CLEAR", 0x000071e7 }, { "BR_OK", 0x00007201 }, { "BR_DEAD_REPLY", 0x00007205 }, { "BR_TRANSACTION_COMPLETE", 0x00007206 }, @@ -885,7 +859,10 @@ { "VHOST_SET_OWNER", 0x0000af01 }, { "VHOST_RESET_OWNER", 0x0000af02 }, { "BT_BMC_IOCTL_SMS_ATN", 0x0000b100 }, +{ "IPMI_BMC_IOCTL_SET_SMS_ATN", 0x0000b100 }, +{ "IPMI_BMC_IOCTL_CLEAR_SMS_ATN", 0x0000b101 }, { "PPPOEIOCDFWD", 0x0000b101 }, +{ "IPMI_BMC_IOCTL_FORCE_ABORT", 0x0000b102 }, { "RPMSG_DESTROY_EPT_IOCTL", 0x0000b502 }, { "NS_GET_USERNS", 0x0000b701 }, { "NS_GET_PARENT", 0x0000b702 }, @@ -913,8 +890,6 @@ { "PPWCONTROL", 0x40017084 }, { "PPWDATA", 0x40017086 }, { "PPWCTLONIRQ", 0x40017092 }, -{ "PHONE_MAXRINGS", 0x40017185 }, -{ "PHONE_PLAY_TONE", 0x4001719b }, { "SONYPI_IOCSBRT", 0x40017600 }, { "SONYPI_IOCSBLUE", 0x40017609 }, { "SONYPI_IOCSFAN", 0x4001760b }, @@ -930,7 +905,6 @@ { "DMX_ADD_PID", 0x40026f33 }, { "DMX_REMOVE_PID", 0x40026f34 }, { "PPFCONTROL", 0x4002708e }, -{ "PHONE_RING_CADENCE", 0x40027186 }, { "SET_BITMAP_FILE", 0x4004092b }, { "BLKBSZSET", 0x40041271 }, { "IB_USER_MAD_UNREGISTER_AGENT", 0x40041b02 }, @@ -946,6 +920,7 @@ { "PERF_EVENT_IOC_SET_FILTER", 0x40042406 }, { "PERF_EVENT_IOC_SET_BPF", 0x40042408 }, { "PERF_EVENT_IOC_PAUSE_OUTPUT", 0x40042409 }, +{ "PERF_EVENT_IOC_MODIFY_ATTRIBUTES", 0x4004240b }, { "SNAPSHOT_CREATE_IMAGE", 0x40043311 }, { "PTP_ENABLE_PPS", 0x40043d04 }, { "FBIO_RADEON_SET_MIRROR", 0x40044004 }, @@ -999,6 +974,7 @@ { "HCISETSCOMTU", 0x400448e4 }, { "HCIBLOCKADDR", 0x400448e6 }, { "HCIUNBLOCKADDR", 0x400448e7 }, +{ "INOTIFY_IOC_SETNEXTWD", 0x40044900 }, { "MFB_SET_PIXFMT", 0x40044d08 }, { "OTPGETREGIONCOUNT", 0x40044d0e }, { "UBI_IOCEBER", 0x40044f01 }, @@ -1143,46 +1119,6 @@ { "PPS_SETPARAMS", 0x400470a2 }, { "PPS_KC_BIND", 0x400470a5 }, { "SPIOCSTYPE", 0x40047101 }, -{ "PHONE_CAPABILITIES_CHECK", 0x40047182 }, -{ "PHONE_RING_START", 0x40047187 }, -{ "PHONE_REC_CODEC", 0x40047189 }, -{ "PHONE_REC_DEPTH", 0x4004718c }, -{ "PHONE_FRAME", 0x4004718d }, -{ "PHONE_REC_VOLUME", 0x4004718e }, -{ "PHONE_PLAY_CODEC", 0x40047190 }, -{ "PHONE_PLAY_DEPTH", 0x40047193 }, -{ "PHONE_PLAY_VOLUME", 0x40047194 }, -{ "PHONE_DTMF_OOB", 0x40047199 }, -{ "PHONE_SET_TONE_ON_TIME", 0x4004719c }, -{ "PHONE_SET_TONE_OFF_TIME", 0x4004719d }, -{ "PHONE_PSTN_SET_STATE", 0x400471a4 }, -{ "PHONE_WINK_DURATION", 0x400471a6 }, -{ "PHONE_VAD", 0x400471a9 }, -{ "PHONE_WINK", 0x400471aa }, -{ "IXJCTL_SET_FILTER", 0x400471c7 }, -{ "IXJCTL_GET_FILTER_HIST", 0x400471c8 }, -{ "IXJCTL_INIT_TONE", 0x400471c9 }, -{ "IXJCTL_TONE_CADENCE", 0x400471ca }, -{ "IXJCTL_AEC_START", 0x400471cb }, -{ "IXJCTL_SET_LED", 0x400471ce }, -{ "IXJCTL_MIXER", 0x400471cf }, -{ "IXJCTL_DAA_COEFF_SET", 0x400471d0 }, -{ "IXJCTL_PORT", 0x400471d1 }, -{ "IXJCTL_DAA_AGAIN", 0x400471d2 }, -{ "IXJCTL_POTS_PSTN", 0x400471d5 }, -{ "IXJCTL_FILTER_CADENCE", 0x400471d6 }, -{ "IXJCTL_CIDCW", 0x400471d9 }, -{ "PHONE_REC_VOLUME_LINEAR", 0x400471db }, -{ "PHONE_PLAY_VOLUME_LINEAR", 0x400471dc }, -{ "IXJCTL_SET_FILTER_RAW", 0x400471dd }, -{ "IXJCTL_HZ", 0x400471e0 }, -{ "IXJCTL_RATE", 0x400471e1 }, -{ "IXJCTL_DTMF_PRESCALE", 0x400471e8 }, -{ "IXJCTL_SIGCTL", 0x400471e9 }, -{ "IXJCTL_SC_RXG", 0x400471ea }, -{ "IXJCTL_SC_TXG", 0x400471eb }, -{ "IXJCTL_INTERCOM_START", 0x400471fd }, -{ "IXJCTL_INTERCOM_STOP", 0x400471fe }, { "FAT_IOCTL_SET_ATTRIBUTES", 0x40047211 }, { "SCIF_LISTEN", 0x40047302 }, { "PPPIOCATTCHAN", 0x40047438 }, @@ -1245,6 +1181,8 @@ { "AMDKFD_IOC_RESET_EVENT", 0x40084b0b }, { "AMDKFD_IOC_DBG_REGISTER", 0x40084b0d }, { "AMDKFD_IOC_DBG_UNREGISTER", 0x40084b0e }, +{ "AMDKFD_IOC_ACQUIRE_VM", 0x40084b15 }, +{ "AMDKFD_IOC_FREE_MEMORY_OF_GPU", 0x40084b17 }, { "MEMERASE", 0x40084d02 }, { "MFB_SET_AOID", 0x40084d04 }, { "MEMLOCK", 0x40084d05 }, @@ -1532,6 +1470,7 @@ { "IOC_PR_PREEMPT_ABORT", 0x401870cc }, { "BTRFS_IOC_QGROUP_ASSIGN", 0x40189429 }, { "KVM_SET_MEMORY_REGION", 0x4018ae40 }, +{ "KVM_HYPERV_EVENTFD", 0x4018aebd }, { "KVM_SET_DEVICE_ATTR", 0x4018aee1 }, { "KVM_GET_DEVICE_ATTR", 0x4018aee2 }, { "KVM_HAS_DEVICE_ATTR", 0x4018aee3 }, @@ -1948,23 +1887,6 @@ { "PPGETFLAGS", 0x8004709a }, { "PPS_GETPARAMS", 0x800470a1 }, { "PPS_GETCAP", 0x800470a3 }, -{ "PHONE_CAPABILITIES_LIST", 0x80047181 }, -{ "PHONE_DTMF_READY", 0x80047196 }, -{ "PHONE_GET_DTMF", 0x80047197 }, -{ "PHONE_GET_DTMF_ASCII", 0x80047198 }, -{ "PHONE_EXCEPTION", 0x8004719a }, -{ "IXJCTL_CARDTYPE", 0x800471c1 }, -{ "IXJCTL_SERIAL", 0x800471c2 }, -{ "IXJCTL_DSP_TYPE", 0x800471c3 }, -{ "IXJCTL_DSP_VERSION", 0x800471c4 }, -{ "IXJCTL_CID", 0x800471d4 }, -{ "IXJCTL_VMWI", 0x800471d8 }, -{ "IXJCTL_VERSION", 0x800471da }, -{ "IXJCTL_FRAMES_READ", 0x800471e2 }, -{ "IXJCTL_FRAMES_WRITTEN", 0x800471e3 }, -{ "IXJCTL_READ_WAIT", 0x800471e4 }, -{ "IXJCTL_WRITE_WAIT", 0x800471e5 }, -{ "IXJCTL_DRYBUFFER_READ", 0x800471e6 }, { "BR_ERROR", 0x80047200 }, { "BR_ACQUIRE_RESULT", 0x80047204 }, { "FAT_IOCTL_GET_ATTRIBUTES", 0x80047210 }, @@ -2293,6 +2215,7 @@ { "DRM_IOCTL_RM_DRAW", 0xc0046428 }, { "DRM_IOCTL_I915_IRQ_EMIT", 0xc0046444 }, { "DRM_IOCTL_MGA_WAIT_FENCE", 0xc004644b }, +{ "DRM_IOCTL_VC4_PERFMON_DESTROY", 0xc004644d }, { "DRM_IOCTL_RADEON_IRQ_EMIT", 0xc0046456 }, { "DRM_IOCTL_MODE_RMFB", 0xc00464af }, { "DRM_IOCTL_MODE_DESTROY_DUMB", 0xc00464b4 }, @@ -2309,7 +2232,6 @@ { "PHN_GET_REG", 0xc0047000 }, { "PHN_GET_REGS", 0xc0047002 }, { "PPS_FETCH", 0xc00470a4 }, -{ "PHONE_QUERY_CODEC", 0xc00471a7 }, { "MIC_VIRTIO_ADD_DEVICE", 0xc0047301 }, { "MIC_VIRTIO_COPY_DESC", 0xc0047302 }, { "MIC_VIRTIO_CONFIG_CHANGE", 0xc0047305 }, @@ -2419,7 +2341,6 @@ { "FSL_HV_IOCTL_PARTITION_GET_STATUS", 0xc00caf02 }, { "MBXFB_IOCX_REG", 0xc00cf405 }, { "BLKREPORTZONE", 0xc0101282 }, -{ "RDMA_VERBS_IOCTL", 0xc0101b01 }, { "STP_POLICY_ID_SET", 0xc0102500 }, { "CAPI_GET_VERSION", 0xc0104307 }, { "GIGASET_VERSION", 0xc0104703 }, @@ -2428,6 +2349,7 @@ { "SNDRV_EMUX_IOCTL_LOAD_PATCH", 0xc0104881 }, { "SNDRV_EMUX_IOCTL_MISC_MODE", 0xc0104884 }, { "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", 0xc0104b11 }, +{ "AMDKFD_IOC_GET_PROCESS_APERTURES_NEW", 0xc0104b14 }, { "MEMGETREGIONINFO", 0xc0104d08 }, { "SEV_ISSUE_CMD", 0xc0105300 }, { "SNDRV_SEQ_IOCTL_RUNNING_MODE", 0xc0105303 }, @@ -2485,6 +2407,7 @@ { "DRM_IOCTL_VC4_GEM_MADVISE", 0xc010644b }, { "DRM_IOCTL_RADEON_INDIRECT", 0xc010644d }, { "DRM_IOCTL_VIA_WAIT_IRQ", 0xc010644d }, +{ "DRM_IOCTL_VC4_PERFMON_GET_VALUES", 0xc010644e }, { "DRM_IOCTL_R128_INDIRECT", 0xc010644f }, { "DRM_IOCTL_AMDGPU_GEM_OP", 0xc0106450 }, { "DRM_IOCTL_RADEON_ALLOC", 0xc0106453 }, @@ -2497,6 +2420,7 @@ { "DRM_IOCTL_I915_GEM_WAIT", 0xc010646c }, { "DRM_IOCTL_RADEON_GEM_OP", 0xc010646c }, { "DRM_IOCTL_I915_REG_READ", 0xc0106471 }, +{ "DRM_IOCTL_I915_QUERY", 0xc0106479 }, { "DRM_IOCTL_MODE_SETPROPERTY", 0xc01064ab }, { "DRM_IOCTL_MODE_GETPROPBLOB", 0xc01064ac }, { "DRM_IOCTL_MODE_MAP_DUMB", 0xc01064b3 }, @@ -2531,6 +2455,7 @@ { "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", 0xc014646b }, { "DRM_IOCTL_MODE_GETENCODER", 0xc01464a6 }, { "VTPM_PROXY_IOC_NEW_DEV", 0xc014a100 }, +{ "RDMA_VERBS_IOCTL", 0xc0181b01 }, { "HFI1_IOCTL_TID_UPDATE", 0xc0181be4 }, { "HFI1_IOCTL_TID_FREE", 0xc0181be5 }, { "HFI1_IOCTL_TID_INVAL_READ", 0xc0181bed }, @@ -2544,6 +2469,8 @@ { "ION_IOC_ALLOC", 0xc0184900 }, { "ION_IOC_HEAP_QUERY", 0xc0184908 }, { "AMDKFD_IOC_WAIT_EVENTS", 0xc0184b0c }, +{ "AMDKFD_IOC_MAP_MEMORY_TO_GPU", 0xc0184b18 }, +{ "AMDKFD_IOC_UNMAP_MEMORY_FROM_GPU", 0xc0184b19 }, { "MTRRIOC_GET_ENTRY", 0xc0184d03 }, { "MTRRIOC_GET_PAGE_ENTRY", 0xc0184d08 }, { "MEMWRITEOOB64", 0xc0184d15 }, @@ -2568,6 +2495,7 @@ { "DRM_IOCTL_QXL_ALLOC_SURF", 0xc0186446 }, { "DRM_IOCTL_ETNAVIV_GEM_USERPTR", 0xc0186448 }, { "DRM_IOCTL_VIRTGPU_GET_CAPS", 0xc0186449 }, +{ "DRM_IOCTL_VC4_PERFMON_CREATE", 0xc018644c }, { "DRM_IOCTL_RADEON_TEXTURE", 0xc018644e }, { "DRM_IOCTL_AMDGPU_GEM_USERPTR", 0xc0186451 }, { "DRM_IOCTL_AMDGPU_WAIT_FENCES", 0xc0186452 }, @@ -2682,6 +2610,7 @@ { "FW_CDEV_IOC_GET_INFO", 0xc0282300 }, { "AMDKFD_IOC_GET_CLOCK_COUNTERS", 0xc0284b05 }, { "AMDKFD_IOC_GET_TILE_CONFIG", 0xc0284b12 }, +{ "AMDKFD_IOC_ALLOC_MEMORY_OF_GPU", 0xc0284b16 }, { "VIDIOC_ENCODER_CMD", 0xc028564d }, { "VIDIOC_TRY_ENCODER_CMD", 0xc028564e }, { "SWITCHTEC_IOCTL_EVENT_CTL", 0xc0285743 }, @@ -2857,7 +2786,6 @@ { "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 }, { "SOUND_MIXER_GETLEVELS", 0xc0a44d74 }, @@ -2865,6 +2793,7 @@ { "SNDRV_SEQ_IOCTL_CREATE_PORT", 0xc0a45320 }, { "SNDRV_SEQ_IOCTL_GET_PORT_INFO", 0xc0a45322 }, { "SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT", 0xc0a45352 }, +{ "DRM_IOCTL_VC4_SUBMIT_CL", 0xc0a86440 }, { "SNDRV_SEQ_IOCTL_GET_CLIENT_INFO", 0xc0bc5310 }, { "SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT", 0xc0bc5351 }, { "FS_IOC_GETFSMAP", 0xc0c0583b }, diff --git a/ioprio.c b/ioprio.c index 9ef2a325..19ea74cb 100644 --- a/ioprio.c +++ b/ioprio.c @@ -56,17 +56,14 @@ static const char * sprint_ioprio(unsigned int ioprio) { static char outstr[256]; - const char *str; + char class_buf[64]; unsigned int class, data; class = IOPRIO_PRIO_CLASS(ioprio); data = IOPRIO_PRIO_DATA(ioprio); - str = xlookup(ioprio_class, class); - if (str) - xsprintf(outstr, "IOPRIO_PRIO_VALUE(%s, %d)", str, data); - else - xsprintf(outstr, "IOPRIO_PRIO_VALUE(%#x /* %s */, %d)", - class, "IOPRIO_CLASS_???", data); + sprintxval(class_buf, sizeof(class_buf), ioprio_class, class, + "IOPRIO_CLASS_???"); + xsprintf(outstr, "IOPRIO_PRIO_VALUE(%s, %d)", class_buf, data); return outstr; } diff --git a/ipc.c b/ipc.c index bd23a4ed..dd5358e9 100644 --- a/ipc.c +++ b/ipc.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 1999-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,15 +34,11 @@ SYS_FUNC(ipc) unsigned int call = tcp->u_arg[0]; unsigned int version = call >> 16; call &= 0xffff; - const char *str = xlookup(ipccalls, call); if (version) tprintf("%u<<16|", version); - if (str) - tprints(str); - else - tprintf("%u", call); + printxval_u(ipccalls, call, NULL); unsigned int i; for (i = 1; i < tcp->s_ent->nargs; ++i) diff --git a/ipc_defs.h b/ipc_defs.h index 740fd9de..c6a16783 100644 --- a/ipc_defs.h +++ b/ipc_defs.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2003 Roland McGrath - * Copyright (c) 2003-2017 The strace developers. + * Copyright (c) 2003-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,8 +43,10 @@ #define PRINTCTL(flagset, arg, dflt) \ do { \ - if ((arg) & IPC_64) \ - tprints("IPC_64|"); \ + if ((arg) & IPC_64) { \ + print_xlat(IPC_64); \ + tprints("|"); \ + } \ printxval((flagset), (arg) & ~IPC_64, dflt); \ } while (0) diff --git a/ipc_msg.c b/ipc_msg.c index dc898a82..788066c4 100644 --- a/ipc_msg.c +++ b/ipc_msg.c @@ -5,7 +5,7 @@ * Copyright (c) 1996-1999 Wichert Akkerman * Copyright (c) 2003-2006 Roland McGrath * Copyright (c) 2006-2015 Dmitry V. Levin - * 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 @@ -41,15 +41,12 @@ #endif #include "xlat/ipc_msg_flags.h" +#include "xlat/ipc_private.h" #include "xlat/resource_flags.h" SYS_FUNC(msgget) { - const int key = (int) tcp->u_arg[0]; - if (key) - tprintf("%#x", key); - else - tprints("IPC_PRIVATE"); + printxval(ipc_private, (unsigned int) tcp->u_arg[0], NULL); tprints(", "); if (printflags(resource_flags, tcp->u_arg[1] & ~0777, NULL) != 0) tprints("|"); @@ -99,7 +96,7 @@ fetch_msgrcv_args(struct tcb *const tcp, const kernel_ulong_t addr, if (umove_or_printaddr(tcp, addr, &tmp)) return -1; pair[0] = tmp[0]; - pair[1] = tmp[1]; + pair[1] = (int) tmp[1]; } return 0; } diff --git a/ipc_sem.c b/ipc_sem.c index d5f4190b..0287bece 100644 --- a/ipc_sem.c +++ b/ipc_sem.c @@ -5,7 +5,7 @@ * Copyright (c) 1996-1999 Wichert Akkerman * Copyright (c) 2003-2006 Roland McGrath * Copyright (c) 2006-2015 Dmitry V. Levin - * 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 @@ -64,7 +64,7 @@ tprint_sembuf_array(struct tcb *const tcp, const kernel_ulong_t addr, #if defined HAVE_SYS_SEM_H || defined HAVE_LINUX_SEM_H struct sembuf sb; print_array(tcp, addr, count, &sb, sizeof(sb), - umoven_or_printaddr, print_sembuf, 0); + tfetch_mem, print_sembuf, 0); #else printaddr(addr); #endif @@ -103,11 +103,7 @@ SYS_FUNC(semtimedop) SYS_FUNC(semget) { - const int key = (int) tcp->u_arg[0]; - if (key) - tprintf("%#x", key); - else - tprints("IPC_PRIVATE"); + printxval(ipc_private, (unsigned int) tcp->u_arg[0], NULL); tprintf(", %d, ", (int) tcp->u_arg[1]); if (printflags(resource_flags, tcp->u_arg[2] & ~0777, NULL) != 0) tprints("|"); diff --git a/ipc_shm.c b/ipc_shm.c index b358fc69..105962ca 100644 --- a/ipc_shm.c +++ b/ipc_shm.c @@ -5,7 +5,7 @@ * Copyright (c) 1996-1999 Wichert Akkerman * Copyright (c) 2003-2006 Roland McGrath * Copyright (c) 2006-2015 Dmitry V. Levin - * 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 @@ -52,11 +52,7 @@ SYS_FUNC(shmget) { - const int key = (int) tcp->u_arg[0]; - if (key) - tprintf("%#x", key); - else - tprints("IPC_PRIVATE"); + printxval(ipc_private, (unsigned int) tcp->u_arg[0], NULL); tprintf(", %" PRI_klu ", ", tcp->u_arg[1]); unsigned int flags = tcp->u_arg[2] & ~0777; @@ -67,10 +63,12 @@ SYS_FUNC(shmget) if (flags || !hugetlb_value) printflags(shm_resource_flags, flags, NULL); - if (hugetlb_value) - tprintf("%s%u<> SHM_HUGE_SHIFT); + print_xlat_u(SHM_HUGE_SHIFT); + } if (flags || hugetlb_value) tprints("|"); diff --git a/kexec.c b/kexec.c index 8157cc90..22acaa3a 100644 --- a/kexec.c +++ b/kexec.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2014-2015 Dmitry V. Levin - * 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 @@ -76,7 +76,7 @@ print_kexec_segments(struct tcb *const tcp, const kernel_ulong_t addr, const size_t sizeof_seg = ARRAY_SIZE(seg) * current_wordsize; print_array(tcp, addr, len, seg, sizeof_seg, - umoven_or_printaddr, print_seg, 0); + tfetch_mem, print_seg, 0); } SYS_FUNC(kexec_load) diff --git a/keyctl.c b/keyctl.c index 9ee08034..74164237 100644 --- a/keyctl.c +++ b/keyctl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2014-2015 Dmitry V. Levin - * 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 @@ -44,12 +44,7 @@ struct keyctl_dh_params { static void print_keyring_serial_number(key_serial_t id) { - const char *str = xlookup(key_spec, (unsigned int) id); - - if (str) - tprints(str); - else - tprintf("%d", id); + printxval_d(key_spec, id, NULL); } SYS_FUNC(add_key) @@ -195,12 +190,8 @@ keyctl_reject_key(struct tcb *tcp, key_serial_t id1, unsigned timeout, print_keyring_serial_number(id1); tprintf(", %u, ", timeout); - - if (err_str) - tprintf("%s, ", err_str); - else - tprintf("%u, ", error); - + print_xlat_ex(error, err_str, XLAT_STYLE_FMT_U); + tprints(", "); print_keyring_serial_number(id2); } @@ -396,7 +387,8 @@ SYS_FUNC(keyctl) break; case KEYCTL_SET_REQKEY_KEYRING: - printxval(key_reqkeys, arg2, "KEY_REQKEY_DEFL_???"); + printxvals_ex((int) arg2, "KEY_REQKEY_DEFL_???", + XLAT_STYLE_FMT_D, key_reqkeys, NULL); break; case KEYCTL_SET_TIMEOUT: diff --git a/linux/32/ioctls_inc_align16.h b/linux/32/ioctls_inc_align16.h index 77ea9c37..2dc2e73c 100644 --- a/linux/32/ioctls_inc_align16.h +++ b/linux/32/ioctls_inc_align16.h @@ -283,6 +283,7 @@ { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_ADD_CONFIG", _IOC_WRITE, 0x6477, 0x48 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_REMOVE_CONFIG", _IOC_WRITE, 0x6478, 0x08 }, +{ "drm/i915_drm.h", "DRM_IOCTL_I915_QUERY", _IOC_READ|_IOC_WRITE, 0x6479, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 }, @@ -422,8 +423,11 @@ { "drm/vc4_drm.h", "DRM_IOCTL_VC4_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6449, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_LABEL_BO", _IOC_READ|_IOC_WRITE, 0x644a, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_MMAP_BO", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_CREATE", _IOC_READ|_IOC_WRITE, 0x644c, 0x18 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_DESTROY", _IOC_READ|_IOC_WRITE, 0x644d, 0x04 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_GET_VALUES", _IOC_READ|_IOC_WRITE, 0x644e, 0x0c }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_SET_TILING", _IOC_READ|_IOC_WRITE, 0x6448, 0x10 }, -{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa0 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa8 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_BO", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_SEQNO", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, { "drm/vgem_drm.h", "DRM_IOCTL_VGEM_FENCE_ATTACH", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, @@ -1160,6 +1164,7 @@ { "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 }, { "linux/if_tun.h", "TUNSETVNETLE", _IOC_WRITE, 0x54dc, 0x04 }, { "linux/iio/events.h", "IIO_GET_EVENT_FD_IOCTL", _IOC_READ, 0x6990, 0x04 }, +{ "linux/inotify.h", "INOTIFY_IOC_SETNEXTWD", _IOC_WRITE, 0x4900, 0x04 }, { "linux/input.h", "EVIOCGEFFECTS", _IOC_READ, 0x4584, 0x04 }, { "linux/input.h", "EVIOCGID", _IOC_READ, 0x4502, 0x08 }, { "linux/input.h", "EVIOCGKEYCODE", _IOC_READ, 0x4504, 0x08 }, @@ -1197,6 +1202,9 @@ { "linux/ipmi.h", "IPMICTL_SET_TIMING_PARMS_CMD", _IOC_READ, 0x6916, 0x08 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD", _IOC_READ, 0x690f, 0x02 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD_CHANS", _IOC_READ, 0x691d, 0x0c }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_CLEAR_SMS_ATN", _IOC_NONE, 0xb101, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_FORCE_ABORT", _IOC_NONE, 0xb102, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_SET_SMS_ATN", _IOC_NONE, 0xb100, 0x00 }, { "linux/isdn.h", "IIOCDBGVAR", _IOC_NONE, 0x497f, 0x00 }, { "linux/isdn.h", "IIOCDRVCTL", _IOC_NONE, 0x4980, 0x00 }, { "linux/isdn.h", "IIOCGETCPS", _IOC_NONE, 0x4915, 0x00 }, @@ -1238,48 +1246,6 @@ { "linux/ivtv.h", "IVTV_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x38 }, { "linux/ivtv.h", "IVTV_IOC_PASSTHROUGH_MODE", _IOC_WRITE, 0x56c1, 0x04 }, { "linux/ivtvfb.h", "IVTVFB_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x0c }, -{ "linux/ixjuser.h", "IXJCTL_AEC_GET_LEVEL", _IOC_NONE, 0x71cd, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_START", _IOC_WRITE, 0x71cb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_STOP", _IOC_NONE, 0x71cc, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_CARDTYPE", _IOC_READ, 0x71c1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_CID", _IOC_READ, 0x71d4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_CIDCW", _IOC_WRITE, 0x71d9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_AGAIN", _IOC_WRITE, 0x71d2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_COEFF_SET", _IOC_WRITE, 0x71d0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_CLEAR", _IOC_NONE, 0x71e7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_READ", _IOC_READ, 0x71e6, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_IDLE", _IOC_NONE, 0x71c5, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_RESET", _IOC_NONE, 0x71c0, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_TYPE", _IOC_READ, 0x71c3, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_VERSION", _IOC_READ, 0x71c4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DTMF_PRESCALE", _IOC_WRITE, 0x71e8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FILTER_CADENCE", _IOC_WRITE, 0x71d6, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_READ", _IOC_READ, 0x71e2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_WRITTEN", _IOC_READ, 0x71e3, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_GET_FILTER_HIST", _IOC_WRITE, 0x71c8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_HZ", _IOC_WRITE, 0x71e0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INIT_TONE", _IOC_WRITE, 0x71c9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_START", _IOC_WRITE, 0x71fd, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_STOP", _IOC_WRITE, 0x71fe, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_MIXER", _IOC_WRITE, 0x71cf, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PLAY_CID", _IOC_NONE, 0x71d7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_PORT", _IOC_WRITE, 0x71d1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_POTS_PSTN", _IOC_WRITE, 0x71d5, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PSTN_LINETEST", _IOC_NONE, 0x71d3, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_RATE", _IOC_WRITE, 0x71e1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_READ_WAIT", _IOC_READ, 0x71e4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SC_RXG", _IOC_WRITE, 0x71ea, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SC_TXG", _IOC_WRITE, 0x71eb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SERIAL", _IOC_READ, 0x71c2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER", _IOC_WRITE, 0x71c7, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER_RAW", _IOC_WRITE, 0x71dd, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_LED", _IOC_WRITE, 0x71ce, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SIGCTL", _IOC_WRITE, 0x71e9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_TESTRAM", _IOC_NONE, 0x71c6, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_TONE_CADENCE", _IOC_WRITE, 0x71ca, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_VERSION", _IOC_READ, 0x71da, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_VMWI", _IOC_READ, 0x71d8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_WRITE_WAIT", _IOC_READ, 0x71e5, 0x04 }, { "linux/joystick.h", "JSIOCGAXES", _IOC_READ, 0x6a11, 0x01 }, { "linux/joystick.h", "JSIOCGAXMAP", _IOC_READ, 0x6a32, 0x40 }, { "linux/joystick.h", "JSIOCGBTNMAP", _IOC_READ, 0x6a34, 0x400 }, @@ -1338,6 +1304,8 @@ { "linux/kd.h", "PIO_UNIMAP", 0, 0x4B67, 0 }, { "linux/kd.h", "PIO_UNIMAPCLR", 0, 0x4B68, 0 }, { "linux/kd.h", "PIO_UNISCRNMAP", 0, 0x4B6A, 0 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ACQUIRE_VM", _IOC_WRITE, 0x4b15, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ALLOC_MEMORY_OF_GPU", _IOC_READ|_IOC_WRITE, 0x4b16, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_EVENT", _IOC_READ|_IOC_WRITE, 0x4b08, 0x20 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b02, 0x58 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_ADDRESS_WATCH", _IOC_WRITE, 0x4b0f, 0x10 }, @@ -1346,15 +1314,19 @@ { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_WAVE_CONTROL", _IOC_WRITE, 0x4b10, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_EVENT", _IOC_WRITE, 0x4b09, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b03, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_FREE_MEMORY_OF_GPU", _IOC_WRITE, 0x4b17, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_CLOCK_COUNTERS", _IOC_READ|_IOC_WRITE, 0x4b05, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES", _IOC_READ, 0x4b06, 0x190 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES_NEW", _IOC_READ|_IOC_WRITE, 0x4b14, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_TILE_CONFIG", _IOC_READ|_IOC_WRITE, 0x4b12, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_VERSION", _IOC_READ, 0x4b01, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_MAP_MEMORY_TO_GPU", _IOC_READ|_IOC_WRITE, 0x4b18, 0x18 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_RESET_EVENT", _IOC_WRITE, 0x4b0b, 0x08 }, { "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_UNMAP_MEMORY_FROM_GPU", _IOC_READ|_IOC_WRITE, 0x4b19, 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 }, @@ -1552,6 +1524,7 @@ { "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 }, +{ "linux/perf_event.h", "PERF_EVENT_IOC_MODIFY_ATTRIBUTES", _IOC_WRITE, 0x240b, 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 }, @@ -1680,6 +1653,7 @@ { "linux/random.h", "RNDCLEARPOOL", _IOC_NONE, 0x5206, 0x00 }, { "linux/random.h", "RNDGETENTCNT", _IOC_READ, 0x5200, 0x04 }, { "linux/random.h", "RNDGETPOOL", _IOC_READ, 0x5202, 0x08 }, +{ "linux/random.h", "RNDRESEEDCRNG", _IOC_NONE, 0x5207, 0x00 }, { "linux/random.h", "RNDZAPENTCNT", _IOC_NONE, 0x5204, 0x00 }, { "linux/raw.h", "RAW_GETBIND", _IOC_NONE, 0xac01, 0x00 }, { "linux/raw.h", "RAW_SETBIND", _IOC_NONE, 0xac00, 0x00 }, @@ -2022,53 +1996,6 @@ { "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 }, { "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 }, { "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c }, -{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 }, -{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_CHECK", _IOC_WRITE, 0x7182, 0x04 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_LIST", _IOC_READ, 0x7181, 0x04 }, -{ "linux/telephony.h", "PHONE_CPT_STOP", _IOC_NONE, 0x71a4, 0x00 }, -{ "linux/telephony.h", "PHONE_DIALTONE", _IOC_NONE, 0x71a3, 0x00 }, -{ "linux/telephony.h", "PHONE_DTMF_OOB", _IOC_WRITE, 0x7199, 0x04 }, -{ "linux/telephony.h", "PHONE_DTMF_READY", _IOC_READ, 0x7196, 0x04 }, -{ "linux/telephony.h", "PHONE_EXCEPTION", _IOC_READ, 0x719a, 0x04 }, -{ "linux/telephony.h", "PHONE_FRAME", _IOC_WRITE, 0x718d, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF", _IOC_READ, 0x7197, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF_ASCII", _IOC_READ, 0x7198, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_TONE_OFF_TIME", _IOC_NONE, 0x719f, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_ON_TIME", _IOC_NONE, 0x719e, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_STATE", _IOC_NONE, 0x71a0, 0x00 }, -{ "linux/telephony.h", "PHONE_HOOKSTATE", _IOC_NONE, 0x7184, 0x00 }, -{ "linux/telephony.h", "PHONE_MAXRINGS", _IOC_WRITE, 0x7185, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_CODEC", _IOC_WRITE, 0x7190, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_DEPTH", _IOC_WRITE, 0x7193, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_LEVEL", _IOC_NONE, 0x7195, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_START", _IOC_NONE, 0x7191, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_STOP", _IOC_NONE, 0x7192, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_TONE", _IOC_WRITE, 0x719b, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME", _IOC_WRITE, 0x7194, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME_LINEAR", _IOC_WRITE, 0x71dc, 0x04 }, -{ "linux/telephony.h", "PHONE_PSTN_GET_STATE", _IOC_NONE, 0x71a5, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_LINETEST", _IOC_NONE, 0x71a8, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_SET_STATE", _IOC_WRITE, 0x71a4, 0x04 }, -{ "linux/telephony.h", "PHONE_QUERY_CODEC", _IOC_READ|_IOC_WRITE, 0x71a7, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_CODEC", _IOC_WRITE, 0x7189, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_DEPTH", _IOC_WRITE, 0x718c, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_LEVEL", _IOC_NONE, 0x718f, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_START", _IOC_NONE, 0x718a, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_STOP", _IOC_NONE, 0x718b, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME", _IOC_WRITE, 0x718e, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME_LINEAR", _IOC_WRITE, 0x71db, 0x04 }, -{ "linux/telephony.h", "PHONE_RING", _IOC_NONE, 0x7183, 0x00 }, -{ "linux/telephony.h", "PHONE_RINGBACK", _IOC_NONE, 0x71a2, 0x00 }, -{ "linux/telephony.h", "PHONE_RING_CADENCE", _IOC_WRITE, 0x7186, 0x02 }, -{ "linux/telephony.h", "PHONE_RING_START", _IOC_WRITE, 0x7187, 0x04 }, -{ "linux/telephony.h", "PHONE_RING_STOP", _IOC_NONE, 0x7188, 0x00 }, -{ "linux/telephony.h", "PHONE_SET_TONE_OFF_TIME", _IOC_WRITE, 0x719d, 0x04 }, -{ "linux/telephony.h", "PHONE_SET_TONE_ON_TIME", _IOC_WRITE, 0x719c, 0x04 }, -{ "linux/telephony.h", "PHONE_VAD", _IOC_WRITE, 0x71a9, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK", _IOC_WRITE, 0x71aa, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK_DURATION", _IOC_WRITE, 0x71a6, 0x04 }, { "linux/timerfd.h", "TFD_IOC_SET_TICKS", _IOC_WRITE, 0x5400, 0x08 }, { "linux/toshiba.h", "TOSHIBA_ACPI_SCI", _IOC_READ|_IOC_WRITE, 0x7491, 0x18 }, { "linux/toshiba.h", "TOSH_SMM", _IOC_READ|_IOC_WRITE, 0x7490, 0x18 }, @@ -2199,6 +2126,7 @@ { "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_IOEVENTFD", _IOC_NONE, 0x3b74, 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 }, @@ -2523,7 +2451,7 @@ { "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x04 }, { "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c }, { "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 }, -{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x26 }, +{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x28 }, { "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 }, { "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 }, { "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 }, @@ -2537,7 +2465,7 @@ { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 }, -{ "rdma/rdma_user_ioctl.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x10 }, +{ "rdma/rdma_user_ioctl_cmds.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x18 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 }, diff --git a/linux/32/ioctls_inc_align32.h b/linux/32/ioctls_inc_align32.h index d2a33930..f9cc3407 100644 --- a/linux/32/ioctls_inc_align32.h +++ b/linux/32/ioctls_inc_align32.h @@ -283,6 +283,7 @@ { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_ADD_CONFIG", _IOC_WRITE, 0x6477, 0x48 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_REMOVE_CONFIG", _IOC_WRITE, 0x6478, 0x08 }, +{ "drm/i915_drm.h", "DRM_IOCTL_I915_QUERY", _IOC_READ|_IOC_WRITE, 0x6479, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 }, @@ -422,8 +423,11 @@ { "drm/vc4_drm.h", "DRM_IOCTL_VC4_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6449, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_LABEL_BO", _IOC_READ|_IOC_WRITE, 0x644a, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_MMAP_BO", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_CREATE", _IOC_READ|_IOC_WRITE, 0x644c, 0x18 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_DESTROY", _IOC_READ|_IOC_WRITE, 0x644d, 0x04 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_GET_VALUES", _IOC_READ|_IOC_WRITE, 0x644e, 0x0c }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_SET_TILING", _IOC_READ|_IOC_WRITE, 0x6448, 0x10 }, -{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa0 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa8 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_BO", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_SEQNO", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, { "drm/vgem_drm.h", "DRM_IOCTL_VGEM_FENCE_ATTACH", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, @@ -1160,6 +1164,7 @@ { "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 }, { "linux/if_tun.h", "TUNSETVNETLE", _IOC_WRITE, 0x54dc, 0x04 }, { "linux/iio/events.h", "IIO_GET_EVENT_FD_IOCTL", _IOC_READ, 0x6990, 0x04 }, +{ "linux/inotify.h", "INOTIFY_IOC_SETNEXTWD", _IOC_WRITE, 0x4900, 0x04 }, { "linux/input.h", "EVIOCGEFFECTS", _IOC_READ, 0x4584, 0x04 }, { "linux/input.h", "EVIOCGID", _IOC_READ, 0x4502, 0x08 }, { "linux/input.h", "EVIOCGKEYCODE", _IOC_READ, 0x4504, 0x08 }, @@ -1197,6 +1202,9 @@ { "linux/ipmi.h", "IPMICTL_SET_TIMING_PARMS_CMD", _IOC_READ, 0x6916, 0x08 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD", _IOC_READ, 0x690f, 0x02 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD_CHANS", _IOC_READ, 0x691d, 0x0c }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_CLEAR_SMS_ATN", _IOC_NONE, 0xb101, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_FORCE_ABORT", _IOC_NONE, 0xb102, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_SET_SMS_ATN", _IOC_NONE, 0xb100, 0x00 }, { "linux/isdn.h", "IIOCDBGVAR", _IOC_NONE, 0x497f, 0x00 }, { "linux/isdn.h", "IIOCDRVCTL", _IOC_NONE, 0x4980, 0x00 }, { "linux/isdn.h", "IIOCGETCPS", _IOC_NONE, 0x4915, 0x00 }, @@ -1238,48 +1246,6 @@ { "linux/ivtv.h", "IVTV_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x38 }, { "linux/ivtv.h", "IVTV_IOC_PASSTHROUGH_MODE", _IOC_WRITE, 0x56c1, 0x04 }, { "linux/ivtvfb.h", "IVTVFB_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x0c }, -{ "linux/ixjuser.h", "IXJCTL_AEC_GET_LEVEL", _IOC_NONE, 0x71cd, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_START", _IOC_WRITE, 0x71cb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_STOP", _IOC_NONE, 0x71cc, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_CARDTYPE", _IOC_READ, 0x71c1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_CID", _IOC_READ, 0x71d4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_CIDCW", _IOC_WRITE, 0x71d9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_AGAIN", _IOC_WRITE, 0x71d2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_COEFF_SET", _IOC_WRITE, 0x71d0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_CLEAR", _IOC_NONE, 0x71e7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_READ", _IOC_READ, 0x71e6, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_IDLE", _IOC_NONE, 0x71c5, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_RESET", _IOC_NONE, 0x71c0, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_TYPE", _IOC_READ, 0x71c3, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_VERSION", _IOC_READ, 0x71c4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DTMF_PRESCALE", _IOC_WRITE, 0x71e8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FILTER_CADENCE", _IOC_WRITE, 0x71d6, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_READ", _IOC_READ, 0x71e2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_WRITTEN", _IOC_READ, 0x71e3, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_GET_FILTER_HIST", _IOC_WRITE, 0x71c8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_HZ", _IOC_WRITE, 0x71e0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INIT_TONE", _IOC_WRITE, 0x71c9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_START", _IOC_WRITE, 0x71fd, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_STOP", _IOC_WRITE, 0x71fe, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_MIXER", _IOC_WRITE, 0x71cf, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PLAY_CID", _IOC_NONE, 0x71d7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_PORT", _IOC_WRITE, 0x71d1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_POTS_PSTN", _IOC_WRITE, 0x71d5, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PSTN_LINETEST", _IOC_NONE, 0x71d3, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_RATE", _IOC_WRITE, 0x71e1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_READ_WAIT", _IOC_READ, 0x71e4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SC_RXG", _IOC_WRITE, 0x71ea, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SC_TXG", _IOC_WRITE, 0x71eb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SERIAL", _IOC_READ, 0x71c2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER", _IOC_WRITE, 0x71c7, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER_RAW", _IOC_WRITE, 0x71dd, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_LED", _IOC_WRITE, 0x71ce, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SIGCTL", _IOC_WRITE, 0x71e9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_TESTRAM", _IOC_NONE, 0x71c6, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_TONE_CADENCE", _IOC_WRITE, 0x71ca, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_VERSION", _IOC_READ, 0x71da, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_VMWI", _IOC_READ, 0x71d8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_WRITE_WAIT", _IOC_READ, 0x71e5, 0x04 }, { "linux/joystick.h", "JSIOCGAXES", _IOC_READ, 0x6a11, 0x01 }, { "linux/joystick.h", "JSIOCGAXMAP", _IOC_READ, 0x6a32, 0x40 }, { "linux/joystick.h", "JSIOCGBTNMAP", _IOC_READ, 0x6a34, 0x400 }, @@ -1338,6 +1304,8 @@ { "linux/kd.h", "PIO_UNIMAP", 0, 0x4B67, 0 }, { "linux/kd.h", "PIO_UNIMAPCLR", 0, 0x4B68, 0 }, { "linux/kd.h", "PIO_UNISCRNMAP", 0, 0x4B6A, 0 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ACQUIRE_VM", _IOC_WRITE, 0x4b15, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ALLOC_MEMORY_OF_GPU", _IOC_READ|_IOC_WRITE, 0x4b16, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_EVENT", _IOC_READ|_IOC_WRITE, 0x4b08, 0x20 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b02, 0x58 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_ADDRESS_WATCH", _IOC_WRITE, 0x4b0f, 0x10 }, @@ -1346,15 +1314,19 @@ { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_WAVE_CONTROL", _IOC_WRITE, 0x4b10, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_EVENT", _IOC_WRITE, 0x4b09, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b03, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_FREE_MEMORY_OF_GPU", _IOC_WRITE, 0x4b17, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_CLOCK_COUNTERS", _IOC_READ|_IOC_WRITE, 0x4b05, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES", _IOC_READ, 0x4b06, 0x190 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES_NEW", _IOC_READ|_IOC_WRITE, 0x4b14, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_TILE_CONFIG", _IOC_READ|_IOC_WRITE, 0x4b12, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_VERSION", _IOC_READ, 0x4b01, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_MAP_MEMORY_TO_GPU", _IOC_READ|_IOC_WRITE, 0x4b18, 0x18 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_RESET_EVENT", _IOC_WRITE, 0x4b0b, 0x08 }, { "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_UNMAP_MEMORY_FROM_GPU", _IOC_READ|_IOC_WRITE, 0x4b19, 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 }, @@ -1552,6 +1524,7 @@ { "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 }, +{ "linux/perf_event.h", "PERF_EVENT_IOC_MODIFY_ATTRIBUTES", _IOC_WRITE, 0x240b, 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 }, @@ -1680,6 +1653,7 @@ { "linux/random.h", "RNDCLEARPOOL", _IOC_NONE, 0x5206, 0x00 }, { "linux/random.h", "RNDGETENTCNT", _IOC_READ, 0x5200, 0x04 }, { "linux/random.h", "RNDGETPOOL", _IOC_READ, 0x5202, 0x08 }, +{ "linux/random.h", "RNDRESEEDCRNG", _IOC_NONE, 0x5207, 0x00 }, { "linux/random.h", "RNDZAPENTCNT", _IOC_NONE, 0x5204, 0x00 }, { "linux/raw.h", "RAW_GETBIND", _IOC_NONE, 0xac01, 0x00 }, { "linux/raw.h", "RAW_SETBIND", _IOC_NONE, 0xac00, 0x00 }, @@ -2022,53 +1996,6 @@ { "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 }, { "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 }, { "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c }, -{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 }, -{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_CHECK", _IOC_WRITE, 0x7182, 0x04 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_LIST", _IOC_READ, 0x7181, 0x04 }, -{ "linux/telephony.h", "PHONE_CPT_STOP", _IOC_NONE, 0x71a4, 0x00 }, -{ "linux/telephony.h", "PHONE_DIALTONE", _IOC_NONE, 0x71a3, 0x00 }, -{ "linux/telephony.h", "PHONE_DTMF_OOB", _IOC_WRITE, 0x7199, 0x04 }, -{ "linux/telephony.h", "PHONE_DTMF_READY", _IOC_READ, 0x7196, 0x04 }, -{ "linux/telephony.h", "PHONE_EXCEPTION", _IOC_READ, 0x719a, 0x04 }, -{ "linux/telephony.h", "PHONE_FRAME", _IOC_WRITE, 0x718d, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF", _IOC_READ, 0x7197, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF_ASCII", _IOC_READ, 0x7198, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_TONE_OFF_TIME", _IOC_NONE, 0x719f, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_ON_TIME", _IOC_NONE, 0x719e, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_STATE", _IOC_NONE, 0x71a0, 0x00 }, -{ "linux/telephony.h", "PHONE_HOOKSTATE", _IOC_NONE, 0x7184, 0x00 }, -{ "linux/telephony.h", "PHONE_MAXRINGS", _IOC_WRITE, 0x7185, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_CODEC", _IOC_WRITE, 0x7190, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_DEPTH", _IOC_WRITE, 0x7193, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_LEVEL", _IOC_NONE, 0x7195, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_START", _IOC_NONE, 0x7191, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_STOP", _IOC_NONE, 0x7192, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_TONE", _IOC_WRITE, 0x719b, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME", _IOC_WRITE, 0x7194, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME_LINEAR", _IOC_WRITE, 0x71dc, 0x04 }, -{ "linux/telephony.h", "PHONE_PSTN_GET_STATE", _IOC_NONE, 0x71a5, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_LINETEST", _IOC_NONE, 0x71a8, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_SET_STATE", _IOC_WRITE, 0x71a4, 0x04 }, -{ "linux/telephony.h", "PHONE_QUERY_CODEC", _IOC_READ|_IOC_WRITE, 0x71a7, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_CODEC", _IOC_WRITE, 0x7189, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_DEPTH", _IOC_WRITE, 0x718c, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_LEVEL", _IOC_NONE, 0x718f, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_START", _IOC_NONE, 0x718a, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_STOP", _IOC_NONE, 0x718b, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME", _IOC_WRITE, 0x718e, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME_LINEAR", _IOC_WRITE, 0x71db, 0x04 }, -{ "linux/telephony.h", "PHONE_RING", _IOC_NONE, 0x7183, 0x00 }, -{ "linux/telephony.h", "PHONE_RINGBACK", _IOC_NONE, 0x71a2, 0x00 }, -{ "linux/telephony.h", "PHONE_RING_CADENCE", _IOC_WRITE, 0x7186, 0x02 }, -{ "linux/telephony.h", "PHONE_RING_START", _IOC_WRITE, 0x7187, 0x04 }, -{ "linux/telephony.h", "PHONE_RING_STOP", _IOC_NONE, 0x7188, 0x00 }, -{ "linux/telephony.h", "PHONE_SET_TONE_OFF_TIME", _IOC_WRITE, 0x719d, 0x04 }, -{ "linux/telephony.h", "PHONE_SET_TONE_ON_TIME", _IOC_WRITE, 0x719c, 0x04 }, -{ "linux/telephony.h", "PHONE_VAD", _IOC_WRITE, 0x71a9, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK", _IOC_WRITE, 0x71aa, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK_DURATION", _IOC_WRITE, 0x71a6, 0x04 }, { "linux/timerfd.h", "TFD_IOC_SET_TICKS", _IOC_WRITE, 0x5400, 0x08 }, { "linux/toshiba.h", "TOSHIBA_ACPI_SCI", _IOC_READ|_IOC_WRITE, 0x7491, 0x18 }, { "linux/toshiba.h", "TOSH_SMM", _IOC_READ|_IOC_WRITE, 0x7490, 0x18 }, @@ -2199,6 +2126,7 @@ { "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_IOEVENTFD", _IOC_NONE, 0x3b74, 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 }, @@ -2537,7 +2465,7 @@ { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 }, -{ "rdma/rdma_user_ioctl.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x10 }, +{ "rdma/rdma_user_ioctl_cmds.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x18 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 }, diff --git a/linux/32/ioctls_inc_align64.h b/linux/32/ioctls_inc_align64.h index 41c06d9c..22a8ab5d 100644 --- a/linux/32/ioctls_inc_align64.h +++ b/linux/32/ioctls_inc_align64.h @@ -283,6 +283,7 @@ { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_ADD_CONFIG", _IOC_WRITE, 0x6477, 0x48 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_REMOVE_CONFIG", _IOC_WRITE, 0x6478, 0x08 }, +{ "drm/i915_drm.h", "DRM_IOCTL_I915_QUERY", _IOC_READ|_IOC_WRITE, 0x6479, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 }, @@ -422,8 +423,11 @@ { "drm/vc4_drm.h", "DRM_IOCTL_VC4_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6449, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_LABEL_BO", _IOC_READ|_IOC_WRITE, 0x644a, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_MMAP_BO", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_CREATE", _IOC_READ|_IOC_WRITE, 0x644c, 0x18 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_DESTROY", _IOC_READ|_IOC_WRITE, 0x644d, 0x04 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_GET_VALUES", _IOC_READ|_IOC_WRITE, 0x644e, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_SET_TILING", _IOC_READ|_IOC_WRITE, 0x6448, 0x10 }, -{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa0 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa8 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_BO", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_SEQNO", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, { "drm/vgem_drm.h", "DRM_IOCTL_VGEM_FENCE_ATTACH", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, @@ -1160,6 +1164,7 @@ { "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 }, { "linux/if_tun.h", "TUNSETVNETLE", _IOC_WRITE, 0x54dc, 0x04 }, { "linux/iio/events.h", "IIO_GET_EVENT_FD_IOCTL", _IOC_READ, 0x6990, 0x04 }, +{ "linux/inotify.h", "INOTIFY_IOC_SETNEXTWD", _IOC_WRITE, 0x4900, 0x04 }, { "linux/input.h", "EVIOCGEFFECTS", _IOC_READ, 0x4584, 0x04 }, { "linux/input.h", "EVIOCGID", _IOC_READ, 0x4502, 0x08 }, { "linux/input.h", "EVIOCGKEYCODE", _IOC_READ, 0x4504, 0x08 }, @@ -1197,6 +1202,9 @@ { "linux/ipmi.h", "IPMICTL_SET_TIMING_PARMS_CMD", _IOC_READ, 0x6916, 0x08 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD", _IOC_READ, 0x690f, 0x02 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD_CHANS", _IOC_READ, 0x691d, 0x0c }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_CLEAR_SMS_ATN", _IOC_NONE, 0xb101, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_FORCE_ABORT", _IOC_NONE, 0xb102, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_SET_SMS_ATN", _IOC_NONE, 0xb100, 0x00 }, { "linux/isdn.h", "IIOCDBGVAR", _IOC_NONE, 0x497f, 0x00 }, { "linux/isdn.h", "IIOCDRVCTL", _IOC_NONE, 0x4980, 0x00 }, { "linux/isdn.h", "IIOCGETCPS", _IOC_NONE, 0x4915, 0x00 }, @@ -1238,48 +1246,6 @@ { "linux/ivtv.h", "IVTV_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x38 }, { "linux/ivtv.h", "IVTV_IOC_PASSTHROUGH_MODE", _IOC_WRITE, 0x56c1, 0x04 }, { "linux/ivtvfb.h", "IVTVFB_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x0c }, -{ "linux/ixjuser.h", "IXJCTL_AEC_GET_LEVEL", _IOC_NONE, 0x71cd, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_START", _IOC_WRITE, 0x71cb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_STOP", _IOC_NONE, 0x71cc, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_CARDTYPE", _IOC_READ, 0x71c1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_CID", _IOC_READ, 0x71d4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_CIDCW", _IOC_WRITE, 0x71d9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_AGAIN", _IOC_WRITE, 0x71d2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_COEFF_SET", _IOC_WRITE, 0x71d0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_CLEAR", _IOC_NONE, 0x71e7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_READ", _IOC_READ, 0x71e6, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_IDLE", _IOC_NONE, 0x71c5, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_RESET", _IOC_NONE, 0x71c0, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_TYPE", _IOC_READ, 0x71c3, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_VERSION", _IOC_READ, 0x71c4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DTMF_PRESCALE", _IOC_WRITE, 0x71e8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FILTER_CADENCE", _IOC_WRITE, 0x71d6, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_READ", _IOC_READ, 0x71e2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_WRITTEN", _IOC_READ, 0x71e3, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_GET_FILTER_HIST", _IOC_WRITE, 0x71c8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_HZ", _IOC_WRITE, 0x71e0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INIT_TONE", _IOC_WRITE, 0x71c9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_START", _IOC_WRITE, 0x71fd, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_STOP", _IOC_WRITE, 0x71fe, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_MIXER", _IOC_WRITE, 0x71cf, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PLAY_CID", _IOC_NONE, 0x71d7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_PORT", _IOC_WRITE, 0x71d1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_POTS_PSTN", _IOC_WRITE, 0x71d5, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PSTN_LINETEST", _IOC_NONE, 0x71d3, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_RATE", _IOC_WRITE, 0x71e1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_READ_WAIT", _IOC_READ, 0x71e4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SC_RXG", _IOC_WRITE, 0x71ea, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SC_TXG", _IOC_WRITE, 0x71eb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SERIAL", _IOC_READ, 0x71c2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER", _IOC_WRITE, 0x71c7, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER_RAW", _IOC_WRITE, 0x71dd, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_LED", _IOC_WRITE, 0x71ce, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SIGCTL", _IOC_WRITE, 0x71e9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_TESTRAM", _IOC_NONE, 0x71c6, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_TONE_CADENCE", _IOC_WRITE, 0x71ca, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_VERSION", _IOC_READ, 0x71da, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_VMWI", _IOC_READ, 0x71d8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_WRITE_WAIT", _IOC_READ, 0x71e5, 0x04 }, { "linux/joystick.h", "JSIOCGAXES", _IOC_READ, 0x6a11, 0x01 }, { "linux/joystick.h", "JSIOCGAXMAP", _IOC_READ, 0x6a32, 0x40 }, { "linux/joystick.h", "JSIOCGBTNMAP", _IOC_READ, 0x6a34, 0x400 }, @@ -1338,6 +1304,8 @@ { "linux/kd.h", "PIO_UNIMAP", 0, 0x4B67, 0 }, { "linux/kd.h", "PIO_UNIMAPCLR", 0, 0x4B68, 0 }, { "linux/kd.h", "PIO_UNISCRNMAP", 0, 0x4B6A, 0 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ACQUIRE_VM", _IOC_WRITE, 0x4b15, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ALLOC_MEMORY_OF_GPU", _IOC_READ|_IOC_WRITE, 0x4b16, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_EVENT", _IOC_READ|_IOC_WRITE, 0x4b08, 0x20 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b02, 0x58 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_ADDRESS_WATCH", _IOC_WRITE, 0x4b0f, 0x10 }, @@ -1346,15 +1314,19 @@ { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_WAVE_CONTROL", _IOC_WRITE, 0x4b10, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_EVENT", _IOC_WRITE, 0x4b09, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b03, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_FREE_MEMORY_OF_GPU", _IOC_WRITE, 0x4b17, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_CLOCK_COUNTERS", _IOC_READ|_IOC_WRITE, 0x4b05, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES", _IOC_READ, 0x4b06, 0x190 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES_NEW", _IOC_READ|_IOC_WRITE, 0x4b14, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_TILE_CONFIG", _IOC_READ|_IOC_WRITE, 0x4b12, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_VERSION", _IOC_READ, 0x4b01, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_MAP_MEMORY_TO_GPU", _IOC_READ|_IOC_WRITE, 0x4b18, 0x18 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_RESET_EVENT", _IOC_WRITE, 0x4b0b, 0x08 }, { "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_UNMAP_MEMORY_FROM_GPU", _IOC_READ|_IOC_WRITE, 0x4b19, 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 }, @@ -1552,6 +1524,7 @@ { "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 }, +{ "linux/perf_event.h", "PERF_EVENT_IOC_MODIFY_ATTRIBUTES", _IOC_WRITE, 0x240b, 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 }, @@ -1680,6 +1653,7 @@ { "linux/random.h", "RNDCLEARPOOL", _IOC_NONE, 0x5206, 0x00 }, { "linux/random.h", "RNDGETENTCNT", _IOC_READ, 0x5200, 0x04 }, { "linux/random.h", "RNDGETPOOL", _IOC_READ, 0x5202, 0x08 }, +{ "linux/random.h", "RNDRESEEDCRNG", _IOC_NONE, 0x5207, 0x00 }, { "linux/random.h", "RNDZAPENTCNT", _IOC_NONE, 0x5204, 0x00 }, { "linux/raw.h", "RAW_GETBIND", _IOC_NONE, 0xac01, 0x00 }, { "linux/raw.h", "RAW_SETBIND", _IOC_NONE, 0xac00, 0x00 }, @@ -2022,53 +1996,6 @@ { "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 }, { "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 }, { "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c }, -{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 }, -{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_CHECK", _IOC_WRITE, 0x7182, 0x04 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_LIST", _IOC_READ, 0x7181, 0x04 }, -{ "linux/telephony.h", "PHONE_CPT_STOP", _IOC_NONE, 0x71a4, 0x00 }, -{ "linux/telephony.h", "PHONE_DIALTONE", _IOC_NONE, 0x71a3, 0x00 }, -{ "linux/telephony.h", "PHONE_DTMF_OOB", _IOC_WRITE, 0x7199, 0x04 }, -{ "linux/telephony.h", "PHONE_DTMF_READY", _IOC_READ, 0x7196, 0x04 }, -{ "linux/telephony.h", "PHONE_EXCEPTION", _IOC_READ, 0x719a, 0x04 }, -{ "linux/telephony.h", "PHONE_FRAME", _IOC_WRITE, 0x718d, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF", _IOC_READ, 0x7197, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF_ASCII", _IOC_READ, 0x7198, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_TONE_OFF_TIME", _IOC_NONE, 0x719f, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_ON_TIME", _IOC_NONE, 0x719e, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_STATE", _IOC_NONE, 0x71a0, 0x00 }, -{ "linux/telephony.h", "PHONE_HOOKSTATE", _IOC_NONE, 0x7184, 0x00 }, -{ "linux/telephony.h", "PHONE_MAXRINGS", _IOC_WRITE, 0x7185, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_CODEC", _IOC_WRITE, 0x7190, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_DEPTH", _IOC_WRITE, 0x7193, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_LEVEL", _IOC_NONE, 0x7195, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_START", _IOC_NONE, 0x7191, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_STOP", _IOC_NONE, 0x7192, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_TONE", _IOC_WRITE, 0x719b, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME", _IOC_WRITE, 0x7194, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME_LINEAR", _IOC_WRITE, 0x71dc, 0x04 }, -{ "linux/telephony.h", "PHONE_PSTN_GET_STATE", _IOC_NONE, 0x71a5, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_LINETEST", _IOC_NONE, 0x71a8, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_SET_STATE", _IOC_WRITE, 0x71a4, 0x04 }, -{ "linux/telephony.h", "PHONE_QUERY_CODEC", _IOC_READ|_IOC_WRITE, 0x71a7, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_CODEC", _IOC_WRITE, 0x7189, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_DEPTH", _IOC_WRITE, 0x718c, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_LEVEL", _IOC_NONE, 0x718f, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_START", _IOC_NONE, 0x718a, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_STOP", _IOC_NONE, 0x718b, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME", _IOC_WRITE, 0x718e, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME_LINEAR", _IOC_WRITE, 0x71db, 0x04 }, -{ "linux/telephony.h", "PHONE_RING", _IOC_NONE, 0x7183, 0x00 }, -{ "linux/telephony.h", "PHONE_RINGBACK", _IOC_NONE, 0x71a2, 0x00 }, -{ "linux/telephony.h", "PHONE_RING_CADENCE", _IOC_WRITE, 0x7186, 0x02 }, -{ "linux/telephony.h", "PHONE_RING_START", _IOC_WRITE, 0x7187, 0x04 }, -{ "linux/telephony.h", "PHONE_RING_STOP", _IOC_NONE, 0x7188, 0x00 }, -{ "linux/telephony.h", "PHONE_SET_TONE_OFF_TIME", _IOC_WRITE, 0x719d, 0x04 }, -{ "linux/telephony.h", "PHONE_SET_TONE_ON_TIME", _IOC_WRITE, 0x719c, 0x04 }, -{ "linux/telephony.h", "PHONE_VAD", _IOC_WRITE, 0x71a9, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK", _IOC_WRITE, 0x71aa, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK_DURATION", _IOC_WRITE, 0x71a6, 0x04 }, { "linux/timerfd.h", "TFD_IOC_SET_TICKS", _IOC_WRITE, 0x5400, 0x08 }, { "linux/toshiba.h", "TOSHIBA_ACPI_SCI", _IOC_READ|_IOC_WRITE, 0x7491, 0x18 }, { "linux/toshiba.h", "TOSH_SMM", _IOC_READ|_IOC_WRITE, 0x7490, 0x18 }, @@ -2199,6 +2126,7 @@ { "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_IOEVENTFD", _IOC_NONE, 0x3b74, 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 }, @@ -2537,7 +2465,7 @@ { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 }, -{ "rdma/rdma_user_ioctl.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x10 }, +{ "rdma/rdma_user_ioctl_cmds.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x18 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 }, diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h index b53bf88f..8b05c75f 100644 --- a/linux/32/syscallent.h +++ b/linux/32/syscallent.h @@ -282,6 +282,7 @@ [289] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [290] = { 1, 0, SEN(pkey_free), "pkey_free" }, [291] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, +[292] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, #undef sys_ARCH_mmap #undef ARCH_WANT_SYNC_FILE_RANGE2 diff --git a/linux/64/ioctls_inc.h b/linux/64/ioctls_inc.h index b31b3216..e4b4a664 100644 --- a/linux/64/ioctls_inc.h +++ b/linux/64/ioctls_inc.h @@ -283,6 +283,7 @@ { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_ADD_CONFIG", _IOC_WRITE, 0x6477, 0x48 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_REMOVE_CONFIG", _IOC_WRITE, 0x6478, 0x08 }, +{ "drm/i915_drm.h", "DRM_IOCTL_I915_QUERY", _IOC_READ|_IOC_WRITE, 0x6479, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 }, @@ -422,8 +423,11 @@ { "drm/vc4_drm.h", "DRM_IOCTL_VC4_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6449, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_LABEL_BO", _IOC_READ|_IOC_WRITE, 0x644a, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_MMAP_BO", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_CREATE", _IOC_READ|_IOC_WRITE, 0x644c, 0x18 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_DESTROY", _IOC_READ|_IOC_WRITE, 0x644d, 0x04 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_GET_VALUES", _IOC_READ|_IOC_WRITE, 0x644e, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_SET_TILING", _IOC_READ|_IOC_WRITE, 0x6448, 0x10 }, -{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa0 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa8 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_BO", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_SEQNO", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, { "drm/vgem_drm.h", "DRM_IOCTL_VGEM_FENCE_ATTACH", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, @@ -1160,6 +1164,7 @@ { "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 }, { "linux/if_tun.h", "TUNSETVNETLE", _IOC_WRITE, 0x54dc, 0x04 }, { "linux/iio/events.h", "IIO_GET_EVENT_FD_IOCTL", _IOC_READ, 0x6990, 0x04 }, +{ "linux/inotify.h", "INOTIFY_IOC_SETNEXTWD", _IOC_WRITE, 0x4900, 0x04 }, { "linux/input.h", "EVIOCGEFFECTS", _IOC_READ, 0x4584, 0x04 }, { "linux/input.h", "EVIOCGID", _IOC_READ, 0x4502, 0x08 }, { "linux/input.h", "EVIOCGKEYCODE", _IOC_READ, 0x4504, 0x08 }, @@ -1197,6 +1202,9 @@ { "linux/ipmi.h", "IPMICTL_SET_TIMING_PARMS_CMD", _IOC_READ, 0x6916, 0x08 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD", _IOC_READ, 0x690f, 0x02 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD_CHANS", _IOC_READ, 0x691d, 0x0c }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_CLEAR_SMS_ATN", _IOC_NONE, 0xb101, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_FORCE_ABORT", _IOC_NONE, 0xb102, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_SET_SMS_ATN", _IOC_NONE, 0xb100, 0x00 }, { "linux/isdn.h", "IIOCDBGVAR", _IOC_NONE, 0x497f, 0x00 }, { "linux/isdn.h", "IIOCDRVCTL", _IOC_NONE, 0x4980, 0x00 }, { "linux/isdn.h", "IIOCGETCPS", _IOC_NONE, 0x4915, 0x00 }, @@ -1238,48 +1246,6 @@ { "linux/ivtv.h", "IVTV_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x40 }, { "linux/ivtv.h", "IVTV_IOC_PASSTHROUGH_MODE", _IOC_WRITE, 0x56c1, 0x04 }, { "linux/ivtvfb.h", "IVTVFB_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x18 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_GET_LEVEL", _IOC_NONE, 0x71cd, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_START", _IOC_WRITE, 0x71cb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_STOP", _IOC_NONE, 0x71cc, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_CARDTYPE", _IOC_READ, 0x71c1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_CID", _IOC_READ, 0x71d4, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_CIDCW", _IOC_WRITE, 0x71d9, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_AGAIN", _IOC_WRITE, 0x71d2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_COEFF_SET", _IOC_WRITE, 0x71d0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_CLEAR", _IOC_NONE, 0x71e7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_READ", _IOC_READ, 0x71e6, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_IDLE", _IOC_NONE, 0x71c5, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_RESET", _IOC_NONE, 0x71c0, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_TYPE", _IOC_READ, 0x71c3, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_VERSION", _IOC_READ, 0x71c4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DTMF_PRESCALE", _IOC_WRITE, 0x71e8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FILTER_CADENCE", _IOC_WRITE, 0x71d6, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_READ", _IOC_READ, 0x71e2, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_WRITTEN", _IOC_READ, 0x71e3, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_GET_FILTER_HIST", _IOC_WRITE, 0x71c8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_HZ", _IOC_WRITE, 0x71e0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INIT_TONE", _IOC_WRITE, 0x71c9, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_START", _IOC_WRITE, 0x71fd, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_STOP", _IOC_WRITE, 0x71fe, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_MIXER", _IOC_WRITE, 0x71cf, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PLAY_CID", _IOC_NONE, 0x71d7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_PORT", _IOC_WRITE, 0x71d1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_POTS_PSTN", _IOC_WRITE, 0x71d5, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PSTN_LINETEST", _IOC_NONE, 0x71d3, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_RATE", _IOC_WRITE, 0x71e1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_READ_WAIT", _IOC_READ, 0x71e4, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_SC_RXG", _IOC_WRITE, 0x71ea, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SC_TXG", _IOC_WRITE, 0x71eb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SERIAL", _IOC_READ, 0x71c2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER", _IOC_WRITE, 0x71c7, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER_RAW", _IOC_WRITE, 0x71dd, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_SET_LED", _IOC_WRITE, 0x71ce, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SIGCTL", _IOC_WRITE, 0x71e9, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_TESTRAM", _IOC_NONE, 0x71c6, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_TONE_CADENCE", _IOC_WRITE, 0x71ca, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_VERSION", _IOC_READ, 0x71da, 0x08 }, -{ "linux/ixjuser.h", "IXJCTL_VMWI", _IOC_READ, 0x71d8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_WRITE_WAIT", _IOC_READ, 0x71e5, 0x08 }, { "linux/joystick.h", "JSIOCGAXES", _IOC_READ, 0x6a11, 0x01 }, { "linux/joystick.h", "JSIOCGAXMAP", _IOC_READ, 0x6a32, 0x40 }, { "linux/joystick.h", "JSIOCGBTNMAP", _IOC_READ, 0x6a34, 0x400 }, @@ -1338,6 +1304,8 @@ { "linux/kd.h", "PIO_UNIMAP", 0, 0x4B67, 0 }, { "linux/kd.h", "PIO_UNIMAPCLR", 0, 0x4B68, 0 }, { "linux/kd.h", "PIO_UNISCRNMAP", 0, 0x4B6A, 0 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ACQUIRE_VM", _IOC_WRITE, 0x4b15, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ALLOC_MEMORY_OF_GPU", _IOC_READ|_IOC_WRITE, 0x4b16, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_EVENT", _IOC_READ|_IOC_WRITE, 0x4b08, 0x20 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b02, 0x58 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_ADDRESS_WATCH", _IOC_WRITE, 0x4b0f, 0x10 }, @@ -1346,15 +1314,19 @@ { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_WAVE_CONTROL", _IOC_WRITE, 0x4b10, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_EVENT", _IOC_WRITE, 0x4b09, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b03, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_FREE_MEMORY_OF_GPU", _IOC_WRITE, 0x4b17, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_CLOCK_COUNTERS", _IOC_READ|_IOC_WRITE, 0x4b05, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES", _IOC_READ, 0x4b06, 0x190 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES_NEW", _IOC_READ|_IOC_WRITE, 0x4b14, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_TILE_CONFIG", _IOC_READ|_IOC_WRITE, 0x4b12, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_VERSION", _IOC_READ, 0x4b01, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_MAP_MEMORY_TO_GPU", _IOC_READ|_IOC_WRITE, 0x4b18, 0x18 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_RESET_EVENT", _IOC_WRITE, 0x4b0b, 0x08 }, { "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_UNMAP_MEMORY_FROM_GPU", _IOC_READ|_IOC_WRITE, 0x4b19, 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 }, @@ -1552,6 +1524,7 @@ { "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x08 }, +{ "linux/perf_event.h", "PERF_EVENT_IOC_MODIFY_ATTRIBUTES", _IOC_WRITE, 0x240b, 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 }, @@ -1680,6 +1653,7 @@ { "linux/random.h", "RNDCLEARPOOL", _IOC_NONE, 0x5206, 0x00 }, { "linux/random.h", "RNDGETENTCNT", _IOC_READ, 0x5200, 0x04 }, { "linux/random.h", "RNDGETPOOL", _IOC_READ, 0x5202, 0x08 }, +{ "linux/random.h", "RNDRESEEDCRNG", _IOC_NONE, 0x5207, 0x00 }, { "linux/random.h", "RNDZAPENTCNT", _IOC_NONE, 0x5204, 0x00 }, { "linux/raw.h", "RAW_GETBIND", _IOC_NONE, 0xac01, 0x00 }, { "linux/raw.h", "RAW_SETBIND", _IOC_NONE, 0xac00, 0x00 }, @@ -2022,53 +1996,6 @@ { "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 }, { "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 }, { "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c }, -{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 }, -{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_CHECK", _IOC_WRITE, 0x7182, 0x08 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_LIST", _IOC_READ, 0x7181, 0x08 }, -{ "linux/telephony.h", "PHONE_CPT_STOP", _IOC_NONE, 0x71a4, 0x00 }, -{ "linux/telephony.h", "PHONE_DIALTONE", _IOC_NONE, 0x71a3, 0x00 }, -{ "linux/telephony.h", "PHONE_DTMF_OOB", _IOC_WRITE, 0x7199, 0x04 }, -{ "linux/telephony.h", "PHONE_DTMF_READY", _IOC_READ, 0x7196, 0x04 }, -{ "linux/telephony.h", "PHONE_EXCEPTION", _IOC_READ, 0x719a, 0x04 }, -{ "linux/telephony.h", "PHONE_FRAME", _IOC_WRITE, 0x718d, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF", _IOC_READ, 0x7197, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF_ASCII", _IOC_READ, 0x7198, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_TONE_OFF_TIME", _IOC_NONE, 0x719f, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_ON_TIME", _IOC_NONE, 0x719e, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_STATE", _IOC_NONE, 0x71a0, 0x00 }, -{ "linux/telephony.h", "PHONE_HOOKSTATE", _IOC_NONE, 0x7184, 0x00 }, -{ "linux/telephony.h", "PHONE_MAXRINGS", _IOC_WRITE, 0x7185, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_CODEC", _IOC_WRITE, 0x7190, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_DEPTH", _IOC_WRITE, 0x7193, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_LEVEL", _IOC_NONE, 0x7195, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_START", _IOC_NONE, 0x7191, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_STOP", _IOC_NONE, 0x7192, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_TONE", _IOC_WRITE, 0x719b, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME", _IOC_WRITE, 0x7194, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME_LINEAR", _IOC_WRITE, 0x71dc, 0x04 }, -{ "linux/telephony.h", "PHONE_PSTN_GET_STATE", _IOC_NONE, 0x71a5, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_LINETEST", _IOC_NONE, 0x71a8, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_SET_STATE", _IOC_WRITE, 0x71a4, 0x04 }, -{ "linux/telephony.h", "PHONE_QUERY_CODEC", _IOC_READ|_IOC_WRITE, 0x71a7, 0x08 }, -{ "linux/telephony.h", "PHONE_REC_CODEC", _IOC_WRITE, 0x7189, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_DEPTH", _IOC_WRITE, 0x718c, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_LEVEL", _IOC_NONE, 0x718f, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_START", _IOC_NONE, 0x718a, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_STOP", _IOC_NONE, 0x718b, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME", _IOC_WRITE, 0x718e, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME_LINEAR", _IOC_WRITE, 0x71db, 0x04 }, -{ "linux/telephony.h", "PHONE_RING", _IOC_NONE, 0x7183, 0x00 }, -{ "linux/telephony.h", "PHONE_RINGBACK", _IOC_NONE, 0x71a2, 0x00 }, -{ "linux/telephony.h", "PHONE_RING_CADENCE", _IOC_WRITE, 0x7186, 0x02 }, -{ "linux/telephony.h", "PHONE_RING_START", _IOC_WRITE, 0x7187, 0x08 }, -{ "linux/telephony.h", "PHONE_RING_STOP", _IOC_NONE, 0x7188, 0x00 }, -{ "linux/telephony.h", "PHONE_SET_TONE_OFF_TIME", _IOC_WRITE, 0x719d, 0x04 }, -{ "linux/telephony.h", "PHONE_SET_TONE_ON_TIME", _IOC_WRITE, 0x719c, 0x04 }, -{ "linux/telephony.h", "PHONE_VAD", _IOC_WRITE, 0x71a9, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK", _IOC_WRITE, 0x71aa, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK_DURATION", _IOC_WRITE, 0x71a6, 0x04 }, { "linux/timerfd.h", "TFD_IOC_SET_TICKS", _IOC_WRITE, 0x5400, 0x08 }, { "linux/toshiba.h", "TOSHIBA_ACPI_SCI", _IOC_READ|_IOC_WRITE, 0x7491, 0x18 }, { "linux/toshiba.h", "TOSH_SMM", _IOC_READ|_IOC_WRITE, 0x7490, 0x18 }, @@ -2199,6 +2126,7 @@ { "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_IOEVENTFD", _IOC_NONE, 0x3b74, 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 }, @@ -2537,7 +2465,7 @@ { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 }, -{ "rdma/rdma_user_ioctl.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x10 }, +{ "rdma/rdma_user_ioctl_cmds.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x18 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 }, diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h index 241d9442..f25c62e6 100644 --- a/linux/64/syscallent.h +++ b/linux/64/syscallent.h @@ -275,3 +275,4 @@ [289] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [290] = { 1, 0, SEN(pkey_free), "pkey_free" }, [291] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, +[292] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, diff --git a/linux/aarch64/errnoent1.h b/linux/aarch64/errnoent1.h deleted file mode 100644 index a0394d45..00000000 --- a/linux/aarch64/errnoent1.h +++ /dev/null @@ -1,2 +0,0 @@ -/* ARM personality */ -#include "errnoent.h" diff --git a/linux/aarch64/signalent1.h b/linux/aarch64/signalent1.h deleted file mode 100644 index 093cba7f..00000000 --- a/linux/aarch64/signalent1.h +++ /dev/null @@ -1 +0,0 @@ -#include "signalent.h" diff --git a/linux/alpha/set_error.c b/linux/alpha/set_error.c index 169277bc..78a247e5 100644 --- a/linux/alpha/set_error.c +++ b/linux/alpha/set_error.c @@ -1,8 +1,8 @@ static int arch_set_error(struct tcb *tcp) { - alpha_r0 = tcp->u_error; - return upoke(tcp, REG_R0, alpha_r0); + return upoke(tcp, REG_A3, (alpha_a3 = 1)) + || upoke(tcp, REG_R0, (alpha_r0 = tcp->u_error)); } static int diff --git a/linux/arm/raw_syscall.h b/linux/arm/raw_syscall.h index 69c7e238..ec534ecc 100644 --- a/linux/arm/raw_syscall.h +++ b/linux/arm/raw_syscall.h @@ -36,12 +36,27 @@ static inline kernel_ulong_t raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err) { *err = 0; + +#ifdef __thumb__ /* && FRAME_POINTERS_ENABLED */ + + register kernel_ulong_t rt; + register kernel_ulong_t r0 __asm__("r0"); + __asm__ __volatile__("mov %1,r7; mov r7,%2; swi 0x0; mov r7,%1" + : "=r"(r0), "=&r"(rt) + : "r"(nr) + : "memory"); + +#else + register kernel_ulong_t r7 __asm__("r7") = nr; register kernel_ulong_t r0 __asm__("r0"); __asm__ __volatile__("swi 0x0" : "=r"(r0) : "r"(r7) : "memory"); + +#endif + return r0; } # define raw_syscall_0 raw_syscall_0 diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h index 76edf99b..568d9469 100644 --- a/linux/arm/syscallent.h +++ b/linux/arm/syscallent.h @@ -423,6 +423,7 @@ [395] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [396] = { 1, 0, SEN(pkey_free), "pkey_free" }, [397] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, +[398] = { 4, 0, SEN(rseq), "rseq" }, #ifdef __ARM_EABI__ # define ARM_FIRST_SHUFFLED_SYSCALL 400 diff --git a/linux/dummy.h b/linux/dummy.h index 40c0726b..9f0b4d31 100644 --- a/linux/dummy.h +++ b/linux/dummy.h @@ -1,7 +1,7 @@ /* * Copyright (c) 1993 Branko Lankester * Copyright (c) 1993, 1994, 1995 Rick Sladkey - * Copyright (c) 1995-2017 The strace developers. + * Copyright (c) 1995-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,6 +36,7 @@ #endif /* still unfinished */ +#define sys_rseq printargs #define sys_vm86 printargs #define sys_vm86old printargs diff --git a/linux/i386/ioctls_arch0.h b/linux/i386/ioctls_arch0.h index 28df19df..5b6d3f33 100644 --- a/linux/i386/ioctls_arch0.h +++ b/linux/i386/ioctls_arch0.h @@ -58,6 +58,7 @@ { "linux/kvm.h", "KVM_GET_XCRS", _IOC_READ, 0xaea6, 0x188 }, { "linux/kvm.h", "KVM_GET_XSAVE", _IOC_READ, 0xaea4, 0x1000 }, { "linux/kvm.h", "KVM_HAS_DEVICE_ATTR", _IOC_WRITE, 0xaee3, 0x18 }, +{ "linux/kvm.h", "KVM_HYPERV_EVENTFD", _IOC_WRITE, 0xaebd, 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 }, diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h index b00e1d87..fbe6cf8a 100644 --- a/linux/i386/syscallent.h +++ b/linux/i386/syscallent.h @@ -411,6 +411,8 @@ [382] = { 1, 0, SEN(pkey_free), "pkey_free" }, [383] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [384] = { 2, TP, SEN(arch_prctl), "arch_prctl" }, +[385] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[386] = { 4, 0, SEN(rseq), "rseq" }, #define SYS_socket_subcall 400 #include "subcall.h" diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h index 33b3e8da..e3210fbc 100644 --- a/linux/ia64/syscallent.h +++ b/linux/ia64/syscallent.h @@ -27,21 +27,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* - * IA-32 syscalls that have pointer arguments which are incompatible - * with 64-bit layout get redirected to printargs. - */ -#if CST > 0 -# undef SYS_FUNC_NAME -# define SYS_FUNC_NAME(syscall_name) printargs -# include "../i386/syscallent.h" -# undef SYS_FUNC_NAME -# define SYS_FUNC_NAME(syscall_name) MPERS_FUNC_NAME(syscall_name) -#endif - -/* You must be careful to check ../i386/syscallent.h so that this table - starts where that one leaves off. -*/ [1024] = { 0, 0, SEN(printargs), "ni_syscall" }, [1025] = { 1, TP|SE, SEN(exit), "exit" }, [1026] = { 3, TD, SEN(read), "read" }, diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h index c7d35adf..6cc86df8 100644 --- a/linux/mips/syscallent-n32.h +++ b/linux/mips/syscallent-n32.h @@ -38,7 +38,7 @@ [6035] = { 2, 0, SEN(getitimer), "getitimer" }, [6036] = { 3, 0, SEN(setitimer), "setitimer" }, [6037] = { 1, 0, SEN(alarm), "alarm" }, -[6038] = { 0, NF, SEN(getpid), "getpid" }, +[6038] = { 0, PU|NF, SEN(getpid), "getpid" }, [6039] = { 4, TD|TN, SEN(sendfile), "sendfile" }, [6040] = { 3, TN, SEN(socket), "socket" }, [6041] = { 3, TN, SEN(connect), "connect" }, @@ -100,16 +100,16 @@ [6097] = { 1, 0, SEN(sysinfo), "sysinfo" }, [6098] = { 1, 0, SEN(times), "times" }, [6099] = { 4, 0, SEN(ptrace), "ptrace" }, -[6100] = { 0, NF, SEN(getuid), "getuid" }, +[6100] = { 0, PU|NF, SEN(getuid), "getuid" }, [6101] = { 3, 0, SEN(syslog), "syslog" }, -[6102] = { 0, NF, SEN(getgid), "getgid" }, +[6102] = { 0, PU|NF, SEN(getgid), "getgid" }, [6103] = { 1, 0, SEN(setuid), "setuid" }, [6104] = { 1, 0, SEN(setgid), "setgid" }, -[6105] = { 0, NF, SEN(geteuid), "geteuid" }, -[6106] = { 0, NF, SEN(getegid), "getegid" }, +[6105] = { 0, PU|NF, SEN(geteuid), "geteuid" }, +[6106] = { 0, PU|NF, SEN(getegid), "getegid" }, [6107] = { 2, 0, SEN(setpgid), "setpgid" }, -[6108] = { 0, NF, SEN(getppid), "getppid" }, -[6109] = { 0, 0, SEN(getpgrp), "getpgrp" }, +[6108] = { 0, PU|NF, SEN(getppid), "getppid" }, +[6109] = { 0, PU|NF, SEN(getpgrp), "getpgrp" }, [6110] = { 0, 0, SEN(setsid), "setsid" }, [6111] = { 2, 0, SEN(setreuid), "setreuid" }, [6112] = { 2, 0, SEN(setregid), "setregid" }, @@ -178,7 +178,7 @@ [6175] = { 5, TN, SEN(putpmsg), "putpmsg" }, [6176] = { 0, 0, SEN(afs_syscall), "afs_syscall" }, [6177] = { 0, 0, SEN(printargs), "reserved177" }, -[6178] = { 0, NF, SEN(gettid), "gettid" }, +[6178] = { 0, PU|NF, SEN(gettid), "gettid" }, [6179] = { 3, TD, SEN(readahead), "readahead" }, [6180] = { 5, TF, SEN(setxattr), "setxattr" }, [6181] = { 5, TF, SEN(setxattr), "lsetxattr" }, diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h index 3e558489..892e92ee 100644 --- a/linux/mips/syscallent-n64.h +++ b/linux/mips/syscallent-n64.h @@ -38,7 +38,7 @@ [5035] = { 2, 0, SEN(getitimer), "getitimer" }, [5036] = { 3, 0, SEN(setitimer), "setitimer" }, [5037] = { 1, 0, SEN(alarm), "alarm" }, -[5038] = { 0, NF, SEN(getpid), "getpid" }, +[5038] = { 0, PU|NF, SEN(getpid), "getpid" }, [5039] = { 4, TD|TN, SEN(sendfile), "sendfile" }, [5040] = { 3, TN, SEN(socket), "socket" }, [5041] = { 3, TN, SEN(connect), "connect" }, @@ -100,16 +100,16 @@ [5097] = { 1, 0, SEN(sysinfo), "sysinfo" }, [5098] = { 1, 0, SEN(times), "times" }, [5099] = { 4, 0, SEN(ptrace), "ptrace" }, -[5100] = { 0, NF, SEN(getuid), "getuid" }, +[5100] = { 0, PU|NF, SEN(getuid), "getuid" }, [5101] = { 3, 0, SEN(syslog), "syslog" }, -[5102] = { 0, NF, SEN(getgid), "getgid" }, +[5102] = { 0, PU|NF, SEN(getgid), "getgid" }, [5103] = { 1, 0, SEN(setuid), "setuid" }, [5104] = { 1, 0, SEN(setgid), "setgid" }, -[5105] = { 0, NF, SEN(geteuid), "geteuid" }, -[5106] = { 0, NF, SEN(getegid), "getegid" }, +[5105] = { 0, PU|NF, SEN(geteuid), "geteuid" }, +[5106] = { 0, PU|NF, SEN(getegid), "getegid" }, [5107] = { 2, 0, SEN(setpgid), "setpgid" }, -[5108] = { 0, NF, SEN(getppid), "getppid" }, -[5109] = { 0, 0, SEN(getpgrp), "getpgrp" }, +[5108] = { 0, PU|NF, SEN(getppid), "getppid" }, +[5109] = { 0, PU|NF, SEN(getpgrp), "getpgrp" }, [5110] = { 0, 0, SEN(setsid), "setsid" }, [5111] = { 2, 0, SEN(setreuid), "setreuid" }, [5112] = { 2, 0, SEN(setregid), "setregid" }, @@ -178,7 +178,7 @@ [5175] = { 5, TN, SEN(putpmsg), "putpmsg" }, [5176] = { 0, 0, SEN(afs_syscall), "afs_syscall" }, [5177] = { 0, 0, SEN(printargs), "reserved177" }, -[5178] = { 0, NF, SEN(gettid), "gettid" }, +[5178] = { 0, PU|NF, SEN(gettid), "gettid" }, [5179] = { 3, TD, SEN(readahead), "readahead" }, [5180] = { 5, TF, SEN(setxattr), "setxattr" }, [5181] = { 5, TF, SEN(setxattr), "lsetxattr" }, diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h index 40419073..66cf0cd4 100644 --- a/linux/mips/syscallent-o32.h +++ b/linux/mips/syscallent-o32.h @@ -21,11 +21,11 @@ [4017] = { 0, TM, SEN(break), "break" }, [4018] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" }, [4019] = { 3, TD, SEN(lseek), "lseek" }, -[4020] = { 0, NF, SEN(getpid), "getpid" }, +[4020] = { 0, PU|NF, SEN(getpid), "getpid" }, [4021] = { 5, TF, SEN(mount), "mount" }, [4022] = { 1, TF, SEN(umount), "umount" }, [4023] = { 1, 0, SEN(setuid), "setuid" }, -[4024] = { 0, NF, SEN(getuid), "getuid" }, +[4024] = { 0, PU|NF, SEN(getuid), "getuid" }, [4025] = { 1, 0, SEN(stime), "stime" }, [4026] = { 4, 0, SEN(ptrace), "ptrace" }, [4027] = { 1, 0, SEN(alarm), "alarm" }, @@ -48,10 +48,10 @@ [4044] = { 0, 0, SEN(prof), "prof" }, [4045] = { 1, TM|SI, SEN(brk), "brk" }, [4046] = { 1, 0, SEN(setgid), "setgid" }, -[4047] = { 0, NF, SEN(getgid), "getgid" }, +[4047] = { 0, PU|NF, SEN(getgid), "getgid" }, [4048] = { 2, TS, SEN(signal), "signal" }, -[4049] = { 0, NF, SEN(geteuid), "geteuid" }, -[4050] = { 0, NF, SEN(getegid), "getegid" }, +[4049] = { 0, PU|NF, SEN(geteuid), "geteuid" }, +[4050] = { 0, PU|NF, SEN(getegid), "getegid" }, [4051] = { 1, TF, SEN(acct), "acct" }, [4052] = { 2, TF, SEN(umount2), "umount2" }, [4053] = { 0, 0, SEN(lock), "lock" }, @@ -65,8 +65,8 @@ [4061] = { 1, TF, SEN(chroot), "chroot" }, [4062] = { 2, TSFA, SEN(ustat), "ustat" }, [4063] = { 2, TD, SEN(dup2), "dup2" }, -[4064] = { 0, NF, SEN(getppid), "getppid" }, -[4065] = { 0, 0, SEN(getpgrp), "getpgrp" }, +[4064] = { 0, PU|NF, SEN(getppid), "getppid" }, +[4065] = { 0, PU|NF, SEN(getpgrp), "getpgrp" }, [4066] = { 0, 0, SEN(setsid), "setsid" }, [4067] = { 3, TS, SEN(sigaction), "sigaction" }, [4068] = { 0, TS, SEN(sgetmask), "sgetmask" }, @@ -223,7 +223,7 @@ [4219] = { 3, TD, SEN(getdents64), "getdents64" }, [4220] = { 3, TD, SEN(fcntl64), "fcntl64" }, [4221] = { }, -[4222] = { 0, NF, SEN(gettid), "gettid" }, +[4222] = { 0, PU|NF, SEN(gettid), "gettid" }, [4223] = { 5, TD, SEN(readahead), "readahead" }, [4224] = { 5, TF, SEN(setxattr), "setxattr" }, [4225] = { 5, TF, SEN(setxattr), "lsetxattr" }, diff --git a/linux/powerpc/set_error.c b/linux/powerpc/set_error.c index 38ae32bb..602ca15e 100644 --- a/linux/powerpc/set_error.c +++ b/linux/powerpc/set_error.c @@ -2,8 +2,10 @@ static int arch_set_error(struct tcb *tcp) { ppc_regs.gpr[3] = tcp->u_error; + ppc_regs.ccr |= 0x10000000; #ifdef HAVE_GETREGS_OLD - return upoke(tcp, sizeof(long) * (PT_R0 + 3), ppc_regs.gpr[3]); + return upoke(tcp, sizeof(long) * PT_CCR, ppc_regs.ccr) || + upoke(tcp, sizeof(long) * (PT_R0 + 3), ppc_regs.gpr[3]); #else return set_regs(tcp->pid); #endif diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h index d0bcbba7..3333794d 100644 --- a/linux/powerpc/syscallent.h +++ b/linux/powerpc/syscallent.h @@ -414,6 +414,7 @@ [384] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [385] = { 1, 0, SEN(pkey_free), "pkey_free" }, [386] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, +[387] = { 4, 0, SEN(rseq), "rseq" }, #define SYS_socket_subcall 400 #include "subcall.h" diff --git a/linux/powerpc64/errnoent1.h b/linux/powerpc64/errnoent1.h deleted file mode 100644 index c0f7787d..00000000 --- a/linux/powerpc64/errnoent1.h +++ /dev/null @@ -1 +0,0 @@ -#include "errnoent.h" diff --git a/linux/powerpc64/signalent1.h b/linux/powerpc64/signalent1.h deleted file mode 100644 index 093cba7f..00000000 --- a/linux/powerpc64/signalent1.h +++ /dev/null @@ -1 +0,0 @@ -#include "signalent.h" diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h index 74362c6f..6bdd4c1a 100644 --- a/linux/powerpc64/syscallent.h +++ b/linux/powerpc64/syscallent.h @@ -409,6 +409,7 @@ [384] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [385] = { 1, 0, SEN(pkey_free), "pkey_free" }, [386] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, +[387] = { 4, 0, SEN(rseq), "rseq" }, #define SYS_socket_subcall 400 #include "subcall.h" diff --git a/linux/riscv/errnoent1.h b/linux/riscv/errnoent1.h deleted file mode 100644 index 2a5c728c..00000000 --- a/linux/riscv/errnoent1.h +++ /dev/null @@ -1,2 +0,0 @@ -/* RISC-V rv32 and rv64 */ -#include "../errnoent.h" diff --git a/linux/riscv/signalent1.h b/linux/riscv/signalent1.h deleted file mode 100644 index 39891b8f..00000000 --- a/linux/riscv/signalent1.h +++ /dev/null @@ -1,2 +0,0 @@ -/* RISC-V rv32 and rv64 */ -#include "../signalent.h" diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h index b7e768e0..b39779d4 100644 --- a/linux/s390/syscallent.h +++ b/linux/s390/syscallent.h @@ -410,6 +410,7 @@ [378] = { 2, 0, SEN(s390_guarded_storage), "s390_guarded_storage" }, [379] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [380] = { 4, 0, SEN(s390_sthyi), "s390_sthyi" }, +[381] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, #define SYS_socket_subcall 400 #include "subcall.h" diff --git a/linux/s390x/errnoent1.h b/linux/s390x/errnoent1.h deleted file mode 100644 index c0f7787d..00000000 --- a/linux/s390x/errnoent1.h +++ /dev/null @@ -1 +0,0 @@ -#include "errnoent.h" diff --git a/linux/s390x/signalent1.h b/linux/s390x/signalent1.h deleted file mode 100644 index 093cba7f..00000000 --- a/linux/s390x/signalent1.h +++ /dev/null @@ -1 +0,0 @@ -#include "signalent.h" diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h index d16ee94f..c4251eb9 100644 --- a/linux/s390x/syscallent.h +++ b/linux/s390x/syscallent.h @@ -394,6 +394,7 @@ [378] = { 2, 0, SEN(s390_guarded_storage), "s390_guarded_storage" }, [379] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [380] = { 4, 0, SEN(s390_sthyi), "s390_sthyi" }, +[381] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, #define SYS_socket_subcall 400 #include "subcall.h" diff --git a/linux/sparc64/errnoent1.h b/linux/sparc64/errnoent1.h deleted file mode 100644 index c0f7787d..00000000 --- a/linux/sparc64/errnoent1.h +++ /dev/null @@ -1 +0,0 @@ -#include "errnoent.h" diff --git a/linux/sparc64/signalent1.h b/linux/sparc64/signalent1.h deleted file mode 100644 index 093cba7f..00000000 --- a/linux/sparc64/signalent1.h +++ /dev/null @@ -1 +0,0 @@ -#include "signalent.h" diff --git a/linux/tile/errnoent1.h b/linux/tile/errnoent1.h deleted file mode 100644 index 091df787..00000000 --- a/linux/tile/errnoent1.h +++ /dev/null @@ -1,2 +0,0 @@ -/* tilegx32/tilepro */ -#include "errnoent.h" diff --git a/linux/tile/signalent1.h b/linux/tile/signalent1.h deleted file mode 100644 index 62f11939..00000000 --- a/linux/tile/signalent1.h +++ /dev/null @@ -1,2 +0,0 @@ -/* tilegx32/tilepro */ -#include "signalent.h" diff --git a/linux/x32/errnoent1.h b/linux/x32/errnoent1.h deleted file mode 100644 index d32435af..00000000 --- a/linux/x32/errnoent1.h +++ /dev/null @@ -1,2 +0,0 @@ -/* i386 personality */ -#include "errnoent.h" diff --git a/linux/x32/ioctls_inc0.h b/linux/x32/ioctls_inc0.h index 73566814..1d9c6f38 100644 --- a/linux/x32/ioctls_inc0.h +++ b/linux/x32/ioctls_inc0.h @@ -283,6 +283,7 @@ { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_ADD_CONFIG", _IOC_WRITE, 0x6477, 0x48 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_REMOVE_CONFIG", _IOC_WRITE, 0x6478, 0x08 }, +{ "drm/i915_drm.h", "DRM_IOCTL_I915_QUERY", _IOC_READ|_IOC_WRITE, 0x6479, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 }, { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 }, @@ -422,8 +423,11 @@ { "drm/vc4_drm.h", "DRM_IOCTL_VC4_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6449, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_LABEL_BO", _IOC_READ|_IOC_WRITE, 0x644a, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_MMAP_BO", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_CREATE", _IOC_READ|_IOC_WRITE, 0x644c, 0x18 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_DESTROY", _IOC_READ|_IOC_WRITE, 0x644d, 0x04 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_PERFMON_GET_VALUES", _IOC_READ|_IOC_WRITE, 0x644e, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_SET_TILING", _IOC_READ|_IOC_WRITE, 0x6448, 0x10 }, -{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa0 }, +{ "drm/vc4_drm.h", "DRM_IOCTL_VC4_SUBMIT_CL", _IOC_READ|_IOC_WRITE, 0x6440, 0xa8 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_BO", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 }, { "drm/vc4_drm.h", "DRM_IOCTL_VC4_WAIT_SEQNO", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, { "drm/vgem_drm.h", "DRM_IOCTL_VGEM_FENCE_ATTACH", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 }, @@ -1160,6 +1164,7 @@ { "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 }, { "linux/if_tun.h", "TUNSETVNETLE", _IOC_WRITE, 0x54dc, 0x04 }, { "linux/iio/events.h", "IIO_GET_EVENT_FD_IOCTL", _IOC_READ, 0x6990, 0x04 }, +{ "linux/inotify.h", "INOTIFY_IOC_SETNEXTWD", _IOC_WRITE, 0x4900, 0x04 }, { "linux/input.h", "EVIOCGEFFECTS", _IOC_READ, 0x4584, 0x04 }, { "linux/input.h", "EVIOCGID", _IOC_READ, 0x4502, 0x08 }, { "linux/input.h", "EVIOCGKEYCODE", _IOC_READ, 0x4504, 0x08 }, @@ -1197,6 +1202,9 @@ { "linux/ipmi.h", "IPMICTL_SET_TIMING_PARMS_CMD", _IOC_READ, 0x6916, 0x08 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD", _IOC_READ, 0x690f, 0x02 }, { "linux/ipmi.h", "IPMICTL_UNREGISTER_FOR_CMD_CHANS", _IOC_READ, 0x691d, 0x0c }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_CLEAR_SMS_ATN", _IOC_NONE, 0xb101, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_FORCE_ABORT", _IOC_NONE, 0xb102, 0x00 }, +{ "linux/ipmi_bmc.h", "IPMI_BMC_IOCTL_SET_SMS_ATN", _IOC_NONE, 0xb100, 0x00 }, { "linux/isdn.h", "IIOCDBGVAR", _IOC_NONE, 0x497f, 0x00 }, { "linux/isdn.h", "IIOCDRVCTL", _IOC_NONE, 0x4980, 0x00 }, { "linux/isdn.h", "IIOCGETCPS", _IOC_NONE, 0x4915, 0x00 }, @@ -1238,48 +1246,6 @@ { "linux/ivtv.h", "IVTV_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x38 }, { "linux/ivtv.h", "IVTV_IOC_PASSTHROUGH_MODE", _IOC_WRITE, 0x56c1, 0x04 }, { "linux/ivtvfb.h", "IVTVFB_IOC_DMA_FRAME", _IOC_WRITE, 0x56c0, 0x0c }, -{ "linux/ixjuser.h", "IXJCTL_AEC_GET_LEVEL", _IOC_NONE, 0x71cd, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_START", _IOC_WRITE, 0x71cb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_AEC_STOP", _IOC_NONE, 0x71cc, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_CARDTYPE", _IOC_READ, 0x71c1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_CID", _IOC_READ, 0x71d4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_CIDCW", _IOC_WRITE, 0x71d9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_AGAIN", _IOC_WRITE, 0x71d2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DAA_COEFF_SET", _IOC_WRITE, 0x71d0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_CLEAR", _IOC_NONE, 0x71e7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DRYBUFFER_READ", _IOC_READ, 0x71e6, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_IDLE", _IOC_NONE, 0x71c5, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_RESET", _IOC_NONE, 0x71c0, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_TYPE", _IOC_READ, 0x71c3, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DSP_VERSION", _IOC_READ, 0x71c4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_DTMF_PRESCALE", _IOC_WRITE, 0x71e8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FILTER_CADENCE", _IOC_WRITE, 0x71d6, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_READ", _IOC_READ, 0x71e2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_FRAMES_WRITTEN", _IOC_READ, 0x71e3, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_GET_FILTER_HIST", _IOC_WRITE, 0x71c8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_HZ", _IOC_WRITE, 0x71e0, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INIT_TONE", _IOC_WRITE, 0x71c9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_START", _IOC_WRITE, 0x71fd, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_INTERCOM_STOP", _IOC_WRITE, 0x71fe, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_MIXER", _IOC_WRITE, 0x71cf, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PLAY_CID", _IOC_NONE, 0x71d7, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_PORT", _IOC_WRITE, 0x71d1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_POTS_PSTN", _IOC_WRITE, 0x71d5, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_PSTN_LINETEST", _IOC_NONE, 0x71d3, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_RATE", _IOC_WRITE, 0x71e1, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_READ_WAIT", _IOC_READ, 0x71e4, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SC_RXG", _IOC_WRITE, 0x71ea, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SC_TXG", _IOC_WRITE, 0x71eb, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SERIAL", _IOC_READ, 0x71c2, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER", _IOC_WRITE, 0x71c7, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_FILTER_RAW", _IOC_WRITE, 0x71dd, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SET_LED", _IOC_WRITE, 0x71ce, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_SIGCTL", _IOC_WRITE, 0x71e9, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_TESTRAM", _IOC_NONE, 0x71c6, 0x00 }, -{ "linux/ixjuser.h", "IXJCTL_TONE_CADENCE", _IOC_WRITE, 0x71ca, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_VERSION", _IOC_READ, 0x71da, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_VMWI", _IOC_READ, 0x71d8, 0x04 }, -{ "linux/ixjuser.h", "IXJCTL_WRITE_WAIT", _IOC_READ, 0x71e5, 0x04 }, { "linux/joystick.h", "JSIOCGAXES", _IOC_READ, 0x6a11, 0x01 }, { "linux/joystick.h", "JSIOCGAXMAP", _IOC_READ, 0x6a32, 0x40 }, { "linux/joystick.h", "JSIOCGBTNMAP", _IOC_READ, 0x6a34, 0x400 }, @@ -1338,6 +1304,8 @@ { "linux/kd.h", "PIO_UNIMAP", 0, 0x4B67, 0 }, { "linux/kd.h", "PIO_UNIMAPCLR", 0, 0x4B68, 0 }, { "linux/kd.h", "PIO_UNISCRNMAP", 0, 0x4B6A, 0 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ACQUIRE_VM", _IOC_WRITE, 0x4b15, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_ALLOC_MEMORY_OF_GPU", _IOC_READ|_IOC_WRITE, 0x4b16, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_EVENT", _IOC_READ|_IOC_WRITE, 0x4b08, 0x20 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_CREATE_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b02, 0x58 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_ADDRESS_WATCH", _IOC_WRITE, 0x4b0f, 0x10 }, @@ -1346,15 +1314,19 @@ { "linux/kfd_ioctl.h", "AMDKFD_IOC_DBG_WAVE_CONTROL", _IOC_WRITE, 0x4b10, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_EVENT", _IOC_WRITE, 0x4b09, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_DESTROY_QUEUE", _IOC_READ|_IOC_WRITE, 0x4b03, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_FREE_MEMORY_OF_GPU", _IOC_WRITE, 0x4b17, 0x08 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_CLOCK_COUNTERS", _IOC_READ|_IOC_WRITE, 0x4b05, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES", _IOC_READ, 0x4b06, 0x190 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_PROCESS_APERTURES_NEW", _IOC_READ|_IOC_WRITE, 0x4b14, 0x10 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_TILE_CONFIG", _IOC_READ|_IOC_WRITE, 0x4b12, 0x28 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_GET_VERSION", _IOC_READ, 0x4b01, 0x08 }, +{ "linux/kfd_ioctl.h", "AMDKFD_IOC_MAP_MEMORY_TO_GPU", _IOC_READ|_IOC_WRITE, 0x4b18, 0x18 }, { "linux/kfd_ioctl.h", "AMDKFD_IOC_RESET_EVENT", _IOC_WRITE, 0x4b0b, 0x08 }, { "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_UNMAP_MEMORY_FROM_GPU", _IOC_READ|_IOC_WRITE, 0x4b19, 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 }, @@ -1552,6 +1524,7 @@ { "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 }, { "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 }, +{ "linux/perf_event.h", "PERF_EVENT_IOC_MODIFY_ATTRIBUTES", _IOC_WRITE, 0x240b, 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 }, @@ -1680,6 +1653,7 @@ { "linux/random.h", "RNDCLEARPOOL", _IOC_NONE, 0x5206, 0x00 }, { "linux/random.h", "RNDGETENTCNT", _IOC_READ, 0x5200, 0x04 }, { "linux/random.h", "RNDGETPOOL", _IOC_READ, 0x5202, 0x08 }, +{ "linux/random.h", "RNDRESEEDCRNG", _IOC_NONE, 0x5207, 0x00 }, { "linux/random.h", "RNDZAPENTCNT", _IOC_NONE, 0x5204, 0x00 }, { "linux/raw.h", "RAW_GETBIND", _IOC_NONE, 0xac01, 0x00 }, { "linux/raw.h", "RAW_SETBIND", _IOC_NONE, 0xac00, 0x00 }, @@ -2022,53 +1996,6 @@ { "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 }, { "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 }, { "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c }, -{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 }, -{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_CHECK", _IOC_WRITE, 0x7182, 0x04 }, -{ "linux/telephony.h", "PHONE_CAPABILITIES_LIST", _IOC_READ, 0x7181, 0x04 }, -{ "linux/telephony.h", "PHONE_CPT_STOP", _IOC_NONE, 0x71a4, 0x00 }, -{ "linux/telephony.h", "PHONE_DIALTONE", _IOC_NONE, 0x71a3, 0x00 }, -{ "linux/telephony.h", "PHONE_DTMF_OOB", _IOC_WRITE, 0x7199, 0x04 }, -{ "linux/telephony.h", "PHONE_DTMF_READY", _IOC_READ, 0x7196, 0x04 }, -{ "linux/telephony.h", "PHONE_EXCEPTION", _IOC_READ, 0x719a, 0x04 }, -{ "linux/telephony.h", "PHONE_FRAME", _IOC_WRITE, 0x718d, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF", _IOC_READ, 0x7197, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_DTMF_ASCII", _IOC_READ, 0x7198, 0x04 }, -{ "linux/telephony.h", "PHONE_GET_TONE_OFF_TIME", _IOC_NONE, 0x719f, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_ON_TIME", _IOC_NONE, 0x719e, 0x00 }, -{ "linux/telephony.h", "PHONE_GET_TONE_STATE", _IOC_NONE, 0x71a0, 0x00 }, -{ "linux/telephony.h", "PHONE_HOOKSTATE", _IOC_NONE, 0x7184, 0x00 }, -{ "linux/telephony.h", "PHONE_MAXRINGS", _IOC_WRITE, 0x7185, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_CODEC", _IOC_WRITE, 0x7190, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_DEPTH", _IOC_WRITE, 0x7193, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_LEVEL", _IOC_NONE, 0x7195, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_START", _IOC_NONE, 0x7191, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_STOP", _IOC_NONE, 0x7192, 0x00 }, -{ "linux/telephony.h", "PHONE_PLAY_TONE", _IOC_WRITE, 0x719b, 0x01 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME", _IOC_WRITE, 0x7194, 0x04 }, -{ "linux/telephony.h", "PHONE_PLAY_VOLUME_LINEAR", _IOC_WRITE, 0x71dc, 0x04 }, -{ "linux/telephony.h", "PHONE_PSTN_GET_STATE", _IOC_NONE, 0x71a5, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_LINETEST", _IOC_NONE, 0x71a8, 0x00 }, -{ "linux/telephony.h", "PHONE_PSTN_SET_STATE", _IOC_WRITE, 0x71a4, 0x04 }, -{ "linux/telephony.h", "PHONE_QUERY_CODEC", _IOC_READ|_IOC_WRITE, 0x71a7, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_CODEC", _IOC_WRITE, 0x7189, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_DEPTH", _IOC_WRITE, 0x718c, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_LEVEL", _IOC_NONE, 0x718f, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_START", _IOC_NONE, 0x718a, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_STOP", _IOC_NONE, 0x718b, 0x00 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME", _IOC_WRITE, 0x718e, 0x04 }, -{ "linux/telephony.h", "PHONE_REC_VOLUME_LINEAR", _IOC_WRITE, 0x71db, 0x04 }, -{ "linux/telephony.h", "PHONE_RING", _IOC_NONE, 0x7183, 0x00 }, -{ "linux/telephony.h", "PHONE_RINGBACK", _IOC_NONE, 0x71a2, 0x00 }, -{ "linux/telephony.h", "PHONE_RING_CADENCE", _IOC_WRITE, 0x7186, 0x02 }, -{ "linux/telephony.h", "PHONE_RING_START", _IOC_WRITE, 0x7187, 0x04 }, -{ "linux/telephony.h", "PHONE_RING_STOP", _IOC_NONE, 0x7188, 0x00 }, -{ "linux/telephony.h", "PHONE_SET_TONE_OFF_TIME", _IOC_WRITE, 0x719d, 0x04 }, -{ "linux/telephony.h", "PHONE_SET_TONE_ON_TIME", _IOC_WRITE, 0x719c, 0x04 }, -{ "linux/telephony.h", "PHONE_VAD", _IOC_WRITE, 0x71a9, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK", _IOC_WRITE, 0x71aa, 0x04 }, -{ "linux/telephony.h", "PHONE_WINK_DURATION", _IOC_WRITE, 0x71a6, 0x04 }, { "linux/timerfd.h", "TFD_IOC_SET_TICKS", _IOC_WRITE, 0x5400, 0x08 }, { "linux/toshiba.h", "TOSHIBA_ACPI_SCI", _IOC_READ|_IOC_WRITE, 0x7491, 0x18 }, { "linux/toshiba.h", "TOSH_SMM", _IOC_READ|_IOC_WRITE, 0x7490, 0x18 }, @@ -2199,6 +2126,7 @@ { "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_IOEVENTFD", _IOC_NONE, 0x3b74, 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 }, @@ -2537,7 +2465,7 @@ { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 }, { "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 }, -{ "rdma/rdma_user_ioctl.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x10 }, +{ "rdma/rdma_user_ioctl_cmds.h", "RDMA_VERBS_IOCTL", _IOC_READ|_IOC_WRITE, 0x1b01, 0x18 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 }, { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 }, diff --git a/linux/x32/signalent1.h b/linux/x32/signalent1.h deleted file mode 100644 index fdae15fc..00000000 --- a/linux/x32/signalent1.h +++ /dev/null @@ -1,2 +0,0 @@ -/* i386 personality */ -#include "signalent.h" diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h index e448dc5e..072a2c3e 100644 --- a/linux/x32/syscallent.h +++ b/linux/x32/syscallent.h @@ -11,14 +11,14 @@ [ 10] = { 3, TM|SI, SEN(mprotect), "mprotect" }, [ 11] = { 2, TM|SI, SEN(munmap), "munmap" }, [ 12] = { 1, TM|SI, SEN(brk), "brk" }, -[ 13] = { 4, TS, SEN(printargs), "64:rt_sigaction" }, +[ 13] = { 4, TS, SEN(printargs), "rt_sigaction#64" }, [ 14] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, -[ 15] = { 0, TS, SEN(rt_sigreturn), "64:rt_sigreturn" }, -[ 16] = { 3, TD, SEN(printargs), "64:ioctl" }, +[ 15] = { 0, TS, SEN(rt_sigreturn), "rt_sigreturn#64" }, +[ 16] = { 3, TD, SEN(printargs), "ioctl#64" }, [ 17] = { 4, TD, SEN(pread), "pread64" }, [ 18] = { 4, TD, SEN(pwrite), "pwrite64" }, -[ 19] = { 3, TD, SEN(printargs), "64:readv" }, -[ 20] = { 3, TD, SEN(printargs), "64:writev" }, +[ 19] = { 3, TD, SEN(printargs), "readv#64" }, +[ 20] = { 3, TD, SEN(printargs), "writev#64" }, [ 21] = { 2, TF, SEN(access), "access" }, [ 22] = { 1, TD, SEN(pipe), "pipe" }, [ 23] = { 5, TD, SEN(select), "select" }, @@ -43,21 +43,21 @@ [ 42] = { 3, TN, SEN(connect), "connect" }, [ 43] = { 3, TN, SEN(accept), "accept" }, [ 44] = { 6, TN, SEN(sendto), "sendto" }, -[ 45] = { 6, TN, SEN(printargs), "64:recvfrom" }, -[ 46] = { 3, TN, SEN(printargs), "64:sendmsg" }, -[ 47] = { 3, TN, SEN(printargs), "64:recvmsg" }, +[ 45] = { 6, TN, SEN(printargs), "recvfrom#64" }, +[ 46] = { 3, TN, SEN(printargs), "sendmsg#64" }, +[ 47] = { 3, TN, SEN(printargs), "recvmsg#64" }, [ 48] = { 2, TN, SEN(shutdown), "shutdown" }, [ 49] = { 3, TN, SEN(bind), "bind" }, [ 50] = { 2, TN, SEN(listen), "listen" }, [ 51] = { 3, TN, SEN(getsockname), "getsockname" }, [ 52] = { 3, TN, SEN(getpeername), "getpeername" }, [ 53] = { 4, TN, SEN(socketpair), "socketpair" }, -[ 54] = { 5, TN, SEN(printargs), "64:setsockopt" }, -[ 55] = { 5, TN, SEN(printargs), "64:getsockopt" }, +[ 54] = { 5, TN, SEN(printargs), "setsockopt#64" }, +[ 55] = { 5, TN, SEN(printargs), "getsockopt#64" }, [ 56] = { 5, TP, SEN(clone), "clone" }, [ 57] = { 0, TP, SEN(fork), "fork" }, [ 58] = { 0, TP, SEN(vfork), "vfork" }, -[ 59] = { 3, TF|TP|SE|SI, SEN(printargs), "64:execve" }, +[ 59] = { 3, TF|TP|SE|SI, SEN(printargs), "execve#64" }, [ 60] = { 1, TP|SE, SEN(exit), "exit" }, [ 61] = { 4, TP, SEN(wait4), "wait4" }, [ 62] = { 2, TS, SEN(kill), "kill" }, @@ -99,7 +99,7 @@ [ 98] = { 2, 0, SEN(getrusage), "getrusage" }, [ 99] = { 1, 0, SEN(sysinfo), "sysinfo" }, [100] = { 1, 0, SEN(times), "times" }, -[101] = { 4, 0, SEN(printargs), "64:ptrace" }, +[101] = { 4, 0, SEN(printargs), "ptrace#64" }, [102] = { 0, PU|NF, SEN(getuid), "getuid" }, [103] = { 3, 0, SEN(syslog), "syslog" }, [104] = { 0, PU|NF, SEN(getgid), "getgid" }, @@ -125,14 +125,14 @@ [124] = { 1, 0, SEN(getsid), "getsid" }, [125] = { 2, 0, SEN(capget), "capget" }, [126] = { 2, 0, SEN(capset), "capset" }, -[127] = { 2, TS, SEN(printargs), "64:rt_sigpending" }, -[128] = { 4, TS, SEN(printargs), "64:rt_sigtimedwait" }, -[129] = { 3, TS, SEN(printargs), "64:rt_sigqueueinfo" }, +[127] = { 2, TS, SEN(printargs), "rt_sigpending#64" }, +[128] = { 4, TS, SEN(printargs), "rt_sigtimedwait#64" }, +[129] = { 3, TS, SEN(printargs), "rt_sigqueueinfo#64" }, [130] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, -[131] = { 2, TS, SEN(printargs), "64:sigaltstack" }, +[131] = { 2, TS, SEN(printargs), "sigaltstack#64" }, [132] = { 2, TF, SEN(utime), "utime" }, [133] = { 3, TF, SEN(mknod), "mknod" }, -[134] = { 1, TF, SEN(printargs), "64:uselib" }, +[134] = { 1, TF, SEN(printargs), "uselib#64" }, [135] = { 1, NF, SEN(personality), "personality" }, [136] = { 2, TSFA, SEN(ustat), "ustat" }, [137] = { 2, TF|TSF|TSFA, SEN(statfs), "statfs" }, @@ -154,7 +154,7 @@ [153] = { 0, 0, SEN(vhangup), "vhangup" }, [154] = { 3, 0, SEN(modify_ldt), "modify_ldt" }, [155] = { 2, TF, SEN(pivotroot), "pivot_root" }, -[156] = { 1, 0, SEN(printargs), "64:_sysctl" }, +[156] = { 1, 0, SEN(printargs), "_sysctl#64" }, [157] = { 5, 0, SEN(prctl), "prctl" }, [158] = { 2, TP, SEN(arch_prctl), "arch_prctl" }, [159] = { 1, 0, SEN(adjtimex), "adjtimex" }, @@ -172,13 +172,13 @@ [171] = { 2, 0, SEN(setdomainname), "setdomainname" }, [172] = { 1, 0, SEN(iopl), "iopl" }, [173] = { 3, 0, SEN(ioperm), "ioperm" }, -[174] = { 2, 0, SEN(printargs), "64:create_module" }, +[174] = { 2, 0, SEN(printargs), "create_module#64" }, [175] = { 3, 0, SEN(init_module), "init_module" }, [176] = { 2, 0, SEN(delete_module), "delete_module" }, -[177] = { 1, 0, SEN(printargs), "64:get_kernel_syms" }, -[178] = { 5, 0, SEN(printargs), "64:query_module" }, +[177] = { 1, 0, SEN(printargs), "get_kernel_syms#64" }, +[178] = { 5, 0, SEN(printargs), "query_module#64" }, [179] = { 4, TF, SEN(quotactl), "quotactl" }, -[180] = { 3, 0, SEN(printargs), "64:nfsservctl" }, +[180] = { 3, 0, SEN(printargs), "nfsservctl#64" }, [181] = { 5, TN, SEN(getpmsg), "getpmsg" }, [182] = { 5, TN, SEN(putpmsg), "putpmsg" }, [183] = { 5, 0, SEN(afs_syscall), "afs_syscall" }, @@ -203,24 +203,24 @@ [202] = { 6, 0, SEN(futex), "futex" }, [203] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, [204] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" }, -[205] = { 1, 0, SEN(printargs), "64:set_thread_area" }, -[206] = { 2, TM, SEN(printargs), "64:io_setup" }, +[205] = { 1, 0, SEN(printargs), "set_thread_area#64" }, +[206] = { 2, TM, SEN(printargs), "io_setup#64" }, [207] = { 1, TM, SEN(io_destroy), "io_destroy" }, [208] = { 5, 0, SEN(io_getevents), "io_getevents" }, -[209] = { 3, 0, SEN(printargs), "64:io_submit" }, +[209] = { 3, 0, SEN(printargs), "io_submit#64" }, [210] = { 3, 0, SEN(io_cancel), "io_cancel" }, -[211] = { 1, 0, SEN(printargs), "64:get_thread_area" }, +[211] = { 1, 0, SEN(printargs), "get_thread_area#64" }, [212] = { 3, 0, SEN(lookup_dcookie), "lookup_dcookie" }, [213] = { 1, TD, SEN(epoll_create), "epoll_create" }, -[214] = { 4, 0, SEN(printargs), "64:epoll_ctl_old" }, -[215] = { 4, 0, SEN(printargs), "64:epoll_wait_old" }, +[214] = { 4, 0, SEN(printargs), "epoll_ctl_old#64" }, +[215] = { 4, 0, SEN(printargs), "epoll_wait_old#64" }, [216] = { 5, TM|SI, SEN(remap_file_pages), "remap_file_pages" }, [217] = { 3, TD, SEN(getdents64), "getdents64" }, [218] = { 1, 0, SEN(set_tid_address), "set_tid_address" }, [219] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, [220] = { 4, TI, SEN(semtimedop), "semtimedop" }, [221] = { 4, TD, SEN(fadvise64), "fadvise64" }, -[222] = { 3, 0, SEN(printargs), "64:timer_create" }, +[222] = { 3, 0, SEN(printargs), "timer_create#64" }, [223] = { 4, 0, SEN(timer_settime), "timer_settime" }, [224] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [225] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, @@ -234,7 +234,7 @@ [233] = { 4, TD, SEN(epoll_ctl), "epoll_ctl" }, [234] = { 3, TS, SEN(tgkill), "tgkill" }, [235] = { 2, TF, SEN(utimes), "utimes" }, -[236] = { 5, 0, SEN(printargs), "64:vserver" }, +[236] = { 5, 0, SEN(printargs), "vserver#64" }, [237] = { 6, TM, SEN(mbind), "mbind" }, [238] = { 3, TM, SEN(set_mempolicy), "set_mempolicy" }, [239] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" }, @@ -242,10 +242,10 @@ [241] = { 1, 0, SEN(mq_unlink), "mq_unlink" }, [242] = { 5, TD, SEN(mq_timedsend), "mq_timedsend" }, [243] = { 5, TD, SEN(mq_timedreceive), "mq_timedreceive" }, -[244] = { 2, 0, SEN(printargs), "64:mq_notify" }, +[244] = { 2, 0, SEN(printargs), "mq_notify#64" }, [245] = { 3, TD, SEN(mq_getsetattr), "mq_getsetattr" }, -[246] = { 4, 0, SEN(printargs), "64:kexec_load" }, -[247] = { 5, TP, SEN(printargs), "64:waitid" }, +[246] = { 4, 0, SEN(printargs), "kexec_load#64" }, +[247] = { 5, TP, SEN(printargs), "waitid#64" }, [248] = { 5, 0, SEN(add_key), "add_key" }, [249] = { 4, 0, SEN(request_key), "request_key" }, [250] = { 5, 0, SEN(keyctl), "keyctl" }, @@ -271,13 +271,13 @@ [270] = { 6, TD, SEN(pselect6), "pselect6" }, [271] = { 5, TD, SEN(ppoll), "ppoll" }, [272] = { 1, TP, SEN(unshare), "unshare" }, -[273] = { 2, 0, SEN(printargs), "64:set_robust_list" }, -[274] = { 3, 0, SEN(printargs), "64:get_robust_list" }, +[273] = { 2, 0, SEN(printargs), "set_robust_list#64" }, +[274] = { 3, 0, SEN(printargs), "get_robust_list#64" }, [275] = { 6, TD, SEN(splice), "splice" }, [276] = { 4, TD, SEN(tee), "tee" }, [277] = { 4, TD, SEN(sync_file_range), "sync_file_range" }, -[278] = { 4, TD, SEN(printargs), "64:vmsplice" }, -[279] = { 6, TM, SEN(printargs), "64:move_pages" }, +[278] = { 4, TD, SEN(printargs), "vmsplice#64" }, +[279] = { 6, TM, SEN(printargs), "move_pages#64" }, [280] = { 4, TD|TF, SEN(utimensat), "utimensat" }, [281] = { 6, TD, SEN(epoll_pwait), "epoll_pwait" }, [282] = { 3, TD|TS, SEN(signalfd), "signalfd" }, @@ -293,11 +293,11 @@ [292] = { 3, TD, SEN(dup3), "dup3" }, [293] = { 2, TD, SEN(pipe2), "pipe2" }, [294] = { 1, TD, SEN(inotify_init1), "inotify_init1" }, -[295] = { 4, TD, SEN(printargs), "64:preadv" }, -[296] = { 4, TD, SEN(printargs), "64:pwritev" }, -[297] = { 4, TP|TS, SEN(printargs), "64:rt_tgsigqueueinfo" }, +[295] = { 4, TD, SEN(printargs), "preadv#64" }, +[296] = { 4, TD, SEN(printargs), "pwritev#64" }, +[297] = { 4, TP|TS, SEN(printargs), "rt_tgsigqueueinfo#64" }, [298] = { 5, TD, SEN(perf_event_open), "perf_event_open" }, -[299] = { 5, TN, SEN(printargs), "64:recvmmsg" }, +[299] = { 5, TN, SEN(printargs), "recvmmsg#64" }, [300] = { 2, TD, SEN(fanotify_init), "fanotify_init" }, [301] = { 5, TD|TF, SEN(fanotify_mark), "fanotify_mark" }, [302] = { 4, 0, SEN(prlimit64), "prlimit64" }, @@ -305,11 +305,11 @@ [304] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, [305] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, [306] = { 1, TD, SEN(syncfs), "syncfs" }, -[307] = { 4, TN, SEN(printargs), "64:sendmmsg" }, +[307] = { 4, TN, SEN(printargs), "sendmmsg#64" }, [308] = { 2, TD, SEN(setns), "setns" }, [309] = { 3, 0, SEN(getcpu), "getcpu" }, -[310] = { 6, 0, SEN(printargs), "64:process_vm_readv" }, -[311] = { 6, 0, SEN(printargs), "64:process_vm_writev" }, +[310] = { 6, 0, SEN(printargs), "process_vm_readv#64" }, +[311] = { 6, 0, SEN(printargs), "process_vm_writev#64" }, [312] = { 5, 0, SEN(kcmp), "kcmp" }, [313] = { 3, TD, SEN(finit_module), "finit_module" }, [314] = { 3, 0, SEN(sched_setattr), "sched_setattr" }, @@ -320,18 +320,19 @@ [319] = { 2, TD, SEN(memfd_create), "memfd_create" }, [320] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, [321] = { 3, TD, SEN(bpf), "bpf" }, -[322] = { 5, TD|TF|TP|SE|SI, SEN(printargs), "64:execveat" }, +[322] = { 5, TD|TF|TP|SE|SI, SEN(printargs), "execveat#64" }, [323] = { 1, TD, SEN(userfaultfd), "userfaultfd" }, [324] = { 2, 0, SEN(membarrier), "membarrier" }, [325] = { 3, TM, SEN(mlock2), "mlock2" }, [326] = { 6, TD, SEN(copy_file_range), "copy_file_range" }, -[327] = { 6, TD, SEN(printargs), "64:preadv2" }, -[328] = { 6, TD, SEN(printargs), "64:pwritev2" }, +[327] = { 6, TD, SEN(printargs), "preadv2#64" }, +[328] = { 6, TD, SEN(printargs), "pwritev2#64" }, [329] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, [330] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [331] = { 1, 0, SEN(pkey_free), "pkey_free" }, [332] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[333 ... 511] = { }, +[333] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[334 ... 511] = { }, /* * x32-specific system call numbers start at 512 to avoid cache impact * for native 64-bit operation. @@ -372,3 +373,4 @@ [545] = { 5, CST|TD|TF|TP|SE|SI, SEN(execveat), "execveat" }, [546] = { 5, TD, SEN(preadv2), "preadv2" }, [547] = { 5, TD, SEN(pwritev2), "pwritev2" }, +[334] = { 4, 0, SEN(rseq), "rseq" }, diff --git a/linux/x86_64/errnoent1.h b/linux/x86_64/errnoent1.h deleted file mode 100644 index d32435af..00000000 --- a/linux/x86_64/errnoent1.h +++ /dev/null @@ -1,2 +0,0 @@ -/* i386 personality */ -#include "errnoent.h" diff --git a/linux/x86_64/errnoent2.h b/linux/x86_64/errnoent2.h deleted file mode 100644 index 2192ec8d..00000000 --- a/linux/x86_64/errnoent2.h +++ /dev/null @@ -1,2 +0,0 @@ -/* x32 personality */ -#include "errnoent.h" diff --git a/linux/x86_64/ioctls_arch0.h b/linux/x86_64/ioctls_arch0.h index 8d6ababd..33995009 100644 --- a/linux/x86_64/ioctls_arch0.h +++ b/linux/x86_64/ioctls_arch0.h @@ -58,6 +58,7 @@ { "linux/kvm.h", "KVM_GET_XCRS", _IOC_READ, 0xaea6, 0x188 }, { "linux/kvm.h", "KVM_GET_XSAVE", _IOC_READ, 0xaea4, 0x1000 }, { "linux/kvm.h", "KVM_HAS_DEVICE_ATTR", _IOC_WRITE, 0xaee3, 0x18 }, +{ "linux/kvm.h", "KVM_HYPERV_EVENTFD", _IOC_WRITE, 0xaebd, 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 }, diff --git a/linux/x86_64/signalent1.h b/linux/x86_64/signalent1.h deleted file mode 100644 index fdae15fc..00000000 --- a/linux/x86_64/signalent1.h +++ /dev/null @@ -1,2 +0,0 @@ -/* i386 personality */ -#include "signalent.h" diff --git a/linux/x86_64/signalent2.h b/linux/x86_64/signalent2.h deleted file mode 100644 index 6b32d62f..00000000 --- a/linux/x86_64/signalent2.h +++ /dev/null @@ -1,2 +0,0 @@ -/* x32 personality */ -#include "signalent.h" diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h index 8d95c1db..63ec52e8 100644 --- a/linux/x86_64/syscallent.h +++ b/linux/x86_64/syscallent.h @@ -331,3 +331,5 @@ [330] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [331] = { 1, 0, SEN(pkey_free), "pkey_free" }, [332] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, +[333] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[334] = { 4, 0, SEN(rseq), "rseq" }, diff --git a/m32_printer_decls.h b/m32_printer_decls.h index bd1dee35..52018a7a 100644 --- a/m32_printer_decls.h +++ b/m32_printer_decls.h @@ -1,4 +1,4 @@ -/* 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. */ +/* 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 perf_ioctl.c.mpers.i print_aio_sigset.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); @@ -17,6 +17,8 @@ extern _Bool m32_fetch_struct_statfs64(struct tcb *const tcp, const kernel_ulong 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 int m32_perf_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); +extern void m32_print_aio_sigset(struct tcb *tcp, const kernel_ulong_t addr); 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); diff --git a/m32_printer_defs.h b/m32_printer_defs.h index 9551ea9d..83451758 100644 --- a/m32_printer_defs.h +++ b/m32_printer_defs.h @@ -1,4 +1,4 @@ -/* 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. */ +/* 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 perf_ioctl.c.mpers.i print_aio_sigset.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, @@ -17,6 +17,8 @@ .hdio_ioctl = m32_hdio_ioctl, .loop_ioctl = m32_loop_ioctl, .mtd_ioctl = m32_mtd_ioctl, +.perf_ioctl = m32_perf_ioctl, +.print_aio_sigset = m32_print_aio_sigset, .print_group_req = m32_print_group_req, .printmqattr = m32_printmqattr, .tprint_msgbuf = m32_tprint_msgbuf, diff --git a/m32_type_defs.h b/m32_type_defs.h index d379ecd7..a20665d6 100644 --- a/m32_type_defs.h +++ b/m32_type_defs.h @@ -70,6 +70,9 @@ #ifdef MPERS_m32_struct_mtd_oob_buf # define struct_mtd_oob_buf MPERS_m32_struct_mtd_oob_buf #endif +#ifdef MPERS_m32_strace_aio_sigset +# define strace_aio_sigset MPERS_m32_strace_aio_sigset +#endif #ifdef MPERS_m32_struct_group_req # define struct_group_req MPERS_m32_struct_group_req #endif diff --git a/m4/bpf_attr.m4 b/m4/bpf_attr.m4 index a90373b7..16cdb975 100644 --- a/m4/bpf_attr.m4 +++ b/m4/bpf_attr.m4 @@ -1,13 +1,38 @@ 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([ + struct bpf_map_info.id, + struct bpf_map_info.ifindex, + struct bpf_map_info.key_size, + struct bpf_map_info.map_flags, + struct bpf_map_info.max_entries, + struct bpf_map_info.name, + struct bpf_map_info.type, + struct bpf_map_info.value_size, + struct bpf_prog_info.created_by_uid, + struct bpf_prog_info.id, + struct bpf_prog_info.ifindex, + struct bpf_prog_info.jited_prog_insns, + struct bpf_prog_info.jited_prog_len, + struct bpf_prog_info.load_time, + struct bpf_prog_info.map_ids, + struct bpf_prog_info.name, + struct bpf_prog_info.nr_map_ids, + struct bpf_prog_info.tag, + struct bpf_prog_info.type, + struct bpf_prog_info.xlated_prog_insns, + struct bpf_prog_info.xlated_prog_len, 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.expected_attach_type, union bpf_attr.file_flags, union bpf_attr.flags, + union bpf_attr.info.bpf_fd, + union bpf_attr.info.info, + union bpf_attr.info.info_len, union bpf_attr.inner_map_fd, union bpf_attr.insn_cnt, union bpf_attr.insns, @@ -21,6 +46,8 @@ AC_DEFUN([st_BPF_ATTR], [dnl union bpf_attr.map_fd, union bpf_attr.map_flags, union bpf_attr.map_id, + union bpf_attr.map_ifindex, + union bpf_attr.map_name, union bpf_attr.map_type, union bpf_attr.max_entries, union bpf_attr.next_id, @@ -30,11 +57,19 @@ AC_DEFUN([st_BPF_ATTR], [dnl union bpf_attr.pathname, union bpf_attr.prog_flags, union bpf_attr.prog_id, + union bpf_attr.prog_ifindex, + union bpf_attr.prog_name, union bpf_attr.prog_type, + union bpf_attr.query.attach_flags, + union bpf_attr.query.attach_type, + union bpf_attr.query.prog_cnt, + union bpf_attr.query.prog_ids, + union bpf_attr.query.query_flags, + union bpf_attr.query.target_fd, + union bpf_attr.raw_tracepoint.name, + union bpf_attr.raw_tracepoint.prog_fd, 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, @@ -43,9 +78,8 @@ AC_DEFUN([st_BPF_ATTR], [dnl 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.value, + union bpf_attr.value_size, union bpf_attr.dummy ]),,, [#include ]) ]) diff --git a/m4/st_demangle.m4 b/m4/st_demangle.m4 new file mode 100644 index 00000000..cf3d2d13 --- /dev/null +++ b/m4/st_demangle.m4 @@ -0,0 +1,82 @@ +#!/usr/bin/m4 +# +# Copyright (c) 2017-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. + +AC_DEFUN([st_DEMANGLE], [dnl + +AC_ARG_WITH([libiberty], + [AS_HELP_STRING([--with-libiberty], + [use libiberty to demangle symbols in stack trace])], + [case "${withval}" in + yes|no|check) ;; + *) with_libiberty=yes + libiberty_CPPFLAGS="-I${withval}/include" + libiberty_LDFLAGS="-L${withval}/lib" ;; + esac], + [with_libiberty=check] +) + +libiberty_CPPFLAGS= +libiberty_LDFLAGS= +libiberty_LIBS= +use_libiberty=no + +AS_IF([test "x$with_libiberty" != xno], + [saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $libiberty_CPPFLAGS" + AC_CHECK_HEADERS([demangle.h libiberty/demangle.h], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $libiberty_LDFLAGS" + AC_CHECK_LIB([iberty],[cplus_demangle], + [libiberty_LIBS="-liberty" + use_libiberty=yes + ], + [if test "x$with_libiberty" != xcheck; then + AC_MSG_FAILURE([failed to find cplus_demangle in libiberty]) + fi + ] + ) + LDFLAGS="$saved_LDFLAGS" + ], + [if test "x$with_libiberty" != xcheck; then + AC_MSG_FAILURE([failed to find demangle.h]) + fi + ] + ) + CPPFLAGS="$saved_CPPFLAGS" + ] +) + +AC_MSG_CHECKING([whether to enable symbols demangling in stack trace]) +if test "x$use_libiberty" = xyes; then + AC_DEFINE([USE_DEMANGLE], 1, [Do symbols demangling in stack trace]) + AC_SUBST(libiberty_LIBS) + AC_SUBST(libiberty_LDFLAGS) + AC_SUBST(libiberty_CPPFLAGS) +fi +AC_MSG_RESULT([$use_libiberty]) + +]) diff --git a/m4/st_libdw.m4 b/m4/st_libdw.m4 new file mode 100644 index 00000000..f33ec356 --- /dev/null +++ b/m4/st_libdw.m4 @@ -0,0 +1,113 @@ +#!/usr/bin/m4 +# +# 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. + +AC_DEFUN([st_ARG_LIBDW], [dnl + +: ${libdw_CPPFLAGS=} +: ${libdw_CFLAGS=} +: ${libdw_LDFLAGS=} +: ${libdw_LIBS=} + +AC_ARG_WITH([libdw], + [AS_HELP_STRING([--with-libdw], + [use libdw to implement stack tracing support] + ) + ], + [case "${withval}" in + yes|no|check) ;; + *) libdw_CPPFLAGS="-I${withval}/include" + libdw_LDFLAGS="-L${withval}/lib" + with_libdw=yes ;; + esac + ], + [with_libdw=check] + ) + +]) + +AC_DEFUN([st_LIBDW], [dnl + +have_libdw= + +AS_IF([test "x$with_libdw" != xno && test "x$use_unwinder" = x], + [saved_CPPFLAGS="$CPPFLAGS" + saved_CFLAGS="$CFLAGS" + CPPFLAGS="$CPPFLAGS $libdw_CPPFLAGS" + CFLAGS="$CFLAGS $libdw_CFLAGS" + + AC_CHECK_HEADERS([elfutils/libdwfl.h], + [AC_CHECK_LIB([dw], [dwfl_linux_proc_attach], + [libdw_LIBS="-ldw $libdw_LIBS" + AC_CACHE_CHECK([for elfutils version], + [st_cv_ELFUTILS_VERSION], + [[st_cv_ELFUTILS_VERSION="$(echo _ELFUTILS_VERSION | + $CPP $CPPFLAGS -P -imacros elfutils/version.h - | + grep '^[0-9]')" + test -n "$st_cv_ELFUTILS_VERSION" || + st_cv_ELFUTILS_VERSION=0 + ]] + ) + AS_IF([test "$st_cv_ELFUTILS_VERSION" -ge 164], + [have_libdw=yes], + [AS_IF([test "x$with_libdw" = xyes], + [AC_MSG_ERROR([elfutils version >= 164 is required for stack tracing support])], + [AC_MSG_WARN([elfutils version >= 164 is required for stack tracing support])] + ) + ] + ) + ], + [AS_IF([test "x$with_libdw" = xyes], + [AC_MSG_FAILURE([failed to find dwfl_linux_proc_attach in libdw])], + ) + ], + [$libdw_LDFLAGS $libdw_LIBS] + ) + ], + [AS_IF([test "x$with_libdw" = xyes], + [AC_MSG_FAILURE([failed to find elfutils/libdwfl.h])] + ) + ] + ) + + CFLAGS="$saved_CFLAGS" + CPPFLAGS="$saved_CPPFLAGS" + ] +) + +AS_IF([test "x$have_libdw" = xyes], + [use_unwinder=libdw + AC_DEFINE([USE_LIBDW], 1, + [Whether to use libdw for stack tracing] + ) + AC_SUBST(libdw_CPPFLAGS) + AC_SUBST(libdw_CFLAGS) + AC_SUBST(libdw_LDFLAGS) + AC_SUBST(libdw_LIBS) + ] + ) + +]) diff --git a/m4/st_libunwind.m4 b/m4/st_libunwind.m4 new file mode 100644 index 00000000..f68f9cb0 --- /dev/null +++ b/m4/st_libunwind.m4 @@ -0,0 +1,119 @@ +#!/usr/bin/m4 +# +# Copyright (c) 2013-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. + +AC_DEFUN([st_ARG_LIBUNWIND], [dnl + +AC_ARG_WITH([libunwind], + [AS_HELP_STRING([--with-libunwind], + [use libunwind to implement stack tracing support])], + [case "${withval}" in + yes|no|check) ;; + *) with_libunwind=yes + libunwind_CPPFLAGS="-I${withval}/include" + libunwind_LDFLAGS="-L${withval}/lib" ;; + esac], + [with_libunwind=check] +) + +]) + +AC_DEFUN([st_LIBUNWIND], [dnl + +libunwind_CPPFLAGS= +libunwind_LDFLAGS= +libunwind_LIBS= + +AS_IF([test "x$with_libunwind" != xno && test "x$use_unwinder" = x], + [saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $libunwind_CPPFLAGS" + + AC_CHECK_HEADERS([libunwind-ptrace.h], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $libunwind_LDFLAGS" + + AC_CHECK_LIB([unwind], [backtrace], + [libunwind_LIBS="-lunwind $libunwind_LIBS" + + AC_MSG_CHECKING([for unw_create_addr_space in libunwind-generic]) + saved_LIBS="$LIBS" + LIBS="-lunwind-generic $libunwind_LIBS $LIBS" + + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[return !unw_create_addr_space(0, 0)]]) + ], + [AC_MSG_RESULT([yes]) + libunwind_LIBS="-lunwind-generic $libunwind_LIBS" + + AC_CHECK_LIB([unwind-ptrace], [_UPT_create], + [libunwind_LIBS="-lunwind-ptrace $libunwind_LIBS" + use_unwinder=libunwind + ], + [if test "x$with_libunwind" != xcheck; then + AC_MSG_FAILURE([failed to find _UPT_create in libunwind-ptrace]) + fi + ], + [$libunwind_LIBS] + ) + ], + [AC_MSG_RESULT([no]) + if test "x$with_libunwind" != xcheck; then + AC_MSG_FAILURE([failed to find unw_create_addr_space in libunwind-generic]) + fi + ] + ) + + LIBS="$saved_LIBS" + ], + [if test "x$with_libunwind" != xcheck; then + AC_MSG_FAILURE([failed to find libunwind]) + fi + ], + [$libunwind_LIBS] + ) + + LDFLAGS="$saved_LDFLAGS" + ], + [if test "x$with_libunwind" != xcheck; then + AC_MSG_FAILURE([failed to find libunwind-ptrace.h]) + fi + ] + ) + + CPPFLAGS="$saved_CPPFLAGS" + ] +) + +if test "x$use_unwinder" = xlibunwind; then + AC_DEFINE([USE_LIBUNWIND], 1, + [Whether to use libunwind for stack tracing]) + AC_SUBST(libunwind_LIBS) + AC_SUBST(libunwind_LDFLAGS) + AC_SUBST(libunwind_CPPFLAGS) +fi + +]) diff --git a/m4/st_stacktrace.m4 b/m4/st_stacktrace.m4 new file mode 100644 index 00000000..35b50e78 --- /dev/null +++ b/m4/st_stacktrace.m4 @@ -0,0 +1,78 @@ +#!/usr/bin/m4 +# +# 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. + +AC_DEFUN([st_STACKTRACE], [dnl + +AC_ARG_ENABLE([stacktrace], + [AS_HELP_STRING([--enable-stacktrace=yes|no|check], + [whether to enable stack tracing support, default is check])], + [case "$enableval" in + yes|no|check) enable_stacktrace="$enableval" ;; + *) AC_MSG_ERROR([bad value $enableval for enable-stacktrace option. + Valid options are: yes, no, check.]) + ;; + esac], + [enable_stacktrace=check]) + +use_unwinder= +dnl Whether to enable stack tracing support? + +AS_IF([test x"$enable_stacktrace" != xno], + [st_ARG_LIBDW + st_ARG_LIBUNWIND + AS_IF([test "x$with_libdw" = xyes && test "x$with_libunwind" = xyes], + [AC_MSG_ERROR([--with-libdw=yes and --with-libunwind=yes are mutually exclusive])], + [test "x$with_libdw" = xyes], [with_libunwind=no], + [test "x$with_libunwind" = xyes], [with_libdw=no] + ) + AS_IF([test "x$use_unwinder" = x], [st_LIBDW]) + AS_IF([test "x$use_unwinder" = x], [st_LIBUNWIND]) + AS_IF([test x"$enable_stacktrace$use_unwinder" = xyes], + [AC_MSG_ERROR([stack tracing support requires an unwinder])] + ) + ] + ) + +AC_MSG_CHECKING([whether to enable stack tracing support]) +AM_CONDITIONAL([ENABLE_STACKTRACE], [test "x$use_unwinder" != x]) +AM_CONDITIONAL([USE_LIBDW], [test "x$use_unwinder" = xlibdw]) +AM_CONDITIONAL([USE_LIBUNWIND], [test "x$use_unwinder" = xlibunwind]) + +use_libiberty= +AS_IF([test "x$use_unwinder" != x], + [AC_DEFINE([ENABLE_STACKTRACE], [1], + [Define to enable stack tracing support]) + AC_DEFINE_UNQUOTED([USE_UNWINDER], ["$use_unwinder"], + [The unwinder to use for stack tracing support]) + AC_MSG_RESULT([yes, using $use_unwinder]) + dnl As stack tracing support is enabled, check for a demangler. + st_DEMANGLE], + [AC_MSG_RESULT([no])]) + +AM_CONDITIONAL([USE_DEMANGLE], [test "x$use_libiberty" = xyes]) + +]) diff --git a/macros.h b/macros.h index d7e116ee..f5334efb 100644 --- a/macros.h +++ b/macros.h @@ -35,6 +35,8 @@ #define ARRAY_SIZE(a_) (sizeof(a_) / sizeof((a_)[0]) + MUST_BE_ARRAY(a_)) +#define ARRSZ_PAIR(a_) a_, ARRAY_SIZE(a_) + #define STRINGIFY(...) #__VA_ARGS__ #define STRINGIFY_VAL(...) STRINGIFY(__VA_ARGS__) diff --git a/mem.c b/mem.c index f79d67cd..3e37da19 100644 --- a/mem.c +++ b/mem.c @@ -40,8 +40,18 @@ get_pagesize(void) { static unsigned long pagesize; - if (!pagesize) - pagesize = sysconf(_SC_PAGESIZE); + if (!pagesize) { + long ret = sysconf(_SC_PAGESIZE); + + if (ret < 0) + perror_func_msg_and_die("sysconf(_SC_PAGESIZE)"); + if (ret == 0) + error_func_msg_and_die("sysconf(_SC_PAGESIZE) " + "returned 0"); + + pagesize = (unsigned long) ret; + } + return pagesize; } @@ -350,7 +360,7 @@ SYS_FUNC(subpage_prot) unsigned int entry; print_array(tcp, map, nmemb, &entry, sizeof(entry), - umoven_or_printaddr, print_protmap_entry, 0); + tfetch_mem, print_protmap_entry, 0); return RVAL_DECODED; } diff --git a/mmap_cache.c b/mmap_cache.c index 19f88abe..631133b5 100644 --- a/mmap_cache.c +++ b/mmap_cache.c @@ -30,19 +30,61 @@ #include "largefile_wrappers.h" #include "mmap_cache.h" +#include "mmap_notify.h" #include "xstring.h" static unsigned int mmap_cache_generation; -static bool use_mmap_cache; -extern void mmap_cache_enable(void) +static void +mmap_cache_invalidate(struct tcb *tcp, void *unused) { - use_mmap_cache = true; +#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 ? tcp->mmap_cache->generation : 0, + mmap_cache_generation, tcp, + tcp->mmap_cache ? tcp->mmap_cache->entry : 0); } -extern bool mmap_cache_is_enabled(void) +void +mmap_cache_enable(void) { - return use_mmap_cache; + static bool use_mmap_cache; + + if (!use_mmap_cache) { + mmap_notify_register_client(mmap_cache_invalidate, NULL); + use_mmap_cache = true; + } +} + +/* deleting the cache */ +static void +delete_mmap_cache(struct tcb *tcp, const char *caller) +{ + debug_func_msg("tgen=%u, ggen=%u, tcp=%p, cache=%p, caller=%s", + tcp->mmap_cache ? tcp->mmap_cache->generation : 0, + mmap_cache_generation, tcp, + tcp->mmap_cache ? tcp->mmap_cache->entry : 0, caller); + + if (!tcp->mmap_cache) + return; + + while (tcp->mmap_cache->size) { + unsigned int i = --tcp->mmap_cache->size; + free(tcp->mmap_cache->entry[i].binary_filename); + tcp->mmap_cache->entry[i].binary_filename = NULL; + } + + free(tcp->mmap_cache->entry); + tcp->mmap_cache->entry = NULL; + + free(tcp->mmap_cache); + tcp->mmap_cache = NULL; } /* @@ -51,25 +93,35 @@ extern bool mmap_cache_is_enabled(void) * 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) +extern enum mmap_cache_rebuild_result +mmap_cache_rebuild_if_invalid(struct tcb *tcp, const char *caller) { - 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]; + if (tcp->mmap_cache + && tcp->mmap_cache->generation != mmap_cache_generation) + delete_mmap_cache(tcp, caller); + + if (tcp->mmap_cache) + return MMAP_CACHE_REBUILD_READY; + char filename[sizeof("/proc/4294967296/maps")]; xsprintf(filename, "/proc/%u/maps", tcp->pid); - fp = fopen_stream(filename, "r"); + + FILE *fp = fopen_stream(filename, "r"); if (!fp) { perror_msg("fopen: %s", filename); - return; + return MMAP_CACHE_REBUILD_NOCACHE; } + struct mmap_cache_t cache = { + .free_fn = delete_mmap_cache, + .generation = mmap_cache_generation + }; + + /* start with a small dynamically-allocated array and then expand it */ + size_t allocated = 0; + char buffer[PATH_MAX + 80]; + 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; @@ -101,12 +153,13 @@ build_mmap_cache(struct tcb *tcp) break; } + struct mmap_cache_entry_t *entry; /* * 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 (cache.size > 0) { + entry = &cache.entry[cache.size - 1]; if (entry->start_addr == start_addr && entry->end_addr == end_addr) { /* duplicate entry, e.g. [vsyscall] */ @@ -124,11 +177,11 @@ build_mmap_cache(struct tcb *tcp) } } - if (tcp->mmap_cache_size >= cur_array_size) - cache_head = xgrowarray(cache_head, &cur_array_size, - sizeof(*cache_head)); + if (cache.size >= allocated) + cache.entry = xgrowarray(cache.entry, &allocated, + sizeof(*cache.entry)); - entry = &cache_head[tcp->mmap_cache_size]; + entry = &cache.entry[cache.size]; entry->start_addr = start_addr; entry->end_addr = end_addr; entry->mmap_offset = mmap_offset; @@ -142,89 +195,40 @@ build_mmap_cache(struct tcb *tcp) entry->major = major; entry->minor = minor; entry->binary_filename = xstrdup(binary_path); - tcp->mmap_cache_size++; + 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); -} + if (!cache.size) + return MMAP_CACHE_REBUILD_NOCACHE; -/* deleting the cache */ -extern void -mmap_cache_delete(struct tcb *tcp, const char *caller) -{ - unsigned int i; + tcp->mmap_cache = xmalloc(sizeof(*tcp->mmap_cache)); + memcpy(tcp->mmap_cache, &cache, sizeof(cache)); 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; + tcp->mmap_cache->generation, mmap_cache_generation, + tcp, tcp->mmap_cache->entry, caller); - return r; + return MMAP_CACHE_REBUILD_RENEWED; } -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 * +struct mmap_cache_entry_t * mmap_cache_search(struct tcb *tcp, unsigned long ip) { + if (!tcp->mmap_cache) + return NULL; + int lower = 0; - int upper = (int) tcp->mmap_cache_size - 1; + int upper = (int) tcp->mmap_cache->size - 1; while (lower <= upper) { - struct mmap_cache_t *cur_mmap_cache; int mid = (upper + lower) / 2; + struct mmap_cache_entry_t *entry = &tcp->mmap_cache->entry[mid]; - 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) + if (ip >= entry->start_addr && + ip < entry->end_addr) + return entry; + else if (ip < entry->start_addr) upper = mid - 1; else lower = mid + 1; diff --git a/mmap_cache.h b/mmap_cache.h index 265f8ec2..90a939f3 100644 --- a/mmap_cache.h +++ b/mmap_cache.h @@ -31,7 +31,15 @@ * Keep a sorted array of cache entries, * so that we can binary search through it. */ + struct mmap_cache_t { + struct mmap_cache_entry_t *entry; + void (*free_fn)(struct tcb *, const char *caller); + unsigned int size; + unsigned int generation; +}; + +struct mmap_cache_entry_t { /** * example entry: * 7fabbb09b000-7fabbb09f000 r-xp 00179000 fc:00 1180246 /lib/libc-2.11.1.so @@ -68,19 +76,10 @@ enum mmap_cache_rebuild_result { 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 * +extern struct mmap_cache_entry_t * mmap_cache_search(struct tcb *, unsigned long ip); #endif /* !STRACE_MMAP_CACHE_H */ diff --git a/mmap_notify.c b/mmap_notify.c new file mode 100644 index 00000000..034a6d90 --- /dev/null +++ b/mmap_notify.c @@ -0,0 +1,54 @@ +/* + * Copyright (c) 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 "mmap_notify.h" + +struct mmap_notify_client { + mmap_notify_fn fn; + void *data; + struct mmap_notify_client *next; +}; + +static struct mmap_notify_client *clients; + +void +mmap_notify_register_client(mmap_notify_fn fn, void *data) +{ + struct mmap_notify_client *client = xmalloc(sizeof(*client)); + client->fn = fn; + client->data = data; + client->next = clients; + clients = client; +} + +void +mmap_notify_report(struct tcb *tcp) +{ + struct mmap_notify_client *client; + + for (client = clients; client; client = client->next) + client->fn(tcp, client->data); +} diff --git a/mmap_notify.h b/mmap_notify.h new file mode 100644 index 00000000..8cf44c4e --- /dev/null +++ b/mmap_notify.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 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_NOTIFY_H +#define STRACE_MMAP_NOTIFY_H + +#include "defs.h" + +typedef void (*mmap_notify_fn)(struct tcb *, void *); + +extern void +mmap_notify_register_client(mmap_notify_fn, void *); + +extern void +mmap_notify_report (struct tcb *); + +#endif /* !STRACE_MMAP_NOTIFY_H */ diff --git a/mmsghdr.c b/mmsghdr.c index 9b78a1ec..23e616a3 100644 --- a/mmsghdr.c +++ b/mmsghdr.c @@ -34,18 +34,13 @@ #include "xstring.h" #include -static int -fetch_struct_mmsghdr_or_printaddr(struct tcb *const tcp, +static bool +fetch_struct_mmsghdr_for_print(struct tcb *const tcp, const kernel_ulong_t addr, const unsigned int len, void *const mh) { - if ((entering(tcp) || !syserror(tcp)) - && fetch_struct_mmsghdr(tcp, addr, mh)) { - return 0; - } else { - printaddr(addr); - return -1; - } + return (entering(tcp) || !syserror(tcp)) && + fetch_struct_mmsghdr(tcp, addr, mh); } struct print_struct_mmsghdr_config { @@ -146,7 +141,7 @@ decode_mmsgvec(struct tcb *const tcp, const kernel_ulong_t addr, } print_array(tcp, addr, vlen, &mmsg, sizeof_struct_mmsghdr(), - fetch_struct_mmsghdr_or_printaddr, + fetch_struct_mmsghdr_for_print, print_struct_mmsghdr, &c); } diff --git a/mount.c b/mount.c index 7df0e68e..7b8d88d7 100644 --- a/mount.c +++ b/mount.c @@ -5,7 +5,7 @@ * Copyright (c) 1996-1999 Wichert Akkerman * Copyright (c) 2005 Roland McGrath * Copyright (c) 2007-2015 Dmitry V. Levin - * 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 @@ -70,7 +70,7 @@ SYS_FUNC(mount) tprints(", "); if (old_magic) { - tprints("MS_MGC_VAL"); + print_xlat(MS_MGC_VAL); if (flags) tprints("|"); } diff --git a/mpers-m32/kernel_dirent.d1 b/mpers-m32/kernel_dirent.d1 index a7e2a712..83b64101 100644 --- a/mpers-m32/kernel_dirent.d1 +++ b/mpers-m32/kernel_dirent.d1 @@ -1,89 +1,90 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xb4 (32-bit) + Length: 0xb5 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/kernel_dirent.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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>: Abbrev Number: 8 (DW_TAG_subrange_type) - DW_AT_type : <0xb0> - DW_AT_lower_bound : 0 - DW_AT_count : 1 - <2>: Abbrev Number: 0 - <1>: 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>: 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) - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x121): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 36 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1d8): kernel_dirent + <3a> DW_AT_decl_file : 2 + <3b> DW_AT_decl_line : 56 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_byte_size : 12 + <3e> DW_AT_decl_file : 2 + <3f> DW_AT_decl_line : 51 + <2><40>: Abbrev Number: 5 (DW_TAG_member) + <41> DW_AT_name : (indirect string, offset: 0x16d): d_ino + <45> DW_AT_type : <0x79> + <49> DW_AT_decl_file : 2 + <4a> DW_AT_decl_line : 52 + <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: 0x1a5): d_off + <53> DW_AT_type : <0x79> + <57> DW_AT_decl_file : 2 + <58> DW_AT_decl_line : 53 + <59> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><5c>: Abbrev Number: 5 (DW_TAG_member) + <5d> DW_AT_name : (indirect string, offset: 0x1ab): d_reclen + <61> DW_AT_type : <0x96> + <65> DW_AT_decl_file : 2 + <66> DW_AT_decl_line : 54 + <67> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6a>: Abbrev Number: 5 (DW_TAG_member) + <6b> DW_AT_name : (indirect string, offset: 0x1c3): d_name + <6f> DW_AT_type : <0x9d> + <73> DW_AT_decl_file : 2 + <74> DW_AT_decl_line : 55 + <75> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) + <2><78>: Abbrev Number: 0 + <1><79>: Abbrev Number: 3 (DW_TAG_typedef) + <7a> DW_AT_type : <0x84> + <7e> DW_AT_name : (indirect string, offset: 0x196): kernel_ulong_t + <82> DW_AT_decl_file : 2 + <83> DW_AT_decl_line : 37 + <1><84>: Abbrev Number: 3 (DW_TAG_typedef) + <85> DW_AT_type : <0x8f> + <89> DW_AT_name : (indirect string, offset: 0x185): __kernel_ulong_t + <8d> DW_AT_decl_file : 1 + <8e> DW_AT_decl_line : 24 + <1><8f>: Abbrev Number: 6 (DW_TAG_base_type) + <90> DW_AT_name : (indirect string, offset: 0x173): long unsigned int + <94> DW_AT_encoding : 7 (unsigned) + <95> DW_AT_byte_size : 4 + <1><96>: Abbrev Number: 6 (DW_TAG_base_type) + <97> DW_AT_name : (indirect string, offset: 0x1b4): unsigned short + <9b> DW_AT_encoding : 7 (unsigned) + <9c> DW_AT_byte_size : 2 + <1><9d>: Abbrev Number: 7 (DW_TAG_array_type) + <9e> DW_AT_type : <0xaa> + <2>: Abbrev Number: 8 (DW_TAG_subrange_type) + DW_AT_type : <0xb1> + DW_AT_lower_bound : 0 + DW_AT_count : 1 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1ca): char + DW_AT_encoding : 8 (unsigned char) + DW_AT_byte_size : 1 + <1>: Abbrev Number: 9 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1cf): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>: Abbrev Number: 0 diff --git a/mpers-m32/kernel_dirent.d2 b/mpers-m32/kernel_dirent.d2 index 906d78a7..904ca4f3 100644 --- a/mpers-m32/kernel_dirent.d2 +++ b/mpers-m32/kernel_dirent.d2 @@ -1,87 +1,87 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x92): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x10e): kernel_dirent +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1d8): kernel_dirent DW_AT_decl_file : 2 DW_AT_decl_line : 56 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) DW_AT_byte_size : 12 DW_AT_decl_file : 2 DW_AT_decl_line : 51 -<2><3f> +<2><40> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa3): d_ino -DW_AT_type : <0x78> +DW_AT_name : (indirect string, offset: 0x16d): d_ino +DW_AT_type : <0x79> 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> +<2><4e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdb): d_off -DW_AT_type : <0x78> +DW_AT_name : (indirect string, offset: 0x1a5): d_off +DW_AT_type : <0x79> 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> +<2><5c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe1): d_reclen -DW_AT_type : <0x95> +DW_AT_name : (indirect string, offset: 0x1ab): d_reclen +DW_AT_type : <0x96> 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> +<2><6a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf9): d_name -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x1c3): d_name +DW_AT_type : <0x9d> 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> +<1><79> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x83> -DW_AT_name : (indirect string, offset: 0xcc): kernel_ulong_t +DW_AT_type : <0x84> +DW_AT_name : (indirect string, offset: 0x196): kernel_ulong_t DW_AT_decl_file : 2 DW_AT_decl_line : 37 -<1><83> +<1><84> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x8e> -DW_AT_name : (indirect string, offset: 0xbb): __kernel_ulong_t +DW_AT_type : <0x8f> +DW_AT_name : (indirect string, offset: 0x185): __kernel_ulong_t DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1><8e> +<1><8f> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa9): long unsigned int +DW_AT_name : (indirect string, offset: 0x173): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><95> +<1><96> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xea): unsigned short +DW_AT_name : (indirect string, offset: 0x1b4): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><9c> +<1><9d> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0xa9> -<2> +DW_AT_type : <0xaa> +<2> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0xb0> +DW_AT_type : <0xb1> DW_AT_lower_bound : 0 DW_AT_count : 1 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x100): char +DW_AT_name : (indirect string, offset: 0x1ca): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1> +<1> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x105): sizetype +DW_AT_name : (indirect string, offset: 0x1cf): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) diff --git a/mpers-m32/mq_attr_t.d1 b/mpers-m32/mq_attr_t.d1 index 192ce5c9..38805c53 100644 --- a/mpers-m32/mq_attr_t.d1 +++ b/mpers-m32/mq_attr_t.d1 @@ -1,83 +1,84 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xad (32-bit) + Length: 0xae (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/mq_attr_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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>: Abbrev Number: 8 (DW_TAG_subrange_type) - DW_AT_type : <0xa9> - DW_AT_lower_bound : 0 - DW_AT_count : 4 - <2>: Abbrev Number: 0 - <1>: 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) - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11d): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x158): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 43 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1c7): mq_attr_t + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 39 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1bf): mq_attr + <41> DW_AT_byte_size : 32 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 24 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x169): mq_flags + <49> DW_AT_type : <0x8b> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 25 + <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: 0x18b): mq_maxmsg + <57> DW_AT_type : <0x8b> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 26 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x195): mq_msgsize + <65> DW_AT_type : <0x8b> + <69> DW_AT_decl_file : 2 + <6a> DW_AT_decl_line : 27 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1a0): mq_curmsgs + <73> DW_AT_type : <0x8b> + <77> DW_AT_decl_file : 2 + <78> DW_AT_decl_line : 28 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1ab): __reserved + <81> DW_AT_type : <0x9d> + <85> DW_AT_decl_file : 2 + <86> DW_AT_decl_line : 29 + <87> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><8a>: Abbrev Number: 0 + <1><8b>: Abbrev Number: 3 (DW_TAG_typedef) + <8c> DW_AT_type : <0x96> + <90> DW_AT_name : (indirect string, offset: 0x17b): __kernel_long_t + <94> DW_AT_decl_file : 1 + <95> DW_AT_decl_line : 23 + <1><96>: Abbrev Number: 6 (DW_TAG_base_type) + <97> DW_AT_name : (indirect string, offset: 0x172): long int + <9b> DW_AT_encoding : 5 (signed) + <9c> DW_AT_byte_size : 4 + <1><9d>: Abbrev Number: 7 (DW_TAG_array_type) + <9e> DW_AT_type : <0x8b> + <2>: Abbrev Number: 8 (DW_TAG_subrange_type) + DW_AT_type : <0xaa> + DW_AT_lower_bound : 0 + DW_AT_count : 4 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 9 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1b6): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>: Abbrev Number: 0 diff --git a/mpers-m32/mq_attr_t.d2 b/mpers-m32/mq_attr_t.d2 index be618339..12be562e 100644 --- a/mpers-m32/mq_attr_t.d2 +++ b/mpers-m32/mq_attr_t.d2 @@ -1,79 +1,79 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x158): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xfd): mq_attr_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1c7): mq_attr_t DW_AT_decl_file : 3 DW_AT_decl_line : 39 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xf5): mq_attr +DW_AT_name : (indirect string, offset: 0x1bf): mq_attr DW_AT_byte_size : 32 DW_AT_decl_file : 2 DW_AT_decl_line : 24 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x9f): mq_flags -DW_AT_type : <0x8a> +DW_AT_name : (indirect string, offset: 0x169): mq_flags +DW_AT_type : <0x8b> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc1): mq_maxmsg -DW_AT_type : <0x8a> +DW_AT_name : (indirect string, offset: 0x18b): mq_maxmsg +DW_AT_type : <0x8b> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcb): mq_msgsize -DW_AT_type : <0x8a> +DW_AT_name : (indirect string, offset: 0x195): mq_msgsize +DW_AT_type : <0x8b> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd6): mq_curmsgs -DW_AT_type : <0x8a> +DW_AT_name : (indirect string, offset: 0x1a0): mq_curmsgs +DW_AT_type : <0x8b> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe1): __reserved -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x1ab): __reserved +DW_AT_type : <0x9d> 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> +<1><8b> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x95> -DW_AT_name : (indirect string, offset: 0xb1): __kernel_long_t +DW_AT_type : <0x96> +DW_AT_name : (indirect string, offset: 0x17b): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1><95> +<1><96> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa8): long int +DW_AT_name : (indirect string, offset: 0x172): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><9c> +<1><9d> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x8a> -<2> +DW_AT_type : <0x8b> +<2> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0xa9> +DW_AT_type : <0xaa> DW_AT_lower_bound : 0 DW_AT_count : 4 -<1> +<1> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xec): sizetype +DW_AT_name : (indirect string, offset: 0x1b6): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) diff --git a/mpers-m32/msgbuf_t.d1 b/mpers-m32/msgbuf_t.d1 index 3e5b353f..cd3f2df8 100644 --- a/mpers-m32/msgbuf_t.d1 +++ b/mpers-m32/msgbuf_t.d1 @@ -1,69 +1,70 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x8a (32-bit) + Length: 0x8b (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/msgbuf_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11c): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x157): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 39 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1a2): msgbuf_t + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 38 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x19b): msgbuf + <41> DW_AT_byte_size : 8 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 43 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x168): mtype + <49> DW_AT_type : <0x61> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 44 + <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: 0x187): mtext + <57> DW_AT_type : <0x73> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 45 + <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: 0x177): __kernel_long_t + <6a> DW_AT_decl_file : 1 + <6b> DW_AT_decl_line : 23 + <1><6c>: Abbrev Number: 6 (DW_TAG_base_type) + <6d> DW_AT_name : (indirect string, offset: 0x16e): long int + <71> DW_AT_encoding : 5 (signed) + <72> DW_AT_byte_size : 4 + <1><73>: Abbrev Number: 7 (DW_TAG_array_type) + <74> DW_AT_type : <0x80> + <2><78>: Abbrev Number: 8 (DW_TAG_subrange_type) + <79> DW_AT_type : <0x87> + <7d> DW_AT_lower_bound : 0 + <7e> DW_AT_count : 1 + <2><7f>: Abbrev Number: 0 + <1><80>: Abbrev Number: 6 (DW_TAG_base_type) + <81> DW_AT_name : (indirect string, offset: 0x18d): char + <85> DW_AT_encoding : 8 (unsigned char) + <86> DW_AT_byte_size : 1 + <1><87>: Abbrev Number: 9 (DW_TAG_base_type) + <88> DW_AT_name : (indirect string, offset: 0x192): sizetype + <8c> DW_AT_byte_size : 8 + <8d> DW_AT_encoding : 7 (unsigned) + <1><8e>: Abbrev Number: 0 diff --git a/mpers-m32/msgbuf_t.d2 b/mpers-m32/msgbuf_t.d2 index 38a10dd6..f7929c73 100644 --- a/mpers-m32/msgbuf_t.d2 +++ b/mpers-m32/msgbuf_t.d2 @@ -1,63 +1,63 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8d): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x157): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xd8): msgbuf_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1a2): msgbuf_t DW_AT_decl_file : 3 DW_AT_decl_line : 38 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xd1): msgbuf +DW_AT_name : (indirect string, offset: 0x19b): msgbuf DW_AT_byte_size : 8 DW_AT_decl_file : 2 DW_AT_decl_line : 43 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x9e): mtype -DW_AT_type : <0x60> +DW_AT_name : (indirect string, offset: 0x168): mtype +DW_AT_type : <0x61> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xbd): mtext -DW_AT_type : <0x72> +DW_AT_name : (indirect string, offset: 0x187): mtext +DW_AT_type : <0x73> 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> +<1><61> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x6b> -DW_AT_name : (indirect string, offset: 0xad): __kernel_long_t +DW_AT_type : <0x6c> +DW_AT_name : (indirect string, offset: 0x177): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1><6b> +<1><6c> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa4): long int +DW_AT_name : (indirect string, offset: 0x16e): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><72> +<1><73> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x7f> -<2><77> +DW_AT_type : <0x80> +<2><78> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x86> +DW_AT_type : <0x87> DW_AT_lower_bound : 0 DW_AT_count : 1 -<1><7f> +<1><80> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc3): char +DW_AT_name : (indirect string, offset: 0x18d): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><86> +<1><87> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc8): sizetype +DW_AT_name : (indirect string, offset: 0x192): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) diff --git a/mpers-m32/msqid_ds_t.d1 b/mpers-m32/msqid_ds_t.d1 index 7d750efe..4124b20e 100644 --- a/mpers-m32/msqid_ds_t.d1 +++ b/mpers-m32/msqid_ds_t.d1 @@ -1,246 +1,247 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x214 (32-bit) + Length: 0x215 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/msqid_ds_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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) - <2>
: Abbrev Number: 0 - <1>: 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>: 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>: 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) - <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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11e): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x159): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 5 + <2a> DW_AT_decl_line : 49 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x302): msqid_ds_t + <3a> DW_AT_decl_file : 5 + <3b> DW_AT_decl_line : 42 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x2f7): msqid64_ds + <41> DW_AT_byte_size : 76 + <42> DW_AT_decl_file : 4 + <43> DW_AT_decl_line : 22 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16a): msg_perm + <49> DW_AT_type : <0xdf> + <4d> DW_AT_decl_file : 4 + <4e> DW_AT_decl_line : 23 + <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: 0x25a): msg_stime + <57> DW_AT_type : <0x1f0> + <5b> DW_AT_decl_file : 4 + <5c> DW_AT_decl_line : 24 + <5d> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x28d): msg_rtime + <65> DW_AT_type : <0x1f0> + <69> DW_AT_decl_file : 4 + <6a> DW_AT_decl_line : 28 + <6b> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x297): msg_ctime + <73> DW_AT_type : <0x1f0> + <77> DW_AT_decl_file : 4 + <78> DW_AT_decl_line : 32 + <79> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x2a1): msg_cbytes + <81> DW_AT_type : <0x1de> + <85> DW_AT_decl_file : 4 + <86> DW_AT_decl_line : 36 + <87> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x2ac): msg_qnum + <8f> DW_AT_type : <0x1de> + <93> DW_AT_decl_file : 4 + <94> DW_AT_decl_line : 37 + <95> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x2b5): msg_qbytes + <9d> DW_AT_type : <0x1de> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x2c0): msg_lspid + DW_AT_type : <0x20d> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x2d9): msg_lrpid + DW_AT_type : <0x20d> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x2e3): __unused4 + DW_AT_type : <0x1de> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x2ed): __unused5 + DW_AT_type : <0x1de> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 4 (DW_TAG_structure_type) + DW_AT_name : (indirect string, offset: 0x24f): ipc64_perm + DW_AT_byte_size : 36 + DW_AT_decl_file : 2 + DW_AT_decl_line : 21 + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x173): key + DW_AT_type : <0x182> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x18a): uid + DW_AT_type : <0x194> + DW_AT_decl_file : 2 + DW_AT_decl_line : 23 + <100> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><103>: Abbrev Number: 5 (DW_TAG_member) + <104> DW_AT_name : (indirect string, offset: 0x1ac): gid + <108> DW_AT_type : <0x1a6> + <10c> DW_AT_decl_file : 2 + <10d> DW_AT_decl_line : 24 + <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_name : (indirect string, offset: 0x1c1): cuid + <116> DW_AT_type : <0x194> + <11a> DW_AT_decl_file : 2 + <11b> DW_AT_decl_line : 25 + <11c> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><11f>: Abbrev Number: 5 (DW_TAG_member) + <120> DW_AT_name : (indirect string, offset: 0x1c6): cgid + <124> DW_AT_type : <0x1a6> + <128> DW_AT_decl_file : 2 + <129> DW_AT_decl_line : 26 + <12a> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><12d>: Abbrev Number: 5 (DW_TAG_member) + <12e> DW_AT_name : (indirect string, offset: 0x1cb): mode + <132> DW_AT_type : <0x1b1> + <136> DW_AT_decl_file : 2 + <137> DW_AT_decl_line : 27 + <138> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><13b>: Abbrev Number: 5 (DW_TAG_member) + <13c> DW_AT_name : (indirect string, offset: 0x1e0): __pad1 + <140> DW_AT_type : <0x1bc> + <144> DW_AT_decl_file : 2 + <145> DW_AT_decl_line : 28 + <146> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><149>: Abbrev Number: 5 (DW_TAG_member) + <14a> DW_AT_name : (indirect string, offset: 0x1fe): seq + <14e> DW_AT_type : <0x1d7> + <152> DW_AT_decl_file : 2 + <153> DW_AT_decl_line : 29 + <154> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><157>: Abbrev Number: 5 (DW_TAG_member) + <158> DW_AT_name : (indirect string, offset: 0x211): __pad2 + <15c> DW_AT_type : <0x1d7> + <160> DW_AT_decl_file : 2 + <161> DW_AT_decl_line : 30 + <162> DW_AT_data_member_location: 2 byte block: 23 1a (DW_OP_plus_uconst: 26) + <2><165>: Abbrev Number: 5 (DW_TAG_member) + <166> DW_AT_name : (indirect string, offset: 0x218): __unused1 + <16a> DW_AT_type : <0x1de> + <16e> DW_AT_decl_file : 2 + <16f> DW_AT_decl_line : 31 + <170> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2><173>: Abbrev Number: 5 (DW_TAG_member) + <174> DW_AT_name : (indirect string, offset: 0x245): __unused2 + <178> DW_AT_type : <0x1de> + <17c> DW_AT_decl_file : 2 + <17d> DW_AT_decl_line : 32 + <17e> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><181>: Abbrev Number: 0 + <1><182>: Abbrev Number: 3 (DW_TAG_typedef) + <183> DW_AT_type : <0x18d> + <187> DW_AT_name : (indirect string, offset: 0x17b): __kernel_key_t + <18b> DW_AT_decl_file : 1 + <18c> DW_AT_decl_line : 28 + <1><18d>: Abbrev Number: 6 (DW_TAG_base_type) + <18e> DW_AT_name : (indirect string, offset: 0x177): int + <192> DW_AT_encoding : 5 (signed) + <193> DW_AT_byte_size : 4 + <1><194>: Abbrev Number: 3 (DW_TAG_typedef) + <195> DW_AT_type : <0x19f> + <199> DW_AT_name : (indirect string, offset: 0x19b): __kernel_uid32_t + <19d> DW_AT_decl_file : 3 + <19e> DW_AT_decl_line : 49 + <1><19f>: Abbrev Number: 6 (DW_TAG_base_type) + <1a0> DW_AT_name : (indirect string, offset: 0x18e): unsigned int + <1a4> DW_AT_encoding : 7 (unsigned) + <1a5> DW_AT_byte_size : 4 + <1><1a6>: Abbrev Number: 3 (DW_TAG_typedef) + <1a7> DW_AT_type : <0x19f> + <1ab> DW_AT_name : (indirect string, offset: 0x1b0): __kernel_gid32_t + <1af> DW_AT_decl_file : 3 + <1b0> DW_AT_decl_line : 50 + <1><1b1>: Abbrev Number: 3 (DW_TAG_typedef) + <1b2> DW_AT_type : <0x19f> + <1b6> DW_AT_name : (indirect string, offset: 0x1d0): __kernel_mode_t + <1ba> DW_AT_decl_file : 3 + <1bb> DW_AT_decl_line : 30 + <1><1bc>: Abbrev Number: 7 (DW_TAG_array_type) + <1bd> DW_AT_type : <0x1c9> + <2><1c1>: Abbrev Number: 8 (DW_TAG_subrange_type) + <1c2> DW_AT_type : <0x1d0> + <1c6> DW_AT_lower_bound : 0 + <1c7> DW_AT_count : 0 + <2><1c8>: Abbrev Number: 0 + <1><1c9>: Abbrev Number: 6 (DW_TAG_base_type) + <1ca> DW_AT_name : (indirect string, offset: 0x1e7): unsigned char + <1ce> DW_AT_encoding : 8 (unsigned char) + <1cf> DW_AT_byte_size : 1 + <1><1d0>: Abbrev Number: 9 (DW_TAG_base_type) + <1d1> DW_AT_name : (indirect string, offset: 0x1f5): sizetype + <1d5> DW_AT_byte_size : 8 + <1d6> DW_AT_encoding : 7 (unsigned) + <1><1d7>: Abbrev Number: 6 (DW_TAG_base_type) + <1d8> DW_AT_name : (indirect string, offset: 0x202): unsigned short + <1dc> DW_AT_encoding : 7 (unsigned) + <1dd> DW_AT_byte_size : 2 + <1><1de>: Abbrev Number: 3 (DW_TAG_typedef) + <1df> DW_AT_type : <0x1e9> + <1e3> DW_AT_name : (indirect string, offset: 0x234): __kernel_ulong_t + <1e7> DW_AT_decl_file : 3 + <1e8> DW_AT_decl_line : 24 + <1><1e9>: Abbrev Number: 6 (DW_TAG_base_type) + <1ea> DW_AT_name : (indirect string, offset: 0x222): long unsigned int + <1ee> DW_AT_encoding : 7 (unsigned) + <1ef> DW_AT_byte_size : 4 + <1><1f0>: Abbrev Number: 3 (DW_TAG_typedef) + <1f1> DW_AT_type : <0x1fb> + <1f5> DW_AT_name : (indirect string, offset: 0x27d): __kernel_time_t + <1f9> DW_AT_decl_file : 3 + <1fa> DW_AT_decl_line : 77 + <1><1fb>: Abbrev Number: 3 (DW_TAG_typedef) + <1fc> DW_AT_type : <0x206> + <200> DW_AT_name : (indirect string, offset: 0x26d): __kernel_long_t + <204> DW_AT_decl_file : 3 + <205> DW_AT_decl_line : 23 + <1><206>: Abbrev Number: 6 (DW_TAG_base_type) + <207> DW_AT_name : (indirect string, offset: 0x264): long int + <20b> DW_AT_encoding : 5 (signed) + <20c> DW_AT_byte_size : 4 + <1><20d>: Abbrev Number: 3 (DW_TAG_typedef) + <20e> DW_AT_type : <0x18d> + <212> DW_AT_name : (indirect string, offset: 0x2ca): __kernel_pid_t + <216> DW_AT_decl_file : 3 + <217> DW_AT_decl_line : 33 + <1><218>: Abbrev Number: 0 diff --git a/mpers-m32/msqid_ds_t.d2 b/mpers-m32/msqid_ds_t.d2 index e1f1686f..67fad360 100644 --- a/mpers-m32/msqid_ds_t.d2 +++ b/mpers-m32/msqid_ds_t.d2 @@ -1,271 +1,271 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8f): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x159): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x238): msqid_ds_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x302): msqid_ds_t DW_AT_decl_file : 5 DW_AT_decl_line : 42 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x22d): msqid64_ds +DW_AT_name : (indirect string, offset: 0x2f7): msqid64_ds DW_AT_byte_size : 76 DW_AT_decl_file : 4 DW_AT_decl_line : 22 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa0): msg_perm -DW_AT_type : <0xde> +DW_AT_name : (indirect string, offset: 0x16a): msg_perm +DW_AT_type : <0xdf> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x190): msg_stime -DW_AT_type : <0x1ef> +DW_AT_name : (indirect string, offset: 0x25a): msg_stime +DW_AT_type : <0x1f0> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1c3): msg_rtime -DW_AT_type : <0x1ef> +DW_AT_name : (indirect string, offset: 0x28d): msg_rtime +DW_AT_type : <0x1f0> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1cd): msg_ctime -DW_AT_type : <0x1ef> +DW_AT_name : (indirect string, offset: 0x297): msg_ctime +DW_AT_type : <0x1f0> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d7): msg_cbytes -DW_AT_type : <0x1dd> +DW_AT_name : (indirect string, offset: 0x2a1): msg_cbytes +DW_AT_type : <0x1de> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1e2): msg_qnum -DW_AT_type : <0x1dd> +DW_AT_name : (indirect string, offset: 0x2ac): msg_qnum +DW_AT_type : <0x1de> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1eb): msg_qbytes -DW_AT_type : <0x1dd> +DW_AT_name : (indirect string, offset: 0x2b5): msg_qbytes +DW_AT_type : <0x1de> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f6): msg_lspid -DW_AT_type : <0x20c> +DW_AT_name : (indirect string, offset: 0x2c0): msg_lspid +DW_AT_type : <0x20d> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x20f): msg_lrpid -DW_AT_type : <0x20c> +DW_AT_name : (indirect string, offset: 0x2d9): msg_lrpid +DW_AT_type : <0x20d> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x219): __unused4 -DW_AT_type : <0x1dd> +DW_AT_name : (indirect string, offset: 0x2e3): __unused4 +DW_AT_type : <0x1de> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x223): __unused5 -DW_AT_type : <0x1dd> +DW_AT_name : (indirect string, offset: 0x2ed): __unused5 +DW_AT_type : <0x1de> 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> +<1> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x185): ipc64_perm +DW_AT_name : (indirect string, offset: 0x24f): ipc64_perm DW_AT_byte_size : 36 DW_AT_decl_file : 2 DW_AT_decl_line : 21 -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa9): key -DW_AT_type : <0x181> +DW_AT_name : (indirect string, offset: 0x173): key +DW_AT_type : <0x182> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc0): uid -DW_AT_type : <0x193> +DW_AT_name : (indirect string, offset: 0x18a): uid +DW_AT_type : <0x194> 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> +<2><103> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe2): gid -DW_AT_type : <0x1a5> +DW_AT_name : (indirect string, offset: 0x1ac): gid +DW_AT_type : <0x1a6> 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> +<2><111> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf7): cuid -DW_AT_type : <0x193> +DW_AT_name : (indirect string, offset: 0x1c1): cuid +DW_AT_type : <0x194> 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> +<2><11f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfc): cgid -DW_AT_type : <0x1a5> +DW_AT_name : (indirect string, offset: 0x1c6): cgid +DW_AT_type : <0x1a6> 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> +<2><12d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x101): mode -DW_AT_type : <0x1b0> +DW_AT_name : (indirect string, offset: 0x1cb): mode +DW_AT_type : <0x1b1> 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> +<2><13b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x116): __pad1 -DW_AT_type : <0x1bb> +DW_AT_name : (indirect string, offset: 0x1e0): __pad1 +DW_AT_type : <0x1bc> 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> +<2><149> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x134): seq -DW_AT_type : <0x1d6> +DW_AT_name : (indirect string, offset: 0x1fe): seq +DW_AT_type : <0x1d7> 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> +<2><157> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x147): __pad2 -DW_AT_type : <0x1d6> +DW_AT_name : (indirect string, offset: 0x211): __pad2 +DW_AT_type : <0x1d7> 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> +<2><165> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14e): __unused1 -DW_AT_type : <0x1dd> +DW_AT_name : (indirect string, offset: 0x218): __unused1 +DW_AT_type : <0x1de> 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> +<2><173> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17b): __unused2 -DW_AT_type : <0x1dd> +DW_AT_name : (indirect string, offset: 0x245): __unused2 +DW_AT_type : <0x1de> 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> +<1><182> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x18c> -DW_AT_name : (indirect string, offset: 0xb1): __kernel_key_t +DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x17b): __kernel_key_t DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1><18c> +<1><18d> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xad): int +DW_AT_name : (indirect string, offset: 0x177): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><193> +<1><194> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x19e> -DW_AT_name : (indirect string, offset: 0xd1): __kernel_uid32_t +DW_AT_type : <0x19f> +DW_AT_name : (indirect string, offset: 0x19b): __kernel_uid32_t DW_AT_decl_file : 3 DW_AT_decl_line : 49 -<1><19e> +<1><19f> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc4): unsigned int +DW_AT_name : (indirect string, offset: 0x18e): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><1a5> +<1><1a6> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x19e> -DW_AT_name : (indirect string, offset: 0xe6): __kernel_gid32_t +DW_AT_type : <0x19f> +DW_AT_name : (indirect string, offset: 0x1b0): __kernel_gid32_t DW_AT_decl_file : 3 DW_AT_decl_line : 50 -<1><1b0> +<1><1b1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x19e> -DW_AT_name : (indirect string, offset: 0x106): __kernel_mode_t +DW_AT_type : <0x19f> +DW_AT_name : (indirect string, offset: 0x1d0): __kernel_mode_t DW_AT_decl_file : 3 DW_AT_decl_line : 30 -<1><1bb> +<1><1bc> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x1c8> -<2><1c0> +DW_AT_type : <0x1c9> +<2><1c1> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x1cf> +DW_AT_type : <0x1d0> DW_AT_lower_bound : 0 DW_AT_count : 0 -<1><1c8> +<1><1c9> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x11d): unsigned char +DW_AT_name : (indirect string, offset: 0x1e7): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><1cf> +<1><1d0> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x12b): sizetype +DW_AT_name : (indirect string, offset: 0x1f5): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><1d6> +<1><1d7> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x138): unsigned short +DW_AT_name : (indirect string, offset: 0x202): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><1dd> +<1><1de> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x1e8> -DW_AT_name : (indirect string, offset: 0x16a): __kernel_ulong_t +DW_AT_type : <0x1e9> +DW_AT_name : (indirect string, offset: 0x234): __kernel_ulong_t DW_AT_decl_file : 3 DW_AT_decl_line : 24 -<1><1e8> +<1><1e9> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x158): long unsigned int +DW_AT_name : (indirect string, offset: 0x222): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><1ef> +<1><1f0> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x1fa> -DW_AT_name : (indirect string, offset: 0x1b3): __kernel_time_t +DW_AT_type : <0x1fb> +DW_AT_name : (indirect string, offset: 0x27d): __kernel_time_t DW_AT_decl_file : 3 DW_AT_decl_line : 77 -<1><1fa> +<1><1fb> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x205> -DW_AT_name : (indirect string, offset: 0x1a3): __kernel_long_t +DW_AT_type : <0x206> +DW_AT_name : (indirect string, offset: 0x26d): __kernel_long_t DW_AT_decl_file : 3 DW_AT_decl_line : 23 -<1><205> +<1><206> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x19a): long int +DW_AT_name : (indirect string, offset: 0x264): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><20c> +<1><20d> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x18c> -DW_AT_name : (indirect string, offset: 0x200): __kernel_pid_t +DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x2ca): __kernel_pid_t DW_AT_decl_file : 3 DW_AT_decl_line : 33 diff --git a/mpers-m32/rusage_t.d1 b/mpers-m32/rusage_t.d1 index 63b19c45..16af0eb6 100644 --- a/mpers-m32/rusage_t.d1 +++ b/mpers-m32/rusage_t.d1 @@ -1,166 +1,167 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x16e (32-bit) + Length: 0x16f (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/rusage_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - DW_AT_name : (indirect string, offset: 0x171): ru_nsignals - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11c): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x157): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 4 + <2a> DW_AT_decl_line : 38 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x261): rusage_t + <3a> DW_AT_decl_file : 4 + <3b> DW_AT_decl_line : 36 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x25a): rusage + <41> DW_AT_byte_size : 72 + <42> DW_AT_decl_file : 3 + <43> DW_AT_decl_line : 27 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x168): ru_utime + <49> DW_AT_type : <0x125> + <4d> DW_AT_decl_file : 3 + <4e> DW_AT_decl_line : 28 + <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: 0x1c6): ru_stime + <57> DW_AT_type : <0x125> + <5b> DW_AT_decl_file : 3 + <5c> DW_AT_decl_line : 29 + <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: 0x1cf): ru_maxrss + <65> DW_AT_type : <0x155> + <69> DW_AT_decl_file : 3 + <6a> DW_AT_decl_line : 30 + <6b> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1d9): ru_ixrss + <73> DW_AT_type : <0x155> + <77> DW_AT_decl_file : 3 + <78> DW_AT_decl_line : 31 + <79> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1e2): ru_idrss + <81> DW_AT_type : <0x155> + <85> DW_AT_decl_file : 3 + <86> DW_AT_decl_line : 32 + <87> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1eb): ru_isrss + <8f> DW_AT_type : <0x155> + <93> DW_AT_decl_file : 3 + <94> DW_AT_decl_line : 33 + <95> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1f4): ru_minflt + <9d> DW_AT_type : <0x155> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1fe): ru_majflt + DW_AT_type : <0x155> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x208): ru_nswap + DW_AT_type : <0x155> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x211): ru_inblock + DW_AT_type : <0x155> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x21c): ru_oublock + DW_AT_type : <0x155> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x227): ru_msgsnd + DW_AT_type : <0x155> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x231): ru_msgrcv + DW_AT_type : <0x155> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x23b): ru_nsignals + DW_AT_type : <0x155> + <103> DW_AT_decl_file : 3 + <104> DW_AT_decl_line : 41 + <105> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) + <2><108>: Abbrev Number: 5 (DW_TAG_member) + <109> DW_AT_name : (indirect string, offset: 0x247): ru_nvcsw + <10d> DW_AT_type : <0x155> + <111> DW_AT_decl_file : 3 + <112> DW_AT_decl_line : 42 + <113> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) + <2><116>: Abbrev Number: 5 (DW_TAG_member) + <117> DW_AT_name : (indirect string, offset: 0x250): ru_nivcsw + <11b> DW_AT_type : <0x155> + <11f> DW_AT_decl_file : 3 + <120> DW_AT_decl_line : 43 + <121> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68) + <2><124>: Abbrev Number: 0 + <1><125>: Abbrev Number: 4 (DW_TAG_structure_type) + <126> DW_AT_name : (indirect string, offset: 0x1be): timeval + <12a> DW_AT_byte_size : 8 + <12b> DW_AT_decl_file : 2 + <12c> DW_AT_decl_line : 29 + <2><12d>: Abbrev Number: 5 (DW_TAG_member) + <12e> DW_AT_name : (indirect string, offset: 0x171): tv_sec + <132> DW_AT_type : <0x14a> + <136> DW_AT_decl_file : 2 + <137> DW_AT_decl_line : 30 + <138> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><13b>: Abbrev Number: 5 (DW_TAG_member) + <13c> DW_AT_name : (indirect string, offset: 0x1a1): tv_usec + <140> DW_AT_type : <0x167> + <144> DW_AT_decl_file : 2 + <145> DW_AT_decl_line : 31 + <146> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <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: 0x191): __kernel_time_t + <153> DW_AT_decl_file : 1 + <154> DW_AT_decl_line : 77 + <1><155>: Abbrev Number: 3 (DW_TAG_typedef) + <156> DW_AT_type : <0x160> + <15a> DW_AT_name : (indirect string, offset: 0x181): __kernel_long_t + <15e> DW_AT_decl_file : 1 + <15f> DW_AT_decl_line : 23 + <1><160>: Abbrev Number: 6 (DW_TAG_base_type) + <161> DW_AT_name : (indirect string, offset: 0x178): long int + <165> DW_AT_encoding : 5 (signed) + <166> DW_AT_byte_size : 4 + <1><167>: Abbrev Number: 3 (DW_TAG_typedef) + <168> DW_AT_type : <0x155> + <16c> DW_AT_name : (indirect string, offset: 0x1a9): __kernel_suseconds_t + <170> DW_AT_decl_file : 1 + <171> DW_AT_decl_line : 43 + <1><172>: Abbrev Number: 0 diff --git a/mpers-m32/rusage_t.d2 b/mpers-m32/rusage_t.d2 index 23776a7e..3ba0e0c1 100644 --- a/mpers-m32/rusage_t.d2 +++ b/mpers-m32/rusage_t.d2 @@ -1,175 +1,175 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8d): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x157): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x197): rusage_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x261): rusage_t DW_AT_decl_file : 4 DW_AT_decl_line : 36 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x190): rusage +DW_AT_name : (indirect string, offset: 0x25a): rusage DW_AT_byte_size : 72 DW_AT_decl_file : 3 DW_AT_decl_line : 27 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x9e): ru_utime -DW_AT_type : <0x124> +DW_AT_name : (indirect string, offset: 0x168): ru_utime +DW_AT_type : <0x125> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfc): ru_stime -DW_AT_type : <0x124> +DW_AT_name : (indirect string, offset: 0x1c6): ru_stime +DW_AT_type : <0x125> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x105): ru_maxrss -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x1cf): ru_maxrss +DW_AT_type : <0x155> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10f): ru_ixrss -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x1d9): ru_ixrss +DW_AT_type : <0x155> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x118): ru_idrss -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x1e2): ru_idrss +DW_AT_type : <0x155> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x121): ru_isrss -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x1eb): ru_isrss +DW_AT_type : <0x155> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12a): ru_minflt -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x1f4): ru_minflt +DW_AT_type : <0x155> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x134): ru_majflt -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x1fe): ru_majflt +DW_AT_type : <0x155> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13e): ru_nswap -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x208): ru_nswap +DW_AT_type : <0x155> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x147): ru_inblock -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x211): ru_inblock +DW_AT_type : <0x155> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x152): ru_oublock -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x21c): ru_oublock +DW_AT_type : <0x155> 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>
+<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15d): ru_msgsnd -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x227): ru_msgsnd +DW_AT_type : <0x155> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x167): ru_msgrcv -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x231): ru_msgrcv +DW_AT_type : <0x155> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x171): ru_nsignals -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x23b): ru_nsignals +DW_AT_type : <0x155> 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> +<2><108> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17d): ru_nvcsw -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x247): ru_nvcsw +DW_AT_type : <0x155> 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> +<2><116> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x186): ru_nivcsw -DW_AT_type : <0x154> +DW_AT_name : (indirect string, offset: 0x250): ru_nivcsw +DW_AT_type : <0x155> 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> +<1><125> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xf4): timeval +DW_AT_name : (indirect string, offset: 0x1be): timeval DW_AT_byte_size : 8 DW_AT_decl_file : 2 DW_AT_decl_line : 29 -<2><12c> +<2><12d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa7): tv_sec -DW_AT_type : <0x149> +DW_AT_name : (indirect string, offset: 0x171): tv_sec +DW_AT_type : <0x14a> 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> +<2><13b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd7): tv_usec -DW_AT_type : <0x166> +DW_AT_name : (indirect string, offset: 0x1a1): tv_usec +DW_AT_type : <0x167> 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> +<1><14a> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x154> -DW_AT_name : (indirect string, offset: 0xc7): __kernel_time_t +DW_AT_type : <0x155> +DW_AT_name : (indirect string, offset: 0x191): __kernel_time_t DW_AT_decl_file : 1 DW_AT_decl_line : 77 -<1><154> +<1><155> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x15f> -DW_AT_name : (indirect string, offset: 0xb7): __kernel_long_t +DW_AT_type : <0x160> +DW_AT_name : (indirect string, offset: 0x181): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1><15f> +<1><160> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xae): long int +DW_AT_name : (indirect string, offset: 0x178): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><166> +<1><167> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x154> -DW_AT_name : (indirect string, offset: 0xdf): __kernel_suseconds_t +DW_AT_type : <0x155> +DW_AT_name : (indirect string, offset: 0x1a9): __kernel_suseconds_t DW_AT_decl_file : 1 DW_AT_decl_line : 43 diff --git a/mpers-m32/sample_struct.d1 b/mpers-m32/sample_struct.d1 index 5cbf0a6d..0562c171 100644 --- a/mpers-m32/sample_struct.d1 +++ b/mpers-m32/sample_struct.d1 @@ -1,301 +1,302 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x272 (32-bit) + Length: 0x273 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/sample_struct.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x121): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 1 + <2a> DW_AT_decl_line : 37 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x21b): sample_struct + <3a> DW_AT_decl_file : 1 + <3b> DW_AT_decl_line : 36 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_byte_size : 1248 + <3f> DW_AT_decl_file : 1 + <40> DW_AT_decl_line : 2 + <2><41>: Abbrev Number: 5 (DW_TAG_member) + <42> DW_AT_name : (indirect string, offset: 0x16d): s + <46> DW_AT_type : <0x4f> + <4a> DW_AT_decl_file : 1 + <4b> DW_AT_decl_line : 21 + <4c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><4f>: Abbrev Number: 4 (DW_TAG_structure_type) + <50> DW_AT_byte_size : 480 + <52> DW_AT_decl_file : 1 + <53> DW_AT_decl_line : 3 + <3><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x16f): p + <59> DW_AT_type : <0x1cb> + <5d> DW_AT_decl_file : 1 + <5e> DW_AT_decl_line : 4 + <5f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><62>: Abbrev Number: 5 (DW_TAG_member) + <63> DW_AT_name : (indirect string, offset: 0x171): sc + <67> DW_AT_type : <0x1cc> + <6b> DW_AT_decl_file : 1 + <6c> DW_AT_decl_line : 5 + <6d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <3><70>: Abbrev Number: 5 (DW_TAG_member) + <71> DW_AT_name : (indirect string, offset: 0x179): ss + <75> DW_AT_type : <0x1d3> + <79> DW_AT_decl_file : 1 + <7a> DW_AT_decl_line : 7 + <7b> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6) + <3><7e>: Abbrev Number: 5 (DW_TAG_member) + <7f> DW_AT_name : (indirect string, offset: 0x182): uc + <83> DW_AT_type : <0x1da> + <87> DW_AT_decl_file : 1 + <88> DW_AT_decl_line : 8 + <89> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <3><8c>: Abbrev Number: 5 (DW_TAG_member) + <8d> DW_AT_name : (indirect string, offset: 0x193): si + <91> DW_AT_type : <0x1e1> + <95> DW_AT_decl_file : 1 + <96> DW_AT_decl_line : 10 + <97> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <3><9a>: Abbrev Number: 5 (DW_TAG_member) + <9b> DW_AT_name : (indirect string, offset: 0x19a): ui + <9f> DW_AT_type : <0x1e8> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1aa): sl + DW_AT_type : <0x1ef> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1b6): us + DW_AT_type : <0x1f6> + 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>: Abbrev Number: 6 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1c8): sll + DW_AT_type : <0x1fd> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1da): ull + DW_AT_type : <0x204> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f5): ul + DW_AT_type : <0x20b> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x20a): asl + DW_AT_type : <0x212> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x217): f + <102> DW_AT_type : <0x1cc> + <106> DW_AT_decl_file : 1 + <107> DW_AT_decl_line : 19 + <108> DW_AT_data_member_location: 3 byte block: 23 d8 3 (DW_OP_plus_uconst: 472) + <3><10c>: Abbrev Number: 0 + <2><10d>: Abbrev Number: 5 (DW_TAG_member) + <10e> DW_AT_name : (indirect string, offset: 0x219): u + <112> DW_AT_type : <0x234> + <116> DW_AT_decl_file : 1 + <117> DW_AT_decl_line : 34 + <118> DW_AT_data_member_location: 3 byte block: 23 e0 3 (DW_OP_plus_uconst: 480) + <2><11c>: Abbrev Number: 7 (DW_TAG_union_type) + <11d> DW_AT_byte_size : 128 + <11e> DW_AT_decl_file : 1 + <11f> DW_AT_decl_line : 22 + <3><120>: Abbrev Number: 5 (DW_TAG_member) + <121> DW_AT_name : (indirect string, offset: 0x1c8): sll + <125> DW_AT_type : <0x1fd> + <129> DW_AT_decl_file : 1 + <12a> DW_AT_decl_line : 23 + <12b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><12e>: Abbrev Number: 5 (DW_TAG_member) + <12f> DW_AT_name : (indirect string, offset: 0x1da): ull + <133> DW_AT_type : <0x204> + <137> DW_AT_decl_file : 1 + <138> DW_AT_decl_line : 24 + <139> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><13c>: Abbrev Number: 5 (DW_TAG_member) + <13d> DW_AT_name : (indirect string, offset: 0x16f): p + <141> DW_AT_type : <0x1cb> + <145> DW_AT_decl_file : 1 + <146> DW_AT_decl_line : 25 + <147> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><14a>: Abbrev Number: 5 (DW_TAG_member) + <14b> DW_AT_name : (indirect string, offset: 0x1aa): sl + <14f> DW_AT_type : <0x1ef> + <153> DW_AT_decl_file : 1 + <154> DW_AT_decl_line : 26 + <155> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><158>: Abbrev Number: 5 (DW_TAG_member) + <159> DW_AT_name : (indirect string, offset: 0x1f5): ul + <15d> DW_AT_type : <0x20b> + <161> DW_AT_decl_file : 1 + <162> DW_AT_decl_line : 27 + <163> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><166>: Abbrev Number: 5 (DW_TAG_member) + <167> DW_AT_name : (indirect string, offset: 0x193): si + <16b> DW_AT_type : <0x1e1> + <16f> DW_AT_decl_file : 1 + <170> DW_AT_decl_line : 28 + <171> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><174>: Abbrev Number: 5 (DW_TAG_member) + <175> DW_AT_name : (indirect string, offset: 0x19a): ui + <179> DW_AT_type : <0x1e8> + <17d> DW_AT_decl_file : 1 + <17e> DW_AT_decl_line : 29 + <17f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><182>: Abbrev Number: 5 (DW_TAG_member) + <183> DW_AT_name : (indirect string, offset: 0x179): ss + <187> DW_AT_type : <0x248> + <18b> DW_AT_decl_file : 1 + <18c> DW_AT_decl_line : 30 + <18d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><190>: Abbrev Number: 5 (DW_TAG_member) + <191> DW_AT_name : (indirect string, offset: 0x1b6): us + <195> DW_AT_type : <0x25c> + <199> DW_AT_decl_file : 1 + <19a> DW_AT_decl_line : 31 + <19b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><19e>: Abbrev Number: 5 (DW_TAG_member) + <19f> DW_AT_name : (indirect string, offset: 0x171): sc + <1a3> DW_AT_type : <0x1cc> + <1a7> DW_AT_decl_file : 1 + <1a8> DW_AT_decl_line : 32 + <1a9> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><1ac>: Abbrev Number: 5 (DW_TAG_member) + <1ad> DW_AT_name : (indirect string, offset: 0x182): uc + <1b1> DW_AT_type : <0x1da> + <1b5> DW_AT_decl_file : 1 + <1b6> DW_AT_decl_line : 33 + <1b7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><1ba>: Abbrev Number: 0 + <2><1bb>: Abbrev Number: 5 (DW_TAG_member) + <1bc> DW_AT_name : (indirect string, offset: 0x217): f + <1c0> DW_AT_type : <0x269> + <1c4> DW_AT_decl_file : 1 + <1c5> DW_AT_decl_line : 35 + <1c6> DW_AT_data_member_location: 3 byte block: 23 e0 9 (DW_OP_plus_uconst: 1248) + <2><1ca>: Abbrev Number: 0 + <1><1cb>: Abbrev Number: 8 (DW_TAG_pointer_type) + <1><1cc>: Abbrev Number: 9 (DW_TAG_base_type) + <1cd> DW_AT_name : (indirect string, offset: 0x174): char + <1d1> DW_AT_encoding : 8 (unsigned char) + <1d2> DW_AT_byte_size : 1 + <1><1d3>: Abbrev Number: 9 (DW_TAG_base_type) + <1d4> DW_AT_name : (indirect string, offset: 0x17c): short + <1d8> DW_AT_encoding : 5 (signed) + <1d9> DW_AT_byte_size : 2 + <1><1da>: Abbrev Number: 9 (DW_TAG_base_type) + <1db> DW_AT_name : (indirect string, offset: 0x185): unsigned char + <1df> DW_AT_encoding : 8 (unsigned char) + <1e0> DW_AT_byte_size : 1 + <1><1e1>: Abbrev Number: 9 (DW_TAG_base_type) + <1e2> DW_AT_name : (indirect string, offset: 0x196): int + <1e6> DW_AT_encoding : 5 (signed) + <1e7> DW_AT_byte_size : 4 + <1><1e8>: Abbrev Number: 9 (DW_TAG_base_type) + <1e9> DW_AT_name : (indirect string, offset: 0x19d): unsigned int + <1ed> DW_AT_encoding : 7 (unsigned) + <1ee> DW_AT_byte_size : 4 + <1><1ef>: Abbrev Number: 9 (DW_TAG_base_type) + <1f0> DW_AT_name : (indirect string, offset: 0x1ad): long int + <1f4> DW_AT_encoding : 5 (signed) + <1f5> DW_AT_byte_size : 4 + <1><1f6>: Abbrev Number: 9 (DW_TAG_base_type) + <1f7> DW_AT_name : (indirect string, offset: 0x1b9): unsigned short + <1fb> DW_AT_encoding : 7 (unsigned) + <1fc> DW_AT_byte_size : 2 + <1><1fd>: Abbrev Number: 9 (DW_TAG_base_type) + <1fe> DW_AT_name : (indirect string, offset: 0x1cc): long long int + <202> DW_AT_encoding : 5 (signed) + <203> DW_AT_byte_size : 8 + <1><204>: Abbrev Number: 9 (DW_TAG_base_type) + <205> DW_AT_name : (indirect string, offset: 0x1de): long long unsigned int + <209> DW_AT_encoding : 7 (unsigned) + <20a> DW_AT_byte_size : 8 + <1><20b>: Abbrev Number: 9 (DW_TAG_base_type) + <20c> DW_AT_name : (indirect string, offset: 0x1f8): long unsigned int + <210> DW_AT_encoding : 7 (unsigned) + <211> DW_AT_byte_size : 4 + <1><212>: Abbrev Number: 10 (DW_TAG_array_type) + <213> DW_AT_type : <0x1ef> + <2><217>: Abbrev Number: 11 (DW_TAG_subrange_type) + <218> DW_AT_type : <0x22d> + <21c> DW_AT_lower_bound : 0 + <21d> DW_AT_count : 3 + <2><21e>: Abbrev Number: 11 (DW_TAG_subrange_type) + <21f> DW_AT_type : <0x22d> + <223> DW_AT_lower_bound : 0 + <224> DW_AT_count : 5 + <2><225>: Abbrev Number: 11 (DW_TAG_subrange_type) + <226> DW_AT_type : <0x22d> + <22a> DW_AT_lower_bound : 0 + <22b> DW_AT_count : 7 + <2><22c>: Abbrev Number: 0 + <1><22d>: Abbrev Number: 12 (DW_TAG_base_type) + <22e> DW_AT_name : (indirect string, offset: 0x20e): sizetype + <232> DW_AT_byte_size : 8 + <233> DW_AT_encoding : 7 (unsigned) + <1><234>: Abbrev Number: 10 (DW_TAG_array_type) + <235> DW_AT_type : <0x11c> + <2><239>: Abbrev Number: 11 (DW_TAG_subrange_type) + <23a> DW_AT_type : <0x22d> + <23e> DW_AT_lower_bound : 0 + <23f> DW_AT_count : 3 + <2><240>: Abbrev Number: 11 (DW_TAG_subrange_type) + <241> DW_AT_type : <0x22d> + <245> DW_AT_lower_bound : 0 + <246> DW_AT_count : 2 + <2><247>: Abbrev Number: 0 + <1><248>: Abbrev Number: 10 (DW_TAG_array_type) + <249> DW_AT_type : <0x1d3> + <2><24d>: Abbrev Number: 11 (DW_TAG_subrange_type) + <24e> DW_AT_type : <0x22d> + <252> DW_AT_lower_bound : 0 + <253> DW_AT_count : 7 + <2><254>: Abbrev Number: 11 (DW_TAG_subrange_type) + <255> DW_AT_type : <0x22d> + <259> DW_AT_lower_bound : 0 + <25a> DW_AT_count : 9 + <2><25b>: Abbrev Number: 0 + <1><25c>: Abbrev Number: 10 (DW_TAG_array_type) + <25d> DW_AT_type : <0x1f6> + <2><261>: Abbrev Number: 11 (DW_TAG_subrange_type) + <262> DW_AT_type : <0x22d> + <266> DW_AT_lower_bound : 0 + <267> DW_AT_count : 4 + <2><268>: Abbrev Number: 0 + <1><269>: Abbrev Number: 10 (DW_TAG_array_type) + <26a> DW_AT_type : <0x1d3> + <2><26e>: Abbrev Number: 11 (DW_TAG_subrange_type) + <26f> DW_AT_type : <0x22d> + <273> DW_AT_lower_bound : 0 + <274> DW_AT_count : 0 + <2><275>: Abbrev Number: 0 + <1><276>: Abbrev Number: 0 diff --git a/mpers-m32/sample_struct.d2 b/mpers-m32/sample_struct.d2 index ceab522a..6c539d7c 100644 --- a/mpers-m32/sample_struct.d2 +++ b/mpers-m32/sample_struct.d2 @@ -1,336 +1,336 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x92): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x151): sample_struct +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x21b): sample_struct DW_AT_decl_file : 1 DW_AT_decl_line : 36 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) DW_AT_byte_size : 1248 DW_AT_decl_file : 1 DW_AT_decl_line : 2 -<2><40> +<2><41> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa3): s -DW_AT_type : <0x4e> +DW_AT_name : (indirect string, offset: 0x16d): s +DW_AT_type : <0x4f> 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> +<2><4f> Abbrev Number: 4 (DW_TAG_structure_type) DW_AT_byte_size : 480 DW_AT_decl_file : 1 DW_AT_decl_line : 3 -<3><53> +<3><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa5): p -DW_AT_type : <0x1ca> +DW_AT_name : (indirect string, offset: 0x16f): p +DW_AT_type : <0x1cb> 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> +<3><62> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa7): sc -DW_AT_type : <0x1cb> +DW_AT_name : (indirect string, offset: 0x171): sc +DW_AT_type : <0x1cc> 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> +<3><70> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xaf): ss -DW_AT_type : <0x1d2> +DW_AT_name : (indirect string, offset: 0x179): ss +DW_AT_type : <0x1d3> 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> +<3><7e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb8): uc -DW_AT_type : <0x1d9> +DW_AT_name : (indirect string, offset: 0x182): uc +DW_AT_type : <0x1da> 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> +<3><8c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc9): si -DW_AT_type : <0x1e0> +DW_AT_name : (indirect string, offset: 0x193): si +DW_AT_type : <0x1e1> 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> +<3><9a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd0): ui -DW_AT_type : <0x1e7> +DW_AT_name : (indirect string, offset: 0x19a): ui +DW_AT_type : <0x1e8> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe0): sl -DW_AT_type : <0x1ee> +DW_AT_name : (indirect string, offset: 0x1aa): sl +DW_AT_type : <0x1ef> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xec): us -DW_AT_type : <0x1f5> +DW_AT_name : (indirect string, offset: 0x1b6): us +DW_AT_type : <0x1f6> 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> +<3> Abbrev Number: 6 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfe): sll -DW_AT_type : <0x1fc> +DW_AT_name : (indirect string, offset: 0x1c8): sll +DW_AT_type : <0x1fd> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x110): ull -DW_AT_type : <0x203> +DW_AT_name : (indirect string, offset: 0x1da): ull +DW_AT_type : <0x204> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12b): ul -DW_AT_type : <0x20a> +DW_AT_name : (indirect string, offset: 0x1f5): ul +DW_AT_type : <0x20b> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x140): asl -DW_AT_type : <0x211> +DW_AT_name : (indirect string, offset: 0x20a): asl +DW_AT_type : <0x212> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14d): f -DW_AT_type : <0x1cb> +DW_AT_name : (indirect string, offset: 0x217): f +DW_AT_type : <0x1cc> 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> +<2><10d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14f): u -DW_AT_type : <0x233> +DW_AT_name : (indirect string, offset: 0x219): u +DW_AT_type : <0x234> 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> +<2><11c> Abbrev Number: 7 (DW_TAG_union_type) DW_AT_byte_size : 128 DW_AT_decl_file : 1 DW_AT_decl_line : 22 -<3><11f> +<3><120> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfe): sll -DW_AT_type : <0x1fc> +DW_AT_name : (indirect string, offset: 0x1c8): sll +DW_AT_type : <0x1fd> 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> +<3><12e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x110): ull -DW_AT_type : <0x203> +DW_AT_name : (indirect string, offset: 0x1da): ull +DW_AT_type : <0x204> 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> +<3><13c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa5): p -DW_AT_type : <0x1ca> +DW_AT_name : (indirect string, offset: 0x16f): p +DW_AT_type : <0x1cb> 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> +<3><14a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe0): sl -DW_AT_type : <0x1ee> +DW_AT_name : (indirect string, offset: 0x1aa): sl +DW_AT_type : <0x1ef> 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> +<3><158> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12b): ul -DW_AT_type : <0x20a> +DW_AT_name : (indirect string, offset: 0x1f5): ul +DW_AT_type : <0x20b> 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> +<3><166> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc9): si -DW_AT_type : <0x1e0> +DW_AT_name : (indirect string, offset: 0x193): si +DW_AT_type : <0x1e1> 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> +<3><174> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd0): ui -DW_AT_type : <0x1e7> +DW_AT_name : (indirect string, offset: 0x19a): ui +DW_AT_type : <0x1e8> 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> +<3><182> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xaf): ss -DW_AT_type : <0x247> +DW_AT_name : (indirect string, offset: 0x179): ss +DW_AT_type : <0x248> 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> +<3><190> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xec): us -DW_AT_type : <0x25b> +DW_AT_name : (indirect string, offset: 0x1b6): us +DW_AT_type : <0x25c> 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> +<3><19e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa7): sc -DW_AT_type : <0x1cb> +DW_AT_name : (indirect string, offset: 0x171): sc +DW_AT_type : <0x1cc> 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> +<3><1ac> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb8): uc -DW_AT_type : <0x1d9> +DW_AT_name : (indirect string, offset: 0x182): uc +DW_AT_type : <0x1da> 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> +<2><1bb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14d): f -DW_AT_type : <0x268> +DW_AT_name : (indirect string, offset: 0x217): f +DW_AT_type : <0x269> 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: 8 (DW_TAG_pointer_type) +<1><1cc> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xaa): char +DW_AT_name : (indirect string, offset: 0x174): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><1d2> +<1><1d3> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb2): short +DW_AT_name : (indirect string, offset: 0x17c): short DW_AT_encoding : 5 (signed) DW_AT_byte_size : 2 -<1><1d9> +<1><1da> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xbb): unsigned char +DW_AT_name : (indirect string, offset: 0x185): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><1e0> +<1><1e1> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xcc): int +DW_AT_name : (indirect string, offset: 0x196): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><1e7> +<1><1e8> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xd3): unsigned int +DW_AT_name : (indirect string, offset: 0x19d): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><1ee> +<1><1ef> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe3): long int +DW_AT_name : (indirect string, offset: 0x1ad): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><1f5> +<1><1f6> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xef): unsigned short +DW_AT_name : (indirect string, offset: 0x1b9): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><1fc> +<1><1fd> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x102): long long int +DW_AT_name : (indirect string, offset: 0x1cc): long long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 8 -<1><203> +<1><204> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x114): long long unsigned int +DW_AT_name : (indirect string, offset: 0x1de): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 -<1><20a> +<1><20b> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x12e): long unsigned int +DW_AT_name : (indirect string, offset: 0x1f8): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><211> +<1><212> Abbrev Number: 10 (DW_TAG_array_type) -DW_AT_type : <0x1ee> -<2><216> +DW_AT_type : <0x1ef> +<2><217> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x22c> +DW_AT_type : <0x22d> DW_AT_lower_bound : 0 DW_AT_count : 3 -<2><21d> +<2><21e> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x22c> +DW_AT_type : <0x22d> DW_AT_lower_bound : 0 DW_AT_count : 5 -<2><224> +<2><225> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x22c> +DW_AT_type : <0x22d> DW_AT_lower_bound : 0 DW_AT_count : 7 -<1><22c> +<1><22d> Abbrev Number: 12 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x144): sizetype +DW_AT_name : (indirect string, offset: 0x20e): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><233> +<1><234> Abbrev Number: 10 (DW_TAG_array_type) -DW_AT_type : <0x11b> -<2><238> +DW_AT_type : <0x11c> +<2><239> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x22c> +DW_AT_type : <0x22d> DW_AT_lower_bound : 0 DW_AT_count : 3 -<2><23f> +<2><240> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x22c> +DW_AT_type : <0x22d> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1><247> +<1><248> Abbrev Number: 10 (DW_TAG_array_type) -DW_AT_type : <0x1d2> -<2><24c> +DW_AT_type : <0x1d3> +<2><24d> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x22c> +DW_AT_type : <0x22d> DW_AT_lower_bound : 0 DW_AT_count : 7 -<2><253> +<2><254> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x22c> +DW_AT_type : <0x22d> DW_AT_lower_bound : 0 DW_AT_count : 9 -<1><25b> +<1><25c> Abbrev Number: 10 (DW_TAG_array_type) -DW_AT_type : <0x1f5> -<2><260> +DW_AT_type : <0x1f6> +<2><261> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x22c> +DW_AT_type : <0x22d> DW_AT_lower_bound : 0 DW_AT_count : 4 -<1><268> +<1><269> Abbrev Number: 10 (DW_TAG_array_type) -DW_AT_type : <0x1d2> -<2><26d> +DW_AT_type : <0x1d3> +<2><26e> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x22c> +DW_AT_type : <0x22d> DW_AT_lower_bound : 0 DW_AT_count : 0 diff --git a/mpers-m32/shmid_ds_t.d1 b/mpers-m32/shmid_ds_t.d1 index 721245d9..a9ddc271 100644 --- a/mpers-m32/shmid_ds_t.d1 +++ b/mpers-m32/shmid_ds_t.d1 @@ -1,245 +1,246 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x211 (32-bit) + Length: 0x212 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/shmid_ds_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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) - <2>: Abbrev Number: 0 - <1>: 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>: 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>: 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>: 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) - <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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11e): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x159): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 6 + <2a> DW_AT_decl_line : 49 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x2fd): shmid_ds_t + <3a> DW_AT_decl_file : 6 + <3b> DW_AT_decl_line : 42 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x2f2): shmid64_ds + <41> DW_AT_byte_size : 72 + <42> DW_AT_decl_file : 4 + <43> DW_AT_decl_line : 22 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16a): shm_perm + <49> DW_AT_type : <0xd1> + <4d> DW_AT_decl_file : 4 + <4e> DW_AT_decl_line : 23 + <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: 0x25a): shm_segsz + <57> DW_AT_type : <0x1e2> + <5b> DW_AT_decl_file : 4 + <5c> DW_AT_decl_line : 24 + <5d> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x26b): shm_atime + <65> DW_AT_type : <0x1ed> + <69> DW_AT_decl_file : 4 + <6a> DW_AT_decl_line : 25 + <6b> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x29e): shm_dtime + <73> DW_AT_type : <0x1ed> + <77> DW_AT_decl_file : 4 + <78> DW_AT_decl_line : 29 + <79> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x2a8): shm_ctime + <81> DW_AT_type : <0x1ed> + <85> DW_AT_decl_file : 4 + <86> DW_AT_decl_line : 33 + <87> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x2b2): shm_cpid + <8f> DW_AT_type : <0x20a> + <93> DW_AT_decl_file : 4 + <94> DW_AT_decl_line : 37 + <95> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x2ca): shm_lpid + <9d> DW_AT_type : <0x20a> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x2d3): shm_nattch + DW_AT_type : <0x1d0> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x2de): __unused4 + DW_AT_type : <0x1d0> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x2e8): __unused5 + DW_AT_type : <0x1d0> + 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>: Abbrev Number: 0 + <1>: Abbrev Number: 4 (DW_TAG_structure_type) + DW_AT_name : (indirect string, offset: 0x24f): ipc64_perm + DW_AT_byte_size : 36 + DW_AT_decl_file : 2 + DW_AT_decl_line : 21 + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x173): key + DW_AT_type : <0x174> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x18a): uid + DW_AT_type : <0x186> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ac): gid + DW_AT_type : <0x198> + DW_AT_decl_file : 2 + DW_AT_decl_line : 24 + <100> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><103>: Abbrev Number: 5 (DW_TAG_member) + <104> DW_AT_name : (indirect string, offset: 0x1c1): cuid + <108> DW_AT_type : <0x186> + <10c> DW_AT_decl_file : 2 + <10d> DW_AT_decl_line : 25 + <10e> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><111>: Abbrev Number: 5 (DW_TAG_member) + <112> DW_AT_name : (indirect string, offset: 0x1c6): cgid + <116> DW_AT_type : <0x198> + <11a> DW_AT_decl_file : 2 + <11b> DW_AT_decl_line : 26 + <11c> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><11f>: Abbrev Number: 5 (DW_TAG_member) + <120> DW_AT_name : (indirect string, offset: 0x1cb): mode + <124> DW_AT_type : <0x1a3> + <128> DW_AT_decl_file : 2 + <129> DW_AT_decl_line : 27 + <12a> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><12d>: Abbrev Number: 5 (DW_TAG_member) + <12e> DW_AT_name : (indirect string, offset: 0x1e0): __pad1 + <132> DW_AT_type : <0x1ae> + <136> DW_AT_decl_file : 2 + <137> DW_AT_decl_line : 28 + <138> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><13b>: Abbrev Number: 5 (DW_TAG_member) + <13c> DW_AT_name : (indirect string, offset: 0x1fe): seq + <140> DW_AT_type : <0x1c9> + <144> DW_AT_decl_file : 2 + <145> DW_AT_decl_line : 29 + <146> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><149>: Abbrev Number: 5 (DW_TAG_member) + <14a> DW_AT_name : (indirect string, offset: 0x211): __pad2 + <14e> DW_AT_type : <0x1c9> + <152> DW_AT_decl_file : 2 + <153> DW_AT_decl_line : 30 + <154> DW_AT_data_member_location: 2 byte block: 23 1a (DW_OP_plus_uconst: 26) + <2><157>: Abbrev Number: 5 (DW_TAG_member) + <158> DW_AT_name : (indirect string, offset: 0x218): __unused1 + <15c> DW_AT_type : <0x1d0> + <160> DW_AT_decl_file : 2 + <161> DW_AT_decl_line : 31 + <162> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2><165>: Abbrev Number: 5 (DW_TAG_member) + <166> DW_AT_name : (indirect string, offset: 0x245): __unused2 + <16a> DW_AT_type : <0x1d0> + <16e> DW_AT_decl_file : 2 + <16f> DW_AT_decl_line : 32 + <170> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><173>: Abbrev Number: 0 + <1><174>: Abbrev Number: 3 (DW_TAG_typedef) + <175> DW_AT_type : <0x17f> + <179> DW_AT_name : (indirect string, offset: 0x17b): __kernel_key_t + <17d> DW_AT_decl_file : 1 + <17e> DW_AT_decl_line : 28 + <1><17f>: Abbrev Number: 6 (DW_TAG_base_type) + <180> DW_AT_name : (indirect string, offset: 0x177): int + <184> DW_AT_encoding : 5 (signed) + <185> DW_AT_byte_size : 4 + <1><186>: Abbrev Number: 3 (DW_TAG_typedef) + <187> DW_AT_type : <0x191> + <18b> DW_AT_name : (indirect string, offset: 0x19b): __kernel_uid32_t + <18f> DW_AT_decl_file : 3 + <190> DW_AT_decl_line : 49 + <1><191>: Abbrev Number: 6 (DW_TAG_base_type) + <192> DW_AT_name : (indirect string, offset: 0x18e): unsigned int + <196> DW_AT_encoding : 7 (unsigned) + <197> DW_AT_byte_size : 4 + <1><198>: Abbrev Number: 3 (DW_TAG_typedef) + <199> DW_AT_type : <0x191> + <19d> DW_AT_name : (indirect string, offset: 0x1b0): __kernel_gid32_t + <1a1> DW_AT_decl_file : 3 + <1a2> DW_AT_decl_line : 50 + <1><1a3>: Abbrev Number: 3 (DW_TAG_typedef) + <1a4> DW_AT_type : <0x191> + <1a8> DW_AT_name : (indirect string, offset: 0x1d0): __kernel_mode_t + <1ac> DW_AT_decl_file : 3 + <1ad> DW_AT_decl_line : 30 + <1><1ae>: Abbrev Number: 7 (DW_TAG_array_type) + <1af> DW_AT_type : <0x1bb> + <2><1b3>: Abbrev Number: 8 (DW_TAG_subrange_type) + <1b4> DW_AT_type : <0x1c2> + <1b8> DW_AT_lower_bound : 0 + <1b9> DW_AT_count : 0 + <2><1ba>: Abbrev Number: 0 + <1><1bb>: Abbrev Number: 6 (DW_TAG_base_type) + <1bc> DW_AT_name : (indirect string, offset: 0x1e7): unsigned char + <1c0> DW_AT_encoding : 8 (unsigned char) + <1c1> DW_AT_byte_size : 1 + <1><1c2>: Abbrev Number: 9 (DW_TAG_base_type) + <1c3> DW_AT_name : (indirect string, offset: 0x1f5): sizetype + <1c7> DW_AT_byte_size : 8 + <1c8> DW_AT_encoding : 7 (unsigned) + <1><1c9>: Abbrev Number: 6 (DW_TAG_base_type) + <1ca> DW_AT_name : (indirect string, offset: 0x202): unsigned short + <1ce> DW_AT_encoding : 7 (unsigned) + <1cf> DW_AT_byte_size : 2 + <1><1d0>: Abbrev Number: 3 (DW_TAG_typedef) + <1d1> DW_AT_type : <0x1db> + <1d5> DW_AT_name : (indirect string, offset: 0x234): __kernel_ulong_t + <1d9> DW_AT_decl_file : 3 + <1da> DW_AT_decl_line : 24 + <1><1db>: Abbrev Number: 6 (DW_TAG_base_type) + <1dc> DW_AT_name : (indirect string, offset: 0x222): long unsigned int + <1e0> DW_AT_encoding : 7 (unsigned) + <1e1> DW_AT_byte_size : 4 + <1><1e2>: Abbrev Number: 3 (DW_TAG_typedef) + <1e3> DW_AT_type : <0x191> + <1e7> DW_AT_name : (indirect string, offset: 0x264): size_t + <1eb> DW_AT_decl_file : 5 + <1ec> DW_AT_decl_line : 62 + <1><1ed>: Abbrev Number: 3 (DW_TAG_typedef) + <1ee> DW_AT_type : <0x1f8> + <1f2> DW_AT_name : (indirect string, offset: 0x28e): __kernel_time_t + <1f6> DW_AT_decl_file : 3 + <1f7> DW_AT_decl_line : 77 + <1><1f8>: Abbrev Number: 3 (DW_TAG_typedef) + <1f9> DW_AT_type : <0x203> + <1fd> DW_AT_name : (indirect string, offset: 0x27e): __kernel_long_t + <201> DW_AT_decl_file : 3 + <202> DW_AT_decl_line : 23 + <1><203>: Abbrev Number: 6 (DW_TAG_base_type) + <204> DW_AT_name : (indirect string, offset: 0x275): long int + <208> DW_AT_encoding : 5 (signed) + <209> DW_AT_byte_size : 4 + <1><20a>: Abbrev Number: 3 (DW_TAG_typedef) + <20b> DW_AT_type : <0x17f> + <20f> DW_AT_name : (indirect string, offset: 0x2bb): __kernel_pid_t + <213> DW_AT_decl_file : 3 + <214> DW_AT_decl_line : 33 + <1><215>: Abbrev Number: 0 diff --git a/mpers-m32/shmid_ds_t.d2 b/mpers-m32/shmid_ds_t.d2 index 47015eb5..de60d609 100644 --- a/mpers-m32/shmid_ds_t.d2 +++ b/mpers-m32/shmid_ds_t.d2 @@ -1,270 +1,270 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8f): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x159): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x233): shmid_ds_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x2fd): shmid_ds_t DW_AT_decl_file : 6 DW_AT_decl_line : 42 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x228): shmid64_ds +DW_AT_name : (indirect string, offset: 0x2f2): shmid64_ds DW_AT_byte_size : 72 DW_AT_decl_file : 4 DW_AT_decl_line : 22 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa0): shm_perm -DW_AT_type : <0xd0> +DW_AT_name : (indirect string, offset: 0x16a): shm_perm +DW_AT_type : <0xd1> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x190): shm_segsz -DW_AT_type : <0x1e1> +DW_AT_name : (indirect string, offset: 0x25a): shm_segsz +DW_AT_type : <0x1e2> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1a1): shm_atime -DW_AT_type : <0x1ec> +DW_AT_name : (indirect string, offset: 0x26b): shm_atime +DW_AT_type : <0x1ed> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d4): shm_dtime -DW_AT_type : <0x1ec> +DW_AT_name : (indirect string, offset: 0x29e): shm_dtime +DW_AT_type : <0x1ed> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1de): shm_ctime -DW_AT_type : <0x1ec> +DW_AT_name : (indirect string, offset: 0x2a8): shm_ctime +DW_AT_type : <0x1ed> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1e8): shm_cpid -DW_AT_type : <0x209> +DW_AT_name : (indirect string, offset: 0x2b2): shm_cpid +DW_AT_type : <0x20a> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x200): shm_lpid -DW_AT_type : <0x209> +DW_AT_name : (indirect string, offset: 0x2ca): shm_lpid +DW_AT_type : <0x20a> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x209): shm_nattch -DW_AT_type : <0x1cf> +DW_AT_name : (indirect string, offset: 0x2d3): shm_nattch +DW_AT_type : <0x1d0> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x214): __unused4 -DW_AT_type : <0x1cf> +DW_AT_name : (indirect string, offset: 0x2de): __unused4 +DW_AT_type : <0x1d0> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x21e): __unused5 -DW_AT_type : <0x1cf> +DW_AT_name : (indirect string, offset: 0x2e8): __unused5 +DW_AT_type : <0x1d0> 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> +<1> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x185): ipc64_perm +DW_AT_name : (indirect string, offset: 0x24f): ipc64_perm DW_AT_byte_size : 36 DW_AT_decl_file : 2 DW_AT_decl_line : 21 -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa9): key -DW_AT_type : <0x173> +DW_AT_name : (indirect string, offset: 0x173): key +DW_AT_type : <0x174> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc0): uid -DW_AT_type : <0x185> +DW_AT_name : (indirect string, offset: 0x18a): uid +DW_AT_type : <0x186> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe2): gid -DW_AT_type : <0x197> +DW_AT_name : (indirect string, offset: 0x1ac): gid +DW_AT_type : <0x198> 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> +<2><103> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf7): cuid -DW_AT_type : <0x185> +DW_AT_name : (indirect string, offset: 0x1c1): cuid +DW_AT_type : <0x186> 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> +<2><111> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfc): cgid -DW_AT_type : <0x197> +DW_AT_name : (indirect string, offset: 0x1c6): cgid +DW_AT_type : <0x198> 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> +<2><11f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x101): mode -DW_AT_type : <0x1a2> +DW_AT_name : (indirect string, offset: 0x1cb): mode +DW_AT_type : <0x1a3> 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> +<2><12d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x116): __pad1 -DW_AT_type : <0x1ad> +DW_AT_name : (indirect string, offset: 0x1e0): __pad1 +DW_AT_type : <0x1ae> 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> +<2><13b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x134): seq -DW_AT_type : <0x1c8> +DW_AT_name : (indirect string, offset: 0x1fe): seq +DW_AT_type : <0x1c9> 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> +<2><149> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x147): __pad2 -DW_AT_type : <0x1c8> +DW_AT_name : (indirect string, offset: 0x211): __pad2 +DW_AT_type : <0x1c9> 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> +<2><157> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14e): __unused1 -DW_AT_type : <0x1cf> +DW_AT_name : (indirect string, offset: 0x218): __unused1 +DW_AT_type : <0x1d0> 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> +<2><165> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17b): __unused2 -DW_AT_type : <0x1cf> +DW_AT_name : (indirect string, offset: 0x245): __unused2 +DW_AT_type : <0x1d0> 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> +<1><174> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x17e> -DW_AT_name : (indirect string, offset: 0xb1): __kernel_key_t +DW_AT_type : <0x17f> +DW_AT_name : (indirect string, offset: 0x17b): __kernel_key_t DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1><17e> +<1><17f> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xad): int +DW_AT_name : (indirect string, offset: 0x177): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><185> +<1><186> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x190> -DW_AT_name : (indirect string, offset: 0xd1): __kernel_uid32_t +DW_AT_type : <0x191> +DW_AT_name : (indirect string, offset: 0x19b): __kernel_uid32_t DW_AT_decl_file : 3 DW_AT_decl_line : 49 -<1><190> +<1><191> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc4): unsigned int +DW_AT_name : (indirect string, offset: 0x18e): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><197> +<1><198> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x190> -DW_AT_name : (indirect string, offset: 0xe6): __kernel_gid32_t +DW_AT_type : <0x191> +DW_AT_name : (indirect string, offset: 0x1b0): __kernel_gid32_t DW_AT_decl_file : 3 DW_AT_decl_line : 50 -<1><1a2> +<1><1a3> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x190> -DW_AT_name : (indirect string, offset: 0x106): __kernel_mode_t +DW_AT_type : <0x191> +DW_AT_name : (indirect string, offset: 0x1d0): __kernel_mode_t DW_AT_decl_file : 3 DW_AT_decl_line : 30 -<1><1ad> +<1><1ae> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x1ba> -<2><1b2> +DW_AT_type : <0x1bb> +<2><1b3> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x1c1> +DW_AT_type : <0x1c2> DW_AT_lower_bound : 0 DW_AT_count : 0 -<1><1ba> +<1><1bb> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x11d): unsigned char +DW_AT_name : (indirect string, offset: 0x1e7): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><1c1> +<1><1c2> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x12b): sizetype +DW_AT_name : (indirect string, offset: 0x1f5): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><1c8> +<1><1c9> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x138): unsigned short +DW_AT_name : (indirect string, offset: 0x202): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><1cf> +<1><1d0> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x1da> -DW_AT_name : (indirect string, offset: 0x16a): __kernel_ulong_t +DW_AT_type : <0x1db> +DW_AT_name : (indirect string, offset: 0x234): __kernel_ulong_t DW_AT_decl_file : 3 DW_AT_decl_line : 24 -<1><1da> +<1><1db> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x158): long unsigned int +DW_AT_name : (indirect string, offset: 0x222): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><1e1> +<1><1e2> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x190> -DW_AT_name : (indirect string, offset: 0x19a): size_t +DW_AT_type : <0x191> +DW_AT_name : (indirect string, offset: 0x264): size_t DW_AT_decl_file : 5 DW_AT_decl_line : 62 -<1><1ec> +<1><1ed> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x1f7> -DW_AT_name : (indirect string, offset: 0x1c4): __kernel_time_t +DW_AT_type : <0x1f8> +DW_AT_name : (indirect string, offset: 0x28e): __kernel_time_t DW_AT_decl_file : 3 DW_AT_decl_line : 77 -<1><1f7> +<1><1f8> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x202> -DW_AT_name : (indirect string, offset: 0x1b4): __kernel_long_t +DW_AT_type : <0x203> +DW_AT_name : (indirect string, offset: 0x27e): __kernel_long_t DW_AT_decl_file : 3 DW_AT_decl_line : 23 -<1><202> +<1><203> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1ab): long int +DW_AT_name : (indirect string, offset: 0x275): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><209> +<1><20a> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x17e> -DW_AT_name : (indirect string, offset: 0x1f1): __kernel_pid_t +DW_AT_type : <0x17f> +DW_AT_name : (indirect string, offset: 0x2bb): __kernel_pid_t DW_AT_decl_file : 3 DW_AT_decl_line : 33 diff --git a/mpers-m32/siginfo_t.d1 b/mpers-m32/siginfo_t.d1 index 7cb5c2bd..365ad3f0 100644 --- a/mpers-m32/siginfo_t.d1 +++ b/mpers-m32/siginfo_t.d1 @@ -1,408 +1,409 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x348 (32-bit) + Length: 0x349 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/siginfo_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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) - 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>: 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) - <4>: Abbrev Number: 0 - <3>: 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>: Abbrev Number: 7 (DW_TAG_structure_type) - DW_AT_byte_size : 16 - DW_AT_decl_file : 1 - DW_AT_decl_line : 57 - <4>: 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>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - DW_AT_name : (indirect string, offset: 0x13d): _sigval - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11d): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x158): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 4 + <2a> DW_AT_decl_line : 42 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x30e): siginfo_t + <3a> DW_AT_decl_file : 1 + <3b> DW_AT_decl_line : 100 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x306): siginfo + <41> DW_AT_byte_size : 124 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 47 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x169): si_signo + <49> DW_AT_type : <0x295> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 48 + <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: 0x176): si_errno + <57> DW_AT_type : <0x295> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 49 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x17f): si_code + <65> DW_AT_type : <0x295> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 50 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x187): _sifields + <73> DW_AT_type : <0x7c> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 99 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 6 (DW_TAG_union_type) + <7d> DW_AT_byte_size : 112 + <7e> DW_AT_decl_file : 1 + <7f> DW_AT_decl_line : 51 + <3><80>: Abbrev Number: 5 (DW_TAG_member) + <81> DW_AT_name : (indirect string, offset: 0x191): _pad + <85> DW_AT_type : <0x29c> + <89> DW_AT_decl_file : 1 + <8a> DW_AT_decl_line : 52 + <8b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><8e>: Abbrev Number: 5 (DW_TAG_member) + <8f> DW_AT_name : (indirect string, offset: 0x19f): _kill + <93> DW_AT_type : <0x9c> + <97> DW_AT_decl_file : 1 + <98> DW_AT_decl_line : 56 + <99> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><9c>: Abbrev Number: 7 (DW_TAG_structure_type) + <9d> DW_AT_byte_size : 8 + <9e> DW_AT_decl_file : 1 + <9f> DW_AT_decl_line : 53 + <4>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1a5): _pid + DW_AT_type : <0x2b0> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1b9): _uid + DW_AT_type : <0x2bb> + 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) + <4>: Abbrev Number: 0 + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1dc): _timer + DW_AT_type : <0xcb> + 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>: Abbrev Number: 7 (DW_TAG_structure_type) + DW_AT_byte_size : 16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 57 + <4>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1e3): _tid + DW_AT_type : <0x2cd> + 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>
: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f9): _overrun + DW_AT_type : <0x295> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x191): _pad + DW_AT_type : <0x2d8> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x207): _sigval + DW_AT_type : <0x2ec> + <102> DW_AT_decl_file : 1 + <103> DW_AT_decl_line : 61 + <104> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><107>: Abbrev Number: 5 (DW_TAG_member) + <108> DW_AT_name : (indirect string, offset: 0x233): _sys_private + <10c> DW_AT_type : <0x295> + <110> DW_AT_decl_file : 1 + <111> DW_AT_decl_line : 62 + <112> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <4><115>: Abbrev Number: 0 + <3><116>: Abbrev Number: 5 (DW_TAG_member) + <117> DW_AT_name : (indirect string, offset: 0x240): _rt + <11b> DW_AT_type : <0x124> + <11f> DW_AT_decl_file : 1 + <120> DW_AT_decl_line : 68 + <121> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><124>: Abbrev Number: 7 (DW_TAG_structure_type) + <125> DW_AT_byte_size : 12 + <126> DW_AT_decl_file : 1 + <127> DW_AT_decl_line : 64 + <4><128>: Abbrev Number: 5 (DW_TAG_member) + <129> DW_AT_name : (indirect string, offset: 0x1a5): _pid + <12d> DW_AT_type : <0x2b0> + <131> DW_AT_decl_file : 1 + <132> DW_AT_decl_line : 65 + <133> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><136>: Abbrev Number: 5 (DW_TAG_member) + <137> DW_AT_name : (indirect string, offset: 0x1b9): _uid + <13b> DW_AT_type : <0x2bb> + <13f> DW_AT_decl_file : 1 + <140> DW_AT_decl_line : 66 + <141> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><144>: Abbrev Number: 5 (DW_TAG_member) + <145> DW_AT_name : (indirect string, offset: 0x207): _sigval + <149> DW_AT_type : <0x2ec> + <14d> DW_AT_decl_file : 1 + <14e> DW_AT_decl_line : 67 + <14f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><152>: Abbrev Number: 0 + <3><153>: Abbrev Number: 5 (DW_TAG_member) + <154> DW_AT_name : (indirect string, offset: 0x244): _sigchld + <158> DW_AT_type : <0x161> + <15c> DW_AT_decl_file : 1 + <15d> DW_AT_decl_line : 75 + <15e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><161>: Abbrev Number: 7 (DW_TAG_structure_type) + <162> DW_AT_byte_size : 20 + <163> DW_AT_decl_file : 1 + <164> DW_AT_decl_line : 69 + <4><165>: Abbrev Number: 5 (DW_TAG_member) + <166> DW_AT_name : (indirect string, offset: 0x1a5): _pid + <16a> DW_AT_type : <0x2b0> + <16e> DW_AT_decl_file : 1 + <16f> DW_AT_decl_line : 70 + <170> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><173>: Abbrev Number: 5 (DW_TAG_member) + <174> DW_AT_name : (indirect string, offset: 0x1b9): _uid + <178> DW_AT_type : <0x2bb> + <17c> DW_AT_decl_file : 1 + <17d> DW_AT_decl_line : 71 + <17e> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><181>: Abbrev Number: 5 (DW_TAG_member) + <182> DW_AT_name : (indirect string, offset: 0x24d): _status + <186> DW_AT_type : <0x295> + <18a> DW_AT_decl_file : 1 + <18b> DW_AT_decl_line : 72 + <18c> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><18f>: Abbrev Number: 5 (DW_TAG_member) + <190> DW_AT_name : (indirect string, offset: 0x255): _utime + <194> DW_AT_type : <0x31d> + <198> DW_AT_decl_file : 1 + <199> DW_AT_decl_line : 73 + <19a> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <4><19d>: Abbrev Number: 5 (DW_TAG_member) + <19e> DW_AT_name : (indirect string, offset: 0x286): _stime + <1a2> DW_AT_type : <0x31d> + <1a6> DW_AT_decl_file : 1 + <1a7> DW_AT_decl_line : 74 + <1a8> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <4><1ab>: Abbrev Number: 0 + <3><1ac>: Abbrev Number: 5 (DW_TAG_member) + <1ad> DW_AT_name : (indirect string, offset: 0x28d): _sigfault + <1b1> DW_AT_type : <0x1ba> + <1b5> DW_AT_decl_file : 1 + <1b6> DW_AT_decl_line : 89 + <1b7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><1ba>: Abbrev Number: 7 (DW_TAG_structure_type) + <1bb> DW_AT_byte_size : 16 + <1bc> DW_AT_decl_file : 1 + <1bd> DW_AT_decl_line : 76 + <4><1be>: Abbrev Number: 5 (DW_TAG_member) + <1bf> DW_AT_name : (indirect string, offset: 0x297): _addr + <1c3> DW_AT_type : <0x31c> + <1c7> DW_AT_decl_file : 1 + <1c8> DW_AT_decl_line : 77 + <1c9> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><1cc>: Abbrev Number: 5 (DW_TAG_member) + <1cd> DW_AT_name : (indirect string, offset: 0x29d): _addr_lsb + <1d1> DW_AT_type : <0x33a> + <1d5> DW_AT_decl_file : 1 + <1d6> DW_AT_decl_line : 81 + <1d7> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><1da>: Abbrev Number: 8 (DW_TAG_member) + <1db> DW_AT_type : <0x1e4> + <1df> DW_AT_decl_file : 1 + <1e0> DW_AT_decl_line : 82 + <1e1> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><1e4>: Abbrev Number: 6 (DW_TAG_union_type) + <1e5> DW_AT_byte_size : 8 + <1e6> DW_AT_decl_file : 1 + <1e7> DW_AT_decl_line : 82 + <5><1e8>: Abbrev Number: 5 (DW_TAG_member) + <1e9> DW_AT_name : (indirect string, offset: 0x2ad): _addr_bnd + <1ed> DW_AT_type : <0x1f6> + <1f1> DW_AT_decl_file : 1 + <1f2> DW_AT_decl_line : 86 + <1f3> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <5><1f6>: Abbrev Number: 7 (DW_TAG_structure_type) + <1f7> DW_AT_byte_size : 8 + <1f8> DW_AT_decl_file : 1 + <1f9> DW_AT_decl_line : 83 + <6><1fa>: Abbrev Number: 5 (DW_TAG_member) + <1fb> DW_AT_name : (indirect string, offset: 0x2b7): _lower + <1ff> DW_AT_type : <0x31c> + <203> DW_AT_decl_file : 1 + <204> DW_AT_decl_line : 84 + <205> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <6><208>: Abbrev Number: 5 (DW_TAG_member) + <209> DW_AT_name : (indirect string, offset: 0x2be): _upper + <20d> DW_AT_type : <0x31c> + <211> DW_AT_decl_file : 1 + <212> DW_AT_decl_line : 85 + <213> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <6><216>: Abbrev Number: 0 + <5><217>: Abbrev Number: 5 (DW_TAG_member) + <218> DW_AT_name : (indirect string, offset: 0x2c5): _pkey + <21c> DW_AT_type : <0x341> + <220> DW_AT_decl_file : 1 + <221> DW_AT_decl_line : 87 + <222> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <5><225>: Abbrev Number: 0 + <4><226>: Abbrev Number: 0 + <3><227>: Abbrev Number: 5 (DW_TAG_member) + <228> DW_AT_name : (indirect string, offset: 0x2d1): _sigpoll + <22c> DW_AT_type : <0x235> + <230> DW_AT_decl_file : 1 + <231> DW_AT_decl_line : 93 + <232> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><235>: Abbrev Number: 7 (DW_TAG_structure_type) + <236> DW_AT_byte_size : 8 + <237> DW_AT_decl_file : 1 + <238> DW_AT_decl_line : 90 + <4><239>: Abbrev Number: 5 (DW_TAG_member) + <23a> DW_AT_name : (indirect string, offset: 0x2da): _band + <23e> DW_AT_type : <0x333> + <242> DW_AT_decl_file : 1 + <243> DW_AT_decl_line : 91 + <244> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><247>: Abbrev Number: 5 (DW_TAG_member) + <248> DW_AT_name : (indirect string, offset: 0x2e0): _fd + <24c> DW_AT_type : <0x295> + <250> DW_AT_decl_file : 1 + <251> DW_AT_decl_line : 92 + <252> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><255>: Abbrev Number: 0 + <3><256>: Abbrev Number: 5 (DW_TAG_member) + <257> DW_AT_name : (indirect string, offset: 0x2e4): _sigsys + <25b> DW_AT_type : <0x264> + <25f> DW_AT_decl_file : 1 + <260> DW_AT_decl_line : 98 + <261> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><264>: Abbrev Number: 7 (DW_TAG_structure_type) + <265> DW_AT_byte_size : 12 + <266> DW_AT_decl_file : 1 + <267> DW_AT_decl_line : 94 + <4><268>: Abbrev Number: 5 (DW_TAG_member) + <269> DW_AT_name : (indirect string, offset: 0x2ec): _call_addr + <26d> DW_AT_type : <0x31c> + <271> DW_AT_decl_file : 1 + <272> DW_AT_decl_line : 95 + <273> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><276>: Abbrev Number: 5 (DW_TAG_member) + <277> DW_AT_name : (indirect string, offset: 0x2f7): _syscall + <27b> DW_AT_type : <0x295> + <27f> DW_AT_decl_file : 1 + <280> DW_AT_decl_line : 96 + <281> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><284>: Abbrev Number: 5 (DW_TAG_member) + <285> DW_AT_name : (indirect string, offset: 0x300): _arch + <289> DW_AT_type : <0x2c6> + <28d> DW_AT_decl_file : 1 + <28e> DW_AT_decl_line : 97 + <28f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><292>: Abbrev Number: 0 + <3><293>: Abbrev Number: 0 + <2><294>: Abbrev Number: 0 + <1><295>: Abbrev Number: 9 (DW_TAG_base_type) + <296> DW_AT_name : (indirect string, offset: 0x172): int + <29a> DW_AT_encoding : 5 (signed) + <29b> DW_AT_byte_size : 4 + <1><29c>: Abbrev Number: 10 (DW_TAG_array_type) + <29d> DW_AT_type : <0x295> + <2><2a1>: Abbrev Number: 11 (DW_TAG_subrange_type) + <2a2> DW_AT_type : <0x2a9> + <2a6> DW_AT_lower_bound : 0 + <2a7> DW_AT_count : 28 + <2><2a8>: Abbrev Number: 0 + <1><2a9>: Abbrev Number: 12 (DW_TAG_base_type) + <2aa> DW_AT_name : (indirect string, offset: 0x196): sizetype + <2ae> DW_AT_byte_size : 8 + <2af> DW_AT_encoding : 7 (unsigned) + <1><2b0>: Abbrev Number: 3 (DW_TAG_typedef) + <2b1> DW_AT_type : <0x295> + <2b5> DW_AT_name : (indirect string, offset: 0x1aa): __kernel_pid_t + <2b9> DW_AT_decl_file : 2 + <2ba> DW_AT_decl_line : 33 + <1><2bb>: Abbrev Number: 3 (DW_TAG_typedef) + <2bc> DW_AT_type : <0x2c6> + <2c0> DW_AT_name : (indirect string, offset: 0x1cb): __kernel_uid32_t + <2c4> DW_AT_decl_file : 2 + <2c5> DW_AT_decl_line : 49 + <1><2c6>: Abbrev Number: 9 (DW_TAG_base_type) + <2c7> DW_AT_name : (indirect string, offset: 0x1be): unsigned int + <2cb> DW_AT_encoding : 7 (unsigned) + <2cc> DW_AT_byte_size : 4 + <1><2cd>: Abbrev Number: 3 (DW_TAG_typedef) + <2ce> DW_AT_type : <0x295> + <2d2> DW_AT_name : (indirect string, offset: 0x1e8): __kernel_timer_t + <2d6> DW_AT_decl_file : 2 + <2d7> DW_AT_decl_line : 79 + <1><2d8>: Abbrev Number: 10 (DW_TAG_array_type) + <2d9> DW_AT_type : <0x2e5> + <2><2dd>: Abbrev Number: 11 (DW_TAG_subrange_type) + <2de> DW_AT_type : <0x2a9> + <2e2> DW_AT_lower_bound : 0 + <2e3> DW_AT_count : 0 + <2><2e4>: Abbrev Number: 0 + <1><2e5>: Abbrev Number: 9 (DW_TAG_base_type) + <2e6> DW_AT_name : (indirect string, offset: 0x202): char + <2ea> DW_AT_encoding : 8 (unsigned char) + <2eb> DW_AT_byte_size : 1 + <1><2ec>: Abbrev Number: 3 (DW_TAG_typedef) + <2ed> DW_AT_type : <0x2f7> + <2f1> DW_AT_name : (indirect string, offset: 0x22a): sigval_t + <2f5> DW_AT_decl_file : 1 + <2f6> DW_AT_decl_line : 26 + <1><2f7>: Abbrev Number: 13 (DW_TAG_union_type) + <2f8> DW_AT_name : (indirect string, offset: 0x223): sigval + <2fc> DW_AT_byte_size : 4 + <2fd> DW_AT_decl_file : 1 + <2fe> DW_AT_decl_line : 23 + <2><2ff>: Abbrev Number: 5 (DW_TAG_member) + <300> DW_AT_name : (indirect string, offset: 0x20f): sival_int + <304> DW_AT_type : <0x295> + <308> DW_AT_decl_file : 1 + <309> DW_AT_decl_line : 24 + <30a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><30d>: Abbrev Number: 5 (DW_TAG_member) + <30e> DW_AT_name : (indirect string, offset: 0x219): sival_ptr + <312> DW_AT_type : <0x31c> + <316> DW_AT_decl_file : 1 + <317> DW_AT_decl_line : 25 + <318> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><31b>: Abbrev Number: 0 + <1><31c>: Abbrev Number: 14 (DW_TAG_pointer_type) + <1><31d>: Abbrev Number: 3 (DW_TAG_typedef) + <31e> DW_AT_type : <0x328> + <322> DW_AT_name : (indirect string, offset: 0x275): __kernel_clock_t + <326> DW_AT_decl_file : 2 + <327> DW_AT_decl_line : 78 + <1><328>: Abbrev Number: 3 (DW_TAG_typedef) + <329> DW_AT_type : <0x333> + <32d> DW_AT_name : (indirect string, offset: 0x265): __kernel_long_t + <331> DW_AT_decl_file : 2 + <332> DW_AT_decl_line : 23 + <1><333>: Abbrev Number: 9 (DW_TAG_base_type) + <334> DW_AT_name : (indirect string, offset: 0x25c): long int + <338> DW_AT_encoding : 5 (signed) + <339> DW_AT_byte_size : 4 + <1><33a>: Abbrev Number: 9 (DW_TAG_base_type) + <33b> DW_AT_name : (indirect string, offset: 0x2a7): short + <33f> DW_AT_encoding : 5 (signed) + <340> DW_AT_byte_size : 2 + <1><341>: Abbrev Number: 3 (DW_TAG_typedef) + <342> DW_AT_type : <0x2c6> + <346> DW_AT_name : (indirect string, offset: 0x2cb): __u32 + <34a> DW_AT_decl_file : 3 + <34b> DW_AT_decl_line : 28 + <1><34c>: Abbrev Number: 0 diff --git a/mpers-m32/siginfo_t.d2 b/mpers-m32/siginfo_t.d2 index f1b6d09c..4bf66db0 100644 --- a/mpers-m32/siginfo_t.d2 +++ b/mpers-m32/siginfo_t.d2 @@ -1,452 +1,452 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x158): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x244): siginfo_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x30e): siginfo_t DW_AT_decl_file : 1 DW_AT_decl_line : 100 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x23c): siginfo +DW_AT_name : (indirect string, offset: 0x306): siginfo DW_AT_byte_size : 124 DW_AT_decl_file : 1 DW_AT_decl_line : 47 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x9f): si_signo -DW_AT_type : <0x294> +DW_AT_name : (indirect string, offset: 0x169): si_signo +DW_AT_type : <0x295> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xac): si_errno -DW_AT_type : <0x294> +DW_AT_name : (indirect string, offset: 0x176): si_errno +DW_AT_type : <0x295> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb5): si_code -DW_AT_type : <0x294> +DW_AT_name : (indirect string, offset: 0x17f): si_code +DW_AT_type : <0x295> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xbd): _sifields -DW_AT_type : <0x7b> +DW_AT_name : (indirect string, offset: 0x187): _sifields +DW_AT_type : <0x7c> 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> +<2><7c> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 112 DW_AT_decl_file : 1 DW_AT_decl_line : 51 -<3><7f> +<3><80> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc7): _pad -DW_AT_type : <0x29b> +DW_AT_name : (indirect string, offset: 0x191): _pad +DW_AT_type : <0x29c> 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> +<3><8e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd5): _kill -DW_AT_type : <0x9b> +DW_AT_name : (indirect string, offset: 0x19f): _kill +DW_AT_type : <0x9c> 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> +<3><9c> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 53 -<4><9f> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdb): _pid -DW_AT_type : <0x2af> +DW_AT_name : (indirect string, offset: 0x1a5): _pid +DW_AT_type : <0x2b0> 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> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xef): _uid -DW_AT_type : <0x2ba> +DW_AT_name : (indirect string, offset: 0x1b9): _uid +DW_AT_type : <0x2bb> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x112): _timer -DW_AT_type : <0xca> +DW_AT_name : (indirect string, offset: 0x1dc): _timer +DW_AT_type : <0xcb> 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> +<3> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 16 DW_AT_decl_file : 1 DW_AT_decl_line : 57 -<4> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x119): _tid -DW_AT_type : <0x2cc> +DW_AT_name : (indirect string, offset: 0x1e3): _tid +DW_AT_type : <0x2cd> 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> +<4>
Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12f): _overrun -DW_AT_type : <0x294> +DW_AT_name : (indirect string, offset: 0x1f9): _overrun +DW_AT_type : <0x295> 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> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc7): _pad -DW_AT_type : <0x2d7> +DW_AT_name : (indirect string, offset: 0x191): _pad +DW_AT_type : <0x2d8> 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> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13d): _sigval -DW_AT_type : <0x2eb> +DW_AT_name : (indirect string, offset: 0x207): _sigval +DW_AT_type : <0x2ec> 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> +<4><107> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x169): _sys_private -DW_AT_type : <0x294> +DW_AT_name : (indirect string, offset: 0x233): _sys_private +DW_AT_type : <0x295> 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> +<3><116> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x176): _rt -DW_AT_type : <0x123> +DW_AT_name : (indirect string, offset: 0x240): _rt +DW_AT_type : <0x124> 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> +<3><124> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 12 DW_AT_decl_file : 1 DW_AT_decl_line : 64 -<4><127> +<4><128> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdb): _pid -DW_AT_type : <0x2af> +DW_AT_name : (indirect string, offset: 0x1a5): _pid +DW_AT_type : <0x2b0> 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> +<4><136> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xef): _uid -DW_AT_type : <0x2ba> +DW_AT_name : (indirect string, offset: 0x1b9): _uid +DW_AT_type : <0x2bb> 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> +<4><144> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13d): _sigval -DW_AT_type : <0x2eb> +DW_AT_name : (indirect string, offset: 0x207): _sigval +DW_AT_type : <0x2ec> 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> +<3><153> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17a): _sigchld -DW_AT_type : <0x160> +DW_AT_name : (indirect string, offset: 0x244): _sigchld +DW_AT_type : <0x161> 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> +<3><161> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 20 DW_AT_decl_file : 1 DW_AT_decl_line : 69 -<4><164> +<4><165> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdb): _pid -DW_AT_type : <0x2af> +DW_AT_name : (indirect string, offset: 0x1a5): _pid +DW_AT_type : <0x2b0> 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> +<4><173> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xef): _uid -DW_AT_type : <0x2ba> +DW_AT_name : (indirect string, offset: 0x1b9): _uid +DW_AT_type : <0x2bb> 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> +<4><181> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x183): _status -DW_AT_type : <0x294> +DW_AT_name : (indirect string, offset: 0x24d): _status +DW_AT_type : <0x295> 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> +<4><18f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x18b): _utime -DW_AT_type : <0x31c> +DW_AT_name : (indirect string, offset: 0x255): _utime +DW_AT_type : <0x31d> 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> +<4><19d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1bc): _stime -DW_AT_type : <0x31c> +DW_AT_name : (indirect string, offset: 0x286): _stime +DW_AT_type : <0x31d> 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> +<3><1ac> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1c3): _sigfault -DW_AT_type : <0x1b9> +DW_AT_name : (indirect string, offset: 0x28d): _sigfault +DW_AT_type : <0x1ba> 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> +<3><1ba> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 16 DW_AT_decl_file : 1 DW_AT_decl_line : 76 -<4><1bd> +<4><1be> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1cd): _addr -DW_AT_type : <0x31b> +DW_AT_name : (indirect string, offset: 0x297): _addr +DW_AT_type : <0x31c> 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> +<4><1cc> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d3): _addr_lsb -DW_AT_type : <0x339> +DW_AT_name : (indirect string, offset: 0x29d): _addr_lsb +DW_AT_type : <0x33a> 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> +<4><1da> Abbrev Number: 8 (DW_TAG_member) -DW_AT_type : <0x1e3> +DW_AT_type : <0x1e4> 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> +<4><1e4> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 82 -<5><1e7> +<5><1e8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1e3): _addr_bnd -DW_AT_type : <0x1f5> +DW_AT_name : (indirect string, offset: 0x2ad): _addr_bnd +DW_AT_type : <0x1f6> 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> +<5><1f6> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 83 -<6><1f9> +<6><1fa> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1ed): _lower -DW_AT_type : <0x31b> +DW_AT_name : (indirect string, offset: 0x2b7): _lower +DW_AT_type : <0x31c> 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> +<6><208> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f4): _upper -DW_AT_type : <0x31b> +DW_AT_name : (indirect string, offset: 0x2be): _upper +DW_AT_type : <0x31c> 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> +<5><217> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1fb): _pkey -DW_AT_type : <0x340> +DW_AT_name : (indirect string, offset: 0x2c5): _pkey +DW_AT_type : <0x341> 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> +<3><227> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x207): _sigpoll -DW_AT_type : <0x234> +DW_AT_name : (indirect string, offset: 0x2d1): _sigpoll +DW_AT_type : <0x235> 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> +<3><235> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 90 -<4><238> +<4><239> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x210): _band -DW_AT_type : <0x332> +DW_AT_name : (indirect string, offset: 0x2da): _band +DW_AT_type : <0x333> 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> +<4><247> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x216): _fd -DW_AT_type : <0x294> +DW_AT_name : (indirect string, offset: 0x2e0): _fd +DW_AT_type : <0x295> 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> +<3><256> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x21a): _sigsys -DW_AT_type : <0x263> +DW_AT_name : (indirect string, offset: 0x2e4): _sigsys +DW_AT_type : <0x264> 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> +<3><264> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 12 DW_AT_decl_file : 1 DW_AT_decl_line : 94 -<4><267> +<4><268> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x222): _call_addr -DW_AT_type : <0x31b> +DW_AT_name : (indirect string, offset: 0x2ec): _call_addr +DW_AT_type : <0x31c> 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> +<4><276> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x22d): _syscall -DW_AT_type : <0x294> +DW_AT_name : (indirect string, offset: 0x2f7): _syscall +DW_AT_type : <0x295> 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> +<4><284> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x236): _arch -DW_AT_type : <0x2c5> +DW_AT_name : (indirect string, offset: 0x300): _arch +DW_AT_type : <0x2c6> 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> +<1><295> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa8): int +DW_AT_name : (indirect string, offset: 0x172): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><29b> +<1><29c> Abbrev Number: 10 (DW_TAG_array_type) -DW_AT_type : <0x294> -<2><2a0> +DW_AT_type : <0x295> +<2><2a1> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x2a8> +DW_AT_type : <0x2a9> DW_AT_lower_bound : 0 DW_AT_count : 28 -<1><2a8> +<1><2a9> Abbrev Number: 12 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xcc): sizetype +DW_AT_name : (indirect string, offset: 0x196): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><2af> +<1><2b0> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x294> -DW_AT_name : (indirect string, offset: 0xe0): __kernel_pid_t +DW_AT_type : <0x295> +DW_AT_name : (indirect string, offset: 0x1aa): __kernel_pid_t DW_AT_decl_file : 2 DW_AT_decl_line : 33 -<1><2ba> +<1><2bb> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2c5> -DW_AT_name : (indirect string, offset: 0x101): __kernel_uid32_t +DW_AT_type : <0x2c6> +DW_AT_name : (indirect string, offset: 0x1cb): __kernel_uid32_t DW_AT_decl_file : 2 DW_AT_decl_line : 49 -<1><2c5> +<1><2c6> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xf4): unsigned int +DW_AT_name : (indirect string, offset: 0x1be): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><2cc> +<1><2cd> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x294> -DW_AT_name : (indirect string, offset: 0x11e): __kernel_timer_t +DW_AT_type : <0x295> +DW_AT_name : (indirect string, offset: 0x1e8): __kernel_timer_t DW_AT_decl_file : 2 DW_AT_decl_line : 79 -<1><2d7> +<1><2d8> Abbrev Number: 10 (DW_TAG_array_type) -DW_AT_type : <0x2e4> -<2><2dc> +DW_AT_type : <0x2e5> +<2><2dd> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x2a8> +DW_AT_type : <0x2a9> DW_AT_lower_bound : 0 DW_AT_count : 0 -<1><2e4> +<1><2e5> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x138): char +DW_AT_name : (indirect string, offset: 0x202): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><2eb> +<1><2ec> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2f6> -DW_AT_name : (indirect string, offset: 0x160): sigval_t +DW_AT_type : <0x2f7> +DW_AT_name : (indirect string, offset: 0x22a): sigval_t DW_AT_decl_file : 1 DW_AT_decl_line : 26 -<1><2f6> +<1><2f7> Abbrev Number: 13 (DW_TAG_union_type) -DW_AT_name : (indirect string, offset: 0x159): sigval +DW_AT_name : (indirect string, offset: 0x223): sigval DW_AT_byte_size : 4 DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<2><2fe> +<2><2ff> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x145): sival_int -DW_AT_type : <0x294> +DW_AT_name : (indirect string, offset: 0x20f): sival_int +DW_AT_type : <0x295> 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> +<2><30d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14f): sival_ptr -DW_AT_type : <0x31b> +DW_AT_name : (indirect string, offset: 0x219): sival_ptr +DW_AT_type : <0x31c> 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: 14 (DW_TAG_pointer_type) +<1><31d> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x327> -DW_AT_name : (indirect string, offset: 0x1ab): __kernel_clock_t +DW_AT_type : <0x328> +DW_AT_name : (indirect string, offset: 0x275): __kernel_clock_t DW_AT_decl_file : 2 DW_AT_decl_line : 78 -<1><327> +<1><328> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x332> -DW_AT_name : (indirect string, offset: 0x19b): __kernel_long_t +DW_AT_type : <0x333> +DW_AT_name : (indirect string, offset: 0x265): __kernel_long_t DW_AT_decl_file : 2 DW_AT_decl_line : 23 -<1><332> +<1><333> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x192): long int +DW_AT_name : (indirect string, offset: 0x25c): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><339> +<1><33a> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1dd): short +DW_AT_name : (indirect string, offset: 0x2a7): short DW_AT_encoding : 5 (signed) DW_AT_byte_size : 2 -<1><340> +<1><341> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2c5> -DW_AT_name : (indirect string, offset: 0x201): __u32 +DW_AT_type : <0x2c6> +DW_AT_name : (indirect string, offset: 0x2cb): __u32 DW_AT_decl_file : 3 DW_AT_decl_line : 28 diff --git a/mpers-m32/stack_t.d1 b/mpers-m32/stack_t.d1 index 685aa00b..e1fba237 100644 --- a/mpers-m32/stack_t.d1 +++ b/mpers-m32/stack_t.d1 @@ -1,65 +1,66 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x85 (32-bit) + Length: 0x86 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/stack_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11b): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x156): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 39 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1a2): stack_t + <3a> DW_AT_decl_file : 1 + <3b> DW_AT_decl_line : 97 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x196): sigaltstack + <41> DW_AT_byte_size : 12 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 93 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x167): ss_sp + <49> DW_AT_type : <0x6f> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 94 + <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: 0x16d): ss_flags + <57> DW_AT_type : <0x70> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 95 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x17a): ss_size + <65> DW_AT_type : <0x77> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 96 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 0 + <1><6f>: Abbrev Number: 6 (DW_TAG_pointer_type) + <1><70>: Abbrev Number: 7 (DW_TAG_base_type) + <71> DW_AT_name : (indirect string, offset: 0x176): int + <75> DW_AT_encoding : 5 (signed) + <76> DW_AT_byte_size : 4 + <1><77>: Abbrev Number: 3 (DW_TAG_typedef) + <78> DW_AT_type : <0x82> + <7c> DW_AT_name : (indirect string, offset: 0x18f): size_t + <80> DW_AT_decl_file : 2 + <81> DW_AT_decl_line : 62 + <1><82>: Abbrev Number: 7 (DW_TAG_base_type) + <83> DW_AT_name : (indirect string, offset: 0x182): unsigned int + <87> DW_AT_encoding : 7 (unsigned) + <88> DW_AT_byte_size : 4 + <1><89>: Abbrev Number: 0 diff --git a/mpers-m32/stack_t.d2 b/mpers-m32/stack_t.d2 index 0890371e..d9598d35 100644 --- a/mpers-m32/stack_t.d2 +++ b/mpers-m32/stack_t.d2 @@ -1,59 +1,59 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8c): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x156): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xd8): stack_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1a2): stack_t DW_AT_decl_file : 1 DW_AT_decl_line : 97 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xcc): sigaltstack +DW_AT_name : (indirect string, offset: 0x196): sigaltstack DW_AT_byte_size : 12 DW_AT_decl_file : 1 DW_AT_decl_line : 93 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x9d): ss_sp -DW_AT_type : <0x6e> +DW_AT_name : (indirect string, offset: 0x167): ss_sp +DW_AT_type : <0x6f> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa3): ss_flags -DW_AT_type : <0x6f> +DW_AT_name : (indirect string, offset: 0x16d): ss_flags +DW_AT_type : <0x70> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb0): ss_size -DW_AT_type : <0x76> +DW_AT_name : (indirect string, offset: 0x17a): ss_size +DW_AT_type : <0x77> 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: 6 (DW_TAG_pointer_type) +<1><70> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xac): int +DW_AT_name : (indirect string, offset: 0x176): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><76> +<1><77> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x81> -DW_AT_name : (indirect string, offset: 0xc5): size_t +DW_AT_type : <0x82> +DW_AT_name : (indirect string, offset: 0x18f): size_t DW_AT_decl_file : 2 DW_AT_decl_line : 62 -<1><81> +<1><82> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb8): unsigned int +DW_AT_name : (indirect string, offset: 0x182): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 diff --git a/mpers-m32/strace_aio_sigset.c b/mpers-m32/strace_aio_sigset.c new file mode 100644 index 00000000..6537f4cc --- /dev/null +++ b/mpers-m32/strace_aio_sigset.c @@ -0,0 +1,36 @@ +/* + * 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" + + +typedef struct { + sigset_t *sigmask; + size_t sigsetsize; +} strace_aio_sigset; + +strace_aio_sigset mpers_target_var; diff --git a/mpers-m32/strace_aio_sigset.d1 b/mpers-m32/strace_aio_sigset.d1 new file mode 100644 index 00000000..d4d229f9 --- /dev/null +++ b/mpers-m32/strace_aio_sigset.d1 @@ -0,0 +1,87 @@ +Contents of the .debug_info section: + + Compilation Unit @ offset 0x0: + Length: 0xaa (32-bit) + Version: 2 + Abbrev Offset: 0x0 + Pointer Size: 4 + <0>: Abbrev Number: 1 (DW_TAG_compile_unit) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) + <10> DW_AT_language : 12 (ANSI C99) + <12> DW_AT_name : (indirect string, offset: 0x107): mpers-m32/strace_aio_sigset.c + <16> DW_AT_stmt_list : 0x0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x125): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x160): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 2 + <2a> DW_AT_decl_line : 36 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1c0): strace_aio_sigset + <3a> DW_AT_decl_file : 2 + <3b> DW_AT_decl_line : 34 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_byte_size : 8 + <3e> DW_AT_decl_file : 2 + <3f> DW_AT_decl_line : 31 + <2><40>: Abbrev Number: 5 (DW_TAG_member) + <41> DW_AT_name : (indirect string, offset: 0x171): sigmask + <45> DW_AT_type : <0x5d> + <49> DW_AT_decl_file : 2 + <4a> DW_AT_decl_line : 32 + <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: 0x1a1): sigsetsize + <53> DW_AT_type : <0x9b> + <57> DW_AT_decl_file : 2 + <58> DW_AT_decl_line : 33 + <59> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><5c>: Abbrev Number: 0 + <1><5d>: Abbrev Number: 6 (DW_TAG_pointer_type) + <5e> DW_AT_type : <0x62> + <1><62>: Abbrev Number: 3 (DW_TAG_typedef) + <63> DW_AT_type : <0x6d> + <67> DW_AT_name : (indirect string, offset: 0x198): sigset_t + <6b> DW_AT_decl_file : 1 + <6c> DW_AT_decl_line : 79 + <1><6d>: Abbrev Number: 4 (DW_TAG_structure_type) + <6e> DW_AT_byte_size : 4 + <6f> DW_AT_decl_file : 1 + <70> DW_AT_decl_line : 77 + <2><71>: Abbrev Number: 5 (DW_TAG_member) + <72> DW_AT_name : (indirect string, offset: 0x179): sig + <76> DW_AT_type : <0x80> + <7a> DW_AT_decl_file : 1 + <7b> DW_AT_decl_line : 78 + <7c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><7f>: Abbrev Number: 0 + <1><80>: Abbrev Number: 7 (DW_TAG_array_type) + <81> DW_AT_type : <0x8d> + <2><85>: Abbrev Number: 8 (DW_TAG_subrange_type) + <86> DW_AT_type : <0x94> + <8a> DW_AT_lower_bound : 0 + <8b> DW_AT_count : 1 + <2><8c>: Abbrev Number: 0 + <1><8d>: Abbrev Number: 9 (DW_TAG_base_type) + <8e> DW_AT_name : (indirect string, offset: 0x17d): long unsigned int + <92> DW_AT_encoding : 7 (unsigned) + <93> DW_AT_byte_size : 4 + <1><94>: Abbrev Number: 10 (DW_TAG_base_type) + <95> DW_AT_name : (indirect string, offset: 0x18f): sizetype + <99> DW_AT_byte_size : 8 + <9a> DW_AT_encoding : 7 (unsigned) + <1><9b>: Abbrev Number: 3 (DW_TAG_typedef) + <9c> DW_AT_type : <0xa6> + DW_AT_name : (indirect string, offset: 0x1b9): size_t + DW_AT_decl_file : 3 + DW_AT_decl_line : 62 + <1>: Abbrev Number: 9 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1ac): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 0 + diff --git a/mpers-m32/strace_aio_sigset.d2 b/mpers-m32/strace_aio_sigset.d2 new file mode 100644 index 00000000..96e7f580 --- /dev/null +++ b/mpers-m32/strace_aio_sigset.d2 @@ -0,0 +1,83 @@ +<1><1f> +Abbrev Number: 2 (DW_TAG_variable) +DW_AT_name : (indirect string, offset: 0x160): mpers_target_var +DW_AT_type : <0x31> +DW_AT_external : 1 +DW_AT_decl_file : 2 +DW_AT_decl_line : 36 +DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) +<1><31> +Abbrev Number: 3 (DW_TAG_typedef) +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1c0): strace_aio_sigset +DW_AT_decl_file : 2 +DW_AT_decl_line : 34 +<1><3c> +Abbrev Number: 4 (DW_TAG_structure_type) +DW_AT_byte_size : 8 +DW_AT_decl_file : 2 +DW_AT_decl_line : 31 +<2><40> +Abbrev Number: 5 (DW_TAG_member) +DW_AT_name : (indirect string, offset: 0x171): sigmask +DW_AT_type : <0x5d> +DW_AT_decl_file : 2 +DW_AT_decl_line : 32 +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: 0x1a1): sigsetsize +DW_AT_type : <0x9b> +DW_AT_decl_file : 2 +DW_AT_decl_line : 33 +DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) +<1><5d> +Abbrev Number: 6 (DW_TAG_pointer_type) +DW_AT_type : <0x62> +<1><62> +Abbrev Number: 3 (DW_TAG_typedef) +DW_AT_type : <0x6d> +DW_AT_name : (indirect string, offset: 0x198): sigset_t +DW_AT_decl_file : 1 +DW_AT_decl_line : 79 +<1><6d> +Abbrev Number: 4 (DW_TAG_structure_type) +DW_AT_byte_size : 4 +DW_AT_decl_file : 1 +DW_AT_decl_line : 77 +<2><71> +Abbrev Number: 5 (DW_TAG_member) +DW_AT_name : (indirect string, offset: 0x179): sig +DW_AT_type : <0x80> +DW_AT_decl_file : 1 +DW_AT_decl_line : 78 +DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) +<1><80> +Abbrev Number: 7 (DW_TAG_array_type) +DW_AT_type : <0x8d> +<2><85> +Abbrev Number: 8 (DW_TAG_subrange_type) +DW_AT_type : <0x94> +DW_AT_lower_bound : 0 +DW_AT_count : 1 +<1><8d> +Abbrev Number: 9 (DW_TAG_base_type) +DW_AT_name : (indirect string, offset: 0x17d): long unsigned int +DW_AT_encoding : 7 (unsigned) +DW_AT_byte_size : 4 +<1><94> +Abbrev Number: 10 (DW_TAG_base_type) +DW_AT_name : (indirect string, offset: 0x18f): sizetype +DW_AT_byte_size : 8 +DW_AT_encoding : 7 (unsigned) +<1><9b> +Abbrev Number: 3 (DW_TAG_typedef) +DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x1b9): size_t +DW_AT_decl_file : 3 +DW_AT_decl_line : 62 +<1> +Abbrev Number: 9 (DW_TAG_base_type) +DW_AT_name : (indirect string, offset: 0x1ac): unsigned int +DW_AT_encoding : 7 (unsigned) +DW_AT_byte_size : 4 diff --git a/mpers-m32/strace_aio_sigset.h b/mpers-m32/strace_aio_sigset.h new file mode 100644 index 00000000..30c1f1ed --- /dev/null +++ b/mpers-m32/strace_aio_sigset.h @@ -0,0 +1,11 @@ +#include +#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 sigmask; +uint32_t sigsetsize; +} ATTRIBUTE_PACKED m32_strace_aio_sigset; +#define MPERS_m32_strace_aio_sigset m32_strace_aio_sigset diff --git a/mpers-m32/struct_blk_user_trace_setup.d1 b/mpers-m32/struct_blk_user_trace_setup.d1 index 2612d986..2da14e25 100644 --- a/mpers-m32/struct_blk_user_trace_setup.d1 +++ b/mpers-m32/struct_blk_user_trace_setup.d1 @@ -1,132 +1,133 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x115 (32-bit) + Length: 0x116 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_blk_user_trace_setup.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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) - <2>: Abbrev Number: 0 - <1>: Abbrev Number: 6 (DW_TAG_array_type) - DW_AT_type : <0xb3> - <2>: Abbrev Number: 7 (DW_TAG_subrange_type) - DW_AT_type : <0xba> - DW_AT_lower_bound : 0 - DW_AT_count : 32 - <2>: Abbrev Number: 0 - <1>: 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>: 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>: 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>: 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>: 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>: 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>: 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>: 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>: Abbrev Number: 3 (DW_TAG_typedef) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x12f): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x16a): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 1 + <2a> DW_AT_decl_line : 65 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x241): struct_blk_user_trace_setup + <3a> DW_AT_decl_file : 1 + <3b> DW_AT_decl_line : 63 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x22c): blk_user_trace_setup + <41> DW_AT_byte_size : 72 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 55 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x17b): name + <49> DW_AT_type : <0xa7> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 56 + <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: 0x18e): act_mask + <57> DW_AT_type : <0xc2> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 57 + <5d> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x1ba): buf_size + <65> DW_AT_type : <0xdf> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 58 + <6b> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1e4): buf_nr + <73> DW_AT_type : <0xdf> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 59 + <79> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1eb): start_lba + <81> DW_AT_type : <0xfc> + <85> DW_AT_decl_file : 1 + <86> DW_AT_decl_line : 60 + <87> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x220): end_lba + <8f> DW_AT_type : <0xfc> + <93> DW_AT_decl_file : 1 + <94> DW_AT_decl_line : 61 + <95> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x228): pid + <9d> DW_AT_type : <0xdf> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_array_type) + DW_AT_type : <0xb4> + <2>: Abbrev Number: 7 (DW_TAG_subrange_type) + DW_AT_type : <0xbb> + DW_AT_lower_bound : 0 + DW_AT_count : 32 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x180): char + DW_AT_encoding : 8 (unsigned char) + DW_AT_byte_size : 1 + <1>: Abbrev Number: 9 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x185): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xcd> + DW_AT_name : (indirect string, offset: 0x1b1): uint16_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 62 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xd8> + DW_AT_name : (indirect string, offset: 0x1a6): __uint16_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 39 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x197): unsigned short +
DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 2 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xea> + DW_AT_name : (indirect string, offset: 0x1db): uint32_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 65 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xf5> + DW_AT_name : (indirect string, offset: 0x1d0): __uint32_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 41 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1c3): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0x107> + <101> DW_AT_name : (indirect string, offset: 0x217): uint64_t + <105> DW_AT_decl_file : 2 + <106> DW_AT_decl_line : 68 + <1><107>: Abbrev Number: 3 (DW_TAG_typedef) + <108> DW_AT_type : <0x112> + <10c> DW_AT_name : (indirect string, offset: 0x20c): __uint64_t + <110> DW_AT_decl_file : 2 + <111> DW_AT_decl_line : 47 + <1><112>: Abbrev Number: 8 (DW_TAG_base_type) + <113> DW_AT_name : (indirect string, offset: 0x1f5): long long unsigned int + <117> DW_AT_encoding : 7 (unsigned) + <118> DW_AT_byte_size : 8 + <1><119>: Abbrev Number: 0 diff --git a/mpers-m32/struct_blk_user_trace_setup.d2 b/mpers-m32/struct_blk_user_trace_setup.d2 index 72a56f12..54865147 100644 --- a/mpers-m32/struct_blk_user_trace_setup.d2 +++ b/mpers-m32/struct_blk_user_trace_setup.d2 @@ -1,138 +1,138 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0xa0): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x16a): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x177): struct_blk_user_trace_setup +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x241): struct_blk_user_trace_setup DW_AT_decl_file : 1 DW_AT_decl_line : 63 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x162): blk_user_trace_setup +DW_AT_name : (indirect string, offset: 0x22c): blk_user_trace_setup DW_AT_byte_size : 72 DW_AT_decl_file : 1 DW_AT_decl_line : 55 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb1): name -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x17b): name +DW_AT_type : <0xa7> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc4): act_mask -DW_AT_type : <0xc1> +DW_AT_name : (indirect string, offset: 0x18e): act_mask +DW_AT_type : <0xc2> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf0): buf_size -DW_AT_type : <0xde> +DW_AT_name : (indirect string, offset: 0x1ba): buf_size +DW_AT_type : <0xdf> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11a): buf_nr -DW_AT_type : <0xde> +DW_AT_name : (indirect string, offset: 0x1e4): buf_nr +DW_AT_type : <0xdf> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x121): start_lba -DW_AT_type : <0xfb> +DW_AT_name : (indirect string, offset: 0x1eb): start_lba +DW_AT_type : <0xfc> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x156): end_lba -DW_AT_type : <0xfb> +DW_AT_name : (indirect string, offset: 0x220): end_lba +DW_AT_type : <0xfc> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15e): pid -DW_AT_type : <0xde> +DW_AT_name : (indirect string, offset: 0x228): pid +DW_AT_type : <0xdf> 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> +<1> Abbrev Number: 6 (DW_TAG_array_type) -DW_AT_type : <0xb3> -<2> +DW_AT_type : <0xb4> +<2> Abbrev Number: 7 (DW_TAG_subrange_type) -DW_AT_type : <0xba> +DW_AT_type : <0xbb> DW_AT_lower_bound : 0 DW_AT_count : 32 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb6): char +DW_AT_name : (indirect string, offset: 0x180): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1> +<1> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xbb): sizetype +DW_AT_name : (indirect string, offset: 0x185): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xcc> -DW_AT_name : (indirect string, offset: 0xe7): uint16_t +DW_AT_type : <0xcd> +DW_AT_name : (indirect string, offset: 0x1b1): uint16_t DW_AT_decl_file : 2 DW_AT_decl_line : 62 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xd7> -DW_AT_name : (indirect string, offset: 0xdc): __uint16_t +DW_AT_type : <0xd8> +DW_AT_name : (indirect string, offset: 0x1a6): __uint16_t DW_AT_decl_file : 2 DW_AT_decl_line : 39 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xcd): unsigned short +DW_AT_name : (indirect string, offset: 0x197): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xe9> -DW_AT_name : (indirect string, offset: 0x111): uint32_t +DW_AT_type : <0xea> +DW_AT_name : (indirect string, offset: 0x1db): uint32_t DW_AT_decl_file : 2 DW_AT_decl_line : 65 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xf4> -DW_AT_name : (indirect string, offset: 0x106): __uint32_t +DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1d0): __uint32_t DW_AT_decl_file : 2 DW_AT_decl_line : 41 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xf9): unsigned int +DW_AT_name : (indirect string, offset: 0x1c3): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x106> -DW_AT_name : (indirect string, offset: 0x14d): uint64_t +DW_AT_type : <0x107> +DW_AT_name : (indirect string, offset: 0x217): uint64_t DW_AT_decl_file : 2 DW_AT_decl_line : 68 -<1><106> +<1><107> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x111> -DW_AT_name : (indirect string, offset: 0x142): __uint64_t +DW_AT_type : <0x112> +DW_AT_name : (indirect string, offset: 0x20c): __uint64_t DW_AT_decl_file : 2 DW_AT_decl_line : 47 -<1><111> +<1><112> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x12b): long long unsigned int +DW_AT_name : (indirect string, offset: 0x1f5): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 diff --git a/mpers-m32/struct_blkpg_ioctl_arg.d1 b/mpers-m32/struct_blkpg_ioctl_arg.d1 index 08c96a7a..e733c619 100644 --- a/mpers-m32/struct_blkpg_ioctl_arg.d1 +++ b/mpers-m32/struct_blkpg_ioctl_arg.d1 @@ -1,61 +1,62 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x7d (32-bit) + Length: 0x7e (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_blkpg_ioctl_arg.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x12a): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x165): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 1 + <2a> DW_AT_decl_line : 65 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x190): struct_blkpg_ioctl_arg + <3a> DW_AT_decl_file : 1 + <3b> DW_AT_decl_line : 41 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_byte_size : 16 + <3e> DW_AT_decl_file : 1 + <3f> DW_AT_decl_line : 36 + <2><40>: Abbrev Number: 5 (DW_TAG_member) + <41> DW_AT_name : (indirect string, offset: 0x176): op + <45> DW_AT_type : <0x79> + <49> DW_AT_decl_file : 1 + <4a> DW_AT_decl_line : 37 + <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: 0x17d): flags + <53> DW_AT_type : <0x79> + <57> DW_AT_decl_file : 1 + <58> DW_AT_decl_line : 38 + <59> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><5c>: Abbrev Number: 5 (DW_TAG_member) + <5d> DW_AT_name : (indirect string, offset: 0x183): datalen + <61> DW_AT_type : <0x79> + <65> DW_AT_decl_file : 1 + <66> DW_AT_decl_line : 39 + <67> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6a>: Abbrev Number: 5 (DW_TAG_member) + <6b> DW_AT_name : (indirect string, offset: 0x18b): data + <6f> DW_AT_type : <0x80> + <73> DW_AT_decl_file : 1 + <74> DW_AT_decl_line : 40 + <75> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><78>: Abbrev Number: 0 + <1><79>: Abbrev Number: 6 (DW_TAG_base_type) + <7a> DW_AT_name : (indirect string, offset: 0x179): int + <7e> DW_AT_encoding : 5 (signed) + <7f> DW_AT_byte_size : 4 + <1><80>: Abbrev Number: 7 (DW_TAG_pointer_type) + <1><81>: Abbrev Number: 0 diff --git a/mpers-m32/struct_blkpg_ioctl_arg.d2 b/mpers-m32/struct_blkpg_ioctl_arg.d2 index 78211cf7..8063ebe5 100644 --- a/mpers-m32/struct_blkpg_ioctl_arg.d2 +++ b/mpers-m32/struct_blkpg_ioctl_arg.d2 @@ -1,54 +1,54 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x9b): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x165): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xc6): struct_blkpg_ioctl_arg +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x190): struct_blkpg_ioctl_arg DW_AT_decl_file : 1 DW_AT_decl_line : 41 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) DW_AT_byte_size : 16 DW_AT_decl_file : 1 DW_AT_decl_line : 36 -<2><3f> +<2><40> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xac): op -DW_AT_type : <0x78> +DW_AT_name : (indirect string, offset: 0x176): op +DW_AT_type : <0x79> 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> +<2><4e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb3): flags -DW_AT_type : <0x78> +DW_AT_name : (indirect string, offset: 0x17d): flags +DW_AT_type : <0x79> 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> +<2><5c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb9): datalen -DW_AT_type : <0x78> +DW_AT_name : (indirect string, offset: 0x183): datalen +DW_AT_type : <0x79> 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> +<2><6a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc1): data -DW_AT_type : <0x7f> +DW_AT_name : (indirect string, offset: 0x18b): data +DW_AT_type : <0x80> 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> +<1><79> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xaf): int +DW_AT_name : (indirect string, offset: 0x179): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><7f> +<1><80> Abbrev Number: 7 (DW_TAG_pointer_type) diff --git a/mpers-m32/struct_blkpg_partition.d1 b/mpers-m32/struct_blkpg_partition.d1 index 7d2243d4..65f42f62 100644 --- a/mpers-m32/struct_blkpg_partition.d1 +++ b/mpers-m32/struct_blkpg_partition.d1 @@ -1,95 +1,96 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xc2 (32-bit) + Length: 0xc3 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_blkpg_partition.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - DW_AT_encoding : 5 (signed) - DW_AT_byte_size : 8 - <1>: 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>: Abbrev Number: 7 (DW_TAG_array_type) - DW_AT_type : <0xb7> - <2>: Abbrev Number: 8 (DW_TAG_subrange_type) - DW_AT_type : <0xbe> - DW_AT_lower_bound : 0 - DW_AT_count : 64 - <2>: Abbrev Number: 0 - <1>: 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>: 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) - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x12a): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x165): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 2 + <2a> DW_AT_decl_line : 65 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1c9): struct_blkpg_partition + <3a> DW_AT_decl_file : 2 + <3b> DW_AT_decl_line : 52 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_byte_size : 152 + <3e> DW_AT_decl_file : 2 + <3f> DW_AT_decl_line : 45 + <2><40>: Abbrev Number: 5 (DW_TAG_member) + <41> DW_AT_name : (indirect string, offset: 0x176): start + <45> DW_AT_type : <0x87> + <49> DW_AT_decl_file : 2 + <4a> DW_AT_decl_line : 46 + <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: 0x19c): length + <53> DW_AT_type : <0x87> + <57> DW_AT_decl_file : 2 + <58> DW_AT_decl_line : 47 + <59> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><5c>: Abbrev Number: 5 (DW_TAG_member) + <5d> DW_AT_name : (indirect string, offset: 0x1a3): pno + <61> DW_AT_type : <0xa4> + <65> DW_AT_decl_file : 2 + <66> DW_AT_decl_line : 48 + <67> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><6a>: Abbrev Number: 5 (DW_TAG_member) + <6b> DW_AT_name : (indirect string, offset: 0x1ab): devname + <6f> DW_AT_type : <0xab> + <73> DW_AT_decl_file : 2 + <74> DW_AT_decl_line : 49 + <75> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><78>: Abbrev Number: 5 (DW_TAG_member) + <79> DW_AT_name : (indirect string, offset: 0x1c1): volname + <7d> DW_AT_type : <0xab> + <81> DW_AT_decl_file : 2 + <82> DW_AT_decl_line : 51 + <83> DW_AT_data_member_location: 2 byte block: 23 54 (DW_OP_plus_uconst: 84) + <2><86>: Abbrev Number: 0 + <1><87>: Abbrev Number: 3 (DW_TAG_typedef) + <88> DW_AT_type : <0x92> + <8c> DW_AT_name : (indirect string, offset: 0x194): int64_t + <90> DW_AT_decl_file : 1 + <91> DW_AT_decl_line : 67 + <1><92>: Abbrev Number: 3 (DW_TAG_typedef) + <93> DW_AT_type : <0x9d> + <97> DW_AT_name : (indirect string, offset: 0x18a): __int64_t + <9b> DW_AT_decl_file : 1 + <9c> DW_AT_decl_line : 46 + <1><9d>: Abbrev Number: 6 (DW_TAG_base_type) + <9e> DW_AT_name : (indirect string, offset: 0x17c): long long int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 8 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1a7): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 7 (DW_TAG_array_type) + DW_AT_type : <0xb8> + <2>: Abbrev Number: 8 (DW_TAG_subrange_type) + DW_AT_type : <0xbf> + DW_AT_lower_bound : 0 + DW_AT_count : 64 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1b3): char + DW_AT_encoding : 8 (unsigned char) + DW_AT_byte_size : 1 + <1>: Abbrev Number: 9 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1b8): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>: Abbrev Number: 0 diff --git a/mpers-m32/struct_blkpg_partition.d2 b/mpers-m32/struct_blkpg_partition.d2 index eecf8465..d7e9cff3 100644 --- a/mpers-m32/struct_blkpg_partition.d2 +++ b/mpers-m32/struct_blkpg_partition.d2 @@ -1,94 +1,94 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x9b): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x165): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xff): struct_blkpg_partition +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1c9): struct_blkpg_partition DW_AT_decl_file : 2 DW_AT_decl_line : 52 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) DW_AT_byte_size : 152 DW_AT_decl_file : 2 DW_AT_decl_line : 45 -<2><3f> +<2><40> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xac): start -DW_AT_type : <0x86> +DW_AT_name : (indirect string, offset: 0x176): start +DW_AT_type : <0x87> 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> +<2><4e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd2): length -DW_AT_type : <0x86> +DW_AT_name : (indirect string, offset: 0x19c): length +DW_AT_type : <0x87> 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> +<2><5c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd9): pno -DW_AT_type : <0xa3> +DW_AT_name : (indirect string, offset: 0x1a3): pno +DW_AT_type : <0xa4> 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> +<2><6a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe1): devname -DW_AT_type : <0xaa> +DW_AT_name : (indirect string, offset: 0x1ab): devname +DW_AT_type : <0xab> 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> +<2><78> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf7): volname -DW_AT_type : <0xaa> +DW_AT_name : (indirect string, offset: 0x1c1): volname +DW_AT_type : <0xab> 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> +<1><87> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x91> -DW_AT_name : (indirect string, offset: 0xca): int64_t +DW_AT_type : <0x92> +DW_AT_name : (indirect string, offset: 0x194): int64_t DW_AT_decl_file : 1 DW_AT_decl_line : 67 -<1><91> +<1><92> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x9c> -DW_AT_name : (indirect string, offset: 0xc0): __int64_t +DW_AT_type : <0x9d> +DW_AT_name : (indirect string, offset: 0x18a): __int64_t DW_AT_decl_file : 1 DW_AT_decl_line : 46 -<1><9c> +<1><9d> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb2): long long int +DW_AT_name : (indirect string, offset: 0x17c): long long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 8 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xdd): int +DW_AT_name : (indirect string, offset: 0x1a7): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0xb7> -<2> +DW_AT_type : <0xb8> +<2> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0xbe> +DW_AT_type : <0xbf> DW_AT_lower_bound : 0 DW_AT_count : 64 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe9): char +DW_AT_name : (indirect string, offset: 0x1b3): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1> +<1> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xee): sizetype +DW_AT_name : (indirect string, offset: 0x1b8): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) diff --git a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1 b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1 index 9e4477f6..9ba90add 100644 --- a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1 +++ b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1 @@ -1,181 +1,182 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x17f (32-bit) + Length: 0x180 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_btrfs_ioctl_dev_replace_args.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - DW_AT_name : (indirect string, offset: 0xd4): __u64 - DW_AT_decl_file : 1 - DW_AT_decl_line : 31 - <1>: 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>: 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>: 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>: 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>: 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>: 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) - <2>: Abbrev Number: 0 - <1>: Abbrev Number: 9 (DW_TAG_array_type) - DW_AT_type : <0xff> - <2>: Abbrev Number: 10 (DW_TAG_subrange_type) - DW_AT_type : <0x111> - DW_AT_lower_bound : 0 - DW_AT_count : 1025 - <2>: Abbrev Number: 0 - <1>: 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x137): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x172): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 47 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x2e6): struct_btrfs_ioctl_dev_replace_args + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 37 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x2c9): btrfs_ioctl_dev_replace_args + <41> DW_AT_byte_size : 2600 + <43> DW_AT_decl_file : 2 + <44> DW_AT_decl_line : 137 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x183): cmd + <4a> DW_AT_type : <0x9d> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 138 + <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: 0x1a4): result + <58> DW_AT_type : <0x9d> + <5c> DW_AT_decl_file : 2 + <5d> DW_AT_decl_line : 139 + <5e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><61>: Abbrev Number: 6 (DW_TAG_member) + <62> DW_AT_type : <0x6b> + <66> DW_AT_decl_file : 2 + <67> DW_AT_decl_line : 140 + <68> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><6b>: Abbrev Number: 7 (DW_TAG_union_type) + <6c> DW_AT_byte_size : 2072 + <6e> DW_AT_decl_file : 2 + <6f> DW_AT_decl_line : 140 + <3><70>: Abbrev Number: 5 (DW_TAG_member) + <71> DW_AT_name : (indirect string, offset: 0x1ab): start + <75> DW_AT_type : <0xaf> + <79> DW_AT_decl_file : 2 + <7a> DW_AT_decl_line : 141 + <7b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><7e>: Abbrev Number: 5 (DW_TAG_member) + <7f> DW_AT_name : (indirect string, offset: 0x231): status + <83> DW_AT_type : <0x119> + <87> DW_AT_decl_file : 2 + <88> DW_AT_decl_line : 142 + <89> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><8c>: Abbrev Number: 0 + <2><8d>: Abbrev Number: 5 (DW_TAG_member) + <8e> DW_AT_name : (indirect string, offset: 0x2c3): spare + <92> DW_AT_type : <0x176> + <96> DW_AT_decl_file : 2 + <97> DW_AT_decl_line : 144 + <98> DW_AT_data_member_location: 3 byte block: 23 a8 10 (DW_OP_plus_uconst: 2088) + <2><9c>: Abbrev Number: 0 + <1><9d>: Abbrev Number: 3 (DW_TAG_typedef) + <9e> DW_AT_type : <0xa8> + DW_AT_name : (indirect string, offset: 0x19e): __u64 + DW_AT_decl_file : 1 + DW_AT_decl_line : 31 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x187): long long unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 8 + <1>: Abbrev Number: 4 (DW_TAG_structure_type) + DW_AT_name : (indirect string, offset: 0x20c): btrfs_ioctl_dev_replace_start_params + DW_AT_byte_size : 2072 + DW_AT_decl_file : 2 + DW_AT_decl_line : 111 + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1b1): srcdevid + DW_AT_type : <0x9d> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ba): cont_reading_from_srcdev_mode + DW_AT_type : <0x9d> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1d8): srcdev_name + DW_AT_type : <0xf2> +
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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x200): tgtdev_name + DW_AT_type : <0xf2> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 9 (DW_TAG_array_type) + DW_AT_type : <0x100> + <2>: Abbrev Number: 10 (DW_TAG_subrange_type) + DW_AT_type : <0x112> + DW_AT_lower_bound : 0 + DW_AT_count : 1025 + <2>: Abbrev Number: 0 + <1><100>: Abbrev Number: 3 (DW_TAG_typedef) + <101> DW_AT_type : <0x10b> + <105> DW_AT_name : (indirect string, offset: 0x1f2): __u8 + <109> DW_AT_decl_file : 1 + <10a> DW_AT_decl_line : 24 + <1><10b>: Abbrev Number: 8 (DW_TAG_base_type) + <10c> DW_AT_name : (indirect string, offset: 0x1e4): unsigned char + <110> DW_AT_encoding : 8 (unsigned char) + <111> DW_AT_byte_size : 1 + <1><112>: Abbrev Number: 11 (DW_TAG_base_type) + <113> DW_AT_name : (indirect string, offset: 0x1f7): sizetype + <117> DW_AT_byte_size : 8 + <118> DW_AT_encoding : 7 (unsigned) + <1><119>: Abbrev Number: 12 (DW_TAG_structure_type) + <11a> DW_AT_name : (indirect string, offset: 0x29d): btrfs_ioctl_dev_replace_status_params + <11e> DW_AT_byte_size : 48 + <11f> DW_AT_decl_file : 2 + <120> DW_AT_decl_line : 122 + <2><121>: Abbrev Number: 5 (DW_TAG_member) + <122> DW_AT_name : (indirect string, offset: 0x238): replace_state + <126> DW_AT_type : <0x9d> + <12a> DW_AT_decl_file : 2 + <12b> DW_AT_decl_line : 123 + <12c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><12f>: Abbrev Number: 5 (DW_TAG_member) + <130> DW_AT_name : (indirect string, offset: 0x246): progress_1000 + <134> DW_AT_type : <0x9d> + <138> DW_AT_decl_file : 2 + <139> DW_AT_decl_line : 124 + <13a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><13d>: Abbrev Number: 5 (DW_TAG_member) + <13e> DW_AT_name : (indirect string, offset: 0x254): time_started + <142> DW_AT_type : <0x9d> + <146> DW_AT_decl_file : 2 + <147> DW_AT_decl_line : 125 + <148> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><14b>: Abbrev Number: 5 (DW_TAG_member) + <14c> DW_AT_name : (indirect string, offset: 0x261): time_stopped + <150> DW_AT_type : <0x9d> + <154> DW_AT_decl_file : 2 + <155> DW_AT_decl_line : 126 + <156> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><159>: Abbrev Number: 5 (DW_TAG_member) + <15a> DW_AT_name : (indirect string, offset: 0x26e): num_write_errors + <15e> DW_AT_type : <0x9d> + <162> DW_AT_decl_file : 2 + <163> DW_AT_decl_line : 127 + <164> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><167>: Abbrev Number: 5 (DW_TAG_member) + <168> DW_AT_name : (indirect string, offset: 0x27f): num_uncorrectable_read_errors + <16c> DW_AT_type : <0x9d> + <170> DW_AT_decl_file : 2 + <171> DW_AT_decl_line : 128 + <172> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) + <2><175>: Abbrev Number: 0 + <1><176>: Abbrev Number: 9 (DW_TAG_array_type) + <177> DW_AT_type : <0x9d> + <2><17b>: Abbrev Number: 13 (DW_TAG_subrange_type) + <17c> DW_AT_type : <0x112> + <180> DW_AT_lower_bound : 0 + <181> DW_AT_count : 64 + <2><182>: Abbrev Number: 0 + <1><183>: 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 index db709b85..c7bdfb61 100644 --- a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2 +++ b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2 @@ -1,191 +1,191 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0xa8): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x172): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> 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_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x2e6): struct_btrfs_ioctl_dev_replace_args DW_AT_decl_file : 3 DW_AT_decl_line : 37 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1ff): btrfs_ioctl_dev_replace_args +DW_AT_name : (indirect string, offset: 0x2c9): btrfs_ioctl_dev_replace_args DW_AT_byte_size : 2600 DW_AT_decl_file : 2 DW_AT_decl_line : 137 -<2><44> +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb9): cmd -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x183): cmd +DW_AT_type : <0x9d> 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> +<2><53> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xda): result -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x1a4): result +DW_AT_type : <0x9d> 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> +<2><61> Abbrev Number: 6 (DW_TAG_member) -DW_AT_type : <0x6a> +DW_AT_type : <0x6b> 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> +<2><6b> Abbrev Number: 7 (DW_TAG_union_type) DW_AT_byte_size : 2072 DW_AT_decl_file : 2 DW_AT_decl_line : 140 -<3><6f> +<3><70> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe1): start -DW_AT_type : <0xae> +DW_AT_name : (indirect string, offset: 0x1ab): start +DW_AT_type : <0xaf> 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> +<3><7e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x167): status -DW_AT_type : <0x118> +DW_AT_name : (indirect string, offset: 0x231): status +DW_AT_type : <0x119> 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> +<2><8d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f9): spare -DW_AT_type : <0x175> +DW_AT_name : (indirect string, offset: 0x2c3): spare +DW_AT_type : <0x176> 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> +<1><9d> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xa7> -DW_AT_name : (indirect string, offset: 0xd4): __u64 +DW_AT_type : <0xa8> +DW_AT_name : (indirect string, offset: 0x19e): __u64 DW_AT_decl_file : 1 DW_AT_decl_line : 31 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xbd): long long unsigned int +DW_AT_name : (indirect string, offset: 0x187): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 -<1> +<1> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x142): btrfs_ioctl_dev_replace_start_params +DW_AT_name : (indirect string, offset: 0x20c): btrfs_ioctl_dev_replace_start_params DW_AT_byte_size : 2072 DW_AT_decl_file : 2 DW_AT_decl_line : 111 -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe7): srcdevid -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x1b1): srcdevid +DW_AT_type : <0x9d> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf0): cont_reading_from_srcdev_mode -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x1ba): cont_reading_from_srcdev_mode +DW_AT_type : <0x9d> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10e): srcdev_name -DW_AT_type : <0xf1> +DW_AT_name : (indirect string, offset: 0x1d8): srcdev_name +DW_AT_type : <0xf2> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x136): tgtdev_name -DW_AT_type : <0xf1> +DW_AT_name : (indirect string, offset: 0x200): tgtdev_name +DW_AT_type : <0xf2> 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> +<1> Abbrev Number: 9 (DW_TAG_array_type) -DW_AT_type : <0xff> -<2> +DW_AT_type : <0x100> +<2> Abbrev Number: 10 (DW_TAG_subrange_type) -DW_AT_type : <0x111> +DW_AT_type : <0x112> DW_AT_lower_bound : 0 DW_AT_count : 1025 -<1> +<1><100> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x10a> -DW_AT_name : (indirect string, offset: 0x128): __u8 +DW_AT_type : <0x10b> +DW_AT_name : (indirect string, offset: 0x1f2): __u8 DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1><10a> +<1><10b> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x11a): unsigned char +DW_AT_name : (indirect string, offset: 0x1e4): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><111> +<1><112> Abbrev Number: 11 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x12d): sizetype +DW_AT_name : (indirect string, offset: 0x1f7): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><118> +<1><119> Abbrev Number: 12 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1d3): btrfs_ioctl_dev_replace_status_params +DW_AT_name : (indirect string, offset: 0x29d): btrfs_ioctl_dev_replace_status_params DW_AT_byte_size : 48 DW_AT_decl_file : 2 DW_AT_decl_line : 122 -<2><120> +<2><121> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x16e): replace_state -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x238): replace_state +DW_AT_type : <0x9d> 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> +<2><12f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17c): progress_1000 -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x246): progress_1000 +DW_AT_type : <0x9d> 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> +<2><13d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x18a): time_started -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x254): time_started +DW_AT_type : <0x9d> 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> +<2><14b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x197): time_stopped -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x261): time_stopped +DW_AT_type : <0x9d> 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> +<2><159> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1a4): num_write_errors -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x26e): num_write_errors +DW_AT_type : <0x9d> 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> +<2><167> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1b5): num_uncorrectable_read_errors -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x27f): num_uncorrectable_read_errors +DW_AT_type : <0x9d> 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> +<1><176> Abbrev Number: 9 (DW_TAG_array_type) -DW_AT_type : <0x9c> -<2><17a> +DW_AT_type : <0x9d> +<2><17b> Abbrev Number: 13 (DW_TAG_subrange_type) -DW_AT_type : <0x111> +DW_AT_type : <0x112> DW_AT_lower_bound : 0 DW_AT_count : 64 diff --git a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1 b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1 index 5a558887..747edf71 100644 --- a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1 +++ b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1 @@ -1,133 +1,134 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x11f (32-bit) + Length: 0x120 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_btrfs_ioctl_received_subvol_args.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - 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) - <2>: Abbrev Number: 0 - <1>: Abbrev Number: 6 (DW_TAG_array_type) - DW_AT_type : <0xbb> - <2>: Abbrev Number: 7 (DW_TAG_subrange_type) - DW_AT_type : <0xc2> - DW_AT_lower_bound : 0 - DW_AT_count : 16 - <2>: Abbrev Number: 0 - <1>: 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>: 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>: 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>: 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>: 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>: 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>: 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) - <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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x13b): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x176): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 47 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x236): struct_btrfs_ioctl_received_subvol_args + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 41 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x215): btrfs_ioctl_received_subvol_args + <41> DW_AT_byte_size : 200 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 388 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x187): uuid + <4a> DW_AT_type : <0xaf> + <4e> DW_AT_decl_file : 1 + <4f> DW_AT_decl_line : 389 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x19a): stransid + <59> DW_AT_type : <0xca> + <5d> DW_AT_decl_file : 1 + <5e> DW_AT_decl_line : 390 + <60> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><63>: Abbrev Number: 5 (DW_TAG_member) + <64> DW_AT_name : (indirect string, offset: 0x1c0): rtransid + <68> DW_AT_type : <0xca> + <6c> DW_AT_decl_file : 1 + <6d> DW_AT_decl_line : 391 + <6f> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><72>: Abbrev Number: 5 (DW_TAG_member) + <73> DW_AT_name : (indirect string, offset: 0x1c9): stime + <77> DW_AT_type : <0xdc> + <7b> DW_AT_decl_file : 1 + <7c> DW_AT_decl_line : 392 + <7e> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><81>: Abbrev Number: 5 (DW_TAG_member) + <82> DW_AT_name : (indirect string, offset: 0x200): rtime + <86> DW_AT_type : <0xdc> + <8a> DW_AT_decl_file : 1 + <8b> DW_AT_decl_line : 393 + <8d> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) + <2><90>: Abbrev Number: 5 (DW_TAG_member) + <91> DW_AT_name : (indirect string, offset: 0x206): flags + <95> DW_AT_type : <0xca> + <99> DW_AT_decl_file : 1 + <9a> DW_AT_decl_line : 394 + <9c> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) + <2><9f>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x20c): reserved + DW_AT_type : <0x116> + DW_AT_decl_file : 1 + DW_AT_decl_line : 395 + DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_array_type) + DW_AT_type : <0xbc> + <2>: Abbrev Number: 7 (DW_TAG_subrange_type) + DW_AT_type : <0xc3> + DW_AT_lower_bound : 0 + DW_AT_count : 16 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x18c): char + DW_AT_encoding : 8 (unsigned char) + DW_AT_byte_size : 1 + <1>: Abbrev Number: 9 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x191): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xd5> + DW_AT_name : (indirect string, offset: 0x1ba): __u64 + DW_AT_decl_file : 2 + DW_AT_decl_line : 31 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1a3): long long unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 8 + <1>: Abbrev Number: 4 (DW_TAG_structure_type) +
DW_AT_name : (indirect string, offset: 0x1eb): btrfs_ioctl_timespec + DW_AT_byte_size : 16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 384 + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1cf): sec + DW_AT_type : <0xca> + DW_AT_decl_file : 1 + DW_AT_decl_line : 385 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1d3): nsec + DW_AT_type : <0x104> + DW_AT_decl_file : 1 + DW_AT_decl_line : 386 + <100> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <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: 0x1e5): __u32 + <10d> DW_AT_decl_file : 2 + <10e> DW_AT_decl_line : 28 + <1><10f>: Abbrev Number: 8 (DW_TAG_base_type) + <110> DW_AT_name : (indirect string, offset: 0x1d8): unsigned int + <114> DW_AT_encoding : 7 (unsigned) + <115> DW_AT_byte_size : 4 + <1><116>: Abbrev Number: 6 (DW_TAG_array_type) + <117> DW_AT_type : <0xca> + <2><11b>: Abbrev Number: 7 (DW_TAG_subrange_type) + <11c> DW_AT_type : <0xc3> + <120> DW_AT_lower_bound : 0 + <121> DW_AT_count : 16 + <2><122>: Abbrev Number: 0 + <1><123>: 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 index 9cceb972..2d90829d 100644 --- a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2 +++ b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2 @@ -1,137 +1,137 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0xac): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x176): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> 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_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x236): struct_btrfs_ioctl_received_subvol_args DW_AT_decl_file : 3 DW_AT_decl_line : 41 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x14b): btrfs_ioctl_received_subvol_args +DW_AT_name : (indirect string, offset: 0x215): btrfs_ioctl_received_subvol_args DW_AT_byte_size : 200 DW_AT_decl_file : 1 -DW_AT_decl_line : 386 -<2><44> +DW_AT_decl_line : 388 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xbd): uuid -DW_AT_type : <0xae> +DW_AT_name : (indirect string, offset: 0x187): uuid +DW_AT_type : <0xaf> DW_AT_decl_file : 1 -DW_AT_decl_line : 387 +DW_AT_decl_line : 389 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd0): stransid -DW_AT_type : <0xc9> +DW_AT_name : (indirect string, offset: 0x19a): stransid +DW_AT_type : <0xca> DW_AT_decl_file : 1 -DW_AT_decl_line : 388 +DW_AT_decl_line : 390 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><62> +<2><63> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf6): rtransid -DW_AT_type : <0xc9> +DW_AT_name : (indirect string, offset: 0x1c0): rtransid +DW_AT_type : <0xca> DW_AT_decl_file : 1 -DW_AT_decl_line : 389 +DW_AT_decl_line : 391 DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) -<2><71> +<2><72> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xff): stime -DW_AT_type : <0xdb> +DW_AT_name : (indirect string, offset: 0x1c9): stime +DW_AT_type : <0xdc> DW_AT_decl_file : 1 -DW_AT_decl_line : 390 +DW_AT_decl_line : 392 DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) -<2><80> +<2><81> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x136): rtime -DW_AT_type : <0xdb> +DW_AT_name : (indirect string, offset: 0x200): rtime +DW_AT_type : <0xdc> DW_AT_decl_file : 1 -DW_AT_decl_line : 391 +DW_AT_decl_line : 393 DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) -<2><8f> +<2><90> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13c): flags -DW_AT_type : <0xc9> +DW_AT_name : (indirect string, offset: 0x206): flags +DW_AT_type : <0xca> DW_AT_decl_file : 1 -DW_AT_decl_line : 392 +DW_AT_decl_line : 394 DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) -<2><9e> +<2><9f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x142): reserved -DW_AT_type : <0x115> +DW_AT_name : (indirect string, offset: 0x20c): reserved +DW_AT_type : <0x116> DW_AT_decl_file : 1 -DW_AT_decl_line : 393 +DW_AT_decl_line : 395 DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72) -<1> +<1> Abbrev Number: 6 (DW_TAG_array_type) -DW_AT_type : <0xbb> -<2> +DW_AT_type : <0xbc> +<2> Abbrev Number: 7 (DW_TAG_subrange_type) -DW_AT_type : <0xc2> +DW_AT_type : <0xc3> DW_AT_lower_bound : 0 DW_AT_count : 16 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc2): char +DW_AT_name : (indirect string, offset: 0x18c): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1> +<1> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc7): sizetype +DW_AT_name : (indirect string, offset: 0x191): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xd4> -DW_AT_name : (indirect string, offset: 0xf0): __u64 +DW_AT_type : <0xd5> +DW_AT_name : (indirect string, offset: 0x1ba): __u64 DW_AT_decl_file : 2 DW_AT_decl_line : 31 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xd9): long long unsigned int +DW_AT_name : (indirect string, offset: 0x1a3): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 -<1> +<1> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x121): btrfs_ioctl_timespec +DW_AT_name : (indirect string, offset: 0x1eb): btrfs_ioctl_timespec DW_AT_byte_size : 16 DW_AT_decl_file : 1 -DW_AT_decl_line : 382 -<2> +DW_AT_decl_line : 384 +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x105): sec -DW_AT_type : <0xc9> +DW_AT_name : (indirect string, offset: 0x1cf): sec +DW_AT_type : <0xca> DW_AT_decl_file : 1 -DW_AT_decl_line : 383 +DW_AT_decl_line : 385 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x109): nsec -DW_AT_type : <0x103> +DW_AT_name : (indirect string, offset: 0x1d3): nsec +DW_AT_type : <0x104> DW_AT_decl_file : 1 -DW_AT_decl_line : 384 +DW_AT_decl_line : 386 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<1><103> +<1><104> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x10e> -DW_AT_name : (indirect string, offset: 0x11b): __u32 +DW_AT_type : <0x10f> +DW_AT_name : (indirect string, offset: 0x1e5): __u32 DW_AT_decl_file : 2 DW_AT_decl_line : 28 -<1><10e> +<1><10f> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x10e): unsigned int +DW_AT_name : (indirect string, offset: 0x1d8): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><115> +<1><116> Abbrev Number: 6 (DW_TAG_array_type) -DW_AT_type : <0xc9> -<2><11a> +DW_AT_type : <0xca> +<2><11b> Abbrev Number: 7 (DW_TAG_subrange_type) -DW_AT_type : <0xc2> +DW_AT_type : <0xc3> DW_AT_lower_bound : 0 DW_AT_count : 16 diff --git a/mpers-m32/struct_btrfs_ioctl_send_args.d1 b/mpers-m32/struct_btrfs_ioctl_send_args.d1 index 04ee16f6..dce241fa 100644 --- a/mpers-m32/struct_btrfs_ioctl_send_args.d1 +++ b/mpers-m32/struct_btrfs_ioctl_send_args.d1 @@ -1,100 +1,101 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xd9 (32-bit) + Length: 0xda (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_btrfs_ioctl_send_args.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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) - DW_AT_type : <0xaa> - DW_AT_name : (indirect string, offset: 0xc8): __s64 - DW_AT_decl_file : 1 - DW_AT_decl_line : 30 - <1>: 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>: 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>: 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>: Abbrev Number: 7 (DW_TAG_pointer_type) - DW_AT_type : <0xb1> - <1>: Abbrev Number: 8 (DW_TAG_array_type) - DW_AT_type : <0xb1> - <2>: Abbrev Number: 9 (DW_TAG_subrange_type) - DW_AT_type : <0xd5> - DW_AT_lower_bound : 0 - DW_AT_count : 4 - <2>: Abbrev Number: 0 - <1>: 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) - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x130): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x16b): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 47 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x211): struct_btrfs_ioctl_send_args + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 39 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1fb): btrfs_ioctl_send_args + <41> DW_AT_byte_size : 72 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 401 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x17c): send_fd + <4a> DW_AT_type : <0xa0> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 402 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x198): clone_sources_count + <59> DW_AT_type : <0xb2> + <5d> DW_AT_decl_file : 2 + <5e> DW_AT_decl_line : 403 + <60> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><63>: Abbrev Number: 5 (DW_TAG_member) + <64> DW_AT_name : (indirect string, offset: 0x1c9): clone_sources + <68> DW_AT_type : <0xc4> + <6c> DW_AT_decl_file : 2 + <6d> DW_AT_decl_line : 404 + <6f> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><72>: Abbrev Number: 5 (DW_TAG_member) + <73> DW_AT_name : (indirect string, offset: 0x1d7): parent_root + <77> DW_AT_type : <0xb2> + <7b> DW_AT_decl_file : 2 + <7c> DW_AT_decl_line : 405 + <7e> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><81>: Abbrev Number: 5 (DW_TAG_member) + <82> DW_AT_name : (indirect string, offset: 0x1e3): flags + <86> DW_AT_type : <0xb2> + <8a> DW_AT_decl_file : 2 + <8b> DW_AT_decl_line : 406 + <8d> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><90>: Abbrev Number: 5 (DW_TAG_member) + <91> DW_AT_name : (indirect string, offset: 0x1e9): reserved + <95> DW_AT_type : <0xc9> + <99> DW_AT_decl_file : 2 + <9a> DW_AT_decl_line : 407 + <9c> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) + <2><9f>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xab> + DW_AT_name : (indirect string, offset: 0x192): __s64 + DW_AT_decl_file : 1 + DW_AT_decl_line : 30 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x184): long long int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 8 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xbd> + DW_AT_name : (indirect string, offset: 0x1c3): __u64 + DW_AT_decl_file : 1 + DW_AT_decl_line : 31 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1ac): long long unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 8 + <1>: Abbrev Number: 7 (DW_TAG_pointer_type) + DW_AT_type : <0xb2> + <1>: Abbrev Number: 8 (DW_TAG_array_type) + DW_AT_type : <0xb2> + <2>: Abbrev Number: 9 (DW_TAG_subrange_type) + DW_AT_type : <0xd6> + DW_AT_lower_bound : 0 + DW_AT_count : 4 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 10 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1f2): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>
: Abbrev Number: 0 diff --git a/mpers-m32/struct_btrfs_ioctl_send_args.d2 b/mpers-m32/struct_btrfs_ioctl_send_args.d2 index e5dd66c2..4b88319d 100644 --- a/mpers-m32/struct_btrfs_ioctl_send_args.d2 +++ b/mpers-m32/struct_btrfs_ioctl_send_args.d2 @@ -1,100 +1,100 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0xa1): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x16b): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x147): struct_btrfs_ioctl_send_args +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x211): struct_btrfs_ioctl_send_args DW_AT_decl_file : 3 DW_AT_decl_line : 39 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x131): btrfs_ioctl_send_args +DW_AT_name : (indirect string, offset: 0x1fb): btrfs_ioctl_send_args DW_AT_byte_size : 72 DW_AT_decl_file : 2 -DW_AT_decl_line : 399 -<2><44> +DW_AT_decl_line : 401 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb2): send_fd -DW_AT_type : <0x9f> +DW_AT_name : (indirect string, offset: 0x17c): send_fd +DW_AT_type : <0xa0> DW_AT_decl_file : 2 -DW_AT_decl_line : 400 +DW_AT_decl_line : 402 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xce): clone_sources_count -DW_AT_type : <0xb1> +DW_AT_name : (indirect string, offset: 0x198): clone_sources_count +DW_AT_type : <0xb2> DW_AT_decl_file : 2 -DW_AT_decl_line : 401 +DW_AT_decl_line : 403 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><62> +<2><63> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xff): clone_sources -DW_AT_type : <0xc3> +DW_AT_name : (indirect string, offset: 0x1c9): clone_sources +DW_AT_type : <0xc4> DW_AT_decl_file : 2 -DW_AT_decl_line : 402 +DW_AT_decl_line : 404 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><71> +<2><72> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10d): parent_root -DW_AT_type : <0xb1> +DW_AT_name : (indirect string, offset: 0x1d7): parent_root +DW_AT_type : <0xb2> DW_AT_decl_file : 2 -DW_AT_decl_line : 403 +DW_AT_decl_line : 405 DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) -<2><80> +<2><81> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x119): flags -DW_AT_type : <0xb1> +DW_AT_name : (indirect string, offset: 0x1e3): flags +DW_AT_type : <0xb2> DW_AT_decl_file : 2 -DW_AT_decl_line : 404 +DW_AT_decl_line : 406 DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) -<2><8f> +<2><90> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11f): reserved -DW_AT_type : <0xc8> +DW_AT_name : (indirect string, offset: 0x1e9): reserved +DW_AT_type : <0xc9> DW_AT_decl_file : 2 -DW_AT_decl_line : 405 +DW_AT_decl_line : 407 DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) -<1><9f> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xaa> -DW_AT_name : (indirect string, offset: 0xc8): __s64 +DW_AT_type : <0xab> +DW_AT_name : (indirect string, offset: 0x192): __s64 DW_AT_decl_file : 1 DW_AT_decl_line : 30 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xba): long long int +DW_AT_name : (indirect string, offset: 0x184): long long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 8 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xbc> -DW_AT_name : (indirect string, offset: 0xf9): __u64 +DW_AT_type : <0xbd> +DW_AT_name : (indirect string, offset: 0x1c3): __u64 DW_AT_decl_file : 1 DW_AT_decl_line : 31 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe2): long long unsigned int +DW_AT_name : (indirect string, offset: 0x1ac): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 -<1> +<1> Abbrev Number: 7 (DW_TAG_pointer_type) -DW_AT_type : <0xb1> -<1> +DW_AT_type : <0xb2> +<1> Abbrev Number: 8 (DW_TAG_array_type) -DW_AT_type : <0xb1> -<2> +DW_AT_type : <0xb2> +<2> Abbrev Number: 9 (DW_TAG_subrange_type) -DW_AT_type : <0xd5> +DW_AT_type : <0xd6> DW_AT_lower_bound : 0 DW_AT_count : 4 -<1> +<1> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x128): sizetype +DW_AT_name : (indirect string, offset: 0x1f2): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) diff --git a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1 b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1 index 746a93cb..c4f97235 100644 --- a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1 +++ b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1 @@ -1,238 +1,239 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x1eb (32-bit) + Length: 0x1ec (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_btrfs_ioctl_vol_args_v2.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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) - <4>: Abbrev Number: 0 - <3>: 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) - <3>: Abbrev Number: 0 - <2>: 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>: Abbrev Number: 9 (DW_TAG_union_type) - DW_AT_byte_size : 4040 - DW_AT_decl_file : 2 - DW_AT_decl_line : 78 - <3>: 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>: 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) - <3>: Abbrev Number: 0 - <2>: Abbrev Number: 0 - <1>: 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>: 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>: 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) - <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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x132): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x16d): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 47 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x28f): struct_btrfs_ioctl_vol_args_v2 + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 43 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x277): btrfs_ioctl_vol_args_v2 + <41> DW_AT_byte_size : 4096 + <43> DW_AT_decl_file : 2 + <44> DW_AT_decl_line : 67 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x17e): fd + <4a> DW_AT_type : <0xe4> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 68 + <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: 0x195): transid + <58> DW_AT_type : <0xf6> + <5c> DW_AT_decl_file : 2 + <5d> DW_AT_decl_line : 69 + <5e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><61>: Abbrev Number: 5 (DW_TAG_member) + <62> DW_AT_name : (indirect string, offset: 0x1ba): flags + <66> DW_AT_type : <0xf6> + <6a> DW_AT_decl_file : 2 + <6b> DW_AT_decl_line : 70 + <6c> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><6f>: Abbrev Number: 6 (DW_TAG_member) + <70> DW_AT_type : <0x79> + <74> DW_AT_decl_file : 2 + <75> DW_AT_decl_line : 71 + <76> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><79>: Abbrev Number: 7 (DW_TAG_union_type) + <7a> DW_AT_byte_size : 32 + <7b> DW_AT_decl_file : 2 + <7c> DW_AT_decl_line : 71 + <3><7d>: Abbrev Number: 6 (DW_TAG_member) + <7e> DW_AT_type : <0x87> + <82> DW_AT_decl_file : 2 + <83> DW_AT_decl_line : 72 + <84> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><87>: Abbrev Number: 8 (DW_TAG_structure_type) + <88> DW_AT_byte_size : 16 + <89> DW_AT_decl_file : 2 + <8a> DW_AT_decl_line : 72 + <4><8b>: Abbrev Number: 5 (DW_TAG_member) + <8c> DW_AT_name : (indirect string, offset: 0x1c0): size + <90> DW_AT_type : <0xf6> + <94> DW_AT_decl_file : 2 + <95> DW_AT_decl_line : 73 + <96> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><99>: Abbrev Number: 5 (DW_TAG_member) + <9a> DW_AT_name : (indirect string, offset: 0x1c5): qgroup_inherit + <9e> DW_AT_type : <0x108> + 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) + <4>: Abbrev Number: 0 + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x260): unused + DW_AT_type : <0x1cd> + 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) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 6 (DW_TAG_member) + DW_AT_type : <0xc1> + 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>: Abbrev Number: 9 (DW_TAG_union_type) + DW_AT_byte_size : 4040 + DW_AT_decl_file : 2 + DW_AT_decl_line : 78 + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x267): name + DW_AT_type : <0x1da> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x271): devid + DW_AT_type : <0xf6> +
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) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xef> + DW_AT_name : (indirect string, offset: 0x18f): __s64 + DW_AT_decl_file : 1 + DW_AT_decl_line : 30 + <1>: Abbrev Number: 10 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x181): long long int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 8 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0x101> + DW_AT_name : (indirect string, offset: 0x1b4): __u64 + DW_AT_decl_file : 1 + <100> DW_AT_decl_line : 31 + <1><101>: Abbrev Number: 10 (DW_TAG_base_type) + <102> DW_AT_name : (indirect string, offset: 0x19d): long long unsigned int + <106> DW_AT_encoding : 7 (unsigned) + <107> DW_AT_byte_size : 8 + <1><108>: Abbrev Number: 11 (DW_TAG_pointer_type) + <109> DW_AT_type : <0x10d> + <1><10d>: Abbrev Number: 12 (DW_TAG_structure_type) + <10e> DW_AT_name : (indirect string, offset: 0x24b): btrfs_qgroup_inherit + <112> DW_AT_byte_size : 72 + <113> DW_AT_decl_file : 2 + <114> DW_AT_decl_line : 51 + <2><115>: Abbrev Number: 5 (DW_TAG_member) + <116> DW_AT_name : (indirect string, offset: 0x1ba): flags + <11a> DW_AT_type : <0xf6> + <11e> DW_AT_decl_file : 2 + <11f> DW_AT_decl_line : 52 + <120> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><123>: Abbrev Number: 5 (DW_TAG_member) + <124> DW_AT_name : (indirect string, offset: 0x1d4): num_qgroups + <128> DW_AT_type : <0xf6> + <12c> DW_AT_decl_file : 2 + <12d> DW_AT_decl_line : 53 + <12e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><131>: Abbrev Number: 5 (DW_TAG_member) + <132> DW_AT_name : (indirect string, offset: 0x1e0): num_ref_copies + <136> DW_AT_type : <0xf6> + <13a> DW_AT_decl_file : 2 + <13b> DW_AT_decl_line : 54 + <13c> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><13f>: Abbrev Number: 5 (DW_TAG_member) + <140> DW_AT_name : (indirect string, offset: 0x1ef): num_excl_copies + <144> DW_AT_type : <0xf6> + <148> DW_AT_decl_file : 2 + <149> DW_AT_decl_line : 55 + <14a> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><14d>: Abbrev Number: 5 (DW_TAG_member) + <14e> DW_AT_name : (indirect string, offset: 0x1ff): lim + <152> DW_AT_type : <0x16a> + <156> DW_AT_decl_file : 2 + <157> DW_AT_decl_line : 56 + <158> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><15b>: Abbrev Number: 5 (DW_TAG_member) + <15c> DW_AT_name : (indirect string, offset: 0x23a): qgroups + <160> DW_AT_type : <0x1b9> + <164> DW_AT_decl_file : 2 + <165> DW_AT_decl_line : 57 + <166> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72) + <2><169>: Abbrev Number: 0 + <1><16a>: Abbrev Number: 12 (DW_TAG_structure_type) + <16b> DW_AT_name : (indirect string, offset: 0x227): btrfs_qgroup_limit + <16f> DW_AT_byte_size : 40 + <170> DW_AT_decl_file : 2 + <171> DW_AT_decl_line : 43 + <2><172>: Abbrev Number: 5 (DW_TAG_member) + <173> DW_AT_name : (indirect string, offset: 0x1ba): flags + <177> DW_AT_type : <0xf6> + <17b> DW_AT_decl_file : 2 + <17c> DW_AT_decl_line : 44 + <17d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><180>: Abbrev Number: 5 (DW_TAG_member) + <181> DW_AT_name : (indirect string, offset: 0x203): max_rfer + <185> DW_AT_type : <0xf6> + <189> DW_AT_decl_file : 2 + <18a> DW_AT_decl_line : 45 + <18b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><18e>: Abbrev Number: 5 (DW_TAG_member) + <18f> DW_AT_name : (indirect string, offset: 0x20c): max_excl + <193> DW_AT_type : <0xf6> + <197> DW_AT_decl_file : 2 + <198> DW_AT_decl_line : 46 + <199> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><19c>: Abbrev Number: 5 (DW_TAG_member) + <19d> DW_AT_name : (indirect string, offset: 0x215): rsv_rfer + <1a1> DW_AT_type : <0xf6> + <1a5> DW_AT_decl_file : 2 + <1a6> DW_AT_decl_line : 47 + <1a7> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><1aa>: Abbrev Number: 5 (DW_TAG_member) + <1ab> DW_AT_name : (indirect string, offset: 0x21e): rsv_excl + <1af> DW_AT_type : <0xf6> + <1b3> DW_AT_decl_file : 2 + <1b4> DW_AT_decl_line : 48 + <1b5> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><1b8>: Abbrev Number: 0 + <1><1b9>: Abbrev Number: 13 (DW_TAG_array_type) + <1ba> DW_AT_type : <0xf6> + <2><1be>: Abbrev Number: 14 (DW_TAG_subrange_type) + <1bf> DW_AT_type : <0x1c6> + <1c3> DW_AT_lower_bound : 0 + <1c4> DW_AT_count : 0 + <2><1c5>: Abbrev Number: 0 + <1><1c6>: Abbrev Number: 15 (DW_TAG_base_type) + <1c7> DW_AT_name : (indirect string, offset: 0x242): sizetype + <1cb> DW_AT_byte_size : 8 + <1cc> DW_AT_encoding : 7 (unsigned) + <1><1cd>: Abbrev Number: 13 (DW_TAG_array_type) + <1ce> DW_AT_type : <0xf6> + <2><1d2>: Abbrev Number: 14 (DW_TAG_subrange_type) + <1d3> DW_AT_type : <0x1c6> + <1d7> DW_AT_lower_bound : 0 + <1d8> DW_AT_count : 4 + <2><1d9>: Abbrev Number: 0 + <1><1da>: Abbrev Number: 13 (DW_TAG_array_type) + <1db> DW_AT_type : <0x1e8> + <2><1df>: Abbrev Number: 16 (DW_TAG_subrange_type) + <1e0> DW_AT_type : <0x1c6> + <1e4> DW_AT_lower_bound : 0 + <1e5> DW_AT_count : 4040 + <2><1e7>: Abbrev Number: 0 + <1><1e8>: Abbrev Number: 10 (DW_TAG_base_type) + <1e9> DW_AT_name : (indirect string, offset: 0x26c): char + <1ed> DW_AT_encoding : 8 (unsigned char) + <1ee> DW_AT_byte_size : 1 + <1><1ef>: 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 index 6ed8b107..1c7bbd5f 100644 --- a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2 +++ b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2 @@ -1,257 +1,257 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0xa3): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x16d): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> 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_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x28f): struct_btrfs_ioctl_vol_args_v2 DW_AT_decl_file : 3 DW_AT_decl_line : 43 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1ad): btrfs_ioctl_vol_args_v2 +DW_AT_name : (indirect string, offset: 0x277): btrfs_ioctl_vol_args_v2 DW_AT_byte_size : 4096 DW_AT_decl_file : 2 DW_AT_decl_line : 67 -<2><44> +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb4): fd -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x17e): fd +DW_AT_type : <0xe4> 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> +<2><53> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcb): transid -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x195): transid +DW_AT_type : <0xf6> 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> +<2><61> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf0): flags -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1ba): flags +DW_AT_type : <0xf6> 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> +<2><6f> Abbrev Number: 6 (DW_TAG_member) -DW_AT_type : <0x78> +DW_AT_type : <0x79> 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> +<2><79> Abbrev Number: 7 (DW_TAG_union_type) DW_AT_byte_size : 32 DW_AT_decl_file : 2 DW_AT_decl_line : 71 -<3><7c> +<3><7d> Abbrev Number: 6 (DW_TAG_member) -DW_AT_type : <0x86> +DW_AT_type : <0x87> 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> +<3><87> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 16 DW_AT_decl_file : 2 DW_AT_decl_line : 72 -<4><8a> +<4><8b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf6): size -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1c0): size +DW_AT_type : <0xf6> 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> +<4><99> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfb): qgroup_inherit -DW_AT_type : <0x107> +DW_AT_name : (indirect string, offset: 0x1c5): qgroup_inherit +DW_AT_type : <0x108> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x196): unused -DW_AT_type : <0x1cc> +DW_AT_name : (indirect string, offset: 0x260): unused +DW_AT_type : <0x1cd> 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> +<2> Abbrev Number: 6 (DW_TAG_member) -DW_AT_type : <0xc0> +DW_AT_type : <0xc1> 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> +<2> Abbrev Number: 9 (DW_TAG_union_type) DW_AT_byte_size : 4040 DW_AT_decl_file : 2 DW_AT_decl_line : 78 -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x19d): name -DW_AT_type : <0x1d9> +DW_AT_name : (indirect string, offset: 0x267): name +DW_AT_type : <0x1da> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1a7): devid -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x271): devid +DW_AT_type : <0xf6> 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> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xee> -DW_AT_name : (indirect string, offset: 0xc5): __s64 +DW_AT_type : <0xef> +DW_AT_name : (indirect string, offset: 0x18f): __s64 DW_AT_decl_file : 1 DW_AT_decl_line : 30 -<1> +<1> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb7): long long int +DW_AT_name : (indirect string, offset: 0x181): long long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 8 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x100> -DW_AT_name : (indirect string, offset: 0xea): __u64 +DW_AT_type : <0x101> +DW_AT_name : (indirect string, offset: 0x1b4): __u64 DW_AT_decl_file : 1 DW_AT_decl_line : 31 -<1><100> +<1><101> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xd3): long long unsigned int +DW_AT_name : (indirect string, offset: 0x19d): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 -<1><107> +<1><108> Abbrev Number: 11 (DW_TAG_pointer_type) -DW_AT_type : <0x10c> -<1><10c> +DW_AT_type : <0x10d> +<1><10d> Abbrev Number: 12 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x181): btrfs_qgroup_inherit +DW_AT_name : (indirect string, offset: 0x24b): btrfs_qgroup_inherit DW_AT_byte_size : 72 DW_AT_decl_file : 2 DW_AT_decl_line : 51 -<2><114> +<2><115> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf0): flags -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1ba): flags +DW_AT_type : <0xf6> 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> +<2><123> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10a): num_qgroups -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1d4): num_qgroups +DW_AT_type : <0xf6> 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> +<2><131> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x116): num_ref_copies -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1e0): num_ref_copies +DW_AT_type : <0xf6> 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> +<2><13f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x125): num_excl_copies -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1ef): num_excl_copies +DW_AT_type : <0xf6> 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> +<2><14d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x135): lim -DW_AT_type : <0x169> +DW_AT_name : (indirect string, offset: 0x1ff): lim +DW_AT_type : <0x16a> 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> +<2><15b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x170): qgroups -DW_AT_type : <0x1b8> +DW_AT_name : (indirect string, offset: 0x23a): qgroups +DW_AT_type : <0x1b9> 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> +<1><16a> Abbrev Number: 12 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x15d): btrfs_qgroup_limit +DW_AT_name : (indirect string, offset: 0x227): btrfs_qgroup_limit DW_AT_byte_size : 40 DW_AT_decl_file : 2 DW_AT_decl_line : 43 -<2><171> +<2><172> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf0): flags -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1ba): flags +DW_AT_type : <0xf6> 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> +<2><180> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x139): max_rfer -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x203): max_rfer +DW_AT_type : <0xf6> 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> +<2><18e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x142): max_excl -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x20c): max_excl +DW_AT_type : <0xf6> 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> +<2><19c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14b): rsv_rfer -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x215): rsv_rfer +DW_AT_type : <0xf6> 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> +<2><1aa> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x154): rsv_excl -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x21e): rsv_excl +DW_AT_type : <0xf6> 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> +<1><1b9> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0xf5> -<2><1bd> +DW_AT_type : <0xf6> +<2><1be> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x1c5> +DW_AT_type : <0x1c6> DW_AT_lower_bound : 0 DW_AT_count : 0 -<1><1c5> +<1><1c6> Abbrev Number: 15 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x178): sizetype +DW_AT_name : (indirect string, offset: 0x242): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><1cc> +<1><1cd> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0xf5> -<2><1d1> +DW_AT_type : <0xf6> +<2><1d2> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x1c5> +DW_AT_type : <0x1c6> DW_AT_lower_bound : 0 DW_AT_count : 4 -<1><1d9> +<1><1da> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x1e7> -<2><1de> +DW_AT_type : <0x1e8> +<2><1df> Abbrev Number: 16 (DW_TAG_subrange_type) -DW_AT_type : <0x1c5> +DW_AT_type : <0x1c6> DW_AT_lower_bound : 0 DW_AT_count : 4040 -<1><1e7> +<1><1e8> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1a2): char +DW_AT_name : (indirect string, offset: 0x26c): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 diff --git a/mpers-m32/struct_ff_effect.d1 b/mpers-m32/struct_ff_effect.d1 index 45c39281..7ac19e0d 100644 --- a/mpers-m32/struct_ff_effect.d1 +++ b/mpers-m32/struct_ff_effect.d1 @@ -1,366 +1,367 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x30d (32-bit) + Length: 0x30e (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_ff_effect.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - 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>: 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>: 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>: 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>: 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) - <3>: Abbrev Number: 0 - <2>: Abbrev Number: 0 - <1>: 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>: 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>: 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) - <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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x124): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 42 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x397): struct_ff_effect + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 38 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x38d): ff_effect + <41> DW_AT_byte_size : 44 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 166 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x170): type + <49> DW_AT_type : <0xe4> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 167 + <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: 0x18a): id + <57> DW_AT_type : <0xf6> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 168 + <5d> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x199): direction + <65> DW_AT_type : <0xe4> + <69> DW_AT_decl_file : 2 + <6a> DW_AT_decl_line : 169 + <6b> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1a3): trigger + <73> DW_AT_type : <0x108> + <77> DW_AT_decl_file : 2 + <78> DW_AT_decl_line : 170 + <79> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1c6): replay + <81> DW_AT_type : <0x12d> + <85> DW_AT_decl_file : 2 + <86> DW_AT_decl_line : 171 + <87> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1e4): u + <8f> DW_AT_type : <0x98> + <93> DW_AT_decl_file : 2 + <94> DW_AT_decl_line : 178 + <95> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><98>: Abbrev Number: 6 (DW_TAG_union_type) + <99> DW_AT_byte_size : 28 + <9a> DW_AT_decl_file : 2 + <9b> DW_AT_decl_line : 172 + <3><9c>: Abbrev Number: 5 (DW_TAG_member) + <9d> DW_AT_name : (indirect string, offset: 0x1e6): constant + DW_AT_type : <0x152> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x24f): ramp + DW_AT_type : <0x1b8> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x279): periodic + DW_AT_type : <0x1eb> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x2e6): condition + DW_AT_type : <0x27b> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x355): rumble + DW_AT_type : <0x2ec> +
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) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xef> + DW_AT_name : (indirect string, offset: 0x184): __u16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 26 + <1>: Abbrev Number: 7 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x175): unsigned short + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 2 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0x101> + DW_AT_name : (indirect string, offset: 0x193): __s16 + DW_AT_decl_file : 1 + <100> DW_AT_decl_line : 25 + <1><101>: Abbrev Number: 7 (DW_TAG_base_type) + <102> DW_AT_name : (indirect string, offset: 0x18d): short + <106> DW_AT_encoding : 5 (signed) + <107> DW_AT_byte_size : 2 + <1><108>: Abbrev Number: 4 (DW_TAG_structure_type) + <109> DW_AT_name : (indirect string, offset: 0x1bb): ff_trigger + <10d> DW_AT_byte_size : 4 + <10e> DW_AT_decl_file : 2 + <10f> DW_AT_decl_line : 125 + <2><110>: Abbrev Number: 5 (DW_TAG_member) + <111> DW_AT_name : (indirect string, offset: 0x1ab): button + <115> DW_AT_type : <0xe4> + <119> DW_AT_decl_file : 2 + <11a> DW_AT_decl_line : 126 + <11b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><11e>: Abbrev Number: 5 (DW_TAG_member) + <11f> DW_AT_name : (indirect string, offset: 0x1b2): interval + <123> DW_AT_type : <0xe4> + <127> DW_AT_decl_file : 2 + <128> DW_AT_decl_line : 127 + <129> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><12c>: Abbrev Number: 0 + <1><12d>: Abbrev Number: 4 (DW_TAG_structure_type) + <12e> DW_AT_name : (indirect string, offset: 0x1da): ff_replay + <132> DW_AT_byte_size : 4 + <133> DW_AT_decl_file : 2 + <134> DW_AT_decl_line : 121 + <2><135>: Abbrev Number: 5 (DW_TAG_member) + <136> DW_AT_name : (indirect string, offset: 0x1cd): length + <13a> DW_AT_type : <0xe4> + <13e> DW_AT_decl_file : 2 + <13f> DW_AT_decl_line : 122 + <140> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><143>: Abbrev Number: 5 (DW_TAG_member) + <144> DW_AT_name : (indirect string, offset: 0x1d4): delay + <148> DW_AT_type : <0xe4> + <14c> DW_AT_decl_file : 2 + <14d> DW_AT_decl_line : 123 + <14e> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><151>: Abbrev Number: 0 + <1><152>: Abbrev Number: 4 (DW_TAG_structure_type) + <153> DW_AT_name : (indirect string, offset: 0x23c): ff_constant_effect + <157> DW_AT_byte_size : 10 + <158> DW_AT_decl_file : 2 + <159> DW_AT_decl_line : 135 + <2><15a>: Abbrev Number: 5 (DW_TAG_member) + <15b> DW_AT_name : (indirect string, offset: 0x1ef): level + <15f> DW_AT_type : <0xf6> + <163> DW_AT_decl_file : 2 + <164> DW_AT_decl_line : 136 + <165> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><168>: Abbrev Number: 5 (DW_TAG_member) + <169> DW_AT_name : (indirect string, offset: 0x1f5): envelope + <16d> DW_AT_type : <0x177> + <171> DW_AT_decl_file : 2 + <172> DW_AT_decl_line : 137 + <173> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><176>: Abbrev Number: 0 + <1><177>: Abbrev Number: 4 (DW_TAG_structure_type) + <178> DW_AT_name : (indirect string, offset: 0x230): ff_envelope + <17c> DW_AT_byte_size : 8 + <17d> DW_AT_decl_file : 2 + <17e> DW_AT_decl_line : 129 + <2><17f>: Abbrev Number: 5 (DW_TAG_member) + <180> DW_AT_name : (indirect string, offset: 0x1fe): attack_length + <184> DW_AT_type : <0xe4> + <188> DW_AT_decl_file : 2 + <189> DW_AT_decl_line : 130 + <18a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><18d>: Abbrev Number: 5 (DW_TAG_member) + <18e> DW_AT_name : (indirect string, offset: 0x20c): attack_level + <192> DW_AT_type : <0xe4> + <196> DW_AT_decl_file : 2 + <197> DW_AT_decl_line : 131 + <198> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><19b>: Abbrev Number: 5 (DW_TAG_member) + <19c> DW_AT_name : (indirect string, offset: 0x219): fade_length + <1a0> DW_AT_type : <0xe4> + <1a4> DW_AT_decl_file : 2 + <1a5> DW_AT_decl_line : 132 + <1a6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><1a9>: Abbrev Number: 5 (DW_TAG_member) + <1aa> DW_AT_name : (indirect string, offset: 0x225): fade_level + <1ae> DW_AT_type : <0xe4> + <1b2> DW_AT_decl_file : 2 + <1b3> DW_AT_decl_line : 133 + <1b4> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6) + <2><1b7>: Abbrev Number: 0 + <1><1b8>: Abbrev Number: 4 (DW_TAG_structure_type) + <1b9> DW_AT_name : (indirect string, offset: 0x26a): ff_ramp_effect + <1bd> DW_AT_byte_size : 12 + <1be> DW_AT_decl_file : 2 + <1bf> DW_AT_decl_line : 139 + <2><1c0>: Abbrev Number: 5 (DW_TAG_member) + <1c1> DW_AT_name : (indirect string, offset: 0x254): start_level + <1c5> DW_AT_type : <0xf6> + <1c9> DW_AT_decl_file : 2 + <1ca> DW_AT_decl_line : 140 + <1cb> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><1ce>: Abbrev Number: 5 (DW_TAG_member) + <1cf> DW_AT_name : (indirect string, offset: 0x260): end_level + <1d3> DW_AT_type : <0xf6> + <1d7> DW_AT_decl_file : 2 + <1d8> DW_AT_decl_line : 141 + <1d9> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><1dc>: Abbrev Number: 5 (DW_TAG_member) + <1dd> DW_AT_name : (indirect string, offset: 0x1f5): envelope + <1e1> DW_AT_type : <0x177> + <1e5> DW_AT_decl_file : 2 + <1e6> DW_AT_decl_line : 142 + <1e7> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><1ea>: Abbrev Number: 0 + <1><1eb>: Abbrev Number: 4 (DW_TAG_structure_type) + <1ec> DW_AT_name : (indirect string, offset: 0x2d3): ff_periodic_effect + <1f0> DW_AT_byte_size : 28 + <1f1> DW_AT_decl_file : 2 + <1f2> DW_AT_decl_line : 152 + <2><1f3>: Abbrev Number: 5 (DW_TAG_member) + <1f4> DW_AT_name : (indirect string, offset: 0x282): waveform + <1f8> DW_AT_type : <0xe4> + <1fc> DW_AT_decl_file : 2 + <1fd> DW_AT_decl_line : 153 + <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: 0x28b): period + <206> DW_AT_type : <0xe4> + <20a> DW_AT_decl_file : 2 + <20b> DW_AT_decl_line : 154 + <20c> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><20f>: Abbrev Number: 5 (DW_TAG_member) + <210> DW_AT_name : (indirect string, offset: 0x292): magnitude + <214> DW_AT_type : <0xf6> + <218> DW_AT_decl_file : 2 + <219> DW_AT_decl_line : 155 + <21a> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><21d>: Abbrev Number: 5 (DW_TAG_member) + <21e> DW_AT_name : (indirect string, offset: 0x29c): offset + <222> DW_AT_type : <0xf6> + <226> DW_AT_decl_file : 2 + <227> DW_AT_decl_line : 156 + <228> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6) + <2><22b>: Abbrev Number: 5 (DW_TAG_member) + <22c> DW_AT_name : (indirect string, offset: 0x2a3): phase + <230> DW_AT_type : <0xe4> + <234> DW_AT_decl_file : 2 + <235> DW_AT_decl_line : 157 + <236> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><239>: Abbrev Number: 5 (DW_TAG_member) + <23a> DW_AT_name : (indirect string, offset: 0x1f5): envelope + <23e> DW_AT_type : <0x177> + <242> DW_AT_decl_file : 2 + <243> DW_AT_decl_line : 158 + <244> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) + <2><247>: Abbrev Number: 5 (DW_TAG_member) + <248> DW_AT_name : (indirect string, offset: 0x2a9): custom_len + <24c> DW_AT_type : <0x264> + <250> DW_AT_decl_file : 2 + <251> DW_AT_decl_line : 159 + <252> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><255>: Abbrev Number: 5 (DW_TAG_member) + <256> DW_AT_name : (indirect string, offset: 0x2c7): custom_data + <25a> DW_AT_type : <0x276> + <25e> DW_AT_decl_file : 2 + <25f> DW_AT_decl_line : 160 + <260> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><263>: Abbrev Number: 0 + <1><264>: Abbrev Number: 3 (DW_TAG_typedef) + <265> DW_AT_type : <0x26f> + <269> DW_AT_name : (indirect string, offset: 0x2c1): __u32 + <26d> DW_AT_decl_file : 1 + <26e> DW_AT_decl_line : 28 + <1><26f>: Abbrev Number: 7 (DW_TAG_base_type) + <270> DW_AT_name : (indirect string, offset: 0x2b4): unsigned int + <274> DW_AT_encoding : 7 (unsigned) + <275> DW_AT_byte_size : 4 + <1><276>: Abbrev Number: 8 (DW_TAG_pointer_type) + <277> DW_AT_type : <0xf6> + <1><27b>: Abbrev Number: 9 (DW_TAG_array_type) + <27c> DW_AT_type : <0x288> + <2><280>: Abbrev Number: 10 (DW_TAG_subrange_type) + <281> DW_AT_type : <0x2e5> + <285> DW_AT_lower_bound : 0 + <286> DW_AT_count : 2 + <2><287>: Abbrev Number: 0 + <1><288>: Abbrev Number: 4 (DW_TAG_structure_type) + <289> DW_AT_name : (indirect string, offset: 0x338): ff_condition_effect + <28d> DW_AT_byte_size : 12 + <28e> DW_AT_decl_file : 2 + <28f> DW_AT_decl_line : 144 + <2><290>: Abbrev Number: 5 (DW_TAG_member) + <291> DW_AT_name : (indirect string, offset: 0x2f0): right_saturation + <295> DW_AT_type : <0xe4> + <299> DW_AT_decl_file : 2 + <29a> DW_AT_decl_line : 145 + <29b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><29e>: Abbrev Number: 5 (DW_TAG_member) + <29f> DW_AT_name : (indirect string, offset: 0x301): left_saturation + <2a3> DW_AT_type : <0xe4> + <2a7> DW_AT_decl_file : 2 + <2a8> DW_AT_decl_line : 146 + <2a9> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><2ac>: Abbrev Number: 5 (DW_TAG_member) + <2ad> DW_AT_name : (indirect string, offset: 0x311): right_coeff + <2b1> DW_AT_type : <0xf6> + <2b5> DW_AT_decl_file : 2 + <2b6> DW_AT_decl_line : 147 + <2b7> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><2ba>: Abbrev Number: 5 (DW_TAG_member) + <2bb> DW_AT_name : (indirect string, offset: 0x31d): left_coeff + <2bf> DW_AT_type : <0xf6> + <2c3> DW_AT_decl_file : 2 + <2c4> DW_AT_decl_line : 148 + <2c5> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6) + <2><2c8>: Abbrev Number: 5 (DW_TAG_member) + <2c9> DW_AT_name : (indirect string, offset: 0x328): deadband + <2cd> DW_AT_type : <0xe4> + <2d1> DW_AT_decl_file : 2 + <2d2> DW_AT_decl_line : 149 + <2d3> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><2d6>: Abbrev Number: 5 (DW_TAG_member) + <2d7> DW_AT_name : (indirect string, offset: 0x331): center + <2db> DW_AT_type : <0xf6> + <2df> DW_AT_decl_file : 2 + <2e0> DW_AT_decl_line : 150 + <2e1> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) + <2><2e4>: Abbrev Number: 0 + <1><2e5>: Abbrev Number: 11 (DW_TAG_base_type) + <2e6> DW_AT_name : (indirect string, offset: 0x34c): sizetype + <2ea> DW_AT_byte_size : 8 + <2eb> DW_AT_encoding : 7 (unsigned) + <1><2ec>: Abbrev Number: 4 (DW_TAG_structure_type) + <2ed> DW_AT_name : (indirect string, offset: 0x37c): ff_rumble_effect + <2f1> DW_AT_byte_size : 4 + <2f2> DW_AT_decl_file : 2 + <2f3> DW_AT_decl_line : 162 + <2><2f4>: Abbrev Number: 5 (DW_TAG_member) + <2f5> DW_AT_name : (indirect string, offset: 0x35c): strong_magnitude + <2f9> DW_AT_type : <0xe4> + <2fd> DW_AT_decl_file : 2 + <2fe> DW_AT_decl_line : 163 + <2ff> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><302>: Abbrev Number: 5 (DW_TAG_member) + <303> DW_AT_name : (indirect string, offset: 0x36d): weak_magnitude + <307> DW_AT_type : <0xe4> + <30b> DW_AT_decl_file : 2 + <30c> DW_AT_decl_line : 164 + <30d> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><310>: Abbrev Number: 0 + <1><311>: Abbrev Number: 0 diff --git a/mpers-m32/struct_ff_effect.d2 b/mpers-m32/struct_ff_effect.d2 index 5523f80e..32e43a2a 100644 --- a/mpers-m32/struct_ff_effect.d2 +++ b/mpers-m32/struct_ff_effect.d2 @@ -1,402 +1,402 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x95): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x2cd): struct_ff_effect +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x397): struct_ff_effect DW_AT_decl_file : 3 DW_AT_decl_line : 38 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x2c3): ff_effect +DW_AT_name : (indirect string, offset: 0x38d): ff_effect DW_AT_byte_size : 44 DW_AT_decl_file : 2 DW_AT_decl_line : 166 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa6): type -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x170): type +DW_AT_type : <0xe4> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc0): id -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x18a): id +DW_AT_type : <0xf6> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcf): direction -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x199): direction +DW_AT_type : <0xe4> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd9): trigger -DW_AT_type : <0x107> +DW_AT_name : (indirect string, offset: 0x1a3): trigger +DW_AT_type : <0x108> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfc): replay -DW_AT_type : <0x12c> +DW_AT_name : (indirect string, offset: 0x1c6): replay +DW_AT_type : <0x12d> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11a): u -DW_AT_type : <0x97> +DW_AT_name : (indirect string, offset: 0x1e4): u +DW_AT_type : <0x98> 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> +<2><98> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 28 DW_AT_decl_file : 2 DW_AT_decl_line : 172 -<3><9b> +<3><9c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11c): constant -DW_AT_type : <0x151> +DW_AT_name : (indirect string, offset: 0x1e6): constant +DW_AT_type : <0x152> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x185): ramp -DW_AT_type : <0x1b7> +DW_AT_name : (indirect string, offset: 0x24f): ramp +DW_AT_type : <0x1b8> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1af): periodic -DW_AT_type : <0x1ea> +DW_AT_name : (indirect string, offset: 0x279): periodic +DW_AT_type : <0x1eb> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x21c): condition -DW_AT_type : <0x27a> +DW_AT_name : (indirect string, offset: 0x2e6): condition +DW_AT_type : <0x27b> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x28b): rumble -DW_AT_type : <0x2eb> +DW_AT_name : (indirect string, offset: 0x355): rumble +DW_AT_type : <0x2ec> 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> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xee> -DW_AT_name : (indirect string, offset: 0xba): __u16 +DW_AT_type : <0xef> +DW_AT_name : (indirect string, offset: 0x184): __u16 DW_AT_decl_file : 1 DW_AT_decl_line : 26 -<1> +<1> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xab): unsigned short +DW_AT_name : (indirect string, offset: 0x175): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x100> -DW_AT_name : (indirect string, offset: 0xc9): __s16 +DW_AT_type : <0x101> +DW_AT_name : (indirect string, offset: 0x193): __s16 DW_AT_decl_file : 1 DW_AT_decl_line : 25 -<1><100> +<1><101> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc3): short +DW_AT_name : (indirect string, offset: 0x18d): short DW_AT_encoding : 5 (signed) DW_AT_byte_size : 2 -<1><107> +<1><108> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xf1): ff_trigger +DW_AT_name : (indirect string, offset: 0x1bb): ff_trigger DW_AT_byte_size : 4 DW_AT_decl_file : 2 DW_AT_decl_line : 125 -<2><10f> +<2><110> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe1): button -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x1ab): button +DW_AT_type : <0xe4> 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> +<2><11e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe8): interval -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x1b2): interval +DW_AT_type : <0xe4> 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> +<1><12d> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x110): ff_replay +DW_AT_name : (indirect string, offset: 0x1da): ff_replay DW_AT_byte_size : 4 DW_AT_decl_file : 2 DW_AT_decl_line : 121 -<2><134> +<2><135> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x103): length -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x1cd): length +DW_AT_type : <0xe4> 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> +<2><143> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10a): delay -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x1d4): delay +DW_AT_type : <0xe4> 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> +<1><152> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x172): ff_constant_effect +DW_AT_name : (indirect string, offset: 0x23c): ff_constant_effect DW_AT_byte_size : 10 DW_AT_decl_file : 2 DW_AT_decl_line : 135 -<2><159> +<2><15a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x125): level -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1ef): level +DW_AT_type : <0xf6> 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> +<2><168> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12b): envelope -DW_AT_type : <0x176> +DW_AT_name : (indirect string, offset: 0x1f5): envelope +DW_AT_type : <0x177> 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> +<1><177> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x166): ff_envelope +DW_AT_name : (indirect string, offset: 0x230): ff_envelope DW_AT_byte_size : 8 DW_AT_decl_file : 2 DW_AT_decl_line : 129 -<2><17e> +<2><17f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x134): attack_length -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x1fe): attack_length +DW_AT_type : <0xe4> 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> +<2><18d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x142): attack_level -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x20c): attack_level +DW_AT_type : <0xe4> 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> +<2><19b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14f): fade_length -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x219): fade_length +DW_AT_type : <0xe4> 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> +<2><1a9> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15b): fade_level -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x225): fade_level +DW_AT_type : <0xe4> 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> +<1><1b8> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1a0): ff_ramp_effect +DW_AT_name : (indirect string, offset: 0x26a): ff_ramp_effect DW_AT_byte_size : 12 DW_AT_decl_file : 2 DW_AT_decl_line : 139 -<2><1bf> +<2><1c0> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x18a): start_level -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x254): start_level +DW_AT_type : <0xf6> 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> +<2><1ce> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x196): end_level -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x260): end_level +DW_AT_type : <0xf6> 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> +<2><1dc> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12b): envelope -DW_AT_type : <0x176> +DW_AT_name : (indirect string, offset: 0x1f5): envelope +DW_AT_type : <0x177> 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> +<1><1eb> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x209): ff_periodic_effect +DW_AT_name : (indirect string, offset: 0x2d3): ff_periodic_effect DW_AT_byte_size : 28 DW_AT_decl_file : 2 DW_AT_decl_line : 152 -<2><1f2> +<2><1f3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1b8): waveform -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x282): waveform +DW_AT_type : <0xe4> 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> +<2><201> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1c1): period -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x28b): period +DW_AT_type : <0xe4> 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> +<2><20f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1c8): magnitude -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x292): magnitude +DW_AT_type : <0xf6> 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> +<2><21d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d2): offset -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x29c): offset +DW_AT_type : <0xf6> 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> +<2><22b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d9): phase -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x2a3): phase +DW_AT_type : <0xe4> 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> +<2><239> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12b): envelope -DW_AT_type : <0x176> +DW_AT_name : (indirect string, offset: 0x1f5): envelope +DW_AT_type : <0x177> 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> +<2><247> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1df): custom_len -DW_AT_type : <0x263> +DW_AT_name : (indirect string, offset: 0x2a9): custom_len +DW_AT_type : <0x264> 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> +<2><255> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1fd): custom_data -DW_AT_type : <0x275> +DW_AT_name : (indirect string, offset: 0x2c7): custom_data +DW_AT_type : <0x276> 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> +<1><264> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x26e> -DW_AT_name : (indirect string, offset: 0x1f7): __u32 +DW_AT_type : <0x26f> +DW_AT_name : (indirect string, offset: 0x2c1): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1><26e> +<1><26f> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1ea): unsigned int +DW_AT_name : (indirect string, offset: 0x2b4): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><275> +<1><276> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0xf5> -<1><27a> +DW_AT_type : <0xf6> +<1><27b> Abbrev Number: 9 (DW_TAG_array_type) -DW_AT_type : <0x287> -<2><27f> +DW_AT_type : <0x288> +<2><280> Abbrev Number: 10 (DW_TAG_subrange_type) -DW_AT_type : <0x2e4> +DW_AT_type : <0x2e5> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1><287> +<1><288> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x26e): ff_condition_effect +DW_AT_name : (indirect string, offset: 0x338): ff_condition_effect DW_AT_byte_size : 12 DW_AT_decl_file : 2 DW_AT_decl_line : 144 -<2><28f> +<2><290> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x226): right_saturation -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x2f0): right_saturation +DW_AT_type : <0xe4> 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> +<2><29e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x237): left_saturation -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x301): left_saturation +DW_AT_type : <0xe4> 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> +<2><2ac> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x247): right_coeff -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x311): right_coeff +DW_AT_type : <0xf6> 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> +<2><2ba> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x253): left_coeff -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x31d): left_coeff +DW_AT_type : <0xf6> 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> +<2><2c8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x25e): deadband -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x328): deadband +DW_AT_type : <0xe4> 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> +<2><2d6> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x267): center -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x331): center +DW_AT_type : <0xf6> 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> +<1><2e5> Abbrev Number: 11 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x282): sizetype +DW_AT_name : (indirect string, offset: 0x34c): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><2eb> +<1><2ec> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x2b2): ff_rumble_effect +DW_AT_name : (indirect string, offset: 0x37c): ff_rumble_effect DW_AT_byte_size : 4 DW_AT_decl_file : 2 DW_AT_decl_line : 162 -<2><2f3> +<2><2f4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x292): strong_magnitude -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x35c): strong_magnitude +DW_AT_type : <0xe4> 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> +<2><302> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2a3): weak_magnitude -DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x36d): weak_magnitude +DW_AT_type : <0xe4> 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_flock.d1 b/mpers-m32/struct_flock.d1 index bb915ba2..cfa00cc8 100644 --- a/mpers-m32/struct_flock.d1 +++ b/mpers-m32/struct_flock.d1 @@ -1,95 +1,96 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xc8 (32-bit) + Length: 0xc9 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_flock.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - DW_AT_name : (indirect string, offset: 0xd9): __kernel_off_t - DW_AT_decl_file : 2 - DW_AT_decl_line : 75 - <1>: 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>: 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>: 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>: 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 - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x120): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15b): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 4 + <2a> DW_AT_decl_line : 36 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1eb): struct_flock + <3a> DW_AT_decl_file : 4 + <3b> DW_AT_decl_line : 33 + <1><3c>: Abbrev Number: 3 (DW_TAG_typedef) + <3d> DW_AT_type : <0x47> + <41> DW_AT_name : (indirect string, offset: 0x1d7): struct_kernel_flock + <45> DW_AT_decl_file : 3 + <46> DW_AT_decl_line : 35 + <1><47>: Abbrev Number: 4 (DW_TAG_structure_type) + <48> DW_AT_name : (indirect string, offset: 0x1d1): flock + <4c> DW_AT_byte_size : 16 + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 148 + <2><4f>: Abbrev Number: 5 (DW_TAG_member) + <50> DW_AT_name : (indirect string, offset: 0x16c): l_type + <54> DW_AT_type : <0x96> + <58> DW_AT_decl_file : 1 + <59> DW_AT_decl_line : 149 + <5a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><5d>: Abbrev Number: 5 (DW_TAG_member) + <5e> DW_AT_name : (indirect string, offset: 0x179): l_whence + <62> DW_AT_type : <0x96> + <66> DW_AT_decl_file : 1 + <67> DW_AT_decl_line : 150 + <68> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><6b>: Abbrev Number: 5 (DW_TAG_member) + <6c> DW_AT_name : (indirect string, offset: 0x182): l_start + <70> DW_AT_type : <0x9d> + <74> DW_AT_decl_file : 1 + <75> DW_AT_decl_line : 151 + <76> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><79>: Abbrev Number: 5 (DW_TAG_member) + <7a> DW_AT_name : (indirect string, offset: 0x1b2): l_len + <7e> DW_AT_type : <0x9d> + <82> DW_AT_decl_file : 1 + <83> DW_AT_decl_line : 152 + <84> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><87>: Abbrev Number: 5 (DW_TAG_member) + <88> DW_AT_name : (indirect string, offset: 0x1b8): l_pid + <8c> DW_AT_type : <0xba> + <90> DW_AT_decl_file : 1 + <91> DW_AT_decl_line : 153 + <92> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><95>: Abbrev Number: 0 + <1><96>: Abbrev Number: 6 (DW_TAG_base_type) + <97> DW_AT_name : (indirect string, offset: 0x173): short + <9b> DW_AT_encoding : 5 (signed) + <9c> DW_AT_byte_size : 2 + <1><9d>: Abbrev Number: 3 (DW_TAG_typedef) + <9e> DW_AT_type : <0xa8> + DW_AT_name : (indirect string, offset: 0x1a3): __kernel_off_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 75 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xb3> + DW_AT_name : (indirect string, offset: 0x193): __kernel_long_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 23 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x18a): long int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xc5> + DW_AT_name : (indirect string, offset: 0x1c2): __kernel_pid_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 33 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1be): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 0 diff --git a/mpers-m32/struct_flock.d2 b/mpers-m32/struct_flock.d2 index 339edd1b..4a01ec0f 100644 --- a/mpers-m32/struct_flock.d2 +++ b/mpers-m32/struct_flock.d2 @@ -1,94 +1,94 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x91): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15b): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x121): struct_flock +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1eb): struct_flock DW_AT_decl_file : 4 DW_AT_decl_line : 33 -<1><3b> +<1><3c> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x46> -DW_AT_name : (indirect string, offset: 0x10d): struct_kernel_flock +DW_AT_type : <0x47> +DW_AT_name : (indirect string, offset: 0x1d7): struct_kernel_flock DW_AT_decl_file : 3 DW_AT_decl_line : 35 -<1><46> +<1><47> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x107): flock +DW_AT_name : (indirect string, offset: 0x1d1): flock DW_AT_byte_size : 16 DW_AT_decl_file : 1 DW_AT_decl_line : 148 -<2><4e> +<2><4f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa2): l_type -DW_AT_type : <0x95> +DW_AT_name : (indirect string, offset: 0x16c): l_type +DW_AT_type : <0x96> 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> +<2><5d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xaf): l_whence -DW_AT_type : <0x95> +DW_AT_name : (indirect string, offset: 0x179): l_whence +DW_AT_type : <0x96> 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> +<2><6b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb8): l_start -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x182): l_start +DW_AT_type : <0x9d> 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> +<2><79> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe8): l_len -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x1b2): l_len +DW_AT_type : <0x9d> 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> +<2><87> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xee): l_pid -DW_AT_type : <0xb9> +DW_AT_name : (indirect string, offset: 0x1b8): l_pid +DW_AT_type : <0xba> 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> +<1><96> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa9): short +DW_AT_name : (indirect string, offset: 0x173): short DW_AT_encoding : 5 (signed) DW_AT_byte_size : 2 -<1><9c> +<1><9d> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xa7> -DW_AT_name : (indirect string, offset: 0xd9): __kernel_off_t +DW_AT_type : <0xa8> +DW_AT_name : (indirect string, offset: 0x1a3): __kernel_off_t DW_AT_decl_file : 2 DW_AT_decl_line : 75 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xb2> -DW_AT_name : (indirect string, offset: 0xc9): __kernel_long_t +DW_AT_type : <0xb3> +DW_AT_name : (indirect string, offset: 0x193): __kernel_long_t DW_AT_decl_file : 2 DW_AT_decl_line : 23 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc0): long int +DW_AT_name : (indirect string, offset: 0x18a): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xc4> -DW_AT_name : (indirect string, offset: 0xf8): __kernel_pid_t +DW_AT_type : <0xc5> +DW_AT_name : (indirect string, offset: 0x1c2): __kernel_pid_t DW_AT_decl_file : 2 DW_AT_decl_line : 33 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xf4): int +DW_AT_name : (indirect string, offset: 0x1be): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_flock64.d1 b/mpers-m32/struct_flock64.d1 index 8e5c9b41..22031da7 100644 --- a/mpers-m32/struct_flock64.d1 +++ b/mpers-m32/struct_flock64.d1 @@ -1,90 +1,91 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xbd (32-bit) + Length: 0xbe (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_flock64.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - DW_AT_name : (indirect string, offset: 0xd0): __kernel_loff_t - DW_AT_decl_file : 2 - DW_AT_decl_line : 76 - <1>: 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>: 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>: 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 - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x122): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15d): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 4 + <2a> DW_AT_decl_line : 36 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1e7): struct_flock64 + <3a> DW_AT_decl_file : 4 + <3b> DW_AT_decl_line : 34 + <1><3c>: Abbrev Number: 3 (DW_TAG_typedef) + <3d> DW_AT_type : <0x47> + <41> DW_AT_name : (indirect string, offset: 0x1d1): struct_kernel_flock64 + <45> DW_AT_decl_file : 3 + <46> DW_AT_decl_line : 43 + <1><47>: Abbrev Number: 4 (DW_TAG_structure_type) + <48> DW_AT_name : (indirect string, offset: 0x1c9): flock64 + <4c> DW_AT_byte_size : 32 + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 161 + <2><4f>: Abbrev Number: 5 (DW_TAG_member) + <50> DW_AT_name : (indirect string, offset: 0x16e): l_type + <54> DW_AT_type : <0x96> + <58> DW_AT_decl_file : 1 + <59> DW_AT_decl_line : 162 + <5a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><5d>: Abbrev Number: 5 (DW_TAG_member) + <5e> DW_AT_name : (indirect string, offset: 0x17b): l_whence + <62> DW_AT_type : <0x96> + <66> DW_AT_decl_file : 1 + <67> DW_AT_decl_line : 163 + <68> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><6b>: Abbrev Number: 5 (DW_TAG_member) + <6c> DW_AT_name : (indirect string, offset: 0x184): l_start + <70> DW_AT_type : <0x9d> + <74> DW_AT_decl_file : 1 + <75> DW_AT_decl_line : 164 + <76> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><79>: Abbrev Number: 5 (DW_TAG_member) + <7a> DW_AT_name : (indirect string, offset: 0x1aa): l_len + <7e> DW_AT_type : <0x9d> + <82> DW_AT_decl_file : 1 + <83> DW_AT_decl_line : 165 + <84> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><87>: Abbrev Number: 5 (DW_TAG_member) + <88> DW_AT_name : (indirect string, offset: 0x1b0): l_pid + <8c> DW_AT_type : <0xaf> + <90> DW_AT_decl_file : 1 + <91> DW_AT_decl_line : 166 + <92> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><95>: Abbrev Number: 0 + <1><96>: Abbrev Number: 6 (DW_TAG_base_type) + <97> DW_AT_name : (indirect string, offset: 0x175): short + <9b> DW_AT_encoding : 5 (signed) + <9c> DW_AT_byte_size : 2 + <1><9d>: Abbrev Number: 3 (DW_TAG_typedef) + <9e> DW_AT_type : <0xa8> + DW_AT_name : (indirect string, offset: 0x19a): __kernel_loff_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 76 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x18c): long long int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 8 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xba> + DW_AT_name : (indirect string, offset: 0x1ba): __kernel_pid_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 33 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1b6): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 0 diff --git a/mpers-m32/struct_flock64.d2 b/mpers-m32/struct_flock64.d2 index 7313fa4e..b08df0d3 100644 --- a/mpers-m32/struct_flock64.d2 +++ b/mpers-m32/struct_flock64.d2 @@ -1,88 +1,88 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x93): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15d): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x11d): struct_flock64 +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1e7): struct_flock64 DW_AT_decl_file : 4 DW_AT_decl_line : 34 -<1><3b> +<1><3c> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x46> -DW_AT_name : (indirect string, offset: 0x107): struct_kernel_flock64 +DW_AT_type : <0x47> +DW_AT_name : (indirect string, offset: 0x1d1): struct_kernel_flock64 DW_AT_decl_file : 3 DW_AT_decl_line : 43 -<1><46> +<1><47> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xff): flock64 +DW_AT_name : (indirect string, offset: 0x1c9): flock64 DW_AT_byte_size : 32 DW_AT_decl_file : 1 DW_AT_decl_line : 161 -<2><4e> +<2><4f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa4): l_type -DW_AT_type : <0x95> +DW_AT_name : (indirect string, offset: 0x16e): l_type +DW_AT_type : <0x96> 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> +<2><5d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb1): l_whence -DW_AT_type : <0x95> +DW_AT_name : (indirect string, offset: 0x17b): l_whence +DW_AT_type : <0x96> 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> +<2><6b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xba): l_start -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x184): l_start +DW_AT_type : <0x9d> 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> +<2><79> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe0): l_len -DW_AT_type : <0x9c> +DW_AT_name : (indirect string, offset: 0x1aa): l_len +DW_AT_type : <0x9d> 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> +<2><87> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe6): l_pid -DW_AT_type : <0xae> +DW_AT_name : (indirect string, offset: 0x1b0): l_pid +DW_AT_type : <0xaf> 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> +<1><96> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xab): short +DW_AT_name : (indirect string, offset: 0x175): short DW_AT_encoding : 5 (signed) DW_AT_byte_size : 2 -<1><9c> +<1><9d> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xa7> -DW_AT_name : (indirect string, offset: 0xd0): __kernel_loff_t +DW_AT_type : <0xa8> +DW_AT_name : (indirect string, offset: 0x19a): __kernel_loff_t DW_AT_decl_file : 2 DW_AT_decl_line : 76 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc2): long long int +DW_AT_name : (indirect string, offset: 0x18c): long long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 8 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xb9> -DW_AT_name : (indirect string, offset: 0xf0): __kernel_pid_t +DW_AT_type : <0xba> +DW_AT_name : (indirect string, offset: 0x1ba): __kernel_pid_t DW_AT_decl_file : 2 DW_AT_decl_line : 33 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xec): int +DW_AT_name : (indirect string, offset: 0x1b6): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_group_req.d1 b/mpers-m32/struct_group_req.d1 index 2c7fce1a..8b010772 100644 --- a/mpers-m32/struct_group_req.d1 +++ b/mpers-m32/struct_group_req.d1 @@ -1,98 +1,99 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xc3 (32-bit) + Length: 0xc4 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_group_req.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - DW_AT_decl_file : 3 - DW_AT_decl_line : 23 - <1>: 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>: Abbrev Number: 9 (DW_TAG_array_type) - DW_AT_type : <0xb8> - <2>: Abbrev Number: 10 (DW_TAG_subrange_type) - DW_AT_type : <0xbf> - DW_AT_lower_bound : 0 - DW_AT_count : 126 - <2>: Abbrev Number: 0 - <1>: 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>: 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) - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x124): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 4 + <2a> DW_AT_decl_line : 37 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1f7): struct_group_req + <3a> DW_AT_decl_file : 4 + <3b> DW_AT_decl_line : 33 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1ed): group_req + <41> DW_AT_byte_size : 132 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 151 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x170): gr_interface + <49> DW_AT_type : <0x62> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 152 + <4f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><52>: Abbrev Number: 6 (DW_TAG_member) + <53> DW_AT_name : (indirect string, offset: 0x190): gr_group + <57> DW_AT_type : <0x74> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 153 + <5d> Unknown AT value: 88: 4 + <5e> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><61>: Abbrev Number: 0 + <1><62>: Abbrev Number: 3 (DW_TAG_typedef) + <63> DW_AT_type : <0x6d> + <67> DW_AT_name : (indirect string, offset: 0x18a): __u32 + <6b> DW_AT_decl_file : 1 + <6c> DW_AT_decl_line : 28 + <1><6d>: Abbrev Number: 7 (DW_TAG_base_type) + <6e> DW_AT_name : (indirect string, offset: 0x17d): unsigned int + <72> DW_AT_encoding : 7 (unsigned) + <73> DW_AT_byte_size : 4 + <1><74>: Abbrev Number: 8 (DW_TAG_structure_type) + <75> DW_AT_name : (indirect string, offset: 0x1dc): sockaddr_storage + <79> DW_AT_byte_size : 128 + <7a> DW_AT_decl_file : 3 + <7b> DW_AT_decl_line : 24 + <7c> Unknown AT value: 88: 4 + <2><7d>: Abbrev Number: 5 (DW_TAG_member) + <7e> DW_AT_name : (indirect string, offset: 0x199): ss_family + <82> DW_AT_type : <0x9a> + <86> DW_AT_decl_file : 3 + <87> DW_AT_decl_line : 25 + <88> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><8b>: Abbrev Number: 5 (DW_TAG_member) + <8c> DW_AT_name : (indirect string, offset: 0x1c7): __data + <90> DW_AT_type : <0xac> + <94> DW_AT_decl_file : 3 + <95> DW_AT_decl_line : 26 + <96> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><99>: Abbrev Number: 0 + <1><9a>: Abbrev Number: 3 (DW_TAG_typedef) + <9b> DW_AT_type : <0xa5> + <9f> DW_AT_name : (indirect string, offset: 0x1b2): __kernel_sa_family_t + DW_AT_decl_file : 3 + DW_AT_decl_line : 23 + <1>: Abbrev Number: 7 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1a3): unsigned short + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 2 + <1>: Abbrev Number: 9 (DW_TAG_array_type) + DW_AT_type : <0xb9> + <2>: Abbrev Number: 10 (DW_TAG_subrange_type) + DW_AT_type : <0xc0> + DW_AT_lower_bound : 0 + DW_AT_count : 126 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 7 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1ce): char + DW_AT_encoding : 8 (unsigned char) + DW_AT_byte_size : 1 + <1>: Abbrev Number: 11 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1d3): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>: Abbrev Number: 0 diff --git a/mpers-m32/struct_group_req.d2 b/mpers-m32/struct_group_req.d2 index 0c8a5d8f..ac2803ac 100644 --- a/mpers-m32/struct_group_req.d2 +++ b/mpers-m32/struct_group_req.d2 @@ -1,96 +1,96 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x95): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x136): struct_group_req +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1f7): struct_group_req DW_AT_decl_file : 4 DW_AT_decl_line : 33 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x12c): group_req +DW_AT_name : (indirect string, offset: 0x1ed): group_req DW_AT_byte_size : 132 DW_AT_decl_file : 2 -DW_AT_decl_line : 163 -<2><43> +DW_AT_decl_line : 151 +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa6): gr_interface -DW_AT_type : <0x61> +DW_AT_name : (indirect string, offset: 0x170): gr_interface +DW_AT_type : <0x62> DW_AT_decl_file : 2 -DW_AT_decl_line : 164 +DW_AT_decl_line : 152 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><51> +<2><52> Abbrev Number: 6 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc6): gr_group -DW_AT_type : <0x73> +DW_AT_name : (indirect string, offset: 0x190): gr_group +DW_AT_type : <0x74> DW_AT_decl_file : 2 -DW_AT_decl_line : 165 +DW_AT_decl_line : 153 Unknown AT value: 88: 4 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<1><61> +<1><62> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x6c> -DW_AT_name : (indirect string, offset: 0xc0): __u32 +DW_AT_type : <0x6d> +DW_AT_name : (indirect string, offset: 0x18a): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1><6c> +<1><6d> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb3): unsigned int +DW_AT_name : (indirect string, offset: 0x17d): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><73> +<1><74> Abbrev Number: 8 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x112): __kernel_sockaddr_storage +DW_AT_name : (indirect string, offset: 0x1dc): sockaddr_storage DW_AT_byte_size : 128 DW_AT_decl_file : 3 DW_AT_decl_line : 24 Unknown AT value: 88: 4 -<2><7c> +<2><7d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcf): ss_family -DW_AT_type : <0x99> +DW_AT_name : (indirect string, offset: 0x199): ss_family +DW_AT_type : <0x9a> 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> +<2><8b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfd): __data -DW_AT_type : <0xab> +DW_AT_name : (indirect string, offset: 0x1c7): __data +DW_AT_type : <0xac> 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> +<1><9a> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xa4> -DW_AT_name : (indirect string, offset: 0xe8): __kernel_sa_family_t +DW_AT_type : <0xa5> +DW_AT_name : (indirect string, offset: 0x1b2): __kernel_sa_family_t DW_AT_decl_file : 3 DW_AT_decl_line : 23 -<1> +<1> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xd9): unsigned short +DW_AT_name : (indirect string, offset: 0x1a3): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1> +<1> Abbrev Number: 9 (DW_TAG_array_type) -DW_AT_type : <0xb8> -<2> +DW_AT_type : <0xb9> +<2> Abbrev Number: 10 (DW_TAG_subrange_type) -DW_AT_type : <0xbf> +DW_AT_type : <0xc0> DW_AT_lower_bound : 0 DW_AT_count : 126 -<1> +<1> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x104): char +DW_AT_name : (indirect string, offset: 0x1ce): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1> +<1> Abbrev Number: 11 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x109): sizetype +DW_AT_name : (indirect string, offset: 0x1d3): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) diff --git a/mpers-m32/struct_hd_geometry.d1 b/mpers-m32/struct_hd_geometry.d1 index 5fb6cfd4..213e550b 100644 --- a/mpers-m32/struct_hd_geometry.d1 +++ b/mpers-m32/struct_hd_geometry.d1 @@ -1,69 +1,70 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x92 (32-bit) + Length: 0x93 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_hd_geometry.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x126): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x161): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 2 + <2a> DW_AT_decl_line : 37 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1cb): struct_hd_geometry + <3a> DW_AT_decl_file : 2 + <3b> DW_AT_decl_line : 35 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1bf): hd_geometry + <41> DW_AT_byte_size : 8 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 255 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x172): heads + <49> DW_AT_type : <0x81> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 256 + <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: 0x186): sectors + <58> DW_AT_type : <0x81> + <5c> DW_AT_decl_file : 1 + <5d> DW_AT_decl_line : 257 + <5f> DW_AT_data_member_location: 2 byte block: 23 1 (DW_OP_plus_uconst: 1) + <2><62>: Abbrev Number: 5 (DW_TAG_member) + <63> DW_AT_name : (indirect string, offset: 0x18e): cylinders + <67> DW_AT_type : <0x88> + <6b> DW_AT_decl_file : 1 + <6c> DW_AT_decl_line : 258 + <6e> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><71>: Abbrev Number: 5 (DW_TAG_member) + <72> DW_AT_name : (indirect string, offset: 0x1a7): start + <76> DW_AT_type : <0x8f> + <7a> DW_AT_decl_file : 1 + <7b> DW_AT_decl_line : 259 + <7d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><80>: Abbrev Number: 0 + <1><81>: Abbrev Number: 6 (DW_TAG_base_type) + <82> DW_AT_name : (indirect string, offset: 0x178): unsigned char + <86> DW_AT_encoding : 8 (unsigned char) + <87> DW_AT_byte_size : 1 + <1><88>: Abbrev Number: 6 (DW_TAG_base_type) + <89> DW_AT_name : (indirect string, offset: 0x198): unsigned short + <8d> DW_AT_encoding : 7 (unsigned) + <8e> DW_AT_byte_size : 2 + <1><8f>: Abbrev Number: 6 (DW_TAG_base_type) + <90> DW_AT_name : (indirect string, offset: 0x1ad): long unsigned int + <94> DW_AT_encoding : 7 (unsigned) + <95> DW_AT_byte_size : 4 + <1><96>: Abbrev Number: 0 diff --git a/mpers-m32/struct_hd_geometry.d2 b/mpers-m32/struct_hd_geometry.d2 index 4deae48f..6541189b 100644 --- a/mpers-m32/struct_hd_geometry.d2 +++ b/mpers-m32/struct_hd_geometry.d2 @@ -1,63 +1,63 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x97): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x161): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x101): struct_hd_geometry +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1cb): struct_hd_geometry DW_AT_decl_file : 2 DW_AT_decl_line : 35 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xf5): hd_geometry +DW_AT_name : (indirect string, offset: 0x1bf): hd_geometry DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 255 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa8): heads -DW_AT_type : <0x80> +DW_AT_name : (indirect string, offset: 0x172): heads +DW_AT_type : <0x81> 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> +<2><53> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xbc): sectors -DW_AT_type : <0x80> +DW_AT_name : (indirect string, offset: 0x186): sectors +DW_AT_type : <0x81> 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> +<2><62> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc4): cylinders -DW_AT_type : <0x87> +DW_AT_name : (indirect string, offset: 0x18e): cylinders +DW_AT_type : <0x88> 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> +<2><71> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdd): start -DW_AT_type : <0x8e> +DW_AT_name : (indirect string, offset: 0x1a7): start +DW_AT_type : <0x8f> 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> +<1><81> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xae): unsigned char +DW_AT_name : (indirect string, offset: 0x178): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><87> +<1><88> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xce): unsigned short +DW_AT_name : (indirect string, offset: 0x198): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><8e> +<1><8f> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe3): long unsigned int +DW_AT_name : (indirect string, offset: 0x1ad): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_ifconf.c b/mpers-m32/struct_ifconf.c index d7003acf..1aa6fdee 100644 --- a/mpers-m32/struct_ifconf.c +++ b/mpers-m32/struct_ifconf.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey - * 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 diff --git a/mpers-m32/struct_ifconf.d1 b/mpers-m32/struct_ifconf.d1 index 539da8e8..67d4368f 100644 --- a/mpers-m32/struct_ifconf.d1 +++ b/mpers-m32/struct_ifconf.d1 @@ -1,571 +1,572 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x4ae (32-bit) + Length: 0x4af (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_ifconf.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - DW_AT_decl_line : 124 - <2>: 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>: Abbrev Number: 6 (DW_TAG_union_type) - DW_AT_byte_size : 16 - DW_AT_decl_file : 1 - DW_AT_decl_line : 126 - <3>: 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) - <3>: Abbrev Number: 0 - <2>: 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>: Abbrev Number: 6 (DW_TAG_union_type) - DW_AT_byte_size : 16 - DW_AT_decl_file : 1 - DW_AT_decl_line : 129 - <3>: 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>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x121): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 5 + <2a> DW_AT_decl_line : 44 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x423): struct_ifconf + <3a> DW_AT_decl_file : 5 + <3b> DW_AT_decl_line : 41 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x41c): ifconf + <41> DW_AT_byte_size : 8 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 181 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16d): ifc_len + <49> DW_AT_type : <0x82> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 182 + <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: 0x179): ifc_ifcu + <57> DW_AT_type : <0x60> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 186 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 6 (DW_TAG_union_type) + <61> DW_AT_byte_size : 4 + <62> DW_AT_decl_file : 1 + <63> DW_AT_decl_line : 183 + <3><64>: Abbrev Number: 5 (DW_TAG_member) + <65> DW_AT_name : (indirect string, offset: 0x182): ifcu_buf + <69> DW_AT_type : <0x89> + <6d> DW_AT_decl_file : 1 + <6e> DW_AT_decl_line : 184 + <6f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><72>: Abbrev Number: 5 (DW_TAG_member) + <73> DW_AT_name : (indirect string, offset: 0x190): ifcu_req + <77> DW_AT_type : <0x95> + <7b> DW_AT_decl_file : 1 + <7c> DW_AT_decl_line : 185 + <7d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><80>: Abbrev Number: 0 + <2><81>: Abbrev Number: 0 + <1><82>: Abbrev Number: 7 (DW_TAG_base_type) + <83> DW_AT_name : (indirect string, offset: 0x175): int + <87> DW_AT_encoding : 5 (signed) + <88> DW_AT_byte_size : 4 + <1><89>: Abbrev Number: 8 (DW_TAG_pointer_type) + <8a> DW_AT_type : <0x8e> + <1><8e>: Abbrev Number: 7 (DW_TAG_base_type) + <8f> DW_AT_name : (indirect string, offset: 0x18b): char + <93> DW_AT_encoding : 8 (unsigned char) + <94> DW_AT_byte_size : 1 + <1><95>: Abbrev Number: 8 (DW_TAG_pointer_type) + <96> DW_AT_type : <0x9a> + <1><9a>: Abbrev Number: 4 (DW_TAG_structure_type) + <9b> DW_AT_name : (indirect string, offset: 0x416): ifreq + <9f> DW_AT_byte_size : 32 + DW_AT_decl_file : 1 + DW_AT_decl_line : 141 + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x199): ifr_ifrn + DW_AT_type : <0xb0> + DW_AT_decl_file : 1 + DW_AT_decl_line : 145 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2>: Abbrev Number: 6 (DW_TAG_union_type) + DW_AT_byte_size : 16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 143 + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1a2): ifrn_name + DW_AT_type : <0x18d> + DW_AT_decl_file : 1 + DW_AT_decl_line : 144 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1b5): ifr_ifru + DW_AT_type : <0xd1> + DW_AT_decl_file : 1 + DW_AT_decl_line : 160 + DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2>: Abbrev Number: 6 (DW_TAG_union_type) + DW_AT_byte_size : 16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 146 + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1be): ifru_addr + DW_AT_type : <0x1a1> + DW_AT_decl_file : 1 + DW_AT_decl_line : 147 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1fe): ifru_dstaddr + DW_AT_type : <0x1a1> + DW_AT_decl_file : 1 + DW_AT_decl_line : 148 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x20b): ifru_broadaddr + DW_AT_type : <0x1a1> + 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) + <3>: Abbrev Number: 5 (DW_TAG_member) + <100> DW_AT_name : (indirect string, offset: 0x21a): ifru_netmask + <104> DW_AT_type : <0x1a1> + <108> DW_AT_decl_file : 1 + <109> DW_AT_decl_line : 150 + <10a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><10d>: Abbrev Number: 5 (DW_TAG_member) + <10e> DW_AT_name : (indirect string, offset: 0x227): ifru_hwaddr + <112> DW_AT_type : <0x1a1> + <116> DW_AT_decl_file : 1 + <117> DW_AT_decl_line : 151 + <118> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><11b>: Abbrev Number: 5 (DW_TAG_member) + <11c> DW_AT_name : (indirect string, offset: 0x233): ifru_flags + <120> DW_AT_type : <0x1e5> + <124> DW_AT_decl_file : 1 + <125> DW_AT_decl_line : 152 + <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: 0x244): ifru_ivalue + <12e> DW_AT_type : <0x82> + <132> DW_AT_decl_file : 1 + <133> DW_AT_decl_line : 153 + <134> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><137>: Abbrev Number: 5 (DW_TAG_member) + <138> DW_AT_name : (indirect string, offset: 0x250): ifru_mtu + <13c> DW_AT_type : <0x82> + <140> DW_AT_decl_file : 1 + <141> DW_AT_decl_line : 154 + <142> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><145>: Abbrev Number: 5 (DW_TAG_member) + <146> DW_AT_name : (indirect string, offset: 0x259): ifru_map + <14a> DW_AT_type : <0x1ec> + <14e> DW_AT_decl_file : 1 + <14f> DW_AT_decl_line : 155 + <150> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><153>: Abbrev Number: 5 (DW_TAG_member) + <154> DW_AT_name : (indirect string, offset: 0x2b1): ifru_slave + <158> DW_AT_type : <0x18d> + <15c> DW_AT_decl_file : 1 + <15d> DW_AT_decl_line : 156 + <15e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><161>: Abbrev Number: 5 (DW_TAG_member) + <162> DW_AT_name : (indirect string, offset: 0x2bc): ifru_newname + <166> DW_AT_type : <0x18d> + <16a> DW_AT_decl_file : 1 + <16b> DW_AT_decl_line : 157 + <16c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><16f>: Abbrev Number: 5 (DW_TAG_member) + <170> DW_AT_name : (indirect string, offset: 0x2c9): ifru_data + <174> DW_AT_type : <0x257> + <178> DW_AT_decl_file : 1 + <179> DW_AT_decl_line : 158 + <17a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><17d>: Abbrev Number: 5 (DW_TAG_member) + <17e> DW_AT_name : (indirect string, offset: 0x2d3): ifru_settings + <182> DW_AT_type : <0x258> + <186> DW_AT_decl_file : 1 + <187> DW_AT_decl_line : 159 + <188> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><18b>: Abbrev Number: 0 + <2><18c>: Abbrev Number: 0 + <1><18d>: Abbrev Number: 9 (DW_TAG_array_type) + <18e> DW_AT_type : <0x8e> + <2><192>: Abbrev Number: 10 (DW_TAG_subrange_type) + <193> DW_AT_type : <0x19a> + <197> DW_AT_lower_bound : 0 + <198> DW_AT_count : 16 + <2><199>: Abbrev Number: 0 + <1><19a>: Abbrev Number: 11 (DW_TAG_base_type) + <19b> DW_AT_name : (indirect string, offset: 0x1ac): sizetype + <19f> DW_AT_byte_size : 8 + <1a0> DW_AT_encoding : 7 (unsigned) + <1><1a1>: Abbrev Number: 4 (DW_TAG_structure_type) + <1a2> DW_AT_name : (indirect string, offset: 0x1f5): sockaddr + <1a6> DW_AT_byte_size : 16 + <1a7> DW_AT_decl_file : 3 + <1a8> DW_AT_decl_line : 74 + <2><1a9>: Abbrev Number: 5 (DW_TAG_member) + <1aa> DW_AT_name : (indirect string, offset: 0x1c8): sa_family + <1ae> DW_AT_type : <0x1c6> + <1b2> DW_AT_decl_file : 3 + <1b3> DW_AT_decl_line : 75 + <1b4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><1b7>: Abbrev Number: 5 (DW_TAG_member) + <1b8> DW_AT_name : (indirect string, offset: 0x1ed): sa_data + <1bc> DW_AT_type : <0x1d8> + <1c0> DW_AT_decl_file : 3 + <1c1> DW_AT_decl_line : 76 + <1c2> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><1c5>: Abbrev Number: 0 + <1><1c6>: Abbrev Number: 3 (DW_TAG_typedef) + <1c7> DW_AT_type : <0x1d1> + <1cb> DW_AT_name : (indirect string, offset: 0x1e1): sa_family_t + <1cf> DW_AT_decl_file : 2 + <1d0> DW_AT_decl_line : 34 + <1><1d1>: Abbrev Number: 7 (DW_TAG_base_type) + <1d2> DW_AT_name : (indirect string, offset: 0x1d2): unsigned short + <1d6> DW_AT_encoding : 7 (unsigned) + <1d7> DW_AT_byte_size : 2 + <1><1d8>: Abbrev Number: 9 (DW_TAG_array_type) + <1d9> DW_AT_type : <0x8e> + <2><1dd>: Abbrev Number: 10 (DW_TAG_subrange_type) + <1de> DW_AT_type : <0x19a> + <1e2> DW_AT_lower_bound : 0 + <1e3> DW_AT_count : 14 + <2><1e4>: Abbrev Number: 0 + <1><1e5>: Abbrev Number: 7 (DW_TAG_base_type) + <1e6> DW_AT_name : (indirect string, offset: 0x23e): short + <1ea> DW_AT_encoding : 5 (signed) + <1eb> DW_AT_byte_size : 2 + <1><1ec>: Abbrev Number: 4 (DW_TAG_structure_type) + <1ed> DW_AT_name : (indirect string, offset: 0x2ab): ifmap + <1f1> DW_AT_byte_size : 16 + <1f2> DW_AT_decl_file : 1 + <1f3> DW_AT_decl_line : 118 + <2><1f4>: Abbrev Number: 5 (DW_TAG_member) + <1f5> DW_AT_name : (indirect string, offset: 0x262): mem_start + <1f9> DW_AT_type : <0x249> + <1fd> DW_AT_decl_file : 1 + <1fe> DW_AT_decl_line : 119 + <1ff> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><202>: Abbrev Number: 5 (DW_TAG_member) + <203> DW_AT_name : (indirect string, offset: 0x27e): mem_end + <207> DW_AT_type : <0x249> + <20b> DW_AT_decl_file : 1 + <20c> DW_AT_decl_line : 120 + <20d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><210>: Abbrev Number: 5 (DW_TAG_member) + <211> DW_AT_name : (indirect string, offset: 0x286): base_addr + <215> DW_AT_type : <0x1d1> + <219> DW_AT_decl_file : 1 + <21a> DW_AT_decl_line : 121 + <21b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><21e>: Abbrev Number: 5 (DW_TAG_member) + <21f> DW_AT_name : (indirect string, offset: 0x290): irq + <223> DW_AT_type : <0x250> + <227> DW_AT_decl_file : 1 + <228> DW_AT_decl_line : 122 + <229> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) + <2><22c>: Abbrev Number: 5 (DW_TAG_member) + <22d> DW_AT_name : (indirect string, offset: 0x2a2): dma + <231> DW_AT_type : <0x250> + <235> DW_AT_decl_file : 1 + <236> DW_AT_decl_line : 123 + <237> DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11) + <2><23a>: Abbrev Number: 5 (DW_TAG_member) + <23b> DW_AT_name : (indirect string, offset: 0x2a6): port + <23f> DW_AT_type : <0x250> + <243> DW_AT_decl_file : 1 + <244> DW_AT_decl_line : 124 + <245> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><248>: Abbrev Number: 0 + <1><249>: Abbrev Number: 7 (DW_TAG_base_type) + <24a> DW_AT_name : (indirect string, offset: 0x26c): long unsigned int + <24e> DW_AT_encoding : 7 (unsigned) + <24f> DW_AT_byte_size : 4 + <1><250>: Abbrev Number: 7 (DW_TAG_base_type) + <251> DW_AT_name : (indirect string, offset: 0x294): unsigned char + <255> DW_AT_encoding : 8 (unsigned char) + <256> DW_AT_byte_size : 1 + <1><257>: Abbrev Number: 12 (DW_TAG_pointer_type) + <1><258>: Abbrev Number: 4 (DW_TAG_structure_type) + <259> DW_AT_name : (indirect string, offset: 0x40a): if_settings + <25d> DW_AT_byte_size : 12 + <25e> DW_AT_decl_file : 1 + <25f> DW_AT_decl_line : 127 + <2><260>: Abbrev Number: 5 (DW_TAG_member) + <261> DW_AT_name : (indirect string, offset: 0x2e1): type + <265> DW_AT_type : <0x2f2> + <269> DW_AT_decl_file : 1 + <26a> DW_AT_decl_line : 128 + <26b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><26e>: Abbrev Number: 5 (DW_TAG_member) + <26f> DW_AT_name : (indirect string, offset: 0x2f3): size + <273> DW_AT_type : <0x2f2> + <277> DW_AT_decl_file : 1 + <278> DW_AT_decl_line : 129 + <279> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><27c>: Abbrev Number: 5 (DW_TAG_member) + <27d> DW_AT_name : (indirect string, offset: 0x2f8): ifs_ifsu + <281> DW_AT_type : <0x28a> + <285> DW_AT_decl_file : 1 + <286> DW_AT_decl_line : 138 + <287> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><28a>: Abbrev Number: 6 (DW_TAG_union_type) + <28b> DW_AT_byte_size : 4 + <28c> DW_AT_decl_file : 1 + <28d> DW_AT_decl_line : 130 + <3><28e>: Abbrev Number: 5 (DW_TAG_member) + <28f> DW_AT_name : (indirect string, offset: 0x301): raw_hdlc + <293> DW_AT_type : <0x2f9> + <297> DW_AT_decl_file : 1 + <298> DW_AT_decl_line : 131 + <299> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><29c>: Abbrev Number: 5 (DW_TAG_member) + <29d> DW_AT_name : (indirect string, offset: 0x329): cisco + <2a1> DW_AT_type : <0x32a> + <2a5> DW_AT_decl_file : 1 + <2a6> DW_AT_decl_line : 132 + <2a7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2aa>: Abbrev Number: 5 (DW_TAG_member) + <2ab> DW_AT_name : (indirect string, offset: 0x34c): fr + <2af> DW_AT_type : <0x35b> + <2b3> DW_AT_decl_file : 1 + <2b4> DW_AT_decl_line : 133 + <2b5> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2b8>: Abbrev Number: 5 (DW_TAG_member) + <2b9> DW_AT_name : (indirect string, offset: 0x379): fr_pvc + <2bd> DW_AT_type : <0x3d2> + <2c1> DW_AT_decl_file : 1 + <2c2> DW_AT_decl_line : 134 + <2c3> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2c6>: Abbrev Number: 5 (DW_TAG_member) + <2c7> DW_AT_name : (indirect string, offset: 0x392): fr_pvc_info + <2cb> DW_AT_type : <0x3f5> + <2cf> DW_AT_decl_file : 1 + <2d0> DW_AT_decl_line : 135 + <2d1> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2d4>: Abbrev Number: 5 (DW_TAG_member) + <2d5> DW_AT_name : (indirect string, offset: 0x3b7): sync + <2d9> DW_AT_type : <0x426> + <2dd> DW_AT_decl_file : 1 + <2de> DW_AT_decl_line : 136 + <2df> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2e2>: Abbrev Number: 5 (DW_TAG_member) + <2e3> DW_AT_name : (indirect string, offset: 0x3f0): te1 + <2e7> DW_AT_type : <0x465> + <2eb> DW_AT_decl_file : 1 + <2ec> DW_AT_decl_line : 137 + <2ed> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2f0>: Abbrev Number: 0 + <2><2f1>: Abbrev Number: 0 + <1><2f2>: Abbrev Number: 7 (DW_TAG_base_type) + <2f3> DW_AT_name : (indirect string, offset: 0x2e6): unsigned int + <2f7> DW_AT_encoding : 7 (unsigned) + <2f8> DW_AT_byte_size : 4 + <1><2f9>: Abbrev Number: 8 (DW_TAG_pointer_type) + <2fa> DW_AT_type : <0x2fe> + <1><2fe>: Abbrev Number: 3 (DW_TAG_typedef) + <2ff> DW_AT_type : <0x309> + <303> DW_AT_name : (indirect string, offset: 0x31a): raw_hdlc_proto + <307> DW_AT_decl_file : 4 + <308> DW_AT_decl_line : 61 + <1><309>: Abbrev Number: 13 (DW_TAG_structure_type) + <30a> DW_AT_byte_size : 4 + <30b> DW_AT_decl_file : 4 + <30c> DW_AT_decl_line : 58 + <2><30d>: Abbrev Number: 5 (DW_TAG_member) + <30e> DW_AT_name : (indirect string, offset: 0x30a): encoding + <312> DW_AT_type : <0x1d1> + <316> DW_AT_decl_file : 4 + <317> DW_AT_decl_line : 59 + <318> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><31b>: Abbrev Number: 5 (DW_TAG_member) + <31c> DW_AT_name : (indirect string, offset: 0x313): parity + <320> DW_AT_type : <0x1d1> + <324> DW_AT_decl_file : 4 + <325> DW_AT_decl_line : 60 + <326> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><329>: Abbrev Number: 0 + <1><32a>: Abbrev Number: 8 (DW_TAG_pointer_type) + <32b> DW_AT_type : <0x32f> + <1><32f>: Abbrev Number: 3 (DW_TAG_typedef) + <330> DW_AT_type : <0x33a> + <334> DW_AT_name : (indirect string, offset: 0x340): cisco_proto + <338> DW_AT_decl_file : 4 + <339> DW_AT_decl_line : 81 + <1><33a>: Abbrev Number: 13 (DW_TAG_structure_type) + <33b> DW_AT_byte_size : 8 + <33c> DW_AT_decl_file : 4 + <33d> DW_AT_decl_line : 78 + <2><33e>: Abbrev Number: 5 (DW_TAG_member) + <33f> DW_AT_name : (indirect string, offset: 0x32f): interval + <343> DW_AT_type : <0x2f2> + <347> DW_AT_decl_file : 4 + <348> DW_AT_decl_line : 79 + <349> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><34c>: Abbrev Number: 5 (DW_TAG_member) + <34d> DW_AT_name : (indirect string, offset: 0x338): timeout + <351> DW_AT_type : <0x2f2> + <355> DW_AT_decl_file : 4 + <356> DW_AT_decl_line : 80 + <357> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><35a>: Abbrev Number: 0 + <1><35b>: Abbrev Number: 8 (DW_TAG_pointer_type) + <35c> DW_AT_type : <0x360> + <1><360>: Abbrev Number: 3 (DW_TAG_typedef) + <361> DW_AT_type : <0x36b> + <365> DW_AT_name : (indirect string, offset: 0x370): fr_proto + <369> DW_AT_decl_file : 4 + <36a> DW_AT_decl_line : 70 + <1><36b>: Abbrev Number: 13 (DW_TAG_structure_type) + <36c> DW_AT_byte_size : 24 + <36d> DW_AT_decl_file : 4 + <36e> DW_AT_decl_line : 62 + <2><36f>: Abbrev Number: 5 (DW_TAG_member) + <370> DW_AT_name : (indirect string, offset: 0x34f): t391 + <374> DW_AT_type : <0x2f2> + <378> DW_AT_decl_file : 4 + <379> DW_AT_decl_line : 63 + <37a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><37d>: Abbrev Number: 5 (DW_TAG_member) + <37e> DW_AT_name : (indirect string, offset: 0x354): t392 + <382> DW_AT_type : <0x2f2> + <386> DW_AT_decl_file : 4 + <387> DW_AT_decl_line : 64 + <388> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><38b>: Abbrev Number: 5 (DW_TAG_member) + <38c> DW_AT_name : (indirect string, offset: 0x359): n391 + <390> DW_AT_type : <0x2f2> + <394> DW_AT_decl_file : 4 + <395> DW_AT_decl_line : 65 + <396> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><399>: Abbrev Number: 5 (DW_TAG_member) + <39a> DW_AT_name : (indirect string, offset: 0x35e): n392 + <39e> DW_AT_type : <0x2f2> + <3a2> DW_AT_decl_file : 4 + <3a3> DW_AT_decl_line : 66 + <3a4> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><3a7>: Abbrev Number: 5 (DW_TAG_member) + <3a8> DW_AT_name : (indirect string, offset: 0x363): n393 + <3ac> DW_AT_type : <0x2f2> + <3b0> DW_AT_decl_file : 4 + <3b1> DW_AT_decl_line : 67 + <3b2> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><3b5>: Abbrev Number: 5 (DW_TAG_member) + <3b6> DW_AT_name : (indirect string, offset: 0x368): lmi + <3ba> DW_AT_type : <0x1d1> + <3be> DW_AT_decl_file : 4 + <3bf> DW_AT_decl_line : 68 + <3c0> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><3c3>: Abbrev Number: 5 (DW_TAG_member) + <3c4> DW_AT_name : (indirect string, offset: 0x36c): dce + <3c8> DW_AT_type : <0x1d1> + <3cc> DW_AT_decl_file : 4 + <3cd> DW_AT_decl_line : 69 + <3ce> DW_AT_data_member_location: 2 byte block: 23 16 (DW_OP_plus_uconst: 22) + <2><3d1>: Abbrev Number: 0 + <1><3d2>: Abbrev Number: 8 (DW_TAG_pointer_type) + <3d3> DW_AT_type : <0x3d7> + <1><3d7>: Abbrev Number: 3 (DW_TAG_typedef) + <3d8> DW_AT_type : <0x3e2> + <3dc> DW_AT_name : (indirect string, offset: 0x385): fr_proto_pvc + <3e0> DW_AT_decl_file : 4 + <3e1> DW_AT_decl_line : 73 + <1><3e2>: Abbrev Number: 13 (DW_TAG_structure_type) + <3e3> DW_AT_byte_size : 4 + <3e4> DW_AT_decl_file : 4 + <3e5> DW_AT_decl_line : 71 + <2><3e6>: Abbrev Number: 5 (DW_TAG_member) + <3e7> DW_AT_name : (indirect string, offset: 0x380): dlci + <3eb> DW_AT_type : <0x2f2> + <3ef> DW_AT_decl_file : 4 + <3f0> DW_AT_decl_line : 72 + <3f1> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><3f4>: Abbrev Number: 0 + <1><3f5>: Abbrev Number: 8 (DW_TAG_pointer_type) + <3f6> DW_AT_type : <0x3fa> + <1><3fa>: Abbrev Number: 3 (DW_TAG_typedef) + <3fb> DW_AT_type : <0x405> + <3ff> DW_AT_name : (indirect string, offset: 0x3a5): fr_proto_pvc_info + <403> DW_AT_decl_file : 4 + <404> DW_AT_decl_line : 77 + <1><405>: Abbrev Number: 13 (DW_TAG_structure_type) + <406> DW_AT_byte_size : 20 + <407> DW_AT_decl_file : 4 + <408> DW_AT_decl_line : 74 + <2><409>: Abbrev Number: 5 (DW_TAG_member) + <40a> DW_AT_name : (indirect string, offset: 0x380): dlci + <40e> DW_AT_type : <0x2f2> + <412> DW_AT_decl_file : 4 + <413> DW_AT_decl_line : 75 + <414> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><417>: Abbrev Number: 5 (DW_TAG_member) + <418> DW_AT_name : (indirect string, offset: 0x39e): master + <41c> DW_AT_type : <0x18d> + <420> DW_AT_decl_file : 4 + <421> DW_AT_decl_line : 76 + <422> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><425>: Abbrev Number: 0 + <1><426>: Abbrev Number: 8 (DW_TAG_pointer_type) + <427> DW_AT_type : <0x42b> + <1><42b>: Abbrev Number: 3 (DW_TAG_typedef) + <42c> DW_AT_type : <0x436> + <430> DW_AT_name : (indirect string, offset: 0x3db): sync_serial_settings + <434> DW_AT_decl_file : 4 + <435> DW_AT_decl_line : 51 + <1><436>: Abbrev Number: 13 (DW_TAG_structure_type) + <437> DW_AT_byte_size : 12 + <438> DW_AT_decl_file : 4 + <439> DW_AT_decl_line : 47 + <2><43a>: Abbrev Number: 5 (DW_TAG_member) + <43b> DW_AT_name : (indirect string, offset: 0x3bc): clock_rate + <43f> DW_AT_type : <0x2f2> + <443> DW_AT_decl_file : 4 + <444> DW_AT_decl_line : 48 + <445> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><448>: Abbrev Number: 5 (DW_TAG_member) + <449> DW_AT_name : (indirect string, offset: 0x3c7): clock_type + <44d> DW_AT_type : <0x2f2> + <451> DW_AT_decl_file : 4 + <452> DW_AT_decl_line : 49 + <453> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><456>: Abbrev Number: 5 (DW_TAG_member) + <457> DW_AT_name : (indirect string, offset: 0x3d2): loopback + <45b> DW_AT_type : <0x1d1> + <45f> DW_AT_decl_file : 4 + <460> DW_AT_decl_line : 50 + <461> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><464>: Abbrev Number: 0 + <1><465>: Abbrev Number: 8 (DW_TAG_pointer_type) + <466> DW_AT_type : <0x46a> + <1><46a>: Abbrev Number: 3 (DW_TAG_typedef) + <46b> DW_AT_type : <0x475> + <46f> DW_AT_name : (indirect string, offset: 0x3fd): te1_settings + <473> DW_AT_decl_file : 4 + <474> DW_AT_decl_line : 57 + <1><475>: Abbrev Number: 13 (DW_TAG_structure_type) + <476> DW_AT_byte_size : 16 + <477> DW_AT_decl_file : 4 + <478> DW_AT_decl_line : 52 + <2><479>: Abbrev Number: 5 (DW_TAG_member) + <47a> DW_AT_name : (indirect string, offset: 0x3bc): clock_rate + <47e> DW_AT_type : <0x2f2> + <482> DW_AT_decl_file : 4 + <483> DW_AT_decl_line : 53 + <484> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><487>: Abbrev Number: 5 (DW_TAG_member) + <488> DW_AT_name : (indirect string, offset: 0x3c7): clock_type + <48c> DW_AT_type : <0x2f2> + <490> DW_AT_decl_file : 4 + <491> DW_AT_decl_line : 54 + <492> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><495>: Abbrev Number: 5 (DW_TAG_member) + <496> DW_AT_name : (indirect string, offset: 0x3d2): loopback + <49a> DW_AT_type : <0x1d1> + <49e> DW_AT_decl_file : 4 + <49f> DW_AT_decl_line : 55 + <4a0> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><4a3>: Abbrev Number: 5 (DW_TAG_member) + <4a4> DW_AT_name : (indirect string, offset: 0x3f4): slot_map + <4a8> DW_AT_type : <0x2f2> + <4ac> DW_AT_decl_file : 4 + <4ad> DW_AT_decl_line : 56 + <4ae> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><4b1>: Abbrev Number: 0 + <1><4b2>: Abbrev Number: 0 diff --git a/mpers-m32/struct_ifconf.d2 b/mpers-m32/struct_ifconf.d2 index 6f2a8c69..0ba71914 100644 --- a/mpers-m32/struct_ifconf.d2 +++ b/mpers-m32/struct_ifconf.d2 @@ -1,645 +1,645 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x92): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x359): struct_ifconf +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x423): struct_ifconf DW_AT_decl_file : 5 DW_AT_decl_line : 41 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x352): ifconf +DW_AT_name : (indirect string, offset: 0x41c): ifconf DW_AT_byte_size : 8 DW_AT_decl_file : 1 -DW_AT_decl_line : 164 -<2><43> +DW_AT_decl_line : 181 +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa3): ifc_len -DW_AT_type : <0x81> +DW_AT_name : (indirect string, offset: 0x16d): ifc_len +DW_AT_type : <0x82> DW_AT_decl_file : 1 -DW_AT_decl_line : 165 +DW_AT_decl_line : 182 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><51> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xaf): ifc_ifcu -DW_AT_type : <0x5f> +DW_AT_name : (indirect string, offset: 0x179): ifc_ifcu +DW_AT_type : <0x60> DW_AT_decl_file : 1 -DW_AT_decl_line : 169 +DW_AT_decl_line : 186 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><5f> +<2><60> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 4 DW_AT_decl_file : 1 -DW_AT_decl_line : 166 -<3><63> +DW_AT_decl_line : 183 +<3><64> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb8): ifcu_buf -DW_AT_type : <0x88> +DW_AT_name : (indirect string, offset: 0x182): ifcu_buf +DW_AT_type : <0x89> DW_AT_decl_file : 1 -DW_AT_decl_line : 167 +DW_AT_decl_line : 184 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><71> +<3><72> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc6): ifcu_req -DW_AT_type : <0x94> +DW_AT_name : (indirect string, offset: 0x190): ifcu_req +DW_AT_type : <0x95> DW_AT_decl_file : 1 -DW_AT_decl_line : 168 +DW_AT_decl_line : 185 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<1><81> +<1><82> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xab): int +DW_AT_name : (indirect string, offset: 0x175): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><88> +<1><89> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x8d> -<1><8d> +DW_AT_type : <0x8e> +<1><8e> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc1): char +DW_AT_name : (indirect string, offset: 0x18b): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><94> +<1><95> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x99> -<1><99> +DW_AT_type : <0x9a> +<1><9a> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x34c): ifreq +DW_AT_name : (indirect string, offset: 0x416): ifreq DW_AT_byte_size : 32 DW_AT_decl_file : 1 -DW_AT_decl_line : 124 -<2> +DW_AT_decl_line : 141 +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcf): ifr_ifrn -DW_AT_type : <0xaf> +DW_AT_name : (indirect string, offset: 0x199): ifr_ifrn +DW_AT_type : <0xb0> DW_AT_decl_file : 1 -DW_AT_decl_line : 128 +DW_AT_decl_line : 145 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2> +<2> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 16 DW_AT_decl_file : 1 -DW_AT_decl_line : 126 -<3> +DW_AT_decl_line : 143 +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd8): ifrn_name -DW_AT_type : <0x18c> +DW_AT_name : (indirect string, offset: 0x1a2): ifrn_name +DW_AT_type : <0x18d> DW_AT_decl_file : 1 -DW_AT_decl_line : 127 +DW_AT_decl_line : 144 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xeb): ifr_ifru -DW_AT_type : <0xd0> +DW_AT_name : (indirect string, offset: 0x1b5): ifr_ifru +DW_AT_type : <0xd1> DW_AT_decl_file : 1 -DW_AT_decl_line : 143 +DW_AT_decl_line : 160 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2> +<2> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 16 DW_AT_decl_file : 1 -DW_AT_decl_line : 129 -<3> +DW_AT_decl_line : 146 +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf4): ifru_addr -DW_AT_type : <0x1a0> +DW_AT_name : (indirect string, offset: 0x1be): ifru_addr +DW_AT_type : <0x1a1> DW_AT_decl_file : 1 -DW_AT_decl_line : 130 +DW_AT_decl_line : 147 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x134): ifru_dstaddr -DW_AT_type : <0x1a0> +DW_AT_name : (indirect string, offset: 0x1fe): ifru_dstaddr +DW_AT_type : <0x1a1> DW_AT_decl_file : 1 -DW_AT_decl_line : 131 +DW_AT_decl_line : 148 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x141): ifru_broadaddr -DW_AT_type : <0x1a0> +DW_AT_name : (indirect string, offset: 0x20b): ifru_broadaddr +DW_AT_type : <0x1a1> DW_AT_decl_file : 1 -DW_AT_decl_line : 132 +DW_AT_decl_line : 149 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x150): ifru_netmask -DW_AT_type : <0x1a0> +DW_AT_name : (indirect string, offset: 0x21a): ifru_netmask +DW_AT_type : <0x1a1> DW_AT_decl_file : 1 -DW_AT_decl_line : 133 +DW_AT_decl_line : 150 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><10c> +<3><10d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15d): ifru_hwaddr -DW_AT_type : <0x1a0> +DW_AT_name : (indirect string, offset: 0x227): ifru_hwaddr +DW_AT_type : <0x1a1> DW_AT_decl_file : 1 -DW_AT_decl_line : 134 +DW_AT_decl_line : 151 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><11a> +<3><11b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x169): ifru_flags -DW_AT_type : <0x1e4> +DW_AT_name : (indirect string, offset: 0x233): ifru_flags +DW_AT_type : <0x1e5> DW_AT_decl_file : 1 -DW_AT_decl_line : 135 +DW_AT_decl_line : 152 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><128> +<3><129> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17a): ifru_ivalue -DW_AT_type : <0x81> +DW_AT_name : (indirect string, offset: 0x244): ifru_ivalue +DW_AT_type : <0x82> DW_AT_decl_file : 1 -DW_AT_decl_line : 136 +DW_AT_decl_line : 153 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><136> +<3><137> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x186): ifru_mtu -DW_AT_type : <0x81> +DW_AT_name : (indirect string, offset: 0x250): ifru_mtu +DW_AT_type : <0x82> DW_AT_decl_file : 1 -DW_AT_decl_line : 137 +DW_AT_decl_line : 154 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><144> +<3><145> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x18f): ifru_map -DW_AT_type : <0x1eb> +DW_AT_name : (indirect string, offset: 0x259): ifru_map +DW_AT_type : <0x1ec> DW_AT_decl_file : 1 -DW_AT_decl_line : 138 +DW_AT_decl_line : 155 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><152> +<3><153> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1e7): ifru_slave -DW_AT_type : <0x18c> +DW_AT_name : (indirect string, offset: 0x2b1): ifru_slave +DW_AT_type : <0x18d> DW_AT_decl_file : 1 -DW_AT_decl_line : 139 +DW_AT_decl_line : 156 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><160> +<3><161> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f2): ifru_newname -DW_AT_type : <0x18c> +DW_AT_name : (indirect string, offset: 0x2bc): ifru_newname +DW_AT_type : <0x18d> DW_AT_decl_file : 1 -DW_AT_decl_line : 140 +DW_AT_decl_line : 157 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><16e> +<3><16f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1ff): ifru_data -DW_AT_type : <0x256> +DW_AT_name : (indirect string, offset: 0x2c9): ifru_data +DW_AT_type : <0x257> DW_AT_decl_file : 1 -DW_AT_decl_line : 141 +DW_AT_decl_line : 158 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><17c> +<3><17d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x209): ifru_settings -DW_AT_type : <0x257> +DW_AT_name : (indirect string, offset: 0x2d3): ifru_settings +DW_AT_type : <0x258> DW_AT_decl_file : 1 -DW_AT_decl_line : 142 +DW_AT_decl_line : 159 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<1><18c> +<1><18d> Abbrev Number: 9 (DW_TAG_array_type) -DW_AT_type : <0x8d> -<2><191> +DW_AT_type : <0x8e> +<2><192> Abbrev Number: 10 (DW_TAG_subrange_type) -DW_AT_type : <0x199> +DW_AT_type : <0x19a> DW_AT_lower_bound : 0 DW_AT_count : 16 -<1><199> +<1><19a> Abbrev Number: 11 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe2): sizetype +DW_AT_name : (indirect string, offset: 0x1ac): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><1a0> +<1><1a1> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x12b): sockaddr +DW_AT_name : (indirect string, offset: 0x1f5): sockaddr DW_AT_byte_size : 16 DW_AT_decl_file : 3 -DW_AT_decl_line : 76 -<2><1a8> +DW_AT_decl_line : 74 +<2><1a9> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfe): sa_family -DW_AT_type : <0x1c5> +DW_AT_name : (indirect string, offset: 0x1c8): sa_family +DW_AT_type : <0x1c6> DW_AT_decl_file : 3 -DW_AT_decl_line : 77 +DW_AT_decl_line : 75 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><1b6> +<2><1b7> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x123): sa_data -DW_AT_type : <0x1d7> +DW_AT_name : (indirect string, offset: 0x1ed): sa_data +DW_AT_type : <0x1d8> DW_AT_decl_file : 3 -DW_AT_decl_line : 78 +DW_AT_decl_line : 76 DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) -<1><1c5> +<1><1c6> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x1d0> -DW_AT_name : (indirect string, offset: 0x117): sa_family_t +DW_AT_type : <0x1d1> +DW_AT_name : (indirect string, offset: 0x1e1): sa_family_t DW_AT_decl_file : 2 DW_AT_decl_line : 34 -<1><1d0> +<1><1d1> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x108): unsigned short +DW_AT_name : (indirect string, offset: 0x1d2): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><1d7> +<1><1d8> Abbrev Number: 9 (DW_TAG_array_type) -DW_AT_type : <0x8d> -<2><1dc> +DW_AT_type : <0x8e> +<2><1dd> Abbrev Number: 10 (DW_TAG_subrange_type) -DW_AT_type : <0x199> +DW_AT_type : <0x19a> DW_AT_lower_bound : 0 DW_AT_count : 14 -<1><1e4> +<1><1e5> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x174): short +DW_AT_name : (indirect string, offset: 0x23e): short DW_AT_encoding : 5 (signed) DW_AT_byte_size : 2 -<1><1eb> +<1><1ec> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1e1): ifmap +DW_AT_name : (indirect string, offset: 0x2ab): ifmap DW_AT_byte_size : 16 DW_AT_decl_file : 1 -DW_AT_decl_line : 101 -<2><1f3> +DW_AT_decl_line : 118 +<2><1f4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x198): mem_start -DW_AT_type : <0x248> +DW_AT_name : (indirect string, offset: 0x262): mem_start +DW_AT_type : <0x249> DW_AT_decl_file : 1 -DW_AT_decl_line : 102 +DW_AT_decl_line : 119 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><201> +<2><202> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1b4): mem_end -DW_AT_type : <0x248> +DW_AT_name : (indirect string, offset: 0x27e): mem_end +DW_AT_type : <0x249> DW_AT_decl_file : 1 -DW_AT_decl_line : 103 +DW_AT_decl_line : 120 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><20f> +<2><210> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1bc): base_addr -DW_AT_type : <0x1d0> +DW_AT_name : (indirect string, offset: 0x286): base_addr +DW_AT_type : <0x1d1> DW_AT_decl_file : 1 -DW_AT_decl_line : 104 +DW_AT_decl_line : 121 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><21d> +<2><21e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1c6): irq -DW_AT_type : <0x24f> +DW_AT_name : (indirect string, offset: 0x290): irq +DW_AT_type : <0x250> DW_AT_decl_file : 1 -DW_AT_decl_line : 105 +DW_AT_decl_line : 122 DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) -<2><22b> +<2><22c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d8): dma -DW_AT_type : <0x24f> +DW_AT_name : (indirect string, offset: 0x2a2): dma +DW_AT_type : <0x250> DW_AT_decl_file : 1 -DW_AT_decl_line : 106 +DW_AT_decl_line : 123 DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11) -<2><239> +<2><23a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1dc): port -DW_AT_type : <0x24f> +DW_AT_name : (indirect string, offset: 0x2a6): port +DW_AT_type : <0x250> DW_AT_decl_file : 1 -DW_AT_decl_line : 107 +DW_AT_decl_line : 124 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<1><248> +<1><249> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1a2): long unsigned int +DW_AT_name : (indirect string, offset: 0x26c): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><24f> +<1><250> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1ca): unsigned char +DW_AT_name : (indirect string, offset: 0x294): 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: 12 (DW_TAG_pointer_type) +<1><258> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x340): if_settings +DW_AT_name : (indirect string, offset: 0x40a): if_settings DW_AT_byte_size : 12 DW_AT_decl_file : 1 -DW_AT_decl_line : 110 -<2><25f> +DW_AT_decl_line : 127 +<2><260> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x217): type -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x2e1): type +DW_AT_type : <0x2f2> DW_AT_decl_file : 1 -DW_AT_decl_line : 111 +DW_AT_decl_line : 128 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><26d> +<2><26e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x229): size -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x2f3): size +DW_AT_type : <0x2f2> DW_AT_decl_file : 1 -DW_AT_decl_line : 112 +DW_AT_decl_line : 129 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><27b> +<2><27c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x22e): ifs_ifsu -DW_AT_type : <0x289> +DW_AT_name : (indirect string, offset: 0x2f8): ifs_ifsu +DW_AT_type : <0x28a> DW_AT_decl_file : 1 -DW_AT_decl_line : 121 +DW_AT_decl_line : 138 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><289> +<2><28a> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 4 DW_AT_decl_file : 1 -DW_AT_decl_line : 113 -<3><28d> +DW_AT_decl_line : 130 +<3><28e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x237): raw_hdlc -DW_AT_type : <0x2f8> +DW_AT_name : (indirect string, offset: 0x301): raw_hdlc +DW_AT_type : <0x2f9> DW_AT_decl_file : 1 -DW_AT_decl_line : 114 +DW_AT_decl_line : 131 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><29b> +<3><29c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x25f): cisco -DW_AT_type : <0x329> +DW_AT_name : (indirect string, offset: 0x329): cisco +DW_AT_type : <0x32a> DW_AT_decl_file : 1 -DW_AT_decl_line : 115 +DW_AT_decl_line : 132 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><2a9> +<3><2aa> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x282): fr -DW_AT_type : <0x35a> +DW_AT_name : (indirect string, offset: 0x34c): fr +DW_AT_type : <0x35b> DW_AT_decl_file : 1 -DW_AT_decl_line : 116 +DW_AT_decl_line : 133 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><2b7> +<3><2b8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2af): fr_pvc -DW_AT_type : <0x3d1> +DW_AT_name : (indirect string, offset: 0x379): fr_pvc +DW_AT_type : <0x3d2> DW_AT_decl_file : 1 -DW_AT_decl_line : 117 +DW_AT_decl_line : 134 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><2c5> +<3><2c6> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2c8): fr_pvc_info -DW_AT_type : <0x3f4> +DW_AT_name : (indirect string, offset: 0x392): fr_pvc_info +DW_AT_type : <0x3f5> DW_AT_decl_file : 1 -DW_AT_decl_line : 118 +DW_AT_decl_line : 135 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><2d3> +<3><2d4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2ed): sync -DW_AT_type : <0x425> +DW_AT_name : (indirect string, offset: 0x3b7): sync +DW_AT_type : <0x426> DW_AT_decl_file : 1 -DW_AT_decl_line : 119 +DW_AT_decl_line : 136 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><2e1> +<3><2e2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x326): te1 -DW_AT_type : <0x464> +DW_AT_name : (indirect string, offset: 0x3f0): te1 +DW_AT_type : <0x465> DW_AT_decl_file : 1 -DW_AT_decl_line : 120 +DW_AT_decl_line : 137 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<1><2f1> +<1><2f2> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x21c): unsigned int +DW_AT_name : (indirect string, offset: 0x2e6): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><2f8> +<1><2f9> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x2fd> -<1><2fd> +DW_AT_type : <0x2fe> +<1><2fe> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x308> -DW_AT_name : (indirect string, offset: 0x250): raw_hdlc_proto +DW_AT_type : <0x309> +DW_AT_name : (indirect string, offset: 0x31a): raw_hdlc_proto DW_AT_decl_file : 4 DW_AT_decl_line : 61 -<1><308> +<1><309> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 4 DW_AT_decl_file : 4 DW_AT_decl_line : 58 -<2><30c> +<2><30d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x240): encoding -DW_AT_type : <0x1d0> +DW_AT_name : (indirect string, offset: 0x30a): encoding +DW_AT_type : <0x1d1> 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> +<2><31b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x249): parity -DW_AT_type : <0x1d0> +DW_AT_name : (indirect string, offset: 0x313): parity +DW_AT_type : <0x1d1> 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> +<1><32a> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x32e> -<1><32e> +DW_AT_type : <0x32f> +<1><32f> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x339> -DW_AT_name : (indirect string, offset: 0x276): cisco_proto +DW_AT_type : <0x33a> +DW_AT_name : (indirect string, offset: 0x340): cisco_proto DW_AT_decl_file : 4 DW_AT_decl_line : 81 -<1><339> +<1><33a> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 4 DW_AT_decl_line : 78 -<2><33d> +<2><33e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x265): interval -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x32f): interval +DW_AT_type : <0x2f2> 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> +<2><34c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x26e): timeout -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x338): timeout +DW_AT_type : <0x2f2> 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> +<1><35b> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x35f> -<1><35f> +DW_AT_type : <0x360> +<1><360> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x36a> -DW_AT_name : (indirect string, offset: 0x2a6): fr_proto +DW_AT_type : <0x36b> +DW_AT_name : (indirect string, offset: 0x370): fr_proto DW_AT_decl_file : 4 DW_AT_decl_line : 70 -<1><36a> +<1><36b> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 24 DW_AT_decl_file : 4 DW_AT_decl_line : 62 -<2><36e> +<2><36f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x285): t391 -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x34f): t391 +DW_AT_type : <0x2f2> 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> +<2><37d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x28a): t392 -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x354): t392 +DW_AT_type : <0x2f2> 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> +<2><38b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x28f): n391 -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x359): n391 +DW_AT_type : <0x2f2> 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> +<2><399> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x294): n392 -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x35e): n392 +DW_AT_type : <0x2f2> 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> +<2><3a7> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x299): n393 -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x363): n393 +DW_AT_type : <0x2f2> 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> +<2><3b5> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x29e): lmi -DW_AT_type : <0x1d0> +DW_AT_name : (indirect string, offset: 0x368): lmi +DW_AT_type : <0x1d1> 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> +<2><3c3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2a2): dce -DW_AT_type : <0x1d0> +DW_AT_name : (indirect string, offset: 0x36c): dce +DW_AT_type : <0x1d1> 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> +<1><3d2> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x3d6> -<1><3d6> +DW_AT_type : <0x3d7> +<1><3d7> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3e1> -DW_AT_name : (indirect string, offset: 0x2bb): fr_proto_pvc +DW_AT_type : <0x3e2> +DW_AT_name : (indirect string, offset: 0x385): fr_proto_pvc DW_AT_decl_file : 4 DW_AT_decl_line : 73 -<1><3e1> +<1><3e2> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 4 DW_AT_decl_file : 4 DW_AT_decl_line : 71 -<2><3e5> +<2><3e6> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2b6): dlci -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x380): dlci +DW_AT_type : <0x2f2> 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> +<1><3f5> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x3f9> -<1><3f9> +DW_AT_type : <0x3fa> +<1><3fa> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x404> -DW_AT_name : (indirect string, offset: 0x2db): fr_proto_pvc_info +DW_AT_type : <0x405> +DW_AT_name : (indirect string, offset: 0x3a5): fr_proto_pvc_info DW_AT_decl_file : 4 DW_AT_decl_line : 77 -<1><404> +<1><405> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 20 DW_AT_decl_file : 4 DW_AT_decl_line : 74 -<2><408> +<2><409> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2b6): dlci -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x380): dlci +DW_AT_type : <0x2f2> 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> +<2><417> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2d4): master -DW_AT_type : <0x18c> +DW_AT_name : (indirect string, offset: 0x39e): master +DW_AT_type : <0x18d> 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> +<1><426> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x42a> -<1><42a> +DW_AT_type : <0x42b> +<1><42b> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x435> -DW_AT_name : (indirect string, offset: 0x311): sync_serial_settings +DW_AT_type : <0x436> +DW_AT_name : (indirect string, offset: 0x3db): sync_serial_settings DW_AT_decl_file : 4 DW_AT_decl_line : 51 -<1><435> +<1><436> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 12 DW_AT_decl_file : 4 DW_AT_decl_line : 47 -<2><439> +<2><43a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2f2): clock_rate -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x3bc): clock_rate +DW_AT_type : <0x2f2> 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> +<2><448> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2fd): clock_type -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x3c7): clock_type +DW_AT_type : <0x2f2> 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> +<2><456> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x308): loopback -DW_AT_type : <0x1d0> +DW_AT_name : (indirect string, offset: 0x3d2): loopback +DW_AT_type : <0x1d1> 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> +<1><465> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x469> -<1><469> +DW_AT_type : <0x46a> +<1><46a> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x474> -DW_AT_name : (indirect string, offset: 0x333): te1_settings +DW_AT_type : <0x475> +DW_AT_name : (indirect string, offset: 0x3fd): te1_settings DW_AT_decl_file : 4 DW_AT_decl_line : 57 -<1><474> +<1><475> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 16 DW_AT_decl_file : 4 DW_AT_decl_line : 52 -<2><478> +<2><479> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2f2): clock_rate -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x3bc): clock_rate +DW_AT_type : <0x2f2> 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> +<2><487> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2fd): clock_type -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x3c7): clock_type +DW_AT_type : <0x2f2> 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> +<2><495> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x308): loopback -DW_AT_type : <0x1d0> +DW_AT_name : (indirect string, offset: 0x3d2): loopback +DW_AT_type : <0x1d1> 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> +<2><4a3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x32a): slot_map -DW_AT_type : <0x2f1> +DW_AT_name : (indirect string, offset: 0x3f4): slot_map +DW_AT_type : <0x2f2> 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.c b/mpers-m32/struct_ifreq.c index 2a1795c4..ece6d496 100644 --- a/mpers-m32/struct_ifreq.c +++ b/mpers-m32/struct_ifreq.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey - * 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 diff --git a/mpers-m32/struct_ifreq.d1 b/mpers-m32/struct_ifreq.d1 index f49f8301..3c8d0b8a 100644 --- a/mpers-m32/struct_ifreq.d1 +++ b/mpers-m32/struct_ifreq.d1 @@ -1,532 +1,533 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x45e (32-bit) + Length: 0x45f (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_ifreq.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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>: 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>: 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>: 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>: 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>: 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>: 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>: 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) - <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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x120): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15b): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 5 + <2a> DW_AT_decl_line : 44 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x3f8): struct_ifreq + <3a> DW_AT_decl_file : 5 + <3b> DW_AT_decl_line : 42 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x3f2): ifreq + <41> DW_AT_byte_size : 32 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 141 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16c): ifr_ifrn + <49> DW_AT_type : <0x52> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 145 + <4f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><52>: Abbrev Number: 6 (DW_TAG_union_type) + <53> DW_AT_byte_size : 16 + <54> DW_AT_decl_file : 1 + <55> DW_AT_decl_line : 143 + <3><56>: Abbrev Number: 5 (DW_TAG_member) + <57> DW_AT_name : (indirect string, offset: 0x175): ifrn_name + <5b> DW_AT_type : <0x12f> + <5f> DW_AT_decl_file : 1 + <60> DW_AT_decl_line : 144 + <61> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><64>: Abbrev Number: 0 + <2><65>: Abbrev Number: 5 (DW_TAG_member) + <66> DW_AT_name : (indirect string, offset: 0x18d): ifr_ifru + <6a> DW_AT_type : <0x73> + <6e> DW_AT_decl_file : 1 + <6f> DW_AT_decl_line : 160 + <70> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><73>: Abbrev Number: 6 (DW_TAG_union_type) + <74> DW_AT_byte_size : 16 + <75> DW_AT_decl_file : 1 + <76> DW_AT_decl_line : 146 + <3><77>: Abbrev Number: 5 (DW_TAG_member) + <78> DW_AT_name : (indirect string, offset: 0x196): ifru_addr + <7c> DW_AT_type : <0x14a> + <80> DW_AT_decl_file : 1 + <81> DW_AT_decl_line : 147 + <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: 0x1d6): ifru_dstaddr + <8a> DW_AT_type : <0x14a> + <8e> DW_AT_decl_file : 1 + <8f> DW_AT_decl_line : 148 + <90> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><93>: Abbrev Number: 5 (DW_TAG_member) + <94> DW_AT_name : (indirect string, offset: 0x1e3): ifru_broadaddr + <98> DW_AT_type : <0x14a> + <9c> DW_AT_decl_file : 1 + <9d> DW_AT_decl_line : 149 + <9e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f2): ifru_netmask + DW_AT_type : <0x14a> + DW_AT_decl_file : 1 + DW_AT_decl_line : 150 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ff): ifru_hwaddr + DW_AT_type : <0x14a> + DW_AT_decl_file : 1 + DW_AT_decl_line : 151 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x20b): ifru_flags + DW_AT_type : <0x18e> + DW_AT_decl_file : 1 + DW_AT_decl_line : 152 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x21c): ifru_ivalue + DW_AT_type : <0x195> + DW_AT_decl_file : 1 + DW_AT_decl_line : 153 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x22c): ifru_mtu + DW_AT_type : <0x195> + DW_AT_decl_file : 1 + DW_AT_decl_line : 154 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x235): ifru_map + DW_AT_type : <0x19c> + DW_AT_decl_file : 1 + DW_AT_decl_line : 155 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x28d): ifru_slave + DW_AT_type : <0x12f> + DW_AT_decl_file : 1 + DW_AT_decl_line : 156 + <100> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><103>: Abbrev Number: 5 (DW_TAG_member) + <104> DW_AT_name : (indirect string, offset: 0x298): ifru_newname + <108> DW_AT_type : <0x12f> + <10c> DW_AT_decl_file : 1 + <10d> DW_AT_decl_line : 157 + <10e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><111>: Abbrev Number: 5 (DW_TAG_member) + <112> DW_AT_name : (indirect string, offset: 0x2a5): ifru_data + <116> DW_AT_type : <0x207> + <11a> DW_AT_decl_file : 1 + <11b> DW_AT_decl_line : 158 + <11c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><11f>: Abbrev Number: 5 (DW_TAG_member) + <120> DW_AT_name : (indirect string, offset: 0x2af): ifru_settings + <124> DW_AT_type : <0x208> + <128> DW_AT_decl_file : 1 + <129> DW_AT_decl_line : 159 + <12a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><12d>: Abbrev Number: 0 + <2><12e>: Abbrev Number: 0 + <1><12f>: Abbrev Number: 7 (DW_TAG_array_type) + <130> DW_AT_type : <0x13c> + <2><134>: Abbrev Number: 8 (DW_TAG_subrange_type) + <135> DW_AT_type : <0x143> + <139> DW_AT_lower_bound : 0 + <13a> DW_AT_count : 16 + <2><13b>: Abbrev Number: 0 + <1><13c>: Abbrev Number: 9 (DW_TAG_base_type) + <13d> DW_AT_name : (indirect string, offset: 0x17f): char + <141> DW_AT_encoding : 8 (unsigned char) + <142> DW_AT_byte_size : 1 + <1><143>: Abbrev Number: 10 (DW_TAG_base_type) + <144> DW_AT_name : (indirect string, offset: 0x184): sizetype + <148> DW_AT_byte_size : 8 + <149> DW_AT_encoding : 7 (unsigned) + <1><14a>: Abbrev Number: 4 (DW_TAG_structure_type) + <14b> DW_AT_name : (indirect string, offset: 0x1cd): sockaddr + <14f> DW_AT_byte_size : 16 + <150> DW_AT_decl_file : 3 + <151> DW_AT_decl_line : 74 + <2><152>: Abbrev Number: 5 (DW_TAG_member) + <153> DW_AT_name : (indirect string, offset: 0x1a0): sa_family + <157> DW_AT_type : <0x16f> + <15b> DW_AT_decl_file : 3 + <15c> DW_AT_decl_line : 75 + <15d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><160>: Abbrev Number: 5 (DW_TAG_member) + <161> DW_AT_name : (indirect string, offset: 0x1c5): sa_data + <165> DW_AT_type : <0x181> + <169> DW_AT_decl_file : 3 + <16a> DW_AT_decl_line : 76 + <16b> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><16e>: Abbrev Number: 0 + <1><16f>: Abbrev Number: 3 (DW_TAG_typedef) + <170> DW_AT_type : <0x17a> + <174> DW_AT_name : (indirect string, offset: 0x1b9): sa_family_t + <178> DW_AT_decl_file : 2 + <179> DW_AT_decl_line : 34 + <1><17a>: Abbrev Number: 9 (DW_TAG_base_type) + <17b> DW_AT_name : (indirect string, offset: 0x1aa): unsigned short + <17f> DW_AT_encoding : 7 (unsigned) + <180> DW_AT_byte_size : 2 + <1><181>: Abbrev Number: 7 (DW_TAG_array_type) + <182> DW_AT_type : <0x13c> + <2><186>: Abbrev Number: 8 (DW_TAG_subrange_type) + <187> DW_AT_type : <0x143> + <18b> DW_AT_lower_bound : 0 + <18c> DW_AT_count : 14 + <2><18d>: Abbrev Number: 0 + <1><18e>: Abbrev Number: 9 (DW_TAG_base_type) + <18f> DW_AT_name : (indirect string, offset: 0x216): short + <193> DW_AT_encoding : 5 (signed) + <194> DW_AT_byte_size : 2 + <1><195>: Abbrev Number: 9 (DW_TAG_base_type) + <196> DW_AT_name : (indirect string, offset: 0x228): int + <19a> DW_AT_encoding : 5 (signed) + <19b> DW_AT_byte_size : 4 + <1><19c>: Abbrev Number: 4 (DW_TAG_structure_type) + <19d> DW_AT_name : (indirect string, offset: 0x287): ifmap + <1a1> DW_AT_byte_size : 16 + <1a2> DW_AT_decl_file : 1 + <1a3> DW_AT_decl_line : 118 + <2><1a4>: Abbrev Number: 5 (DW_TAG_member) + <1a5> DW_AT_name : (indirect string, offset: 0x23e): mem_start + <1a9> DW_AT_type : <0x1f9> + <1ad> DW_AT_decl_file : 1 + <1ae> DW_AT_decl_line : 119 + <1af> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><1b2>: Abbrev Number: 5 (DW_TAG_member) + <1b3> DW_AT_name : (indirect string, offset: 0x25a): mem_end + <1b7> DW_AT_type : <0x1f9> + <1bb> DW_AT_decl_file : 1 + <1bc> DW_AT_decl_line : 120 + <1bd> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><1c0>: Abbrev Number: 5 (DW_TAG_member) + <1c1> DW_AT_name : (indirect string, offset: 0x262): base_addr + <1c5> DW_AT_type : <0x17a> + <1c9> DW_AT_decl_file : 1 + <1ca> DW_AT_decl_line : 121 + <1cb> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><1ce>: Abbrev Number: 5 (DW_TAG_member) + <1cf> DW_AT_name : (indirect string, offset: 0x26c): irq + <1d3> DW_AT_type : <0x200> + <1d7> DW_AT_decl_file : 1 + <1d8> DW_AT_decl_line : 122 + <1d9> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) + <2><1dc>: Abbrev Number: 5 (DW_TAG_member) + <1dd> DW_AT_name : (indirect string, offset: 0x27e): dma + <1e1> DW_AT_type : <0x200> + <1e5> DW_AT_decl_file : 1 + <1e6> DW_AT_decl_line : 123 + <1e7> DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11) + <2><1ea>: Abbrev Number: 5 (DW_TAG_member) + <1eb> DW_AT_name : (indirect string, offset: 0x282): port + <1ef> DW_AT_type : <0x200> + <1f3> DW_AT_decl_file : 1 + <1f4> DW_AT_decl_line : 124 + <1f5> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><1f8>: Abbrev Number: 0 + <1><1f9>: Abbrev Number: 9 (DW_TAG_base_type) + <1fa> DW_AT_name : (indirect string, offset: 0x248): long unsigned int + <1fe> DW_AT_encoding : 7 (unsigned) + <1ff> DW_AT_byte_size : 4 + <1><200>: Abbrev Number: 9 (DW_TAG_base_type) + <201> DW_AT_name : (indirect string, offset: 0x270): unsigned char + <205> DW_AT_encoding : 8 (unsigned char) + <206> DW_AT_byte_size : 1 + <1><207>: Abbrev Number: 11 (DW_TAG_pointer_type) + <1><208>: Abbrev Number: 4 (DW_TAG_structure_type) + <209> DW_AT_name : (indirect string, offset: 0x3e6): if_settings + <20d> DW_AT_byte_size : 12 + <20e> DW_AT_decl_file : 1 + <20f> DW_AT_decl_line : 127 + <2><210>: Abbrev Number: 5 (DW_TAG_member) + <211> DW_AT_name : (indirect string, offset: 0x2bd): type + <215> DW_AT_type : <0x2a2> + <219> DW_AT_decl_file : 1 + <21a> DW_AT_decl_line : 128 + <21b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><21e>: Abbrev Number: 5 (DW_TAG_member) + <21f> DW_AT_name : (indirect string, offset: 0x2cf): size + <223> DW_AT_type : <0x2a2> + <227> DW_AT_decl_file : 1 + <228> DW_AT_decl_line : 129 + <229> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><22c>: Abbrev Number: 5 (DW_TAG_member) + <22d> DW_AT_name : (indirect string, offset: 0x2d4): ifs_ifsu + <231> DW_AT_type : <0x23a> + <235> DW_AT_decl_file : 1 + <236> DW_AT_decl_line : 138 + <237> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><23a>: Abbrev Number: 6 (DW_TAG_union_type) + <23b> DW_AT_byte_size : 4 + <23c> DW_AT_decl_file : 1 + <23d> DW_AT_decl_line : 130 + <3><23e>: Abbrev Number: 5 (DW_TAG_member) + <23f> DW_AT_name : (indirect string, offset: 0x2dd): raw_hdlc + <243> DW_AT_type : <0x2a9> + <247> DW_AT_decl_file : 1 + <248> DW_AT_decl_line : 131 + <249> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><24c>: Abbrev Number: 5 (DW_TAG_member) + <24d> DW_AT_name : (indirect string, offset: 0x305): cisco + <251> DW_AT_type : <0x2da> + <255> DW_AT_decl_file : 1 + <256> DW_AT_decl_line : 132 + <257> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><25a>: Abbrev Number: 5 (DW_TAG_member) + <25b> DW_AT_name : (indirect string, offset: 0x328): fr + <25f> DW_AT_type : <0x30b> + <263> DW_AT_decl_file : 1 + <264> DW_AT_decl_line : 133 + <265> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><268>: Abbrev Number: 5 (DW_TAG_member) + <269> DW_AT_name : (indirect string, offset: 0x355): fr_pvc + <26d> DW_AT_type : <0x382> + <271> DW_AT_decl_file : 1 + <272> DW_AT_decl_line : 134 + <273> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><276>: Abbrev Number: 5 (DW_TAG_member) + <277> DW_AT_name : (indirect string, offset: 0x36e): fr_pvc_info + <27b> DW_AT_type : <0x3a5> + <27f> DW_AT_decl_file : 1 + <280> DW_AT_decl_line : 135 + <281> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><284>: Abbrev Number: 5 (DW_TAG_member) + <285> DW_AT_name : (indirect string, offset: 0x393): sync + <289> DW_AT_type : <0x3d6> + <28d> DW_AT_decl_file : 1 + <28e> DW_AT_decl_line : 136 + <28f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><292>: Abbrev Number: 5 (DW_TAG_member) + <293> DW_AT_name : (indirect string, offset: 0x3cc): te1 + <297> DW_AT_type : <0x415> + <29b> DW_AT_decl_file : 1 + <29c> DW_AT_decl_line : 137 + <29d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2a0>: Abbrev Number: 0 + <2><2a1>: Abbrev Number: 0 + <1><2a2>: Abbrev Number: 9 (DW_TAG_base_type) + <2a3> DW_AT_name : (indirect string, offset: 0x2c2): unsigned int + <2a7> DW_AT_encoding : 7 (unsigned) + <2a8> DW_AT_byte_size : 4 + <1><2a9>: Abbrev Number: 12 (DW_TAG_pointer_type) + <2aa> DW_AT_type : <0x2ae> + <1><2ae>: Abbrev Number: 3 (DW_TAG_typedef) + <2af> DW_AT_type : <0x2b9> + <2b3> DW_AT_name : (indirect string, offset: 0x2f6): raw_hdlc_proto + <2b7> DW_AT_decl_file : 4 + <2b8> DW_AT_decl_line : 61 + <1><2b9>: Abbrev Number: 13 (DW_TAG_structure_type) + <2ba> DW_AT_byte_size : 4 + <2bb> DW_AT_decl_file : 4 + <2bc> DW_AT_decl_line : 58 + <2><2bd>: Abbrev Number: 5 (DW_TAG_member) + <2be> DW_AT_name : (indirect string, offset: 0x2e6): encoding + <2c2> DW_AT_type : <0x17a> + <2c6> DW_AT_decl_file : 4 + <2c7> DW_AT_decl_line : 59 + <2c8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><2cb>: Abbrev Number: 5 (DW_TAG_member) + <2cc> DW_AT_name : (indirect string, offset: 0x2ef): parity + <2d0> DW_AT_type : <0x17a> + <2d4> DW_AT_decl_file : 4 + <2d5> DW_AT_decl_line : 60 + <2d6> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><2d9>: Abbrev Number: 0 + <1><2da>: Abbrev Number: 12 (DW_TAG_pointer_type) + <2db> DW_AT_type : <0x2df> + <1><2df>: Abbrev Number: 3 (DW_TAG_typedef) + <2e0> DW_AT_type : <0x2ea> + <2e4> DW_AT_name : (indirect string, offset: 0x31c): cisco_proto + <2e8> DW_AT_decl_file : 4 + <2e9> DW_AT_decl_line : 81 + <1><2ea>: Abbrev Number: 13 (DW_TAG_structure_type) + <2eb> DW_AT_byte_size : 8 + <2ec> DW_AT_decl_file : 4 + <2ed> DW_AT_decl_line : 78 + <2><2ee>: Abbrev Number: 5 (DW_TAG_member) + <2ef> DW_AT_name : (indirect string, offset: 0x30b): interval + <2f3> DW_AT_type : <0x2a2> + <2f7> DW_AT_decl_file : 4 + <2f8> DW_AT_decl_line : 79 + <2f9> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><2fc>: Abbrev Number: 5 (DW_TAG_member) + <2fd> DW_AT_name : (indirect string, offset: 0x314): timeout + <301> DW_AT_type : <0x2a2> + <305> DW_AT_decl_file : 4 + <306> DW_AT_decl_line : 80 + <307> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><30a>: Abbrev Number: 0 + <1><30b>: Abbrev Number: 12 (DW_TAG_pointer_type) + <30c> DW_AT_type : <0x310> + <1><310>: Abbrev Number: 3 (DW_TAG_typedef) + <311> DW_AT_type : <0x31b> + <315> DW_AT_name : (indirect string, offset: 0x34c): fr_proto + <319> DW_AT_decl_file : 4 + <31a> DW_AT_decl_line : 70 + <1><31b>: Abbrev Number: 13 (DW_TAG_structure_type) + <31c> DW_AT_byte_size : 24 + <31d> DW_AT_decl_file : 4 + <31e> DW_AT_decl_line : 62 + <2><31f>: Abbrev Number: 5 (DW_TAG_member) + <320> DW_AT_name : (indirect string, offset: 0x32b): t391 + <324> DW_AT_type : <0x2a2> + <328> DW_AT_decl_file : 4 + <329> DW_AT_decl_line : 63 + <32a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><32d>: Abbrev Number: 5 (DW_TAG_member) + <32e> DW_AT_name : (indirect string, offset: 0x330): t392 + <332> DW_AT_type : <0x2a2> + <336> DW_AT_decl_file : 4 + <337> DW_AT_decl_line : 64 + <338> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><33b>: Abbrev Number: 5 (DW_TAG_member) + <33c> DW_AT_name : (indirect string, offset: 0x335): n391 + <340> DW_AT_type : <0x2a2> + <344> DW_AT_decl_file : 4 + <345> DW_AT_decl_line : 65 + <346> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><349>: Abbrev Number: 5 (DW_TAG_member) + <34a> DW_AT_name : (indirect string, offset: 0x33a): n392 + <34e> DW_AT_type : <0x2a2> + <352> DW_AT_decl_file : 4 + <353> DW_AT_decl_line : 66 + <354> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><357>: Abbrev Number: 5 (DW_TAG_member) + <358> DW_AT_name : (indirect string, offset: 0x33f): n393 + <35c> DW_AT_type : <0x2a2> + <360> DW_AT_decl_file : 4 + <361> DW_AT_decl_line : 67 + <362> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><365>: Abbrev Number: 5 (DW_TAG_member) + <366> DW_AT_name : (indirect string, offset: 0x344): lmi + <36a> DW_AT_type : <0x17a> + <36e> DW_AT_decl_file : 4 + <36f> DW_AT_decl_line : 68 + <370> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><373>: Abbrev Number: 5 (DW_TAG_member) + <374> DW_AT_name : (indirect string, offset: 0x348): dce + <378> DW_AT_type : <0x17a> + <37c> DW_AT_decl_file : 4 + <37d> DW_AT_decl_line : 69 + <37e> DW_AT_data_member_location: 2 byte block: 23 16 (DW_OP_plus_uconst: 22) + <2><381>: Abbrev Number: 0 + <1><382>: Abbrev Number: 12 (DW_TAG_pointer_type) + <383> DW_AT_type : <0x387> + <1><387>: Abbrev Number: 3 (DW_TAG_typedef) + <388> DW_AT_type : <0x392> + <38c> DW_AT_name : (indirect string, offset: 0x361): fr_proto_pvc + <390> DW_AT_decl_file : 4 + <391> DW_AT_decl_line : 73 + <1><392>: Abbrev Number: 13 (DW_TAG_structure_type) + <393> DW_AT_byte_size : 4 + <394> DW_AT_decl_file : 4 + <395> DW_AT_decl_line : 71 + <2><396>: Abbrev Number: 5 (DW_TAG_member) + <397> DW_AT_name : (indirect string, offset: 0x35c): dlci + <39b> DW_AT_type : <0x2a2> + <39f> DW_AT_decl_file : 4 + <3a0> DW_AT_decl_line : 72 + <3a1> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><3a4>: Abbrev Number: 0 + <1><3a5>: Abbrev Number: 12 (DW_TAG_pointer_type) + <3a6> DW_AT_type : <0x3aa> + <1><3aa>: Abbrev Number: 3 (DW_TAG_typedef) + <3ab> DW_AT_type : <0x3b5> + <3af> DW_AT_name : (indirect string, offset: 0x381): fr_proto_pvc_info + <3b3> DW_AT_decl_file : 4 + <3b4> DW_AT_decl_line : 77 + <1><3b5>: Abbrev Number: 13 (DW_TAG_structure_type) + <3b6> DW_AT_byte_size : 20 + <3b7> DW_AT_decl_file : 4 + <3b8> DW_AT_decl_line : 74 + <2><3b9>: Abbrev Number: 5 (DW_TAG_member) + <3ba> DW_AT_name : (indirect string, offset: 0x35c): dlci + <3be> DW_AT_type : <0x2a2> + <3c2> DW_AT_decl_file : 4 + <3c3> DW_AT_decl_line : 75 + <3c4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><3c7>: Abbrev Number: 5 (DW_TAG_member) + <3c8> DW_AT_name : (indirect string, offset: 0x37a): master + <3cc> DW_AT_type : <0x12f> + <3d0> DW_AT_decl_file : 4 + <3d1> DW_AT_decl_line : 76 + <3d2> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><3d5>: Abbrev Number: 0 + <1><3d6>: Abbrev Number: 12 (DW_TAG_pointer_type) + <3d7> DW_AT_type : <0x3db> + <1><3db>: Abbrev Number: 3 (DW_TAG_typedef) + <3dc> DW_AT_type : <0x3e6> + <3e0> DW_AT_name : (indirect string, offset: 0x3b7): sync_serial_settings + <3e4> DW_AT_decl_file : 4 + <3e5> DW_AT_decl_line : 51 + <1><3e6>: Abbrev Number: 13 (DW_TAG_structure_type) + <3e7> DW_AT_byte_size : 12 + <3e8> DW_AT_decl_file : 4 + <3e9> DW_AT_decl_line : 47 + <2><3ea>: Abbrev Number: 5 (DW_TAG_member) + <3eb> DW_AT_name : (indirect string, offset: 0x398): clock_rate + <3ef> DW_AT_type : <0x2a2> + <3f3> DW_AT_decl_file : 4 + <3f4> DW_AT_decl_line : 48 + <3f5> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><3f8>: Abbrev Number: 5 (DW_TAG_member) + <3f9> DW_AT_name : (indirect string, offset: 0x3a3): clock_type + <3fd> DW_AT_type : <0x2a2> + <401> DW_AT_decl_file : 4 + <402> DW_AT_decl_line : 49 + <403> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><406>: Abbrev Number: 5 (DW_TAG_member) + <407> DW_AT_name : (indirect string, offset: 0x3ae): loopback + <40b> DW_AT_type : <0x17a> + <40f> DW_AT_decl_file : 4 + <410> DW_AT_decl_line : 50 + <411> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><414>: Abbrev Number: 0 + <1><415>: Abbrev Number: 12 (DW_TAG_pointer_type) + <416> DW_AT_type : <0x41a> + <1><41a>: Abbrev Number: 3 (DW_TAG_typedef) + <41b> DW_AT_type : <0x425> + <41f> DW_AT_name : (indirect string, offset: 0x3d9): te1_settings + <423> DW_AT_decl_file : 4 + <424> DW_AT_decl_line : 57 + <1><425>: Abbrev Number: 13 (DW_TAG_structure_type) + <426> DW_AT_byte_size : 16 + <427> DW_AT_decl_file : 4 + <428> DW_AT_decl_line : 52 + <2><429>: Abbrev Number: 5 (DW_TAG_member) + <42a> DW_AT_name : (indirect string, offset: 0x398): clock_rate + <42e> DW_AT_type : <0x2a2> + <432> DW_AT_decl_file : 4 + <433> DW_AT_decl_line : 53 + <434> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><437>: Abbrev Number: 5 (DW_TAG_member) + <438> DW_AT_name : (indirect string, offset: 0x3a3): clock_type + <43c> DW_AT_type : <0x2a2> + <440> DW_AT_decl_file : 4 + <441> DW_AT_decl_line : 54 + <442> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><445>: Abbrev Number: 5 (DW_TAG_member) + <446> DW_AT_name : (indirect string, offset: 0x3ae): loopback + <44a> DW_AT_type : <0x17a> + <44e> DW_AT_decl_file : 4 + <44f> DW_AT_decl_line : 55 + <450> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><453>: Abbrev Number: 5 (DW_TAG_member) + <454> DW_AT_name : (indirect string, offset: 0x3d0): slot_map + <458> DW_AT_type : <0x2a2> + <45c> DW_AT_decl_file : 4 + <45d> DW_AT_decl_line : 56 + <45e> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><461>: Abbrev Number: 0 + <1><462>: Abbrev Number: 0 diff --git a/mpers-m32/struct_ifreq.d2 b/mpers-m32/struct_ifreq.d2 index d55ecdfc..b5eba199 100644 --- a/mpers-m32/struct_ifreq.d2 +++ b/mpers-m32/struct_ifreq.d2 @@ -1,600 +1,600 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x91): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15b): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x32e): struct_ifreq +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x3f8): struct_ifreq DW_AT_decl_file : 5 DW_AT_decl_line : 42 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x328): ifreq +DW_AT_name : (indirect string, offset: 0x3f2): ifreq DW_AT_byte_size : 32 DW_AT_decl_file : 1 -DW_AT_decl_line : 124 -<2><43> +DW_AT_decl_line : 141 +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa2): ifr_ifrn -DW_AT_type : <0x51> +DW_AT_name : (indirect string, offset: 0x16c): ifr_ifrn +DW_AT_type : <0x52> DW_AT_decl_file : 1 -DW_AT_decl_line : 128 +DW_AT_decl_line : 145 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><51> +<2><52> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 16 DW_AT_decl_file : 1 -DW_AT_decl_line : 126 -<3><55> +DW_AT_decl_line : 143 +<3><56> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xab): ifrn_name -DW_AT_type : <0x12e> +DW_AT_name : (indirect string, offset: 0x175): ifrn_name +DW_AT_type : <0x12f> DW_AT_decl_file : 1 -DW_AT_decl_line : 127 +DW_AT_decl_line : 144 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><64> +<2><65> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc3): ifr_ifru -DW_AT_type : <0x72> +DW_AT_name : (indirect string, offset: 0x18d): ifr_ifru +DW_AT_type : <0x73> DW_AT_decl_file : 1 -DW_AT_decl_line : 143 +DW_AT_decl_line : 160 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><72> +<2><73> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 16 DW_AT_decl_file : 1 -DW_AT_decl_line : 129 -<3><76> +DW_AT_decl_line : 146 +<3><77> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcc): ifru_addr -DW_AT_type : <0x149> +DW_AT_name : (indirect string, offset: 0x196): ifru_addr +DW_AT_type : <0x14a> DW_AT_decl_file : 1 -DW_AT_decl_line : 130 +DW_AT_decl_line : 147 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><84> +<3><85> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10c): ifru_dstaddr -DW_AT_type : <0x149> +DW_AT_name : (indirect string, offset: 0x1d6): ifru_dstaddr +DW_AT_type : <0x14a> DW_AT_decl_file : 1 -DW_AT_decl_line : 131 +DW_AT_decl_line : 148 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><92> +<3><93> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x119): ifru_broadaddr -DW_AT_type : <0x149> +DW_AT_name : (indirect string, offset: 0x1e3): ifru_broadaddr +DW_AT_type : <0x14a> DW_AT_decl_file : 1 -DW_AT_decl_line : 132 +DW_AT_decl_line : 149 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x128): ifru_netmask -DW_AT_type : <0x149> +DW_AT_name : (indirect string, offset: 0x1f2): ifru_netmask +DW_AT_type : <0x14a> DW_AT_decl_file : 1 -DW_AT_decl_line : 133 +DW_AT_decl_line : 150 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x135): ifru_hwaddr -DW_AT_type : <0x149> +DW_AT_name : (indirect string, offset: 0x1ff): ifru_hwaddr +DW_AT_type : <0x14a> DW_AT_decl_file : 1 -DW_AT_decl_line : 134 +DW_AT_decl_line : 151 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x141): ifru_flags -DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x20b): ifru_flags +DW_AT_type : <0x18e> DW_AT_decl_file : 1 -DW_AT_decl_line : 135 +DW_AT_decl_line : 152 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x152): ifru_ivalue -DW_AT_type : <0x194> +DW_AT_name : (indirect string, offset: 0x21c): ifru_ivalue +DW_AT_type : <0x195> DW_AT_decl_file : 1 -DW_AT_decl_line : 136 +DW_AT_decl_line : 153 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x162): ifru_mtu -DW_AT_type : <0x194> +DW_AT_name : (indirect string, offset: 0x22c): ifru_mtu +DW_AT_type : <0x195> DW_AT_decl_file : 1 -DW_AT_decl_line : 137 +DW_AT_decl_line : 154 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x16b): ifru_map -DW_AT_type : <0x19b> +DW_AT_name : (indirect string, offset: 0x235): ifru_map +DW_AT_type : <0x19c> DW_AT_decl_file : 1 -DW_AT_decl_line : 138 +DW_AT_decl_line : 155 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1c3): ifru_slave -DW_AT_type : <0x12e> +DW_AT_name : (indirect string, offset: 0x28d): ifru_slave +DW_AT_type : <0x12f> DW_AT_decl_file : 1 -DW_AT_decl_line : 139 +DW_AT_decl_line : 156 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><102> +<3><103> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1ce): ifru_newname -DW_AT_type : <0x12e> +DW_AT_name : (indirect string, offset: 0x298): ifru_newname +DW_AT_type : <0x12f> DW_AT_decl_file : 1 -DW_AT_decl_line : 140 +DW_AT_decl_line : 157 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><110> +<3><111> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1db): ifru_data -DW_AT_type : <0x206> +DW_AT_name : (indirect string, offset: 0x2a5): ifru_data +DW_AT_type : <0x207> DW_AT_decl_file : 1 -DW_AT_decl_line : 141 +DW_AT_decl_line : 158 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><11e> +<3><11f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1e5): ifru_settings -DW_AT_type : <0x207> +DW_AT_name : (indirect string, offset: 0x2af): ifru_settings +DW_AT_type : <0x208> DW_AT_decl_file : 1 -DW_AT_decl_line : 142 +DW_AT_decl_line : 159 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<1><12e> +<1><12f> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x13b> -<2><133> +DW_AT_type : <0x13c> +<2><134> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x142> +DW_AT_type : <0x143> DW_AT_lower_bound : 0 DW_AT_count : 16 -<1><13b> +<1><13c> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb5): char +DW_AT_name : (indirect string, offset: 0x17f): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><142> +<1><143> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xba): sizetype +DW_AT_name : (indirect string, offset: 0x184): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><149> +<1><14a> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x103): sockaddr +DW_AT_name : (indirect string, offset: 0x1cd): sockaddr DW_AT_byte_size : 16 DW_AT_decl_file : 3 -DW_AT_decl_line : 76 -<2><151> +DW_AT_decl_line : 74 +<2><152> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd6): sa_family -DW_AT_type : <0x16e> +DW_AT_name : (indirect string, offset: 0x1a0): sa_family +DW_AT_type : <0x16f> DW_AT_decl_file : 3 -DW_AT_decl_line : 77 +DW_AT_decl_line : 75 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><15f> +<2><160> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfb): sa_data -DW_AT_type : <0x180> +DW_AT_name : (indirect string, offset: 0x1c5): sa_data +DW_AT_type : <0x181> DW_AT_decl_file : 3 -DW_AT_decl_line : 78 +DW_AT_decl_line : 76 DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) -<1><16e> +<1><16f> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x179> -DW_AT_name : (indirect string, offset: 0xef): sa_family_t +DW_AT_type : <0x17a> +DW_AT_name : (indirect string, offset: 0x1b9): sa_family_t DW_AT_decl_file : 2 DW_AT_decl_line : 34 -<1><179> +<1><17a> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe0): unsigned short +DW_AT_name : (indirect string, offset: 0x1aa): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><180> +<1><181> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x13b> -<2><185> +DW_AT_type : <0x13c> +<2><186> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x142> +DW_AT_type : <0x143> DW_AT_lower_bound : 0 DW_AT_count : 14 -<1><18d> +<1><18e> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x14c): short +DW_AT_name : (indirect string, offset: 0x216): short DW_AT_encoding : 5 (signed) DW_AT_byte_size : 2 -<1><194> +<1><195> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x15e): int +DW_AT_name : (indirect string, offset: 0x228): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><19b> +<1><19c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1bd): ifmap +DW_AT_name : (indirect string, offset: 0x287): ifmap DW_AT_byte_size : 16 DW_AT_decl_file : 1 -DW_AT_decl_line : 101 -<2><1a3> +DW_AT_decl_line : 118 +<2><1a4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x174): mem_start -DW_AT_type : <0x1f8> +DW_AT_name : (indirect string, offset: 0x23e): mem_start +DW_AT_type : <0x1f9> DW_AT_decl_file : 1 -DW_AT_decl_line : 102 +DW_AT_decl_line : 119 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><1b1> +<2><1b2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x190): mem_end -DW_AT_type : <0x1f8> +DW_AT_name : (indirect string, offset: 0x25a): mem_end +DW_AT_type : <0x1f9> DW_AT_decl_file : 1 -DW_AT_decl_line : 103 +DW_AT_decl_line : 120 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><1bf> +<2><1c0> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x198): base_addr -DW_AT_type : <0x179> +DW_AT_name : (indirect string, offset: 0x262): base_addr +DW_AT_type : <0x17a> DW_AT_decl_file : 1 -DW_AT_decl_line : 104 +DW_AT_decl_line : 121 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><1cd> +<2><1ce> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1a2): irq -DW_AT_type : <0x1ff> +DW_AT_name : (indirect string, offset: 0x26c): irq +DW_AT_type : <0x200> DW_AT_decl_file : 1 -DW_AT_decl_line : 105 +DW_AT_decl_line : 122 DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) -<2><1db> +<2><1dc> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1b4): dma -DW_AT_type : <0x1ff> +DW_AT_name : (indirect string, offset: 0x27e): dma +DW_AT_type : <0x200> DW_AT_decl_file : 1 -DW_AT_decl_line : 106 +DW_AT_decl_line : 123 DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11) -<2><1e9> +<2><1ea> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1b8): port -DW_AT_type : <0x1ff> +DW_AT_name : (indirect string, offset: 0x282): port +DW_AT_type : <0x200> DW_AT_decl_file : 1 -DW_AT_decl_line : 107 +DW_AT_decl_line : 124 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<1><1f8> +<1><1f9> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x17e): long unsigned int +DW_AT_name : (indirect string, offset: 0x248): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><1ff> +<1><200> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1a6): unsigned char +DW_AT_name : (indirect string, offset: 0x270): 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: 11 (DW_TAG_pointer_type) +<1><208> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x31c): if_settings +DW_AT_name : (indirect string, offset: 0x3e6): if_settings DW_AT_byte_size : 12 DW_AT_decl_file : 1 -DW_AT_decl_line : 110 -<2><20f> +DW_AT_decl_line : 127 +<2><210> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f3): type -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x2bd): type +DW_AT_type : <0x2a2> DW_AT_decl_file : 1 -DW_AT_decl_line : 111 +DW_AT_decl_line : 128 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><21d> +<2><21e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x205): size -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x2cf): size +DW_AT_type : <0x2a2> DW_AT_decl_file : 1 -DW_AT_decl_line : 112 +DW_AT_decl_line : 129 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><22b> +<2><22c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x20a): ifs_ifsu -DW_AT_type : <0x239> +DW_AT_name : (indirect string, offset: 0x2d4): ifs_ifsu +DW_AT_type : <0x23a> DW_AT_decl_file : 1 -DW_AT_decl_line : 121 +DW_AT_decl_line : 138 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><239> +<2><23a> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 4 DW_AT_decl_file : 1 -DW_AT_decl_line : 113 -<3><23d> +DW_AT_decl_line : 130 +<3><23e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x213): raw_hdlc -DW_AT_type : <0x2a8> +DW_AT_name : (indirect string, offset: 0x2dd): raw_hdlc +DW_AT_type : <0x2a9> DW_AT_decl_file : 1 -DW_AT_decl_line : 114 +DW_AT_decl_line : 131 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><24b> +<3><24c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x23b): cisco -DW_AT_type : <0x2d9> +DW_AT_name : (indirect string, offset: 0x305): cisco +DW_AT_type : <0x2da> DW_AT_decl_file : 1 -DW_AT_decl_line : 115 +DW_AT_decl_line : 132 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><259> +<3><25a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x25e): fr -DW_AT_type : <0x30a> +DW_AT_name : (indirect string, offset: 0x328): fr +DW_AT_type : <0x30b> DW_AT_decl_file : 1 -DW_AT_decl_line : 116 +DW_AT_decl_line : 133 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><267> +<3><268> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x28b): fr_pvc -DW_AT_type : <0x381> +DW_AT_name : (indirect string, offset: 0x355): fr_pvc +DW_AT_type : <0x382> DW_AT_decl_file : 1 -DW_AT_decl_line : 117 +DW_AT_decl_line : 134 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><275> +<3><276> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2a4): fr_pvc_info -DW_AT_type : <0x3a4> +DW_AT_name : (indirect string, offset: 0x36e): fr_pvc_info +DW_AT_type : <0x3a5> DW_AT_decl_file : 1 -DW_AT_decl_line : 118 +DW_AT_decl_line : 135 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><283> +<3><284> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2c9): sync -DW_AT_type : <0x3d5> +DW_AT_name : (indirect string, offset: 0x393): sync +DW_AT_type : <0x3d6> DW_AT_decl_file : 1 -DW_AT_decl_line : 119 +DW_AT_decl_line : 136 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><291> +<3><292> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x302): te1 -DW_AT_type : <0x414> +DW_AT_name : (indirect string, offset: 0x3cc): te1 +DW_AT_type : <0x415> DW_AT_decl_file : 1 -DW_AT_decl_line : 120 +DW_AT_decl_line : 137 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<1><2a1> +<1><2a2> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1f8): unsigned int +DW_AT_name : (indirect string, offset: 0x2c2): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><2a8> +<1><2a9> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x2ad> -<1><2ad> +DW_AT_type : <0x2ae> +<1><2ae> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2b8> -DW_AT_name : (indirect string, offset: 0x22c): raw_hdlc_proto +DW_AT_type : <0x2b9> +DW_AT_name : (indirect string, offset: 0x2f6): raw_hdlc_proto DW_AT_decl_file : 4 DW_AT_decl_line : 61 -<1><2b8> +<1><2b9> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 4 DW_AT_decl_file : 4 DW_AT_decl_line : 58 -<2><2bc> +<2><2bd> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x21c): encoding -DW_AT_type : <0x179> +DW_AT_name : (indirect string, offset: 0x2e6): encoding +DW_AT_type : <0x17a> 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> +<2><2cb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x225): parity -DW_AT_type : <0x179> +DW_AT_name : (indirect string, offset: 0x2ef): parity +DW_AT_type : <0x17a> 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> +<1><2da> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x2de> -<1><2de> +DW_AT_type : <0x2df> +<1><2df> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2e9> -DW_AT_name : (indirect string, offset: 0x252): cisco_proto +DW_AT_type : <0x2ea> +DW_AT_name : (indirect string, offset: 0x31c): cisco_proto DW_AT_decl_file : 4 DW_AT_decl_line : 81 -<1><2e9> +<1><2ea> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 4 DW_AT_decl_line : 78 -<2><2ed> +<2><2ee> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x241): interval -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x30b): interval +DW_AT_type : <0x2a2> 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> +<2><2fc> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x24a): timeout -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x314): timeout +DW_AT_type : <0x2a2> 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> +<1><30b> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x30f> -<1><30f> +DW_AT_type : <0x310> +<1><310> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x31a> -DW_AT_name : (indirect string, offset: 0x282): fr_proto +DW_AT_type : <0x31b> +DW_AT_name : (indirect string, offset: 0x34c): fr_proto DW_AT_decl_file : 4 DW_AT_decl_line : 70 -<1><31a> +<1><31b> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 24 DW_AT_decl_file : 4 DW_AT_decl_line : 62 -<2><31e> +<2><31f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x261): t391 -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x32b): t391 +DW_AT_type : <0x2a2> 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> +<2><32d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x266): t392 -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x330): t392 +DW_AT_type : <0x2a2> 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> +<2><33b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x26b): n391 -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x335): n391 +DW_AT_type : <0x2a2> 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> +<2><349> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x270): n392 -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x33a): n392 +DW_AT_type : <0x2a2> 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> +<2><357> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x275): n393 -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x33f): n393 +DW_AT_type : <0x2a2> 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> +<2><365> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x27a): lmi -DW_AT_type : <0x179> +DW_AT_name : (indirect string, offset: 0x344): lmi +DW_AT_type : <0x17a> 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> +<2><373> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x27e): dce -DW_AT_type : <0x179> +DW_AT_name : (indirect string, offset: 0x348): dce +DW_AT_type : <0x17a> 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> +<1><382> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x386> -<1><386> +DW_AT_type : <0x387> +<1><387> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x391> -DW_AT_name : (indirect string, offset: 0x297): fr_proto_pvc +DW_AT_type : <0x392> +DW_AT_name : (indirect string, offset: 0x361): fr_proto_pvc DW_AT_decl_file : 4 DW_AT_decl_line : 73 -<1><391> +<1><392> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 4 DW_AT_decl_file : 4 DW_AT_decl_line : 71 -<2><395> +<2><396> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x292): dlci -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x35c): dlci +DW_AT_type : <0x2a2> 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> +<1><3a5> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x3a9> -<1><3a9> +DW_AT_type : <0x3aa> +<1><3aa> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b4> -DW_AT_name : (indirect string, offset: 0x2b7): fr_proto_pvc_info +DW_AT_type : <0x3b5> +DW_AT_name : (indirect string, offset: 0x381): fr_proto_pvc_info DW_AT_decl_file : 4 DW_AT_decl_line : 77 -<1><3b4> +<1><3b5> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 20 DW_AT_decl_file : 4 DW_AT_decl_line : 74 -<2><3b8> +<2><3b9> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x292): dlci -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x35c): dlci +DW_AT_type : <0x2a2> 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> +<2><3c7> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2b0): master -DW_AT_type : <0x12e> +DW_AT_name : (indirect string, offset: 0x37a): master +DW_AT_type : <0x12f> 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> +<1><3d6> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x3da> -<1><3da> +DW_AT_type : <0x3db> +<1><3db> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3e5> -DW_AT_name : (indirect string, offset: 0x2ed): sync_serial_settings +DW_AT_type : <0x3e6> +DW_AT_name : (indirect string, offset: 0x3b7): sync_serial_settings DW_AT_decl_file : 4 DW_AT_decl_line : 51 -<1><3e5> +<1><3e6> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 12 DW_AT_decl_file : 4 DW_AT_decl_line : 47 -<2><3e9> +<2><3ea> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2ce): clock_rate -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x398): clock_rate +DW_AT_type : <0x2a2> 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> +<2><3f8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2d9): clock_type -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x3a3): clock_type +DW_AT_type : <0x2a2> 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> +<2><406> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2e4): loopback -DW_AT_type : <0x179> +DW_AT_name : (indirect string, offset: 0x3ae): loopback +DW_AT_type : <0x17a> 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> +<1><415> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x419> -<1><419> +DW_AT_type : <0x41a> +<1><41a> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x424> -DW_AT_name : (indirect string, offset: 0x30f): te1_settings +DW_AT_type : <0x425> +DW_AT_name : (indirect string, offset: 0x3d9): te1_settings DW_AT_decl_file : 4 DW_AT_decl_line : 57 -<1><424> +<1><425> Abbrev Number: 13 (DW_TAG_structure_type) DW_AT_byte_size : 16 DW_AT_decl_file : 4 DW_AT_decl_line : 52 -<2><428> +<2><429> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2ce): clock_rate -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x398): clock_rate +DW_AT_type : <0x2a2> 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> +<2><437> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2d9): clock_type -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x3a3): clock_type +DW_AT_type : <0x2a2> 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> +<2><445> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2e4): loopback -DW_AT_type : <0x179> +DW_AT_name : (indirect string, offset: 0x3ae): loopback +DW_AT_type : <0x17a> 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> +<2><453> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x306): slot_map -DW_AT_type : <0x2a1> +DW_AT_name : (indirect string, offset: 0x3d0): slot_map +DW_AT_type : <0x2a2> 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_keyctl_kdf_params.d1 b/mpers-m32/struct_keyctl_kdf_params.d1 index d1c68fb7..aa93a7bf 100644 --- a/mpers-m32/struct_keyctl_kdf_params.d1 +++ b/mpers-m32/struct_keyctl_kdf_params.d1 @@ -1,88 +1,89 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xb6 (32-bit) + Length: 0xb7 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_keyctl_kdf_params.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - DW_AT_encoding : 7 (unsigned) - DW_AT_byte_size : 4 - <1>: Abbrev Number: 8 (DW_TAG_array_type) - DW_AT_type : <0x88> - <2>: Abbrev Number: 9 (DW_TAG_subrange_type) - DW_AT_type : <0xb2> - DW_AT_lower_bound : 0 - DW_AT_count : 8 - <2>: Abbrev Number: 0 - <1>: 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) - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x12c): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x167): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 7 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1e1): struct_keyctl_kdf_params + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 5 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1cf): keyctl_kdf_params + <41> DW_AT_byte_size : 44 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 13 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x178): hashname + <49> DW_AT_type : <0x7d> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 14 + <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: 0x186): otherinfo + <57> DW_AT_type : <0x7d> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 15 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x190): otherinfolen + <65> DW_AT_type : <0x89> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 16 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1be): __spare + <73> DW_AT_type : <0xa6> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 17 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 0 + <1><7d>: Abbrev Number: 6 (DW_TAG_pointer_type) + <7e> DW_AT_type : <0x82> + <1><82>: Abbrev Number: 7 (DW_TAG_base_type) + <83> DW_AT_name : (indirect string, offset: 0x181): char + <87> DW_AT_encoding : 8 (unsigned char) + <88> DW_AT_byte_size : 1 + <1><89>: Abbrev Number: 3 (DW_TAG_typedef) + <8a> DW_AT_type : <0x94> + <8e> DW_AT_name : (indirect string, offset: 0x1b5): uint32_t + <92> DW_AT_decl_file : 2 + <93> DW_AT_decl_line : 65 + <1><94>: Abbrev Number: 3 (DW_TAG_typedef) + <95> DW_AT_type : <0x9f> + <99> DW_AT_name : (indirect string, offset: 0x1aa): __uint32_t + <9d> DW_AT_decl_file : 2 + <9e> DW_AT_decl_line : 41 + <1><9f>: Abbrev Number: 7 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x19d): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 8 (DW_TAG_array_type) + DW_AT_type : <0x89> + <2>: Abbrev Number: 9 (DW_TAG_subrange_type) + DW_AT_type : <0xb3> + DW_AT_lower_bound : 0 + DW_AT_count : 8 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 10 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1c6): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>: Abbrev Number: 0 diff --git a/mpers-m32/struct_keyctl_kdf_params.d2 b/mpers-m32/struct_keyctl_kdf_params.d2 index 172fa0f6..6000a87a 100644 --- a/mpers-m32/struct_keyctl_kdf_params.d2 +++ b/mpers-m32/struct_keyctl_kdf_params.d2 @@ -1,86 +1,86 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x9d): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x167): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x117): struct_keyctl_kdf_params +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1e1): struct_keyctl_kdf_params DW_AT_decl_file : 3 DW_AT_decl_line : 5 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x105): keyctl_kdf_params +DW_AT_name : (indirect string, offset: 0x1cf): keyctl_kdf_params DW_AT_byte_size : 44 DW_AT_decl_file : 1 DW_AT_decl_line : 13 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xae): hashname -DW_AT_type : <0x7c> +DW_AT_name : (indirect string, offset: 0x178): hashname +DW_AT_type : <0x7d> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xbc): otherinfo -DW_AT_type : <0x7c> +DW_AT_name : (indirect string, offset: 0x186): otherinfo +DW_AT_type : <0x7d> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc6): otherinfolen -DW_AT_type : <0x88> +DW_AT_name : (indirect string, offset: 0x190): otherinfolen +DW_AT_type : <0x89> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf4): __spare -DW_AT_type : <0xa5> +DW_AT_name : (indirect string, offset: 0x1be): __spare +DW_AT_type : <0xa6> 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> +<1><7d> Abbrev Number: 6 (DW_TAG_pointer_type) -DW_AT_type : <0x81> -<1><81> +DW_AT_type : <0x82> +<1><82> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb7): char +DW_AT_name : (indirect string, offset: 0x181): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><88> +<1><89> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x93> -DW_AT_name : (indirect string, offset: 0xeb): uint32_t +DW_AT_type : <0x94> +DW_AT_name : (indirect string, offset: 0x1b5): uint32_t DW_AT_decl_file : 2 DW_AT_decl_line : 65 -<1><93> +<1><94> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x9e> -DW_AT_name : (indirect string, offset: 0xe0): __uint32_t +DW_AT_type : <0x9f> +DW_AT_name : (indirect string, offset: 0x1aa): __uint32_t DW_AT_decl_file : 2 DW_AT_decl_line : 41 -<1><9e> +<1><9f> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xd3): unsigned int +DW_AT_name : (indirect string, offset: 0x19d): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 8 (DW_TAG_array_type) -DW_AT_type : <0x88> -<2> +DW_AT_type : <0x89> +<2> Abbrev Number: 9 (DW_TAG_subrange_type) -DW_AT_type : <0xb2> +DW_AT_type : <0xb3> DW_AT_lower_bound : 0 DW_AT_count : 8 -<1> +<1> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xfc): sizetype +DW_AT_name : (indirect string, offset: 0x1c6): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) diff --git a/mpers-m32/struct_loop_info.d1 b/mpers-m32/struct_loop_info.d1 index 8a8beb1b..149f47ec 100644 --- a/mpers-m32/struct_loop_info.d1 +++ b/mpers-m32/struct_loop_info.d1 @@ -1,162 +1,163 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x154 (32-bit) + Length: 0x155 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_loop_info.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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>: 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) - <2>: Abbrev Number: 0 - <1>: 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>: 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) - <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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x124): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 36 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x253): struct_loop_info + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 33 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x249): loop_info + <41> DW_AT_byte_size : 140 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 31 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x170): lo_number + <49> DW_AT_type : <0xef> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 32 + <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: 0x17e): lo_device + <57> DW_AT_type : <0xf6> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 33 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x1a8): lo_inode + <65> DW_AT_type : <0x108> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 34 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1c3): lo_rdevice + <73> DW_AT_type : <0xf6> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 35 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1ce): lo_offset + <81> DW_AT_type : <0xef> + <85> DW_AT_decl_file : 1 + <86> DW_AT_decl_line : 36 + <87> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1d8): lo_encrypt_type + <8f> DW_AT_type : <0xef> + <93> DW_AT_decl_file : 1 + <94> DW_AT_decl_line : 37 + <95> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1e8): lo_encrypt_key_size + <9d> DW_AT_type : <0xef> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1fc): lo_flags + DW_AT_type : <0xef> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x205): lo_name + DW_AT_type : <0x10f> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x21b): lo_encrypt_key + DW_AT_type : <0x12a> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x238): lo_init + DW_AT_type : <0x13e> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x240): reserved + DW_AT_type : <0x14b> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x17a): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0x101> + DW_AT_name : (indirect string, offset: 0x195): __kernel_old_dev_t + DW_AT_decl_file : 2 + <100> DW_AT_decl_line : 57 + <1><101>: Abbrev Number: 6 (DW_TAG_base_type) + <102> DW_AT_name : (indirect string, offset: 0x188): unsigned int + <106> DW_AT_encoding : 7 (unsigned) + <107> DW_AT_byte_size : 4 + <1><108>: Abbrev Number: 6 (DW_TAG_base_type) + <109> DW_AT_name : (indirect string, offset: 0x1b1): long unsigned int + <10d> DW_AT_encoding : 7 (unsigned) + <10e> DW_AT_byte_size : 4 + <1><10f>: Abbrev Number: 7 (DW_TAG_array_type) + <110> DW_AT_type : <0x11c> + <2><114>: Abbrev Number: 8 (DW_TAG_subrange_type) + <115> DW_AT_type : <0x123> + <119> DW_AT_lower_bound : 0 + <11a> DW_AT_count : 64 + <2><11b>: Abbrev Number: 0 + <1><11c>: Abbrev Number: 6 (DW_TAG_base_type) + <11d> DW_AT_name : (indirect string, offset: 0x20d): char + <121> DW_AT_encoding : 8 (unsigned char) + <122> DW_AT_byte_size : 1 + <1><123>: Abbrev Number: 9 (DW_TAG_base_type) + <124> DW_AT_name : (indirect string, offset: 0x212): sizetype + <128> DW_AT_byte_size : 8 + <129> DW_AT_encoding : 7 (unsigned) + <1><12a>: Abbrev Number: 7 (DW_TAG_array_type) + <12b> DW_AT_type : <0x137> + <2><12f>: Abbrev Number: 8 (DW_TAG_subrange_type) + <130> DW_AT_type : <0x123> + <134> DW_AT_lower_bound : 0 + <135> DW_AT_count : 32 + <2><136>: Abbrev Number: 0 + <1><137>: Abbrev Number: 6 (DW_TAG_base_type) + <138> DW_AT_name : (indirect string, offset: 0x22a): unsigned char + <13c> DW_AT_encoding : 8 (unsigned char) + <13d> DW_AT_byte_size : 1 + <1><13e>: Abbrev Number: 7 (DW_TAG_array_type) + <13f> DW_AT_type : <0x108> + <2><143>: Abbrev Number: 8 (DW_TAG_subrange_type) + <144> DW_AT_type : <0x123> + <148> DW_AT_lower_bound : 0 + <149> DW_AT_count : 2 + <2><14a>: Abbrev Number: 0 + <1><14b>: Abbrev Number: 7 (DW_TAG_array_type) + <14c> DW_AT_type : <0x11c> + <2><150>: Abbrev Number: 8 (DW_TAG_subrange_type) + <151> DW_AT_type : <0x123> + <155> DW_AT_lower_bound : 0 + <156> DW_AT_count : 4 + <2><157>: Abbrev Number: 0 + <1><158>: Abbrev Number: 0 diff --git a/mpers-m32/struct_loop_info.d2 b/mpers-m32/struct_loop_info.d2 index ac955a5e..43f54c06 100644 --- a/mpers-m32/struct_loop_info.d2 +++ b/mpers-m32/struct_loop_info.d2 @@ -1,172 +1,172 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x95): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x189): struct_loop_info +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x253): struct_loop_info DW_AT_decl_file : 3 DW_AT_decl_line : 33 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x17f): loop_info +DW_AT_name : (indirect string, offset: 0x249): loop_info DW_AT_byte_size : 140 DW_AT_decl_file : 1 DW_AT_decl_line : 31 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa6): lo_number -DW_AT_type : <0xee> +DW_AT_name : (indirect string, offset: 0x170): lo_number +DW_AT_type : <0xef> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb4): lo_device -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x17e): lo_device +DW_AT_type : <0xf6> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xde): lo_inode -DW_AT_type : <0x107> +DW_AT_name : (indirect string, offset: 0x1a8): lo_inode +DW_AT_type : <0x108> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf9): lo_rdevice -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1c3): lo_rdevice +DW_AT_type : <0xf6> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x104): lo_offset -DW_AT_type : <0xee> +DW_AT_name : (indirect string, offset: 0x1ce): lo_offset +DW_AT_type : <0xef> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10e): lo_encrypt_type -DW_AT_type : <0xee> +DW_AT_name : (indirect string, offset: 0x1d8): lo_encrypt_type +DW_AT_type : <0xef> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11e): lo_encrypt_key_size -DW_AT_type : <0xee> +DW_AT_name : (indirect string, offset: 0x1e8): lo_encrypt_key_size +DW_AT_type : <0xef> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x132): lo_flags -DW_AT_type : <0xee> +DW_AT_name : (indirect string, offset: 0x1fc): lo_flags +DW_AT_type : <0xef> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13b): lo_name -DW_AT_type : <0x10e> +DW_AT_name : (indirect string, offset: 0x205): lo_name +DW_AT_type : <0x10f> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x151): lo_encrypt_key -DW_AT_type : <0x129> +DW_AT_name : (indirect string, offset: 0x21b): lo_encrypt_key +DW_AT_type : <0x12a> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x16e): lo_init -DW_AT_type : <0x13d> +DW_AT_name : (indirect string, offset: 0x238): lo_init +DW_AT_type : <0x13e> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x176): reserved -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x240): reserved +DW_AT_type : <0x14b> 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> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb0): int +DW_AT_name : (indirect string, offset: 0x17a): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x100> -DW_AT_name : (indirect string, offset: 0xcb): __kernel_old_dev_t +DW_AT_type : <0x101> +DW_AT_name : (indirect string, offset: 0x195): __kernel_old_dev_t DW_AT_decl_file : 2 DW_AT_decl_line : 57 -<1><100> +<1><101> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xbe): unsigned int +DW_AT_name : (indirect string, offset: 0x188): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><107> +<1><108> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe7): long unsigned int +DW_AT_name : (indirect string, offset: 0x1b1): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><10e> +<1><10f> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x11b> -<2><113> +DW_AT_type : <0x11c> +<2><114> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x122> +DW_AT_type : <0x123> DW_AT_lower_bound : 0 DW_AT_count : 64 -<1><11b> +<1><11c> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x143): char +DW_AT_name : (indirect string, offset: 0x20d): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><122> +<1><123> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x148): sizetype +DW_AT_name : (indirect string, offset: 0x212): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><129> +<1><12a> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x136> -<2><12e> +DW_AT_type : <0x137> +<2><12f> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x122> +DW_AT_type : <0x123> DW_AT_lower_bound : 0 DW_AT_count : 32 -<1><136> +<1><137> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x160): unsigned char +DW_AT_name : (indirect string, offset: 0x22a): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><13d> +<1><13e> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x107> -<2><142> +DW_AT_type : <0x108> +<2><143> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x122> +DW_AT_type : <0x123> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1><14a> +<1><14b> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x11b> -<2><14f> +DW_AT_type : <0x11c> +<2><150> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x122> +DW_AT_type : <0x123> DW_AT_lower_bound : 0 DW_AT_count : 4 diff --git a/mpers-m32/struct_mmsghdr.d1 b/mpers-m32/struct_mmsghdr.d1 index 0fc9f731..fa162a1f 100644 --- a/mpers-m32/struct_mmsghdr.d1 +++ b/mpers-m32/struct_mmsghdr.d1 @@ -1,161 +1,162 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x155 (32-bit) + Length: 0x156 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_mmsghdr.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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>: 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>: 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>: 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) - <2>: Abbrev Number: 0 - <1>: Abbrev Number: 6 (DW_TAG_pointer_type) - <1>: 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>: 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>: 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>: 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>: 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>: 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x122): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15d): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 7 + <2a> DW_AT_decl_line : 34 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x264): struct_mmsghdr + <3a> DW_AT_decl_file : 7 + <3b> DW_AT_decl_line : 32 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x25c): mmsghdr + <41> DW_AT_byte_size : 32 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 94 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16e): msg_hdr + <49> DW_AT_type : <0x61> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 95 + <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: 0x254): msg_len + <57> DW_AT_type : <0x152> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 96 + <5d> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2><60>: Abbrev Number: 0 + <1><61>: Abbrev Number: 4 (DW_TAG_structure_type) + <62> DW_AT_name : (indirect string, offset: 0x24d): msghdr + <66> DW_AT_byte_size : 28 + <67> DW_AT_decl_file : 1 + <68> DW_AT_decl_line : 84 + <2><69>: Abbrev Number: 5 (DW_TAG_member) + <6a> DW_AT_name : (indirect string, offset: 0x176): msg_name + <6e> DW_AT_type : <0xcc> + <72> DW_AT_decl_file : 1 + <73> DW_AT_decl_line : 85 + <74> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><77>: Abbrev Number: 5 (DW_TAG_member) + <78> DW_AT_name : (indirect string, offset: 0x17f): msg_namelen + <7c> DW_AT_type : <0xcd> + <80> DW_AT_decl_file : 1 + <81> DW_AT_decl_line : 86 + <82> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><85>: Abbrev Number: 5 (DW_TAG_member) + <86> DW_AT_name : (indirect string, offset: 0x1b7): msg_iov + <8a> DW_AT_type : <0x100> + <8e> DW_AT_decl_file : 1 + <8f> DW_AT_decl_line : 87 + <90> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><93>: Abbrev Number: 5 (DW_TAG_member) + <94> DW_AT_name : (indirect string, offset: 0x209): msg_iovlen + <98> DW_AT_type : <0x147> + <9c> DW_AT_decl_file : 1 + <9d> DW_AT_decl_line : 88 + <9e> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x228): msg_control + DW_AT_type : <0xcc> + DW_AT_decl_file : 1 + DW_AT_decl_line : 89 + DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x234): msg_controllen + DW_AT_type : <0x147> + DW_AT_decl_file : 1 + DW_AT_decl_line : 90 + DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x243): msg_flags + DW_AT_type : <0xf9> + DW_AT_decl_file : 1 + DW_AT_decl_line : 91 + DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_pointer_type) + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xd8> + DW_AT_name : (indirect string, offset: 0x1ad): socklen_t + DW_AT_decl_file : 3 + DW_AT_decl_line : 117 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xe3> +
DW_AT_name : (indirect string, offset: 0x1a1): __socklen_t + DW_AT_decl_file : 3 + DW_AT_decl_line : 112 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xee> + DW_AT_name : (indirect string, offset: 0x199): int32_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 64 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xf9> + DW_AT_name : (indirect string, offset: 0x18f): __int32_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 40 + <1>: Abbrev Number: 7 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x18b): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1><100>: Abbrev Number: 8 (DW_TAG_pointer_type) + <101> DW_AT_type : <0x105> + <1><105>: Abbrev Number: 4 (DW_TAG_structure_type) + <106> DW_AT_name : (indirect string, offset: 0x203): iovec + <10a> DW_AT_byte_size : 8 + <10b> DW_AT_decl_file : 4 + <10c> DW_AT_decl_line : 23 + <2><10d>: Abbrev Number: 5 (DW_TAG_member) + <10e> DW_AT_name : (indirect string, offset: 0x1bf): iov_base + <112> DW_AT_type : <0xcc> + <116> DW_AT_decl_file : 4 + <117> DW_AT_decl_line : 24 + <118> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><11b>: Abbrev Number: 5 (DW_TAG_member) + <11c> DW_AT_name : (indirect string, offset: 0x1c8): iov_len + <120> DW_AT_type : <0x12a> + <124> DW_AT_decl_file : 4 + <125> DW_AT_decl_line : 25 + <126> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><129>: Abbrev Number: 0 + <1><12a>: Abbrev Number: 3 (DW_TAG_typedef) + <12b> DW_AT_type : <0x135> + <12f> DW_AT_name : (indirect string, offset: 0x1f3): __kernel_size_t + <133> DW_AT_decl_file : 5 + <134> DW_AT_decl_line : 65 + <1><135>: Abbrev Number: 3 (DW_TAG_typedef) + <136> DW_AT_type : <0x140> + <13a> DW_AT_name : (indirect string, offset: 0x1e2): __kernel_ulong_t + <13e> DW_AT_decl_file : 5 + <13f> DW_AT_decl_line : 24 + <1><140>: Abbrev Number: 7 (DW_TAG_base_type) + <141> DW_AT_name : (indirect string, offset: 0x1d0): long unsigned int + <145> DW_AT_encoding : 7 (unsigned) + <146> DW_AT_byte_size : 4 + <1><147>: Abbrev Number: 3 (DW_TAG_typedef) + <148> DW_AT_type : <0x152> + <14c> DW_AT_name : (indirect string, offset: 0x221): size_t + <150> DW_AT_decl_file : 6 + <151> DW_AT_decl_line : 62 + <1><152>: Abbrev Number: 7 (DW_TAG_base_type) + <153> DW_AT_name : (indirect string, offset: 0x214): unsigned int + <157> DW_AT_encoding : 7 (unsigned) + <158> DW_AT_byte_size : 4 + <1><159>: Abbrev Number: 0 diff --git a/mpers-m32/struct_mmsghdr.d2 b/mpers-m32/struct_mmsghdr.d2 index 36066428..85f3de46 100644 --- a/mpers-m32/struct_mmsghdr.d2 +++ b/mpers-m32/struct_mmsghdr.d2 @@ -1,171 +1,171 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x93): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15d): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x19a): struct_mmsghdr +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x264): struct_mmsghdr DW_AT_decl_file : 7 DW_AT_decl_line : 32 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x192): mmsghdr +DW_AT_name : (indirect string, offset: 0x25c): mmsghdr DW_AT_byte_size : 32 DW_AT_decl_file : 1 -DW_AT_decl_line : 96 -<2><43> +DW_AT_decl_line : 94 +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa4): msg_hdr -DW_AT_type : <0x60> +DW_AT_name : (indirect string, offset: 0x16e): msg_hdr +DW_AT_type : <0x61> DW_AT_decl_file : 1 -DW_AT_decl_line : 97 +DW_AT_decl_line : 95 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><51> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x18a): msg_len -DW_AT_type : <0x151> +DW_AT_name : (indirect string, offset: 0x254): msg_len +DW_AT_type : <0x152> DW_AT_decl_file : 1 -DW_AT_decl_line : 98 +DW_AT_decl_line : 96 DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) -<1><60> +<1><61> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x183): msghdr +DW_AT_name : (indirect string, offset: 0x24d): msghdr DW_AT_byte_size : 28 DW_AT_decl_file : 1 -DW_AT_decl_line : 86 -<2><68> +DW_AT_decl_line : 84 +<2><69> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xac): msg_name -DW_AT_type : <0xcb> +DW_AT_name : (indirect string, offset: 0x176): msg_name +DW_AT_type : <0xcc> DW_AT_decl_file : 1 -DW_AT_decl_line : 87 +DW_AT_decl_line : 85 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><76> +<2><77> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb5): msg_namelen -DW_AT_type : <0xcc> +DW_AT_name : (indirect string, offset: 0x17f): msg_namelen +DW_AT_type : <0xcd> DW_AT_decl_file : 1 -DW_AT_decl_line : 88 +DW_AT_decl_line : 86 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><84> +<2><85> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xed): msg_iov -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x1b7): msg_iov +DW_AT_type : <0x100> DW_AT_decl_file : 1 -DW_AT_decl_line : 89 +DW_AT_decl_line : 87 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><92> +<2><93> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13f): msg_iovlen -DW_AT_type : <0x146> +DW_AT_name : (indirect string, offset: 0x209): msg_iovlen +DW_AT_type : <0x147> DW_AT_decl_file : 1 -DW_AT_decl_line : 90 +DW_AT_decl_line : 88 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15e): msg_control -DW_AT_type : <0xcb> +DW_AT_name : (indirect string, offset: 0x228): msg_control +DW_AT_type : <0xcc> DW_AT_decl_file : 1 -DW_AT_decl_line : 91 +DW_AT_decl_line : 89 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x16a): msg_controllen -DW_AT_type : <0x146> +DW_AT_name : (indirect string, offset: 0x234): msg_controllen +DW_AT_type : <0x147> DW_AT_decl_file : 1 -DW_AT_decl_line : 92 +DW_AT_decl_line : 90 DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x179): msg_flags -DW_AT_type : <0xf8> +DW_AT_name : (indirect string, offset: 0x243): msg_flags +DW_AT_type : <0xf9> DW_AT_decl_file : 1 -DW_AT_decl_line : 93 +DW_AT_decl_line : 91 DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) -<1> -Abbrev Number: 6 (DW_TAG_pointer_type) <1> +Abbrev Number: 6 (DW_TAG_pointer_type) +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xd7> -DW_AT_name : (indirect string, offset: 0xe3): socklen_t +DW_AT_type : <0xd8> +DW_AT_name : (indirect string, offset: 0x1ad): socklen_t DW_AT_decl_file : 3 -DW_AT_decl_line : 116 -<1> +DW_AT_decl_line : 117 +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xe2> -DW_AT_name : (indirect string, offset: 0xd7): __socklen_t +DW_AT_type : <0xe3> +DW_AT_name : (indirect string, offset: 0x1a1): __socklen_t DW_AT_decl_file : 3 -DW_AT_decl_line : 111 -<1> +DW_AT_decl_line : 112 +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xed> -DW_AT_name : (indirect string, offset: 0xcf): int32_t +DW_AT_type : <0xee> +DW_AT_name : (indirect string, offset: 0x199): int32_t DW_AT_decl_file : 2 DW_AT_decl_line : 64 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xf8> -DW_AT_name : (indirect string, offset: 0xc5): __int32_t +DW_AT_type : <0xf9> +DW_AT_name : (indirect string, offset: 0x18f): __int32_t DW_AT_decl_file : 2 DW_AT_decl_line : 40 -<1> +<1> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc1): int +DW_AT_name : (indirect string, offset: 0x18b): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1><100> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x104> -<1><104> +DW_AT_type : <0x105> +<1><105> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x139): iovec +DW_AT_name : (indirect string, offset: 0x203): iovec DW_AT_byte_size : 8 DW_AT_decl_file : 4 DW_AT_decl_line : 23 -<2><10c> +<2><10d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf5): iov_base -DW_AT_type : <0xcb> +DW_AT_name : (indirect string, offset: 0x1bf): iov_base +DW_AT_type : <0xcc> 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> +<2><11b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfe): iov_len -DW_AT_type : <0x129> +DW_AT_name : (indirect string, offset: 0x1c8): iov_len +DW_AT_type : <0x12a> 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> +<1><12a> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x134> -DW_AT_name : (indirect string, offset: 0x129): __kernel_size_t +DW_AT_type : <0x135> +DW_AT_name : (indirect string, offset: 0x1f3): __kernel_size_t DW_AT_decl_file : 5 DW_AT_decl_line : 65 -<1><134> +<1><135> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x13f> -DW_AT_name : (indirect string, offset: 0x118): __kernel_ulong_t +DW_AT_type : <0x140> +DW_AT_name : (indirect string, offset: 0x1e2): __kernel_ulong_t DW_AT_decl_file : 5 DW_AT_decl_line : 24 -<1><13f> +<1><140> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x106): long unsigned int +DW_AT_name : (indirect string, offset: 0x1d0): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><146> +<1><147> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x151> -DW_AT_name : (indirect string, offset: 0x157): size_t +DW_AT_type : <0x152> +DW_AT_name : (indirect string, offset: 0x221): size_t DW_AT_decl_file : 6 DW_AT_decl_line : 62 -<1><151> +<1><152> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x14a): unsigned int +DW_AT_name : (indirect string, offset: 0x214): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_msghdr.d1 b/mpers-m32/struct_msghdr.d1 index 493444f8..d2b6ba35 100644 --- a/mpers-m32/struct_msghdr.d1 +++ b/mpers-m32/struct_msghdr.d1 @@ -1,143 +1,144 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x130 (32-bit) + Length: 0x131 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_msghdr.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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) - <2>: Abbrev Number: 0 - <1>: Abbrev Number: 6 (DW_TAG_pointer_type) - <1>: 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>: 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>: 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>: 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>: 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>: Abbrev Number: 8 (DW_TAG_pointer_type) - DW_AT_type : <0xdf> - <1>: 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>: 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>: 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 - <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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x121): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 7 + <2a> DW_AT_decl_line : 34 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x24b): struct_msghdr + <3a> DW_AT_decl_file : 7 + <3b> DW_AT_decl_line : 32 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x244): msghdr + <41> DW_AT_byte_size : 28 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 84 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16d): msg_name + <49> DW_AT_type : <0xa7> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 85 + <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: 0x176): msg_namelen + <57> DW_AT_type : <0xa8> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 86 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x1ae): msg_iov + <65> DW_AT_type : <0xdb> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 87 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x200): msg_iovlen + <73> DW_AT_type : <0x122> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 88 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x21f): msg_control + <81> DW_AT_type : <0xa7> + <85> DW_AT_decl_file : 1 + <86> DW_AT_decl_line : 89 + <87> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x22b): msg_controllen + <8f> DW_AT_type : <0x122> + <93> DW_AT_decl_file : 1 + <94> DW_AT_decl_line : 90 + <95> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x23a): msg_flags + <9d> DW_AT_type : <0xd4> + DW_AT_decl_file : 1 + DW_AT_decl_line : 91 + DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_pointer_type) + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xb3> + DW_AT_name : (indirect string, offset: 0x1a4): socklen_t + DW_AT_decl_file : 3 + DW_AT_decl_line : 117 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xbe> + DW_AT_name : (indirect string, offset: 0x198): __socklen_t + DW_AT_decl_file : 3 + DW_AT_decl_line : 112 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xc9> + DW_AT_name : (indirect string, offset: 0x190): int32_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 64 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xd4> + DW_AT_name : (indirect string, offset: 0x186): __int32_t + DW_AT_decl_file : 2 + DW_AT_decl_line : 40 + <1>: Abbrev Number: 7 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x182): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 8 (DW_TAG_pointer_type) + DW_AT_type : <0xe0> + <1>: Abbrev Number: 4 (DW_TAG_structure_type) + DW_AT_name : (indirect string, offset: 0x1fa): iovec + DW_AT_byte_size : 8 + DW_AT_decl_file : 4 + DW_AT_decl_line : 23 + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1b6): iov_base + DW_AT_type : <0xa7> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1bf): iov_len + DW_AT_type : <0x105> + DW_AT_decl_file : 4 + <100> DW_AT_decl_line : 25 + <101> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><104>: Abbrev Number: 0 + <1><105>: Abbrev Number: 3 (DW_TAG_typedef) + <106> DW_AT_type : <0x110> + <10a> DW_AT_name : (indirect string, offset: 0x1ea): __kernel_size_t + <10e> DW_AT_decl_file : 5 + <10f> DW_AT_decl_line : 65 + <1><110>: Abbrev Number: 3 (DW_TAG_typedef) + <111> DW_AT_type : <0x11b> + <115> DW_AT_name : (indirect string, offset: 0x1d9): __kernel_ulong_t + <119> DW_AT_decl_file : 5 + <11a> DW_AT_decl_line : 24 + <1><11b>: Abbrev Number: 7 (DW_TAG_base_type) + <11c> DW_AT_name : (indirect string, offset: 0x1c7): long unsigned int + <120> DW_AT_encoding : 7 (unsigned) + <121> DW_AT_byte_size : 4 + <1><122>: Abbrev Number: 3 (DW_TAG_typedef) + <123> DW_AT_type : <0x12d> + <127> DW_AT_name : (indirect string, offset: 0x218): size_t + <12b> DW_AT_decl_file : 6 + <12c> DW_AT_decl_line : 62 + <1><12d>: Abbrev Number: 7 (DW_TAG_base_type) + <12e> DW_AT_name : (indirect string, offset: 0x20b): unsigned int + <132> DW_AT_encoding : 7 (unsigned) + <133> DW_AT_byte_size : 4 + <1><134>: Abbrev Number: 0 diff --git a/mpers-m32/struct_msghdr.d2 b/mpers-m32/struct_msghdr.d2 index b7009ec7..4a18839a 100644 --- a/mpers-m32/struct_msghdr.d2 +++ b/mpers-m32/struct_msghdr.d2 @@ -1,151 +1,151 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x92): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x181): struct_msghdr +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x24b): struct_msghdr DW_AT_decl_file : 7 DW_AT_decl_line : 32 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x17a): msghdr +DW_AT_name : (indirect string, offset: 0x244): msghdr DW_AT_byte_size : 28 DW_AT_decl_file : 1 -DW_AT_decl_line : 86 -<2><43> +DW_AT_decl_line : 84 +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa3): msg_name -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x16d): msg_name +DW_AT_type : <0xa7> DW_AT_decl_file : 1 -DW_AT_decl_line : 87 +DW_AT_decl_line : 85 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><51> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xac): msg_namelen -DW_AT_type : <0xa7> +DW_AT_name : (indirect string, offset: 0x176): msg_namelen +DW_AT_type : <0xa8> DW_AT_decl_file : 1 -DW_AT_decl_line : 88 +DW_AT_decl_line : 86 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><5f> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe4): msg_iov -DW_AT_type : <0xda> +DW_AT_name : (indirect string, offset: 0x1ae): msg_iov +DW_AT_type : <0xdb> DW_AT_decl_file : 1 -DW_AT_decl_line : 89 +DW_AT_decl_line : 87 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><6d> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x136): msg_iovlen -DW_AT_type : <0x121> +DW_AT_name : (indirect string, offset: 0x200): msg_iovlen +DW_AT_type : <0x122> DW_AT_decl_file : 1 -DW_AT_decl_line : 90 +DW_AT_decl_line : 88 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><7b> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x155): msg_control -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x21f): msg_control +DW_AT_type : <0xa7> DW_AT_decl_file : 1 -DW_AT_decl_line : 91 +DW_AT_decl_line : 89 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><89> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x161): msg_controllen -DW_AT_type : <0x121> +DW_AT_name : (indirect string, offset: 0x22b): msg_controllen +DW_AT_type : <0x122> DW_AT_decl_file : 1 -DW_AT_decl_line : 92 +DW_AT_decl_line : 90 DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) -<2><97> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x170): msg_flags -DW_AT_type : <0xd3> +DW_AT_name : (indirect string, offset: 0x23a): msg_flags +DW_AT_type : <0xd4> DW_AT_decl_file : 1 -DW_AT_decl_line : 93 +DW_AT_decl_line : 91 DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) -<1> -Abbrev Number: 6 (DW_TAG_pointer_type) <1> +Abbrev Number: 6 (DW_TAG_pointer_type) +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xb2> -DW_AT_name : (indirect string, offset: 0xda): socklen_t +DW_AT_type : <0xb3> +DW_AT_name : (indirect string, offset: 0x1a4): socklen_t DW_AT_decl_file : 3 -DW_AT_decl_line : 116 -<1> +DW_AT_decl_line : 117 +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xbd> -DW_AT_name : (indirect string, offset: 0xce): __socklen_t +DW_AT_type : <0xbe> +DW_AT_name : (indirect string, offset: 0x198): __socklen_t DW_AT_decl_file : 3 -DW_AT_decl_line : 111 -<1> +DW_AT_decl_line : 112 +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xc8> -DW_AT_name : (indirect string, offset: 0xc6): int32_t +DW_AT_type : <0xc9> +DW_AT_name : (indirect string, offset: 0x190): int32_t DW_AT_decl_file : 2 DW_AT_decl_line : 64 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xd3> -DW_AT_name : (indirect string, offset: 0xbc): __int32_t +DW_AT_type : <0xd4> +DW_AT_name : (indirect string, offset: 0x186): __int32_t DW_AT_decl_file : 2 DW_AT_decl_line : 40 -<1> +<1> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb8): int +DW_AT_name : (indirect string, offset: 0x182): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0xdf> -<1> +DW_AT_type : <0xe0> +<1> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x130): iovec +DW_AT_name : (indirect string, offset: 0x1fa): iovec DW_AT_byte_size : 8 DW_AT_decl_file : 4 DW_AT_decl_line : 23 -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xec): iov_base -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x1b6): iov_base +DW_AT_type : <0xa7> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf5): iov_len -DW_AT_type : <0x104> +DW_AT_name : (indirect string, offset: 0x1bf): iov_len +DW_AT_type : <0x105> 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> +<1><105> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x10f> -DW_AT_name : (indirect string, offset: 0x120): __kernel_size_t +DW_AT_type : <0x110> +DW_AT_name : (indirect string, offset: 0x1ea): __kernel_size_t DW_AT_decl_file : 5 DW_AT_decl_line : 65 -<1><10f> +<1><110> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x11a> -DW_AT_name : (indirect string, offset: 0x10f): __kernel_ulong_t +DW_AT_type : <0x11b> +DW_AT_name : (indirect string, offset: 0x1d9): __kernel_ulong_t DW_AT_decl_file : 5 DW_AT_decl_line : 24 -<1><11a> +<1><11b> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xfd): long unsigned int +DW_AT_name : (indirect string, offset: 0x1c7): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><121> +<1><122> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x12c> -DW_AT_name : (indirect string, offset: 0x14e): size_t +DW_AT_type : <0x12d> +DW_AT_name : (indirect string, offset: 0x218): size_t DW_AT_decl_file : 6 DW_AT_decl_line : 62 -<1><12c> +<1><12d> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x141): unsigned int +DW_AT_name : (indirect string, offset: 0x20b): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_mtd_oob_buf.d1 b/mpers-m32/struct_mtd_oob_buf.d1 index 4f8fac79..c8ec3599 100644 --- a/mpers-m32/struct_mtd_oob_buf.d1 +++ b/mpers-m32/struct_mtd_oob_buf.d1 @@ -1,66 +1,67 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x89 (32-bit) + Length: 0x8a (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_mtd_oob_buf.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x126): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x161): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 40 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1b0): struct_mtd_oob_buf + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 36 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1a4): mtd_oob_buf + <41> DW_AT_byte_size : 12 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 30 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x172): start + <49> DW_AT_type : <0x6f> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 31 + <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: 0x18b): length + <57> DW_AT_type : <0x6f> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 32 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x192): ptr + <65> DW_AT_type : <0x81> + <69> DW_AT_decl_file : 2 + <6a> DW_AT_decl_line : 33 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 0 + <1><6f>: Abbrev Number: 3 (DW_TAG_typedef) + <70> DW_AT_type : <0x7a> + <74> DW_AT_name : (indirect string, offset: 0x185): __u32 + <78> DW_AT_decl_file : 1 + <79> DW_AT_decl_line : 28 + <1><7a>: Abbrev Number: 6 (DW_TAG_base_type) + <7b> DW_AT_name : (indirect string, offset: 0x178): unsigned int + <7f> DW_AT_encoding : 7 (unsigned) + <80> DW_AT_byte_size : 4 + <1><81>: Abbrev Number: 7 (DW_TAG_pointer_type) + <82> DW_AT_type : <0x86> + <1><86>: Abbrev Number: 6 (DW_TAG_base_type) + <87> DW_AT_name : (indirect string, offset: 0x196): unsigned char + <8b> DW_AT_encoding : 8 (unsigned char) + <8c> DW_AT_byte_size : 1 + <1><8d>: Abbrev Number: 0 diff --git a/mpers-m32/struct_mtd_oob_buf.d2 b/mpers-m32/struct_mtd_oob_buf.d2 index cd1b3568..0d0c4a4c 100644 --- a/mpers-m32/struct_mtd_oob_buf.d2 +++ b/mpers-m32/struct_mtd_oob_buf.d2 @@ -1,60 +1,60 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x97): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x161): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xe6): struct_mtd_oob_buf +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1b0): struct_mtd_oob_buf DW_AT_decl_file : 3 DW_AT_decl_line : 36 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xda): mtd_oob_buf +DW_AT_name : (indirect string, offset: 0x1a4): mtd_oob_buf DW_AT_byte_size : 12 DW_AT_decl_file : 2 DW_AT_decl_line : 30 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa8): start -DW_AT_type : <0x6e> +DW_AT_name : (indirect string, offset: 0x172): start +DW_AT_type : <0x6f> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc1): length -DW_AT_type : <0x6e> +DW_AT_name : (indirect string, offset: 0x18b): length +DW_AT_type : <0x6f> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc8): ptr -DW_AT_type : <0x80> +DW_AT_name : (indirect string, offset: 0x192): ptr +DW_AT_type : <0x81> 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> +<1><6f> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x79> -DW_AT_name : (indirect string, offset: 0xbb): __u32 +DW_AT_type : <0x7a> +DW_AT_name : (indirect string, offset: 0x185): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1><79> +<1><7a> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xae): unsigned int +DW_AT_name : (indirect string, offset: 0x178): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><80> +<1><81> Abbrev Number: 7 (DW_TAG_pointer_type) -DW_AT_type : <0x85> -<1><85> +DW_AT_type : <0x86> +<1><86> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xcc): unsigned char +DW_AT_name : (indirect string, offset: 0x196): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 diff --git a/mpers-m32/struct_rt_sigframe.d1 b/mpers-m32/struct_rt_sigframe.d1 index 41b38a77..030bf97e 100644 --- a/mpers-m32/struct_rt_sigframe.d1 +++ b/mpers-m32/struct_rt_sigframe.d1 @@ -1,657 +1,707 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x55d (32-bit) + Length: 0x5b4 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_rt_sigframe.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - 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>: Abbrev Number: 7 (DW_TAG_union_type) - DW_AT_byte_size : 112 - DW_AT_decl_file : 1 - DW_AT_decl_line : 51 - <3>: 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>: 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>: Abbrev Number: 8 (DW_TAG_structure_type) - DW_AT_byte_size : 8 - DW_AT_decl_file : 1 - DW_AT_decl_line : 53 - <4>: 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>: 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) - <4>: Abbrev Number: 0 - <3>: 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>: Abbrev Number: 8 (DW_TAG_structure_type) - DW_AT_byte_size : 16 - DW_AT_decl_file : 1 - DW_AT_decl_line : 57 - <4>: Abbrev Number: 5 (DW_TAG_member) - 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> + <1a> DW_AT_comp_dir : (indirect string, offset: 0x126): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x161): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 11 + <2a> DW_AT_decl_line : 33 + <2b> DW_AT_location : 5 byte block: 3 10 0 0 0 (DW_OP_addr: 10) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x48d): struct_rt_sigframe + <3a> DW_AT_decl_file : 4 + <3b> DW_AT_decl_line : 39 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_byte_size : 5184 + <3f> DW_AT_decl_file : 4 + <40> DW_AT_decl_line : 35 + <2><41>: Abbrev Number: 5 (DW_TAG_member) + <42> DW_AT_name : (indirect string, offset: 0x172): info + <46> DW_AT_type : <0x5f> + <4a> DW_AT_decl_file : 4 + <4b> DW_AT_decl_line : 36 + <4c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><4f>: Abbrev Number: 5 (DW_TAG_member) + <50> DW_AT_name : (indirect string, offset: 0x326): uc + <54> DW_AT_type : <0x37a> + <58> DW_AT_decl_file : 4 + <59> DW_AT_decl_line : 37 + <5a> DW_AT_data_member_location: 3 byte block: 23 80 1 (DW_OP_plus_uconst: 128) + <2><5e>: Abbrev Number: 0 + <1><5f>: Abbrev Number: 3 (DW_TAG_typedef) + <60> DW_AT_type : <0x6a> + <64> DW_AT_name : (indirect string, offset: 0x31c): siginfo_t + <68> DW_AT_decl_file : 1 + <69> DW_AT_decl_line : 100 + <1><6a>: Abbrev Number: 6 (DW_TAG_structure_type) + <6b> DW_AT_name : (indirect string, offset: 0x314): siginfo + <6f> DW_AT_byte_size : 124 + <70> DW_AT_decl_file : 1 + <71> DW_AT_decl_line : 47 + <2><72>: Abbrev Number: 5 (DW_TAG_member) + <73> DW_AT_name : (indirect string, offset: 0x177): si_signo + <77> DW_AT_type : <0x2c3> + <7b> DW_AT_decl_file : 1 + <7c> DW_AT_decl_line : 48 + <7d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><80>: Abbrev Number: 5 (DW_TAG_member) + <81> DW_AT_name : (indirect string, offset: 0x184): si_errno + <85> DW_AT_type : <0x2c3> + <89> DW_AT_decl_file : 1 + <8a> DW_AT_decl_line : 49 + <8b> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><8e>: Abbrev Number: 5 (DW_TAG_member) + <8f> DW_AT_name : (indirect string, offset: 0x18d): si_code + <93> DW_AT_type : <0x2c3> + <97> DW_AT_decl_file : 1 + <98> DW_AT_decl_line : 50 + <99> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><9c>: Abbrev Number: 5 (DW_TAG_member) + <9d> DW_AT_name : (indirect string, offset: 0x195): _sifields + DW_AT_type : <0xaa> + 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>: Abbrev Number: 7 (DW_TAG_union_type) + DW_AT_byte_size : 112 + DW_AT_decl_file : 1 + DW_AT_decl_line : 51 + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x19f): _pad + DW_AT_type : <0x2ca> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ad): _kill + DW_AT_type : <0xca> + 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>: Abbrev Number: 8 (DW_TAG_structure_type) + DW_AT_byte_size : 8 + DW_AT_decl_file : 1 + DW_AT_decl_line : 53 + <4>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1b3): _pid + DW_AT_type : <0x2de> + 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>: Abbrev Number: 5 (DW_TAG_member) +
DW_AT_name : (indirect string, offset: 0x1c7): _uid + DW_AT_type : <0x2e9> + 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) + <4>: Abbrev Number: 0 + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ea): _timer + DW_AT_type : <0xf9> + 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>: Abbrev Number: 8 (DW_TAG_structure_type) + DW_AT_byte_size : 16 + DW_AT_decl_file : 1 + DW_AT_decl_line : 57 + <4>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f1): _tid + <102> DW_AT_type : <0x2fb> + <106> DW_AT_decl_file : 1 + <107> DW_AT_decl_line : 58 + <108> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><10b>: Abbrev Number: 5 (DW_TAG_member) + <10c> DW_AT_name : (indirect string, offset: 0x207): _overrun + <110> DW_AT_type : <0x2c3> + <114> DW_AT_decl_file : 1 + <115> DW_AT_decl_line : 59 + <116> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><119>: Abbrev Number: 5 (DW_TAG_member) + <11a> DW_AT_name : (indirect string, offset: 0x19f): _pad + <11e> DW_AT_type : <0x306> + <122> DW_AT_decl_file : 1 + <123> DW_AT_decl_line : 60 + <124> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><127>: Abbrev Number: 5 (DW_TAG_member) + <128> DW_AT_name : (indirect string, offset: 0x215): _sigval + <12c> DW_AT_type : <0x31a> + <130> DW_AT_decl_file : 1 + <131> DW_AT_decl_line : 61 + <132> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><135>: Abbrev Number: 5 (DW_TAG_member) + <136> DW_AT_name : (indirect string, offset: 0x241): _sys_private + <13a> DW_AT_type : <0x2c3> + <13e> DW_AT_decl_file : 1 + <13f> DW_AT_decl_line : 62 + <140> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <4><143>: Abbrev Number: 0 + <3><144>: Abbrev Number: 5 (DW_TAG_member) + <145> DW_AT_name : (indirect string, offset: 0x24e): _rt + <149> DW_AT_type : <0x152> + <14d> DW_AT_decl_file : 1 + <14e> DW_AT_decl_line : 68 + <14f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><152>: Abbrev Number: 8 (DW_TAG_structure_type) + <153> DW_AT_byte_size : 12 + <154> DW_AT_decl_file : 1 + <155> DW_AT_decl_line : 64 + <4><156>: Abbrev Number: 5 (DW_TAG_member) + <157> DW_AT_name : (indirect string, offset: 0x1b3): _pid + <15b> DW_AT_type : <0x2de> + <15f> DW_AT_decl_file : 1 + <160> DW_AT_decl_line : 65 + <161> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><164>: Abbrev Number: 5 (DW_TAG_member) + <165> DW_AT_name : (indirect string, offset: 0x1c7): _uid + <169> DW_AT_type : <0x2e9> + <16d> DW_AT_decl_file : 1 + <16e> DW_AT_decl_line : 66 + <16f> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><172>: Abbrev Number: 5 (DW_TAG_member) + <173> DW_AT_name : (indirect string, offset: 0x215): _sigval + <177> DW_AT_type : <0x31a> + <17b> DW_AT_decl_file : 1 + <17c> DW_AT_decl_line : 67 + <17d> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><180>: Abbrev Number: 0 + <3><181>: Abbrev Number: 5 (DW_TAG_member) + <182> DW_AT_name : (indirect string, offset: 0x252): _sigchld + <186> DW_AT_type : <0x18f> + <18a> DW_AT_decl_file : 1 + <18b> DW_AT_decl_line : 75 + <18c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><18f>: Abbrev Number: 8 (DW_TAG_structure_type) + <190> DW_AT_byte_size : 20 + <191> DW_AT_decl_file : 1 + <192> DW_AT_decl_line : 69 + <4><193>: Abbrev Number: 5 (DW_TAG_member) + <194> DW_AT_name : (indirect string, offset: 0x1b3): _pid + <198> DW_AT_type : <0x2de> + <19c> DW_AT_decl_file : 1 + <19d> DW_AT_decl_line : 70 + <19e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><1a1>: Abbrev Number: 5 (DW_TAG_member) + <1a2> DW_AT_name : (indirect string, offset: 0x1c7): _uid + <1a6> DW_AT_type : <0x2e9> + <1aa> DW_AT_decl_file : 1 + <1ab> DW_AT_decl_line : 71 + <1ac> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><1af>: Abbrev Number: 5 (DW_TAG_member) + <1b0> DW_AT_name : (indirect string, offset: 0x25b): _status + <1b4> DW_AT_type : <0x2c3> + <1b8> DW_AT_decl_file : 1 + <1b9> DW_AT_decl_line : 72 + <1ba> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><1bd>: Abbrev Number: 5 (DW_TAG_member) + <1be> DW_AT_name : (indirect string, offset: 0x263): _utime + <1c2> DW_AT_type : <0x34b> + <1c6> DW_AT_decl_file : 1 + <1c7> DW_AT_decl_line : 73 + <1c8> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <4><1cb>: Abbrev Number: 5 (DW_TAG_member) + <1cc> DW_AT_name : (indirect string, offset: 0x294): _stime + <1d0> DW_AT_type : <0x34b> + <1d4> DW_AT_decl_file : 1 + <1d5> DW_AT_decl_line : 74 + <1d6> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <4><1d9>: Abbrev Number: 0 + <3><1da>: Abbrev Number: 5 (DW_TAG_member) + <1db> DW_AT_name : (indirect string, offset: 0x29b): _sigfault + <1df> DW_AT_type : <0x1e8> + <1e3> DW_AT_decl_file : 1 + <1e4> DW_AT_decl_line : 89 + <1e5> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><1e8>: Abbrev Number: 8 (DW_TAG_structure_type) + <1e9> DW_AT_byte_size : 16 + <1ea> DW_AT_decl_file : 1 + <1eb> DW_AT_decl_line : 76 + <4><1ec>: Abbrev Number: 5 (DW_TAG_member) + <1ed> DW_AT_name : (indirect string, offset: 0x2a5): _addr + <1f1> DW_AT_type : <0x34a> + <1f5> DW_AT_decl_file : 1 + <1f6> DW_AT_decl_line : 77 + <1f7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><1fa>: Abbrev Number: 5 (DW_TAG_member) + <1fb> DW_AT_name : (indirect string, offset: 0x2ab): _addr_lsb + <1ff> DW_AT_type : <0x368> + <203> DW_AT_decl_file : 1 + <204> DW_AT_decl_line : 81 + <205> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><208>: Abbrev Number: 9 (DW_TAG_member) + <209> DW_AT_type : <0x212> + <20d> DW_AT_decl_file : 1 + <20e> DW_AT_decl_line : 82 + <20f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><212>: Abbrev Number: 7 (DW_TAG_union_type) + <213> DW_AT_byte_size : 8 + <214> DW_AT_decl_file : 1 + <215> DW_AT_decl_line : 82 + <5><216>: Abbrev Number: 5 (DW_TAG_member) + <217> DW_AT_name : (indirect string, offset: 0x2bb): _addr_bnd + <21b> DW_AT_type : <0x224> + <21f> DW_AT_decl_file : 1 + <220> DW_AT_decl_line : 86 + <221> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <5><224>: Abbrev Number: 8 (DW_TAG_structure_type) + <225> DW_AT_byte_size : 8 + <226> DW_AT_decl_file : 1 + <227> DW_AT_decl_line : 83 + <6><228>: Abbrev Number: 5 (DW_TAG_member) + <229> DW_AT_name : (indirect string, offset: 0x2c5): _lower + <22d> DW_AT_type : <0x34a> + <231> DW_AT_decl_file : 1 + <232> DW_AT_decl_line : 84 + <233> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <6><236>: Abbrev Number: 5 (DW_TAG_member) + <237> DW_AT_name : (indirect string, offset: 0x2cc): _upper + <23b> DW_AT_type : <0x34a> + <23f> DW_AT_decl_file : 1 + <240> DW_AT_decl_line : 85 + <241> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <6><244>: Abbrev Number: 0 + <5><245>: Abbrev Number: 5 (DW_TAG_member) + <246> DW_AT_name : (indirect string, offset: 0x2d3): _pkey + <24a> DW_AT_type : <0x36f> + <24e> DW_AT_decl_file : 1 + <24f> DW_AT_decl_line : 87 + <250> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <5><253>: Abbrev Number: 0 + <4><254>: Abbrev Number: 0 + <3><255>: Abbrev Number: 5 (DW_TAG_member) + <256> DW_AT_name : (indirect string, offset: 0x2df): _sigpoll + <25a> DW_AT_type : <0x263> + <25e> DW_AT_decl_file : 1 + <25f> DW_AT_decl_line : 93 + <260> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><263>: Abbrev Number: 8 (DW_TAG_structure_type) + <264> DW_AT_byte_size : 8 + <265> DW_AT_decl_file : 1 + <266> DW_AT_decl_line : 90 + <4><267>: Abbrev Number: 5 (DW_TAG_member) + <268> DW_AT_name : (indirect string, offset: 0x2e8): _band + <26c> DW_AT_type : <0x361> + <270> DW_AT_decl_file : 1 + <271> DW_AT_decl_line : 91 + <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: 0x2ee): _fd + <27a> DW_AT_type : <0x2c3> + <27e> DW_AT_decl_file : 1 + <27f> DW_AT_decl_line : 92 + <280> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><283>: Abbrev Number: 0 + <3><284>: Abbrev Number: 5 (DW_TAG_member) + <285> DW_AT_name : (indirect string, offset: 0x2f2): _sigsys + <289> DW_AT_type : <0x292> + <28d> DW_AT_decl_file : 1 + <28e> DW_AT_decl_line : 98 + <28f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><292>: Abbrev Number: 8 (DW_TAG_structure_type) + <293> DW_AT_byte_size : 12 + <294> DW_AT_decl_file : 1 + <295> DW_AT_decl_line : 94 + <4><296>: Abbrev Number: 5 (DW_TAG_member) + <297> DW_AT_name : (indirect string, offset: 0x2fa): _call_addr + <29b> DW_AT_type : <0x34a> + <29f> DW_AT_decl_file : 1 + <2a0> DW_AT_decl_line : 95 + <2a1> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><2a4>: Abbrev Number: 5 (DW_TAG_member) + <2a5> DW_AT_name : (indirect string, offset: 0x305): _syscall + <2a9> DW_AT_type : <0x2c3> + <2ad> DW_AT_decl_file : 1 + <2ae> DW_AT_decl_line : 96 + <2af> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><2b2>: Abbrev Number: 5 (DW_TAG_member) + <2b3> DW_AT_name : (indirect string, offset: 0x30e): _arch + <2b7> DW_AT_type : <0x2f4> + <2bb> DW_AT_decl_file : 1 + <2bc> DW_AT_decl_line : 97 + <2bd> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <4><2c0>: Abbrev Number: 0 + <3><2c1>: Abbrev Number: 0 + <2><2c2>: Abbrev Number: 0 + <1><2c3>: Abbrev Number: 10 (DW_TAG_base_type) + <2c4> DW_AT_name : (indirect string, offset: 0x180): int + <2c8> DW_AT_encoding : 5 (signed) + <2c9> DW_AT_byte_size : 4 + <1><2ca>: Abbrev Number: 11 (DW_TAG_array_type) + <2cb> DW_AT_type : <0x2c3> + <2><2cf>: Abbrev Number: 12 (DW_TAG_subrange_type) + <2d0> DW_AT_type : <0x2d7> + <2d4> DW_AT_lower_bound : 0 + <2d5> DW_AT_count : 28 + <2><2d6>: Abbrev Number: 0 + <1><2d7>: Abbrev Number: 13 (DW_TAG_base_type) + <2d8> DW_AT_name : (indirect string, offset: 0x1a4): sizetype + <2dc> DW_AT_byte_size : 8 + <2dd> DW_AT_encoding : 7 (unsigned) + <1><2de>: Abbrev Number: 3 (DW_TAG_typedef) + <2df> DW_AT_type : <0x2c3> + <2e3> DW_AT_name : (indirect string, offset: 0x1b8): __kernel_pid_t + <2e7> DW_AT_decl_file : 2 + <2e8> DW_AT_decl_line : 33 + <1><2e9>: Abbrev Number: 3 (DW_TAG_typedef) + <2ea> DW_AT_type : <0x2f4> + <2ee> DW_AT_name : (indirect string, offset: 0x1d9): __kernel_uid32_t + <2f2> DW_AT_decl_file : 2 + <2f3> DW_AT_decl_line : 49 + <1><2f4>: Abbrev Number: 10 (DW_TAG_base_type) + <2f5> DW_AT_name : (indirect string, offset: 0x1cc): unsigned int + <2f9> DW_AT_encoding : 7 (unsigned) + <2fa> DW_AT_byte_size : 4 + <1><2fb>: Abbrev Number: 3 (DW_TAG_typedef) + <2fc> DW_AT_type : <0x2c3> + <300> DW_AT_name : (indirect string, offset: 0x1f6): __kernel_timer_t + <304> DW_AT_decl_file : 2 + <305> DW_AT_decl_line : 79 + <1><306>: Abbrev Number: 11 (DW_TAG_array_type) + <307> DW_AT_type : <0x313> + <2><30b>: Abbrev Number: 12 (DW_TAG_subrange_type) + <30c> DW_AT_type : <0x2d7> + <310> DW_AT_lower_bound : 0 + <311> DW_AT_count : 0 + <2><312>: Abbrev Number: 0 + <1><313>: Abbrev Number: 10 (DW_TAG_base_type) + <314> DW_AT_name : (indirect string, offset: 0x210): char + <318> DW_AT_encoding : 8 (unsigned char) + <319> DW_AT_byte_size : 1 + <1><31a>: Abbrev Number: 3 (DW_TAG_typedef) + <31b> DW_AT_type : <0x325> + <31f> DW_AT_name : (indirect string, offset: 0x238): sigval_t + <323> DW_AT_decl_file : 1 + <324> DW_AT_decl_line : 26 + <1><325>: Abbrev Number: 14 (DW_TAG_union_type) + <326> DW_AT_name : (indirect string, offset: 0x231): sigval + <32a> DW_AT_byte_size : 4 + <32b> DW_AT_decl_file : 1 + <32c> DW_AT_decl_line : 23 + <2><32d>: Abbrev Number: 5 (DW_TAG_member) + <32e> DW_AT_name : (indirect string, offset: 0x21d): sival_int + <332> DW_AT_type : <0x2c3> + <336> DW_AT_decl_file : 1 + <337> DW_AT_decl_line : 24 + <338> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><33b>: Abbrev Number: 5 (DW_TAG_member) + <33c> DW_AT_name : (indirect string, offset: 0x227): sival_ptr + <340> DW_AT_type : <0x34a> + <344> DW_AT_decl_file : 1 + <345> DW_AT_decl_line : 25 + <346> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><349>: Abbrev Number: 0 + <1><34a>: Abbrev Number: 15 (DW_TAG_pointer_type) + <1><34b>: Abbrev Number: 3 (DW_TAG_typedef) + <34c> DW_AT_type : <0x356> + <350> DW_AT_name : (indirect string, offset: 0x283): __kernel_clock_t + <354> DW_AT_decl_file : 2 + <355> DW_AT_decl_line : 78 + <1><356>: Abbrev Number: 3 (DW_TAG_typedef) + <357> DW_AT_type : <0x361> + <35b> DW_AT_name : (indirect string, offset: 0x273): __kernel_long_t + <35f> DW_AT_decl_file : 2 + <360> DW_AT_decl_line : 23 + <1><361>: Abbrev Number: 10 (DW_TAG_base_type) + <362> DW_AT_name : (indirect string, offset: 0x26a): long int + <366> DW_AT_encoding : 5 (signed) + <367> DW_AT_byte_size : 4 + <1><368>: Abbrev Number: 10 (DW_TAG_base_type) + <369> DW_AT_name : (indirect string, offset: 0x2b5): short + <36d> DW_AT_encoding : 5 (signed) + <36e> DW_AT_byte_size : 2 + <1><36f>: Abbrev Number: 3 (DW_TAG_typedef) + <370> DW_AT_type : <0x2f4> + <374> DW_AT_name : (indirect string, offset: 0x2d9): __u32 + <378> DW_AT_decl_file : 3 + <379> DW_AT_decl_line : 28 + <1><37a>: Abbrev Number: 3 (DW_TAG_typedef) + <37b> DW_AT_type : <0x385> + <37f> DW_AT_name : (indirect string, offset: 0x482): ucontext_t + <383> DW_AT_decl_file : 5 + <384> DW_AT_decl_line : 101 + <1><385>: Abbrev Number: 16 (DW_TAG_structure_type) + <386> DW_AT_name : (indirect string, offset: 0x479): ucontext + <38a> DW_AT_byte_size : 5056 + <38c> DW_AT_decl_file : 5 + <38d> DW_AT_decl_line : 85 + <2><38e>: Abbrev Number: 5 (DW_TAG_member) + <38f> DW_AT_name : (indirect string, offset: 0x329): uc_flags + <393> DW_AT_type : <0x42f> + <397> DW_AT_decl_file : 5 + <398> DW_AT_decl_line : 86 + <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: 0x344): uc_link + <3a1> DW_AT_type : <0x436> + <3a5> DW_AT_decl_file : 5 + <3a6> DW_AT_decl_line : 87 + <3a7> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><3aa>: Abbrev Number: 5 (DW_TAG_member) + <3ab> DW_AT_name : (indirect string, offset: 0x34c): uc_stack + <3af> DW_AT_type : <0x43b> + <3b3> DW_AT_decl_file : 5 + <3b4> DW_AT_decl_line : 88 + <3b5> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><3b8>: Abbrev Number: 5 (DW_TAG_member) + <3b9> DW_AT_name : (indirect string, offset: 0x387): uc_mcontext + <3bd> DW_AT_type : <0x484> + <3c1> DW_AT_decl_file : 5 + <3c2> DW_AT_decl_line : 89 + <3c3> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><3c6>: Abbrev Number: 9 (DW_TAG_member) + <3c7> DW_AT_type : <0x3d1> + <3cb> DW_AT_decl_file : 5 + <3cc> DW_AT_decl_line : 90 + <3cd> DW_AT_data_member_location: 3 byte block: 23 c0 22 (DW_OP_plus_uconst: 4416) + <2><3d1>: Abbrev Number: 7 (DW_TAG_union_type) + <3d2> DW_AT_byte_size : 8 + <3d3> DW_AT_decl_file : 5 + <3d4> DW_AT_decl_line : 90 + <3><3d5>: Abbrev Number: 9 (DW_TAG_member) + <3d6> DW_AT_type : <0x3df> + <3da> DW_AT_decl_file : 5 + <3db> DW_AT_decl_line : 91 + <3dc> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><3df>: Abbrev Number: 8 (DW_TAG_structure_type) + <3e0> DW_AT_byte_size : 8 + <3e1> DW_AT_decl_file : 5 + <3e2> DW_AT_decl_line : 91 + <4><3e3>: Abbrev Number: 5 (DW_TAG_member) + <3e4> DW_AT_name : (indirect string, offset: 0x404): uc_sigmask + <3e8> DW_AT_type : <0x531> <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) + <3ed> DW_AT_decl_line : 92 + <3ee> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <4><3f1>: Abbrev Number: 5 (DW_TAG_member) + <3f2> DW_AT_name : (indirect string, offset: 0x41c): __padding_rt_sigset + <3f6> DW_AT_type : <0x55c> + <3fa> DW_AT_decl_file : 5 + <3fb> DW_AT_decl_line : 94 + <3fc> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <4><3ff>: Abbrev Number: 0 + <3><400>: Abbrev Number: 5 (DW_TAG_member) + <401> DW_AT_name : (indirect string, offset: 0x444): uc_sigmask64 + <405> DW_AT_type : <0x572> + <409> DW_AT_decl_file : 5 + <40a> DW_AT_decl_line : 96 + <40b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><40e>: Abbrev Number: 0 + <2><40f>: Abbrev Number: 5 (DW_TAG_member) + <410> DW_AT_name : (indirect string, offset: 0x463): __padding + <414> DW_AT_type : <0x59d> + <418> DW_AT_decl_file : 5 + <419> DW_AT_decl_line : 99 + <41a> DW_AT_data_member_location: 3 byte block: 23 c8 22 (DW_OP_plus_uconst: 4424) + <2><41e>: Abbrev Number: 17 (DW_TAG_member) + <41f> DW_AT_name : (indirect string, offset: 0x46d): uc_regspace + <423> DW_AT_type : <0x5aa> + <427> DW_AT_decl_file : 5 + <428> DW_AT_decl_line : 100 + <429> Unknown AT value: 88: 8 + <42a> DW_AT_data_member_location: 3 byte block: 23 c0 23 (DW_OP_plus_uconst: 4544) + <2><42e>: Abbrev Number: 0 + <1><42f>: Abbrev Number: 10 (DW_TAG_base_type) + <430> DW_AT_name : (indirect string, offset: 0x332): long unsigned int + <434> DW_AT_encoding : 7 (unsigned) + <435> DW_AT_byte_size : 4 + <1><436>: Abbrev Number: 18 (DW_TAG_pointer_type) + <437> DW_AT_type : <0x385> + <1><43b>: Abbrev Number: 3 (DW_TAG_typedef) + <43c> DW_AT_type : <0x446> + <440> DW_AT_name : (indirect string, offset: 0x37f): stack_t + <444> DW_AT_decl_file : 6 + <445> DW_AT_decl_line : 97 + <1><446>: Abbrev Number: 6 (DW_TAG_structure_type) + <447> DW_AT_name : (indirect string, offset: 0x373): sigaltstack + <44b> DW_AT_byte_size : 12 + <44c> DW_AT_decl_file : 6 + <44d> DW_AT_decl_line : 93 + <2><44e>: Abbrev Number: 5 (DW_TAG_member) + <44f> DW_AT_name : (indirect string, offset: 0x355): ss_sp + <453> DW_AT_type : <0x34a> + <457> DW_AT_decl_file : 6 + <458> DW_AT_decl_line : 94 + <459> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><45c>: Abbrev Number: 5 (DW_TAG_member) + <45d> DW_AT_name : (indirect string, offset: 0x35b): ss_flags + <461> DW_AT_type : <0x2c3> + <465> DW_AT_decl_file : 6 + <466> DW_AT_decl_line : 95 + <467> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><46a>: Abbrev Number: 5 (DW_TAG_member) + <46b> DW_AT_name : (indirect string, offset: 0x364): ss_size + <46f> DW_AT_type : <0x479> + <473> DW_AT_decl_file : 6 + <474> DW_AT_decl_line : 96 + <475> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><478>: Abbrev Number: 0 + <1><479>: Abbrev Number: 3 (DW_TAG_typedef) + <47a> DW_AT_type : <0x2f4> + <47e> DW_AT_name : (indirect string, offset: 0x36c): size_t + <482> DW_AT_decl_file : 7 + <483> DW_AT_decl_line : 62 + <1><484>: Abbrev Number: 3 (DW_TAG_typedef) + <485> DW_AT_type : <0x48f> + <489> DW_AT_name : (indirect string, offset: 0x3f9): mcontext_t + <48d> DW_AT_decl_file : 5 + <48e> DW_AT_decl_line : 83 + <1><48f>: Abbrev Number: 16 (DW_TAG_structure_type) + <490> DW_AT_name : (indirect string, offset: 0x3ee): sigcontext + <494> DW_AT_byte_size : 4384 + <496> DW_AT_decl_file : 8 + <497> DW_AT_decl_line : 23 + <2><498>: Abbrev Number: 5 (DW_TAG_member) + <499> DW_AT_name : (indirect string, offset: 0x393): fault_address + <49d> DW_AT_type : <0x4f2> + <4a1> DW_AT_decl_file : 8 + <4a2> DW_AT_decl_line : 24 + <4a3> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2><4a6>: Abbrev Number: 5 (DW_TAG_member) - <4a7> DW_AT_name : (indirect string, offset: 0x2ff): pstate - <4ab> DW_AT_type : <0x4c6> + <4a7> DW_AT_name : (indirect string, offset: 0x3be): regs + <4ab> DW_AT_type : <0x504> <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 + <4b0> DW_AT_decl_line : 25 + <4b1> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><4b4>: Abbrev Number: 5 (DW_TAG_member) + <4b5> DW_AT_name : (indirect string, offset: 0x3c3): sp + <4b9> DW_AT_type : <0x4f2> + <4bd> DW_AT_decl_file : 8 + <4be> DW_AT_decl_line : 26 + <4bf> DW_AT_data_member_location: 3 byte block: 23 80 2 (DW_OP_plus_uconst: 256) + <2><4c3>: Abbrev Number: 5 (DW_TAG_member) + <4c4> DW_AT_name : (indirect string, offset: 0x3c6): pc + <4c8> DW_AT_type : <0x4f2> + <4cc> DW_AT_decl_file : 8 + <4cd> DW_AT_decl_line : 27 + <4ce> DW_AT_data_member_location: 3 byte block: 23 88 2 (DW_OP_plus_uconst: 264) + <2><4d2>: Abbrev Number: 5 (DW_TAG_member) + <4d3> DW_AT_name : (indirect string, offset: 0x3c9): pstate + <4d7> DW_AT_type : <0x4f2> + <4db> DW_AT_decl_file : 8 + <4dc> DW_AT_decl_line : 28 + <4dd> DW_AT_data_member_location: 3 byte block: 23 90 2 (DW_OP_plus_uconst: 272) + <2><4e1>: Abbrev Number: 17 (DW_TAG_member) + <4e2> DW_AT_name : (indirect string, offset: 0x3d0): __reserved + <4e6> DW_AT_type : <0x511> + <4ea> DW_AT_decl_file : 8 + <4eb> DW_AT_decl_line : 29 + <4ec> Unknown AT value: 88: 16 + <4ed> DW_AT_data_member_location: 3 byte block: 23 a0 2 (DW_OP_plus_uconst: 288) + <2><4f1>: Abbrev Number: 0 + <1><4f2>: Abbrev Number: 3 (DW_TAG_typedef) + <4f3> DW_AT_type : <0x4fd> + <4f7> DW_AT_name : (indirect string, offset: 0x3b8): __u64 + <4fb> DW_AT_decl_file : 3 + <4fc> DW_AT_decl_line : 31 + <1><4fd>: Abbrev Number: 10 (DW_TAG_base_type) + <4fe> DW_AT_name : (indirect string, offset: 0x3a1): long long unsigned int + <502> DW_AT_encoding : 7 (unsigned) + <503> DW_AT_byte_size : 8 + <1><504>: Abbrev Number: 11 (DW_TAG_array_type) + <505> DW_AT_type : <0x4f2> + <2><509>: Abbrev Number: 12 (DW_TAG_subrange_type) + <50a> DW_AT_type : <0x2d7> + <50e> DW_AT_lower_bound : 0 + <50f> DW_AT_count : 31 + <2><510>: Abbrev Number: 0 + <1><511>: Abbrev Number: 11 (DW_TAG_array_type) + <512> DW_AT_type : <0x51f> + <2><516>: Abbrev Number: 19 (DW_TAG_subrange_type) + <517> DW_AT_type : <0x2d7> + <51b> DW_AT_lower_bound : 0 + <51c> DW_AT_count : 4096 + <2><51e>: Abbrev Number: 0 + <1><51f>: Abbrev Number: 3 (DW_TAG_typedef) + <520> DW_AT_type : <0x52a> + <524> DW_AT_name : (indirect string, offset: 0x3e9): __u8 + <528> DW_AT_decl_file : 3 + <529> DW_AT_decl_line : 24 + <1><52a>: Abbrev Number: 10 (DW_TAG_base_type) + <52b> DW_AT_name : (indirect string, offset: 0x3db): unsigned char + <52f> DW_AT_encoding : 8 (unsigned char) + <530> DW_AT_byte_size : 1 + <1><531>: Abbrev Number: 3 (DW_TAG_typedef) + <532> DW_AT_type : <0x53c> + <536> DW_AT_name : (indirect string, offset: 0x413): sigset_t + <53a> DW_AT_decl_file : 6 + <53b> DW_AT_decl_line : 79 + <1><53c>: Abbrev Number: 8 (DW_TAG_structure_type) + <53d> DW_AT_byte_size : 4 + <53e> DW_AT_decl_file : 6 + <53f> DW_AT_decl_line : 77 + <2><540>: Abbrev Number: 5 (DW_TAG_member) + <541> DW_AT_name : (indirect string, offset: 0x40f): sig + <545> DW_AT_type : <0x54f> + <549> DW_AT_decl_file : 6 + <54a> DW_AT_decl_line : 78 + <54b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54e>: Abbrev Number: 0 + <1><54f>: Abbrev Number: 11 (DW_TAG_array_type) + <550> DW_AT_type : <0x42f> + <2><554>: Abbrev Number: 12 (DW_TAG_subrange_type) + <555> DW_AT_type : <0x2d7> + <559> DW_AT_lower_bound : 0 + <55a> DW_AT_count : 1 + <2><55b>: Abbrev Number: 0 + <1><55c>: Abbrev Number: 3 (DW_TAG_typedef) + <55d> DW_AT_type : <0x567> + <561> DW_AT_name : (indirect string, offset: 0x43b): uint32_t + <565> DW_AT_decl_file : 9 + <566> DW_AT_decl_line : 65 + <1><567>: Abbrev Number: 3 (DW_TAG_typedef) + <568> DW_AT_type : <0x2f4> + <56c> DW_AT_name : (indirect string, offset: 0x430): __uint32_t + <570> DW_AT_decl_file : 9 + <571> DW_AT_decl_line : 41 + <1><572>: Abbrev Number: 3 (DW_TAG_typedef) + <573> DW_AT_type : <0x57d> + <577> DW_AT_name : (indirect string, offset: 0x458): sigset64_t + <57b> DW_AT_decl_file : 10 + <57c> DW_AT_decl_line : 67 + <1><57d>: Abbrev Number: 8 (DW_TAG_structure_type) + <57e> DW_AT_byte_size : 8 + <57f> DW_AT_decl_file : 10 + <580> DW_AT_decl_line : 67 + <2><581>: Abbrev Number: 5 (DW_TAG_member) + <582> DW_AT_name : (indirect string, offset: 0x451): __bits + <586> DW_AT_type : <0x590> + <58a> DW_AT_decl_file : 10 + <58b> DW_AT_decl_line : 67 + <58c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><58f>: Abbrev Number: 0 + <1><590>: Abbrev Number: 11 (DW_TAG_array_type) + <591> DW_AT_type : <0x42f> + <2><595>: Abbrev Number: 12 (DW_TAG_subrange_type) + <596> DW_AT_type : <0x2d7> + <59a> DW_AT_lower_bound : 0 + <59b> DW_AT_count : 2 + <2><59c>: Abbrev Number: 0 + <1><59d>: Abbrev Number: 11 (DW_TAG_array_type) + <59e> DW_AT_type : <0x313> + <2><5a2>: Abbrev Number: 12 (DW_TAG_subrange_type) + <5a3> DW_AT_type : <0x2d7> + <5a7> DW_AT_lower_bound : 0 + <5a8> DW_AT_count : 120 + <2><5a9>: Abbrev Number: 0 + <1><5aa>: Abbrev Number: 11 (DW_TAG_array_type) + <5ab> DW_AT_type : <0x42f> + <2><5af>: Abbrev Number: 12 (DW_TAG_subrange_type) + <5b0> DW_AT_type : <0x2d7> + <5b4> DW_AT_lower_bound : 0 + <5b5> DW_AT_count : 128 + <2><5b6>: Abbrev Number: 0 + <1><5b7>: Abbrev Number: 0 diff --git a/mpers-m32/struct_rt_sigframe.d2 b/mpers-m32/struct_rt_sigframe.d2 index 847ed69d..e4d5aed9 100644 --- a/mpers-m32/struct_rt_sigframe.d2 +++ b/mpers-m32/struct_rt_sigframe.d2 @@ -1,740 +1,795 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x97): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x161): mpers_target_var +DW_AT_type : <0x31> DW_AT_external : 1 -DW_AT_decl_file : 10 +DW_AT_decl_file : 11 DW_AT_decl_line : 33 DW_AT_location : 5 byte block: 3 10 0 0 0 (DW_OP_addr: 10) -<1><30> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x3a4): struct_rt_sigframe +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x48d): struct_rt_sigframe DW_AT_decl_file : 4 DW_AT_decl_line : 39 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) DW_AT_byte_size : 5184 DW_AT_decl_file : 4 DW_AT_decl_line : 35 -<2><40> +<2><41> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa8): info -DW_AT_type : <0x5e> +DW_AT_name : (indirect string, offset: 0x172): info +DW_AT_type : <0x5f> 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> +<2><4f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x25c): uc -DW_AT_type : <0x379> +DW_AT_name : (indirect string, offset: 0x326): uc +DW_AT_type : <0x37a> 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> +<1><5f> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x69> -DW_AT_name : (indirect string, offset: 0x252): siginfo_t +DW_AT_type : <0x6a> +DW_AT_name : (indirect string, offset: 0x31c): siginfo_t DW_AT_decl_file : 1 DW_AT_decl_line : 100 -<1><69> +<1><6a> Abbrev Number: 6 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x24a): siginfo +DW_AT_name : (indirect string, offset: 0x314): siginfo DW_AT_byte_size : 124 DW_AT_decl_file : 1 DW_AT_decl_line : 47 -<2><71> +<2><72> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xad): si_signo -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x177): si_signo +DW_AT_type : <0x2c3> 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> +<2><80> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xba): si_errno -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x184): si_errno +DW_AT_type : <0x2c3> 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> +<2><8e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc3): si_code -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x18d): si_code +DW_AT_type : <0x2c3> 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> +<2><9c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcb): _sifields -DW_AT_type : <0xa9> +DW_AT_name : (indirect string, offset: 0x195): _sifields +DW_AT_type : <0xaa> 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> +<2> Abbrev Number: 7 (DW_TAG_union_type) DW_AT_byte_size : 112 DW_AT_decl_file : 1 DW_AT_decl_line : 51 -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd5): _pad -DW_AT_type : <0x2c9> +DW_AT_name : (indirect string, offset: 0x19f): _pad +DW_AT_type : <0x2ca> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe3): _kill -DW_AT_type : <0xc9> +DW_AT_name : (indirect string, offset: 0x1ad): _kill +DW_AT_type : <0xca> 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> +<3> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 53 -<4> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe9): _pid -DW_AT_type : <0x2dd> +DW_AT_name : (indirect string, offset: 0x1b3): _pid +DW_AT_type : <0x2de> 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> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfd): _uid -DW_AT_type : <0x2e8> +DW_AT_name : (indirect string, offset: 0x1c7): _uid +DW_AT_type : <0x2e9> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x120): _timer -DW_AT_type : <0xf8> +DW_AT_name : (indirect string, offset: 0x1ea): _timer +DW_AT_type : <0xf9> 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> +<3> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 16 DW_AT_decl_file : 1 DW_AT_decl_line : 57 -<4> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x127): _tid -DW_AT_type : <0x2fa> +DW_AT_name : (indirect string, offset: 0x1f1): _tid +DW_AT_type : <0x2fb> 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> +<4><10b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13d): _overrun -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x207): _overrun +DW_AT_type : <0x2c3> 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> +<4><119> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd5): _pad -DW_AT_type : <0x305> +DW_AT_name : (indirect string, offset: 0x19f): _pad +DW_AT_type : <0x306> 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> +<4><127> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14b): _sigval -DW_AT_type : <0x319> +DW_AT_name : (indirect string, offset: 0x215): _sigval +DW_AT_type : <0x31a> 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> +<4><135> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x177): _sys_private -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x241): _sys_private +DW_AT_type : <0x2c3> 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> +<3><144> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x184): _rt -DW_AT_type : <0x151> +DW_AT_name : (indirect string, offset: 0x24e): _rt +DW_AT_type : <0x152> 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> +<3><152> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 12 DW_AT_decl_file : 1 DW_AT_decl_line : 64 -<4><155> +<4><156> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe9): _pid -DW_AT_type : <0x2dd> +DW_AT_name : (indirect string, offset: 0x1b3): _pid +DW_AT_type : <0x2de> 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> +<4><164> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfd): _uid -DW_AT_type : <0x2e8> +DW_AT_name : (indirect string, offset: 0x1c7): _uid +DW_AT_type : <0x2e9> 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> +<4><172> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14b): _sigval -DW_AT_type : <0x319> +DW_AT_name : (indirect string, offset: 0x215): _sigval +DW_AT_type : <0x31a> 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> +<3><181> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x188): _sigchld -DW_AT_type : <0x18e> +DW_AT_name : (indirect string, offset: 0x252): _sigchld +DW_AT_type : <0x18f> 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> +<3><18f> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 20 DW_AT_decl_file : 1 DW_AT_decl_line : 69 -<4><192> +<4><193> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe9): _pid -DW_AT_type : <0x2dd> +DW_AT_name : (indirect string, offset: 0x1b3): _pid +DW_AT_type : <0x2de> 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> +<4><1a1> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfd): _uid -DW_AT_type : <0x2e8> +DW_AT_name : (indirect string, offset: 0x1c7): _uid +DW_AT_type : <0x2e9> 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> +<4><1af> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x191): _status -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x25b): _status +DW_AT_type : <0x2c3> 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> +<4><1bd> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x199): _utime -DW_AT_type : <0x34a> +DW_AT_name : (indirect string, offset: 0x263): _utime +DW_AT_type : <0x34b> 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> +<4><1cb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1ca): _stime -DW_AT_type : <0x34a> +DW_AT_name : (indirect string, offset: 0x294): _stime +DW_AT_type : <0x34b> 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> +<3><1da> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d1): _sigfault -DW_AT_type : <0x1e7> +DW_AT_name : (indirect string, offset: 0x29b): _sigfault +DW_AT_type : <0x1e8> 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> +<3><1e8> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 16 DW_AT_decl_file : 1 DW_AT_decl_line : 76 -<4><1eb> +<4><1ec> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1db): _addr -DW_AT_type : <0x349> +DW_AT_name : (indirect string, offset: 0x2a5): _addr +DW_AT_type : <0x34a> 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> +<4><1fa> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1e1): _addr_lsb -DW_AT_type : <0x367> +DW_AT_name : (indirect string, offset: 0x2ab): _addr_lsb +DW_AT_type : <0x368> 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> +<4><208> Abbrev Number: 9 (DW_TAG_member) -DW_AT_type : <0x211> +DW_AT_type : <0x212> 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> +<4><212> Abbrev Number: 7 (DW_TAG_union_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 82 -<5><215> +<5><216> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f1): _addr_bnd -DW_AT_type : <0x223> +DW_AT_name : (indirect string, offset: 0x2bb): _addr_bnd +DW_AT_type : <0x224> 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> +<5><224> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 83 -<6><227> +<6><228> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1fb): _lower -DW_AT_type : <0x349> +DW_AT_name : (indirect string, offset: 0x2c5): _lower +DW_AT_type : <0x34a> 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> +<6><236> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x202): _upper -DW_AT_type : <0x349> +DW_AT_name : (indirect string, offset: 0x2cc): _upper +DW_AT_type : <0x34a> 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> +<5><245> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x209): _pkey -DW_AT_type : <0x36e> +DW_AT_name : (indirect string, offset: 0x2d3): _pkey +DW_AT_type : <0x36f> 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> +<3><255> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x215): _sigpoll -DW_AT_type : <0x262> +DW_AT_name : (indirect string, offset: 0x2df): _sigpoll +DW_AT_type : <0x263> 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> +<3><263> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 90 -<4><266> +<4><267> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x21e): _band -DW_AT_type : <0x360> +DW_AT_name : (indirect string, offset: 0x2e8): _band +DW_AT_type : <0x361> 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> +<4><275> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x224): _fd -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x2ee): _fd +DW_AT_type : <0x2c3> 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> +<3><284> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x228): _sigsys -DW_AT_type : <0x291> +DW_AT_name : (indirect string, offset: 0x2f2): _sigsys +DW_AT_type : <0x292> 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> +<3><292> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 12 DW_AT_decl_file : 1 DW_AT_decl_line : 94 -<4><295> +<4><296> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x230): _call_addr -DW_AT_type : <0x349> +DW_AT_name : (indirect string, offset: 0x2fa): _call_addr +DW_AT_type : <0x34a> 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> +<4><2a4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x23b): _syscall -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x305): _syscall +DW_AT_type : <0x2c3> 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> +<4><2b2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x244): _arch -DW_AT_type : <0x2f3> +DW_AT_name : (indirect string, offset: 0x30e): _arch +DW_AT_type : <0x2f4> 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> +<1><2c3> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb6): int +DW_AT_name : (indirect string, offset: 0x180): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><2c9> +<1><2ca> Abbrev Number: 11 (DW_TAG_array_type) -DW_AT_type : <0x2c2> -<2><2ce> +DW_AT_type : <0x2c3> +<2><2cf> Abbrev Number: 12 (DW_TAG_subrange_type) -DW_AT_type : <0x2d6> +DW_AT_type : <0x2d7> DW_AT_lower_bound : 0 DW_AT_count : 28 -<1><2d6> +<1><2d7> Abbrev Number: 13 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xda): sizetype +DW_AT_name : (indirect string, offset: 0x1a4): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><2dd> +<1><2de> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2c2> -DW_AT_name : (indirect string, offset: 0xee): __kernel_pid_t +DW_AT_type : <0x2c3> +DW_AT_name : (indirect string, offset: 0x1b8): __kernel_pid_t DW_AT_decl_file : 2 DW_AT_decl_line : 33 -<1><2e8> +<1><2e9> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2f3> -DW_AT_name : (indirect string, offset: 0x10f): __kernel_uid32_t +DW_AT_type : <0x2f4> +DW_AT_name : (indirect string, offset: 0x1d9): __kernel_uid32_t DW_AT_decl_file : 2 DW_AT_decl_line : 49 -<1><2f3> +<1><2f4> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x102): unsigned int +DW_AT_name : (indirect string, offset: 0x1cc): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><2fa> +<1><2fb> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2c2> -DW_AT_name : (indirect string, offset: 0x12c): __kernel_timer_t +DW_AT_type : <0x2c3> +DW_AT_name : (indirect string, offset: 0x1f6): __kernel_timer_t DW_AT_decl_file : 2 DW_AT_decl_line : 79 -<1><305> +<1><306> Abbrev Number: 11 (DW_TAG_array_type) -DW_AT_type : <0x312> -<2><30a> +DW_AT_type : <0x313> +<2><30b> Abbrev Number: 12 (DW_TAG_subrange_type) -DW_AT_type : <0x2d6> +DW_AT_type : <0x2d7> DW_AT_lower_bound : 0 DW_AT_count : 0 -<1><312> +<1><313> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x146): char +DW_AT_name : (indirect string, offset: 0x210): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><319> +<1><31a> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x324> -DW_AT_name : (indirect string, offset: 0x16e): sigval_t +DW_AT_type : <0x325> +DW_AT_name : (indirect string, offset: 0x238): sigval_t DW_AT_decl_file : 1 DW_AT_decl_line : 26 -<1><324> +<1><325> Abbrev Number: 14 (DW_TAG_union_type) -DW_AT_name : (indirect string, offset: 0x167): sigval +DW_AT_name : (indirect string, offset: 0x231): sigval DW_AT_byte_size : 4 DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<2><32c> +<2><32d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x153): sival_int -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x21d): sival_int +DW_AT_type : <0x2c3> 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> +<2><33b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15d): sival_ptr -DW_AT_type : <0x349> +DW_AT_name : (indirect string, offset: 0x227): sival_ptr +DW_AT_type : <0x34a> 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: 15 (DW_TAG_pointer_type) +<1><34b> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x355> -DW_AT_name : (indirect string, offset: 0x1b9): __kernel_clock_t +DW_AT_type : <0x356> +DW_AT_name : (indirect string, offset: 0x283): __kernel_clock_t DW_AT_decl_file : 2 DW_AT_decl_line : 78 -<1><355> +<1><356> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x360> -DW_AT_name : (indirect string, offset: 0x1a9): __kernel_long_t +DW_AT_type : <0x361> +DW_AT_name : (indirect string, offset: 0x273): __kernel_long_t DW_AT_decl_file : 2 DW_AT_decl_line : 23 -<1><360> +<1><361> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1a0): long int +DW_AT_name : (indirect string, offset: 0x26a): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><367> +<1><368> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1eb): short +DW_AT_name : (indirect string, offset: 0x2b5): short DW_AT_encoding : 5 (signed) DW_AT_byte_size : 2 -<1><36e> +<1><36f> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2f3> -DW_AT_name : (indirect string, offset: 0x20f): __u32 +DW_AT_type : <0x2f4> +DW_AT_name : (indirect string, offset: 0x2d9): __u32 DW_AT_decl_file : 3 DW_AT_decl_line : 28 -<1><379> +<1><37a> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x384> -DW_AT_name : (indirect string, offset: 0x399): ucontext_t +DW_AT_type : <0x385> +DW_AT_name : (indirect string, offset: 0x482): ucontext_t DW_AT_decl_file : 5 -DW_AT_decl_line : 96 -<1><384> +DW_AT_decl_line : 101 +<1><385> Abbrev Number: 16 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x390): ucontext +DW_AT_name : (indirect string, offset: 0x479): ucontext DW_AT_byte_size : 5056 DW_AT_decl_file : 5 DW_AT_decl_line : 85 -<2><38d> +<2><38e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x25f): uc_flags -DW_AT_type : <0x403> +DW_AT_name : (indirect string, offset: 0x329): uc_flags +DW_AT_type : <0x42f> 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> +<2><39c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x27a): uc_link -DW_AT_type : <0x40a> +DW_AT_name : (indirect string, offset: 0x344): uc_link +DW_AT_type : <0x436> 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> +<2><3aa> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x282): uc_stack -DW_AT_type : <0x40f> +DW_AT_name : (indirect string, offset: 0x34c): uc_stack +DW_AT_type : <0x43b> 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> +<2><3b8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2bd): uc_mcontext -DW_AT_type : <0x458> +DW_AT_name : (indirect string, offset: 0x387): uc_mcontext +DW_AT_type : <0x484> 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> +<2><3c6> +Abbrev Number: 9 (DW_TAG_member) +DW_AT_type : <0x3d1> 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> +<2><3d1> +Abbrev Number: 7 (DW_TAG_union_type) +DW_AT_byte_size : 8 +DW_AT_decl_file : 5 +DW_AT_decl_line : 90 +<3><3d5> +Abbrev Number: 9 (DW_TAG_member) +DW_AT_type : <0x3df> +DW_AT_decl_file : 5 +DW_AT_decl_line : 91 +DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) +<3><3df> +Abbrev Number: 8 (DW_TAG_structure_type) +DW_AT_byte_size : 8 +DW_AT_decl_file : 5 +DW_AT_decl_line : 91 +<4><3e3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x352): __padding_rt_sigset -DW_AT_type : <0x530> +DW_AT_name : (indirect string, offset: 0x404): uc_sigmask +DW_AT_type : <0x531> 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> +DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) +<4><3f1> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x37a): __padding -DW_AT_type : <0x546> +DW_AT_name : (indirect string, offset: 0x41c): __padding_rt_sigset +DW_AT_type : <0x55c> DW_AT_decl_file : 5 DW_AT_decl_line : 94 +DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) +<3><400> +Abbrev Number: 5 (DW_TAG_member) +DW_AT_name : (indirect string, offset: 0x444): uc_sigmask64 +DW_AT_type : <0x572> +DW_AT_decl_file : 5 +DW_AT_decl_line : 96 +DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) +<2><40f> +Abbrev Number: 5 (DW_TAG_member) +DW_AT_name : (indirect string, offset: 0x463): __padding +DW_AT_type : <0x59d> +DW_AT_decl_file : 5 +DW_AT_decl_line : 99 DW_AT_data_member_location: 3 byte block: 23 c8 22 (DW_OP_plus_uconst: 4424) -<2><3f2> +<2><41e> Abbrev Number: 17 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x384): uc_regspace -DW_AT_type : <0x553> +DW_AT_name : (indirect string, offset: 0x46d): uc_regspace +DW_AT_type : <0x5aa> DW_AT_decl_file : 5 -DW_AT_decl_line : 95 +DW_AT_decl_line : 100 Unknown AT value: 88: 8 DW_AT_data_member_location: 3 byte block: 23 c0 23 (DW_OP_plus_uconst: 4544) -<1><403> +<1><42f> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x268): long unsigned int +DW_AT_name : (indirect string, offset: 0x332): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><40a> +<1><436> Abbrev Number: 18 (DW_TAG_pointer_type) -DW_AT_type : <0x384> -<1><40f> +DW_AT_type : <0x385> +<1><43b> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x41a> -DW_AT_name : (indirect string, offset: 0x2b5): stack_t +DW_AT_type : <0x446> +DW_AT_name : (indirect string, offset: 0x37f): stack_t DW_AT_decl_file : 6 DW_AT_decl_line : 97 -<1><41a> +<1><446> Abbrev Number: 6 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x2a9): sigaltstack +DW_AT_name : (indirect string, offset: 0x373): sigaltstack DW_AT_byte_size : 12 DW_AT_decl_file : 6 DW_AT_decl_line : 93 -<2><422> +<2><44e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x28b): ss_sp -DW_AT_type : <0x349> +DW_AT_name : (indirect string, offset: 0x355): ss_sp +DW_AT_type : <0x34a> 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> +<2><45c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x291): ss_flags -DW_AT_type : <0x2c2> +DW_AT_name : (indirect string, offset: 0x35b): ss_flags +DW_AT_type : <0x2c3> 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> +<2><46a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x29a): ss_size -DW_AT_type : <0x44d> +DW_AT_name : (indirect string, offset: 0x364): ss_size +DW_AT_type : <0x479> 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> +<1><479> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2f3> -DW_AT_name : (indirect string, offset: 0x2a2): size_t +DW_AT_type : <0x2f4> +DW_AT_name : (indirect string, offset: 0x36c): size_t DW_AT_decl_file : 7 DW_AT_decl_line : 62 -<1><458> +<1><484> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x463> -DW_AT_name : (indirect string, offset: 0x32f): mcontext_t +DW_AT_type : <0x48f> +DW_AT_name : (indirect string, offset: 0x3f9): mcontext_t DW_AT_decl_file : 5 DW_AT_decl_line : 83 -<1><463> +<1><48f> Abbrev Number: 16 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x324): sigcontext +DW_AT_name : (indirect string, offset: 0x3ee): sigcontext DW_AT_byte_size : 4384 DW_AT_decl_file : 8 -DW_AT_decl_line : 22 -<2><46c> +DW_AT_decl_line : 23 +<2><498> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2c9): fault_address -DW_AT_type : <0x4c6> +DW_AT_name : (indirect string, offset: 0x393): fault_address +DW_AT_type : <0x4f2> DW_AT_decl_file : 8 -DW_AT_decl_line : 23 +DW_AT_decl_line : 24 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><47a> +<2><4a6> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2f4): regs -DW_AT_type : <0x4d8> +DW_AT_name : (indirect string, offset: 0x3be): regs +DW_AT_type : <0x504> DW_AT_decl_file : 8 -DW_AT_decl_line : 24 +DW_AT_decl_line : 25 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><488> +<2><4b4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2f9): sp -DW_AT_type : <0x4c6> +DW_AT_name : (indirect string, offset: 0x3c3): sp +DW_AT_type : <0x4f2> DW_AT_decl_file : 8 -DW_AT_decl_line : 25 +DW_AT_decl_line : 26 DW_AT_data_member_location: 3 byte block: 23 80 2 (DW_OP_plus_uconst: 256) -<2><497> +<2><4c3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2fc): pc -DW_AT_type : <0x4c6> +DW_AT_name : (indirect string, offset: 0x3c6): pc +DW_AT_type : <0x4f2> DW_AT_decl_file : 8 -DW_AT_decl_line : 26 +DW_AT_decl_line : 27 DW_AT_data_member_location: 3 byte block: 23 88 2 (DW_OP_plus_uconst: 264) -<2><4a6> +<2><4d2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2ff): pstate -DW_AT_type : <0x4c6> +DW_AT_name : (indirect string, offset: 0x3c9): pstate +DW_AT_type : <0x4f2> DW_AT_decl_file : 8 -DW_AT_decl_line : 27 +DW_AT_decl_line : 28 DW_AT_data_member_location: 3 byte block: 23 90 2 (DW_OP_plus_uconst: 272) -<2><4b5> +<2><4e1> Abbrev Number: 17 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x306): __reserved -DW_AT_type : <0x4e5> +DW_AT_name : (indirect string, offset: 0x3d0): __reserved +DW_AT_type : <0x511> DW_AT_decl_file : 8 -DW_AT_decl_line : 28 +DW_AT_decl_line : 29 Unknown AT value: 88: 16 DW_AT_data_member_location: 3 byte block: 23 a0 2 (DW_OP_plus_uconst: 288) -<1><4c6> +<1><4f2> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x4d1> -DW_AT_name : (indirect string, offset: 0x2ee): __u64 +DW_AT_type : <0x4fd> +DW_AT_name : (indirect string, offset: 0x3b8): __u64 DW_AT_decl_file : 3 DW_AT_decl_line : 31 -<1><4d1> +<1><4fd> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x2d7): long long unsigned int +DW_AT_name : (indirect string, offset: 0x3a1): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 -<1><4d8> +<1><504> Abbrev Number: 11 (DW_TAG_array_type) -DW_AT_type : <0x4c6> -<2><4dd> +DW_AT_type : <0x4f2> +<2><509> Abbrev Number: 12 (DW_TAG_subrange_type) -DW_AT_type : <0x2d6> +DW_AT_type : <0x2d7> DW_AT_lower_bound : 0 DW_AT_count : 31 -<1><4e5> +<1><511> Abbrev Number: 11 (DW_TAG_array_type) -DW_AT_type : <0x4f3> -<2><4ea> +DW_AT_type : <0x51f> +<2><516> Abbrev Number: 19 (DW_TAG_subrange_type) -DW_AT_type : <0x2d6> +DW_AT_type : <0x2d7> DW_AT_lower_bound : 0 DW_AT_count : 4096 -<1><4f3> +<1><51f> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x4fe> -DW_AT_name : (indirect string, offset: 0x31f): __u8 +DW_AT_type : <0x52a> +DW_AT_name : (indirect string, offset: 0x3e9): __u8 DW_AT_decl_file : 3 DW_AT_decl_line : 24 -<1><4fe> +<1><52a> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x311): unsigned char +DW_AT_name : (indirect string, offset: 0x3db): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><505> +<1><531> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x510> -DW_AT_name : (indirect string, offset: 0x349): sigset_t +DW_AT_type : <0x53c> +DW_AT_name : (indirect string, offset: 0x413): sigset_t DW_AT_decl_file : 6 DW_AT_decl_line : 79 -<1><510> +<1><53c> Abbrev Number: 8 (DW_TAG_structure_type) DW_AT_byte_size : 4 DW_AT_decl_file : 6 DW_AT_decl_line : 77 -<2><514> +<2><540> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x345): sig -DW_AT_type : <0x523> +DW_AT_name : (indirect string, offset: 0x40f): sig +DW_AT_type : <0x54f> 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> +<1><54f> Abbrev Number: 11 (DW_TAG_array_type) -DW_AT_type : <0x403> -<2><528> +DW_AT_type : <0x42f> +<2><554> Abbrev Number: 12 (DW_TAG_subrange_type) -DW_AT_type : <0x2d6> +DW_AT_type : <0x2d7> DW_AT_lower_bound : 0 DW_AT_count : 1 -<1><530> +<1><55c> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x53b> -DW_AT_name : (indirect string, offset: 0x371): uint32_t +DW_AT_type : <0x567> +DW_AT_name : (indirect string, offset: 0x43b): uint32_t DW_AT_decl_file : 9 DW_AT_decl_line : 65 -<1><53b> +<1><567> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2f3> -DW_AT_name : (indirect string, offset: 0x366): __uint32_t +DW_AT_type : <0x2f4> +DW_AT_name : (indirect string, offset: 0x430): __uint32_t DW_AT_decl_file : 9 DW_AT_decl_line : 41 -<1><546> +<1><572> +Abbrev Number: 3 (DW_TAG_typedef) +DW_AT_type : <0x57d> +DW_AT_name : (indirect string, offset: 0x458): sigset64_t +DW_AT_decl_file : 10 +DW_AT_decl_line : 67 +<1><57d> +Abbrev Number: 8 (DW_TAG_structure_type) +DW_AT_byte_size : 8 +DW_AT_decl_file : 10 +DW_AT_decl_line : 67 +<2><581> +Abbrev Number: 5 (DW_TAG_member) +DW_AT_name : (indirect string, offset: 0x451): __bits +DW_AT_type : <0x590> +DW_AT_decl_file : 10 +DW_AT_decl_line : 67 +DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) +<1><590> +Abbrev Number: 11 (DW_TAG_array_type) +DW_AT_type : <0x42f> +<2><595> +Abbrev Number: 12 (DW_TAG_subrange_type) +DW_AT_type : <0x2d7> +DW_AT_lower_bound : 0 +DW_AT_count : 2 +<1><59d> Abbrev Number: 11 (DW_TAG_array_type) -DW_AT_type : <0x312> -<2><54b> +DW_AT_type : <0x313> +<2><5a2> Abbrev Number: 12 (DW_TAG_subrange_type) -DW_AT_type : <0x2d6> +DW_AT_type : <0x2d7> DW_AT_lower_bound : 0 DW_AT_count : 120 -<1><553> +<1><5aa> Abbrev Number: 11 (DW_TAG_array_type) -DW_AT_type : <0x403> -<2><558> +DW_AT_type : <0x42f> +<2><5af> Abbrev Number: 12 (DW_TAG_subrange_type) -DW_AT_type : <0x2d6> +DW_AT_type : <0x2d7> 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 index c9e29854..30f64f43 100644 --- a/mpers-m32/struct_rt_sigframe.h +++ b/mpers-m32/struct_rt_sigframe.h @@ -82,10 +82,17 @@ uint64_t pstate; unsigned char mpers_filler_4[8]; unsigned char __reserved[4096]; } ATTRIBUTE_PACKED uc_mcontext; +union { +struct { struct { uint32_t sig[1]; } ATTRIBUTE_PACKED uc_sigmask; uint32_t __padding_rt_sigset; +} ATTRIBUTE_PACKED ; +struct { +uint32_t __bits[2]; +} ATTRIBUTE_PACKED uc_sigmask64; +} ; char __padding[120]; uint32_t uc_regspace[128]; } ATTRIBUTE_PACKED uc; diff --git a/mpers-m32/struct_rtc_pll_info.d1 b/mpers-m32/struct_rtc_pll_info.d1 index 3f5a75ac..fe744c5c 100644 --- a/mpers-m32/struct_rtc_pll_info.d1 +++ b/mpers-m32/struct_rtc_pll_info.d1 @@ -1,83 +1,84 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xb1 (32-bit) + Length: 0xb2 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_rtc_pll_info.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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) - <2>: Abbrev Number: 0 - <1>: 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>: 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 - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x127): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x162): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 2 + <2a> DW_AT_decl_line : 38 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1d2): struct_rtc_pll_info + <3a> DW_AT_decl_file : 2 + <3b> DW_AT_decl_line : 36 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1c5): rtc_pll_info + <41> DW_AT_byte_size : 28 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 37 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x173): pll_ctrl + <49> DW_AT_type : <0xa7> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 38 + <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: 0x180): pll_value + <57> DW_AT_type : <0xa7> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 39 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x18a): pll_max + <65> DW_AT_type : <0xa7> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 40 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x192): pll_min + <73> DW_AT_type : <0xa7> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 41 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x19a): pll_posmult + <81> DW_AT_type : <0xa7> + <85> DW_AT_decl_file : 1 + <86> DW_AT_decl_line : 42 + <87> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1a6): pll_negmult + <8f> DW_AT_type : <0xa7> + <93> DW_AT_decl_file : 1 + <94> DW_AT_decl_line : 43 + <95> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1b2): pll_clock + <9d> DW_AT_type : <0xae> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x17c): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1bc): long int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 0 diff --git a/mpers-m32/struct_rtc_pll_info.d2 b/mpers-m32/struct_rtc_pll_info.d2 index 539a9729..7ba6a7e1 100644 --- a/mpers-m32/struct_rtc_pll_info.d2 +++ b/mpers-m32/struct_rtc_pll_info.d2 @@ -1,79 +1,79 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x98): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x162): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x108): struct_rtc_pll_info +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1d2): struct_rtc_pll_info DW_AT_decl_file : 2 DW_AT_decl_line : 36 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xfb): rtc_pll_info +DW_AT_name : (indirect string, offset: 0x1c5): rtc_pll_info DW_AT_byte_size : 28 DW_AT_decl_file : 1 DW_AT_decl_line : 37 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa9): pll_ctrl -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x173): pll_ctrl +DW_AT_type : <0xa7> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb6): pll_value -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x180): pll_value +DW_AT_type : <0xa7> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc0): pll_max -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x18a): pll_max +DW_AT_type : <0xa7> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc8): pll_min -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x192): pll_min +DW_AT_type : <0xa7> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd0): pll_posmult -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x19a): pll_posmult +DW_AT_type : <0xa7> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdc): pll_negmult -DW_AT_type : <0xa6> +DW_AT_name : (indirect string, offset: 0x1a6): pll_negmult +DW_AT_type : <0xa7> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe8): pll_clock -DW_AT_type : <0xad> +DW_AT_name : (indirect string, offset: 0x1b2): pll_clock +DW_AT_type : <0xae> 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> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb2): int +DW_AT_name : (indirect string, offset: 0x17c): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xf2): long int +DW_AT_name : (indirect string, offset: 0x1bc): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_sg_io_hdr.d1 b/mpers-m32/struct_sg_io_hdr.d1 index a373de43..3b8e63a1 100644 --- a/mpers-m32/struct_sg_io_hdr.d1 +++ b/mpers-m32/struct_sg_io_hdr.d1 @@ -1,184 +1,185 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x197 (32-bit) + Length: 0x198 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_sg_io_hdr.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - DW_AT_name : (indirect string, offset: 0x147): status - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x124): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 2 + <2a> DW_AT_decl_line : 41 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x273): struct_sg_io_hdr + <3a> DW_AT_decl_file : 2 + <3b> DW_AT_decl_line : 37 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x269): sg_io_hdr + <41> DW_AT_byte_size : 64 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 26 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x170): interface_id + <49> DW_AT_type : <0x179> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 27 + <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: 0x181): dxfer_direction + <57> DW_AT_type : <0x179> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 28 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x191): cmd_len + <65> DW_AT_type : <0x180> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 29 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1a7): mx_sb_len + <73> DW_AT_type : <0x180> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 30 + <79> DW_AT_data_member_location: 2 byte block: 23 9 (DW_OP_plus_uconst: 9) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1b1): iovec_count + <81> DW_AT_type : <0x187> + <85> DW_AT_decl_file : 1 + <86> DW_AT_decl_line : 31 + <87> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1cc): dxfer_len + <8f> DW_AT_type : <0x18e> + <93> DW_AT_decl_file : 1 + <94> DW_AT_decl_line : 32 + <95> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1e3): dxferp + <9d> DW_AT_type : <0x195> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ea): cmdp + DW_AT_type : <0x196> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ef): sbp + DW_AT_type : <0x195> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f3): timeout + DW_AT_type : <0x18e> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1fb): flags + DW_AT_type : <0x18e> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x201): pack_id + DW_AT_type : <0x179> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x209): usr_ptr + DW_AT_type : <0x195> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x211): status + DW_AT_type : <0x180> + <103> DW_AT_decl_file : 1 + <104> DW_AT_decl_line : 40 + <105> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) + <2><108>: Abbrev Number: 5 (DW_TAG_member) + <109> DW_AT_name : (indirect string, offset: 0x218): masked_status + <10d> DW_AT_type : <0x180> + <111> DW_AT_decl_file : 1 + <112> DW_AT_decl_line : 41 + <113> DW_AT_data_member_location: 2 byte block: 23 2d (DW_OP_plus_uconst: 45) + <2><116>: Abbrev Number: 5 (DW_TAG_member) + <117> DW_AT_name : (indirect string, offset: 0x226): msg_status + <11b> DW_AT_type : <0x180> + <11f> DW_AT_decl_file : 1 + <120> DW_AT_decl_line : 42 + <121> DW_AT_data_member_location: 2 byte block: 23 2e (DW_OP_plus_uconst: 46) + <2><124>: Abbrev Number: 5 (DW_TAG_member) + <125> DW_AT_name : (indirect string, offset: 0x231): sb_len_wr + <129> DW_AT_type : <0x180> + <12d> DW_AT_decl_file : 1 + <12e> DW_AT_decl_line : 43 + <12f> DW_AT_data_member_location: 2 byte block: 23 2f (DW_OP_plus_uconst: 47) + <2><132>: Abbrev Number: 5 (DW_TAG_member) + <133> DW_AT_name : (indirect string, offset: 0x23b): host_status + <137> DW_AT_type : <0x187> + <13b> DW_AT_decl_file : 1 + <13c> DW_AT_decl_line : 44 + <13d> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) + <2><140>: Abbrev Number: 5 (DW_TAG_member) + <141> DW_AT_name : (indirect string, offset: 0x247): driver_status + <145> DW_AT_type : <0x187> + <149> DW_AT_decl_file : 1 + <14a> DW_AT_decl_line : 45 + <14b> DW_AT_data_member_location: 2 byte block: 23 32 (DW_OP_plus_uconst: 50) + <2><14e>: Abbrev Number: 5 (DW_TAG_member) + <14f> DW_AT_name : (indirect string, offset: 0x255): resid + <153> DW_AT_type : <0x179> + <157> DW_AT_decl_file : 1 + <158> DW_AT_decl_line : 46 + <159> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) + <2><15c>: Abbrev Number: 5 (DW_TAG_member) + <15d> DW_AT_name : (indirect string, offset: 0x25b): duration + <161> DW_AT_type : <0x18e> + <165> DW_AT_decl_file : 1 + <166> DW_AT_decl_line : 47 + <167> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) + <2><16a>: Abbrev Number: 5 (DW_TAG_member) + <16b> DW_AT_name : (indirect string, offset: 0x264): info + <16f> DW_AT_type : <0x18e> + <173> DW_AT_decl_file : 1 + <174> DW_AT_decl_line : 48 + <175> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) + <2><178>: Abbrev Number: 0 + <1><179>: Abbrev Number: 6 (DW_TAG_base_type) + <17a> DW_AT_name : (indirect string, offset: 0x17d): int + <17e> DW_AT_encoding : 5 (signed) + <17f> DW_AT_byte_size : 4 + <1><180>: Abbrev Number: 6 (DW_TAG_base_type) + <181> DW_AT_name : (indirect string, offset: 0x199): unsigned char + <185> DW_AT_encoding : 8 (unsigned char) + <186> DW_AT_byte_size : 1 + <1><187>: Abbrev Number: 6 (DW_TAG_base_type) + <188> DW_AT_name : (indirect string, offset: 0x1bd): unsigned short + <18c> DW_AT_encoding : 7 (unsigned) + <18d> DW_AT_byte_size : 2 + <1><18e>: Abbrev Number: 6 (DW_TAG_base_type) + <18f> DW_AT_name : (indirect string, offset: 0x1d6): unsigned int + <193> DW_AT_encoding : 7 (unsigned) + <194> DW_AT_byte_size : 4 + <1><195>: Abbrev Number: 7 (DW_TAG_pointer_type) + <1><196>: Abbrev Number: 8 (DW_TAG_pointer_type) + <197> DW_AT_type : <0x180> + <1><19b>: Abbrev Number: 0 diff --git a/mpers-m32/struct_sg_io_hdr.d2 b/mpers-m32/struct_sg_io_hdr.d2 index 34a80b4d..03dbaeee 100644 --- a/mpers-m32/struct_sg_io_hdr.d2 +++ b/mpers-m32/struct_sg_io_hdr.d2 @@ -1,199 +1,199 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x95): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x1a9): struct_sg_io_hdr +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x273): struct_sg_io_hdr DW_AT_decl_file : 2 DW_AT_decl_line : 37 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x19f): sg_io_hdr +DW_AT_name : (indirect string, offset: 0x269): sg_io_hdr DW_AT_byte_size : 64 DW_AT_decl_file : 1 DW_AT_decl_line : 26 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa6): interface_id -DW_AT_type : <0x178> +DW_AT_name : (indirect string, offset: 0x170): interface_id +DW_AT_type : <0x179> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb7): dxfer_direction -DW_AT_type : <0x178> +DW_AT_name : (indirect string, offset: 0x181): dxfer_direction +DW_AT_type : <0x179> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc7): cmd_len -DW_AT_type : <0x17f> +DW_AT_name : (indirect string, offset: 0x191): cmd_len +DW_AT_type : <0x180> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdd): mx_sb_len -DW_AT_type : <0x17f> +DW_AT_name : (indirect string, offset: 0x1a7): mx_sb_len +DW_AT_type : <0x180> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe7): iovec_count -DW_AT_type : <0x186> +DW_AT_name : (indirect string, offset: 0x1b1): iovec_count +DW_AT_type : <0x187> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x102): dxfer_len -DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x1cc): dxfer_len +DW_AT_type : <0x18e> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x119): dxferp -DW_AT_type : <0x194> +DW_AT_name : (indirect string, offset: 0x1e3): dxferp +DW_AT_type : <0x195> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x120): cmdp -DW_AT_type : <0x195> +DW_AT_name : (indirect string, offset: 0x1ea): cmdp +DW_AT_type : <0x196> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x125): sbp -DW_AT_type : <0x194> +DW_AT_name : (indirect string, offset: 0x1ef): sbp +DW_AT_type : <0x195> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x129): timeout -DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x1f3): timeout +DW_AT_type : <0x18e> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x131): flags -DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x1fb): flags +DW_AT_type : <0x18e> 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>
+<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x137): pack_id -DW_AT_type : <0x178> +DW_AT_name : (indirect string, offset: 0x201): pack_id +DW_AT_type : <0x179> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13f): usr_ptr -DW_AT_type : <0x194> +DW_AT_name : (indirect string, offset: 0x209): usr_ptr +DW_AT_type : <0x195> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x147): status -DW_AT_type : <0x17f> +DW_AT_name : (indirect string, offset: 0x211): status +DW_AT_type : <0x180> 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> +<2><108> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14e): masked_status -DW_AT_type : <0x17f> +DW_AT_name : (indirect string, offset: 0x218): masked_status +DW_AT_type : <0x180> 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> +<2><116> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15c): msg_status -DW_AT_type : <0x17f> +DW_AT_name : (indirect string, offset: 0x226): msg_status +DW_AT_type : <0x180> 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> +<2><124> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x167): sb_len_wr -DW_AT_type : <0x17f> +DW_AT_name : (indirect string, offset: 0x231): sb_len_wr +DW_AT_type : <0x180> 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> +<2><132> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x171): host_status -DW_AT_type : <0x186> +DW_AT_name : (indirect string, offset: 0x23b): host_status +DW_AT_type : <0x187> 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> +<2><140> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17d): driver_status -DW_AT_type : <0x186> +DW_AT_name : (indirect string, offset: 0x247): driver_status +DW_AT_type : <0x187> 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> +<2><14e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x18b): resid -DW_AT_type : <0x178> +DW_AT_name : (indirect string, offset: 0x255): resid +DW_AT_type : <0x179> 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> +<2><15c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x191): duration -DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x25b): duration +DW_AT_type : <0x18e> 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> +<2><16a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x19a): info -DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x264): info +DW_AT_type : <0x18e> 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> +<1><179> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb3): int +DW_AT_name : (indirect string, offset: 0x17d): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><17f> +<1><180> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xcf): unsigned char +DW_AT_name : (indirect string, offset: 0x199): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><186> +<1><187> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xf3): unsigned short +DW_AT_name : (indirect string, offset: 0x1bd): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><18d> +<1><18e> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x10c): unsigned int +DW_AT_name : (indirect string, offset: 0x1d6): 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: 7 (DW_TAG_pointer_type) +<1><196> Abbrev Number: 8 (DW_TAG_pointer_type) -DW_AT_type : <0x17f> +DW_AT_type : <0x180> diff --git a/mpers-m32/struct_sg_req_info.d1 b/mpers-m32/struct_sg_req_info.d1 index bfca2afa..09a511d9 100644 --- a/mpers-m32/struct_sg_req_info.d1 +++ b/mpers-m32/struct_sg_req_info.d1 @@ -1,94 +1,95 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xc7 (32-bit) + Length: 0xc8 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_sg_req_info.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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) - <2>: Abbrev Number: 0 - <1>: 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>: 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>: Abbrev Number: 7 (DW_TAG_pointer_type) - <1>: 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 - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x126): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x161): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 2 + <2a> DW_AT_decl_line : 41 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1d9): struct_sg_req_info + <3a> DW_AT_decl_file : 2 + <3b> DW_AT_decl_line : 37 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1cd): sg_req_info + <41> DW_AT_byte_size : 20 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 79 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x172): req_state + <49> DW_AT_type : <0xb5> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 80 + <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: 0x181): orphan + <57> DW_AT_type : <0xb5> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 81 + <5d> DW_AT_data_member_location: 2 byte block: 23 1 (DW_OP_plus_uconst: 1) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x188): sg_io_owned + <65> DW_AT_type : <0xb5> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 82 + <6b> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x194): problem + <73> DW_AT_type : <0xb5> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 83 + <79> DW_AT_data_member_location: 2 byte block: 23 3 (DW_OP_plus_uconst: 3) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x19c): pack_id + <81> DW_AT_type : <0xbc> + <85> DW_AT_decl_file : 1 + <86> DW_AT_decl_line : 84 + <87> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1a8): usr_ptr + <8f> DW_AT_type : <0xc3> + <93> DW_AT_decl_file : 1 + <94> DW_AT_decl_line : 85 + <95> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1b0): duration + <9d> DW_AT_type : <0xc4> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1c6): unused + DW_AT_type : <0xbc> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x17c): char + DW_AT_encoding : 8 (unsigned char) + DW_AT_byte_size : 1 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1a4): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 7 (DW_TAG_pointer_type) + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1b9): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 0 diff --git a/mpers-m32/struct_sg_req_info.d2 b/mpers-m32/struct_sg_req_info.d2 index ff6f83f1..cf4defb3 100644 --- a/mpers-m32/struct_sg_req_info.d2 +++ b/mpers-m32/struct_sg_req_info.d2 @@ -1,93 +1,93 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x97): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x161): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x10f): struct_sg_req_info +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1d9): struct_sg_req_info DW_AT_decl_file : 2 DW_AT_decl_line : 37 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x103): sg_req_info +DW_AT_name : (indirect string, offset: 0x1cd): sg_req_info DW_AT_byte_size : 20 DW_AT_decl_file : 1 DW_AT_decl_line : 79 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa8): req_state -DW_AT_type : <0xb4> +DW_AT_name : (indirect string, offset: 0x172): req_state +DW_AT_type : <0xb5> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb7): orphan -DW_AT_type : <0xb4> +DW_AT_name : (indirect string, offset: 0x181): orphan +DW_AT_type : <0xb5> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xbe): sg_io_owned -DW_AT_type : <0xb4> +DW_AT_name : (indirect string, offset: 0x188): sg_io_owned +DW_AT_type : <0xb5> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xca): problem -DW_AT_type : <0xb4> +DW_AT_name : (indirect string, offset: 0x194): problem +DW_AT_type : <0xb5> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd2): pack_id -DW_AT_type : <0xbb> +DW_AT_name : (indirect string, offset: 0x19c): pack_id +DW_AT_type : <0xbc> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xde): usr_ptr -DW_AT_type : <0xc2> +DW_AT_name : (indirect string, offset: 0x1a8): usr_ptr +DW_AT_type : <0xc3> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe6): duration -DW_AT_type : <0xc3> +DW_AT_name : (indirect string, offset: 0x1b0): duration +DW_AT_type : <0xc4> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfc): unused -DW_AT_type : <0xbb> +DW_AT_name : (indirect string, offset: 0x1c6): unused +DW_AT_type : <0xbc> 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> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb2): char +DW_AT_name : (indirect string, offset: 0x17c): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xda): int +DW_AT_name : (indirect string, offset: 0x1a4): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> -Abbrev Number: 7 (DW_TAG_pointer_type) <1> +Abbrev Number: 7 (DW_TAG_pointer_type) +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xef): unsigned int +DW_AT_name : (indirect string, offset: 0x1b9): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_sigevent.d1 b/mpers-m32/struct_sigevent.d1 index 454afcc6..0068da87 100644 --- a/mpers-m32/struct_sigevent.d1 +++ b/mpers-m32/struct_sigevent.d1 @@ -1,115 +1,116 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xe6 (32-bit) + Length: 0xe7 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_sigevent.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - 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>: 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>: Abbrev Number: 4 (DW_TAG_structure_type) - DW_AT_byte_size : 8 - DW_AT_decl_file : 1 - DW_AT_decl_line : 40 - <4>: 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>: 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) - <4>: Abbrev Number: 0 - <3>: Abbrev Number: 0 - <2>: Abbrev Number: 0 - <1>: 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>: 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 - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x123): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15e): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 2 + <2a> DW_AT_decl_line : 32 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1eb): struct_sigevent + <3a> DW_AT_decl_file : 1 + <3b> DW_AT_decl_line : 45 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_byte_size : 20 + <3e> DW_AT_decl_file : 1 + <3f> DW_AT_decl_line : 31 + <2><40>: Abbrev Number: 5 (DW_TAG_member) + <41> DW_AT_name : (indirect string, offset: 0x16f): sigev_value + <45> DW_AT_type : <0x4e> + <49> DW_AT_decl_file : 1 + <4a> DW_AT_decl_line : 35 + <4b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><4e>: Abbrev Number: 6 (DW_TAG_union_type) + <4f> DW_AT_byte_size : 4 + <50> DW_AT_decl_file : 1 + <51> DW_AT_decl_line : 32 + <3><52>: Abbrev Number: 5 (DW_TAG_member) + <53> DW_AT_name : (indirect string, offset: 0x17b): sival_int + <57> DW_AT_type : <0xdc> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 33 + <5d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x189): sival_ptr + <65> DW_AT_type : <0xe3> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 34 + <6b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><6e>: Abbrev Number: 0 + <2><6f>: Abbrev Number: 5 (DW_TAG_member) + <70> DW_AT_name : (indirect string, offset: 0x1a5): sigev_signo + <74> DW_AT_type : <0xdc> + <78> DW_AT_decl_file : 1 + <79> DW_AT_decl_line : 36 + <7a> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><7d>: Abbrev Number: 5 (DW_TAG_member) + <7e> DW_AT_name : (indirect string, offset: 0x1b1): sigev_notify + <82> DW_AT_type : <0xdc> + <86> DW_AT_decl_file : 1 + <87> DW_AT_decl_line : 37 + <88> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><8b>: Abbrev Number: 5 (DW_TAG_member) + <8c> DW_AT_name : (indirect string, offset: 0x1be): sigev_un + <90> DW_AT_type : <0x99> + <94> DW_AT_decl_file : 1 + <95> DW_AT_decl_line : 44 + <96> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><99>: Abbrev Number: 6 (DW_TAG_union_type) + <9a> DW_AT_byte_size : 8 + <9b> DW_AT_decl_file : 1 + <9c> DW_AT_decl_line : 38 + <3><9d>: Abbrev Number: 5 (DW_TAG_member) + <9e> DW_AT_name : (indirect string, offset: 0x1c7): tid + DW_AT_type : <0xdc> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1cb): sigev_thread + DW_AT_type : <0xb9> + 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>: Abbrev Number: 4 (DW_TAG_structure_type) + DW_AT_byte_size : 8 + DW_AT_decl_file : 1 + DW_AT_decl_line : 40 + <4>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1d8): function + DW_AT_type : <0xe3> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1e1): attribute + DW_AT_type : <0xe3> + 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) + <4>: Abbrev Number: 0 + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 7 (DW_TAG_base_type) +
DW_AT_name : (indirect string, offset: 0x185): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 7 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x193): long unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 0 diff --git a/mpers-m32/struct_sigevent.d2 b/mpers-m32/struct_sigevent.d2 index 59424088..1a210377 100644 --- a/mpers-m32/struct_sigevent.d2 +++ b/mpers-m32/struct_sigevent.d2 @@ -1,114 +1,114 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x94): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15e): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x121): struct_sigevent +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1eb): struct_sigevent DW_AT_decl_file : 1 DW_AT_decl_line : 45 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) DW_AT_byte_size : 20 DW_AT_decl_file : 1 DW_AT_decl_line : 31 -<2><3f> +<2><40> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa5): sigev_value -DW_AT_type : <0x4d> +DW_AT_name : (indirect string, offset: 0x16f): sigev_value +DW_AT_type : <0x4e> 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> +<2><4e> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 4 DW_AT_decl_file : 1 DW_AT_decl_line : 32 -<3><51> +<3><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb1): sival_int -DW_AT_type : <0xdb> +DW_AT_name : (indirect string, offset: 0x17b): sival_int +DW_AT_type : <0xdc> 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> +<3><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xbf): sival_ptr -DW_AT_type : <0xe2> +DW_AT_name : (indirect string, offset: 0x189): sival_ptr +DW_AT_type : <0xe3> 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> +<2><6f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdb): sigev_signo -DW_AT_type : <0xdb> +DW_AT_name : (indirect string, offset: 0x1a5): sigev_signo +DW_AT_type : <0xdc> 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> +<2><7d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe7): sigev_notify -DW_AT_type : <0xdb> +DW_AT_name : (indirect string, offset: 0x1b1): sigev_notify +DW_AT_type : <0xdc> 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> +<2><8b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf4): sigev_un -DW_AT_type : <0x98> +DW_AT_name : (indirect string, offset: 0x1be): sigev_un +DW_AT_type : <0x99> 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> +<2><99> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 38 -<3><9c> +<3><9d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfd): tid -DW_AT_type : <0xdb> +DW_AT_name : (indirect string, offset: 0x1c7): tid +DW_AT_type : <0xdc> 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> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x101): sigev_thread -DW_AT_type : <0xb8> +DW_AT_name : (indirect string, offset: 0x1cb): sigev_thread +DW_AT_type : <0xb9> 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> +<3> Abbrev Number: 4 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 40 -<4> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10e): function -DW_AT_type : <0xe2> +DW_AT_name : (indirect string, offset: 0x1d8): function +DW_AT_type : <0xe3> 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> +<4> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x117): attribute -DW_AT_type : <0xe2> +DW_AT_name : (indirect string, offset: 0x1e1): attribute +DW_AT_type : <0xe3> 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> +<1> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xbb): int +DW_AT_name : (indirect string, offset: 0x185): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc9): long unsigned int +DW_AT_name : (indirect string, offset: 0x193): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_sock_fprog.d1 b/mpers-m32/struct_sock_fprog.d1 index db720c2c..f7472caf 100644 --- a/mpers-m32/struct_sock_fprog.d1 +++ b/mpers-m32/struct_sock_fprog.d1 @@ -1,104 +1,105 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xd9 (32-bit) + Length: 0xda (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_sock_fprog.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - 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) - <2>: Abbrev Number: 0 - <1>: 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>: 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>: 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>: 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>: 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 - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x125): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x160): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 34 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1db): struct_sock_fprog + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 32 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1d0): sock_fprog + <41> DW_AT_byte_size : 8 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 32 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x171): len + <49> DW_AT_type : <0x61> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 33 + <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: 0x184): filter + <57> DW_AT_type : <0x68> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 34 + <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: 6 (DW_TAG_base_type) + <62> DW_AT_name : (indirect string, offset: 0x175): unsigned short + <66> DW_AT_encoding : 7 (unsigned) + <67> DW_AT_byte_size : 2 + <1><68>: Abbrev Number: 7 (DW_TAG_pointer_type) + <69> DW_AT_type : <0x6d> + <1><6d>: Abbrev Number: 4 (DW_TAG_structure_type) + <6e> DW_AT_name : (indirect string, offset: 0x1c4): sock_filter + <72> DW_AT_byte_size : 8 + <73> DW_AT_decl_file : 1 + <74> DW_AT_decl_line : 26 + <2><75>: Abbrev Number: 5 (DW_TAG_member) + <76> DW_AT_name : (indirect string, offset: 0x18b): code + <7a> DW_AT_type : <0xae> + <7e> DW_AT_decl_file : 1 + <7f> DW_AT_decl_line : 27 + <80> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><83>: Abbrev Number: 5 (DW_TAG_member) + <84> DW_AT_name : (indirect string, offset: 0x196): jt + <88> DW_AT_type : <0xb9> + <8c> DW_AT_decl_file : 1 + <8d> DW_AT_decl_line : 28 + <8e> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><91>: Abbrev Number: 5 (DW_TAG_member) + <92> DW_AT_name : (indirect string, offset: 0x1ac): jf + <96> DW_AT_type : <0xb9> + <9a> DW_AT_decl_file : 1 + <9b> DW_AT_decl_line : 29 + <9c> DW_AT_data_member_location: 2 byte block: 23 3 (DW_OP_plus_uconst: 3) + <2><9f>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1af): k + DW_AT_type : <0xcb> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0x61> + DW_AT_name : (indirect string, offset: 0x190): __u16 + DW_AT_decl_file : 2 + DW_AT_decl_line : 26 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xc4> + DW_AT_name : (indirect string, offset: 0x1a7): __u8 + DW_AT_decl_file : 2 + DW_AT_decl_line : 24 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x199): unsigned char + DW_AT_encoding : 8 (unsigned char) + DW_AT_byte_size : 1 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xd6> + DW_AT_name : (indirect string, offset: 0x1be): __u32 + DW_AT_decl_file : 2 + DW_AT_decl_line : 28 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1b1): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>
: Abbrev Number: 0 diff --git a/mpers-m32/struct_sock_fprog.d2 b/mpers-m32/struct_sock_fprog.d2 index 64b071e2..1e393026 100644 --- a/mpers-m32/struct_sock_fprog.d2 +++ b/mpers-m32/struct_sock_fprog.d2 @@ -1,104 +1,104 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x96): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x160): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x111): struct_sock_fprog +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1db): struct_sock_fprog DW_AT_decl_file : 3 DW_AT_decl_line : 32 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x106): sock_fprog +DW_AT_name : (indirect string, offset: 0x1d0): sock_fprog DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 32 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa7): len -DW_AT_type : <0x60> +DW_AT_name : (indirect string, offset: 0x171): len +DW_AT_type : <0x61> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xba): filter -DW_AT_type : <0x67> +DW_AT_name : (indirect string, offset: 0x184): filter +DW_AT_type : <0x68> 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> +<1><61> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xab): unsigned short +DW_AT_name : (indirect string, offset: 0x175): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><67> +<1><68> Abbrev Number: 7 (DW_TAG_pointer_type) -DW_AT_type : <0x6c> -<1><6c> +DW_AT_type : <0x6d> +<1><6d> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xfa): sock_filter +DW_AT_name : (indirect string, offset: 0x1c4): sock_filter DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 26 -<2><74> +<2><75> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc1): code -DW_AT_type : <0xad> +DW_AT_name : (indirect string, offset: 0x18b): code +DW_AT_type : <0xae> 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> +<2><83> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcc): jt -DW_AT_type : <0xb8> +DW_AT_name : (indirect string, offset: 0x196): jt +DW_AT_type : <0xb9> 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> +<2><91> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe2): jf -DW_AT_type : <0xb8> +DW_AT_name : (indirect string, offset: 0x1ac): jf +DW_AT_type : <0xb9> 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> +<2><9f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe5): k -DW_AT_type : <0xca> +DW_AT_name : (indirect string, offset: 0x1af): k +DW_AT_type : <0xcb> 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> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x60> -DW_AT_name : (indirect string, offset: 0xc6): __u16 +DW_AT_type : <0x61> +DW_AT_name : (indirect string, offset: 0x190): __u16 DW_AT_decl_file : 2 DW_AT_decl_line : 26 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xc3> -DW_AT_name : (indirect string, offset: 0xdd): __u8 +DW_AT_type : <0xc4> +DW_AT_name : (indirect string, offset: 0x1a7): __u8 DW_AT_decl_file : 2 DW_AT_decl_line : 24 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xcf): unsigned char +DW_AT_name : (indirect string, offset: 0x199): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xd5> -DW_AT_name : (indirect string, offset: 0xf4): __u32 +DW_AT_type : <0xd6> +DW_AT_name : (indirect string, offset: 0x1be): __u32 DW_AT_decl_file : 2 DW_AT_decl_line : 28 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe7): unsigned int +DW_AT_name : (indirect string, offset: 0x1b1): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_stat.d1 b/mpers-m32/struct_stat.d1 index 167827c3..a4ab06c8 100644 --- a/mpers-m32/struct_stat.d1 +++ b/mpers-m32/struct_stat.d1 @@ -1,169 +1,170 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x175 (32-bit) + Length: 0x176 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_stat.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - DW_AT_name : (indirect string, offset: 0x136): st_atime_nsec - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11f): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15a): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 2 + <2a> DW_AT_decl_line : 62 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x255): struct_stat + <3a> DW_AT_decl_file : 2 + <3b> DW_AT_decl_line : 60 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x250): stat + <41> DW_AT_byte_size : 80 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 23 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16b): st_dev + <49> DW_AT_type : <0x15d> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 24 + <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: 0x184): st_ino + <57> DW_AT_type : <0x15d> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 25 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x18b): st_mode + <65> DW_AT_type : <0x164> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 26 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1a0): st_nlink + <73> DW_AT_type : <0x164> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 27 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1a9): st_uid + <81> DW_AT_type : <0x164> + <85> DW_AT_decl_file : 1 + <86> DW_AT_decl_line : 28 + <87> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1b0): st_gid + <8f> DW_AT_type : <0x164> + <93> DW_AT_decl_file : 1 + <94> DW_AT_decl_line : 29 + <95> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1b7): st_rdev + <9d> DW_AT_type : <0x15d> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1bf): __pad1 + DW_AT_type : <0x15d> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1c6): st_size + DW_AT_type : <0x16b> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1d7): st_blksize + DW_AT_type : <0x172> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1e6): __pad2 + DW_AT_type : <0x172> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ed): st_blocks + DW_AT_type : <0x16b> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f7): st_atime + DW_AT_type : <0x16b> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x200): st_atime_nsec + DW_AT_type : <0x15d> + <103> DW_AT_decl_file : 1 + <104> DW_AT_decl_line : 37 + <105> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) + <2><108>: Abbrev Number: 5 (DW_TAG_member) + <109> DW_AT_name : (indirect string, offset: 0x20e): st_mtime + <10d> DW_AT_type : <0x16b> + <111> DW_AT_decl_file : 1 + <112> DW_AT_decl_line : 38 + <113> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) + <2><116>: Abbrev Number: 5 (DW_TAG_member) + <117> DW_AT_name : (indirect string, offset: 0x217): st_mtime_nsec + <11b> DW_AT_type : <0x15d> + <11f> DW_AT_decl_file : 1 + <120> DW_AT_decl_line : 39 + <121> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) + <2><124>: Abbrev Number: 5 (DW_TAG_member) + <125> DW_AT_name : (indirect string, offset: 0x225): st_ctime + <129> DW_AT_type : <0x16b> + <12d> DW_AT_decl_file : 1 + <12e> DW_AT_decl_line : 40 + <12f> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) + <2><132>: Abbrev Number: 5 (DW_TAG_member) + <133> DW_AT_name : (indirect string, offset: 0x22e): st_ctime_nsec + <137> DW_AT_type : <0x15d> + <13b> DW_AT_decl_file : 1 + <13c> DW_AT_decl_line : 41 + <13d> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68) + <2><140>: Abbrev Number: 5 (DW_TAG_member) + <141> DW_AT_name : (indirect string, offset: 0x23c): __unused4 + <145> DW_AT_type : <0x164> + <149> DW_AT_decl_file : 1 + <14a> DW_AT_decl_line : 42 + <14b> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72) + <2><14e>: Abbrev Number: 5 (DW_TAG_member) + <14f> DW_AT_name : (indirect string, offset: 0x246): __unused5 + <153> DW_AT_type : <0x164> + <157> DW_AT_decl_file : 1 + <158> DW_AT_decl_line : 43 + <159> DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76) + <2><15c>: Abbrev Number: 0 + <1><15d>: Abbrev Number: 6 (DW_TAG_base_type) + <15e> DW_AT_name : (indirect string, offset: 0x172): long unsigned int + <162> DW_AT_encoding : 7 (unsigned) + <163> DW_AT_byte_size : 4 + <1><164>: Abbrev Number: 6 (DW_TAG_base_type) + <165> DW_AT_name : (indirect string, offset: 0x193): unsigned int + <169> DW_AT_encoding : 7 (unsigned) + <16a> DW_AT_byte_size : 4 + <1><16b>: Abbrev Number: 6 (DW_TAG_base_type) + <16c> DW_AT_name : (indirect string, offset: 0x1ce): long int + <170> DW_AT_encoding : 5 (signed) + <171> DW_AT_byte_size : 4 + <1><172>: Abbrev Number: 6 (DW_TAG_base_type) + <173> DW_AT_name : (indirect string, offset: 0x1e2): int + <177> DW_AT_encoding : 5 (signed) + <178> DW_AT_byte_size : 4 + <1><179>: Abbrev Number: 0 diff --git a/mpers-m32/struct_stat.d2 b/mpers-m32/struct_stat.d2 index c1590235..94ec8b3c 100644 --- a/mpers-m32/struct_stat.d2 +++ b/mpers-m32/struct_stat.d2 @@ -1,180 +1,180 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x90): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15a): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x18b): struct_stat +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x255): struct_stat DW_AT_decl_file : 2 DW_AT_decl_line : 60 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x186): stat +DW_AT_name : (indirect string, offset: 0x250): stat DW_AT_byte_size : 80 DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa1): st_dev -DW_AT_type : <0x15c> +DW_AT_name : (indirect string, offset: 0x16b): st_dev +DW_AT_type : <0x15d> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xba): st_ino -DW_AT_type : <0x15c> +DW_AT_name : (indirect string, offset: 0x184): st_ino +DW_AT_type : <0x15d> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc1): st_mode -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x18b): st_mode +DW_AT_type : <0x164> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd6): st_nlink -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x1a0): st_nlink +DW_AT_type : <0x164> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdf): st_uid -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x1a9): st_uid +DW_AT_type : <0x164> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe6): st_gid -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x1b0): st_gid +DW_AT_type : <0x164> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xed): st_rdev -DW_AT_type : <0x15c> +DW_AT_name : (indirect string, offset: 0x1b7): st_rdev +DW_AT_type : <0x15d> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf5): __pad1 -DW_AT_type : <0x15c> +DW_AT_name : (indirect string, offset: 0x1bf): __pad1 +DW_AT_type : <0x15d> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfc): st_size -DW_AT_type : <0x16a> +DW_AT_name : (indirect string, offset: 0x1c6): st_size +DW_AT_type : <0x16b> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10d): st_blksize -DW_AT_type : <0x171> +DW_AT_name : (indirect string, offset: 0x1d7): st_blksize +DW_AT_type : <0x172> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11c): __pad2 -DW_AT_type : <0x171> +DW_AT_name : (indirect string, offset: 0x1e6): __pad2 +DW_AT_type : <0x172> 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>
+<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x123): st_blocks -DW_AT_type : <0x16a> +DW_AT_name : (indirect string, offset: 0x1ed): st_blocks +DW_AT_type : <0x16b> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12d): st_atime -DW_AT_type : <0x16a> +DW_AT_name : (indirect string, offset: 0x1f7): st_atime +DW_AT_type : <0x16b> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x136): st_atime_nsec -DW_AT_type : <0x15c> +DW_AT_name : (indirect string, offset: 0x200): st_atime_nsec +DW_AT_type : <0x15d> 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> +<2><108> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x144): st_mtime -DW_AT_type : <0x16a> +DW_AT_name : (indirect string, offset: 0x20e): st_mtime +DW_AT_type : <0x16b> 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> +<2><116> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14d): st_mtime_nsec -DW_AT_type : <0x15c> +DW_AT_name : (indirect string, offset: 0x217): st_mtime_nsec +DW_AT_type : <0x15d> 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> +<2><124> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15b): st_ctime -DW_AT_type : <0x16a> +DW_AT_name : (indirect string, offset: 0x225): st_ctime +DW_AT_type : <0x16b> 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> +<2><132> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x164): st_ctime_nsec -DW_AT_type : <0x15c> +DW_AT_name : (indirect string, offset: 0x22e): st_ctime_nsec +DW_AT_type : <0x15d> 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> +<2><140> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x172): __unused4 -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x23c): __unused4 +DW_AT_type : <0x164> 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> +<2><14e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17c): __unused5 -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x246): __unused5 +DW_AT_type : <0x164> 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> +<1><15d> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa8): long unsigned int +DW_AT_name : (indirect string, offset: 0x172): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><163> +<1><164> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc9): unsigned int +DW_AT_name : (indirect string, offset: 0x193): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><16a> +<1><16b> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x104): long int +DW_AT_name : (indirect string, offset: 0x1ce): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><171> +<1><172> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x118): int +DW_AT_name : (indirect string, offset: 0x1e2): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 diff --git a/mpers-m32/struct_stat64.d1 b/mpers-m32/struct_stat64.d1 index ad9b9633..7759d1d3 100644 --- a/mpers-m32/struct_stat64.d1 +++ b/mpers-m32/struct_stat64.d1 @@ -1,32 +1,33 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x40 (32-bit) + Length: 0x41 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_stat64.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x121): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 1 + <2a> DW_AT_decl_line : 60 + <2b> DW_AT_location : 5 byte block: 3 1 0 0 0 (DW_OP_addr: 1) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x174): struct_stat64 + <3a> DW_AT_decl_file : 1 + <3b> DW_AT_decl_line : 58 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x16d): stat64 + <41> DW_AT_byte_size : 0 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 55 + <1><44>: Abbrev Number: 0 diff --git a/mpers-m32/struct_stat64.d2 b/mpers-m32/struct_stat64.d2 index b7c54c5b..ea8acd08 100644 --- a/mpers-m32/struct_stat64.d2 +++ b/mpers-m32/struct_stat64.d2 @@ -1,20 +1,20 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x92): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xaa): struct_stat64 +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x174): struct_stat64 DW_AT_decl_file : 1 DW_AT_decl_line : 58 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xa3): stat64 +DW_AT_name : (indirect string, offset: 0x16d): stat64 DW_AT_byte_size : 0 DW_AT_decl_file : 1 DW_AT_decl_line : 55 diff --git a/mpers-m32/struct_statfs.d1 b/mpers-m32/struct_statfs.d1 index 5ab912f7..c53f6b8b 100644 --- a/mpers-m32/struct_statfs.d1 +++ b/mpers-m32/struct_statfs.d1 @@ -1,152 +1,153 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x141 (32-bit) + Length: 0x142 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_statfs.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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>
: 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) - <2>: Abbrev Number: 0 - <1>: 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>: 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>: Abbrev Number: 3 (DW_TAG_typedef) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x121): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 37 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x211): struct_statfs + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 34 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x20a): statfs + <41> DW_AT_byte_size : 64 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 29 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16d): f_type + <49> DW_AT_type : <0xed> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 30 + <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: 0x18d): f_bsize + <57> DW_AT_type : <0xed> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 31 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x195): f_blocks + <65> DW_AT_type : <0xed> + <69> DW_AT_decl_file : 2 + <6a> DW_AT_decl_line : 32 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x19e): f_bfree + <73> DW_AT_type : <0xed> + <77> DW_AT_decl_file : 2 + <78> DW_AT_decl_line : 33 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1a6): f_bavail + <81> DW_AT_type : <0xed> + <85> DW_AT_decl_file : 2 + <86> DW_AT_decl_line : 34 + <87> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1af): f_files + <8f> DW_AT_type : <0xed> + <93> DW_AT_decl_file : 2 + <94> DW_AT_decl_line : 35 + <95> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1b7): f_ffree + <9d> DW_AT_type : <0xed> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1bf): f_fsid + DW_AT_type : <0xff> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1e7): f_namelen + DW_AT_type : <0xed> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f1): f_frsize + DW_AT_type : <0xed> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1fa): f_flags + DW_AT_type : <0xed> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x202): f_spare + DW_AT_type : <0x138> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xf8> + DW_AT_name : (indirect string, offset: 0x17d): __kernel_long_t + DW_AT_decl_file : 1 + DW_AT_decl_line : 23 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x174): long int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + <100> DW_AT_type : <0x10a> + <104> DW_AT_name : (indirect string, offset: 0x1d7): __kernel_fsid_t + <108> DW_AT_decl_file : 1 + <109> DW_AT_decl_line : 73 + <1><10a>: Abbrev Number: 7 (DW_TAG_structure_type) + <10b> DW_AT_byte_size : 8 + <10c> DW_AT_decl_file : 1 + <10d> DW_AT_decl_line : 71 + <2><10e>: Abbrev Number: 5 (DW_TAG_member) + <10f> DW_AT_name : (indirect string, offset: 0x1c6): val + <113> DW_AT_type : <0x11d> + <117> DW_AT_decl_file : 1 + <118> DW_AT_decl_line : 72 + <119> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><11c>: Abbrev Number: 0 + <1><11d>: Abbrev Number: 8 (DW_TAG_array_type) + <11e> DW_AT_type : <0x12a> + <2><122>: Abbrev Number: 9 (DW_TAG_subrange_type) + <123> DW_AT_type : <0x131> + <127> DW_AT_lower_bound : 0 + <128> DW_AT_count : 2 + <2><129>: Abbrev Number: 0 + <1><12a>: Abbrev Number: 6 (DW_TAG_base_type) + <12b> DW_AT_name : (indirect string, offset: 0x1ca): int + <12f> DW_AT_encoding : 5 (signed) + <130> DW_AT_byte_size : 4 + <1><131>: Abbrev Number: 10 (DW_TAG_base_type) + <132> DW_AT_name : (indirect string, offset: 0x1ce): sizetype + <136> DW_AT_byte_size : 8 + <137> DW_AT_encoding : 7 (unsigned) + <1><138>: Abbrev Number: 8 (DW_TAG_array_type) + <139> DW_AT_type : <0xed> + <2><13d>: Abbrev Number: 9 (DW_TAG_subrange_type) + <13e> DW_AT_type : <0x131> + <142> DW_AT_lower_bound : 0 + <143> DW_AT_count : 4 + <2><144>: Abbrev Number: 0 + <1><145>: Abbrev Number: 0 diff --git a/mpers-m32/struct_statfs.d2 b/mpers-m32/struct_statfs.d2 index 64612ab9..a5db16c8 100644 --- a/mpers-m32/struct_statfs.d2 +++ b/mpers-m32/struct_statfs.d2 @@ -1,159 +1,159 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x92): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15c): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x147): struct_statfs +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x211): struct_statfs DW_AT_decl_file : 3 DW_AT_decl_line : 34 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x140): statfs +DW_AT_name : (indirect string, offset: 0x20a): statfs DW_AT_byte_size : 64 DW_AT_decl_file : 2 DW_AT_decl_line : 29 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa3): f_type -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x16d): f_type +DW_AT_type : <0xed> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc3): f_bsize -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x18d): f_bsize +DW_AT_type : <0xed> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcb): f_blocks -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x195): f_blocks +DW_AT_type : <0xed> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd4): f_bfree -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x19e): f_bfree +DW_AT_type : <0xed> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdc): f_bavail -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x1a6): f_bavail +DW_AT_type : <0xed> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe5): f_files -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x1af): f_files +DW_AT_type : <0xed> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xed): f_ffree -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x1b7): f_ffree +DW_AT_type : <0xed> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf5): f_fsid -DW_AT_type : <0xfe> +DW_AT_name : (indirect string, offset: 0x1bf): f_fsid +DW_AT_type : <0xff> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11d): f_namelen -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x1e7): f_namelen +DW_AT_type : <0xed> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x127): f_frsize -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x1f1): f_frsize +DW_AT_type : <0xed> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x130): f_flags -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x1fa): f_flags +DW_AT_type : <0xed> 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>
+<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x138): f_spare -DW_AT_type : <0x137> +DW_AT_name : (indirect string, offset: 0x202): f_spare +DW_AT_type : <0x138> 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> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xf7> -DW_AT_name : (indirect string, offset: 0xb3): __kernel_long_t +DW_AT_type : <0xf8> +DW_AT_name : (indirect string, offset: 0x17d): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xaa): long int +DW_AT_name : (indirect string, offset: 0x174): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x109> -DW_AT_name : (indirect string, offset: 0x10d): __kernel_fsid_t +DW_AT_type : <0x10a> +DW_AT_name : (indirect string, offset: 0x1d7): __kernel_fsid_t DW_AT_decl_file : 1 DW_AT_decl_line : 73 -<1><109> +<1><10a> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 71 -<2><10d> +<2><10e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfc): val -DW_AT_type : <0x11c> +DW_AT_name : (indirect string, offset: 0x1c6): val +DW_AT_type : <0x11d> 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> +<1><11d> Abbrev Number: 8 (DW_TAG_array_type) -DW_AT_type : <0x129> -<2><121> +DW_AT_type : <0x12a> +<2><122> Abbrev Number: 9 (DW_TAG_subrange_type) -DW_AT_type : <0x130> +DW_AT_type : <0x131> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1><129> +<1><12a> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x100): int +DW_AT_name : (indirect string, offset: 0x1ca): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><130> +<1><131> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x104): sizetype +DW_AT_name : (indirect string, offset: 0x1ce): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><137> +<1><138> Abbrev Number: 8 (DW_TAG_array_type) -DW_AT_type : <0xec> -<2><13c> +DW_AT_type : <0xed> +<2><13d> Abbrev Number: 9 (DW_TAG_subrange_type) -DW_AT_type : <0x130> +DW_AT_type : <0x131> DW_AT_lower_bound : 0 DW_AT_count : 4 diff --git a/mpers-m32/struct_statfs64.d1 b/mpers-m32/struct_statfs64.d1 index b14caf76..9291229f 100644 --- a/mpers-m32/struct_statfs64.d1 +++ b/mpers-m32/struct_statfs64.d1 @@ -1,161 +1,162 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x153 (32-bit) + Length: 0x154 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_statfs64.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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>
: 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) - <2>: Abbrev Number: 0 - <1>: 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>: 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>: Abbrev Number: 3 (DW_TAG_typedef) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x123): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15e): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 4 + <2a> DW_AT_decl_line : 37 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x232): struct_statfs64 + <3a> DW_AT_decl_file : 4 + <3b> DW_AT_decl_line : 35 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x229): statfs64 + <41> DW_AT_byte_size : 88 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 46 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16f): f_type + <49> DW_AT_type : <0xed> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 47 + <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: 0x18f): f_bsize + <57> DW_AT_type : <0xed> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 48 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x197): f_blocks + <65> DW_AT_type : <0xff> + <69> DW_AT_decl_file : 2 + <6a> DW_AT_decl_line : 49 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1bd): f_bfree + <73> DW_AT_type : <0xff> + <77> DW_AT_decl_file : 2 + <78> DW_AT_decl_line : 50 + <79> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1c5): f_bavail + <81> DW_AT_type : <0xff> + <85> DW_AT_decl_file : 2 + <86> DW_AT_decl_line : 51 + <87> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1ce): f_files + <8f> DW_AT_type : <0xff> + <93> DW_AT_decl_file : 2 + <94> DW_AT_decl_line : 52 + <95> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1d6): f_ffree + <9d> DW_AT_type : <0xff> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1de): f_fsid + DW_AT_type : <0x111> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x206): f_namelen + DW_AT_type : <0xed> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x210): f_frsize + DW_AT_type : <0xed> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x219): f_flags + DW_AT_type : <0xed> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x221): f_spare + DW_AT_type : <0x14a> + 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xf8> + DW_AT_name : (indirect string, offset: 0x17f): __kernel_long_t + DW_AT_decl_file : 1 + DW_AT_decl_line : 23 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x176): long int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + <100> DW_AT_type : <0x10a> + <104> DW_AT_name : (indirect string, offset: 0x1b7): __u64 + <108> DW_AT_decl_file : 3 + <109> DW_AT_decl_line : 31 + <1><10a>: Abbrev Number: 6 (DW_TAG_base_type) + <10b> DW_AT_name : (indirect string, offset: 0x1a0): long long unsigned int + <10f> DW_AT_encoding : 7 (unsigned) + <110> DW_AT_byte_size : 8 + <1><111>: Abbrev Number: 3 (DW_TAG_typedef) + <112> DW_AT_type : <0x11c> + <116> DW_AT_name : (indirect string, offset: 0x1f6): __kernel_fsid_t + <11a> DW_AT_decl_file : 1 + <11b> DW_AT_decl_line : 73 + <1><11c>: Abbrev Number: 7 (DW_TAG_structure_type) + <11d> DW_AT_byte_size : 8 + <11e> DW_AT_decl_file : 1 + <11f> DW_AT_decl_line : 71 + <2><120>: Abbrev Number: 5 (DW_TAG_member) + <121> DW_AT_name : (indirect string, offset: 0x1e5): val + <125> DW_AT_type : <0x12f> + <129> DW_AT_decl_file : 1 + <12a> DW_AT_decl_line : 72 + <12b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><12e>: Abbrev Number: 0 + <1><12f>: Abbrev Number: 8 (DW_TAG_array_type) + <130> DW_AT_type : <0x13c> + <2><134>: Abbrev Number: 9 (DW_TAG_subrange_type) + <135> DW_AT_type : <0x143> + <139> DW_AT_lower_bound : 0 + <13a> DW_AT_count : 2 + <2><13b>: Abbrev Number: 0 + <1><13c>: Abbrev Number: 6 (DW_TAG_base_type) + <13d> DW_AT_name : (indirect string, offset: 0x1e9): int + <141> DW_AT_encoding : 5 (signed) + <142> DW_AT_byte_size : 4 + <1><143>: Abbrev Number: 10 (DW_TAG_base_type) + <144> DW_AT_name : (indirect string, offset: 0x1ed): sizetype + <148> DW_AT_byte_size : 8 + <149> DW_AT_encoding : 7 (unsigned) + <1><14a>: Abbrev Number: 8 (DW_TAG_array_type) + <14b> DW_AT_type : <0xed> + <2><14f>: Abbrev Number: 9 (DW_TAG_subrange_type) + <150> DW_AT_type : <0x143> + <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_statfs64.d2 b/mpers-m32/struct_statfs64.d2 index ccfb573a..5c411928 100644 --- a/mpers-m32/struct_statfs64.d2 +++ b/mpers-m32/struct_statfs64.d2 @@ -1,170 +1,170 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x94): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15e): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x168): struct_statfs64 +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x232): struct_statfs64 DW_AT_decl_file : 4 DW_AT_decl_line : 35 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x15f): statfs64 +DW_AT_name : (indirect string, offset: 0x229): statfs64 DW_AT_byte_size : 88 DW_AT_decl_file : 2 DW_AT_decl_line : 46 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa5): f_type -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x16f): f_type +DW_AT_type : <0xed> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc5): f_bsize -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x18f): f_bsize +DW_AT_type : <0xed> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcd): f_blocks -DW_AT_type : <0xfe> +DW_AT_name : (indirect string, offset: 0x197): f_blocks +DW_AT_type : <0xff> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf3): f_bfree -DW_AT_type : <0xfe> +DW_AT_name : (indirect string, offset: 0x1bd): f_bfree +DW_AT_type : <0xff> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfb): f_bavail -DW_AT_type : <0xfe> +DW_AT_name : (indirect string, offset: 0x1c5): f_bavail +DW_AT_type : <0xff> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x104): f_files -DW_AT_type : <0xfe> +DW_AT_name : (indirect string, offset: 0x1ce): f_files +DW_AT_type : <0xff> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10c): f_ffree -DW_AT_type : <0xfe> +DW_AT_name : (indirect string, offset: 0x1d6): f_ffree +DW_AT_type : <0xff> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x114): f_fsid -DW_AT_type : <0x110> +DW_AT_name : (indirect string, offset: 0x1de): f_fsid +DW_AT_type : <0x111> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13c): f_namelen -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x206): f_namelen +DW_AT_type : <0xed> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x146): f_frsize -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x210): f_frsize +DW_AT_type : <0xed> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14f): f_flags -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x219): f_flags +DW_AT_type : <0xed> 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>
+<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x157): f_spare -DW_AT_type : <0x149> +DW_AT_name : (indirect string, offset: 0x221): f_spare +DW_AT_type : <0x14a> 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> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xf7> -DW_AT_name : (indirect string, offset: 0xb5): __kernel_long_t +DW_AT_type : <0xf8> +DW_AT_name : (indirect string, offset: 0x17f): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xac): long int +DW_AT_name : (indirect string, offset: 0x176): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x109> -DW_AT_name : (indirect string, offset: 0xed): __u64 +DW_AT_type : <0x10a> +DW_AT_name : (indirect string, offset: 0x1b7): __u64 DW_AT_decl_file : 3 DW_AT_decl_line : 31 -<1><109> +<1><10a> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xd6): long long unsigned int +DW_AT_name : (indirect string, offset: 0x1a0): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 -<1><110> +<1><111> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x11b> -DW_AT_name : (indirect string, offset: 0x12c): __kernel_fsid_t +DW_AT_type : <0x11c> +DW_AT_name : (indirect string, offset: 0x1f6): __kernel_fsid_t DW_AT_decl_file : 1 DW_AT_decl_line : 73 -<1><11b> +<1><11c> Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_byte_size : 8 DW_AT_decl_file : 1 DW_AT_decl_line : 71 -<2><11f> +<2><120> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11b): val -DW_AT_type : <0x12e> +DW_AT_name : (indirect string, offset: 0x1e5): val +DW_AT_type : <0x12f> 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> +<1><12f> Abbrev Number: 8 (DW_TAG_array_type) -DW_AT_type : <0x13b> -<2><133> +DW_AT_type : <0x13c> +<2><134> Abbrev Number: 9 (DW_TAG_subrange_type) -DW_AT_type : <0x142> +DW_AT_type : <0x143> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1><13b> +<1><13c> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x11f): int +DW_AT_name : (indirect string, offset: 0x1e9): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><142> +<1><143> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x123): sizetype +DW_AT_name : (indirect string, offset: 0x1ed): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><149> +<1><14a> Abbrev Number: 8 (DW_TAG_array_type) -DW_AT_type : <0xec> -<2><14e> +DW_AT_type : <0xed> +<2><14f> Abbrev Number: 9 (DW_TAG_subrange_type) -DW_AT_type : <0x142> +DW_AT_type : <0x143> DW_AT_lower_bound : 0 DW_AT_count : 4 diff --git a/mpers-m32/struct_timex.d1 b/mpers-m32/struct_timex.d1 index e6c5968a..77828673 100644 --- a/mpers-m32/struct_timex.d1 +++ b/mpers-m32/struct_timex.d1 @@ -1,198 +1,199 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x1b4 (32-bit) + Length: 0x1b5 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_timex.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - DW_AT_name : (indirect string, offset: 0x169): shift - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x120): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15b): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 4 + <2a> DW_AT_decl_line : 38 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x266): struct_timex + <3a> DW_AT_decl_file : 4 + <3b> DW_AT_decl_line : 36 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x260): timex + <41> DW_AT_byte_size : 128 + <42> DW_AT_decl_file : 1 + <43> DW_AT_decl_line : 23 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16c): modes + <49> DW_AT_type : <0x15d> + <4d> DW_AT_decl_file : 1 + <4e> DW_AT_decl_line : 24 + <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: 0x17f): offset + <57> DW_AT_type : <0x164> + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 25 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x19f): freq + <65> DW_AT_type : <0x164> + <69> DW_AT_decl_file : 1 + <6a> DW_AT_decl_line : 26 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1a4): maxerror + <73> DW_AT_type : <0x164> + <77> DW_AT_decl_file : 1 + <78> DW_AT_decl_line : 27 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1ad): esterror + <81> DW_AT_type : <0x164> + <85> DW_AT_decl_file : 1 + <86> DW_AT_decl_line : 28 + <87> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1b6): status + <8f> DW_AT_type : <0x176> + <93> DW_AT_decl_file : 1 + <94> DW_AT_decl_line : 29 + <95> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1c1): constant + <9d> DW_AT_type : <0x164> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ca): precision + DW_AT_type : <0x164> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1d4): tolerance + DW_AT_type : <0x164> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1de): time + DW_AT_type : <0x17d> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x21f): tick + DW_AT_type : <0x164> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x224): ppsfreq + DW_AT_type : <0x164> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x22c): jitter + DW_AT_type : <0x164> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x233): shift + DW_AT_type : <0x176> + <103> DW_AT_decl_file : 1 + <104> DW_AT_decl_line : 37 + <105> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) + <2><108>: Abbrev Number: 5 (DW_TAG_member) + <109> DW_AT_name : (indirect string, offset: 0x239): stabil + <10d> DW_AT_type : <0x164> + <111> DW_AT_decl_file : 1 + <112> DW_AT_decl_line : 38 + <113> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) + <2><116>: Abbrev Number: 5 (DW_TAG_member) + <117> DW_AT_name : (indirect string, offset: 0x240): jitcnt + <11b> DW_AT_type : <0x164> + <11f> DW_AT_decl_file : 1 + <120> DW_AT_decl_line : 39 + <121> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) + <2><124>: Abbrev Number: 5 (DW_TAG_member) + <125> DW_AT_name : (indirect string, offset: 0x247): calcnt + <129> DW_AT_type : <0x164> + <12d> DW_AT_decl_file : 1 + <12e> DW_AT_decl_line : 40 + <12f> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68) + <2><132>: Abbrev Number: 5 (DW_TAG_member) + <133> DW_AT_name : (indirect string, offset: 0x24e): errcnt + <137> DW_AT_type : <0x164> + <13b> DW_AT_decl_file : 1 + <13c> DW_AT_decl_line : 41 + <13d> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72) + <2><140>: Abbrev Number: 5 (DW_TAG_member) + <141> DW_AT_name : (indirect string, offset: 0x255): stbcnt + <145> DW_AT_type : <0x164> + <149> DW_AT_decl_file : 1 + <14a> DW_AT_decl_line : 42 + <14b> DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76) + <2><14e>: Abbrev Number: 5 (DW_TAG_member) + <14f> DW_AT_name : (indirect string, offset: 0x25c): tai + <153> DW_AT_type : <0x176> + <157> DW_AT_decl_file : 1 + <158> DW_AT_decl_line : 43 + <159> DW_AT_data_member_location: 2 byte block: 23 50 (DW_OP_plus_uconst: 80) + <2><15c>: Abbrev Number: 0 + <1><15d>: Abbrev Number: 6 (DW_TAG_base_type) + <15e> DW_AT_name : (indirect string, offset: 0x172): unsigned int + <162> DW_AT_encoding : 7 (unsigned) + <163> DW_AT_byte_size : 4 + <1><164>: Abbrev Number: 3 (DW_TAG_typedef) + <165> DW_AT_type : <0x16f> + <169> DW_AT_name : (indirect string, offset: 0x18f): __kernel_long_t + <16d> DW_AT_decl_file : 2 + <16e> DW_AT_decl_line : 23 + <1><16f>: Abbrev Number: 6 (DW_TAG_base_type) + <170> DW_AT_name : (indirect string, offset: 0x186): long int + <174> DW_AT_encoding : 5 (signed) + <175> DW_AT_byte_size : 4 + <1><176>: Abbrev Number: 6 (DW_TAG_base_type) + <177> DW_AT_name : (indirect string, offset: 0x1bd): int + <17b> DW_AT_encoding : 5 (signed) + <17c> DW_AT_byte_size : 4 + <1><17d>: Abbrev Number: 4 (DW_TAG_structure_type) + <17e> DW_AT_name : (indirect string, offset: 0x217): timeval + <182> DW_AT_byte_size : 8 + <183> DW_AT_decl_file : 3 + <184> DW_AT_decl_line : 29 + <2><185>: Abbrev Number: 5 (DW_TAG_member) + <186> DW_AT_name : (indirect string, offset: 0x1e3): tv_sec + <18a> DW_AT_type : <0x1a2> + <18e> DW_AT_decl_file : 3 + <18f> DW_AT_decl_line : 30 + <190> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><193>: Abbrev Number: 5 (DW_TAG_member) + <194> DW_AT_name : (indirect string, offset: 0x1fa): tv_usec + <198> DW_AT_type : <0x1ad> + <19c> DW_AT_decl_file : 3 + <19d> DW_AT_decl_line : 31 + <19e> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><1a1>: Abbrev Number: 0 + <1><1a2>: Abbrev Number: 3 (DW_TAG_typedef) + <1a3> DW_AT_type : <0x164> + <1a7> DW_AT_name : (indirect string, offset: 0x1ea): __kernel_time_t + <1ab> DW_AT_decl_file : 2 + <1ac> DW_AT_decl_line : 77 + <1><1ad>: Abbrev Number: 3 (DW_TAG_typedef) + <1ae> DW_AT_type : <0x164> + <1b2> DW_AT_name : (indirect string, offset: 0x202): __kernel_suseconds_t + <1b6> DW_AT_decl_file : 2 + <1b7> DW_AT_decl_line : 43 + <1><1b8>: Abbrev Number: 0 diff --git a/mpers-m32/struct_timex.d2 b/mpers-m32/struct_timex.d2 index eb99903c..f5d89154 100644 --- a/mpers-m32/struct_timex.d2 +++ b/mpers-m32/struct_timex.d2 @@ -1,213 +1,213 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x91): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15b): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x19c): struct_timex +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x266): struct_timex DW_AT_decl_file : 4 DW_AT_decl_line : 36 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x196): timex +DW_AT_name : (indirect string, offset: 0x260): timex DW_AT_byte_size : 128 DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa2): modes -DW_AT_type : <0x15c> +DW_AT_name : (indirect string, offset: 0x16c): modes +DW_AT_type : <0x15d> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb5): offset -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x17f): offset +DW_AT_type : <0x164> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd5): freq -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x19f): freq +DW_AT_type : <0x164> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xda): maxerror -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x1a4): maxerror +DW_AT_type : <0x164> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe3): esterror -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x1ad): esterror +DW_AT_type : <0x164> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xec): status -DW_AT_type : <0x175> +DW_AT_name : (indirect string, offset: 0x1b6): status +DW_AT_type : <0x176> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf7): constant -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x1c1): constant +DW_AT_type : <0x164> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x100): precision -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x1ca): precision +DW_AT_type : <0x164> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10a): tolerance -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x1d4): tolerance +DW_AT_type : <0x164> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x114): time -DW_AT_type : <0x17c> +DW_AT_name : (indirect string, offset: 0x1de): time +DW_AT_type : <0x17d> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x155): tick -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x21f): tick +DW_AT_type : <0x164> 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>
+<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15a): ppsfreq -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x224): ppsfreq +DW_AT_type : <0x164> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x162): jitter -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x22c): jitter +DW_AT_type : <0x164> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x169): shift -DW_AT_type : <0x175> +DW_AT_name : (indirect string, offset: 0x233): shift +DW_AT_type : <0x176> 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> +<2><108> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x16f): stabil -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x239): stabil +DW_AT_type : <0x164> 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> +<2><116> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x176): jitcnt -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x240): jitcnt +DW_AT_type : <0x164> 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> +<2><124> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17d): calcnt -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x247): calcnt +DW_AT_type : <0x164> 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> +<2><132> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x184): errcnt -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x24e): errcnt +DW_AT_type : <0x164> 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> +<2><140> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x18b): stbcnt -DW_AT_type : <0x163> +DW_AT_name : (indirect string, offset: 0x255): stbcnt +DW_AT_type : <0x164> 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> +<2><14e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x192): tai -DW_AT_type : <0x175> +DW_AT_name : (indirect string, offset: 0x25c): tai +DW_AT_type : <0x176> 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> +<1><15d> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa8): unsigned int +DW_AT_name : (indirect string, offset: 0x172): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><163> +<1><164> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x16e> -DW_AT_name : (indirect string, offset: 0xc5): __kernel_long_t +DW_AT_type : <0x16f> +DW_AT_name : (indirect string, offset: 0x18f): __kernel_long_t DW_AT_decl_file : 2 DW_AT_decl_line : 23 -<1><16e> +<1><16f> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xbc): long int +DW_AT_name : (indirect string, offset: 0x186): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><175> +<1><176> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xf3): int +DW_AT_name : (indirect string, offset: 0x1bd): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><17c> +<1><17d> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x14d): timeval +DW_AT_name : (indirect string, offset: 0x217): timeval DW_AT_byte_size : 8 DW_AT_decl_file : 3 DW_AT_decl_line : 29 -<2><184> +<2><185> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x119): tv_sec -DW_AT_type : <0x1a1> +DW_AT_name : (indirect string, offset: 0x1e3): tv_sec +DW_AT_type : <0x1a2> 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> +<2><193> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x130): tv_usec -DW_AT_type : <0x1ac> +DW_AT_name : (indirect string, offset: 0x1fa): tv_usec +DW_AT_type : <0x1ad> 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> +<1><1a2> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x163> -DW_AT_name : (indirect string, offset: 0x120): __kernel_time_t +DW_AT_type : <0x164> +DW_AT_name : (indirect string, offset: 0x1ea): __kernel_time_t DW_AT_decl_file : 2 DW_AT_decl_line : 77 -<1><1ac> +<1><1ad> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x163> -DW_AT_name : (indirect string, offset: 0x138): __kernel_suseconds_t +DW_AT_type : <0x164> +DW_AT_name : (indirect string, offset: 0x202): __kernel_suseconds_t DW_AT_decl_file : 2 DW_AT_decl_line : 43 diff --git a/mpers-m32/struct_v4l2_buffer.d1 b/mpers-m32/struct_v4l2_buffer.d1 index cb106cfd..8720e249 100644 --- a/mpers-m32/struct_v4l2_buffer.d1 +++ b/mpers-m32/struct_v4l2_buffer.d1 @@ -1,335 +1,336 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x2f2 (32-bit) + Length: 0x2f3 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_buffer.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - 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>: 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>: 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>: 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>: Abbrev Number: 6 (DW_TAG_union_type) - DW_AT_byte_size : 4 - DW_AT_decl_file : 2 -
DW_AT_decl_line : 476 - <3>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x126): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x161): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 5 + <2a> DW_AT_decl_line : 53 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x2ed): struct_v4l2_buffer + <3a> DW_AT_decl_file : 5 + <3b> DW_AT_decl_line : 41 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x2e1): v4l2_buffer + <41> DW_AT_byte_size : 68 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 473 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x172): index + <4a> DW_AT_type : <0x14b> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 474 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x18b): type + <59> DW_AT_type : <0x14b> + <5d> DW_AT_decl_file : 2 + <5e> DW_AT_decl_line : 475 + <60> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><63>: Abbrev Number: 5 (DW_TAG_member) + <64> DW_AT_name : (indirect string, offset: 0x190): bytesused + <68> DW_AT_type : <0x14b> + <6c> DW_AT_decl_file : 2 + <6d> DW_AT_decl_line : 476 + <6f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><72>: Abbrev Number: 5 (DW_TAG_member) + <73> DW_AT_name : (indirect string, offset: 0x19a): flags + <77> DW_AT_type : <0x14b> + <7b> DW_AT_decl_file : 2 + <7c> DW_AT_decl_line : 477 + <7e> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><81>: Abbrev Number: 5 (DW_TAG_member) + <82> DW_AT_name : (indirect string, offset: 0x1a0): field + <86> DW_AT_type : <0x14b> + <8a> DW_AT_decl_file : 2 + <8b> DW_AT_decl_line : 478 + <8d> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><90>: Abbrev Number: 5 (DW_TAG_member) + <91> DW_AT_name : (indirect string, offset: 0x1a6): timestamp + <95> DW_AT_type : <0x15d> + <99> DW_AT_decl_file : 2 + <9a> DW_AT_decl_line : 479 + <9c> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><9f>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x205): timecode + DW_AT_type : <0x1aa> + DW_AT_decl_file : 2 + DW_AT_decl_line : 480 + DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x25e): sequence + DW_AT_type : <0x14b> + DW_AT_decl_file : 2 + DW_AT_decl_line : 481 + DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x267): memory + DW_AT_type : <0x14b> + DW_AT_decl_file : 2 + DW_AT_decl_line : 482 + DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x26e): m + DW_AT_type : <0xdb> + DW_AT_decl_file : 2 + DW_AT_decl_line : 488 + DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) + <2>: Abbrev Number: 6 (DW_TAG_union_type) + DW_AT_byte_size : 4 +
DW_AT_decl_file : 2 + DW_AT_decl_line : 483 + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x270): offset + DW_AT_type : <0x14b> + DW_AT_decl_file : 2 + DW_AT_decl_line : 484 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x277): userptr + DW_AT_type : <0x243> + DW_AT_decl_file : 2 + DW_AT_decl_line : 485 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x291): planes + <103> DW_AT_type : <0x24a> + <107> DW_AT_decl_file : 2 + <108> DW_AT_decl_line : 486 + <10a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><10d>: Abbrev Number: 5 (DW_TAG_member) + <10e> DW_AT_name : (indirect string, offset: 0x2aa): fd + <112> DW_AT_type : <0x2d7> + <116> DW_AT_decl_file : 2 + <117> DW_AT_decl_line : 487 + <119> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><11c>: Abbrev Number: 0 + <2><11d>: Abbrev Number: 5 (DW_TAG_member) + <11e> DW_AT_name : (indirect string, offset: 0x298): length + <122> DW_AT_type : <0x14b> + <126> DW_AT_decl_file : 2 + <127> DW_AT_decl_line : 489 + <129> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) + <2><12c>: Abbrev Number: 5 (DW_TAG_member) + <12d> DW_AT_name : (indirect string, offset: 0x2d7): reserved2 + <131> DW_AT_type : <0x14b> + <135> DW_AT_decl_file : 2 + <136> DW_AT_decl_line : 490 + <138> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) + <2><13b>: Abbrev Number: 5 (DW_TAG_member) + <13c> DW_AT_name : (indirect string, offset: 0x2c3): reserved + <140> DW_AT_type : <0x14b> + <144> DW_AT_decl_file : 2 + <145> DW_AT_decl_line : 491 + <147> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) + <2><14a>: Abbrev Number: 0 + <1><14b>: Abbrev Number: 3 (DW_TAG_typedef) + <14c> DW_AT_type : <0x156> + <150> DW_AT_name : (indirect string, offset: 0x185): __u32 + <154> DW_AT_decl_file : 1 + <155> DW_AT_decl_line : 28 + <1><156>: Abbrev Number: 7 (DW_TAG_base_type) + <157> DW_AT_name : (indirect string, offset: 0x178): unsigned int + <15b> DW_AT_encoding : 7 (unsigned) + <15c> DW_AT_byte_size : 4 + <1><15d>: Abbrev Number: 8 (DW_TAG_structure_type) + <15e> DW_AT_name : (indirect string, offset: 0x1fd): timeval + <162> DW_AT_byte_size : 8 + <163> DW_AT_decl_file : 4 + <164> DW_AT_decl_line : 29 + <2><165>: Abbrev Number: 9 (DW_TAG_member) + <166> DW_AT_name : (indirect string, offset: 0x1b0): tv_sec + <16a> DW_AT_type : <0x182> + <16e> DW_AT_decl_file : 4 + <16f> DW_AT_decl_line : 30 + <170> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><173>: Abbrev Number: 9 (DW_TAG_member) + <174> DW_AT_name : (indirect string, offset: 0x1e0): tv_usec + <178> DW_AT_type : <0x19f> + <17c> DW_AT_decl_file : 4 + <17d> DW_AT_decl_line : 31 + <17e> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><181>: Abbrev Number: 0 + <1><182>: Abbrev Number: 3 (DW_TAG_typedef) + <183> DW_AT_type : <0x18d> + <187> DW_AT_name : (indirect string, offset: 0x1d0): __kernel_time_t + <18b> DW_AT_decl_file : 3 + <18c> DW_AT_decl_line : 77 + <1><18d>: Abbrev Number: 3 (DW_TAG_typedef) + <18e> DW_AT_type : <0x198> + <192> DW_AT_name : (indirect string, offset: 0x1c0): __kernel_long_t + <196> DW_AT_decl_file : 3 + <197> DW_AT_decl_line : 23 + <1><198>: Abbrev Number: 7 (DW_TAG_base_type) + <199> DW_AT_name : (indirect string, offset: 0x1b7): long int + <19d> DW_AT_encoding : 5 (signed) + <19e> DW_AT_byte_size : 4 + <1><19f>: Abbrev Number: 3 (DW_TAG_typedef) + <1a0> DW_AT_type : <0x18d> + <1a4> DW_AT_name : (indirect string, offset: 0x1e8): __kernel_suseconds_t + <1a8> DW_AT_decl_file : 3 + <1a9> DW_AT_decl_line : 43 + <1><1aa>: Abbrev Number: 4 (DW_TAG_structure_type) + <1ab> DW_AT_name : (indirect string, offset: 0x250): v4l2_timecode + <1af> DW_AT_byte_size : 16 + <1b0> DW_AT_decl_file : 2 + <1b1> DW_AT_decl_line : 423 + <2><1b3>: Abbrev Number: 5 (DW_TAG_member) + <1b4> DW_AT_name : (indirect string, offset: 0x18b): type + <1b8> DW_AT_type : <0x14b> + <1bc> DW_AT_decl_file : 2 + <1bd> DW_AT_decl_line : 424 + <1bf> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><1c2>: Abbrev Number: 5 (DW_TAG_member) + <1c3> DW_AT_name : (indirect string, offset: 0x19a): flags + <1c7> DW_AT_type : <0x14b> + <1cb> DW_AT_decl_file : 2 + <1cc> DW_AT_decl_line : 425 + <1ce> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><1d1>: Abbrev Number: 5 (DW_TAG_member) + <1d2> DW_AT_name : (indirect string, offset: 0x20e): frames + <1d6> DW_AT_type : <0x21d> + <1da> DW_AT_decl_file : 2 + <1db> DW_AT_decl_line : 426 + <1dd> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><1e0>: Abbrev Number: 5 (DW_TAG_member) + <1e1> DW_AT_name : (indirect string, offset: 0x228): seconds + <1e5> DW_AT_type : <0x21d> + <1e9> DW_AT_decl_file : 2 + <1ea> DW_AT_decl_line : 427 + <1ec> DW_AT_data_member_location: 2 byte block: 23 9 (DW_OP_plus_uconst: 9) + <2><1ef>: Abbrev Number: 5 (DW_TAG_member) + <1f0> DW_AT_name : (indirect string, offset: 0x230): minutes + <1f4> DW_AT_type : <0x21d> + <1f8> DW_AT_decl_file : 2 + <1f9> DW_AT_decl_line : 428 + <1fb> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) + <2><1fe>: Abbrev Number: 5 (DW_TAG_member) + <1ff> DW_AT_name : (indirect string, offset: 0x238): hours + <203> DW_AT_type : <0x21d> + <207> DW_AT_decl_file : 2 + <208> DW_AT_decl_line : 429 + <20a> DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11) + <2><20d>: Abbrev Number: 5 (DW_TAG_member) + <20e> DW_AT_name : (indirect string, offset: 0x23e): userbits + <212> DW_AT_type : <0x22f> + <216> DW_AT_decl_file : 2 + <217> DW_AT_decl_line : 430 + <219> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><21c>: Abbrev Number: 0 + <1><21d>: Abbrev Number: 3 (DW_TAG_typedef) + <21e> DW_AT_type : <0x228> + <222> DW_AT_name : (indirect string, offset: 0x223): __u8 + <226> DW_AT_decl_file : 1 + <227> DW_AT_decl_line : 24 + <1><228>: Abbrev Number: 7 (DW_TAG_base_type) + <229> DW_AT_name : (indirect string, offset: 0x215): unsigned char + <22d> DW_AT_encoding : 8 (unsigned char) + <22e> DW_AT_byte_size : 1 + <1><22f>: Abbrev Number: 10 (DW_TAG_array_type) + <230> DW_AT_type : <0x21d> + <2><234>: Abbrev Number: 11 (DW_TAG_subrange_type) + <235> DW_AT_type : <0x23c> + <239> DW_AT_lower_bound : 0 + <23a> DW_AT_count : 4 + <2><23b>: Abbrev Number: 0 + <1><23c>: Abbrev Number: 12 (DW_TAG_base_type) + <23d> DW_AT_name : (indirect string, offset: 0x247): sizetype + <241> DW_AT_byte_size : 8 + <242> DW_AT_encoding : 7 (unsigned) + <1><243>: Abbrev Number: 7 (DW_TAG_base_type) + <244> DW_AT_name : (indirect string, offset: 0x27f): long unsigned int + <248> DW_AT_encoding : 7 (unsigned) + <249> DW_AT_byte_size : 4 + <1><24a>: Abbrev Number: 13 (DW_TAG_pointer_type) + <24b> DW_AT_type : <0x24f> + <1><24f>: Abbrev Number: 4 (DW_TAG_structure_type) + <250> DW_AT_name : (indirect string, offset: 0x2cc): v4l2_plane + <254> DW_AT_byte_size : 60 + <255> DW_AT_decl_file : 2 + <256> DW_AT_decl_line : 462 + <2><258>: Abbrev Number: 5 (DW_TAG_member) + <259> DW_AT_name : (indirect string, offset: 0x190): bytesused + <25d> DW_AT_type : <0x14b> + <261> DW_AT_decl_file : 2 + <262> DW_AT_decl_line : 463 + <264> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><267>: Abbrev Number: 5 (DW_TAG_member) + <268> DW_AT_name : (indirect string, offset: 0x298): length + <26c> DW_AT_type : <0x14b> + <270> DW_AT_decl_file : 2 + <271> DW_AT_decl_line : 464 + <273> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><276>: Abbrev Number: 5 (DW_TAG_member) + <277> DW_AT_name : (indirect string, offset: 0x26e): m + <27b> DW_AT_type : <0x285> + <27f> DW_AT_decl_file : 2 + <280> DW_AT_decl_line : 469 + <282> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><285>: Abbrev Number: 6 (DW_TAG_union_type) + <286> DW_AT_byte_size : 4 + <287> DW_AT_decl_file : 2 + <288> DW_AT_decl_line : 465 + <3><28a>: Abbrev Number: 5 (DW_TAG_member) + <28b> DW_AT_name : (indirect string, offset: 0x29f): mem_offset + <28f> DW_AT_type : <0x14b> + <293> DW_AT_decl_file : 2 + <294> DW_AT_decl_line : 466 + <296> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><299>: Abbrev Number: 5 (DW_TAG_member) + <29a> DW_AT_name : (indirect string, offset: 0x277): userptr + <29e> DW_AT_type : <0x243> + <2a2> DW_AT_decl_file : 2 + <2a3> DW_AT_decl_line : 467 + <2a5> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2a8>: Abbrev Number: 5 (DW_TAG_member) + <2a9> DW_AT_name : (indirect string, offset: 0x2aa): fd + <2ad> DW_AT_type : <0x2d7> + <2b1> DW_AT_decl_file : 2 + <2b2> DW_AT_decl_line : 468 + <2b4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2b7>: Abbrev Number: 0 + <2><2b8>: Abbrev Number: 5 (DW_TAG_member) + <2b9> DW_AT_name : (indirect string, offset: 0x2b7): data_offset + <2bd> DW_AT_type : <0x14b> + <2c1> DW_AT_decl_file : 2 + <2c2> DW_AT_decl_line : 470 + <2c4> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><2c7>: Abbrev Number: 5 (DW_TAG_member) + <2c8> DW_AT_name : (indirect string, offset: 0x2c3): reserved + <2cc> DW_AT_type : <0x2e9> + <2d0> DW_AT_decl_file : 2 + <2d1> DW_AT_decl_line : 471 + <2d3> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><2d6>: Abbrev Number: 0 + <1><2d7>: Abbrev Number: 3 (DW_TAG_typedef) + <2d8> DW_AT_type : <0x2e2> + <2dc> DW_AT_name : (indirect string, offset: 0x2b1): __s32 + <2e0> DW_AT_decl_file : 1 + <2e1> DW_AT_decl_line : 27 + <1><2e2>: Abbrev Number: 7 (DW_TAG_base_type) + <2e3> DW_AT_name : (indirect string, offset: 0x2ad): int + <2e7> DW_AT_encoding : 5 (signed) + <2e8> DW_AT_byte_size : 4 + <1><2e9>: Abbrev Number: 10 (DW_TAG_array_type) + <2ea> DW_AT_type : <0x14b> + <2><2ee>: Abbrev Number: 11 (DW_TAG_subrange_type) + <2ef> DW_AT_type : <0x23c> + <2f3> DW_AT_lower_bound : 0 + <2f4> DW_AT_count : 11 + <2><2f5>: Abbrev Number: 0 + <1><2f6>: Abbrev Number: 0 diff --git a/mpers-m32/struct_v4l2_buffer.d2 b/mpers-m32/struct_v4l2_buffer.d2 index a7985ebf..4509c921 100644 --- a/mpers-m32/struct_v4l2_buffer.d2 +++ b/mpers-m32/struct_v4l2_buffer.d2 @@ -1,371 +1,371 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x97): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x161): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x223): struct_v4l2_buffer +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x2ed): struct_v4l2_buffer DW_AT_decl_file : 5 DW_AT_decl_line : 41 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x217): v4l2_buffer +DW_AT_name : (indirect string, offset: 0x2e1): v4l2_buffer DW_AT_byte_size : 68 DW_AT_decl_file : 2 -DW_AT_decl_line : 466 -<2><44> +DW_AT_decl_line : 473 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa8): index -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x172): index +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 467 +DW_AT_decl_line : 474 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc1): type -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x18b): type +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 468 +DW_AT_decl_line : 475 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><62> +<2><63> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc6): bytesused -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x190): bytesused +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 469 +DW_AT_decl_line : 476 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><71> +<2><72> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd0): flags -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x19a): flags +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 470 +DW_AT_decl_line : 477 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><80> +<2><81> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd6): field -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x1a0): field +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 471 +DW_AT_decl_line : 478 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><8f> +<2><90> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdc): timestamp -DW_AT_type : <0x15c> +DW_AT_name : (indirect string, offset: 0x1a6): timestamp +DW_AT_type : <0x15d> DW_AT_decl_file : 2 -DW_AT_decl_line : 472 +DW_AT_decl_line : 479 DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) -<2><9e> +<2><9f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13b): timecode -DW_AT_type : <0x1a9> +DW_AT_name : (indirect string, offset: 0x205): timecode +DW_AT_type : <0x1aa> DW_AT_decl_file : 2 -DW_AT_decl_line : 473 +DW_AT_decl_line : 480 DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x194): sequence -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x25e): sequence +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 474 +DW_AT_decl_line : 481 DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x19d): memory -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x267): memory +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 475 +DW_AT_decl_line : 482 DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1a4): m -DW_AT_type : <0xda> +DW_AT_name : (indirect string, offset: 0x26e): m +DW_AT_type : <0xdb> DW_AT_decl_file : 2 -DW_AT_decl_line : 481 +DW_AT_decl_line : 488 DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) -<2> +<2> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 4 DW_AT_decl_file : 2 -DW_AT_decl_line : 476 -<3> +DW_AT_decl_line : 483 +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1a6): offset -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x270): offset +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 477 +DW_AT_decl_line : 484 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1ad): userptr -DW_AT_type : <0x242> +DW_AT_name : (indirect string, offset: 0x277): userptr +DW_AT_type : <0x243> DW_AT_decl_file : 2 -DW_AT_decl_line : 478 +DW_AT_decl_line : 485 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1c7): planes -DW_AT_type : <0x249> +DW_AT_name : (indirect string, offset: 0x291): planes +DW_AT_type : <0x24a> DW_AT_decl_file : 2 -DW_AT_decl_line : 479 +DW_AT_decl_line : 486 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><10c> +<3><10d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1e0): fd -DW_AT_type : <0x2d6> +DW_AT_name : (indirect string, offset: 0x2aa): fd +DW_AT_type : <0x2d7> DW_AT_decl_file : 2 -DW_AT_decl_line : 480 +DW_AT_decl_line : 487 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><11c> +<2><11d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1ce): length -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x298): length +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 482 +DW_AT_decl_line : 489 DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) -<2><12b> +<2><12c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x20d): reserved2 -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x2d7): reserved2 +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 483 +DW_AT_decl_line : 490 DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) -<2><13a> +<2><13b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f9): reserved -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x2c3): reserved +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 484 +DW_AT_decl_line : 491 DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) -<1><14a> +<1><14b> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x155> -DW_AT_name : (indirect string, offset: 0xbb): __u32 +DW_AT_type : <0x156> +DW_AT_name : (indirect string, offset: 0x185): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1><155> +<1><156> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xae): unsigned int +DW_AT_name : (indirect string, offset: 0x178): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><15c> +<1><15d> Abbrev Number: 8 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x133): timeval +DW_AT_name : (indirect string, offset: 0x1fd): timeval DW_AT_byte_size : 8 DW_AT_decl_file : 4 DW_AT_decl_line : 29 -<2><164> +<2><165> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe6): tv_sec -DW_AT_type : <0x181> +DW_AT_name : (indirect string, offset: 0x1b0): tv_sec +DW_AT_type : <0x182> 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> +<2><173> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x116): tv_usec -DW_AT_type : <0x19e> +DW_AT_name : (indirect string, offset: 0x1e0): tv_usec +DW_AT_type : <0x19f> 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> +<1><182> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x18c> -DW_AT_name : (indirect string, offset: 0x106): __kernel_time_t +DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x1d0): __kernel_time_t DW_AT_decl_file : 3 DW_AT_decl_line : 77 -<1><18c> +<1><18d> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x197> -DW_AT_name : (indirect string, offset: 0xf6): __kernel_long_t +DW_AT_type : <0x198> +DW_AT_name : (indirect string, offset: 0x1c0): __kernel_long_t DW_AT_decl_file : 3 DW_AT_decl_line : 23 -<1><197> +<1><198> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xed): long int +DW_AT_name : (indirect string, offset: 0x1b7): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><19e> +<1><19f> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x18c> -DW_AT_name : (indirect string, offset: 0x11e): __kernel_suseconds_t +DW_AT_type : <0x18d> +DW_AT_name : (indirect string, offset: 0x1e8): __kernel_suseconds_t DW_AT_decl_file : 3 DW_AT_decl_line : 43 -<1><1a9> +<1><1aa> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x186): v4l2_timecode +DW_AT_name : (indirect string, offset: 0x250): v4l2_timecode DW_AT_byte_size : 16 DW_AT_decl_file : 2 -DW_AT_decl_line : 416 -<2><1b2> +DW_AT_decl_line : 423 +<2><1b3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc1): type -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x18b): type +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 417 +DW_AT_decl_line : 424 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><1c1> +<2><1c2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd0): flags -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x19a): flags +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 418 +DW_AT_decl_line : 425 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><1d0> +<2><1d1> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x144): frames -DW_AT_type : <0x21c> +DW_AT_name : (indirect string, offset: 0x20e): frames +DW_AT_type : <0x21d> DW_AT_decl_file : 2 -DW_AT_decl_line : 419 +DW_AT_decl_line : 426 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><1df> +<2><1e0> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15e): seconds -DW_AT_type : <0x21c> +DW_AT_name : (indirect string, offset: 0x228): seconds +DW_AT_type : <0x21d> DW_AT_decl_file : 2 -DW_AT_decl_line : 420 +DW_AT_decl_line : 427 DW_AT_data_member_location: 2 byte block: 23 9 (DW_OP_plus_uconst: 9) -<2><1ee> +<2><1ef> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x166): minutes -DW_AT_type : <0x21c> +DW_AT_name : (indirect string, offset: 0x230): minutes +DW_AT_type : <0x21d> DW_AT_decl_file : 2 -DW_AT_decl_line : 421 +DW_AT_decl_line : 428 DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10) -<2><1fd> +<2><1fe> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x16e): hours -DW_AT_type : <0x21c> +DW_AT_name : (indirect string, offset: 0x238): hours +DW_AT_type : <0x21d> DW_AT_decl_file : 2 -DW_AT_decl_line : 422 +DW_AT_decl_line : 429 DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11) -<2><20c> +<2><20d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x174): userbits -DW_AT_type : <0x22e> +DW_AT_name : (indirect string, offset: 0x23e): userbits +DW_AT_type : <0x22f> DW_AT_decl_file : 2 -DW_AT_decl_line : 423 +DW_AT_decl_line : 430 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<1><21c> +<1><21d> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x227> -DW_AT_name : (indirect string, offset: 0x159): __u8 +DW_AT_type : <0x228> +DW_AT_name : (indirect string, offset: 0x223): __u8 DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1><227> +<1><228> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x14b): unsigned char +DW_AT_name : (indirect string, offset: 0x215): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><22e> +<1><22f> Abbrev Number: 10 (DW_TAG_array_type) -DW_AT_type : <0x21c> -<2><233> +DW_AT_type : <0x21d> +<2><234> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x23b> +DW_AT_type : <0x23c> DW_AT_lower_bound : 0 DW_AT_count : 4 -<1><23b> +<1><23c> Abbrev Number: 12 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x17d): sizetype +DW_AT_name : (indirect string, offset: 0x247): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><242> +<1><243> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1b5): long unsigned int +DW_AT_name : (indirect string, offset: 0x27f): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><249> +<1><24a> Abbrev Number: 13 (DW_TAG_pointer_type) -DW_AT_type : <0x24e> -<1><24e> +DW_AT_type : <0x24f> +<1><24f> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x202): v4l2_plane +DW_AT_name : (indirect string, offset: 0x2cc): v4l2_plane DW_AT_byte_size : 60 DW_AT_decl_file : 2 -DW_AT_decl_line : 455 -<2><257> +DW_AT_decl_line : 462 +<2><258> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc6): bytesused -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x190): bytesused +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 456 +DW_AT_decl_line : 463 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><266> +<2><267> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1ce): length -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x298): length +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 457 +DW_AT_decl_line : 464 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><275> +<2><276> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1a4): m -DW_AT_type : <0x284> +DW_AT_name : (indirect string, offset: 0x26e): m +DW_AT_type : <0x285> DW_AT_decl_file : 2 -DW_AT_decl_line : 462 +DW_AT_decl_line : 469 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><284> +<2><285> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 4 DW_AT_decl_file : 2 -DW_AT_decl_line : 458 -<3><289> +DW_AT_decl_line : 465 +<3><28a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d5): mem_offset -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x29f): mem_offset +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 459 +DW_AT_decl_line : 466 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><298> +<3><299> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1ad): userptr -DW_AT_type : <0x242> +DW_AT_name : (indirect string, offset: 0x277): userptr +DW_AT_type : <0x243> DW_AT_decl_file : 2 -DW_AT_decl_line : 460 +DW_AT_decl_line : 467 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><2a7> +<3><2a8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1e0): fd -DW_AT_type : <0x2d6> +DW_AT_name : (indirect string, offset: 0x2aa): fd +DW_AT_type : <0x2d7> DW_AT_decl_file : 2 -DW_AT_decl_line : 461 +DW_AT_decl_line : 468 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><2b7> +<2><2b8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1ed): data_offset -DW_AT_type : <0x14a> +DW_AT_name : (indirect string, offset: 0x2b7): data_offset +DW_AT_type : <0x14b> DW_AT_decl_file : 2 -DW_AT_decl_line : 463 +DW_AT_decl_line : 470 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><2c6> +<2><2c7> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f9): reserved -DW_AT_type : <0x2e8> +DW_AT_name : (indirect string, offset: 0x2c3): reserved +DW_AT_type : <0x2e9> DW_AT_decl_file : 2 -DW_AT_decl_line : 464 +DW_AT_decl_line : 471 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<1><2d6> +<1><2d7> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x2e1> -DW_AT_name : (indirect string, offset: 0x1e7): __s32 +DW_AT_type : <0x2e2> +DW_AT_name : (indirect string, offset: 0x2b1): __s32 DW_AT_decl_file : 1 DW_AT_decl_line : 27 -<1><2e1> +<1><2e2> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1e3): int +DW_AT_name : (indirect string, offset: 0x2ad): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><2e8> +<1><2e9> Abbrev Number: 10 (DW_TAG_array_type) -DW_AT_type : <0x14a> -<2><2ed> +DW_AT_type : <0x14b> +<2><2ee> Abbrev Number: 11 (DW_TAG_subrange_type) -DW_AT_type : <0x23b> +DW_AT_type : <0x23c> DW_AT_lower_bound : 0 DW_AT_count : 11 diff --git a/mpers-m32/struct_v4l2_clip.d1 b/mpers-m32/struct_v4l2_clip.d1 index 7d5b7252..b8eff5ac 100644 --- a/mpers-m32/struct_v4l2_clip.d1 +++ b/mpers-m32/struct_v4l2_clip.d1 @@ -1,95 +1,96 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0xca (32-bit) + Length: 0xcb (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_clip.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) - <2>: Abbrev Number: 0 - <1>: 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>: 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>: 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>: 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>: Abbrev Number: 9 (DW_TAG_pointer_type) - DW_AT_type : <0x3b> - <1>: Abbrev Number: 0 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x124): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 53 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1be): struct_v4l2_clip + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 42 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1b4): v4l2_clip + <41> DW_AT_byte_size : 20 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 550 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x170): c + <4a> DW_AT_type : <0x64> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 551 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x1af): next + <59> DW_AT_type : <0xc9> + <5d> DW_AT_decl_file : 2 + <5e> DW_AT_decl_line : 552 + <60> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><63>: Abbrev Number: 0 + <1><64>: Abbrev Number: 6 (DW_TAG_structure_type) + <65> DW_AT_name : (indirect string, offset: 0x1a5): v4l2_rect + <69> DW_AT_byte_size : 16 + <6a> DW_AT_decl_file : 2 + <6b> DW_AT_decl_line : 135 + <2><6c>: Abbrev Number: 7 (DW_TAG_member) + <6d> DW_AT_name : (indirect string, offset: 0x172): left + <71> DW_AT_type : <0xa5> + <75> DW_AT_decl_file : 2 + <76> DW_AT_decl_line : 136 + <77> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><7a>: Abbrev Number: 7 (DW_TAG_member) + <7b> DW_AT_name : (indirect string, offset: 0x181): top + <7f> DW_AT_type : <0xa5> + <83> DW_AT_decl_file : 2 + <84> DW_AT_decl_line : 137 + <85> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><88>: Abbrev Number: 7 (DW_TAG_member) + <89> DW_AT_name : (indirect string, offset: 0x185): width + <8d> DW_AT_type : <0xb7> + <91> DW_AT_decl_file : 2 + <92> DW_AT_decl_line : 138 + <93> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><96>: Abbrev Number: 7 (DW_TAG_member) + <97> DW_AT_name : (indirect string, offset: 0x19e): height + <9b> DW_AT_type : <0xb7> + <9f> 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) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xb0> + DW_AT_name : (indirect string, offset: 0x17b): __s32 + DW_AT_decl_file : 1 + DW_AT_decl_line : 27 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x177): int + DW_AT_encoding : 5 (signed) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xc2> + DW_AT_name : (indirect string, offset: 0x198): __u32 + DW_AT_decl_file : 1 + DW_AT_decl_line : 28 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x18b): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 9 (DW_TAG_pointer_type) + DW_AT_type : <0x3c> + <1>: Abbrev Number: 0 diff --git a/mpers-m32/struct_v4l2_clip.d2 b/mpers-m32/struct_v4l2_clip.d2 index 2274f93d..1b5c8fc3 100644 --- a/mpers-m32/struct_v4l2_clip.d2 +++ b/mpers-m32/struct_v4l2_clip.d2 @@ -1,93 +1,93 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x95): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x15f): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xf4): struct_v4l2_clip +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1be): struct_v4l2_clip DW_AT_decl_file : 3 DW_AT_decl_line : 42 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xea): v4l2_clip +DW_AT_name : (indirect string, offset: 0x1b4): v4l2_clip DW_AT_byte_size : 20 DW_AT_decl_file : 2 -DW_AT_decl_line : 543 -<2><44> +DW_AT_decl_line : 550 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa6): c -DW_AT_type : <0x63> +DW_AT_name : (indirect string, offset: 0x170): c +DW_AT_type : <0x64> DW_AT_decl_file : 2 -DW_AT_decl_line : 544 +DW_AT_decl_line : 551 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe5): next -DW_AT_type : <0xc8> +DW_AT_name : (indirect string, offset: 0x1af): next +DW_AT_type : <0xc9> DW_AT_decl_file : 2 -DW_AT_decl_line : 545 +DW_AT_decl_line : 552 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<1><63> +<1><64> Abbrev Number: 6 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xdb): v4l2_rect +DW_AT_name : (indirect string, offset: 0x1a5): v4l2_rect DW_AT_byte_size : 16 DW_AT_decl_file : 2 DW_AT_decl_line : 135 -<2><6b> +<2><6c> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa8): left -DW_AT_type : <0xa4> +DW_AT_name : (indirect string, offset: 0x172): left +DW_AT_type : <0xa5> 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> +<2><7a> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb7): top -DW_AT_type : <0xa4> +DW_AT_name : (indirect string, offset: 0x181): top +DW_AT_type : <0xa5> 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> +<2><88> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xbb): width -DW_AT_type : <0xb6> +DW_AT_name : (indirect string, offset: 0x185): width +DW_AT_type : <0xb7> 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> +<2><96> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd4): height -DW_AT_type : <0xb6> +DW_AT_name : (indirect string, offset: 0x19e): height +DW_AT_type : <0xb7> 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> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xaf> -DW_AT_name : (indirect string, offset: 0xb1): __s32 +DW_AT_type : <0xb0> +DW_AT_name : (indirect string, offset: 0x17b): __s32 DW_AT_decl_file : 1 DW_AT_decl_line : 27 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xad): int +DW_AT_name : (indirect string, offset: 0x177): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xc1> -DW_AT_name : (indirect string, offset: 0xce): __u32 +DW_AT_type : <0xc2> +DW_AT_name : (indirect string, offset: 0x198): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc1): unsigned int +DW_AT_name : (indirect string, offset: 0x18b): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 9 (DW_TAG_pointer_type) -DW_AT_type : <0x3b> +DW_AT_type : <0x3c> diff --git a/mpers-m32/struct_v4l2_create_buffers.d1 b/mpers-m32/struct_v4l2_create_buffers.d1 index b9c1f971..339249fc 100644 --- a/mpers-m32/struct_v4l2_create_buffers.d1 +++ b/mpers-m32/struct_v4l2_create_buffers.d1 @@ -1,678 +1,679 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x5f1 (32-bit) + Length: 0x5f2 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_create_buffers.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - DW_AT_encoding : 7 (unsigned) - DW_AT_byte_size : 4 - <1>: 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>: 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>: 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>: Abbrev Number: 7 (DW_TAG_union_type) - DW_AT_byte_size : 200 - DW_AT_decl_file : 2 - DW_AT_decl_line : 1143 - <3>: 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>: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x12e): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x169): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 53 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x421): struct_v4l2_create_buffers + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 44 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x40d): v4l2_create_buffers + <41> DW_AT_byte_size : 248 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 1260 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x17a): index + <4a> DW_AT_type : <0x92> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 1261 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x193): count + <59> DW_AT_type : <0x92> + <5d> DW_AT_decl_file : 2 + <5e> DW_AT_decl_line : 1262 + <60> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><63>: Abbrev Number: 5 (DW_TAG_member) + <64> DW_AT_name : (indirect string, offset: 0x199): memory + <68> DW_AT_type : <0x92> + <6c> DW_AT_decl_file : 2 + <6d> DW_AT_decl_line : 1263 + <6f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><72>: Abbrev Number: 5 (DW_TAG_member) + <73> DW_AT_name : (indirect string, offset: 0x1a0): format + <77> DW_AT_type : <0xa4> + <7b> DW_AT_decl_file : 2 + <7c> DW_AT_decl_line : 1264 + <7e> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><81>: Abbrev Number: 5 (DW_TAG_member) + <82> DW_AT_name : (indirect string, offset: 0x24a): reserved + <86> DW_AT_type : <0x5e8> + <8a> DW_AT_decl_file : 2 + <8b> DW_AT_decl_line : 1265 + <8d> DW_AT_data_member_location: 3 byte block: 23 d8 1 (DW_OP_plus_uconst: 216) + <2><91>: Abbrev Number: 0 + <1><92>: Abbrev Number: 3 (DW_TAG_typedef) + <93> DW_AT_type : <0x9d> + <97> DW_AT_name : (indirect string, offset: 0x18d): __u32 + <9b> DW_AT_decl_file : 1 + <9c> DW_AT_decl_line : 28 + <1><9d>: Abbrev Number: 6 (DW_TAG_base_type) + <9e> DW_AT_name : (indirect string, offset: 0x180): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 4 (DW_TAG_structure_type) + DW_AT_name : (indirect string, offset: 0x401): v4l2_format + DW_AT_byte_size : 204 + DW_AT_decl_file : 2 + DW_AT_decl_line : 1148 + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1a7): type + DW_AT_type : <0x92> + 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) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ac): fmt + DW_AT_type : <0xcb> + DW_AT_decl_file : 2 + DW_AT_decl_line : 1159 + DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2>: Abbrev Number: 7 (DW_TAG_union_type) + DW_AT_byte_size : 200 + DW_AT_decl_file : 2 + DW_AT_decl_line : 1150 + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1b0): pix + DW_AT_type : <0x14a> + 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) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x239): pix_mp + DW_AT_type : <0x218> + DW_AT_decl_file : 2 + DW_AT_decl_line : 1152 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x2bc): win + DW_AT_type : <0x385> + DW_AT_decl_file : 2 + DW_AT_decl_line : 1153 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x32a): vbi + <102> DW_AT_type : <0x479> + <106> DW_AT_decl_file : 2 + <107> DW_AT_decl_line : 1154 + <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: 0x378): sliced + <111> DW_AT_type : <0x515> + <115> DW_AT_decl_file : 2 + <116> DW_AT_decl_line : 1155 + <118> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><11b>: Abbrev Number: 5 (DW_TAG_member) + <11c> DW_AT_name : (indirect string, offset: 0x3b8): sdr + <120> DW_AT_type : <0x56f> + <124> DW_AT_decl_file : 2 + <125> DW_AT_decl_line : 1156 + <127> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><12a>: Abbrev Number: 5 (DW_TAG_member) + <12b> DW_AT_name : (indirect string, offset: 0x3d7): meta + <12f> DW_AT_type : <0x5b3> + <133> DW_AT_decl_file : 2 + <134> DW_AT_decl_line : 1157 + <136> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><139>: Abbrev Number: 5 (DW_TAG_member) + <13a> DW_AT_name : (indirect string, offset: 0x3f8): raw_data + <13e> DW_AT_type : <0x5db> + <142> DW_AT_decl_file : 2 + <143> DW_AT_decl_line : 1158 + <145> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><148>: Abbrev Number: 0 + <2><149>: Abbrev Number: 0 + <1><14a>: Abbrev Number: 8 (DW_TAG_structure_type) + <14b> DW_AT_name : (indirect string, offset: 0x229): v4l2_pix_format + <14f> DW_AT_byte_size : 48 + <150> DW_AT_decl_file : 2 + <151> DW_AT_decl_line : 182 + <2><152>: Abbrev Number: 9 (DW_TAG_member) + <153> DW_AT_name : (indirect string, offset: 0x1b4): width + <157> DW_AT_type : <0x92> + <15b> DW_AT_decl_file : 2 + <15c> DW_AT_decl_line : 183 + <15d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><160>: Abbrev Number: 9 (DW_TAG_member) + <161> DW_AT_name : (indirect string, offset: 0x1ba): height + <165> DW_AT_type : <0x92> + <169> DW_AT_decl_file : 2 + <16a> DW_AT_decl_line : 184 + <16b> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><16e>: Abbrev Number: 9 (DW_TAG_member) + <16f> DW_AT_name : (indirect string, offset: 0x1c1): pixelformat + <173> DW_AT_type : <0x92> + <177> DW_AT_decl_file : 2 + <178> DW_AT_decl_line : 185 + <179> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><17c>: Abbrev Number: 9 (DW_TAG_member) + <17d> DW_AT_name : (indirect string, offset: 0x1cd): field + <181> DW_AT_type : <0x92> + <185> DW_AT_decl_file : 2 + <186> DW_AT_decl_line : 186 + <187> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><18a>: Abbrev Number: 9 (DW_TAG_member) + <18b> DW_AT_name : (indirect string, offset: 0x1d3): bytesperline + <18f> DW_AT_type : <0x92> + <193> DW_AT_decl_file : 2 + <194> DW_AT_decl_line : 187 + <195> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><198>: Abbrev Number: 9 (DW_TAG_member) + <199> DW_AT_name : (indirect string, offset: 0x1e0): sizeimage + <19d> DW_AT_type : <0x92> + <1a1> DW_AT_decl_file : 2 + <1a2> DW_AT_decl_line : 188 + <1a3> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><1a6>: Abbrev Number: 9 (DW_TAG_member) + <1a7> DW_AT_name : (indirect string, offset: 0x1ea): colorspace + <1ab> DW_AT_type : <0x92> + <1af> DW_AT_decl_file : 2 + <1b0> DW_AT_decl_line : 189 + <1b1> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><1b4>: Abbrev Number: 9 (DW_TAG_member) + <1b5> DW_AT_name : (indirect string, offset: 0x1f5): priv + <1b9> DW_AT_type : <0x92> + <1bd> DW_AT_decl_file : 2 + <1be> DW_AT_decl_line : 190 + <1bf> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2><1c2>: Abbrev Number: 9 (DW_TAG_member) + <1c3> DW_AT_name : (indirect string, offset: 0x1fa): flags + <1c7> DW_AT_type : <0x92> + <1cb> DW_AT_decl_file : 2 + <1cc> DW_AT_decl_line : 191 + <1cd> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><1d0>: Abbrev Number: 10 (DW_TAG_member) + <1d1> DW_AT_type : <0x1da> + <1d5> DW_AT_decl_file : 2 + <1d6> DW_AT_decl_line : 192 + <1d7> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><1da>: Abbrev Number: 11 (DW_TAG_union_type) + <1db> DW_AT_byte_size : 4 + <1dc> DW_AT_decl_file : 2 + <1dd> DW_AT_decl_line : 192 + <3><1de>: Abbrev Number: 9 (DW_TAG_member) + <1df> DW_AT_name : (indirect string, offset: 0x200): ycbcr_enc + <1e3> DW_AT_type : <0x92> + <1e7> DW_AT_decl_file : 2 + <1e8> DW_AT_decl_line : 193 + <1e9> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><1ec>: Abbrev Number: 9 (DW_TAG_member) + <1ed> DW_AT_name : (indirect string, offset: 0x20a): hsv_enc + <1f1> DW_AT_type : <0x92> + <1f5> DW_AT_decl_file : 2 + <1f6> DW_AT_decl_line : 194 + <1f7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><1fa>: Abbrev Number: 0 + <2><1fb>: Abbrev Number: 9 (DW_TAG_member) + <1fc> DW_AT_name : (indirect string, offset: 0x212): quantization + <200> DW_AT_type : <0x92> + <204> DW_AT_decl_file : 2 + <205> DW_AT_decl_line : 196 + <206> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) + <2><209>: Abbrev Number: 9 (DW_TAG_member) + <20a> DW_AT_name : (indirect string, offset: 0x21f): xfer_func + <20e> DW_AT_type : <0x92> + <212> DW_AT_decl_file : 2 + <213> DW_AT_decl_line : 197 + <214> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) + <2><217>: Abbrev Number: 0 + <1><218>: Abbrev Number: 4 (DW_TAG_structure_type) + <219> DW_AT_name : (indirect string, offset: 0x2a5): v4l2_pix_format_mplane + <21d> DW_AT_byte_size : 192 + <21e> DW_AT_decl_file : 2 + <21f> DW_AT_decl_line : 1122 + <2><221>: Abbrev Number: 5 (DW_TAG_member) + <222> DW_AT_name : (indirect string, offset: 0x1b4): width + <226> DW_AT_type : <0x92> + <22a> DW_AT_decl_file : 2 + <22b> DW_AT_decl_line : 1123 + <22d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><230>: Abbrev Number: 5 (DW_TAG_member) + <231> DW_AT_name : (indirect string, offset: 0x1ba): height + <235> DW_AT_type : <0x92> + <239> DW_AT_decl_file : 2 + <23a> DW_AT_decl_line : 1124 + <23c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><23f>: Abbrev Number: 5 (DW_TAG_member) + <240> DW_AT_name : (indirect string, offset: 0x1c1): pixelformat + <244> DW_AT_type : <0x92> + <248> DW_AT_decl_file : 2 + <249> DW_AT_decl_line : 1125 + <24b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><24e>: Abbrev Number: 5 (DW_TAG_member) + <24f> DW_AT_name : (indirect string, offset: 0x1cd): field + <253> DW_AT_type : <0x92> + <257> DW_AT_decl_file : 2 + <258> DW_AT_decl_line : 1126 + <25a> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><25d>: Abbrev Number: 5 (DW_TAG_member) + <25e> DW_AT_name : (indirect string, offset: 0x1ea): colorspace + <262> DW_AT_type : <0x92> + <266> DW_AT_decl_file : 2 + <267> DW_AT_decl_line : 1127 + <269> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><26c>: Abbrev Number: 5 (DW_TAG_member) + <26d> DW_AT_name : (indirect string, offset: 0x240): plane_fmt + <271> DW_AT_type : <0x2fc> + <275> DW_AT_decl_file : 2 + <276> DW_AT_decl_line : 1128 + <278> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><27b>: Abbrev Number: 5 (DW_TAG_member) + <27c> DW_AT_name : (indirect string, offset: 0x287): num_planes + <280> DW_AT_type : <0x366> + <284> DW_AT_decl_file : 2 + <285> DW_AT_decl_line : 1129 + <287> DW_AT_data_member_location: 3 byte block: 23 b4 1 (DW_OP_plus_uconst: 180) + <2><28b>: Abbrev Number: 5 (DW_TAG_member) + <28c> DW_AT_name : (indirect string, offset: 0x1fa): flags + <290> DW_AT_type : <0x366> + <294> DW_AT_decl_file : 2 + <295> DW_AT_decl_line : 1130 + <297> DW_AT_data_member_location: 3 byte block: 23 b5 1 (DW_OP_plus_uconst: 181) + <2><29b>: Abbrev Number: 12 (DW_TAG_member) + <29c> DW_AT_type : <0x2a7> + <2a0> DW_AT_decl_file : 2 + <2a1> DW_AT_decl_line : 1131 + <2a3> DW_AT_data_member_location: 3 byte block: 23 b6 1 (DW_OP_plus_uconst: 182) + <2><2a7>: Abbrev Number: 7 (DW_TAG_union_type) + <2a8> DW_AT_byte_size : 1 + <2a9> DW_AT_decl_file : 2 + <2aa> DW_AT_decl_line : 1131 + <3><2ac>: Abbrev Number: 5 (DW_TAG_member) + <2ad> DW_AT_name : (indirect string, offset: 0x200): ycbcr_enc + <2b1> DW_AT_type : <0x366> + <2b5> DW_AT_decl_file : 2 + <2b6> DW_AT_decl_line : 1132 + <2b8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2bb>: Abbrev Number: 5 (DW_TAG_member) + <2bc> DW_AT_name : (indirect string, offset: 0x20a): hsv_enc + <2c0> DW_AT_type : <0x366> + <2c4> DW_AT_decl_file : 2 + <2c5> DW_AT_decl_line : 1133 + <2c7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><2ca>: Abbrev Number: 0 + <2><2cb>: Abbrev Number: 5 (DW_TAG_member) + <2cc> DW_AT_name : (indirect string, offset: 0x212): quantization + <2d0> DW_AT_type : <0x366> + <2d4> DW_AT_decl_file : 2 + <2d5> DW_AT_decl_line : 1135 + <2d7> DW_AT_data_member_location: 3 byte block: 23 b7 1 (DW_OP_plus_uconst: 183) + <2><2db>: Abbrev Number: 5 (DW_TAG_member) + <2dc> DW_AT_name : (indirect string, offset: 0x21f): xfer_func + <2e0> DW_AT_type : <0x366> + <2e4> DW_AT_decl_file : 2 + <2e5> DW_AT_decl_line : 1136 + <2e7> DW_AT_data_member_location: 3 byte block: 23 b8 1 (DW_OP_plus_uconst: 184) + <2><2eb>: Abbrev Number: 5 (DW_TAG_member) + <2ec> DW_AT_name : (indirect string, offset: 0x24a): reserved + <2f0> DW_AT_type : <0x378> + <2f4> DW_AT_decl_file : 2 + <2f5> DW_AT_decl_line : 1137 + <2f7> DW_AT_data_member_location: 3 byte block: 23 b9 1 (DW_OP_plus_uconst: 185) + <2><2fb>: Abbrev Number: 0 + <1><2fc>: Abbrev Number: 13 (DW_TAG_array_type) + <2fd> DW_AT_type : <0x309> + <2><301>: Abbrev Number: 14 (DW_TAG_subrange_type) + <302> DW_AT_type : <0x35f> + <306> DW_AT_lower_bound : 0 + <307> DW_AT_count : 8 + <2><308>: Abbrev Number: 0 + <1><309>: Abbrev Number: 4 (DW_TAG_structure_type) + <30a> DW_AT_name : (indirect string, offset: 0x271): v4l2_plane_pix_format + <30e> DW_AT_byte_size : 20 + <30f> DW_AT_decl_file : 2 + <310> DW_AT_decl_line : 1117 + <2><312>: Abbrev Number: 5 (DW_TAG_member) + <313> DW_AT_name : (indirect string, offset: 0x1e0): sizeimage + <317> DW_AT_type : <0x92> + <31b> DW_AT_decl_file : 2 + <31c> DW_AT_decl_line : 1118 + <31e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><321>: Abbrev Number: 5 (DW_TAG_member) + <322> DW_AT_name : (indirect string, offset: 0x1d3): bytesperline + <326> DW_AT_type : <0x92> + <32a> DW_AT_decl_file : 2 + <32b> DW_AT_decl_line : 1119 + <32d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><330>: Abbrev Number: 5 (DW_TAG_member) + <331> DW_AT_name : (indirect string, offset: 0x24a): reserved + <335> DW_AT_type : <0x340> + <339> DW_AT_decl_file : 2 + <33a> DW_AT_decl_line : 1120 + <33c> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><33f>: Abbrev Number: 0 + <1><340>: Abbrev Number: 13 (DW_TAG_array_type) + <341> DW_AT_type : <0x34d> + <2><345>: Abbrev Number: 14 (DW_TAG_subrange_type) + <346> DW_AT_type : <0x35f> + <34a> DW_AT_lower_bound : 0 + <34b> DW_AT_count : 6 + <2><34c>: Abbrev Number: 0 + <1><34d>: Abbrev Number: 3 (DW_TAG_typedef) + <34e> DW_AT_type : <0x358> + <352> DW_AT_name : (indirect string, offset: 0x262): __u16 + <356> DW_AT_decl_file : 1 + <357> DW_AT_decl_line : 26 + <1><358>: Abbrev Number: 6 (DW_TAG_base_type) + <359> DW_AT_name : (indirect string, offset: 0x253): unsigned short + <35d> DW_AT_encoding : 7 (unsigned) + <35e> DW_AT_byte_size : 2 + <1><35f>: Abbrev Number: 15 (DW_TAG_base_type) + <360> DW_AT_name : (indirect string, offset: 0x268): sizetype + <364> DW_AT_byte_size : 8 + <365> DW_AT_encoding : 7 (unsigned) + <1><366>: Abbrev Number: 3 (DW_TAG_typedef) + <367> DW_AT_type : <0x371> + <36b> DW_AT_name : (indirect string, offset: 0x2a0): __u8 + <36f> DW_AT_decl_file : 1 + <370> DW_AT_decl_line : 24 + <1><371>: Abbrev Number: 6 (DW_TAG_base_type) + <372> DW_AT_name : (indirect string, offset: 0x292): unsigned char + <376> DW_AT_encoding : 8 (unsigned char) + <377> DW_AT_byte_size : 1 + <1><378>: Abbrev Number: 13 (DW_TAG_array_type) + <379> DW_AT_type : <0x366> + <2><37d>: Abbrev Number: 14 (DW_TAG_subrange_type) + <37e> DW_AT_type : <0x35f> + <382> DW_AT_lower_bound : 0 + <383> DW_AT_count : 7 + <2><384>: Abbrev Number: 0 + <1><385>: Abbrev Number: 4 (DW_TAG_structure_type) + <386> DW_AT_name : (indirect string, offset: 0x31e): v4l2_window + <38a> DW_AT_byte_size : 40 + <38b> DW_AT_decl_file : 2 + <38c> DW_AT_decl_line : 554 + <2><38e>: Abbrev Number: 5 (DW_TAG_member) + <38f> DW_AT_name : (indirect string, offset: 0x2c0): w + <393> DW_AT_type : <0x3f8> + <397> DW_AT_decl_file : 2 + <398> DW_AT_decl_line : 555 + <39a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><39d>: Abbrev Number: 5 (DW_TAG_member) + <39e> DW_AT_name : (indirect string, offset: 0x1cd): field + <3a2> DW_AT_type : <0x92> + <3a6> DW_AT_decl_file : 2 + <3a7> DW_AT_decl_line : 556 + <3a9> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><3ac>: Abbrev Number: 5 (DW_TAG_member) + <3ad> DW_AT_name : (indirect string, offset: 0x2df): chromakey + <3b1> DW_AT_type : <0x92> + <3b5> DW_AT_decl_file : 2 + <3b6> DW_AT_decl_line : 557 + <3b8> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><3bb>: Abbrev Number: 5 (DW_TAG_member) + <3bc> DW_AT_name : (indirect string, offset: 0x2e9): clips + <3c0> DW_AT_type : <0x44b> + <3c4> DW_AT_decl_file : 2 + <3c5> DW_AT_decl_line : 558 + <3c7> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><3ca>: Abbrev Number: 5 (DW_TAG_member) + <3cb> DW_AT_name : (indirect string, offset: 0x300): clipcount + <3cf> DW_AT_type : <0x92> + <3d3> DW_AT_decl_file : 2 + <3d4> DW_AT_decl_line : 559 + <3d6> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2><3d9>: Abbrev Number: 5 (DW_TAG_member) + <3da> DW_AT_name : (indirect string, offset: 0x30a): bitmap + <3de> DW_AT_type : <0x478> + <3e2> DW_AT_decl_file : 2 + <3e3> DW_AT_decl_line : 560 + <3e5> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><3e8>: Abbrev Number: 5 (DW_TAG_member) + <3e9> DW_AT_name : (indirect string, offset: 0x311): global_alpha + <3ed> DW_AT_type : <0x366> + <3f1> DW_AT_decl_file : 2 + <3f2> DW_AT_decl_line : 561 + <3f4> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><3f7>: Abbrev Number: 0 + <1><3f8>: Abbrev Number: 8 (DW_TAG_structure_type) + <3f9> DW_AT_name : (indirect string, offset: 0x2d5): v4l2_rect + <3fd> DW_AT_byte_size : 16 + <3fe> DW_AT_decl_file : 2 + <3ff> DW_AT_decl_line : 135 + <2><400>: Abbrev Number: 9 (DW_TAG_member) + <401> DW_AT_name : (indirect string, offset: 0x2c2): left + <405> DW_AT_type : <0x439> + <409> DW_AT_decl_file : 2 + <40a> DW_AT_decl_line : 136 + <40b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><40e>: Abbrev Number: 9 (DW_TAG_member) + <40f> DW_AT_name : (indirect string, offset: 0x2d1): top + <413> DW_AT_type : <0x439> + <417> DW_AT_decl_file : 2 + <418> DW_AT_decl_line : 137 + <419> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><41c>: Abbrev Number: 9 (DW_TAG_member) + <41d> DW_AT_name : (indirect string, offset: 0x1b4): width + <421> DW_AT_type : <0x92> + <425> DW_AT_decl_file : 2 + <426> DW_AT_decl_line : 138 + <427> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><42a>: Abbrev Number: 9 (DW_TAG_member) + <42b> DW_AT_name : (indirect string, offset: 0x1ba): height + <42f> DW_AT_type : <0x92> + <433> DW_AT_decl_file : 2 + <434> DW_AT_decl_line : 139 + <435> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><438>: Abbrev Number: 0 + <1><439>: Abbrev Number: 3 (DW_TAG_typedef) + <43a> DW_AT_type : <0x444> + <43e> DW_AT_name : (indirect string, offset: 0x2cb): __s32 + <442> DW_AT_decl_file : 1 + <443> DW_AT_decl_line : 27 + <1><444>: Abbrev Number: 6 (DW_TAG_base_type) + <445> DW_AT_name : (indirect string, offset: 0x2c7): int + <449> DW_AT_encoding : 5 (signed) + <44a> DW_AT_byte_size : 4 + <1><44b>: Abbrev Number: 16 (DW_TAG_pointer_type) + <44c> DW_AT_type : <0x450> + <1><450>: Abbrev Number: 4 (DW_TAG_structure_type) + <451> DW_AT_name : (indirect string, offset: 0x2f6): v4l2_clip + <455> DW_AT_byte_size : 20 + <456> DW_AT_decl_file : 2 + <457> DW_AT_decl_line : 550 + <2><459>: Abbrev Number: 5 (DW_TAG_member) + <45a> DW_AT_name : (indirect string, offset: 0x2ef): c + <45e> DW_AT_type : <0x3f8> + <462> DW_AT_decl_file : 2 + <463> DW_AT_decl_line : 551 + <465> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><468>: Abbrev Number: 5 (DW_TAG_member) + <469> DW_AT_name : (indirect string, offset: 0x2f1): next + <46d> DW_AT_type : <0x44b> + <471> DW_AT_decl_file : 2 + <472> DW_AT_decl_line : 552 + <474> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><477>: Abbrev Number: 0 + <1><478>: Abbrev Number: 17 (DW_TAG_pointer_type) + <1><479>: Abbrev Number: 4 (DW_TAG_structure_type) + <47a> DW_AT_name : (indirect string, offset: 0x368): v4l2_vbi_format + <47e> DW_AT_byte_size : 44 + <47f> DW_AT_decl_file : 2 + <480> DW_AT_decl_line : 1052 + <2><482>: Abbrev Number: 5 (DW_TAG_member) + <483> DW_AT_name : (indirect string, offset: 0x32e): sampling_rate + <487> DW_AT_type : <0x92> + <48b> DW_AT_decl_file : 2 + <48c> DW_AT_decl_line : 1053 + <48e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><491>: Abbrev Number: 5 (DW_TAG_member) + <492> DW_AT_name : (indirect string, offset: 0x33c): offset + <496> DW_AT_type : <0x92> + <49a> DW_AT_decl_file : 2 + <49b> DW_AT_decl_line : 1054 + <49d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><4a0>: Abbrev Number: 5 (DW_TAG_member) + <4a1> DW_AT_name : (indirect string, offset: 0x343): samples_per_line + <4a5> DW_AT_type : <0x92> + <4a9> DW_AT_decl_file : 2 + <4aa> DW_AT_decl_line : 1055 + <4ac> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><4af>: Abbrev Number: 5 (DW_TAG_member) + <4b0> DW_AT_name : (indirect string, offset: 0x354): sample_format + <4b4> DW_AT_type : <0x92> + <4b8> DW_AT_decl_file : 2 + <4b9> DW_AT_decl_line : 1056 + <4bb> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><4be>: Abbrev Number: 5 (DW_TAG_member) + <4bf> DW_AT_name : (indirect string, offset: 0x362): start + <4c3> DW_AT_type : <0x4fb> + <4c7> DW_AT_decl_file : 2 + <4c8> DW_AT_decl_line : 1057 + <4ca> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><4cd>: Abbrev Number: 5 (DW_TAG_member) + <4ce> DW_AT_name : (indirect string, offset: 0x193): count + <4d2> DW_AT_type : <0x508> + <4d6> DW_AT_decl_file : 2 + <4d7> DW_AT_decl_line : 1058 + <4d9> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><4dc>: Abbrev Number: 5 (DW_TAG_member) + <4dd> DW_AT_name : (indirect string, offset: 0x1fa): flags + <4e1> DW_AT_type : <0x92> + <4e5> DW_AT_decl_file : 2 + <4e6> DW_AT_decl_line : 1059 + <4e8> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><4eb>: Abbrev Number: 5 (DW_TAG_member) + <4ec> DW_AT_name : (indirect string, offset: 0x24a): reserved + <4f0> DW_AT_type : <0x508> + <4f4> DW_AT_decl_file : 2 + <4f5> DW_AT_decl_line : 1060 + <4f7> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><4fa>: Abbrev Number: 0 + <1><4fb>: Abbrev Number: 13 (DW_TAG_array_type) + <4fc> DW_AT_type : <0x439> + <2><500>: Abbrev Number: 14 (DW_TAG_subrange_type) + <501> DW_AT_type : <0x35f> + <505> DW_AT_lower_bound : 0 + <506> DW_AT_count : 2 + <2><507>: Abbrev Number: 0 + <1><508>: Abbrev Number: 13 (DW_TAG_array_type) + <509> DW_AT_type : <0x92> + <2><50d>: Abbrev Number: 14 (DW_TAG_subrange_type) + <50e> DW_AT_type : <0x35f> + <512> DW_AT_lower_bound : 0 + <513> DW_AT_count : 2 + <2><514>: Abbrev Number: 0 + <1><515>: Abbrev Number: 4 (DW_TAG_structure_type) + <516> DW_AT_name : (indirect string, offset: 0x3a1): v4l2_sliced_vbi_format + <51a> DW_AT_byte_size : 112 + <51b> DW_AT_decl_file : 2 + <51c> DW_AT_decl_line : 1068 + <2><51e>: Abbrev Number: 5 (DW_TAG_member) + <51f> DW_AT_name : (indirect string, offset: 0x37f): service_set + <523> DW_AT_type : <0x34d> + <527> DW_AT_decl_file : 2 + <528> DW_AT_decl_line : 1069 + <52a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><52d>: Abbrev Number: 5 (DW_TAG_member) + <52e> DW_AT_name : (indirect string, offset: 0x38b): service_lines + <532> DW_AT_type : <0x55b> + <536> DW_AT_decl_file : 2 + <537> DW_AT_decl_line : 1070 + <539> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><53c>: Abbrev Number: 5 (DW_TAG_member) + <53d> DW_AT_name : (indirect string, offset: 0x399): io_size + <541> DW_AT_type : <0x92> + <545> DW_AT_decl_file : 2 + <546> DW_AT_decl_line : 1071 + <548> DW_AT_data_member_location: 2 byte block: 23 64 (DW_OP_plus_uconst: 100) + <2><54b>: Abbrev Number: 5 (DW_TAG_member) + <54c> DW_AT_name : (indirect string, offset: 0x24a): reserved + <550> DW_AT_type : <0x508> + <554> DW_AT_decl_file : 2 + <555> DW_AT_decl_line : 1072 + <557> DW_AT_data_member_location: 2 byte block: 23 68 (DW_OP_plus_uconst: 104) + <2><55a>: Abbrev Number: 0 + <1><55b>: Abbrev Number: 13 (DW_TAG_array_type) + <55c> DW_AT_type : <0x34d> + <2><560>: Abbrev Number: 14 (DW_TAG_subrange_type) + <561> DW_AT_type : <0x35f> + <565> DW_AT_lower_bound : 0 + <566> DW_AT_count : 2 + <2><567>: Abbrev Number: 14 (DW_TAG_subrange_type) + <568> DW_AT_type : <0x35f> + <56c> DW_AT_lower_bound : 0 + <56d> DW_AT_count : 24 + <2><56e>: Abbrev Number: 0 + <1><56f>: Abbrev Number: 4 (DW_TAG_structure_type) + <570> DW_AT_name : (indirect string, offset: 0x3c7): v4l2_sdr_format + <574> DW_AT_byte_size : 32 + <575> DW_AT_decl_file : 2 + <576> DW_AT_decl_line : 1139 + <2><578>: Abbrev Number: 5 (DW_TAG_member) + <579> DW_AT_name : (indirect string, offset: 0x1c1): pixelformat + <57d> DW_AT_type : <0x92> + <581> DW_AT_decl_file : 2 + <582> DW_AT_decl_line : 1140 + <584> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><587>: Abbrev Number: 5 (DW_TAG_member) + <588> DW_AT_name : (indirect string, offset: 0x3bc): buffersize + <58c> DW_AT_type : <0x92> + <590> DW_AT_decl_file : 2 + <591> DW_AT_decl_line : 1141 + <593> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><596>: Abbrev Number: 5 (DW_TAG_member) + <597> DW_AT_name : (indirect string, offset: 0x24a): reserved + <59b> DW_AT_type : <0x5a6> + <59f> DW_AT_decl_file : 2 + <5a0> DW_AT_decl_line : 1142 + <5a2> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><5a5>: Abbrev Number: 0 + <1><5a6>: Abbrev Number: 13 (DW_TAG_array_type) + <5a7> DW_AT_type : <0x366> + <2><5ab>: Abbrev Number: 14 (DW_TAG_subrange_type) + <5ac> DW_AT_type : <0x35f> + <5b0> DW_AT_lower_bound : 0 + <5b1> DW_AT_count : 24 + <2><5b2>: Abbrev Number: 0 + <1><5b3>: Abbrev Number: 4 (DW_TAG_structure_type) + <5b4> DW_AT_name : (indirect string, offset: 0x3e7): v4l2_meta_format + <5b8> DW_AT_byte_size : 8 + <5b9> DW_AT_decl_file : 2 + <5ba> DW_AT_decl_line : 1144 + <2><5bc>: Abbrev Number: 5 (DW_TAG_member) + <5bd> DW_AT_name : (indirect string, offset: 0x3dc): dataformat + <5c1> DW_AT_type : <0x92> + <5c5> DW_AT_decl_file : 2 + <5c6> DW_AT_decl_line : 1145 + <5c8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><5cb>: Abbrev Number: 5 (DW_TAG_member) + <5cc> DW_AT_name : (indirect string, offset: 0x3bc): buffersize + <5d0> DW_AT_type : <0x92> + <5d4> DW_AT_decl_file : 2 + <5d5> DW_AT_decl_line : 1146 + <5d7> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><5da>: Abbrev Number: 0 + <1><5db>: Abbrev Number: 13 (DW_TAG_array_type) + <5dc> DW_AT_type : <0x366> + <2><5e0>: Abbrev Number: 14 (DW_TAG_subrange_type) + <5e1> DW_AT_type : <0x35f> + <5e5> DW_AT_lower_bound : 0 + <5e6> DW_AT_count : 200 + <2><5e7>: Abbrev Number: 0 + <1><5e8>: Abbrev Number: 13 (DW_TAG_array_type) + <5e9> DW_AT_type : <0x92> + <2><5ed>: Abbrev Number: 14 (DW_TAG_subrange_type) + <5ee> DW_AT_type : <0x35f> + <5f2> DW_AT_lower_bound : 0 + <5f3> DW_AT_count : 8 + <2><5f4>: Abbrev Number: 0 + <1><5f5>: Abbrev Number: 0 diff --git a/mpers-m32/struct_v4l2_create_buffers.d2 b/mpers-m32/struct_v4l2_create_buffers.d2 index c71641dc..29d8b0a1 100644 --- a/mpers-m32/struct_v4l2_create_buffers.d2 +++ b/mpers-m32/struct_v4l2_create_buffers.d2 @@ -1,762 +1,762 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x9f): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x169): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x357): struct_v4l2_create_buffers +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x421): struct_v4l2_create_buffers DW_AT_decl_file : 3 DW_AT_decl_line : 44 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x343): v4l2_create_buffers +DW_AT_name : (indirect string, offset: 0x40d): v4l2_create_buffers DW_AT_byte_size : 248 DW_AT_decl_file : 2 -DW_AT_decl_line : 1253 -<2><44> +DW_AT_decl_line : 1260 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xb0): index -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x17a): index +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1254 +DW_AT_decl_line : 1261 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc9): count -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x193): count +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1255 +DW_AT_decl_line : 1262 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><62> +<2><63> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcf): memory -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x199): memory +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1256 +DW_AT_decl_line : 1263 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><71> +<2><72> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd6): format -DW_AT_type : <0xa3> +DW_AT_name : (indirect string, offset: 0x1a0): format +DW_AT_type : <0xa4> DW_AT_decl_file : 2 -DW_AT_decl_line : 1257 +DW_AT_decl_line : 1264 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><80> +<2><81> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x180): reserved -DW_AT_type : <0x5e7> +DW_AT_name : (indirect string, offset: 0x24a): reserved +DW_AT_type : <0x5e8> DW_AT_decl_file : 2 -DW_AT_decl_line : 1258 +DW_AT_decl_line : 1265 DW_AT_data_member_location: 3 byte block: 23 d8 1 (DW_OP_plus_uconst: 216) -<1><91> +<1><92> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x9c> -DW_AT_name : (indirect string, offset: 0xc3): __u32 +DW_AT_type : <0x9d> +DW_AT_name : (indirect string, offset: 0x18d): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1><9c> +<1><9d> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb6): unsigned int +DW_AT_name : (indirect string, offset: 0x180): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x337): v4l2_format +DW_AT_name : (indirect string, offset: 0x401): v4l2_format DW_AT_byte_size : 204 DW_AT_decl_file : 2 -DW_AT_decl_line : 1141 -<2> +DW_AT_decl_line : 1148 +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdd): type -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1a7): type +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1142 +DW_AT_decl_line : 1149 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe2): fmt -DW_AT_type : <0xca> +DW_AT_name : (indirect string, offset: 0x1ac): fmt +DW_AT_type : <0xcb> DW_AT_decl_file : 2 -DW_AT_decl_line : 1152 +DW_AT_decl_line : 1159 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2> +<2> Abbrev Number: 7 (DW_TAG_union_type) DW_AT_byte_size : 200 DW_AT_decl_file : 2 -DW_AT_decl_line : 1143 -<3> +DW_AT_decl_line : 1150 +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe6): pix -DW_AT_type : <0x149> +DW_AT_name : (indirect string, offset: 0x1b0): pix +DW_AT_type : <0x14a> DW_AT_decl_file : 2 -DW_AT_decl_line : 1144 +DW_AT_decl_line : 1151 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x16f): pix_mp -DW_AT_type : <0x217> +DW_AT_name : (indirect string, offset: 0x239): pix_mp +DW_AT_type : <0x218> DW_AT_decl_file : 2 -DW_AT_decl_line : 1145 +DW_AT_decl_line : 1152 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f2): win -DW_AT_type : <0x384> +DW_AT_name : (indirect string, offset: 0x2bc): win +DW_AT_type : <0x385> DW_AT_decl_file : 2 -DW_AT_decl_line : 1146 +DW_AT_decl_line : 1153 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x260): vbi -DW_AT_type : <0x478> +DW_AT_name : (indirect string, offset: 0x32a): vbi +DW_AT_type : <0x479> DW_AT_decl_file : 2 -DW_AT_decl_line : 1147 +DW_AT_decl_line : 1154 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><10b> +<3><10c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2ae): sliced -DW_AT_type : <0x514> +DW_AT_name : (indirect string, offset: 0x378): sliced +DW_AT_type : <0x515> DW_AT_decl_file : 2 -DW_AT_decl_line : 1148 +DW_AT_decl_line : 1155 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><11a> +<3><11b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2ee): sdr -DW_AT_type : <0x56e> +DW_AT_name : (indirect string, offset: 0x3b8): sdr +DW_AT_type : <0x56f> DW_AT_decl_file : 2 -DW_AT_decl_line : 1149 +DW_AT_decl_line : 1156 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><129> +<3><12a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x30d): meta -DW_AT_type : <0x5b2> +DW_AT_name : (indirect string, offset: 0x3d7): meta +DW_AT_type : <0x5b3> DW_AT_decl_file : 2 -DW_AT_decl_line : 1150 +DW_AT_decl_line : 1157 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><138> +<3><139> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x32e): raw_data -DW_AT_type : <0x5da> +DW_AT_name : (indirect string, offset: 0x3f8): raw_data +DW_AT_type : <0x5db> DW_AT_decl_file : 2 -DW_AT_decl_line : 1151 +DW_AT_decl_line : 1158 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<1><149> +<1><14a> Abbrev Number: 8 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x15f): v4l2_pix_format +DW_AT_name : (indirect string, offset: 0x229): v4l2_pix_format DW_AT_byte_size : 48 DW_AT_decl_file : 2 DW_AT_decl_line : 182 -<2><151> +<2><152> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xea): width -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1b4): width +DW_AT_type : <0x92> 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> +<2><160> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf0): height -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1ba): height +DW_AT_type : <0x92> 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> +<2><16e> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf7): pixelformat -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1c1): pixelformat +DW_AT_type : <0x92> 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> +<2><17c> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x103): field -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1cd): field +DW_AT_type : <0x92> 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> +<2><18a> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x109): bytesperline -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1d3): bytesperline +DW_AT_type : <0x92> 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> +<2><198> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x116): sizeimage -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1e0): sizeimage +DW_AT_type : <0x92> 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> +<2><1a6> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x120): colorspace -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1ea): colorspace +DW_AT_type : <0x92> 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> +<2><1b4> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12b): priv -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1f5): priv +DW_AT_type : <0x92> 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> +<2><1c2> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x130): flags -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1fa): flags +DW_AT_type : <0x92> 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> +<2><1d0> Abbrev Number: 10 (DW_TAG_member) -DW_AT_type : <0x1d9> +DW_AT_type : <0x1da> 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> +<2><1da> Abbrev Number: 11 (DW_TAG_union_type) DW_AT_byte_size : 4 DW_AT_decl_file : 2 DW_AT_decl_line : 192 -<3><1dd> +<3><1de> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x136): ycbcr_enc -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x200): ycbcr_enc +DW_AT_type : <0x92> 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> +<3><1ec> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x140): hsv_enc -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x20a): hsv_enc +DW_AT_type : <0x92> 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> +<2><1fb> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x148): quantization -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x212): quantization +DW_AT_type : <0x92> 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> +<2><209> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x155): xfer_func -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x21f): xfer_func +DW_AT_type : <0x92> 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> +<1><218> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1db): v4l2_pix_format_mplane +DW_AT_name : (indirect string, offset: 0x2a5): v4l2_pix_format_mplane DW_AT_byte_size : 192 DW_AT_decl_file : 2 -DW_AT_decl_line : 1115 -<2><220> +DW_AT_decl_line : 1122 +<2><221> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xea): width -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1b4): width +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1116 +DW_AT_decl_line : 1123 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><22f> +<2><230> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf0): height -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1ba): height +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1117 +DW_AT_decl_line : 1124 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><23e> +<2><23f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf7): pixelformat -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1c1): pixelformat +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1118 +DW_AT_decl_line : 1125 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><24d> +<2><24e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x103): field -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1cd): field +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1119 +DW_AT_decl_line : 1126 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><25c> +<2><25d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x120): colorspace -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1ea): colorspace +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1120 +DW_AT_decl_line : 1127 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><26b> +<2><26c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x176): plane_fmt -DW_AT_type : <0x2fb> +DW_AT_name : (indirect string, offset: 0x240): plane_fmt +DW_AT_type : <0x2fc> DW_AT_decl_file : 2 -DW_AT_decl_line : 1121 +DW_AT_decl_line : 1128 DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) -<2><27a> +<2><27b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1bd): num_planes -DW_AT_type : <0x365> +DW_AT_name : (indirect string, offset: 0x287): num_planes +DW_AT_type : <0x366> DW_AT_decl_file : 2 -DW_AT_decl_line : 1122 +DW_AT_decl_line : 1129 DW_AT_data_member_location: 3 byte block: 23 b4 1 (DW_OP_plus_uconst: 180) -<2><28a> +<2><28b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x130): flags -DW_AT_type : <0x365> +DW_AT_name : (indirect string, offset: 0x1fa): flags +DW_AT_type : <0x366> DW_AT_decl_file : 2 -DW_AT_decl_line : 1123 +DW_AT_decl_line : 1130 DW_AT_data_member_location: 3 byte block: 23 b5 1 (DW_OP_plus_uconst: 181) -<2><29a> +<2><29b> Abbrev Number: 12 (DW_TAG_member) -DW_AT_type : <0x2a6> +DW_AT_type : <0x2a7> DW_AT_decl_file : 2 -DW_AT_decl_line : 1124 +DW_AT_decl_line : 1131 DW_AT_data_member_location: 3 byte block: 23 b6 1 (DW_OP_plus_uconst: 182) -<2><2a6> +<2><2a7> Abbrev Number: 7 (DW_TAG_union_type) DW_AT_byte_size : 1 DW_AT_decl_file : 2 -DW_AT_decl_line : 1124 -<3><2ab> +DW_AT_decl_line : 1131 +<3><2ac> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x136): ycbcr_enc -DW_AT_type : <0x365> +DW_AT_name : (indirect string, offset: 0x200): ycbcr_enc +DW_AT_type : <0x366> DW_AT_decl_file : 2 -DW_AT_decl_line : 1125 +DW_AT_decl_line : 1132 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><2ba> +<3><2bb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x140): hsv_enc -DW_AT_type : <0x365> +DW_AT_name : (indirect string, offset: 0x20a): hsv_enc +DW_AT_type : <0x366> DW_AT_decl_file : 2 -DW_AT_decl_line : 1126 +DW_AT_decl_line : 1133 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><2ca> +<2><2cb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x148): quantization -DW_AT_type : <0x365> +DW_AT_name : (indirect string, offset: 0x212): quantization +DW_AT_type : <0x366> DW_AT_decl_file : 2 -DW_AT_decl_line : 1128 +DW_AT_decl_line : 1135 DW_AT_data_member_location: 3 byte block: 23 b7 1 (DW_OP_plus_uconst: 183) -<2><2da> +<2><2db> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x155): xfer_func -DW_AT_type : <0x365> +DW_AT_name : (indirect string, offset: 0x21f): xfer_func +DW_AT_type : <0x366> DW_AT_decl_file : 2 -DW_AT_decl_line : 1129 +DW_AT_decl_line : 1136 DW_AT_data_member_location: 3 byte block: 23 b8 1 (DW_OP_plus_uconst: 184) -<2><2ea> +<2><2eb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x180): reserved -DW_AT_type : <0x377> +DW_AT_name : (indirect string, offset: 0x24a): reserved +DW_AT_type : <0x378> DW_AT_decl_file : 2 -DW_AT_decl_line : 1130 +DW_AT_decl_line : 1137 DW_AT_data_member_location: 3 byte block: 23 b9 1 (DW_OP_plus_uconst: 185) -<1><2fb> +<1><2fc> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x308> -<2><300> +DW_AT_type : <0x309> +<2><301> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 8 -<1><308> +<1><309> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1a7): v4l2_plane_pix_format +DW_AT_name : (indirect string, offset: 0x271): v4l2_plane_pix_format DW_AT_byte_size : 20 DW_AT_decl_file : 2 -DW_AT_decl_line : 1110 -<2><311> +DW_AT_decl_line : 1117 +<2><312> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x116): sizeimage -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1e0): sizeimage +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1111 +DW_AT_decl_line : 1118 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><320> +<2><321> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x109): bytesperline -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1d3): bytesperline +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1112 +DW_AT_decl_line : 1119 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><32f> +<2><330> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x180): reserved -DW_AT_type : <0x33f> +DW_AT_name : (indirect string, offset: 0x24a): reserved +DW_AT_type : <0x340> DW_AT_decl_file : 2 -DW_AT_decl_line : 1113 +DW_AT_decl_line : 1120 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<1><33f> +<1><340> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x34c> -<2><344> +DW_AT_type : <0x34d> +<2><345> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 6 -<1><34c> +<1><34d> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x357> -DW_AT_name : (indirect string, offset: 0x198): __u16 +DW_AT_type : <0x358> +DW_AT_name : (indirect string, offset: 0x262): __u16 DW_AT_decl_file : 1 DW_AT_decl_line : 26 -<1><357> +<1><358> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x189): unsigned short +DW_AT_name : (indirect string, offset: 0x253): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><35e> +<1><35f> Abbrev Number: 15 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x19e): sizetype +DW_AT_name : (indirect string, offset: 0x268): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><365> +<1><366> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x370> -DW_AT_name : (indirect string, offset: 0x1d6): __u8 +DW_AT_type : <0x371> +DW_AT_name : (indirect string, offset: 0x2a0): __u8 DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1><370> +<1><371> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1c8): unsigned char +DW_AT_name : (indirect string, offset: 0x292): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><377> +<1><378> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x365> -<2><37c> +DW_AT_type : <0x366> +<2><37d> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 7 -<1><384> +<1><385> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x254): v4l2_window +DW_AT_name : (indirect string, offset: 0x31e): v4l2_window DW_AT_byte_size : 40 DW_AT_decl_file : 2 -DW_AT_decl_line : 547 -<2><38d> +DW_AT_decl_line : 554 +<2><38e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f6): w -DW_AT_type : <0x3f7> +DW_AT_name : (indirect string, offset: 0x2c0): w +DW_AT_type : <0x3f8> DW_AT_decl_file : 2 -DW_AT_decl_line : 548 +DW_AT_decl_line : 555 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><39c> +<2><39d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x103): field -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1cd): field +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 549 +DW_AT_decl_line : 556 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><3ab> +<2><3ac> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x215): chromakey -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x2df): chromakey +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 550 +DW_AT_decl_line : 557 DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) -<2><3ba> +<2><3bb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x21f): clips -DW_AT_type : <0x44a> +DW_AT_name : (indirect string, offset: 0x2e9): clips +DW_AT_type : <0x44b> DW_AT_decl_file : 2 -DW_AT_decl_line : 551 +DW_AT_decl_line : 558 DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) -<2><3c9> +<2><3ca> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x236): clipcount -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x300): clipcount +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 552 +DW_AT_decl_line : 559 DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) -<2><3d8> +<2><3d9> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x240): bitmap -DW_AT_type : <0x477> +DW_AT_name : (indirect string, offset: 0x30a): bitmap +DW_AT_type : <0x478> DW_AT_decl_file : 2 -DW_AT_decl_line : 553 +DW_AT_decl_line : 560 DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) -<2><3e7> +<2><3e8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x247): global_alpha -DW_AT_type : <0x365> +DW_AT_name : (indirect string, offset: 0x311): global_alpha +DW_AT_type : <0x366> DW_AT_decl_file : 2 -DW_AT_decl_line : 554 +DW_AT_decl_line : 561 DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) -<1><3f7> +<1><3f8> Abbrev Number: 8 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x20b): v4l2_rect +DW_AT_name : (indirect string, offset: 0x2d5): v4l2_rect DW_AT_byte_size : 16 DW_AT_decl_file : 2 DW_AT_decl_line : 135 -<2><3ff> +<2><400> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f8): left -DW_AT_type : <0x438> +DW_AT_name : (indirect string, offset: 0x2c2): left +DW_AT_type : <0x439> 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> +<2><40e> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x207): top -DW_AT_type : <0x438> +DW_AT_name : (indirect string, offset: 0x2d1): top +DW_AT_type : <0x439> 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> +<2><41c> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xea): width -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1b4): width +DW_AT_type : <0x92> 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> +<2><42a> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf0): height -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1ba): height +DW_AT_type : <0x92> 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> +<1><439> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x443> -DW_AT_name : (indirect string, offset: 0x201): __s32 +DW_AT_type : <0x444> +DW_AT_name : (indirect string, offset: 0x2cb): __s32 DW_AT_decl_file : 1 DW_AT_decl_line : 27 -<1><443> +<1><444> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1fd): int +DW_AT_name : (indirect string, offset: 0x2c7): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><44a> +<1><44b> Abbrev Number: 16 (DW_TAG_pointer_type) -DW_AT_type : <0x44f> -<1><44f> +DW_AT_type : <0x450> +<1><450> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x22c): v4l2_clip +DW_AT_name : (indirect string, offset: 0x2f6): v4l2_clip DW_AT_byte_size : 20 DW_AT_decl_file : 2 -DW_AT_decl_line : 543 -<2><458> +DW_AT_decl_line : 550 +<2><459> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x225): c -DW_AT_type : <0x3f7> +DW_AT_name : (indirect string, offset: 0x2ef): c +DW_AT_type : <0x3f8> DW_AT_decl_file : 2 -DW_AT_decl_line : 544 +DW_AT_decl_line : 551 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><467> +<2><468> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x227): next -DW_AT_type : <0x44a> +DW_AT_name : (indirect string, offset: 0x2f1): next +DW_AT_type : <0x44b> DW_AT_decl_file : 2 -DW_AT_decl_line : 545 +DW_AT_decl_line : 552 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: 17 (DW_TAG_pointer_type) +<1><479> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x29e): v4l2_vbi_format +DW_AT_name : (indirect string, offset: 0x368): v4l2_vbi_format DW_AT_byte_size : 44 DW_AT_decl_file : 2 -DW_AT_decl_line : 1045 -<2><481> +DW_AT_decl_line : 1052 +<2><482> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x264): sampling_rate -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x32e): sampling_rate +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1046 +DW_AT_decl_line : 1053 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><490> +<2><491> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x272): offset -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x33c): offset +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1047 +DW_AT_decl_line : 1054 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><49f> +<2><4a0> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x279): samples_per_line -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x343): samples_per_line +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1048 +DW_AT_decl_line : 1055 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><4ae> +<2><4af> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x28a): sample_format -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x354): sample_format +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1049 +DW_AT_decl_line : 1056 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><4bd> +<2><4be> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x298): start -DW_AT_type : <0x4fa> +DW_AT_name : (indirect string, offset: 0x362): start +DW_AT_type : <0x4fb> DW_AT_decl_file : 2 -DW_AT_decl_line : 1050 +DW_AT_decl_line : 1057 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><4cc> +<2><4cd> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc9): count -DW_AT_type : <0x507> +DW_AT_name : (indirect string, offset: 0x193): count +DW_AT_type : <0x508> DW_AT_decl_file : 2 -DW_AT_decl_line : 1051 +DW_AT_decl_line : 1058 DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) -<2><4db> +<2><4dc> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x130): flags -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1fa): flags +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1052 +DW_AT_decl_line : 1059 DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) -<2><4ea> +<2><4eb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x180): reserved -DW_AT_type : <0x507> +DW_AT_name : (indirect string, offset: 0x24a): reserved +DW_AT_type : <0x508> DW_AT_decl_file : 2 -DW_AT_decl_line : 1053 +DW_AT_decl_line : 1060 DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) -<1><4fa> +<1><4fb> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x438> -<2><4ff> +DW_AT_type : <0x439> +<2><500> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1><507> +<1><508> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x91> -<2><50c> +DW_AT_type : <0x92> +<2><50d> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1><514> +<1><515> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x2d7): v4l2_sliced_vbi_format +DW_AT_name : (indirect string, offset: 0x3a1): v4l2_sliced_vbi_format DW_AT_byte_size : 112 DW_AT_decl_file : 2 -DW_AT_decl_line : 1061 -<2><51d> +DW_AT_decl_line : 1068 +<2><51e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2b5): service_set -DW_AT_type : <0x34c> +DW_AT_name : (indirect string, offset: 0x37f): service_set +DW_AT_type : <0x34d> DW_AT_decl_file : 2 -DW_AT_decl_line : 1062 +DW_AT_decl_line : 1069 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><52c> +<2><52d> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2c1): service_lines -DW_AT_type : <0x55a> +DW_AT_name : (indirect string, offset: 0x38b): service_lines +DW_AT_type : <0x55b> DW_AT_decl_file : 2 -DW_AT_decl_line : 1063 +DW_AT_decl_line : 1070 DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) -<2><53b> +<2><53c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2cf): io_size -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x399): io_size +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1064 +DW_AT_decl_line : 1071 DW_AT_data_member_location: 2 byte block: 23 64 (DW_OP_plus_uconst: 100) -<2><54a> +<2><54b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x180): reserved -DW_AT_type : <0x507> +DW_AT_name : (indirect string, offset: 0x24a): reserved +DW_AT_type : <0x508> DW_AT_decl_file : 2 -DW_AT_decl_line : 1065 +DW_AT_decl_line : 1072 DW_AT_data_member_location: 2 byte block: 23 68 (DW_OP_plus_uconst: 104) -<1><55a> +<1><55b> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x34c> -<2><55f> +DW_AT_type : <0x34d> +<2><560> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 2 -<2><566> +<2><567> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 24 -<1><56e> +<1><56f> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x2fd): v4l2_sdr_format +DW_AT_name : (indirect string, offset: 0x3c7): v4l2_sdr_format DW_AT_byte_size : 32 DW_AT_decl_file : 2 -DW_AT_decl_line : 1132 -<2><577> +DW_AT_decl_line : 1139 +<2><578> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf7): pixelformat -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x1c1): pixelformat +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1133 +DW_AT_decl_line : 1140 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><586> +<2><587> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2f2): buffersize -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x3bc): buffersize +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1134 +DW_AT_decl_line : 1141 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><595> +<2><596> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x180): reserved -DW_AT_type : <0x5a5> +DW_AT_name : (indirect string, offset: 0x24a): reserved +DW_AT_type : <0x5a6> DW_AT_decl_file : 2 -DW_AT_decl_line : 1135 +DW_AT_decl_line : 1142 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<1><5a5> +<1><5a6> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x365> -<2><5aa> +DW_AT_type : <0x366> +<2><5ab> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 24 -<1><5b2> +<1><5b3> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x31d): v4l2_meta_format +DW_AT_name : (indirect string, offset: 0x3e7): v4l2_meta_format DW_AT_byte_size : 8 DW_AT_decl_file : 2 -DW_AT_decl_line : 1137 -<2><5bb> +DW_AT_decl_line : 1144 +<2><5bc> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x312): dataformat -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x3dc): dataformat +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1138 +DW_AT_decl_line : 1145 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><5ca> +<2><5cb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2f2): buffersize -DW_AT_type : <0x91> +DW_AT_name : (indirect string, offset: 0x3bc): buffersize +DW_AT_type : <0x92> DW_AT_decl_file : 2 -DW_AT_decl_line : 1139 +DW_AT_decl_line : 1146 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<1><5da> +<1><5db> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x365> -<2><5df> +DW_AT_type : <0x366> +<2><5e0> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 200 -<1><5e7> +<1><5e8> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x91> -<2><5ec> +DW_AT_type : <0x92> +<2><5ed> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x35e> +DW_AT_type : <0x35f> DW_AT_lower_bound : 0 DW_AT_count : 8 diff --git a/mpers-m32/struct_v4l2_ext_control.d1 b/mpers-m32/struct_v4l2_ext_control.d1 index 5ebcc89e..8333df70 100644 --- a/mpers-m32/struct_v4l2_ext_control.d1 +++ b/mpers-m32/struct_v4l2_ext_control.d1 @@ -1,172 +1,173 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x173 (32-bit) + Length: 0x174 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_ext_control.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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) - 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>: 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>: 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>: 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>: 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) - <3>: Abbrev Number: 0 - <2>: Abbrev Number: 0 - <1>: 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>: 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>: Abbrev Number: 9 (DW_TAG_array_type) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x12b): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x166): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 53 + <2b> DW_AT_location : 5 byte block: 3 1 0 0 0 (DW_OP_addr: 1) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x22b): struct_v4l2_ext_control + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 46 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x21a): v4l2_ext_control + <41> DW_AT_byte_size : 20 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 789 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x177): id + <4a> DW_AT_type : <0xed> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 790 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x18d): size + <59> DW_AT_type : <0xed> + <5d> DW_AT_decl_file : 2 + <5e> DW_AT_decl_line : 791 + <60> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><63>: Abbrev Number: 5 (DW_TAG_member) + <64> DW_AT_name : (indirect string, offset: 0x192): reserved2 + <68> DW_AT_type : <0xff> + <6c> DW_AT_decl_file : 2 + <6d> DW_AT_decl_line : 792 + <6f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><72>: Abbrev Number: 6 (DW_TAG_member) + <73> DW_AT_type : <0x7d> + <77> DW_AT_decl_file : 2 + <78> DW_AT_decl_line : 793 + <7a> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7d>: Abbrev Number: 7 (DW_TAG_union_type) + <7e> DW_AT_byte_size : 8 + <7f> DW_AT_decl_file : 2 + <80> DW_AT_decl_line : 793 + <3><82>: Abbrev Number: 5 (DW_TAG_member) + <83> DW_AT_name : (indirect string, offset: 0x1a5): value + <87> DW_AT_type : <0x113> + <8b> DW_AT_decl_file : 2 + <8c> DW_AT_decl_line : 794 + <8e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><91>: Abbrev Number: 5 (DW_TAG_member) + <92> DW_AT_name : (indirect string, offset: 0x1b5): value64 + <96> DW_AT_type : <0x125> + <9a> DW_AT_decl_file : 2 + <9b> DW_AT_decl_line : 795 + <9d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1d1): string + DW_AT_type : <0x137> + DW_AT_decl_file : 2 + DW_AT_decl_line : 796 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1dd): p_u8 + DW_AT_type : <0x143> + 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) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f5): p_u16 + DW_AT_type : <0x15a> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x210): p_u32 + DW_AT_type : <0x171> + 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) + <3>: Abbrev Number: 5 (DW_TAG_member) +
DW_AT_name : (indirect string, offset: 0x216): ptr + DW_AT_type : <0x176> + DW_AT_decl_file : 2 + DW_AT_decl_line : 800 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xf8> + DW_AT_name : (indirect string, offset: 0x187): __u32 + DW_AT_decl_file : 1 + DW_AT_decl_line : 28 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x17a): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 9 (DW_TAG_array_type) + <100> DW_AT_type : <0xed> + <2><104>: Abbrev Number: 10 (DW_TAG_subrange_type) + <105> DW_AT_type : <0x10c> + <109> DW_AT_lower_bound : 0 + <10a> DW_AT_count : 1 + <2><10b>: Abbrev Number: 0 + <1><10c>: Abbrev Number: 11 (DW_TAG_base_type) + <10d> DW_AT_name : (indirect string, offset: 0x19c): sizetype + <111> DW_AT_byte_size : 8 + <112> DW_AT_encoding : 7 (unsigned) + <1><113>: Abbrev Number: 3 (DW_TAG_typedef) + <114> DW_AT_type : <0x11e> + <118> DW_AT_name : (indirect string, offset: 0x1af): __s32 + <11c> DW_AT_decl_file : 1 + <11d> DW_AT_decl_line : 27 + <1><11e>: Abbrev Number: 8 (DW_TAG_base_type) + <11f> DW_AT_name : (indirect string, offset: 0x1ab): int + <123> DW_AT_encoding : 5 (signed) + <124> DW_AT_byte_size : 4 + <1><125>: Abbrev Number: 3 (DW_TAG_typedef) + <126> DW_AT_type : <0x130> + <12a> DW_AT_name : (indirect string, offset: 0x1cb): __s64 + <12e> DW_AT_decl_file : 1 + <12f> DW_AT_decl_line : 30 + <1><130>: Abbrev Number: 8 (DW_TAG_base_type) + <131> DW_AT_name : (indirect string, offset: 0x1bd): long long int + <135> DW_AT_encoding : 5 (signed) + <136> DW_AT_byte_size : 8 + <1><137>: Abbrev Number: 12 (DW_TAG_pointer_type) + <138> DW_AT_type : <0x13c> + <1><13c>: Abbrev Number: 8 (DW_TAG_base_type) + <13d> DW_AT_name : (indirect string, offset: 0x1d8): char + <141> DW_AT_encoding : 8 (unsigned char) + <142> DW_AT_byte_size : 1 + <1><143>: Abbrev Number: 12 (DW_TAG_pointer_type) + <144> DW_AT_type : <0x148> + <1><148>: Abbrev Number: 3 (DW_TAG_typedef) + <149> DW_AT_type : <0x153> + <14d> DW_AT_name : (indirect string, offset: 0x1f0): __u8 + <151> DW_AT_decl_file : 1 + <152> DW_AT_decl_line : 24 + <1><153>: Abbrev Number: 8 (DW_TAG_base_type) + <154> DW_AT_name : (indirect string, offset: 0x1e2): unsigned char + <158> DW_AT_encoding : 8 (unsigned char) + <159> DW_AT_byte_size : 1 + <1><15a>: Abbrev Number: 12 (DW_TAG_pointer_type) + <15b> DW_AT_type : <0x15f> + <1><15f>: Abbrev Number: 3 (DW_TAG_typedef) + <160> DW_AT_type : <0x16a> + <164> DW_AT_name : (indirect string, offset: 0x20a): __u16 + <168> DW_AT_decl_file : 1 + <169> DW_AT_decl_line : 26 + <1><16a>: Abbrev Number: 8 (DW_TAG_base_type) + <16b> DW_AT_name : (indirect string, offset: 0x1fb): unsigned short + <16f> DW_AT_encoding : 7 (unsigned) + <170> DW_AT_byte_size : 2 + <1><171>: Abbrev Number: 12 (DW_TAG_pointer_type) + <172> DW_AT_type : <0xed> + <1><176>: Abbrev Number: 13 (DW_TAG_pointer_type) + <1><177>: Abbrev Number: 0 diff --git a/mpers-m32/struct_v4l2_ext_control.d2 b/mpers-m32/struct_v4l2_ext_control.d2 index cd2dc1ea..4ef90f19 100644 --- a/mpers-m32/struct_v4l2_ext_control.d2 +++ b/mpers-m32/struct_v4l2_ext_control.d2 @@ -1,188 +1,188 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x9c): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x166): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x161): struct_v4l2_ext_control +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x22b): struct_v4l2_ext_control DW_AT_decl_file : 3 DW_AT_decl_line : 46 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x150): v4l2_ext_control +DW_AT_name : (indirect string, offset: 0x21a): v4l2_ext_control DW_AT_byte_size : 20 DW_AT_decl_file : 2 -DW_AT_decl_line : 782 -<2><44> +DW_AT_decl_line : 789 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xad): id -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x177): id +DW_AT_type : <0xed> DW_AT_decl_file : 2 -DW_AT_decl_line : 783 +DW_AT_decl_line : 790 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc3): size -DW_AT_type : <0xec> +DW_AT_name : (indirect string, offset: 0x18d): size +DW_AT_type : <0xed> DW_AT_decl_file : 2 -DW_AT_decl_line : 784 +DW_AT_decl_line : 791 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><62> +<2><63> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc8): reserved2 -DW_AT_type : <0xfe> +DW_AT_name : (indirect string, offset: 0x192): reserved2 +DW_AT_type : <0xff> DW_AT_decl_file : 2 -DW_AT_decl_line : 785 +DW_AT_decl_line : 792 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><71> +<2><72> Abbrev Number: 6 (DW_TAG_member) -DW_AT_type : <0x7c> +DW_AT_type : <0x7d> DW_AT_decl_file : 2 -DW_AT_decl_line : 786 +DW_AT_decl_line : 793 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><7c> +<2><7d> Abbrev Number: 7 (DW_TAG_union_type) DW_AT_byte_size : 8 DW_AT_decl_file : 2 -DW_AT_decl_line : 786 -<3><81> +DW_AT_decl_line : 793 +<3><82> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xdb): value -DW_AT_type : <0x112> +DW_AT_name : (indirect string, offset: 0x1a5): value +DW_AT_type : <0x113> DW_AT_decl_file : 2 -DW_AT_decl_line : 787 +DW_AT_decl_line : 794 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><90> +<3><91> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xeb): value64 -DW_AT_type : <0x124> +DW_AT_name : (indirect string, offset: 0x1b5): value64 +DW_AT_type : <0x125> DW_AT_decl_file : 2 -DW_AT_decl_line : 788 +DW_AT_decl_line : 795 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><9f> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x107): string -DW_AT_type : <0x136> +DW_AT_name : (indirect string, offset: 0x1d1): string +DW_AT_type : <0x137> DW_AT_decl_file : 2 -DW_AT_decl_line : 789 +DW_AT_decl_line : 796 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x113): p_u8 -DW_AT_type : <0x142> +DW_AT_name : (indirect string, offset: 0x1dd): p_u8 +DW_AT_type : <0x143> DW_AT_decl_file : 2 -DW_AT_decl_line : 790 +DW_AT_decl_line : 797 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x12b): p_u16 -DW_AT_type : <0x159> +DW_AT_name : (indirect string, offset: 0x1f5): p_u16 +DW_AT_type : <0x15a> DW_AT_decl_file : 2 -DW_AT_decl_line : 791 +DW_AT_decl_line : 798 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x146): p_u32 -DW_AT_type : <0x170> +DW_AT_name : (indirect string, offset: 0x210): p_u32 +DW_AT_type : <0x171> DW_AT_decl_file : 2 -DW_AT_decl_line : 792 +DW_AT_decl_line : 799 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14c): ptr -DW_AT_type : <0x175> +DW_AT_name : (indirect string, offset: 0x216): ptr +DW_AT_type : <0x176> DW_AT_decl_file : 2 -DW_AT_decl_line : 793 +DW_AT_decl_line : 800 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xf7> -DW_AT_name : (indirect string, offset: 0xbd): __u32 +DW_AT_type : <0xf8> +DW_AT_name : (indirect string, offset: 0x187): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb0): unsigned int +DW_AT_name : (indirect string, offset: 0x17a): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 9 (DW_TAG_array_type) -DW_AT_type : <0xec> -<2><103> +DW_AT_type : <0xed> +<2><104> Abbrev Number: 10 (DW_TAG_subrange_type) -DW_AT_type : <0x10b> +DW_AT_type : <0x10c> DW_AT_lower_bound : 0 DW_AT_count : 1 -<1><10b> +<1><10c> Abbrev Number: 11 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xd2): sizetype +DW_AT_name : (indirect string, offset: 0x19c): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><112> +<1><113> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x11d> -DW_AT_name : (indirect string, offset: 0xe5): __s32 +DW_AT_type : <0x11e> +DW_AT_name : (indirect string, offset: 0x1af): __s32 DW_AT_decl_file : 1 DW_AT_decl_line : 27 -<1><11d> +<1><11e> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe1): int +DW_AT_name : (indirect string, offset: 0x1ab): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><124> +<1><125> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x12f> -DW_AT_name : (indirect string, offset: 0x101): __s64 +DW_AT_type : <0x130> +DW_AT_name : (indirect string, offset: 0x1cb): __s64 DW_AT_decl_file : 1 DW_AT_decl_line : 30 -<1><12f> +<1><130> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xf3): long long int +DW_AT_name : (indirect string, offset: 0x1bd): long long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 8 -<1><136> +<1><137> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x13b> -<1><13b> +DW_AT_type : <0x13c> +<1><13c> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x10e): char +DW_AT_name : (indirect string, offset: 0x1d8): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><142> +<1><143> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x147> -<1><147> +DW_AT_type : <0x148> +<1><148> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x152> -DW_AT_name : (indirect string, offset: 0x126): __u8 +DW_AT_type : <0x153> +DW_AT_name : (indirect string, offset: 0x1f0): __u8 DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1><152> +<1><153> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x118): unsigned char +DW_AT_name : (indirect string, offset: 0x1e2): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><159> +<1><15a> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x15e> -<1><15e> +DW_AT_type : <0x15f> +<1><15f> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x169> -DW_AT_name : (indirect string, offset: 0x140): __u16 +DW_AT_type : <0x16a> +DW_AT_name : (indirect string, offset: 0x20a): __u16 DW_AT_decl_file : 1 DW_AT_decl_line : 26 -<1><169> +<1><16a> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x131): unsigned short +DW_AT_name : (indirect string, offset: 0x1fb): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><170> +<1><171> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0xec> -<1><175> +DW_AT_type : <0xed> +<1><176> Abbrev Number: 13 (DW_TAG_pointer_type) diff --git a/mpers-m32/struct_v4l2_ext_controls.d1 b/mpers-m32/struct_v4l2_ext_controls.d1 index e6501f2f..379ea632 100644 --- a/mpers-m32/struct_v4l2_ext_controls.d1 +++ b/mpers-m32/struct_v4l2_ext_controls.d1 @@ -1,233 +1,234 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x1fa (32-bit) + Length: 0x1fb (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_ext_controls.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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>: 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) - <2>: Abbrev Number: 0 - <1>: 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>: 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>: Abbrev Number: 9 (DW_TAG_array_type) - DW_AT_type : <0xb0> - <2>: Abbrev Number: 10 (DW_TAG_subrange_type) - DW_AT_type : <0xcf> - DW_AT_lower_bound : 0 - DW_AT_count : 2 - <2>: Abbrev Number: 0 - <1>: 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>: Abbrev Number: 12 (DW_TAG_pointer_type) - DW_AT_type : <0xdb> - <1>: 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>: 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>: 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) - <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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x12c): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x167): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 53 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x271): struct_v4l2_ext_controls + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 47 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x25f): v4l2_ext_controls + <41> DW_AT_byte_size : 24 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 803 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_type : <0x50> + <4a> DW_AT_decl_file : 2 + <4b> DW_AT_decl_line : 804 + <4d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><50>: Abbrev Number: 6 (DW_TAG_union_type) + <51> DW_AT_byte_size : 4 + <52> DW_AT_decl_file : 2 + <53> DW_AT_decl_line : 804 + <3><55>: Abbrev Number: 7 (DW_TAG_member) + <56> DW_AT_name : (indirect string, offset: 0x178): ctrl_class + <5a> DW_AT_type : <0xb1> + <5e> DW_AT_decl_file : 2 + <5f> DW_AT_decl_line : 805 + <61> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><64>: Abbrev Number: 7 (DW_TAG_member) + <65> DW_AT_name : (indirect string, offset: 0x196): which + <69> DW_AT_type : <0xb1> + <6d> DW_AT_decl_file : 2 + <6e> DW_AT_decl_line : 806 + <70> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><73>: Abbrev Number: 0 + <2><74>: Abbrev Number: 7 (DW_TAG_member) + <75> DW_AT_name : (indirect string, offset: 0x19c): count + <79> DW_AT_type : <0xb1> + <7d> DW_AT_decl_file : 2 + <7e> DW_AT_decl_line : 808 + <80> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><83>: Abbrev Number: 7 (DW_TAG_member) + <84> DW_AT_name : (indirect string, offset: 0x1a2): error_idx + <88> DW_AT_type : <0xb1> + <8c> DW_AT_decl_file : 2 + <8d> DW_AT_decl_line : 809 + <8f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><92>: Abbrev Number: 7 (DW_TAG_member) + <93> DW_AT_name : (indirect string, offset: 0x1ac): reserved + <97> DW_AT_type : <0xc3> + <9b> DW_AT_decl_file : 2 + <9c> DW_AT_decl_line : 810 + <9e> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2>: Abbrev Number: 7 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1be): controls + DW_AT_type : <0xd7> + DW_AT_decl_file : 2 + DW_AT_decl_line : 811 + DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xbc> + DW_AT_name : (indirect string, offset: 0x190): __u32 + DW_AT_decl_file : 1 + DW_AT_decl_line : 28 + <1>: Abbrev Number: 8 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x183): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 9 (DW_TAG_array_type) + DW_AT_type : <0xb1> + <2>: Abbrev Number: 10 (DW_TAG_subrange_type) + DW_AT_type : <0xd0> + DW_AT_lower_bound : 0 + DW_AT_count : 2 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 11 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1b5): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>: Abbrev Number: 12 (DW_TAG_pointer_type) + DW_AT_type : <0xdc> + <1>: Abbrev Number: 4 (DW_TAG_structure_type) +
DW_AT_name : (indirect string, offset: 0x24e): v4l2_ext_control + DW_AT_byte_size : 20 + DW_AT_decl_file : 2 + DW_AT_decl_line : 789 + <2>: Abbrev Number: 7 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1c7): id + DW_AT_type : <0xb1> + 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) + <2>: Abbrev Number: 7 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ca): size + DW_AT_type : <0xb1> + DW_AT_decl_file : 2 + DW_AT_decl_line : 791 + <100> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><103>: Abbrev Number: 7 (DW_TAG_member) + <104> DW_AT_name : (indirect string, offset: 0x1cf): reserved2 + <108> DW_AT_type : <0x18d> + <10c> DW_AT_decl_file : 2 + <10d> DW_AT_decl_line : 792 + <10f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><112>: Abbrev Number: 5 (DW_TAG_member) + <113> DW_AT_type : <0x11d> + <117> DW_AT_decl_file : 2 + <118> DW_AT_decl_line : 793 + <11a> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><11d>: Abbrev Number: 6 (DW_TAG_union_type) + <11e> DW_AT_byte_size : 8 + <11f> DW_AT_decl_file : 2 + <120> DW_AT_decl_line : 793 + <3><122>: Abbrev Number: 7 (DW_TAG_member) + <123> DW_AT_name : (indirect string, offset: 0x1d9): value + <127> DW_AT_type : <0x19a> + <12b> DW_AT_decl_file : 2 + <12c> DW_AT_decl_line : 794 + <12e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><131>: Abbrev Number: 7 (DW_TAG_member) + <132> DW_AT_name : (indirect string, offset: 0x1e9): value64 + <136> DW_AT_type : <0x1ac> + <13a> DW_AT_decl_file : 2 + <13b> DW_AT_decl_line : 795 + <13d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><140>: Abbrev Number: 7 (DW_TAG_member) + <141> DW_AT_name : (indirect string, offset: 0x205): string + <145> DW_AT_type : <0x1be> + <149> DW_AT_decl_file : 2 + <14a> DW_AT_decl_line : 796 + <14c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><14f>: Abbrev Number: 7 (DW_TAG_member) + <150> DW_AT_name : (indirect string, offset: 0x211): p_u8 + <154> DW_AT_type : <0x1ca> + <158> DW_AT_decl_file : 2 + <159> DW_AT_decl_line : 797 + <15b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><15e>: Abbrev Number: 7 (DW_TAG_member) + <15f> DW_AT_name : (indirect string, offset: 0x229): p_u16 + <163> DW_AT_type : <0x1e1> + <167> DW_AT_decl_file : 2 + <168> DW_AT_decl_line : 798 + <16a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><16d>: Abbrev Number: 7 (DW_TAG_member) + <16e> DW_AT_name : (indirect string, offset: 0x244): p_u32 + <172> DW_AT_type : <0x1f8> + <176> DW_AT_decl_file : 2 + <177> DW_AT_decl_line : 799 + <179> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><17c>: Abbrev Number: 7 (DW_TAG_member) + <17d> DW_AT_name : (indirect string, offset: 0x24a): ptr + <181> DW_AT_type : <0x1fd> + <185> DW_AT_decl_file : 2 + <186> DW_AT_decl_line : 800 + <188> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><18b>: Abbrev Number: 0 + <2><18c>: Abbrev Number: 0 + <1><18d>: Abbrev Number: 9 (DW_TAG_array_type) + <18e> DW_AT_type : <0xb1> + <2><192>: Abbrev Number: 10 (DW_TAG_subrange_type) + <193> DW_AT_type : <0xd0> + <197> DW_AT_lower_bound : 0 + <198> DW_AT_count : 1 + <2><199>: Abbrev Number: 0 + <1><19a>: Abbrev Number: 3 (DW_TAG_typedef) + <19b> DW_AT_type : <0x1a5> + <19f> DW_AT_name : (indirect string, offset: 0x1e3): __s32 + <1a3> DW_AT_decl_file : 1 + <1a4> DW_AT_decl_line : 27 + <1><1a5>: Abbrev Number: 8 (DW_TAG_base_type) + <1a6> DW_AT_name : (indirect string, offset: 0x1df): int + <1aa> DW_AT_encoding : 5 (signed) + <1ab> DW_AT_byte_size : 4 + <1><1ac>: Abbrev Number: 3 (DW_TAG_typedef) + <1ad> DW_AT_type : <0x1b7> + <1b1> DW_AT_name : (indirect string, offset: 0x1ff): __s64 + <1b5> DW_AT_decl_file : 1 + <1b6> DW_AT_decl_line : 30 + <1><1b7>: Abbrev Number: 8 (DW_TAG_base_type) + <1b8> DW_AT_name : (indirect string, offset: 0x1f1): long long int + <1bc> DW_AT_encoding : 5 (signed) + <1bd> DW_AT_byte_size : 8 + <1><1be>: Abbrev Number: 12 (DW_TAG_pointer_type) + <1bf> DW_AT_type : <0x1c3> + <1><1c3>: Abbrev Number: 8 (DW_TAG_base_type) + <1c4> DW_AT_name : (indirect string, offset: 0x20c): char + <1c8> DW_AT_encoding : 8 (unsigned char) + <1c9> DW_AT_byte_size : 1 + <1><1ca>: Abbrev Number: 12 (DW_TAG_pointer_type) + <1cb> DW_AT_type : <0x1cf> + <1><1cf>: Abbrev Number: 3 (DW_TAG_typedef) + <1d0> DW_AT_type : <0x1da> + <1d4> DW_AT_name : (indirect string, offset: 0x224): __u8 + <1d8> DW_AT_decl_file : 1 + <1d9> DW_AT_decl_line : 24 + <1><1da>: Abbrev Number: 8 (DW_TAG_base_type) + <1db> DW_AT_name : (indirect string, offset: 0x216): unsigned char + <1df> DW_AT_encoding : 8 (unsigned char) + <1e0> DW_AT_byte_size : 1 + <1><1e1>: Abbrev Number: 12 (DW_TAG_pointer_type) + <1e2> DW_AT_type : <0x1e6> + <1><1e6>: Abbrev Number: 3 (DW_TAG_typedef) + <1e7> DW_AT_type : <0x1f1> + <1eb> DW_AT_name : (indirect string, offset: 0x23e): __u16 + <1ef> DW_AT_decl_file : 1 + <1f0> DW_AT_decl_line : 26 + <1><1f1>: Abbrev Number: 8 (DW_TAG_base_type) + <1f2> DW_AT_name : (indirect string, offset: 0x22f): unsigned short + <1f6> DW_AT_encoding : 7 (unsigned) + <1f7> DW_AT_byte_size : 2 + <1><1f8>: Abbrev Number: 12 (DW_TAG_pointer_type) + <1f9> DW_AT_type : <0xb1> + <1><1fd>: Abbrev Number: 13 (DW_TAG_pointer_type) + <1><1fe>: Abbrev Number: 0 diff --git a/mpers-m32/struct_v4l2_ext_controls.d2 b/mpers-m32/struct_v4l2_ext_controls.d2 index 9d81543c..2157d5ed 100644 --- a/mpers-m32/struct_v4l2_ext_controls.d2 +++ b/mpers-m32/struct_v4l2_ext_controls.d2 @@ -1,258 +1,258 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x9d): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x167): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x1a7): struct_v4l2_ext_controls +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x271): struct_v4l2_ext_controls DW_AT_decl_file : 3 DW_AT_decl_line : 47 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x195): v4l2_ext_controls +DW_AT_name : (indirect string, offset: 0x25f): v4l2_ext_controls DW_AT_byte_size : 24 DW_AT_decl_file : 2 -DW_AT_decl_line : 796 -<2><44> +DW_AT_decl_line : 803 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_type : <0x4f> +DW_AT_type : <0x50> DW_AT_decl_file : 2 -DW_AT_decl_line : 797 +DW_AT_decl_line : 804 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><4f> +<2><50> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 4 DW_AT_decl_file : 2 -DW_AT_decl_line : 797 -<3><54> +DW_AT_decl_line : 804 +<3><55> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xae): ctrl_class -DW_AT_type : <0xb0> +DW_AT_name : (indirect string, offset: 0x178): ctrl_class +DW_AT_type : <0xb1> DW_AT_decl_file : 2 -DW_AT_decl_line : 798 +DW_AT_decl_line : 805 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><63> +<3><64> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcc): which -DW_AT_type : <0xb0> +DW_AT_name : (indirect string, offset: 0x196): which +DW_AT_type : <0xb1> DW_AT_decl_file : 2 -DW_AT_decl_line : 799 +DW_AT_decl_line : 806 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><73> +<2><74> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd2): count -DW_AT_type : <0xb0> +DW_AT_name : (indirect string, offset: 0x19c): count +DW_AT_type : <0xb1> DW_AT_decl_file : 2 -DW_AT_decl_line : 801 +DW_AT_decl_line : 808 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><82> +<2><83> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd8): error_idx -DW_AT_type : <0xb0> +DW_AT_name : (indirect string, offset: 0x1a2): error_idx +DW_AT_type : <0xb1> DW_AT_decl_file : 2 -DW_AT_decl_line : 802 +DW_AT_decl_line : 809 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><91> +<2><92> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe2): reserved -DW_AT_type : <0xc2> +DW_AT_name : (indirect string, offset: 0x1ac): reserved +DW_AT_type : <0xc3> DW_AT_decl_file : 2 -DW_AT_decl_line : 803 +DW_AT_decl_line : 810 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2> +<2> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf4): controls -DW_AT_type : <0xd6> +DW_AT_name : (indirect string, offset: 0x1be): controls +DW_AT_type : <0xd7> DW_AT_decl_file : 2 -DW_AT_decl_line : 804 +DW_AT_decl_line : 811 DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xbb> -DW_AT_name : (indirect string, offset: 0xc6): __u32 +DW_AT_type : <0xbc> +DW_AT_name : (indirect string, offset: 0x190): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1> +<1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb9): unsigned int +DW_AT_name : (indirect string, offset: 0x183): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 9 (DW_TAG_array_type) -DW_AT_type : <0xb0> -<2> +DW_AT_type : <0xb1> +<2> Abbrev Number: 10 (DW_TAG_subrange_type) -DW_AT_type : <0xcf> +DW_AT_type : <0xd0> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1> +<1> Abbrev Number: 11 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xeb): sizetype +DW_AT_name : (indirect string, offset: 0x1b5): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1> +<1> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0xdb> -<1> +DW_AT_type : <0xdc> +<1> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x184): v4l2_ext_control +DW_AT_name : (indirect string, offset: 0x24e): v4l2_ext_control DW_AT_byte_size : 20 DW_AT_decl_file : 2 -DW_AT_decl_line : 782 -<2> +DW_AT_decl_line : 789 +<2> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfd): id -DW_AT_type : <0xb0> +DW_AT_name : (indirect string, offset: 0x1c7): id +DW_AT_type : <0xb1> DW_AT_decl_file : 2 -DW_AT_decl_line : 783 +DW_AT_decl_line : 790 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2> +<2> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x100): size -DW_AT_type : <0xb0> +DW_AT_name : (indirect string, offset: 0x1ca): size +DW_AT_type : <0xb1> DW_AT_decl_file : 2 -DW_AT_decl_line : 784 +DW_AT_decl_line : 791 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><102> +<2><103> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x105): reserved2 -DW_AT_type : <0x18c> +DW_AT_name : (indirect string, offset: 0x1cf): reserved2 +DW_AT_type : <0x18d> DW_AT_decl_file : 2 -DW_AT_decl_line : 785 +DW_AT_decl_line : 792 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><111> +<2><112> Abbrev Number: 5 (DW_TAG_member) -DW_AT_type : <0x11c> +DW_AT_type : <0x11d> DW_AT_decl_file : 2 -DW_AT_decl_line : 786 +DW_AT_decl_line : 793 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><11c> +<2><11d> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 8 DW_AT_decl_file : 2 -DW_AT_decl_line : 786 -<3><121> +DW_AT_decl_line : 793 +<3><122> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10f): value -DW_AT_type : <0x199> +DW_AT_name : (indirect string, offset: 0x1d9): value +DW_AT_type : <0x19a> DW_AT_decl_file : 2 -DW_AT_decl_line : 787 +DW_AT_decl_line : 794 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><130> +<3><131> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11f): value64 -DW_AT_type : <0x1ab> +DW_AT_name : (indirect string, offset: 0x1e9): value64 +DW_AT_type : <0x1ac> DW_AT_decl_file : 2 -DW_AT_decl_line : 788 +DW_AT_decl_line : 795 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><13f> +<3><140> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13b): string -DW_AT_type : <0x1bd> +DW_AT_name : (indirect string, offset: 0x205): string +DW_AT_type : <0x1be> DW_AT_decl_file : 2 -DW_AT_decl_line : 789 +DW_AT_decl_line : 796 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><14e> +<3><14f> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x147): p_u8 -DW_AT_type : <0x1c9> +DW_AT_name : (indirect string, offset: 0x211): p_u8 +DW_AT_type : <0x1ca> DW_AT_decl_file : 2 -DW_AT_decl_line : 790 +DW_AT_decl_line : 797 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><15d> +<3><15e> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15f): p_u16 -DW_AT_type : <0x1e0> +DW_AT_name : (indirect string, offset: 0x229): p_u16 +DW_AT_type : <0x1e1> DW_AT_decl_file : 2 -DW_AT_decl_line : 791 +DW_AT_decl_line : 798 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><16c> +<3><16d> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x17a): p_u32 -DW_AT_type : <0x1f7> +DW_AT_name : (indirect string, offset: 0x244): p_u32 +DW_AT_type : <0x1f8> DW_AT_decl_file : 2 -DW_AT_decl_line : 792 +DW_AT_decl_line : 799 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><17b> +<3><17c> Abbrev Number: 7 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x180): ptr -DW_AT_type : <0x1fc> +DW_AT_name : (indirect string, offset: 0x24a): ptr +DW_AT_type : <0x1fd> DW_AT_decl_file : 2 -DW_AT_decl_line : 793 +DW_AT_decl_line : 800 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<1><18c> +<1><18d> Abbrev Number: 9 (DW_TAG_array_type) -DW_AT_type : <0xb0> -<2><191> +DW_AT_type : <0xb1> +<2><192> Abbrev Number: 10 (DW_TAG_subrange_type) -DW_AT_type : <0xcf> +DW_AT_type : <0xd0> DW_AT_lower_bound : 0 DW_AT_count : 1 -<1><199> +<1><19a> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x1a4> -DW_AT_name : (indirect string, offset: 0x119): __s32 +DW_AT_type : <0x1a5> +DW_AT_name : (indirect string, offset: 0x1e3): __s32 DW_AT_decl_file : 1 DW_AT_decl_line : 27 -<1><1a4> +<1><1a5> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x115): int +DW_AT_name : (indirect string, offset: 0x1df): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><1ab> +<1><1ac> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x1b6> -DW_AT_name : (indirect string, offset: 0x135): __s64 +DW_AT_type : <0x1b7> +DW_AT_name : (indirect string, offset: 0x1ff): __s64 DW_AT_decl_file : 1 DW_AT_decl_line : 30 -<1><1b6> +<1><1b7> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x127): long long int +DW_AT_name : (indirect string, offset: 0x1f1): long long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 8 -<1><1bd> +<1><1be> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x1c2> -<1><1c2> +DW_AT_type : <0x1c3> +<1><1c3> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x142): char +DW_AT_name : (indirect string, offset: 0x20c): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><1c9> +<1><1ca> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x1ce> -<1><1ce> +DW_AT_type : <0x1cf> +<1><1cf> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x1d9> -DW_AT_name : (indirect string, offset: 0x15a): __u8 +DW_AT_type : <0x1da> +DW_AT_name : (indirect string, offset: 0x224): __u8 DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1><1d9> +<1><1da> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x14c): unsigned char +DW_AT_name : (indirect string, offset: 0x216): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><1e0> +<1><1e1> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0x1e5> -<1><1e5> +DW_AT_type : <0x1e6> +<1><1e6> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x1f0> -DW_AT_name : (indirect string, offset: 0x174): __u16 +DW_AT_type : <0x1f1> +DW_AT_name : (indirect string, offset: 0x23e): __u16 DW_AT_decl_file : 1 DW_AT_decl_line : 26 -<1><1f0> +<1><1f1> Abbrev Number: 8 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x165): unsigned short +DW_AT_name : (indirect string, offset: 0x22f): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><1f7> +<1><1f8> Abbrev Number: 12 (DW_TAG_pointer_type) -DW_AT_type : <0xb0> -<1><1fc> +DW_AT_type : <0xb1> +<1><1fd> Abbrev Number: 13 (DW_TAG_pointer_type) diff --git a/mpers-m32/struct_v4l2_format.d1 b/mpers-m32/struct_v4l2_format.d1 index 684527f3..5afff8f7 100644 --- a/mpers-m32/struct_v4l2_format.d1 +++ b/mpers-m32/struct_v4l2_format.d1 @@ -1,635 +1,636 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x58e (32-bit) + Length: 0x58f (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_format.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) - <3>: 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>: 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>: 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>: 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) - <3>: Abbrev Number: 0 - <2>: Abbrev Number: 0 - <1>: 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>: 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>: 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>: Abbrev Number: 9 (DW_TAG_member) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x126): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x161): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 53 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x3f1): struct_v4l2_format + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 48 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x3e5): v4l2_format + <41> DW_AT_byte_size : 204 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 1148 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x172): type + <4a> DW_AT_type : <0xe2> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 1149 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x18a): fmt + <59> DW_AT_type : <0x63> + <5d> DW_AT_decl_file : 2 + <5e> DW_AT_decl_line : 1159 + <60> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><63>: Abbrev Number: 6 (DW_TAG_union_type) + <64> DW_AT_byte_size : 200 + <65> DW_AT_decl_file : 2 + <66> DW_AT_decl_line : 1150 + <3><68>: Abbrev Number: 5 (DW_TAG_member) + <69> DW_AT_name : (indirect string, offset: 0x18e): pix + <6d> DW_AT_type : <0xf4> + <71> DW_AT_decl_file : 2 + <72> DW_AT_decl_line : 1151 + <74> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><77>: Abbrev Number: 5 (DW_TAG_member) + <78> DW_AT_name : (indirect string, offset: 0x217): pix_mp + <7c> DW_AT_type : <0x1c2> + <80> DW_AT_decl_file : 2 + <81> DW_AT_decl_line : 1152 + <83> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><86>: Abbrev Number: 5 (DW_TAG_member) + <87> DW_AT_name : (indirect string, offset: 0x29a): win + <8b> DW_AT_type : <0x32f> + <8f> DW_AT_decl_file : 2 + <90> DW_AT_decl_line : 1153 + <92> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><95>: Abbrev Number: 5 (DW_TAG_member) + <96> DW_AT_name : (indirect string, offset: 0x308): vbi + <9a> DW_AT_type : <0x423> + <9e> DW_AT_decl_file : 2 + <9f> DW_AT_decl_line : 1154 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x35c): sliced + DW_AT_type : <0x4bf> + DW_AT_decl_file : 2 + DW_AT_decl_line : 1155 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x39c): sdr + DW_AT_type : <0x519> + DW_AT_decl_file : 2 + DW_AT_decl_line : 1156 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x3bb): meta + DW_AT_type : <0x55d> + DW_AT_decl_file : 2 + DW_AT_decl_line : 1157 + DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x3dc): raw_data + DW_AT_type : <0x585> + DW_AT_decl_file : 2 + DW_AT_decl_line : 1158 +
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xed> + DW_AT_name : (indirect string, offset: 0x184): __u32 + DW_AT_decl_file : 1 + DW_AT_decl_line : 28 + <1>: Abbrev Number: 7 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x177): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 8 (DW_TAG_structure_type) + DW_AT_name : (indirect string, offset: 0x207): v4l2_pix_format + DW_AT_byte_size : 48 + DW_AT_decl_file : 2 + DW_AT_decl_line : 182 + <2>: Abbrev Number: 9 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x192): width + <101> DW_AT_type : <0xe2> + <105> DW_AT_decl_file : 2 + <106> DW_AT_decl_line : 183 + <107> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><10a>: Abbrev Number: 9 (DW_TAG_member) + <10b> DW_AT_name : (indirect string, offset: 0x198): height + <10f> DW_AT_type : <0xe2> + <113> DW_AT_decl_file : 2 + <114> DW_AT_decl_line : 184 + <115> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><118>: Abbrev Number: 9 (DW_TAG_member) + <119> DW_AT_name : (indirect string, offset: 0x19f): pixelformat + <11d> DW_AT_type : <0xe2> + <121> DW_AT_decl_file : 2 + <122> DW_AT_decl_line : 185 + <123> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><126>: Abbrev Number: 9 (DW_TAG_member) + <127> DW_AT_name : (indirect string, offset: 0x1ab): field + <12b> DW_AT_type : <0xe2> + <12f> DW_AT_decl_file : 2 + <130> DW_AT_decl_line : 186 + <131> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><134>: Abbrev Number: 9 (DW_TAG_member) + <135> DW_AT_name : (indirect string, offset: 0x1b1): bytesperline + <139> DW_AT_type : <0xe2> + <13d> DW_AT_decl_file : 2 + <13e> DW_AT_decl_line : 187 + <13f> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><142>: Abbrev Number: 9 (DW_TAG_member) + <143> DW_AT_name : (indirect string, offset: 0x1be): sizeimage + <147> DW_AT_type : <0xe2> + <14b> DW_AT_decl_file : 2 + <14c> DW_AT_decl_line : 188 + <14d> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><150>: Abbrev Number: 9 (DW_TAG_member) + <151> DW_AT_name : (indirect string, offset: 0x1c8): colorspace + <155> DW_AT_type : <0xe2> + <159> DW_AT_decl_file : 2 + <15a> DW_AT_decl_line : 189 + <15b> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><15e>: Abbrev Number: 9 (DW_TAG_member) + <15f> DW_AT_name : (indirect string, offset: 0x1d3): priv + <163> DW_AT_type : <0xe2> + <167> DW_AT_decl_file : 2 + <168> DW_AT_decl_line : 190 + <169> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2><16c>: Abbrev Number: 9 (DW_TAG_member) + <16d> DW_AT_name : (indirect string, offset: 0x1d8): flags + <171> DW_AT_type : <0xe2> + <175> DW_AT_decl_file : 2 + <176> DW_AT_decl_line : 191 + <177> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><17a>: Abbrev Number: 10 (DW_TAG_member) + <17b> DW_AT_type : <0x184> + <17f> DW_AT_decl_file : 2 + <180> DW_AT_decl_line : 192 + <181> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><184>: Abbrev Number: 11 (DW_TAG_union_type) + <185> DW_AT_byte_size : 4 + <186> DW_AT_decl_file : 2 + <187> DW_AT_decl_line : 192 + <3><188>: Abbrev Number: 9 (DW_TAG_member) + <189> DW_AT_name : (indirect string, offset: 0x1de): ycbcr_enc + <18d> DW_AT_type : <0xe2> + <191> DW_AT_decl_file : 2 + <192> DW_AT_decl_line : 193 + <193> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><196>: Abbrev Number: 9 (DW_TAG_member) + <197> DW_AT_name : (indirect string, offset: 0x1e8): hsv_enc + <19b> DW_AT_type : <0xe2> + <19f> DW_AT_decl_file : 2 + <1a0> DW_AT_decl_line : 194 + <1a1> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><1a4>: Abbrev Number: 0 + <2><1a5>: Abbrev Number: 9 (DW_TAG_member) + <1a6> DW_AT_name : (indirect string, offset: 0x1f0): quantization + <1aa> DW_AT_type : <0xe2> + <1ae> DW_AT_decl_file : 2 + <1af> DW_AT_decl_line : 196 + <1b0> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) + <2><1b3>: Abbrev Number: 9 (DW_TAG_member) + <1b4> DW_AT_name : (indirect string, offset: 0x1fd): xfer_func + <1b8> DW_AT_type : <0xe2> + <1bc> DW_AT_decl_file : 2 + <1bd> DW_AT_decl_line : 197 + <1be> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) + <2><1c1>: Abbrev Number: 0 + <1><1c2>: Abbrev Number: 4 (DW_TAG_structure_type) + <1c3> DW_AT_name : (indirect string, offset: 0x283): v4l2_pix_format_mplane + <1c7> DW_AT_byte_size : 192 + <1c8> DW_AT_decl_file : 2 + <1c9> DW_AT_decl_line : 1122 + <2><1cb>: Abbrev Number: 5 (DW_TAG_member) + <1cc> DW_AT_name : (indirect string, offset: 0x192): width + <1d0> DW_AT_type : <0xe2> + <1d4> DW_AT_decl_file : 2 + <1d5> DW_AT_decl_line : 1123 + <1d7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><1da>: Abbrev Number: 5 (DW_TAG_member) + <1db> DW_AT_name : (indirect string, offset: 0x198): height + <1df> DW_AT_type : <0xe2> + <1e3> DW_AT_decl_file : 2 + <1e4> DW_AT_decl_line : 1124 + <1e6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><1e9>: Abbrev Number: 5 (DW_TAG_member) + <1ea> DW_AT_name : (indirect string, offset: 0x19f): pixelformat + <1ee> DW_AT_type : <0xe2> + <1f2> DW_AT_decl_file : 2 + <1f3> DW_AT_decl_line : 1125 + <1f5> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><1f8>: Abbrev Number: 5 (DW_TAG_member) + <1f9> DW_AT_name : (indirect string, offset: 0x1ab): field + <1fd> DW_AT_type : <0xe2> + <201> DW_AT_decl_file : 2 + <202> DW_AT_decl_line : 1126 + <204> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><207>: Abbrev Number: 5 (DW_TAG_member) + <208> DW_AT_name : (indirect string, offset: 0x1c8): colorspace + <20c> DW_AT_type : <0xe2> + <210> DW_AT_decl_file : 2 + <211> DW_AT_decl_line : 1127 + <213> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><216>: Abbrev Number: 5 (DW_TAG_member) + <217> DW_AT_name : (indirect string, offset: 0x21e): plane_fmt + <21b> DW_AT_type : <0x2a6> + <21f> DW_AT_decl_file : 2 + <220> DW_AT_decl_line : 1128 + <222> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><225>: Abbrev Number: 5 (DW_TAG_member) + <226> DW_AT_name : (indirect string, offset: 0x265): num_planes + <22a> DW_AT_type : <0x310> + <22e> DW_AT_decl_file : 2 + <22f> DW_AT_decl_line : 1129 + <231> DW_AT_data_member_location: 3 byte block: 23 b4 1 (DW_OP_plus_uconst: 180) + <2><235>: Abbrev Number: 5 (DW_TAG_member) + <236> DW_AT_name : (indirect string, offset: 0x1d8): flags + <23a> DW_AT_type : <0x310> + <23e> DW_AT_decl_file : 2 + <23f> DW_AT_decl_line : 1130 + <241> DW_AT_data_member_location: 3 byte block: 23 b5 1 (DW_OP_plus_uconst: 181) + <2><245>: Abbrev Number: 12 (DW_TAG_member) + <246> DW_AT_type : <0x251> + <24a> DW_AT_decl_file : 2 + <24b> DW_AT_decl_line : 1131 + <24d> DW_AT_data_member_location: 3 byte block: 23 b6 1 (DW_OP_plus_uconst: 182) + <2><251>: Abbrev Number: 6 (DW_TAG_union_type) + <252> DW_AT_byte_size : 1 + <253> DW_AT_decl_file : 2 + <254> DW_AT_decl_line : 1131 + <3><256>: Abbrev Number: 5 (DW_TAG_member) + <257> DW_AT_name : (indirect string, offset: 0x1de): ycbcr_enc + <25b> DW_AT_type : <0x310> + <25f> DW_AT_decl_file : 2 + <260> DW_AT_decl_line : 1132 + <262> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><265>: Abbrev Number: 5 (DW_TAG_member) + <266> DW_AT_name : (indirect string, offset: 0x1e8): hsv_enc + <26a> DW_AT_type : <0x310> + <26e> DW_AT_decl_file : 2 + <26f> DW_AT_decl_line : 1133 + <271> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><274>: Abbrev Number: 0 + <2><275>: Abbrev Number: 5 (DW_TAG_member) + <276> DW_AT_name : (indirect string, offset: 0x1f0): quantization + <27a> DW_AT_type : <0x310> + <27e> DW_AT_decl_file : 2 + <27f> DW_AT_decl_line : 1135 + <281> DW_AT_data_member_location: 3 byte block: 23 b7 1 (DW_OP_plus_uconst: 183) + <2><285>: Abbrev Number: 5 (DW_TAG_member) + <286> DW_AT_name : (indirect string, offset: 0x1fd): xfer_func + <28a> DW_AT_type : <0x310> + <28e> DW_AT_decl_file : 2 + <28f> DW_AT_decl_line : 1136 + <291> DW_AT_data_member_location: 3 byte block: 23 b8 1 (DW_OP_plus_uconst: 184) + <2><295>: Abbrev Number: 5 (DW_TAG_member) + <296> DW_AT_name : (indirect string, offset: 0x228): reserved + <29a> DW_AT_type : <0x322> + <29e> DW_AT_decl_file : 2 + <29f> DW_AT_decl_line : 1137 + <2a1> DW_AT_data_member_location: 3 byte block: 23 b9 1 (DW_OP_plus_uconst: 185) + <2><2a5>: Abbrev Number: 0 + <1><2a6>: Abbrev Number: 13 (DW_TAG_array_type) + <2a7> DW_AT_type : <0x2b3> + <2><2ab>: Abbrev Number: 14 (DW_TAG_subrange_type) + <2ac> DW_AT_type : <0x309> + <2b0> DW_AT_lower_bound : 0 + <2b1> DW_AT_count : 8 + <2><2b2>: Abbrev Number: 0 + <1><2b3>: Abbrev Number: 4 (DW_TAG_structure_type) + <2b4> DW_AT_name : (indirect string, offset: 0x24f): v4l2_plane_pix_format + <2b8> DW_AT_byte_size : 20 + <2b9> DW_AT_decl_file : 2 + <2ba> DW_AT_decl_line : 1117 + <2><2bc>: Abbrev Number: 5 (DW_TAG_member) + <2bd> DW_AT_name : (indirect string, offset: 0x1be): sizeimage + <2c1> DW_AT_type : <0xe2> + <2c5> DW_AT_decl_file : 2 + <2c6> DW_AT_decl_line : 1118 + <2c8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><2cb>: Abbrev Number: 5 (DW_TAG_member) + <2cc> DW_AT_name : (indirect string, offset: 0x1b1): bytesperline + <2d0> DW_AT_type : <0xe2> + <2d4> DW_AT_decl_file : 2 + <2d5> DW_AT_decl_line : 1119 + <2d7> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><2da>: Abbrev Number: 5 (DW_TAG_member) + <2db> DW_AT_name : (indirect string, offset: 0x228): reserved + <2df> DW_AT_type : <0x2ea> + <2e3> DW_AT_decl_file : 2 + <2e4> DW_AT_decl_line : 1120 + <2e6> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><2e9>: Abbrev Number: 0 + <1><2ea>: Abbrev Number: 13 (DW_TAG_array_type) + <2eb> DW_AT_type : <0x2f7> + <2><2ef>: Abbrev Number: 14 (DW_TAG_subrange_type) + <2f0> DW_AT_type : <0x309> + <2f4> DW_AT_lower_bound : 0 + <2f5> DW_AT_count : 6 + <2><2f6>: Abbrev Number: 0 + <1><2f7>: Abbrev Number: 3 (DW_TAG_typedef) + <2f8> DW_AT_type : <0x302> + <2fc> DW_AT_name : (indirect string, offset: 0x240): __u16 + <300> DW_AT_decl_file : 1 + <301> DW_AT_decl_line : 26 + <1><302>: Abbrev Number: 7 (DW_TAG_base_type) + <303> DW_AT_name : (indirect string, offset: 0x231): unsigned short + <307> DW_AT_encoding : 7 (unsigned) + <308> DW_AT_byte_size : 2 + <1><309>: Abbrev Number: 15 (DW_TAG_base_type) + <30a> DW_AT_name : (indirect string, offset: 0x246): sizetype + <30e> DW_AT_byte_size : 8 + <30f> DW_AT_encoding : 7 (unsigned) + <1><310>: Abbrev Number: 3 (DW_TAG_typedef) + <311> DW_AT_type : <0x31b> + <315> DW_AT_name : (indirect string, offset: 0x27e): __u8 + <319> DW_AT_decl_file : 1 + <31a> DW_AT_decl_line : 24 + <1><31b>: Abbrev Number: 7 (DW_TAG_base_type) + <31c> DW_AT_name : (indirect string, offset: 0x270): unsigned char + <320> DW_AT_encoding : 8 (unsigned char) + <321> DW_AT_byte_size : 1 + <1><322>: Abbrev Number: 13 (DW_TAG_array_type) + <323> DW_AT_type : <0x310> + <2><327>: Abbrev Number: 14 (DW_TAG_subrange_type) + <328> DW_AT_type : <0x309> + <32c> DW_AT_lower_bound : 0 + <32d> DW_AT_count : 7 + <2><32e>: Abbrev Number: 0 + <1><32f>: Abbrev Number: 4 (DW_TAG_structure_type) + <330> DW_AT_name : (indirect string, offset: 0x2fc): v4l2_window + <334> DW_AT_byte_size : 40 + <335> DW_AT_decl_file : 2 + <336> DW_AT_decl_line : 554 + <2><338>: Abbrev Number: 5 (DW_TAG_member) + <339> DW_AT_name : (indirect string, offset: 0x29e): w + <33d> DW_AT_type : <0x3a2> + <341> DW_AT_decl_file : 2 + <342> DW_AT_decl_line : 555 + <344> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><347>: Abbrev Number: 5 (DW_TAG_member) + <348> DW_AT_name : (indirect string, offset: 0x1ab): field + <34c> DW_AT_type : <0xe2> + <350> DW_AT_decl_file : 2 + <351> DW_AT_decl_line : 556 + <353> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><356>: Abbrev Number: 5 (DW_TAG_member) + <357> DW_AT_name : (indirect string, offset: 0x2bd): chromakey + <35b> DW_AT_type : <0xe2> + <35f> DW_AT_decl_file : 2 + <360> DW_AT_decl_line : 557 + <362> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><365>: Abbrev Number: 5 (DW_TAG_member) + <366> DW_AT_name : (indirect string, offset: 0x2c7): clips + <36a> DW_AT_type : <0x3f5> + <36e> DW_AT_decl_file : 2 + <36f> DW_AT_decl_line : 558 + <371> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><374>: Abbrev Number: 5 (DW_TAG_member) + <375> DW_AT_name : (indirect string, offset: 0x2de): clipcount + <379> DW_AT_type : <0xe2> + <37d> DW_AT_decl_file : 2 + <37e> DW_AT_decl_line : 559 + <380> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2><383>: Abbrev Number: 5 (DW_TAG_member) + <384> DW_AT_name : (indirect string, offset: 0x2e8): bitmap + <388> DW_AT_type : <0x422> + <38c> DW_AT_decl_file : 2 + <38d> DW_AT_decl_line : 560 + <38f> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><392>: Abbrev Number: 5 (DW_TAG_member) + <393> DW_AT_name : (indirect string, offset: 0x2ef): global_alpha + <397> DW_AT_type : <0x310> + <39b> DW_AT_decl_file : 2 + <39c> DW_AT_decl_line : 561 + <39e> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><3a1>: Abbrev Number: 0 + <1><3a2>: Abbrev Number: 8 (DW_TAG_structure_type) + <3a3> DW_AT_name : (indirect string, offset: 0x2b3): v4l2_rect + <3a7> DW_AT_byte_size : 16 + <3a8> DW_AT_decl_file : 2 + <3a9> DW_AT_decl_line : 135 + <2><3aa>: Abbrev Number: 9 (DW_TAG_member) + <3ab> DW_AT_name : (indirect string, offset: 0x2a0): left + <3af> DW_AT_type : <0x3e3> + <3b3> DW_AT_decl_file : 2 + <3b4> DW_AT_decl_line : 136 + <3b5> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><3b8>: Abbrev Number: 9 (DW_TAG_member) + <3b9> DW_AT_name : (indirect string, offset: 0x2af): top + <3bd> DW_AT_type : <0x3e3> + <3c1> DW_AT_decl_file : 2 + <3c2> DW_AT_decl_line : 137 + <3c3> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><3c6>: Abbrev Number: 9 (DW_TAG_member) + <3c7> DW_AT_name : (indirect string, offset: 0x192): width + <3cb> DW_AT_type : <0xe2> + <3cf> DW_AT_decl_file : 2 + <3d0> DW_AT_decl_line : 138 + <3d1> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><3d4>: Abbrev Number: 9 (DW_TAG_member) + <3d5> DW_AT_name : (indirect string, offset: 0x198): height + <3d9> DW_AT_type : <0xe2> + <3dd> DW_AT_decl_file : 2 + <3de> DW_AT_decl_line : 139 + <3df> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><3e2>: Abbrev Number: 0 + <1><3e3>: Abbrev Number: 3 (DW_TAG_typedef) + <3e4> DW_AT_type : <0x3ee> + <3e8> DW_AT_name : (indirect string, offset: 0x2a9): __s32 + <3ec> DW_AT_decl_file : 1 + <3ed> DW_AT_decl_line : 27 + <1><3ee>: Abbrev Number: 7 (DW_TAG_base_type) + <3ef> DW_AT_name : (indirect string, offset: 0x2a5): int + <3f3> DW_AT_encoding : 5 (signed) + <3f4> DW_AT_byte_size : 4 + <1><3f5>: Abbrev Number: 16 (DW_TAG_pointer_type) + <3f6> DW_AT_type : <0x3fa> + <1><3fa>: Abbrev Number: 4 (DW_TAG_structure_type) + <3fb> DW_AT_name : (indirect string, offset: 0x2d4): v4l2_clip + <3ff> DW_AT_byte_size : 20 + <400> DW_AT_decl_file : 2 + <401> DW_AT_decl_line : 550 + <2><403>: Abbrev Number: 5 (DW_TAG_member) + <404> DW_AT_name : (indirect string, offset: 0x2cd): c + <408> DW_AT_type : <0x3a2> + <40c> DW_AT_decl_file : 2 + <40d> DW_AT_decl_line : 551 + <40f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><412>: Abbrev Number: 5 (DW_TAG_member) + <413> DW_AT_name : (indirect string, offset: 0x2cf): next + <417> DW_AT_type : <0x3f5> + <41b> DW_AT_decl_file : 2 + <41c> DW_AT_decl_line : 552 + <41e> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><421>: Abbrev Number: 0 + <1><422>: Abbrev Number: 17 (DW_TAG_pointer_type) + <1><423>: Abbrev Number: 4 (DW_TAG_structure_type) + <424> DW_AT_name : (indirect string, offset: 0x34c): v4l2_vbi_format + <428> DW_AT_byte_size : 44 + <429> DW_AT_decl_file : 2 + <42a> DW_AT_decl_line : 1052 + <2><42c>: Abbrev Number: 5 (DW_TAG_member) + <42d> DW_AT_name : (indirect string, offset: 0x30c): sampling_rate + <431> DW_AT_type : <0xe2> + <435> DW_AT_decl_file : 2 + <436> DW_AT_decl_line : 1053 + <438> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><43b>: Abbrev Number: 5 (DW_TAG_member) + <43c> DW_AT_name : (indirect string, offset: 0x31a): offset + <440> DW_AT_type : <0xe2> + <444> DW_AT_decl_file : 2 + <445> DW_AT_decl_line : 1054 + <447> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><44a>: Abbrev Number: 5 (DW_TAG_member) + <44b> DW_AT_name : (indirect string, offset: 0x321): samples_per_line + <44f> DW_AT_type : <0xe2> + <453> DW_AT_decl_file : 2 + <454> DW_AT_decl_line : 1055 + <456> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><459>: Abbrev Number: 5 (DW_TAG_member) + <45a> DW_AT_name : (indirect string, offset: 0x332): sample_format + <45e> DW_AT_type : <0xe2> + <462> DW_AT_decl_file : 2 + <463> DW_AT_decl_line : 1056 + <465> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><468>: Abbrev Number: 5 (DW_TAG_member) + <469> DW_AT_name : (indirect string, offset: 0x340): start + <46d> DW_AT_type : <0x4a5> + <471> DW_AT_decl_file : 2 + <472> DW_AT_decl_line : 1057 + <474> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><477>: Abbrev Number: 5 (DW_TAG_member) + <478> DW_AT_name : (indirect string, offset: 0x346): count + <47c> DW_AT_type : <0x4b2> + <480> DW_AT_decl_file : 2 + <481> DW_AT_decl_line : 1058 + <483> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><486>: Abbrev Number: 5 (DW_TAG_member) + <487> DW_AT_name : (indirect string, offset: 0x1d8): flags + <48b> DW_AT_type : <0xe2> + <48f> DW_AT_decl_file : 2 + <490> DW_AT_decl_line : 1059 + <492> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) + <2><495>: Abbrev Number: 5 (DW_TAG_member) + <496> DW_AT_name : (indirect string, offset: 0x228): reserved + <49a> DW_AT_type : <0x4b2> + <49e> DW_AT_decl_file : 2 + <49f> DW_AT_decl_line : 1060 + <4a1> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><4a4>: Abbrev Number: 0 + <1><4a5>: Abbrev Number: 13 (DW_TAG_array_type) + <4a6> DW_AT_type : <0x3e3> + <2><4aa>: Abbrev Number: 14 (DW_TAG_subrange_type) + <4ab> DW_AT_type : <0x309> + <4af> DW_AT_lower_bound : 0 + <4b0> DW_AT_count : 2 + <2><4b1>: Abbrev Number: 0 + <1><4b2>: Abbrev Number: 13 (DW_TAG_array_type) + <4b3> DW_AT_type : <0xe2> + <2><4b7>: Abbrev Number: 14 (DW_TAG_subrange_type) + <4b8> DW_AT_type : <0x309> + <4bc> DW_AT_lower_bound : 0 + <4bd> DW_AT_count : 2 + <2><4be>: Abbrev Number: 0 + <1><4bf>: Abbrev Number: 4 (DW_TAG_structure_type) + <4c0> DW_AT_name : (indirect string, offset: 0x385): v4l2_sliced_vbi_format + <4c4> DW_AT_byte_size : 112 + <4c5> DW_AT_decl_file : 2 + <4c6> DW_AT_decl_line : 1068 + <2><4c8>: Abbrev Number: 5 (DW_TAG_member) + <4c9> DW_AT_name : (indirect string, offset: 0x363): service_set + <4cd> DW_AT_type : <0x2f7> + <4d1> DW_AT_decl_file : 2 + <4d2> DW_AT_decl_line : 1069 + <4d4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><4d7>: Abbrev Number: 5 (DW_TAG_member) + <4d8> DW_AT_name : (indirect string, offset: 0x36f): service_lines + <4dc> DW_AT_type : <0x505> + <4e0> DW_AT_decl_file : 2 + <4e1> DW_AT_decl_line : 1070 + <4e3> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) + <2><4e6>: Abbrev Number: 5 (DW_TAG_member) + <4e7> DW_AT_name : (indirect string, offset: 0x37d): io_size + <4eb> DW_AT_type : <0xe2> + <4ef> DW_AT_decl_file : 2 + <4f0> DW_AT_decl_line : 1071 + <4f2> DW_AT_data_member_location: 2 byte block: 23 64 (DW_OP_plus_uconst: 100) + <2><4f5>: Abbrev Number: 5 (DW_TAG_member) + <4f6> DW_AT_name : (indirect string, offset: 0x228): reserved + <4fa> DW_AT_type : <0x4b2> + <4fe> DW_AT_decl_file : 2 + <4ff> DW_AT_decl_line : 1072 + <501> DW_AT_data_member_location: 2 byte block: 23 68 (DW_OP_plus_uconst: 104) + <2><504>: Abbrev Number: 0 + <1><505>: Abbrev Number: 13 (DW_TAG_array_type) + <506> DW_AT_type : <0x2f7> + <2><50a>: Abbrev Number: 14 (DW_TAG_subrange_type) + <50b> DW_AT_type : <0x309> + <50f> DW_AT_lower_bound : 0 + <510> DW_AT_count : 2 + <2><511>: Abbrev Number: 14 (DW_TAG_subrange_type) + <512> DW_AT_type : <0x309> + <516> DW_AT_lower_bound : 0 + <517> DW_AT_count : 24 + <2><518>: Abbrev Number: 0 + <1><519>: Abbrev Number: 4 (DW_TAG_structure_type) + <51a> DW_AT_name : (indirect string, offset: 0x3ab): v4l2_sdr_format + <51e> DW_AT_byte_size : 32 + <51f> DW_AT_decl_file : 2 + <520> DW_AT_decl_line : 1139 + <2><522>: Abbrev Number: 5 (DW_TAG_member) + <523> DW_AT_name : (indirect string, offset: 0x19f): pixelformat + <527> DW_AT_type : <0xe2> + <52b> DW_AT_decl_file : 2 + <52c> DW_AT_decl_line : 1140 + <52e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><531>: Abbrev Number: 5 (DW_TAG_member) + <532> DW_AT_name : (indirect string, offset: 0x3a0): buffersize + <536> DW_AT_type : <0xe2> + <53a> DW_AT_decl_file : 2 + <53b> DW_AT_decl_line : 1141 + <53d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><540>: Abbrev Number: 5 (DW_TAG_member) + <541> DW_AT_name : (indirect string, offset: 0x228): reserved + <545> DW_AT_type : <0x550> + <549> DW_AT_decl_file : 2 + <54a> DW_AT_decl_line : 1142 + <54c> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><54f>: Abbrev Number: 0 + <1><550>: Abbrev Number: 13 (DW_TAG_array_type) + <551> DW_AT_type : <0x310> + <2><555>: Abbrev Number: 14 (DW_TAG_subrange_type) + <556> DW_AT_type : <0x309> + <55a> DW_AT_lower_bound : 0 + <55b> DW_AT_count : 24 + <2><55c>: Abbrev Number: 0 + <1><55d>: Abbrev Number: 4 (DW_TAG_structure_type) + <55e> DW_AT_name : (indirect string, offset: 0x3cb): v4l2_meta_format + <562> DW_AT_byte_size : 8 + <563> DW_AT_decl_file : 2 + <564> DW_AT_decl_line : 1144 + <2><566>: Abbrev Number: 5 (DW_TAG_member) + <567> DW_AT_name : (indirect string, offset: 0x3c0): dataformat + <56b> DW_AT_type : <0xe2> + <56f> DW_AT_decl_file : 2 + <570> DW_AT_decl_line : 1145 + <572> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><575>: Abbrev Number: 5 (DW_TAG_member) + <576> DW_AT_name : (indirect string, offset: 0x3a0): buffersize + <57a> DW_AT_type : <0xe2> + <57e> DW_AT_decl_file : 2 + <57f> DW_AT_decl_line : 1146 + <581> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><584>: Abbrev Number: 0 + <1><585>: Abbrev Number: 13 (DW_TAG_array_type) + <586> DW_AT_type : <0x310> + <2><58a>: Abbrev Number: 14 (DW_TAG_subrange_type) + <58b> DW_AT_type : <0x309> + <58f> DW_AT_lower_bound : 0 + <590> DW_AT_count : 200 + <2><591>: Abbrev Number: 0 + <1><592>: Abbrev Number: 0 diff --git a/mpers-m32/struct_v4l2_format.d2 b/mpers-m32/struct_v4l2_format.d2 index b5b51684..e80bdc1d 100644 --- a/mpers-m32/struct_v4l2_format.d2 +++ b/mpers-m32/struct_v4l2_format.d2 @@ -1,713 +1,713 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x97): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x161): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x327): struct_v4l2_format +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x3f1): struct_v4l2_format DW_AT_decl_file : 3 DW_AT_decl_line : 48 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x31b): v4l2_format +DW_AT_name : (indirect string, offset: 0x3e5): v4l2_format DW_AT_byte_size : 204 DW_AT_decl_file : 2 -DW_AT_decl_line : 1141 -<2><44> +DW_AT_decl_line : 1148 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa8): type -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x172): type +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1142 +DW_AT_decl_line : 1149 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc0): fmt -DW_AT_type : <0x62> +DW_AT_name : (indirect string, offset: 0x18a): fmt +DW_AT_type : <0x63> DW_AT_decl_file : 2 -DW_AT_decl_line : 1152 +DW_AT_decl_line : 1159 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><62> +<2><63> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 200 DW_AT_decl_file : 2 -DW_AT_decl_line : 1143 -<3><67> +DW_AT_decl_line : 1150 +<3><68> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc4): pix -DW_AT_type : <0xf3> +DW_AT_name : (indirect string, offset: 0x18e): pix +DW_AT_type : <0xf4> DW_AT_decl_file : 2 -DW_AT_decl_line : 1144 +DW_AT_decl_line : 1151 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><76> +<3><77> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x14d): pix_mp -DW_AT_type : <0x1c1> +DW_AT_name : (indirect string, offset: 0x217): pix_mp +DW_AT_type : <0x1c2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1145 +DW_AT_decl_line : 1152 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><85> +<3><86> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d0): win -DW_AT_type : <0x32e> +DW_AT_name : (indirect string, offset: 0x29a): win +DW_AT_type : <0x32f> DW_AT_decl_file : 2 -DW_AT_decl_line : 1146 +DW_AT_decl_line : 1153 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><94> +<3><95> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x23e): vbi -DW_AT_type : <0x422> +DW_AT_name : (indirect string, offset: 0x308): vbi +DW_AT_type : <0x423> DW_AT_decl_file : 2 -DW_AT_decl_line : 1147 +DW_AT_decl_line : 1154 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x292): sliced -DW_AT_type : <0x4be> +DW_AT_name : (indirect string, offset: 0x35c): sliced +DW_AT_type : <0x4bf> DW_AT_decl_file : 2 -DW_AT_decl_line : 1148 +DW_AT_decl_line : 1155 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2d2): sdr -DW_AT_type : <0x518> +DW_AT_name : (indirect string, offset: 0x39c): sdr +DW_AT_type : <0x519> DW_AT_decl_file : 2 -DW_AT_decl_line : 1149 +DW_AT_decl_line : 1156 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2f1): meta -DW_AT_type : <0x55c> +DW_AT_name : (indirect string, offset: 0x3bb): meta +DW_AT_type : <0x55d> DW_AT_decl_file : 2 -DW_AT_decl_line : 1150 +DW_AT_decl_line : 1157 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x312): raw_data -DW_AT_type : <0x584> +DW_AT_name : (indirect string, offset: 0x3dc): raw_data +DW_AT_type : <0x585> DW_AT_decl_file : 2 -DW_AT_decl_line : 1151 +DW_AT_decl_line : 1158 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xec> -DW_AT_name : (indirect string, offset: 0xba): __u32 +DW_AT_type : <0xed> +DW_AT_name : (indirect string, offset: 0x184): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1> +<1> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xad): unsigned int +DW_AT_name : (indirect string, offset: 0x177): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 8 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x13d): v4l2_pix_format +DW_AT_name : (indirect string, offset: 0x207): v4l2_pix_format DW_AT_byte_size : 48 DW_AT_decl_file : 2 DW_AT_decl_line : 182 -<2> +<2> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc8): width -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x192): width +DW_AT_type : <0xe2> 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> +<2><10a> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xce): height -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x198): height +DW_AT_type : <0xe2> 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> +<2><118> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd5): pixelformat -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x19f): pixelformat +DW_AT_type : <0xe2> 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> +<2><126> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe1): field -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1ab): field +DW_AT_type : <0xe2> 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> +<2><134> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe7): bytesperline -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1b1): bytesperline +DW_AT_type : <0xe2> 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> +<2><142> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf4): sizeimage -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1be): sizeimage +DW_AT_type : <0xe2> 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> +<2><150> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfe): colorspace -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1c8): colorspace +DW_AT_type : <0xe2> 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> +<2><15e> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x109): priv -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1d3): priv +DW_AT_type : <0xe2> 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> +<2><16c> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10e): flags -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1d8): flags +DW_AT_type : <0xe2> 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> +<2><17a> Abbrev Number: 10 (DW_TAG_member) -DW_AT_type : <0x183> +DW_AT_type : <0x184> 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> +<2><184> Abbrev Number: 11 (DW_TAG_union_type) DW_AT_byte_size : 4 DW_AT_decl_file : 2 DW_AT_decl_line : 192 -<3><187> +<3><188> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x114): ycbcr_enc -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1de): ycbcr_enc +DW_AT_type : <0xe2> 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> +<3><196> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11e): hsv_enc -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1e8): hsv_enc +DW_AT_type : <0xe2> 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> +<2><1a5> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x126): quantization -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1f0): quantization +DW_AT_type : <0xe2> 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> +<2><1b3> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x133): xfer_func -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1fd): xfer_func +DW_AT_type : <0xe2> 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> +<1><1c2> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1b9): v4l2_pix_format_mplane +DW_AT_name : (indirect string, offset: 0x283): v4l2_pix_format_mplane DW_AT_byte_size : 192 DW_AT_decl_file : 2 -DW_AT_decl_line : 1115 -<2><1ca> +DW_AT_decl_line : 1122 +<2><1cb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc8): width -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x192): width +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1116 +DW_AT_decl_line : 1123 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><1d9> +<2><1da> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xce): height -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x198): height +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1117 +DW_AT_decl_line : 1124 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><1e8> +<2><1e9> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd5): pixelformat -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x19f): pixelformat +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1118 +DW_AT_decl_line : 1125 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><1f7> +<2><1f8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe1): field -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1ab): field +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1119 +DW_AT_decl_line : 1126 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><206> +<2><207> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfe): colorspace -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1c8): colorspace +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1120 +DW_AT_decl_line : 1127 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><215> +<2><216> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x154): plane_fmt -DW_AT_type : <0x2a5> +DW_AT_name : (indirect string, offset: 0x21e): plane_fmt +DW_AT_type : <0x2a6> DW_AT_decl_file : 2 -DW_AT_decl_line : 1121 +DW_AT_decl_line : 1128 DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) -<2><224> +<2><225> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x19b): num_planes -DW_AT_type : <0x30f> +DW_AT_name : (indirect string, offset: 0x265): num_planes +DW_AT_type : <0x310> DW_AT_decl_file : 2 -DW_AT_decl_line : 1122 +DW_AT_decl_line : 1129 DW_AT_data_member_location: 3 byte block: 23 b4 1 (DW_OP_plus_uconst: 180) -<2><234> +<2><235> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10e): flags -DW_AT_type : <0x30f> +DW_AT_name : (indirect string, offset: 0x1d8): flags +DW_AT_type : <0x310> DW_AT_decl_file : 2 -DW_AT_decl_line : 1123 +DW_AT_decl_line : 1130 DW_AT_data_member_location: 3 byte block: 23 b5 1 (DW_OP_plus_uconst: 181) -<2><244> +<2><245> Abbrev Number: 12 (DW_TAG_member) -DW_AT_type : <0x250> +DW_AT_type : <0x251> DW_AT_decl_file : 2 -DW_AT_decl_line : 1124 +DW_AT_decl_line : 1131 DW_AT_data_member_location: 3 byte block: 23 b6 1 (DW_OP_plus_uconst: 182) -<2><250> +<2><251> Abbrev Number: 6 (DW_TAG_union_type) DW_AT_byte_size : 1 DW_AT_decl_file : 2 -DW_AT_decl_line : 1124 -<3><255> +DW_AT_decl_line : 1131 +<3><256> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x114): ycbcr_enc -DW_AT_type : <0x30f> +DW_AT_name : (indirect string, offset: 0x1de): ycbcr_enc +DW_AT_type : <0x310> DW_AT_decl_file : 2 -DW_AT_decl_line : 1125 +DW_AT_decl_line : 1132 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><264> +<3><265> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11e): hsv_enc -DW_AT_type : <0x30f> +DW_AT_name : (indirect string, offset: 0x1e8): hsv_enc +DW_AT_type : <0x310> DW_AT_decl_file : 2 -DW_AT_decl_line : 1126 +DW_AT_decl_line : 1133 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><274> +<2><275> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x126): quantization -DW_AT_type : <0x30f> +DW_AT_name : (indirect string, offset: 0x1f0): quantization +DW_AT_type : <0x310> DW_AT_decl_file : 2 -DW_AT_decl_line : 1128 +DW_AT_decl_line : 1135 DW_AT_data_member_location: 3 byte block: 23 b7 1 (DW_OP_plus_uconst: 183) -<2><284> +<2><285> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x133): xfer_func -DW_AT_type : <0x30f> +DW_AT_name : (indirect string, offset: 0x1fd): xfer_func +DW_AT_type : <0x310> DW_AT_decl_file : 2 -DW_AT_decl_line : 1129 +DW_AT_decl_line : 1136 DW_AT_data_member_location: 3 byte block: 23 b8 1 (DW_OP_plus_uconst: 184) -<2><294> +<2><295> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15e): reserved -DW_AT_type : <0x321> +DW_AT_name : (indirect string, offset: 0x228): reserved +DW_AT_type : <0x322> DW_AT_decl_file : 2 -DW_AT_decl_line : 1130 +DW_AT_decl_line : 1137 DW_AT_data_member_location: 3 byte block: 23 b9 1 (DW_OP_plus_uconst: 185) -<1><2a5> +<1><2a6> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x2b2> -<2><2aa> +DW_AT_type : <0x2b3> +<2><2ab> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x308> +DW_AT_type : <0x309> DW_AT_lower_bound : 0 DW_AT_count : 8 -<1><2b2> +<1><2b3> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x185): v4l2_plane_pix_format +DW_AT_name : (indirect string, offset: 0x24f): v4l2_plane_pix_format DW_AT_byte_size : 20 DW_AT_decl_file : 2 -DW_AT_decl_line : 1110 -<2><2bb> +DW_AT_decl_line : 1117 +<2><2bc> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf4): sizeimage -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1be): sizeimage +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1111 +DW_AT_decl_line : 1118 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><2ca> +<2><2cb> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe7): bytesperline -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1b1): bytesperline +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1112 +DW_AT_decl_line : 1119 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><2d9> +<2><2da> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15e): reserved -DW_AT_type : <0x2e9> +DW_AT_name : (indirect string, offset: 0x228): reserved +DW_AT_type : <0x2ea> DW_AT_decl_file : 2 -DW_AT_decl_line : 1113 +DW_AT_decl_line : 1120 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<1><2e9> +<1><2ea> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x2f6> -<2><2ee> +DW_AT_type : <0x2f7> +<2><2ef> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x308> +DW_AT_type : <0x309> DW_AT_lower_bound : 0 DW_AT_count : 6 -<1><2f6> +<1><2f7> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x301> -DW_AT_name : (indirect string, offset: 0x176): __u16 +DW_AT_type : <0x302> +DW_AT_name : (indirect string, offset: 0x240): __u16 DW_AT_decl_file : 1 DW_AT_decl_line : 26 -<1><301> +<1><302> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x167): unsigned short +DW_AT_name : (indirect string, offset: 0x231): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><308> +<1><309> Abbrev Number: 15 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x17c): sizetype +DW_AT_name : (indirect string, offset: 0x246): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><30f> +<1><310> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x31a> -DW_AT_name : (indirect string, offset: 0x1b4): __u8 +DW_AT_type : <0x31b> +DW_AT_name : (indirect string, offset: 0x27e): __u8 DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1><31a> +<1><31b> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1a6): unsigned char +DW_AT_name : (indirect string, offset: 0x270): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1><321> +<1><322> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x30f> -<2><326> +DW_AT_type : <0x310> +<2><327> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x308> +DW_AT_type : <0x309> DW_AT_lower_bound : 0 DW_AT_count : 7 -<1><32e> +<1><32f> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x232): v4l2_window +DW_AT_name : (indirect string, offset: 0x2fc): v4l2_window DW_AT_byte_size : 40 DW_AT_decl_file : 2 -DW_AT_decl_line : 547 -<2><337> +DW_AT_decl_line : 554 +<2><338> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d4): w -DW_AT_type : <0x3a1> +DW_AT_name : (indirect string, offset: 0x29e): w +DW_AT_type : <0x3a2> DW_AT_decl_file : 2 -DW_AT_decl_line : 548 +DW_AT_decl_line : 555 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><346> +<2><347> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe1): field -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1ab): field +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 549 +DW_AT_decl_line : 556 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><355> +<2><356> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1f3): chromakey -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x2bd): chromakey +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 550 +DW_AT_decl_line : 557 DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) -<2><364> +<2><365> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1fd): clips -DW_AT_type : <0x3f4> +DW_AT_name : (indirect string, offset: 0x2c7): clips +DW_AT_type : <0x3f5> DW_AT_decl_file : 2 -DW_AT_decl_line : 551 +DW_AT_decl_line : 558 DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) -<2><373> +<2><374> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x214): clipcount -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x2de): clipcount +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 552 +DW_AT_decl_line : 559 DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) -<2><382> +<2><383> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x21e): bitmap -DW_AT_type : <0x421> +DW_AT_name : (indirect string, offset: 0x2e8): bitmap +DW_AT_type : <0x422> DW_AT_decl_file : 2 -DW_AT_decl_line : 553 +DW_AT_decl_line : 560 DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) -<2><391> +<2><392> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x225): global_alpha -DW_AT_type : <0x30f> +DW_AT_name : (indirect string, offset: 0x2ef): global_alpha +DW_AT_type : <0x310> DW_AT_decl_file : 2 -DW_AT_decl_line : 554 +DW_AT_decl_line : 561 DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) -<1><3a1> +<1><3a2> Abbrev Number: 8 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x1e9): v4l2_rect +DW_AT_name : (indirect string, offset: 0x2b3): v4l2_rect DW_AT_byte_size : 16 DW_AT_decl_file : 2 DW_AT_decl_line : 135 -<2><3a9> +<2><3aa> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1d6): left -DW_AT_type : <0x3e2> +DW_AT_name : (indirect string, offset: 0x2a0): left +DW_AT_type : <0x3e3> 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> +<2><3b8> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x1e5): top -DW_AT_type : <0x3e2> +DW_AT_name : (indirect string, offset: 0x2af): top +DW_AT_type : <0x3e3> 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> +<2><3c6> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc8): width -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x192): width +DW_AT_type : <0xe2> 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> +<2><3d4> Abbrev Number: 9 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xce): height -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x198): height +DW_AT_type : <0xe2> 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> +<1><3e3> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3ed> -DW_AT_name : (indirect string, offset: 0x1df): __s32 +DW_AT_type : <0x3ee> +DW_AT_name : (indirect string, offset: 0x2a9): __s32 DW_AT_decl_file : 1 DW_AT_decl_line : 27 -<1><3ed> +<1><3ee> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x1db): int +DW_AT_name : (indirect string, offset: 0x2a5): int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><3f4> +<1><3f5> Abbrev Number: 16 (DW_TAG_pointer_type) -DW_AT_type : <0x3f9> -<1><3f9> +DW_AT_type : <0x3fa> +<1><3fa> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x20a): v4l2_clip +DW_AT_name : (indirect string, offset: 0x2d4): v4l2_clip DW_AT_byte_size : 20 DW_AT_decl_file : 2 -DW_AT_decl_line : 543 -<2><402> +DW_AT_decl_line : 550 +<2><403> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x203): c -DW_AT_type : <0x3a1> +DW_AT_name : (indirect string, offset: 0x2cd): c +DW_AT_type : <0x3a2> DW_AT_decl_file : 2 -DW_AT_decl_line : 544 +DW_AT_decl_line : 551 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><411> +<2><412> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x205): next -DW_AT_type : <0x3f4> +DW_AT_name : (indirect string, offset: 0x2cf): next +DW_AT_type : <0x3f5> DW_AT_decl_file : 2 -DW_AT_decl_line : 545 +DW_AT_decl_line : 552 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: 17 (DW_TAG_pointer_type) +<1><423> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x282): v4l2_vbi_format +DW_AT_name : (indirect string, offset: 0x34c): v4l2_vbi_format DW_AT_byte_size : 44 DW_AT_decl_file : 2 -DW_AT_decl_line : 1045 -<2><42b> +DW_AT_decl_line : 1052 +<2><42c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x242): sampling_rate -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x30c): sampling_rate +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1046 +DW_AT_decl_line : 1053 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><43a> +<2><43b> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x250): offset -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x31a): offset +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1047 +DW_AT_decl_line : 1054 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><449> +<2><44a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x257): samples_per_line -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x321): samples_per_line +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1048 +DW_AT_decl_line : 1055 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><458> +<2><459> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x268): sample_format -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x332): sample_format +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1049 +DW_AT_decl_line : 1056 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><467> +<2><468> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x276): start -DW_AT_type : <0x4a4> +DW_AT_name : (indirect string, offset: 0x340): start +DW_AT_type : <0x4a5> DW_AT_decl_file : 2 -DW_AT_decl_line : 1050 +DW_AT_decl_line : 1057 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><476> +<2><477> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x27c): count -DW_AT_type : <0x4b1> +DW_AT_name : (indirect string, offset: 0x346): count +DW_AT_type : <0x4b2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1051 +DW_AT_decl_line : 1058 DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) -<2><485> +<2><486> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10e): flags -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x1d8): flags +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1052 +DW_AT_decl_line : 1059 DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) -<2><494> +<2><495> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15e): reserved -DW_AT_type : <0x4b1> +DW_AT_name : (indirect string, offset: 0x228): reserved +DW_AT_type : <0x4b2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1053 +DW_AT_decl_line : 1060 DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) -<1><4a4> +<1><4a5> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x3e2> -<2><4a9> +DW_AT_type : <0x3e3> +<2><4aa> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x308> +DW_AT_type : <0x309> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1><4b1> +<1><4b2> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0xe1> -<2><4b6> +DW_AT_type : <0xe2> +<2><4b7> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x308> +DW_AT_type : <0x309> DW_AT_lower_bound : 0 DW_AT_count : 2 -<1><4be> +<1><4bf> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x2bb): v4l2_sliced_vbi_format +DW_AT_name : (indirect string, offset: 0x385): v4l2_sliced_vbi_format DW_AT_byte_size : 112 DW_AT_decl_file : 2 -DW_AT_decl_line : 1061 -<2><4c7> +DW_AT_decl_line : 1068 +<2><4c8> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x299): service_set -DW_AT_type : <0x2f6> +DW_AT_name : (indirect string, offset: 0x363): service_set +DW_AT_type : <0x2f7> DW_AT_decl_file : 2 -DW_AT_decl_line : 1062 +DW_AT_decl_line : 1069 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><4d6> +<2><4d7> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2a5): service_lines -DW_AT_type : <0x504> +DW_AT_name : (indirect string, offset: 0x36f): service_lines +DW_AT_type : <0x505> DW_AT_decl_file : 2 -DW_AT_decl_line : 1063 +DW_AT_decl_line : 1070 DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2) -<2><4e5> +<2><4e6> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2b3): io_size -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x37d): io_size +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1064 +DW_AT_decl_line : 1071 DW_AT_data_member_location: 2 byte block: 23 64 (DW_OP_plus_uconst: 100) -<2><4f4> +<2><4f5> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15e): reserved -DW_AT_type : <0x4b1> +DW_AT_name : (indirect string, offset: 0x228): reserved +DW_AT_type : <0x4b2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1065 +DW_AT_decl_line : 1072 DW_AT_data_member_location: 2 byte block: 23 68 (DW_OP_plus_uconst: 104) -<1><504> +<1><505> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x2f6> -<2><509> +DW_AT_type : <0x2f7> +<2><50a> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x308> +DW_AT_type : <0x309> DW_AT_lower_bound : 0 DW_AT_count : 2 -<2><510> +<2><511> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x308> +DW_AT_type : <0x309> DW_AT_lower_bound : 0 DW_AT_count : 24 -<1><518> +<1><519> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x2e1): v4l2_sdr_format +DW_AT_name : (indirect string, offset: 0x3ab): v4l2_sdr_format DW_AT_byte_size : 32 DW_AT_decl_file : 2 -DW_AT_decl_line : 1132 -<2><521> +DW_AT_decl_line : 1139 +<2><522> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd5): pixelformat -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x19f): pixelformat +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1133 +DW_AT_decl_line : 1140 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><530> +<2><531> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2d6): buffersize -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x3a0): buffersize +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1134 +DW_AT_decl_line : 1141 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><53f> +<2><540> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15e): reserved -DW_AT_type : <0x54f> +DW_AT_name : (indirect string, offset: 0x228): reserved +DW_AT_type : <0x550> DW_AT_decl_file : 2 -DW_AT_decl_line : 1135 +DW_AT_decl_line : 1142 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<1><54f> +<1><550> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x30f> -<2><554> +DW_AT_type : <0x310> +<2><555> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x308> +DW_AT_type : <0x309> DW_AT_lower_bound : 0 DW_AT_count : 24 -<1><55c> +<1><55d> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x301): v4l2_meta_format +DW_AT_name : (indirect string, offset: 0x3cb): v4l2_meta_format DW_AT_byte_size : 8 DW_AT_decl_file : 2 -DW_AT_decl_line : 1137 -<2><565> +DW_AT_decl_line : 1144 +<2><566> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2f6): dataformat -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x3c0): dataformat +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1138 +DW_AT_decl_line : 1145 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><574> +<2><575> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x2d6): buffersize -DW_AT_type : <0xe1> +DW_AT_name : (indirect string, offset: 0x3a0): buffersize +DW_AT_type : <0xe2> DW_AT_decl_file : 2 -DW_AT_decl_line : 1139 +DW_AT_decl_line : 1146 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<1><584> +<1><585> Abbrev Number: 13 (DW_TAG_array_type) -DW_AT_type : <0x30f> -<2><589> +DW_AT_type : <0x310> +<2><58a> Abbrev Number: 14 (DW_TAG_subrange_type) -DW_AT_type : <0x308> +DW_AT_type : <0x309> DW_AT_lower_bound : 0 DW_AT_count : 200 diff --git a/mpers-m32/struct_v4l2_framebuffer.d1 b/mpers-m32/struct_v4l2_framebuffer.d1 index c8bf45da..dbba7d5b 100644 --- a/mpers-m32/struct_v4l2_framebuffer.d1 +++ b/mpers-m32/struct_v4l2_framebuffer.d1 @@ -1,120 +1,121 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x10f (32-bit) + Length: 0x110 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_framebuffer.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) - <3>: 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>: 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>: 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>: 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>: 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>: 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) - <3>: Abbrev Number: 0 - <2>: Abbrev Number: 0 - <1>: 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x12b): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x166): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 53 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1fb): struct_v4l2_framebuffer + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 49 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1ea): v4l2_framebuffer + <41> DW_AT_byte_size : 44 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 520 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x177): capability + <4a> DW_AT_type : <0x100> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 521 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x195): flags + <59> DW_AT_type : <0x100> + <5d> DW_AT_decl_file : 2 + <5e> DW_AT_decl_line : 522 + <60> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><63>: Abbrev Number: 5 (DW_TAG_member) + <64> DW_AT_name : (indirect string, offset: 0x19b): base + <68> DW_AT_type : <0x112> + <6c> DW_AT_decl_file : 2 + <6d> DW_AT_decl_line : 523 + <6f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><72>: Abbrev Number: 5 (DW_TAG_member) + <73> DW_AT_name : (indirect string, offset: 0x1a0): fmt + <77> DW_AT_type : <0x81> + <7b> DW_AT_decl_file : 2 + <7c> DW_AT_decl_line : 533 + <7e> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><81>: Abbrev Number: 6 (DW_TAG_structure_type) + <82> DW_AT_byte_size : 32 + <83> DW_AT_decl_file : 2 + <84> DW_AT_decl_line : 524 + <3><86>: Abbrev Number: 5 (DW_TAG_member) + <87> DW_AT_name : (indirect string, offset: 0x1a4): width + <8b> DW_AT_type : <0x100> + <8f> DW_AT_decl_file : 2 + <90> DW_AT_decl_line : 525 + <92> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <3><95>: Abbrev Number: 5 (DW_TAG_member) + <96> DW_AT_name : (indirect string, offset: 0x1aa): height + <9a> DW_AT_type : <0x100> + <9e> DW_AT_decl_file : 2 + <9f> DW_AT_decl_line : 526 + DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1b1): pixelformat + DW_AT_type : <0x100> + DW_AT_decl_file : 2 + DW_AT_decl_line : 527 + DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1bd): field + DW_AT_type : <0x100> + DW_AT_decl_file : 2 + DW_AT_decl_line : 528 + DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1c3): bytesperline + DW_AT_type : <0x100> + DW_AT_decl_file : 2 + DW_AT_decl_line : 529 + DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1d0): sizeimage + DW_AT_type : <0x100> + DW_AT_decl_file : 2 + DW_AT_decl_line : 530 +
DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1da): colorspace + DW_AT_type : <0x100> + DW_AT_decl_file : 2 + DW_AT_decl_line : 531 + DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <3>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1e5): priv + DW_AT_type : <0x100> + DW_AT_decl_file : 2 + DW_AT_decl_line : 532 + DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <3>: Abbrev Number: 0 + <2>: Abbrev Number: 0 + <1><100>: Abbrev Number: 3 (DW_TAG_typedef) + <101> DW_AT_type : <0x10b> + <105> DW_AT_name : (indirect string, offset: 0x18f): __u32 + <109> DW_AT_decl_file : 1 + <10a> DW_AT_decl_line : 28 + <1><10b>: Abbrev Number: 7 (DW_TAG_base_type) + <10c> DW_AT_name : (indirect string, offset: 0x182): unsigned int + <110> DW_AT_encoding : 7 (unsigned) + <111> DW_AT_byte_size : 4 + <1><112>: Abbrev Number: 8 (DW_TAG_pointer_type) + <1><113>: Abbrev Number: 0 diff --git a/mpers-m32/struct_v4l2_framebuffer.d2 b/mpers-m32/struct_v4l2_framebuffer.d2 index ea46f281..00b24c11 100644 --- a/mpers-m32/struct_v4l2_framebuffer.d2 +++ b/mpers-m32/struct_v4l2_framebuffer.d2 @@ -1,122 +1,122 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x9c): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x166): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x131): struct_v4l2_framebuffer +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1fb): struct_v4l2_framebuffer DW_AT_decl_file : 3 DW_AT_decl_line : 49 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x120): v4l2_framebuffer +DW_AT_name : (indirect string, offset: 0x1ea): v4l2_framebuffer DW_AT_byte_size : 44 DW_AT_decl_file : 2 -DW_AT_decl_line : 513 -<2><44> +DW_AT_decl_line : 520 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xad): capability -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x177): capability +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 514 +DW_AT_decl_line : 521 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcb): flags -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x195): flags +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 515 +DW_AT_decl_line : 522 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><62> +<2><63> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd1): base -DW_AT_type : <0x111> +DW_AT_name : (indirect string, offset: 0x19b): base +DW_AT_type : <0x112> DW_AT_decl_file : 2 -DW_AT_decl_line : 516 +DW_AT_decl_line : 523 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><71> +<2><72> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd6): fmt -DW_AT_type : <0x80> +DW_AT_name : (indirect string, offset: 0x1a0): fmt +DW_AT_type : <0x81> DW_AT_decl_file : 2 -DW_AT_decl_line : 526 +DW_AT_decl_line : 533 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<2><80> +<2><81> Abbrev Number: 6 (DW_TAG_structure_type) DW_AT_byte_size : 32 DW_AT_decl_file : 2 -DW_AT_decl_line : 517 -<3><85> +DW_AT_decl_line : 524 +<3><86> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xda): width -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x1a4): width +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 518 +DW_AT_decl_line : 525 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<3><94> +<3><95> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe0): height -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x1aa): height +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 519 +DW_AT_decl_line : 526 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe7): pixelformat -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x1b1): pixelformat +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 520 +DW_AT_decl_line : 527 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf3): field -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x1bd): field +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 521 +DW_AT_decl_line : 528 DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf9): bytesperline -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x1c3): bytesperline +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 522 +DW_AT_decl_line : 529 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x106): sizeimage -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x1d0): sizeimage +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 523 +DW_AT_decl_line : 530 DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x110): colorspace -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x1da): colorspace +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 524 +DW_AT_decl_line : 531 DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) -<3> +<3> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11b): priv -DW_AT_type : <0xff> +DW_AT_name : (indirect string, offset: 0x1e5): priv +DW_AT_type : <0x100> DW_AT_decl_file : 2 -DW_AT_decl_line : 525 +DW_AT_decl_line : 532 DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) -<1> +<1><100> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x10a> -DW_AT_name : (indirect string, offset: 0xc5): __u32 +DW_AT_type : <0x10b> +DW_AT_name : (indirect string, offset: 0x18f): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1><10a> +<1><10b> Abbrev Number: 7 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb8): unsigned int +DW_AT_name : (indirect string, offset: 0x182): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><111> +<1><112> Abbrev Number: 8 (DW_TAG_pointer_type) diff --git a/mpers-m32/struct_v4l2_input.d1 b/mpers-m32/struct_v4l2_input.d1 index d7d48352..45bda205 100644 --- a/mpers-m32/struct_v4l2_input.d1 +++ b/mpers-m32/struct_v4l2_input.d1 @@ -1,137 +1,138 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x12c (32-bit) + Length: 0x12d (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_input.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 - 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>: 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>: 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) - <2>: Abbrev Number: 0 - <1>: 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>: 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>: Abbrev Number: 7 (DW_TAG_array_type) - DW_AT_type : <0xeb> - <2>: Abbrev Number: 8 (DW_TAG_subrange_type) - DW_AT_type : <0xfd> - DW_AT_lower_bound : 0 - DW_AT_count : 32 - <2>: Abbrev Number: 0 - <1>: 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>: 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>: Abbrev Number: 9 (DW_TAG_base_type) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x125): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x160): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 53 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x214): struct_v4l2_input + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 50 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x209): v4l2_input + <41> DW_AT_byte_size : 80 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 735 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x171): index + <4a> DW_AT_type : <0xcd> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 736 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x18a): name + <59> DW_AT_type : <0xdf> + <5d> DW_AT_decl_file : 2 + <5e> DW_AT_decl_line : 737 + <60> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><63>: Abbrev Number: 5 (DW_TAG_member) + <64> DW_AT_name : (indirect string, offset: 0x1ab): type + <68> DW_AT_type : <0xcd> + <6c> DW_AT_decl_file : 2 + <6d> DW_AT_decl_line : 738 + <6f> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) + <2><72>: Abbrev Number: 5 (DW_TAG_member) + <73> DW_AT_name : (indirect string, offset: 0x1b0): audioset + <77> DW_AT_type : <0xcd> + <7b> DW_AT_decl_file : 2 + <7c> DW_AT_decl_line : 739 + <7e> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) + <2><81>: Abbrev Number: 5 (DW_TAG_member) + <82> DW_AT_name : (indirect string, offset: 0x1b9): tuner + <86> DW_AT_type : <0xcd> + <8a> DW_AT_decl_file : 2 + <8b> DW_AT_decl_line : 740 + <8d> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) + <2><90>: Abbrev Number: 5 (DW_TAG_member) + <91> DW_AT_name : (indirect string, offset: 0x1bf): std + <95> DW_AT_type : <0x105> + <99> DW_AT_decl_file : 2 + <9a> DW_AT_decl_line : 741 + <9c> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) + <2><9f>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ec): status + DW_AT_type : <0xcd> + DW_AT_decl_file : 2 + DW_AT_decl_line : 742 + DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f3): capabilities + DW_AT_type : <0xcd> + DW_AT_decl_file : 2 + DW_AT_decl_line : 743 + DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) + <2>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x200): reserved + DW_AT_type : <0x123> + DW_AT_decl_file : 2 + DW_AT_decl_line : 744 + DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xd8> + DW_AT_name : (indirect string, offset: 0x184): __u32 + DW_AT_decl_file : 1 + DW_AT_decl_line : 28 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x177): unsigned int +
DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 7 (DW_TAG_array_type) + DW_AT_type : <0xec> + <2>: Abbrev Number: 8 (DW_TAG_subrange_type) + DW_AT_type : <0xfe> + DW_AT_lower_bound : 0 + DW_AT_count : 32 + <2>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xf7> + DW_AT_name : (indirect string, offset: 0x19d): __u8 + DW_AT_decl_file : 1 + DW_AT_decl_line : 24 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x18f): unsigned char + DW_AT_encoding : 8 (unsigned char) + DW_AT_byte_size : 1 + <1>: Abbrev Number: 9 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1a2): sizetype + <103> DW_AT_byte_size : 8 + <104> DW_AT_encoding : 7 (unsigned) + <1><105>: Abbrev Number: 10 (DW_TAG_typedef) + <106> DW_AT_type : <0x111> + <10a> DW_AT_name : (indirect string, offset: 0x1e0): v4l2_std_id + <10e> DW_AT_decl_file : 2 + <10f> DW_AT_decl_line : 598 + <1><111>: Abbrev Number: 3 (DW_TAG_typedef) + <112> DW_AT_type : <0x11c> + <116> DW_AT_name : (indirect string, offset: 0x1da): __u64 + <11a> DW_AT_decl_file : 1 + <11b> DW_AT_decl_line : 31 + <1><11c>: Abbrev Number: 6 (DW_TAG_base_type) + <11d> DW_AT_name : (indirect string, offset: 0x1c3): long long unsigned int + <121> DW_AT_encoding : 7 (unsigned) + <122> DW_AT_byte_size : 8 + <1><123>: Abbrev Number: 7 (DW_TAG_array_type) + <124> DW_AT_type : <0xcd> + <2><128>: Abbrev Number: 8 (DW_TAG_subrange_type) + <129> DW_AT_type : <0xfe> + <12d> DW_AT_lower_bound : 0 + <12e> DW_AT_count : 3 + <2><12f>: Abbrev Number: 0 + <1><130>: Abbrev Number: 0 diff --git a/mpers-m32/struct_v4l2_input.d2 b/mpers-m32/struct_v4l2_input.d2 index 55ca5fe8..01e7065e 100644 --- a/mpers-m32/struct_v4l2_input.d2 +++ b/mpers-m32/struct_v4l2_input.d2 @@ -1,143 +1,143 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x96): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x160): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x14a): struct_v4l2_input +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x214): struct_v4l2_input DW_AT_decl_file : 3 DW_AT_decl_line : 50 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x13f): v4l2_input +DW_AT_name : (indirect string, offset: 0x209): v4l2_input DW_AT_byte_size : 80 DW_AT_decl_file : 2 -DW_AT_decl_line : 728 -<2><44> +DW_AT_decl_line : 735 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa7): index -DW_AT_type : <0xcc> +DW_AT_name : (indirect string, offset: 0x171): index +DW_AT_type : <0xcd> DW_AT_decl_file : 2 -DW_AT_decl_line : 729 +DW_AT_decl_line : 736 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc0): name -DW_AT_type : <0xde> +DW_AT_name : (indirect string, offset: 0x18a): name +DW_AT_type : <0xdf> DW_AT_decl_file : 2 -DW_AT_decl_line : 730 +DW_AT_decl_line : 737 DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) -<2><62> +<2><63> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe1): type -DW_AT_type : <0xcc> +DW_AT_name : (indirect string, offset: 0x1ab): type +DW_AT_type : <0xcd> DW_AT_decl_file : 2 -DW_AT_decl_line : 731 +DW_AT_decl_line : 738 DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) -<2><71> +<2><72> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe6): audioset -DW_AT_type : <0xcc> +DW_AT_name : (indirect string, offset: 0x1b0): audioset +DW_AT_type : <0xcd> DW_AT_decl_file : 2 -DW_AT_decl_line : 732 +DW_AT_decl_line : 739 DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) -<2><80> +<2><81> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xef): tuner -DW_AT_type : <0xcc> +DW_AT_name : (indirect string, offset: 0x1b9): tuner +DW_AT_type : <0xcd> DW_AT_decl_file : 2 -DW_AT_decl_line : 733 +DW_AT_decl_line : 740 DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) -<2><8f> +<2><90> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf5): std -DW_AT_type : <0x104> +DW_AT_name : (indirect string, offset: 0x1bf): std +DW_AT_type : <0x105> DW_AT_decl_file : 2 -DW_AT_decl_line : 734 +DW_AT_decl_line : 741 DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) -<2><9e> +<2><9f> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x122): status -DW_AT_type : <0xcc> +DW_AT_name : (indirect string, offset: 0x1ec): status +DW_AT_type : <0xcd> DW_AT_decl_file : 2 -DW_AT_decl_line : 735 +DW_AT_decl_line : 742 DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x129): capabilities -DW_AT_type : <0xcc> +DW_AT_name : (indirect string, offset: 0x1f3): capabilities +DW_AT_type : <0xcd> DW_AT_decl_file : 2 -DW_AT_decl_line : 736 +DW_AT_decl_line : 743 DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) -<2> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x136): reserved -DW_AT_type : <0x122> +DW_AT_name : (indirect string, offset: 0x200): reserved +DW_AT_type : <0x123> DW_AT_decl_file : 2 -DW_AT_decl_line : 737 +DW_AT_decl_line : 744 DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xd7> -DW_AT_name : (indirect string, offset: 0xba): __u32 +DW_AT_type : <0xd8> +DW_AT_name : (indirect string, offset: 0x184): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xad): unsigned int +DW_AT_name : (indirect string, offset: 0x177): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0xeb> -<2> +DW_AT_type : <0xec> +<2> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0xfd> +DW_AT_type : <0xfe> DW_AT_lower_bound : 0 DW_AT_count : 32 -<1> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xf6> -DW_AT_name : (indirect string, offset: 0xd3): __u8 +DW_AT_type : <0xf7> +DW_AT_name : (indirect string, offset: 0x19d): __u8 DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc5): unsigned char +DW_AT_name : (indirect string, offset: 0x18f): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1> +<1> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xd8): sizetype +DW_AT_name : (indirect string, offset: 0x1a2): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><104> +<1><105> Abbrev Number: 10 (DW_TAG_typedef) -DW_AT_type : <0x110> -DW_AT_name : (indirect string, offset: 0x116): v4l2_std_id +DW_AT_type : <0x111> +DW_AT_name : (indirect string, offset: 0x1e0): v4l2_std_id DW_AT_decl_file : 2 -DW_AT_decl_line : 591 -<1><110> +DW_AT_decl_line : 598 +<1><111> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x11b> -DW_AT_name : (indirect string, offset: 0x110): __u64 +DW_AT_type : <0x11c> +DW_AT_name : (indirect string, offset: 0x1da): __u64 DW_AT_decl_file : 1 DW_AT_decl_line : 31 -<1><11b> +<1><11c> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xf9): long long unsigned int +DW_AT_name : (indirect string, offset: 0x1c3): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 -<1><122> +<1><123> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0xcc> -<2><127> +DW_AT_type : <0xcd> +<2><128> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0xfd> +DW_AT_type : <0xfe> DW_AT_lower_bound : 0 DW_AT_count : 3 diff --git a/mpers-m32/struct_v4l2_standard.d1 b/mpers-m32/struct_v4l2_standard.d1 index 74db884e..1cdaccc8 100644 --- a/mpers-m32/struct_v4l2_standard.d1 +++ b/mpers-m32/struct_v4l2_standard.d1 @@ -1,137 +1,138 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x124 (32-bit) + Length: 0x125 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_standard.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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) - DW_AT_type : <0xaa> - DW_AT_name : (indirect string, offset: 0xbd): __u32 - DW_AT_decl_file : 1 - DW_AT_decl_line : 28 - <1>: 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>: 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>: 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>: 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>: Abbrev Number: 8 (DW_TAG_array_type) - DW_AT_type : <0xdc> - <2>: Abbrev Number: 9 (DW_TAG_subrange_type) - DW_AT_type : <0xee> - DW_AT_lower_bound : 0 - DW_AT_count : 24 - <2>: Abbrev Number: 0 - <1>: 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>: 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>: 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>: 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>: Abbrev Number: 12 (DW_TAG_member) - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x128): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x163): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 53 + <2b> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x229): struct_v4l2_standard + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 51 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x21b): v4l2_standard + <41> DW_AT_byte_size : 72 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 645 + <2><45>: Abbrev Number: 5 (DW_TAG_member) + <46> DW_AT_name : (indirect string, offset: 0x174): index + <4a> DW_AT_type : <0xa0> + <4e> DW_AT_decl_file : 2 + <4f> DW_AT_decl_line : 646 + <51> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><54>: Abbrev Number: 5 (DW_TAG_member) + <55> DW_AT_name : (indirect string, offset: 0x18d): id + <59> DW_AT_type : <0xb2> + <5d> DW_AT_decl_file : 2 + <5e> DW_AT_decl_line : 647 + <60> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><63>: Abbrev Number: 5 (DW_TAG_member) + <64> DW_AT_name : (indirect string, offset: 0x1b9): name + <68> DW_AT_type : <0xd0> + <6c> DW_AT_decl_file : 2 + <6d> DW_AT_decl_line : 648 + <6f> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><72>: Abbrev Number: 5 (DW_TAG_member) + <73> DW_AT_name : (indirect string, offset: 0x1da): frameperiod + <77> DW_AT_type : <0xf6> + <7b> DW_AT_decl_file : 2 + <7c> DW_AT_decl_line : 649 + <7e> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) + <2><81>: Abbrev Number: 5 (DW_TAG_member) + <82> DW_AT_name : (indirect string, offset: 0x207): framelines + <86> DW_AT_type : <0xa0> + <8a> DW_AT_decl_file : 2 + <8b> DW_AT_decl_line : 650 + <8d> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) + <2><90>: Abbrev Number: 5 (DW_TAG_member) + <91> DW_AT_name : (indirect string, offset: 0x212): reserved + <95> DW_AT_type : <0x11b> + <99> DW_AT_decl_file : 2 + <9a> DW_AT_decl_line : 651 + <9c> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) + <2><9f>: Abbrev Number: 0 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xab> + DW_AT_name : (indirect string, offset: 0x187): __u32 + DW_AT_decl_file : 1 + DW_AT_decl_line : 28 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x17a): unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 4 + <1>: Abbrev Number: 7 (DW_TAG_typedef) + DW_AT_type : <0xbe> + DW_AT_name : (indirect string, offset: 0x1ad): v4l2_std_id + DW_AT_decl_file : 2 + DW_AT_decl_line : 598 + <1>: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xc9> + DW_AT_name : (indirect string, offset: 0x1a7): __u64 + DW_AT_decl_file : 1 + DW_AT_decl_line : 31 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x190): long long unsigned int + DW_AT_encoding : 7 (unsigned) + DW_AT_byte_size : 8 + <1>: Abbrev Number: 8 (DW_TAG_array_type) + DW_AT_type : <0xdd> + <2>: Abbrev Number: 9 (DW_TAG_subrange_type) + DW_AT_type : <0xef> + DW_AT_lower_bound : 0 + DW_AT_count : 24 + <2>: Abbrev Number: 0 + <1>
: Abbrev Number: 3 (DW_TAG_typedef) + DW_AT_type : <0xe8> + DW_AT_name : (indirect string, offset: 0x1cc): __u8 + DW_AT_decl_file : 1 + DW_AT_decl_line : 24 + <1>: Abbrev Number: 6 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1be): unsigned char + DW_AT_encoding : 8 (unsigned char) + DW_AT_byte_size : 1 + <1>: Abbrev Number: 10 (DW_TAG_base_type) + DW_AT_name : (indirect string, offset: 0x1d1): sizetype + DW_AT_byte_size : 8 + DW_AT_encoding : 7 (unsigned) + <1>: Abbrev Number: 11 (DW_TAG_structure_type) + DW_AT_name : (indirect string, offset: 0x1fc): v4l2_fract + DW_AT_byte_size : 8 + DW_AT_decl_file : 2 + DW_AT_decl_line : 141 + <2>: Abbrev Number: 12 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1e6): numerator + <103> DW_AT_type : <0xa0> + <107> DW_AT_decl_file : 2 + <108> DW_AT_decl_line : 142 + <109> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) + <2><10c>: Abbrev Number: 12 (DW_TAG_member) + <10d> DW_AT_name : (indirect string, offset: 0x1f0): denominator + <111> DW_AT_type : <0xa0> + <115> DW_AT_decl_file : 2 + <116> DW_AT_decl_line : 143 + <117> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><11a>: Abbrev Number: 0 + <1><11b>: Abbrev Number: 8 (DW_TAG_array_type) + <11c> DW_AT_type : <0xa0> + <2><120>: Abbrev Number: 9 (DW_TAG_subrange_type) + <121> DW_AT_type : <0xef> + <125> DW_AT_lower_bound : 0 + <126> DW_AT_count : 4 + <2><127>: Abbrev Number: 0 + <1><128>: Abbrev Number: 0 diff --git a/mpers-m32/struct_v4l2_standard.d2 b/mpers-m32/struct_v4l2_standard.d2 index dd295577..e43b9628 100644 --- a/mpers-m32/struct_v4l2_standard.d2 +++ b/mpers-m32/struct_v4l2_standard.d2 @@ -1,142 +1,142 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x99): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x163): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x15f): struct_v4l2_standard +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x229): struct_v4l2_standard DW_AT_decl_file : 3 DW_AT_decl_line : 51 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x151): v4l2_standard +DW_AT_name : (indirect string, offset: 0x21b): v4l2_standard DW_AT_byte_size : 72 DW_AT_decl_file : 2 -DW_AT_decl_line : 638 -<2><44> +DW_AT_decl_line : 645 +<2><45> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xaa): index -DW_AT_type : <0x9f> +DW_AT_name : (indirect string, offset: 0x174): index +DW_AT_type : <0xa0> DW_AT_decl_file : 2 -DW_AT_decl_line : 639 +DW_AT_decl_line : 646 DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) -<2><53> +<2><54> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xc3): id -DW_AT_type : <0xb1> +DW_AT_name : (indirect string, offset: 0x18d): id +DW_AT_type : <0xb2> DW_AT_decl_file : 2 -DW_AT_decl_line : 640 +DW_AT_decl_line : 647 DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) -<2><62> +<2><63> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xef): name -DW_AT_type : <0xcf> +DW_AT_name : (indirect string, offset: 0x1b9): name +DW_AT_type : <0xd0> DW_AT_decl_file : 2 -DW_AT_decl_line : 641 +DW_AT_decl_line : 648 DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) -<2><71> +<2><72> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x110): frameperiod -DW_AT_type : <0xf5> +DW_AT_name : (indirect string, offset: 0x1da): frameperiod +DW_AT_type : <0xf6> DW_AT_decl_file : 2 -DW_AT_decl_line : 642 +DW_AT_decl_line : 649 DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) -<2><80> +<2><81> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x13d): framelines -DW_AT_type : <0x9f> +DW_AT_name : (indirect string, offset: 0x207): framelines +DW_AT_type : <0xa0> DW_AT_decl_file : 2 -DW_AT_decl_line : 643 +DW_AT_decl_line : 650 DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) -<2><8f> +<2><90> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x148): reserved -DW_AT_type : <0x11a> +DW_AT_name : (indirect string, offset: 0x212): reserved +DW_AT_type : <0x11b> DW_AT_decl_file : 2 -DW_AT_decl_line : 644 +DW_AT_decl_line : 651 DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) -<1><9f> +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xaa> -DW_AT_name : (indirect string, offset: 0xbd): __u32 +DW_AT_type : <0xab> +DW_AT_name : (indirect string, offset: 0x187): __u32 DW_AT_decl_file : 1 DW_AT_decl_line : 28 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xb0): unsigned int +DW_AT_name : (indirect string, offset: 0x17a): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1> +<1> Abbrev Number: 7 (DW_TAG_typedef) -DW_AT_type : <0xbd> -DW_AT_name : (indirect string, offset: 0xe3): v4l2_std_id +DW_AT_type : <0xbe> +DW_AT_name : (indirect string, offset: 0x1ad): v4l2_std_id DW_AT_decl_file : 2 -DW_AT_decl_line : 591 -<1> +DW_AT_decl_line : 598 +<1> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xc8> -DW_AT_name : (indirect string, offset: 0xdd): __u64 +DW_AT_type : <0xc9> +DW_AT_name : (indirect string, offset: 0x1a7): __u64 DW_AT_decl_file : 1 DW_AT_decl_line : 31 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc6): long long unsigned int +DW_AT_name : (indirect string, offset: 0x190): long long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 8 -<1> +<1> Abbrev Number: 8 (DW_TAG_array_type) -DW_AT_type : <0xdc> -<2> +DW_AT_type : <0xdd> +<2> Abbrev Number: 9 (DW_TAG_subrange_type) -DW_AT_type : <0xee> +DW_AT_type : <0xef> DW_AT_lower_bound : 0 DW_AT_count : 24 -<1> +<1>
Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0xe7> -DW_AT_name : (indirect string, offset: 0x102): __u8 +DW_AT_type : <0xe8> +DW_AT_name : (indirect string, offset: 0x1cc): __u8 DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1> +<1> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xf4): unsigned char +DW_AT_name : (indirect string, offset: 0x1be): unsigned char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 -<1> +<1> Abbrev Number: 10 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x107): sizetype +DW_AT_name : (indirect string, offset: 0x1d1): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1> +<1> Abbrev Number: 11 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x132): v4l2_fract +DW_AT_name : (indirect string, offset: 0x1fc): v4l2_fract DW_AT_byte_size : 8 DW_AT_decl_file : 2 DW_AT_decl_line : 141 -<2> +<2> Abbrev Number: 12 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x11c): numerator -DW_AT_type : <0x9f> +DW_AT_name : (indirect string, offset: 0x1e6): numerator +DW_AT_type : <0xa0> 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> +<2><10c> Abbrev Number: 12 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x126): denominator -DW_AT_type : <0x9f> +DW_AT_name : (indirect string, offset: 0x1f0): denominator +DW_AT_type : <0xa0> 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> +<1><11b> Abbrev Number: 8 (DW_TAG_array_type) -DW_AT_type : <0x9f> -<2><11f> +DW_AT_type : <0xa0> +<2><120> Abbrev Number: 9 (DW_TAG_subrange_type) -DW_AT_type : <0xee> +DW_AT_type : <0xef> DW_AT_lower_bound : 0 DW_AT_count : 4 diff --git a/mpers-m32/sysinfo_t.d1 b/mpers-m32/sysinfo_t.d1 index 60bbc418..1316de01 100644 --- a/mpers-m32/sysinfo_t.d1 +++ b/mpers-m32/sysinfo_t.d1 @@ -1,175 +1,176 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x175 (32-bit) + Length: 0x176 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/sysinfo_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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> - 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>: 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>: 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>: 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>: 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>
: 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>: 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>: Abbrev Number: 5 (DW_TAG_member) - DW_AT_name : (indirect string, offset: 0x177): _f - 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11d): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x158): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 4 + <2a> DW_AT_decl_line : 39 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x251): sysinfo_t + <3a> DW_AT_decl_file : 4 + <3b> DW_AT_decl_line : 38 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x249): sysinfo + <41> DW_AT_byte_size : 64 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 23 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x169): uptime + <49> DW_AT_type : <0x109> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 24 + <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: 0x189): loads + <57> DW_AT_type : <0x11b> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 25 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x1bb): totalram + <65> DW_AT_type : <0x128> + <69> DW_AT_decl_file : 2 + <6a> DW_AT_decl_line : 26 + <6b> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1c4): freeram + <73> DW_AT_type : <0x128> + <77> DW_AT_decl_file : 2 + <78> DW_AT_decl_line : 27 + <79> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) + <2><7c>: Abbrev Number: 5 (DW_TAG_member) + <7d> DW_AT_name : (indirect string, offset: 0x1cc): sharedram + <81> DW_AT_type : <0x128> + <85> DW_AT_decl_file : 2 + <86> DW_AT_decl_line : 28 + <87> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) + <2><8a>: Abbrev Number: 5 (DW_TAG_member) + <8b> DW_AT_name : (indirect string, offset: 0x1d6): bufferram + <8f> DW_AT_type : <0x128> + <93> DW_AT_decl_file : 2 + <94> DW_AT_decl_line : 29 + <95> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) + <2><98>: Abbrev Number: 5 (DW_TAG_member) + <99> DW_AT_name : (indirect string, offset: 0x1e0): totalswap + <9d> DW_AT_type : <0x128> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1ea): freeswap + DW_AT_type : <0x128> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x1f3): procs + DW_AT_type : <0x141> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x20e): pad + DW_AT_type : <0x141> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x212): totalhigh + DW_AT_type : <0x128> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x21c): freehigh + DW_AT_type : <0x128> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x225): mem_unit + DW_AT_type : <0x153> + 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>: Abbrev Number: 5 (DW_TAG_member) + DW_AT_name : (indirect string, offset: 0x241): _f + DW_AT_type : <0x165> + <103> DW_AT_decl_file : 2 + <104> DW_AT_decl_line : 37 + <105> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) + <2><108>: Abbrev Number: 0 + <1><109>: Abbrev Number: 3 (DW_TAG_typedef) + <10a> DW_AT_type : <0x114> + <10e> DW_AT_name : (indirect string, offset: 0x179): __kernel_long_t + <112> DW_AT_decl_file : 1 + <113> DW_AT_decl_line : 23 + <1><114>: Abbrev Number: 6 (DW_TAG_base_type) + <115> DW_AT_name : (indirect string, offset: 0x170): long int + <119> DW_AT_encoding : 5 (signed) + <11a> DW_AT_byte_size : 4 + <1><11b>: Abbrev Number: 7 (DW_TAG_array_type) + <11c> DW_AT_type : <0x128> + <2><120>: Abbrev Number: 8 (DW_TAG_subrange_type) + <121> DW_AT_type : <0x13a> + <125> DW_AT_lower_bound : 0 + <126> DW_AT_count : 3 + <2><127>: Abbrev Number: 0 + <1><128>: Abbrev Number: 3 (DW_TAG_typedef) + <129> DW_AT_type : <0x133> + <12d> DW_AT_name : (indirect string, offset: 0x1a1): __kernel_ulong_t + <131> DW_AT_decl_file : 1 + <132> DW_AT_decl_line : 24 + <1><133>: Abbrev Number: 6 (DW_TAG_base_type) + <134> DW_AT_name : (indirect string, offset: 0x18f): long unsigned int + <138> DW_AT_encoding : 7 (unsigned) + <139> DW_AT_byte_size : 4 + <1><13a>: Abbrev Number: 9 (DW_TAG_base_type) + <13b> DW_AT_name : (indirect string, offset: 0x1b2): sizetype + <13f> DW_AT_byte_size : 8 + <140> DW_AT_encoding : 7 (unsigned) + <1><141>: Abbrev Number: 3 (DW_TAG_typedef) + <142> DW_AT_type : <0x14c> + <146> DW_AT_name : (indirect string, offset: 0x208): __u16 + <14a> DW_AT_decl_file : 3 + <14b> DW_AT_decl_line : 26 + <1><14c>: Abbrev Number: 6 (DW_TAG_base_type) + <14d> DW_AT_name : (indirect string, offset: 0x1f9): unsigned short + <151> DW_AT_encoding : 7 (unsigned) + <152> DW_AT_byte_size : 2 + <1><153>: Abbrev Number: 3 (DW_TAG_typedef) + <154> DW_AT_type : <0x15e> + <158> DW_AT_name : (indirect string, offset: 0x23b): __u32 + <15c> DW_AT_decl_file : 3 + <15d> DW_AT_decl_line : 28 + <1><15e>: Abbrev Number: 6 (DW_TAG_base_type) + <15f> DW_AT_name : (indirect string, offset: 0x22e): unsigned int + <163> DW_AT_encoding : 7 (unsigned) + <164> DW_AT_byte_size : 4 + <1><165>: Abbrev Number: 7 (DW_TAG_array_type) + <166> DW_AT_type : <0x172> + <2><16a>: Abbrev Number: 8 (DW_TAG_subrange_type) + <16b> DW_AT_type : <0x13a> + <16f> DW_AT_lower_bound : 0 + <170> DW_AT_count : 8 + <2><171>: Abbrev Number: 0 + <1><172>: Abbrev Number: 6 (DW_TAG_base_type) + <173> DW_AT_name : (indirect string, offset: 0x244): char + <177> DW_AT_encoding : 8 (unsigned char) + <178> DW_AT_byte_size : 1 + <1><179>: Abbrev Number: 0 diff --git a/mpers-m32/sysinfo_t.d2 b/mpers-m32/sysinfo_t.d2 index 8ce04443..9434474c 100644 --- a/mpers-m32/sysinfo_t.d2 +++ b/mpers-m32/sysinfo_t.d2 @@ -1,188 +1,188 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x158): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0x187): sysinfo_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x251): sysinfo_t DW_AT_decl_file : 4 DW_AT_decl_line : 38 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0x17f): sysinfo +DW_AT_name : (indirect string, offset: 0x249): sysinfo DW_AT_byte_size : 64 DW_AT_decl_file : 2 DW_AT_decl_line : 23 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x9f): uptime -DW_AT_type : <0x108> +DW_AT_name : (indirect string, offset: 0x169): uptime +DW_AT_type : <0x109> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xbf): loads -DW_AT_type : <0x11a> +DW_AT_name : (indirect string, offset: 0x189): loads +DW_AT_type : <0x11b> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xf1): totalram -DW_AT_type : <0x127> +DW_AT_name : (indirect string, offset: 0x1bb): totalram +DW_AT_type : <0x128> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xfa): freeram -DW_AT_type : <0x127> +DW_AT_name : (indirect string, offset: 0x1c4): freeram +DW_AT_type : <0x128> 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> +<2><7c> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x102): sharedram -DW_AT_type : <0x127> +DW_AT_name : (indirect string, offset: 0x1cc): sharedram +DW_AT_type : <0x128> 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> +<2><8a> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x10c): bufferram -DW_AT_type : <0x127> +DW_AT_name : (indirect string, offset: 0x1d6): bufferram +DW_AT_type : <0x128> 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> +<2><98> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x116): totalswap -DW_AT_type : <0x127> +DW_AT_name : (indirect string, offset: 0x1e0): totalswap +DW_AT_type : <0x128> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x120): freeswap -DW_AT_type : <0x127> +DW_AT_name : (indirect string, offset: 0x1ea): freeswap +DW_AT_type : <0x128> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x129): procs -DW_AT_type : <0x140> +DW_AT_name : (indirect string, offset: 0x1f3): procs +DW_AT_type : <0x141> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x144): pad -DW_AT_type : <0x140> +DW_AT_name : (indirect string, offset: 0x20e): pad +DW_AT_type : <0x141> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x148): totalhigh -DW_AT_type : <0x127> +DW_AT_name : (indirect string, offset: 0x212): totalhigh +DW_AT_type : <0x128> 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>
+<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x152): freehigh -DW_AT_type : <0x127> +DW_AT_name : (indirect string, offset: 0x21c): freehigh +DW_AT_type : <0x128> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x15b): mem_unit -DW_AT_type : <0x152> +DW_AT_name : (indirect string, offset: 0x225): mem_unit +DW_AT_type : <0x153> 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> +<2> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x177): _f -DW_AT_type : <0x164> +DW_AT_name : (indirect string, offset: 0x241): _f +DW_AT_type : <0x165> 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> +<1><109> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x113> -DW_AT_name : (indirect string, offset: 0xaf): __kernel_long_t +DW_AT_type : <0x114> +DW_AT_name : (indirect string, offset: 0x179): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1><113> +<1><114> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa6): long int +DW_AT_name : (indirect string, offset: 0x170): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><11a> +<1><11b> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x127> -<2><11f> +DW_AT_type : <0x128> +<2><120> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x139> +DW_AT_type : <0x13a> DW_AT_lower_bound : 0 DW_AT_count : 3 -<1><127> +<1><128> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x132> -DW_AT_name : (indirect string, offset: 0xd7): __kernel_ulong_t +DW_AT_type : <0x133> +DW_AT_name : (indirect string, offset: 0x1a1): __kernel_ulong_t DW_AT_decl_file : 1 DW_AT_decl_line : 24 -<1><132> +<1><133> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xc5): long unsigned int +DW_AT_name : (indirect string, offset: 0x18f): long unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><139> +<1><13a> Abbrev Number: 9 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xe8): sizetype +DW_AT_name : (indirect string, offset: 0x1b2): sizetype DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) -<1><140> +<1><141> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x14b> -DW_AT_name : (indirect string, offset: 0x13e): __u16 +DW_AT_type : <0x14c> +DW_AT_name : (indirect string, offset: 0x208): __u16 DW_AT_decl_file : 3 DW_AT_decl_line : 26 -<1><14b> +<1><14c> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x12f): unsigned short +DW_AT_name : (indirect string, offset: 0x1f9): unsigned short DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 2 -<1><152> +<1><153> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x15d> -DW_AT_name : (indirect string, offset: 0x171): __u32 +DW_AT_type : <0x15e> +DW_AT_name : (indirect string, offset: 0x23b): __u32 DW_AT_decl_file : 3 DW_AT_decl_line : 28 -<1><15d> +<1><15e> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x164): unsigned int +DW_AT_name : (indirect string, offset: 0x22e): unsigned int DW_AT_encoding : 7 (unsigned) DW_AT_byte_size : 4 -<1><164> +<1><165> Abbrev Number: 7 (DW_TAG_array_type) -DW_AT_type : <0x171> -<2><169> +DW_AT_type : <0x172> +<2><16a> Abbrev Number: 8 (DW_TAG_subrange_type) -DW_AT_type : <0x139> +DW_AT_type : <0x13a> DW_AT_lower_bound : 0 DW_AT_count : 8 -<1><171> +<1><172> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x17a): char +DW_AT_name : (indirect string, offset: 0x244): char DW_AT_encoding : 8 (unsigned char) DW_AT_byte_size : 1 diff --git a/mpers-m32/time_t.d1 b/mpers-m32/time_t.d1 index ca0edafd..f6cb37ef 100644 --- a/mpers-m32/time_t.d1 +++ b/mpers-m32/time_t.d1 @@ -1,46 +1,47 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x60 (32-bit) + Length: 0x61 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/time_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11a): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x155): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 32 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x198): time_t + <3a> DW_AT_decl_file : 2 + <3b> DW_AT_decl_line : 96 + <1><3c>: Abbrev Number: 3 (DW_TAG_typedef) + <3d> DW_AT_type : <0x47> + <41> DW_AT_name : (indirect string, offset: 0x18f): __time_t + <45> DW_AT_decl_file : 2 + <46> DW_AT_decl_line : 95 + <1><47>: Abbrev Number: 3 (DW_TAG_typedef) + <48> DW_AT_type : <0x52> + <4c> DW_AT_name : (indirect string, offset: 0x17f): __kernel_time_t + <50> DW_AT_decl_file : 1 + <51> DW_AT_decl_line : 77 + <1><52>: Abbrev Number: 3 (DW_TAG_typedef) + <53> DW_AT_type : <0x5d> + <57> DW_AT_name : (indirect string, offset: 0x16f): __kernel_long_t + <5b> DW_AT_decl_file : 1 + <5c> DW_AT_decl_line : 23 + <1><5d>: Abbrev Number: 4 (DW_TAG_base_type) + <5e> DW_AT_name : (indirect string, offset: 0x166): long int + <62> DW_AT_encoding : 5 (signed) + <63> DW_AT_byte_size : 4 + <1><64>: Abbrev Number: 0 diff --git a/mpers-m32/time_t.d2 b/mpers-m32/time_t.d2 index d6761338..2652aac0 100644 --- a/mpers-m32/time_t.d2 +++ b/mpers-m32/time_t.d2 @@ -1,37 +1,37 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8b): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x155): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xce): time_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x198): time_t DW_AT_decl_file : 2 DW_AT_decl_line : 96 -<1><3b> +<1><3c> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x46> -DW_AT_name : (indirect string, offset: 0xc5): __time_t +DW_AT_type : <0x47> +DW_AT_name : (indirect string, offset: 0x18f): __time_t DW_AT_decl_file : 2 DW_AT_decl_line : 95 -<1><46> +<1><47> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x51> -DW_AT_name : (indirect string, offset: 0xb5): __kernel_time_t +DW_AT_type : <0x52> +DW_AT_name : (indirect string, offset: 0x17f): __kernel_time_t DW_AT_decl_file : 1 DW_AT_decl_line : 77 -<1><51> +<1><52> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x5c> -DW_AT_name : (indirect string, offset: 0xa5): __kernel_long_t +DW_AT_type : <0x5d> +DW_AT_name : (indirect string, offset: 0x16f): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1><5c> +<1><5d> Abbrev Number: 4 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0x9c): long int +DW_AT_name : (indirect string, offset: 0x166): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 diff --git a/mpers-m32/timespec_t.d1 b/mpers-m32/timespec_t.d1 index 54a96ce6..3b63cb6f 100644 --- a/mpers-m32/timespec_t.d1 +++ b/mpers-m32/timespec_t.d1 @@ -1,59 +1,60 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x7a (32-bit) + Length: 0x7b (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/timespec_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11e): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x159): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 34 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1ab): timespec_t + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 32 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1a2): timespec + <41> DW_AT_byte_size : 8 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 24 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x16a): tv_sec + <49> DW_AT_type : <0x61> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 25 + <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: 0x19a): tv_nsec + <57> DW_AT_type : <0x77> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 26 + <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: 0x18a): __kernel_time_t + <6a> DW_AT_decl_file : 1 + <6b> DW_AT_decl_line : 77 + <1><6c>: Abbrev Number: 3 (DW_TAG_typedef) + <6d> DW_AT_type : <0x77> + <71> DW_AT_name : (indirect string, offset: 0x17a): __kernel_long_t + <75> DW_AT_decl_file : 1 + <76> DW_AT_decl_line : 23 + <1><77>: Abbrev Number: 6 (DW_TAG_base_type) + <78> DW_AT_name : (indirect string, offset: 0x171): long int + <7c> DW_AT_encoding : 5 (signed) + <7d> DW_AT_byte_size : 4 + <1><7e>: Abbrev Number: 0 diff --git a/mpers-m32/timespec_t.d2 b/mpers-m32/timespec_t.d2 index 7e157e43..3d646972 100644 --- a/mpers-m32/timespec_t.d2 +++ b/mpers-m32/timespec_t.d2 @@ -1,51 +1,51 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8f): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x159): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xe1): timespec_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1ab): timespec_t DW_AT_decl_file : 3 DW_AT_decl_line : 32 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xd8): timespec +DW_AT_name : (indirect string, offset: 0x1a2): timespec DW_AT_byte_size : 8 DW_AT_decl_file : 2 DW_AT_decl_line : 24 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xa0): tv_sec -DW_AT_type : <0x60> +DW_AT_name : (indirect string, offset: 0x16a): tv_sec +DW_AT_type : <0x61> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd0): tv_nsec -DW_AT_type : <0x76> +DW_AT_name : (indirect string, offset: 0x19a): tv_nsec +DW_AT_type : <0x77> 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> +<1><61> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x6b> -DW_AT_name : (indirect string, offset: 0xc0): __kernel_time_t +DW_AT_type : <0x6c> +DW_AT_name : (indirect string, offset: 0x18a): __kernel_time_t DW_AT_decl_file : 1 DW_AT_decl_line : 77 -<1><6b> +<1><6c> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x76> -DW_AT_name : (indirect string, offset: 0xb0): __kernel_long_t +DW_AT_type : <0x77> +DW_AT_name : (indirect string, offset: 0x17a): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1><76> +<1><77> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa7): long int +DW_AT_name : (indirect string, offset: 0x171): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 diff --git a/mpers-m32/timeval_t.d1 b/mpers-m32/timeval_t.d1 index 98794805..27dd9ee2 100644 --- a/mpers-m32/timeval_t.d1 +++ b/mpers-m32/timeval_t.d1 @@ -1,64 +1,65 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x85 (32-bit) + Length: 0x86 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/timeval_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11d): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x158): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 34 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1be): timeval_t + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 32 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1b6): timeval + <41> DW_AT_byte_size : 8 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 29 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x169): tv_sec + <49> DW_AT_type : <0x61> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 30 + <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: 0x199): tv_usec + <57> DW_AT_type : <0x7e> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 31 + <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: 0x189): __kernel_time_t + <6a> DW_AT_decl_file : 1 + <6b> DW_AT_decl_line : 77 + <1><6c>: Abbrev Number: 3 (DW_TAG_typedef) + <6d> DW_AT_type : <0x77> + <71> DW_AT_name : (indirect string, offset: 0x179): __kernel_long_t + <75> DW_AT_decl_file : 1 + <76> DW_AT_decl_line : 23 + <1><77>: Abbrev Number: 6 (DW_TAG_base_type) + <78> DW_AT_name : (indirect string, offset: 0x170): long int + <7c> DW_AT_encoding : 5 (signed) + <7d> DW_AT_byte_size : 4 + <1><7e>: Abbrev Number: 3 (DW_TAG_typedef) + <7f> DW_AT_type : <0x6c> + <83> DW_AT_name : (indirect string, offset: 0x1a1): __kernel_suseconds_t + <87> DW_AT_decl_file : 1 + <88> DW_AT_decl_line : 43 + <1><89>: Abbrev Number: 0 diff --git a/mpers-m32/timeval_t.d2 b/mpers-m32/timeval_t.d2 index a8f5f811..03a5da7c 100644 --- a/mpers-m32/timeval_t.d2 +++ b/mpers-m32/timeval_t.d2 @@ -1,57 +1,57 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x158): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xf4): timeval_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1be): timeval_t DW_AT_decl_file : 3 DW_AT_decl_line : 32 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xec): timeval +DW_AT_name : (indirect string, offset: 0x1b6): timeval DW_AT_byte_size : 8 DW_AT_decl_file : 2 DW_AT_decl_line : 29 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x9f): tv_sec -DW_AT_type : <0x60> +DW_AT_name : (indirect string, offset: 0x169): tv_sec +DW_AT_type : <0x61> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcf): tv_usec -DW_AT_type : <0x7d> +DW_AT_name : (indirect string, offset: 0x199): tv_usec +DW_AT_type : <0x7e> 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> +<1><61> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x6b> -DW_AT_name : (indirect string, offset: 0xbf): __kernel_time_t +DW_AT_type : <0x6c> +DW_AT_name : (indirect string, offset: 0x189): __kernel_time_t DW_AT_decl_file : 1 DW_AT_decl_line : 77 -<1><6b> +<1><6c> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x76> -DW_AT_name : (indirect string, offset: 0xaf): __kernel_long_t +DW_AT_type : <0x77> +DW_AT_name : (indirect string, offset: 0x179): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1><76> +<1><77> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa6): long int +DW_AT_name : (indirect string, offset: 0x170): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 -<1><7d> +<1><7e> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x6b> -DW_AT_name : (indirect string, offset: 0xd7): __kernel_suseconds_t +DW_AT_type : <0x6c> +DW_AT_name : (indirect string, offset: 0x1a1): __kernel_suseconds_t DW_AT_decl_file : 1 DW_AT_decl_line : 43 diff --git a/mpers-m32/tms_t.d1 b/mpers-m32/tms_t.d1 index 324af3dc..43487feb 100644 --- a/mpers-m32/tms_t.d1 +++ b/mpers-m32/tms_t.d1 @@ -1,71 +1,72 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x96 (32-bit) + Length: 0x97 (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/tms_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x119): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x154): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 38 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1bd): tms_t + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 37 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1b9): tms + <41> DW_AT_byte_size : 16 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 22 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x165): tms_utime + <49> DW_AT_type : <0x7d> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 23 + <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: 0x199): tms_stime + <57> DW_AT_type : <0x7d> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 24 + <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) + <2><60>: Abbrev Number: 5 (DW_TAG_member) + <61> DW_AT_name : (indirect string, offset: 0x1a3): tms_cutime + <65> DW_AT_type : <0x7d> + <69> DW_AT_decl_file : 2 + <6a> DW_AT_decl_line : 25 + <6b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) + <2><6e>: Abbrev Number: 5 (DW_TAG_member) + <6f> DW_AT_name : (indirect string, offset: 0x1ae): tms_cstime + <73> DW_AT_type : <0x7d> + <77> DW_AT_decl_file : 2 + <78> DW_AT_decl_line : 26 + <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) + <2><7c>: Abbrev Number: 0 + <1><7d>: Abbrev Number: 3 (DW_TAG_typedef) + <7e> DW_AT_type : <0x88> + <82> DW_AT_name : (indirect string, offset: 0x188): __kernel_clock_t + <86> DW_AT_decl_file : 1 + <87> DW_AT_decl_line : 78 + <1><88>: Abbrev Number: 3 (DW_TAG_typedef) + <89> DW_AT_type : <0x93> + <8d> DW_AT_name : (indirect string, offset: 0x178): __kernel_long_t + <91> DW_AT_decl_file : 1 + <92> DW_AT_decl_line : 23 + <1><93>: Abbrev Number: 6 (DW_TAG_base_type) + <94> DW_AT_name : (indirect string, offset: 0x16f): long int + <98> DW_AT_encoding : 5 (signed) + <99> DW_AT_byte_size : 4 + <1><9a>: Abbrev Number: 0 diff --git a/mpers-m32/tms_t.d2 b/mpers-m32/tms_t.d2 index 19879b3f..68e6ac5f 100644 --- a/mpers-m32/tms_t.d2 +++ b/mpers-m32/tms_t.d2 @@ -1,65 +1,65 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8a): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x154): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xf3): tms_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1bd): tms_t DW_AT_decl_file : 3 DW_AT_decl_line : 37 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xef): tms +DW_AT_name : (indirect string, offset: 0x1b9): tms DW_AT_byte_size : 16 DW_AT_decl_file : 2 DW_AT_decl_line : 22 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x9b): tms_utime -DW_AT_type : <0x7c> +DW_AT_name : (indirect string, offset: 0x165): tms_utime +DW_AT_type : <0x7d> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcf): tms_stime -DW_AT_type : <0x7c> +DW_AT_name : (indirect string, offset: 0x199): tms_stime +DW_AT_type : <0x7d> 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> +<2><60> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xd9): tms_cutime -DW_AT_type : <0x7c> +DW_AT_name : (indirect string, offset: 0x1a3): tms_cutime +DW_AT_type : <0x7d> 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> +<2><6e> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xe4): tms_cstime -DW_AT_type : <0x7c> +DW_AT_name : (indirect string, offset: 0x1ae): tms_cstime +DW_AT_type : <0x7d> 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> +<1><7d> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x87> -DW_AT_name : (indirect string, offset: 0xbe): __kernel_clock_t +DW_AT_type : <0x88> +DW_AT_name : (indirect string, offset: 0x188): __kernel_clock_t DW_AT_decl_file : 1 DW_AT_decl_line : 78 -<1><87> +<1><88> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x92> -DW_AT_name : (indirect string, offset: 0xae): __kernel_long_t +DW_AT_type : <0x93> +DW_AT_name : (indirect string, offset: 0x178): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1><92> +<1><93> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa5): long int +DW_AT_name : (indirect string, offset: 0x16f): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 diff --git a/mpers-m32/utimbuf_t.d1 b/mpers-m32/utimbuf_t.d1 index df1e349c..b4a5301a 100644 --- a/mpers-m32/utimbuf_t.d1 +++ b/mpers-m32/utimbuf_t.d1 @@ -1,59 +1,60 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x7a (32-bit) + Length: 0x7b (32-bit) Version: 2 Abbrev Offset: 0x0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) - DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080) + DW_AT_producer : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn) <10> DW_AT_language : 12 (ANSI C99) - <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/utimbuf_t.c + <12> DW_AT_name : (indirect string, offset: 0x107): 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 + <1a> DW_AT_comp_dir : (indirect string, offset: 0x11d): /usr/local/google/ndkports/.out/strace/package/strace-4.23 + <1e> DW_AT_GNU_pubnames: 1 + <1><1f>: Abbrev Number: 2 (DW_TAG_variable) + <20> DW_AT_name : (indirect string, offset: 0x158): mpers_target_var + <24> DW_AT_type : <0x31> + <28> DW_AT_external : 1 + <29> DW_AT_decl_file : 3 + <2a> DW_AT_decl_line : 8 + <2b> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) + <1><31>: Abbrev Number: 3 (DW_TAG_typedef) + <32> DW_AT_type : <0x3c> + <36> DW_AT_name : (indirect string, offset: 0x1a9): utimbuf_t + <3a> DW_AT_decl_file : 3 + <3b> DW_AT_decl_line : 6 + <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type) + <3d> DW_AT_name : (indirect string, offset: 0x1a1): utimbuf + <41> DW_AT_byte_size : 8 + <42> DW_AT_decl_file : 2 + <43> DW_AT_decl_line : 22 + <2><44>: Abbrev Number: 5 (DW_TAG_member) + <45> DW_AT_name : (indirect string, offset: 0x169): actime + <49> DW_AT_type : <0x61> + <4d> DW_AT_decl_file : 2 + <4e> DW_AT_decl_line : 23 + <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: 0x199): modtime + <57> DW_AT_type : <0x61> + <5b> DW_AT_decl_file : 2 + <5c> DW_AT_decl_line : 24 + <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: 0x189): __kernel_time_t + <6a> DW_AT_decl_file : 1 + <6b> DW_AT_decl_line : 77 + <1><6c>: Abbrev Number: 3 (DW_TAG_typedef) + <6d> DW_AT_type : <0x77> + <71> DW_AT_name : (indirect string, offset: 0x179): __kernel_long_t + <75> DW_AT_decl_file : 1 + <76> DW_AT_decl_line : 23 + <1><77>: Abbrev Number: 6 (DW_TAG_base_type) + <78> DW_AT_name : (indirect string, offset: 0x170): long int + <7c> DW_AT_encoding : 5 (signed) + <7d> DW_AT_byte_size : 4 + <1><7e>: Abbrev Number: 0 diff --git a/mpers-m32/utimbuf_t.d2 b/mpers-m32/utimbuf_t.d2 index 78558f43..0662adbf 100644 --- a/mpers-m32/utimbuf_t.d2 +++ b/mpers-m32/utimbuf_t.d2 @@ -1,51 +1,51 @@ -<1><1e> +<1><1f> Abbrev Number: 2 (DW_TAG_variable) -DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var -DW_AT_type : <0x30> +DW_AT_name : (indirect string, offset: 0x158): mpers_target_var +DW_AT_type : <0x31> 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> +<1><31> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x3b> -DW_AT_name : (indirect string, offset: 0xdf): utimbuf_t +DW_AT_type : <0x3c> +DW_AT_name : (indirect string, offset: 0x1a9): utimbuf_t DW_AT_decl_file : 3 DW_AT_decl_line : 6 -<1><3b> +<1><3c> Abbrev Number: 4 (DW_TAG_structure_type) -DW_AT_name : (indirect string, offset: 0xd7): utimbuf +DW_AT_name : (indirect string, offset: 0x1a1): utimbuf DW_AT_byte_size : 8 DW_AT_decl_file : 2 DW_AT_decl_line : 22 -<2><43> +<2><44> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0x9f): actime -DW_AT_type : <0x60> +DW_AT_name : (indirect string, offset: 0x169): actime +DW_AT_type : <0x61> 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> +<2><52> Abbrev Number: 5 (DW_TAG_member) -DW_AT_name : (indirect string, offset: 0xcf): modtime -DW_AT_type : <0x60> +DW_AT_name : (indirect string, offset: 0x199): modtime +DW_AT_type : <0x61> 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> +<1><61> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x6b> -DW_AT_name : (indirect string, offset: 0xbf): __kernel_time_t +DW_AT_type : <0x6c> +DW_AT_name : (indirect string, offset: 0x189): __kernel_time_t DW_AT_decl_file : 1 DW_AT_decl_line : 77 -<1><6b> +<1><6c> Abbrev Number: 3 (DW_TAG_typedef) -DW_AT_type : <0x76> -DW_AT_name : (indirect string, offset: 0xaf): __kernel_long_t +DW_AT_type : <0x77> +DW_AT_name : (indirect string, offset: 0x179): __kernel_long_t DW_AT_decl_file : 1 DW_AT_decl_line : 23 -<1><76> +<1><77> Abbrev Number: 6 (DW_TAG_base_type) -DW_AT_name : (indirect string, offset: 0xa6): long int +DW_AT_name : (indirect string, offset: 0x170): long int DW_AT_encoding : 5 (signed) DW_AT_byte_size : 4 diff --git a/mpers.am b/mpers.am index c255dcc0..8b23b669 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_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 +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 perf_ioctl.c print_aio_sigset.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_xlat.h b/mpers_xlat.h index e8b3e40c..b8dd9262 100644 --- a/mpers_xlat.h +++ b/mpers_xlat.h @@ -4,6 +4,7 @@ extern const struct xlat btrfs_balance_ctl_cmds[]; extern const struct xlat btrfs_balance_flags[]; extern const struct xlat btrfs_balance_state[]; extern const struct xlat btrfs_compress_types[]; +extern const struct xlat btrfs_cont_reading_from_srcdev_mode[]; extern const struct xlat btrfs_defrag_flags[]; extern const struct xlat btrfs_dev_replace_cmds[]; extern const struct xlat btrfs_dev_replace_results[]; @@ -35,6 +36,8 @@ extern const struct xlat mtd_type_options[]; extern const struct xlat mtd_flags_options[]; extern const struct xlat mtd_otp_options[]; extern const struct xlat mtd_nandecc_options[]; +extern const struct xlat perf_ioctl_cmds[]; +extern const struct xlat perf_ioctl_flags[]; extern const struct xlat mq_attr_flags[]; extern const struct xlat sigev_value[]; extern const struct xlat adjtimex_modes[]; @@ -56,6 +59,7 @@ 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 arp_hardware_types[]; extern const struct xlat v4l2_pix_fmts[]; extern const struct xlat v4l2_sdr_fmts[]; extern const struct xlat v4l2_device_capabilities_flags[]; @@ -70,6 +74,8 @@ extern const struct xlat v4l2_buf_flags[]; extern const struct xlat v4l2_streaming_capabilities[]; extern const struct xlat v4l2_capture_modes[]; extern const struct xlat v4l2_input_types[]; +extern const struct xlat v4l2_control_classes[]; +extern const struct xlat v4l2_control_id_bases[]; extern const struct xlat v4l2_control_ids[]; extern const struct xlat v4l2_tuner_types[]; extern const struct xlat v4l2_tuner_capabilities[]; @@ -77,6 +83,5 @@ extern const struct xlat v4l2_tuner_rxsubchanses[]; extern const struct xlat v4l2_tuner_audmodes[]; extern const struct xlat v4l2_control_types[]; extern const struct xlat v4l2_control_flags[]; -extern const struct xlat v4l2_control_classes[]; extern const struct xlat v4l2_framesize_types[]; extern const struct xlat v4l2_frameinterval_types[]; diff --git a/msghdr.c b/msghdr.c index c698e540..7dca3e0e 100644 --- a/msghdr.c +++ b/msghdr.c @@ -4,7 +4,7 @@ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey * Copyright (c) 1996-2000 Wichert Akkerman * Copyright (c) 2005-2016 Dmitry V. Levin - * 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 @@ -350,8 +350,8 @@ decode_msg_control(struct tcb *const tcp, const kernel_ulong_t addr, buf_len -= len; } if (buf_len) { - tprints(", "); - printaddr(addr + (control_len - buf_len)); + tprints(", ..."); + printaddr_comment(addr + (control_len - buf_len)); } else if (control_len < in_control_len) { tprints(", ..."); } diff --git a/native_printer_decls.h b/native_printer_decls.h index 00fc232c..a10904c7 100644 --- a/native_printer_decls.h +++ b/native_printer_decls.h @@ -1,4 +1,4 @@ -/* 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. */ +/* 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 perf_ioctl.c.mpers.i print_aio_sigset.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_write_ioctl_mpers(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); @@ -17,6 +17,8 @@ extern _Bool fetch_struct_statfs64(struct tcb *const tcp, const kernel_ulong_t a extern int hdio_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); extern int loop_ioctl(struct tcb *tcp, const unsigned int code, const kernel_ulong_t arg); extern int mtd_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); +extern int perf_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); +extern void print_aio_sigset(struct tcb *tcp, const kernel_ulong_t addr); extern void print_group_req(struct tcb *const tcp, const kernel_ulong_t addr, const int len); extern void printmqattr(struct tcb *const tcp, const kernel_ulong_t addr, const _Bool decode_flags); extern void tprint_msgbuf(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t count); diff --git a/native_printer_defs.h b/native_printer_defs.h index de2f047b..d6f3f7d1 100644 --- a/native_printer_defs.h +++ b/native_printer_defs.h @@ -1,4 +1,4 @@ -/* 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. */ +/* 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 perf_ioctl.c.mpers.i print_aio_sigset.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_write_ioctl_mpers = evdev_write_ioctl_mpers, @@ -17,6 +17,8 @@ .hdio_ioctl = hdio_ioctl, .loop_ioctl = loop_ioctl, .mtd_ioctl = mtd_ioctl, +.perf_ioctl = perf_ioctl, +.print_aio_sigset = print_aio_sigset, .print_group_req = print_group_req, .printmqattr = printmqattr, .tprint_msgbuf = tprint_msgbuf, diff --git a/net.c b/net.c index 67452964..489f38a5 100644 --- a/net.c +++ b/net.c @@ -84,10 +84,20 @@ #include "xlat/inet_protocols.h" -#ifdef HAVE_BLUETOOTH_BLUETOOTH_H -# include -# include "xlat/bt_protocols.h" -#endif +#define XLAT_MACROS_ONLY +# include "xlat/addrfams.h" +#undef XLAT_MACROS_ONLY +#include "xlat/irda_protocols.h" +#include "xlat/can_protocols.h" +#include "xlat/bt_protocols.h" +#include "xlat/isdn_protocols.h" +#include "xlat/phonet_protocols.h" +#include "xlat/caif_protocols.h" +#include "xlat/nfc_protocols.h" +#include "xlat/kcm_protocols.h" +#include "xlat/smc_protocols.h" + +const size_t inet_protocols_size = ARRAY_SIZE(inet_protocols) - 1; static void decode_sockbuf(struct tcb *const tcp, const int fd, const kernel_ulong_t addr, @@ -113,7 +123,7 @@ tprint_sock_type(unsigned int flags) const char *str = xlookup(socktypes, flags & SOCK_TYPE_MASK); if (str) { - tprints(str); + print_xlat_ex(flags & SOCK_TYPE_MASK, str, XLAT_STYLE_DEFAULT); flags &= ~SOCK_TYPE_MASK; if (!flags) return; @@ -131,18 +141,53 @@ SYS_FUNC(socket) switch (tcp->u_arg[0]) { case AF_INET: case AF_INET6: - printxval(inet_protocols, tcp->u_arg[2], "IPPROTO_???"); + printxval_search(inet_protocols, tcp->u_arg[2], "IPPROTO_???"); break; case AF_NETLINK: printxval(netlink_protocols, tcp->u_arg[2], "NETLINK_???"); break; -#ifdef HAVE_BLUETOOTH_BLUETOOTH_H + case AF_IRDA: + printxval_index(can_protocols, tcp->u_arg[2], "IRDAPROTO_???"); + break; + + case AF_CAN: + printxval_index(can_protocols, tcp->u_arg[2], "CAN_???"); + break; + case AF_BLUETOOTH: - printxval(bt_protocols, tcp->u_arg[2], "BTPROTO_???"); + printxval_index(bt_protocols, tcp->u_arg[2], "BTPROTO_???"); + break; + + case AF_RXRPC: + printxval(addrfams, tcp->u_arg[2], "AF_???"); + break; + + case AF_ISDN: + printxval(isdn_protocols, tcp->u_arg[2], "ISDN_P_???"); + break; + + case AF_PHONET: + printxval_index(phonet_protocols, tcp->u_arg[2], "PN_PROTO_???"); + break; + + case AF_CAIF: + printxval_index(caif_protocols, tcp->u_arg[2], "CAIFPROTO_???"); + break; + + case AF_NFC: + printxval_index(nfc_protocols, tcp->u_arg[2], + "NFC_SOCKPROTO_???"); + break; + + case AF_KCM: + printxval_index(kcm_protocols, tcp->u_arg[2], "KCMPROTO_???"); + break; + + case AF_SMC: + printxval_index(smc_protocols, tcp->u_arg[2], "SMCPROTO_???"); break; -#endif default: tprintf("%" PRI_klu, tcp->u_arg[2]); @@ -382,19 +427,37 @@ SYS_FUNC(socketpair) return 0; } -#include "xlat/sockoptions.h" -#include "xlat/sockipoptions.h" -#include "xlat/getsockipoptions.h" -#include "xlat/setsockipoptions.h" -#include "xlat/sockipv6options.h" -#include "xlat/getsockipv6options.h" -#include "xlat/setsockipv6options.h" -#include "xlat/sockipxoptions.h" -#include "xlat/socknetlinkoptions.h" -#include "xlat/sockpacketoptions.h" -#include "xlat/sockrawoptions.h" -#include "xlat/socksctpoptions.h" -#include "xlat/socktcpoptions.h" +#include "xlat/sock_options.h" +#include "xlat/getsock_options.h" +#include "xlat/setsock_options.h" +#include "xlat/sock_ip_options.h" +#include "xlat/getsock_ip_options.h" +#include "xlat/setsock_ip_options.h" +#include "xlat/sock_ipv6_options.h" +#include "xlat/getsock_ipv6_options.h" +#include "xlat/setsock_ipv6_options.h" +#include "xlat/sock_ipx_options.h" +#include "xlat/sock_netlink_options.h" +#include "xlat/sock_packet_options.h" +#include "xlat/sock_raw_options.h" +#include "xlat/sock_sctp_options.h" +#include "xlat/sock_tcp_options.h" +#include "xlat/sock_udp_options.h" +#include "xlat/sock_irda_options.h" +#include "xlat/sock_llc_options.h" +#include "xlat/sock_dccp_options.h" +#include "xlat/sock_tipc_options.h" +#include "xlat/sock_rxrpc_options.h" +#include "xlat/sock_pppol2tp_options.h" +#include "xlat/sock_bluetooth_options.h" +#include "xlat/sock_pnp_options.h" +#include "xlat/sock_rds_options.h" +#include "xlat/sock_iucv_options.h" +#include "xlat/sock_caif_options.h" +#include "xlat/sock_alg_options.h" +#include "xlat/sock_nfcllcp_options.h" +#include "xlat/sock_kcm_options.h" +#include "xlat/sock_tls_options.h" static void print_sockopt_fd_level_name(struct tcb *tcp, int fd, unsigned int level, @@ -402,38 +465,90 @@ print_sockopt_fd_level_name(struct tcb *tcp, int fd, unsigned int level, { printfd(tcp, fd); tprints(", "); - printxval(socketlayers, level, "SOL_??"); + printxval_search(socketlayers, level, "SOL_??"); tprints(", "); switch (level) { case SOL_SOCKET: - printxval(sockoptions, name, "SO_???"); + printxvals(name, "SO_???", sock_options, + is_getsockopt ? getsock_options : + setsock_options, NULL); break; case SOL_IP: - printxvals(name, "IP_???", sockipoptions, - is_getsockopt ? getsockipoptions : setsockipoptions, NULL); + printxvals(name, "IP_???", sock_ip_options, + is_getsockopt ? getsock_ip_options : + setsock_ip_options, NULL); break; case SOL_IPV6: - printxvals(name, "IPV6_???", sockipv6options, - is_getsockopt ? getsockipv6options : setsockipv6options, NULL); + printxvals(name, "IPV6_???", sock_ipv6_options, + is_getsockopt ? getsock_ipv6_options : + setsock_ipv6_options, NULL); break; case SOL_IPX: - printxval(sockipxoptions, name, "IPX_???"); + printxval(sock_ipx_options, name, "IPX_???"); break; case SOL_PACKET: - printxval(sockpacketoptions, name, "PACKET_???"); + printxval(sock_packet_options, name, "PACKET_???"); break; case SOL_TCP: - printxval(socktcpoptions, name, "TCP_???"); + printxval(sock_tcp_options, name, "TCP_???"); break; case SOL_SCTP: - printxval(socksctpoptions, name, "SCTP_???"); + printxval(sock_sctp_options, name, "SCTP_???"); break; case SOL_RAW: - printxval(sockrawoptions, name, "RAW_???"); + printxval(sock_raw_options, name, "RAW_???"); break; case SOL_NETLINK: - printxval(socknetlinkoptions, name, "NETLINK_???"); + printxval(sock_netlink_options, name, "NETLINK_???"); + break; + case SOL_UDP: + printxval(sock_udp_options, name, "UDP_???"); + break; + case SOL_IRDA: + printxval_index(sock_irda_options, name, "IRLMP_???"); + break; + case SOL_LLC: + printxval_index(sock_llc_options, name, "LLC_OPT_???"); + break; + case SOL_DCCP: + printxval_search(sock_dccp_options, name, "DCCP_SOCKOPT_???"); + break; + case SOL_TIPC: + printxval_search(sock_tipc_options, name, "TIPC_???"); + break; + case SOL_RXRPC: + printxval_index(sock_rxrpc_options, name, "RXRPC_???"); + break; + case SOL_PPPOL2TP: + printxval_index(sock_pppol2tp_options, name, "PPPOL2TP_SO_???"); + break; + case SOL_BLUETOOTH: + printxval_search(sock_bluetooth_options, name, "BT_???"); + break; + case SOL_PNPIPE: + printxval(sock_pnp_options, name, "PNPIPE_???"); + break; + case SOL_RDS: + printxval_search(sock_rds_options, name, "RDS_???"); + break; + case SOL_IUCV: + printxval(sock_iucv_options, name, "SO_???"); + break; + case SOL_CAIF: + printxval(sock_caif_options, name, "CAIFSO_???"); + break; + case SOL_ALG: + printxval_index(sock_alg_options, name, "ALG_???"); + break; + case SOL_NFC: + printxval_index(sock_nfcllcp_options, name, "NFC_LLCP_???"); + break; + case SOL_KCM: + printxval(sock_kcm_options, name, "KCM_???"); + break; + case SOL_TLS: + printxval(sock_tls_options, name, "TLS_???"); break; /* Other SOL_* protocol levels still need work. */ @@ -626,7 +741,7 @@ print_getsockopt(struct tcb *const tcp, const unsigned int level, uint32_t buf; print_array(tcp, addr, MIN(ulen, rlen) / sizeof(buf), &buf, sizeof(buf), - umoven_or_printaddr, print_uint32, 0); + tfetch_mem, print_uint32, 0); break; } default: diff --git a/netlink.c b/netlink.c index b5855f60..8a30483c 100644 --- a/netlink.c +++ b/netlink.c @@ -64,17 +64,25 @@ */ static bool fetch_nlmsghdr(struct tcb *const tcp, struct nlmsghdr *const nlmsghdr, - const kernel_ulong_t addr, const kernel_ulong_t len) + const kernel_ulong_t addr, const kernel_ulong_t len, + const bool in_array) { if (len < sizeof(struct nlmsghdr)) { printstr_ex(tcp, addr, len, QUOTE_FORCE_HEX); return false; } - if (umove_or_printaddr(tcp, addr, nlmsghdr)) - return false; + if (tfetch_obj(tcp, addr, nlmsghdr)) + return true; - return true; + if (in_array) { + tprints("..."); + printaddr_comment(addr); + } else { + printaddr(addr); + } + + return false; } static int @@ -161,7 +169,7 @@ decode_nlmsg_type_netfilter(struct tcb *tcp, const struct xlat *const xlat, /* Reserved control nfnetlink messages first. */ const char *const text = xlookup(nl_netfilter_msg_types, type); if (text) { - tprints(text); + print_xlat_ex(type, text, XLAT_STYLE_DEFAULT); return; } @@ -430,7 +438,8 @@ decode_nlmsg_flags(const uint16_t flags, const uint16_t type, } else if (family < ARRAY_SIZE(nlmsg_flags) && nlmsg_flags[family]) table = nlmsg_flags[family](type); - printflags_ex(flags, "NLM_F_???", netlink_flags, table, NULL); + printflags_ex(flags, "NLM_F_???", XLAT_STYLE_ABBREV, + netlink_flags, table, NULL); } static void @@ -472,7 +481,7 @@ decode_nlmsgerr_attr_cookie(struct tcb *const tcp, const size_t nmemb = len / sizeof(cookie); print_array(tcp, addr, nmemb, &cookie, sizeof(cookie), - umoven_or_printaddr, print_cookie, 0); + tfetch_mem, print_cookie, 0); return true; } @@ -521,7 +530,7 @@ decode_nlmsgerr(struct tcb *const tcp, if (len) { tprints(", msg="); - if (fetch_nlmsghdr(tcp, &err.msg, addr, len)) { + if (fetch_nlmsghdr(tcp, &err.msg, addr, len, false)) { unsigned int payload = capped ? sizeof(err.msg) : err.msg.nlmsg_len; if (payload > len) @@ -606,8 +615,7 @@ decode_nlmsghdr_with_payload(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t len) { - const unsigned int nlmsg_len = - nlmsghdr->nlmsg_len > len ? len : nlmsghdr->nlmsg_len; + const unsigned int nlmsg_len = MIN(nlmsghdr->nlmsg_len, len); if (nlmsg_len > NLMSG_HDRLEN) tprints("{"); @@ -631,15 +639,16 @@ decode_netlink(struct tcb *const tcp, const int family = get_fd_nl_family(tcp, fd); if (family == NETLINK_KOBJECT_UEVENT) { - printstrn(tcp, addr, len); + decode_netlink_kobject_uevent(tcp, addr, len); return; } struct nlmsghdr nlmsghdr; - bool print_array = false; + bool is_array = false; unsigned int elt; - for (elt = 0; fetch_nlmsghdr(tcp, &nlmsghdr, addr, len); elt++) { + for (elt = 0; fetch_nlmsghdr(tcp, &nlmsghdr, addr, len, is_array); + elt++) { if (abbrev(tcp) && elt == max_strlen) { tprints("..."); break; @@ -656,9 +665,9 @@ decode_netlink(struct tcb *const tcp, next_addr = addr + nlmsg_len; } - if (!print_array && next_addr) { + if (!is_array && next_addr) { tprints("["); - print_array = true; + is_array = true; } decode_nlmsghdr_with_payload(tcp, fd, family, @@ -672,7 +681,7 @@ decode_netlink(struct tcb *const tcp, len = next_len; } - if (print_array) { + if (is_array) { tprints("]"); } } diff --git a/netlink_kobject_uevent.c b/netlink_kobject_uevent.c new file mode 100644 index 00000000..35f305a7 --- /dev/null +++ b/netlink_kobject_uevent.c @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2018 Harsha Sharma + * 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 "print_fields.h" +#include "netlink_kobject_uevent.h" + +#include + +void +decode_netlink_kobject_uevent(struct tcb *tcp, kernel_ulong_t addr, + kernel_ulong_t len) +{ + struct udev_monitor_netlink_header uh; + const char *prefix = "libudev"; + unsigned int offset = sizeof(uh); + + if (!verbose(tcp) || (exiting(tcp) && syserror(tcp)) || + !addr || len < offset || umove(tcp, addr, &uh) || + strcmp(uh.prefix, prefix) != 0) { + printstrn(tcp, addr, len); + return; + } + + PRINT_FIELD_CSTRING("{{", uh, prefix); + tprintf(", magic=htonl(%#x)", ntohl(uh.magic)); + PRINT_FIELD_U(", ", uh, header_size); + PRINT_FIELD_U(", ", uh, properties_off); + PRINT_FIELD_U(", ", uh, properties_len); + tprintf(", filter_subsystem_hash=htonl(%#x)", ntohl(uh.filter_subsystem_hash)); + tprintf(", filter_devtype_hash=htonl(%#x)", ntohl(uh.filter_devtype_hash)); + tprintf(", filter_tag_bloom_hi=htonl(%#x)", ntohl(uh.filter_tag_bloom_hi)); + tprintf(", filter_tag_bloom_lo=htonl(%#x)", ntohl(uh.filter_tag_bloom_lo)); + tprints("}"); + if (len > offset) { + tprints(", "); + printstrn(tcp, addr + offset, len - offset); + } + tprints("}"); +} diff --git a/netlink_kobject_uevent.h b/netlink_kobject_uevent.h new file mode 100644 index 00000000..5ac57cae --- /dev/null +++ b/netlink_kobject_uevent.h @@ -0,0 +1,17 @@ +#ifndef STRACE_NETLINK_KOBJECT_UEVENT_H +#define STRACE_NETLINK_KOBJECT_UEVENT_H + +struct udev_monitor_netlink_header { + /* "libudev" prefix to distinguish libudev and kernel messages */ + char prefix[8]; + unsigned int magic; + unsigned int header_size; + unsigned int properties_off; + unsigned int properties_len; + unsigned int filter_subsystem_hash; + unsigned int filter_devtype_hash; + unsigned int filter_tag_bloom_hi; + unsigned int filter_tag_bloom_lo; +}; + +#endif /* !STRACE_NETLINK_KOBJECT_UEVENT_H */ diff --git a/netlink_netlink_diag.c b/netlink_netlink_diag.c index eb689b89..7ff9887d 100644 --- a/netlink_netlink_diag.c +++ b/netlink_netlink_diag.c @@ -98,7 +98,7 @@ decode_netlink_diag_groups(struct tcb *const tcp, return false; print_array(tcp, addr, nmemb, &buf, current_wordsize, - umoven_or_printaddr, print_group, 0); + tfetch_mem, print_group, 0); return true; } diff --git a/netlink_packet_diag.c b/netlink_packet_diag.c index db688a9f..18b7091c 100644 --- a/netlink_packet_diag.c +++ b/netlink_packet_diag.c @@ -96,8 +96,7 @@ print_packet_diag_mclist(struct tcb *const tcp, void *const elem_buf, const size_t elem_size, void *const opaque_data) { struct packet_diag_mclist *dml = elem_buf; - uint16_t alen = dml->pdmc_alen > sizeof(dml->pdmc_addr) ? - sizeof(dml->pdmc_addr) : dml->pdmc_alen; + uint16_t alen = MIN(dml->pdmc_alen, sizeof(dml->pdmc_addr)); PRINT_FIELD_IFINDEX("{", *dml, pdmc_index); PRINT_FIELD_U(", ", *dml, pdmc_count); @@ -122,7 +121,7 @@ decode_packet_diag_mclist(struct tcb *const tcp, return false; print_array(tcp, addr, nmemb, &dml, sizeof(dml), - umoven_or_printaddr, print_packet_diag_mclist, 0); + tfetch_mem, print_packet_diag_mclist, 0); return true; } diff --git a/netlink_unix_diag.c b/netlink_unix_diag.c index 4f3fbcc8..409180f5 100644 --- a/netlink_unix_diag.c +++ b/netlink_unix_diag.c @@ -107,7 +107,7 @@ decode_unix_diag_inode(struct tcb *const tcp, return false; print_array(tcp, addr, nmemb, &inode, sizeof(inode), - umoven_or_printaddr, print_inode, 0); + tfetch_mem, print_inode, 0); return true; } diff --git a/nlattr.c b/nlattr.c index a71c79a8..af7cc162 100644 --- a/nlattr.c +++ b/nlattr.c @@ -36,19 +36,29 @@ #include #include "static_assert.h" +#include "xlat/netlink_sk_meminfo_indices.h" + static bool fetch_nlattr(struct tcb *const tcp, struct nlattr *const nlattr, - const kernel_ulong_t addr, const unsigned int len) + const kernel_ulong_t addr, const unsigned int len, + const bool in_array) { if (len < sizeof(struct nlattr)) { printstr_ex(tcp, addr, len, QUOTE_FORCE_HEX); return false; } - if (umove_or_printaddr(tcp, addr, nlattr)) - return false; + if (tfetch_obj(tcp, addr, nlattr)) + return true; - return true; + if (in_array) { + tprints("..."); + printaddr_comment(addr); + } else { + printaddr(addr); + } + + return false; } static void @@ -60,10 +70,14 @@ print_nlattr(const struct nlattr *const nla, "wrong NLA_TYPE_MASK"); tprintf("{nla_len=%u, nla_type=", nla->nla_len); - if (nla->nla_type & NLA_F_NESTED) - tprints("NLA_F_NESTED|"); - if (nla->nla_type & NLA_F_NET_BYTEORDER) - tprints("NLA_F_NET_BYTEORDER|"); + if (nla->nla_type & NLA_F_NESTED) { + print_xlat(NLA_F_NESTED); + tprints("|"); + } + if (nla->nla_type & NLA_F_NET_BYTEORDER) { + print_xlat(NLA_F_NET_BYTEORDER); + tprints("|"); + } printxval(table, nla->nla_type & NLA_TYPE_MASK, dflt); tprints("}"); } @@ -79,7 +93,7 @@ decode_nlattr_with_data(struct tcb *const tcp, const unsigned int size, const void *const opaque_data) { - const unsigned int nla_len = nla->nla_len > len ? len : nla->nla_len; + const unsigned int nla_len = MIN(nla->nla_len, len); if (nla_len > NLA_HDRLEN) tprints("{"); @@ -87,13 +101,18 @@ decode_nlattr_with_data(struct tcb *const tcp, print_nlattr(nla, table, dflt); if (nla_len > NLA_HDRLEN) { + const unsigned int idx = size ? nla->nla_type : 0; + tprints(", "); if (!decoders - || nla->nla_type >= size - || !decoders[nla->nla_type] - || !decoders[nla->nla_type](tcp, addr + NLA_HDRLEN, - nla_len - NLA_HDRLEN, - opaque_data)) + || (size && idx >= size) + || !decoders[idx] + || !decoders[idx]( + tcp, addr + NLA_HDRLEN, + nla_len - NLA_HDRLEN, + size ? opaque_data + : (const void *) (uintptr_t) nla->nla_type) + ) printstr_ex(tcp, addr + NLA_HDRLEN, nla_len - NLA_HDRLEN, QUOTE_FORCE_HEX); tprints("}"); @@ -111,10 +130,17 @@ decode_nlattr(struct tcb *const tcp, const void *const opaque_data) { struct nlattr nla; - bool print_array = false; + bool is_array = false; unsigned int elt; - for (elt = 0; fetch_nlattr(tcp, &nla, addr, len); elt++) { + if (decoders && !size && opaque_data) + error_func_msg("[xlat %p, dflt \"%s\", decoders %p] " + "size is zero (going to pass nla_type as " + "decoder argument), but opaque data (%p) is not " + "- will be ignored", + table, dflt, decoders, opaque_data); + + for (elt = 0; fetch_nlattr(tcp, &nla, addr, len, is_array); elt++) { if (abbrev(tcp) && elt == max_strlen) { tprints("..."); break; @@ -131,9 +157,9 @@ decode_nlattr(struct tcb *const tcp, next_addr = addr + nla_len; } - if (!print_array && next_addr) { + if (!is_array && next_addr) { tprints("["); - print_array = true; + is_array = true; } decode_nlattr_with_data(tcp, &nla, addr, len, table, dflt, @@ -147,7 +173,7 @@ decode_nlattr(struct tcb *const tcp, len = next_len; } - if (print_array) { + if (is_array) { tprints("]"); } } @@ -174,24 +200,6 @@ decode_nla_strn(struct tcb *const tcp, return true; } -static bool -print_meminfo(struct tcb *const tcp, - void *const elem_buf, - const size_t elem_size, - void *const opaque_data) -{ - unsigned int *const count = opaque_data; - - if ((*count)++ >= SK_MEMINFO_VARS) { - tprints("..."); - return false; - } - - tprintf("%" PRIu32, *(uint32_t *) elem_buf); - - return true; -} - bool decode_nla_meminfo(struct tcb *const tcp, const kernel_ulong_t addr, @@ -205,8 +213,12 @@ decode_nla_meminfo(struct tcb *const tcp, return false; unsigned int count = 0; - print_array(tcp, addr, nmemb, &mem, sizeof(mem), - umoven_or_printaddr, print_meminfo, &count); + print_array_ex(tcp, addr, nmemb, &mem, sizeof(mem), + tfetch_mem, print_uint32_array_member, &count, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED + | XLAT_STYLE_FMT_U, + ARRSZ_PAIR(netlink_sk_meminfo_indices), + "SK_MEMINFO_???"); return true; } @@ -227,6 +239,31 @@ decode_nla_fd(struct tcb *const tcp, return true; } +bool +decode_nla_uid(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + uint32_t uid; + + if (len < sizeof(uid)) + return false; + else if (!umove_or_printaddr(tcp, addr, &uid)) + printuid("", uid); + + return true; +} + +bool +decode_nla_gid(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + return decode_nla_uid(tcp, addr, len, opaque_data); +} + bool decode_nla_ifindex(struct tcb *const tcp, const kernel_ulong_t addr, @@ -243,6 +280,121 @@ decode_nla_ifindex(struct tcb *const tcp, return true; } +bool +decode_nla_xval(struct tcb *const tcp, + const kernel_ulong_t addr, + unsigned int len, + const void *const opaque_data) +{ + const struct decode_nla_xlat_opts * const opts = opaque_data; + union { + uint64_t val; + uint8_t bytes[sizeof(uint64_t)]; + } data = { .val = 0 }; + + if (len > sizeof(data) || len < opts->size) + return false; + + if (opts->size) + len = MIN(len, opts->size); + + const size_t bytes_offs = is_bigendian ? sizeof(data) - len : 0; + + if (!umoven_or_printaddr(tcp, addr, len, data.bytes + bytes_offs)) { + if (opts->process_fn) + data.val = opts->process_fn(data.val); + if (opts->prefix) + tprints(opts->prefix); + printxval_dispatch_ex(opts->xlat, opts->xlat_size, data.val, + opts->dflt, opts->xt, opts->style); + if (opts->suffix) + tprints(opts->suffix); + } + + return true; +} + +static uint64_t +process_host_order(uint64_t val) +{ + return ntohs(val); +} + +bool +decode_nla_ether_proto(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + const struct decode_nla_xlat_opts opts = { + .xlat = ethernet_protocols, + .xlat_size = ethernet_protocols_size, + .dflt = "ETHER_P_???", + .xt = XT_SORTED, + .prefix = "htons(", + .suffix = ")", + .size = 2, + .process_fn = process_host_order, + }; + + return decode_nla_xval(tcp, addr, len, &opts); +} + +bool +decode_nla_ip_proto(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + const struct decode_nla_xlat_opts opts = { + .xlat = inet_protocols, + .xlat_size = inet_protocols_size, + .xt = XT_SORTED, + .dflt = "IPPROTO_???", + .size = 1, + }; + + return decode_nla_xval(tcp, addr, len, &opts); +} + +bool +decode_nla_flags(struct tcb *const tcp, + const kernel_ulong_t addr, + unsigned int len, + const void *const opaque_data) +{ + const struct decode_nla_xlat_opts * const opts = opaque_data; + union { + uint64_t flags; + uint8_t bytes[sizeof(uint64_t)]; + } data = { .flags = 0 }; + + if (len > sizeof(data) || len < opts->size) + return false; + + if (opts->size) + len = MIN(len, opts->size); + + const size_t bytes_offs = is_bigendian ? sizeof(data) - len : 0; + + if (opts->xt == XT_INDEXED) + error_func_msg("indexed xlats are currently incompatible with " + "printflags"); + + if (!umoven_or_printaddr(tcp, addr, len, data.bytes + bytes_offs)) { + if (opts->process_fn) + data.flags = opts->process_fn(data.flags); + if (opts->prefix) + tprints(opts->prefix); + printflags_ex(data.flags, opts->dflt, opts->style, opts->xlat, + NULL); + if (opts->suffix) + tprints(opts->suffix); + } + + return true; +} + bool decode_nla_be16(struct tcb *const tcp, const kernel_ulong_t addr, @@ -295,6 +447,10 @@ decode_nla_ ## name(struct tcb *const tcp, \ return true; \ } +DECODE_NLA_INTEGER(x8, uint8_t, "%#" PRIx8) +DECODE_NLA_INTEGER(x16, uint16_t, "%#" PRIx16) +DECODE_NLA_INTEGER(x32, uint32_t, "%#" PRIx32) +DECODE_NLA_INTEGER(x64, uint64_t, "%#" PRIx64) DECODE_NLA_INTEGER(u8, uint8_t, "%" PRIu8) DECODE_NLA_INTEGER(u16, uint16_t, "%" PRIu16) DECODE_NLA_INTEGER(u32, uint32_t, "%" PRIu32) diff --git a/nlattr.h b/nlattr.h index 00cbfd52..27ffdebd 100644 --- a/nlattr.h +++ b/nlattr.h @@ -1,7 +1,7 @@ /* * Copyright (c) 2016 Fabien Siron * Copyright (c) 2017 JingPiao Chen - * 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,15 +30,45 @@ #ifndef STRACE_NLATTR_H #define STRACE_NLATTR_H +#include "xlat.h" + +struct decode_nla_xlat_opts { + const struct xlat *xlat; + size_t xlat_size; /* is not needed for XT_NORMAL */ + const char *dflt; + enum xlat_type xt; + enum xlat_style style; + const char *prefix; + const char *suffix; + uint64_t (*process_fn)(uint64_t val); + size_t size; +}; + +/* + * Used for IFLA_LINKINFO decoding. Since there are no other indicators + * regarding the nature of data except for previously provided string + * in an IFLA_LINKINFO_KIND attribute, we have to store it in order to pass + * between calls as an opaque data. + */ +struct ifla_linkinfo_ctx { + char kind[16]; +}; + typedef bool (*nla_decoder_t)(struct tcb *, kernel_ulong_t addr, unsigned int len, const void *opaque_data); + +/** + * The case of non-NULL decoders and zero size is handled in a special way: + * the zeroth decoder is always called with nla_type being passed as opaque + * data. + */ extern void decode_nlattr(struct tcb *, kernel_ulong_t addr, unsigned int len, const struct xlat *, const char *dflt, - const nla_decoder_t *, + const nla_decoder_t *decoders, unsigned int size, const void *opaque_data); @@ -48,6 +78,10 @@ decode_nla_ ## name(struct tcb *, kernel_ulong_t addr, \ unsigned int len, const void *) \ /* End of DECL_NLA definition. */ +DECL_NLA(x8); +DECL_NLA(x16); +DECL_NLA(x32); +DECL_NLA(x64); DECL_NLA(u8); DECL_NLA(u16); DECL_NLA(u32); @@ -58,12 +92,19 @@ DECL_NLA(s32); DECL_NLA(s64); DECL_NLA(be16); DECL_NLA(be64); +DECL_NLA(xval); +DECL_NLA(flags); DECL_NLA(str); DECL_NLA(strn); DECL_NLA(fd); +DECL_NLA(uid); +DECL_NLA(gid); DECL_NLA(ifindex); +DECL_NLA(ether_proto); +DECL_NLA(ip_proto); DECL_NLA(meminfo); DECL_NLA(rt_class); +DECL_NLA(rt_proto); DECL_NLA(tc_stats); #endif /* !STRACE_NLATTR_H */ diff --git a/numa.c b/numa.c index 7564d873..c4500e84 100644 --- a/numa.c +++ b/numa.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2003-2007 Ulrich Drepper * Copyright (c) 2005-2016 Dmitry V. Levin - * 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 @@ -59,7 +59,7 @@ print_nodemask(struct tcb *const tcp, const kernel_ulong_t addr, kernel_ulong_t buf; print_array(tcp, addr, nmemb, &buf, current_wordsize, - umoven_or_printaddr, print_node, 0); + tfetch_mem, print_node, 0); } SYS_FUNC(migrate_pages) @@ -166,14 +166,14 @@ SYS_FUNC(move_pages) if (entering(tcp)) { tprintf("%d, %" PRI_klu ", ", (int) tcp->u_arg[0], npages); print_array(tcp, tcp->u_arg[2], npages, &buf, current_wordsize, - umoven_or_printaddr, print_addr, 0); + tfetch_mem, print_addr, 0); tprints(", "); print_array(tcp, tcp->u_arg[3], npages, &buf, sizeof(int), - umoven_or_printaddr, print_int, 0); + tfetch_mem, print_int, 0); tprints(", "); } else { print_array(tcp, tcp->u_arg[4], npages, &buf, sizeof(int), - umoven_or_printaddr, print_status, 0); + tfetch_mem, print_status, 0); tprints(", "); printflags(move_pages_flags, tcp->u_arg[5], "MPOL_???"); } diff --git a/open.c b/open.c index afa5020c..fde21ccc 100644 --- a/open.c +++ b/open.c @@ -62,11 +62,11 @@ void print_dirfd(struct tcb *tcp, int fd) { if (fd == AT_FDCWD) - tprints("AT_FDCWD, "); - else { + print_xlat_d(AT_FDCWD); + else printfd(tcp, fd); - tprints(", "); - } + + tprints(", "); } /* @@ -113,7 +113,8 @@ sprint_open_modes(unsigned int flags) void tprint_open_modes(unsigned int flags) { - tprints(sprint_open_modes(flags) + sizeof("flags")); + print_xlat_ex(flags, sprint_open_modes(flags) + sizeof("flags"), + XLAT_STYLE_DEFAULT); } #ifdef O_TMPFILE diff --git a/perf.c b/perf.c index b37f54a2..e66ca4d7 100644 --- a/perf.c +++ b/perf.c @@ -60,7 +60,7 @@ free_pea_desc(void *pea_desc_ptr) free(desc); } -static int +int fetch_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr) { struct pea_desc *desc; @@ -117,7 +117,7 @@ fetch_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr) printxval_search(xlat, x, dflt); \ } while (0) -static void +void print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr) { static const char *precise_ip_desc[] = { diff --git a/perf_event_struct.h b/perf_event_struct.h index a75b88ad..57d245bf 100644 --- a/perf_event_struct.h +++ b/perf_event_struct.h @@ -71,4 +71,10 @@ struct perf_event_attr { /* End of ver 5 - 112 bytes */ }; +struct perf_event_query_bpf { + uint32_t ids_len; + uint32_t prog_cnt; + uint32_t ids[0]; +}; + #endif /* !STRACE_LINUX_PERF_EVENT_STRUCT_H */ diff --git a/perf_ioctl.c b/perf_ioctl.c new file mode 100644 index 00000000..398fe694 --- /dev/null +++ b/perf_ioctl.c @@ -0,0 +1,153 @@ +/* + * 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 + +#include "perf_event_struct.h" + +#define XLAT_MACROS_ONLY +# include "xlat/perf_ioctl_cmds.h" +#undef XLAT_MACROS_ONLY + +#include "xlat/perf_ioctl_flags.h" + +#include MPERS_DEFS + +static int +perf_ioctl_query_bpf(struct tcb *const tcp, const kernel_ulong_t arg) +{ + uint32_t info; + + if (entering(tcp)) { + tprints(", "); + + if (umove_or_printaddr(tcp, arg, &info)) + return RVAL_IOCTL_DECODED; + + tprintf("{ids_len=%u, ", info); + + return 0; + } + + if (syserror(tcp) || + umove(tcp, arg + offsetof(struct perf_event_query_bpf, prog_cnt), + &info)) { + tprints("...}"); + + return RVAL_IOCTL_DECODED; + } + + tprintf("prog_cnt=%u, ids=", info); + + print_array(tcp, arg + offsetof(struct perf_event_query_bpf, ids), info, + &info, sizeof(info), + tfetch_mem, print_uint32_array_member, NULL); + + tprints("}"); + + return RVAL_IOCTL_DECODED; +} + +static int +perf_ioctl_modify_attributes(struct tcb *const tcp, const kernel_ulong_t arg) +{ + tprints(", "); + if (!fetch_perf_event_attr(tcp, arg)) + print_perf_event_attr(tcp, arg); + + return RVAL_IOCTL_DECODED; +} + +MPERS_PRINTER_DECL(int, perf_ioctl, + struct tcb *const tcp, const unsigned int code, + const kernel_ulong_t arg) +{ + switch (code) { + case PERF_EVENT_IOC_ENABLE: + case PERF_EVENT_IOC_DISABLE: + case PERF_EVENT_IOC_RESET: + tprints(", "); + printflags(perf_ioctl_flags, arg, "PERF_IOC_FLAG_???"); + + return RVAL_IOCTL_DECODED; + + case PERF_EVENT_IOC_REFRESH: + tprintf(", %d", (int) arg); + + return RVAL_IOCTL_DECODED; + + case PERF_EVENT_IOC_PERIOD: + tprints(", "); + printnum_int64(tcp, arg, "%" PRIu64); + + return RVAL_IOCTL_DECODED; + + case PERF_EVENT_IOC_SET_OUTPUT: + case PERF_EVENT_IOC_SET_BPF: + tprintf(", "); + printfd(tcp, (int) arg); + + return RVAL_IOCTL_DECODED; + + case PERF_EVENT_IOC_PAUSE_OUTPUT: + tprintf(", %" PRI_klu, arg); + + return RVAL_IOCTL_DECODED; + + /* + * The following ioctl requests are personality-specific + * due to the pointer size. + */ + case PERF_EVENT_IOC_SET_FILTER: + tprints(", "); + printstr_ex(tcp, arg, get_pagesize(), QUOTE_0_TERMINATED); + + return RVAL_IOCTL_DECODED; + + case PERF_EVENT_IOC_ID: + if (entering(tcp)) { + tprints(", "); + + return 0; + } + + printnum_int64(tcp, arg, "%" PRIu64); + + return RVAL_IOCTL_DECODED; + + case PERF_EVENT_IOC_QUERY_BPF: + return perf_ioctl_query_bpf(tcp, arg); + + case PERF_EVENT_IOC_MODIFY_ATTRIBUTES: + return perf_ioctl_modify_attributes(tcp, arg); + + default: + return RVAL_DECODED; + } +} diff --git a/poll.c b/poll.c index da42388f..db1931d1 100644 --- a/poll.c +++ b/poll.c @@ -57,7 +57,7 @@ decode_poll_entering(struct tcb *tcp) struct pollfd fds; print_array(tcp, addr, nfds, &fds, sizeof(fds), - umoven_or_printaddr, print_pollfd, 0); + tfetch_mem, print_pollfd, 0); tprintf(", %u, ", nfds); } diff --git a/prctl.c b/prctl.c index a0f4f6a5..568b5f7d 100644 --- a/prctl.c +++ b/prctl.c @@ -42,6 +42,9 @@ #include "xlat/pr_mce_kill.h" #include "xlat/pr_mce_kill_policy.h" #include "xlat/pr_set_mm.h" +#include "xlat/pr_spec_cmds.h" +#include "xlat/pr_spec_get_store_bypass_flags.h" +#include "xlat/pr_spec_set_store_bypass_flags.h" #include "xlat/pr_sve_vl_flags.h" #include "xlat/pr_tsc.h" #include "xlat/pr_unalign_flags.h" @@ -225,6 +228,27 @@ SYS_FUNC(prctl) return RVAL_STR; + case PR_GET_SPECULATION_CTRL: + if (entering(tcp)) { + tprints(", "); + printxval64(pr_spec_cmds, arg2, "PR_SPEC_???"); + + break; + } + + if (syserror(tcp)) + return 0; + + switch (arg2) { + case PR_SPEC_STORE_BYPASS: + tcp->auxstr = sprintflags("", + pr_spec_get_store_bypass_flags, + (kernel_ulong_t) tcp->u_rval); + break; + } + + return RVAL_STR; + /* PR_TASK_PERF_EVENTS_* take no arguments. */ case PR_TASK_PERF_EVENTS_DISABLE: case PR_TASK_PERF_EVENTS_ENABLE: @@ -319,10 +343,12 @@ SYS_FUNC(prctl) case PR_SET_PTRACER: tprints(", "); - if ((int) arg2 == -1) - tprints("PR_SET_PTRACER_ANY"); - else + if ((int) arg2 == -1) { + print_xlat_ex(arg2, "PR_SET_PTRACER_ANY", + XLAT_STYLE_DEFAULT); + } else { tprintf("%" PRI_klu, arg2); + } return RVAL_DECODED; case PR_SET_SECCOMP: @@ -380,6 +406,23 @@ SYS_FUNC(prctl) printflags(pr_fp_mode, arg2, "PR_FP_MODE_???"); return RVAL_DECODED; + case PR_SET_SPECULATION_CTRL: + tprints(", "); + printxval64(pr_spec_cmds, arg2, "PR_SPEC_???"); + tprints(", "); + + switch (arg2) { + case PR_SPEC_STORE_BYPASS: + printxval64(pr_spec_set_store_bypass_flags, arg3, + "PR_SPEC_???"); + break; + + default: + tprintf("%#" PRI_klx, arg3); + } + + return RVAL_DECODED; + case PR_GET_NO_NEW_PRIVS: case PR_GET_THP_DISABLE: case PR_MPX_DISABLE_MANAGEMENT: diff --git a/print_aio_sigset.c b/print_aio_sigset.c new file mode 100644 index 00000000..9903951a --- /dev/null +++ b/print_aio_sigset.c @@ -0,0 +1,53 @@ +/* + * 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 DEF_MPERS_TYPE(strace_aio_sigset) + +typedef struct { + sigset_t *sigmask; + size_t sigsetsize; +} strace_aio_sigset; + +#include MPERS_DEFS + +#include "print_fields.h" + +MPERS_PRINTER_DECL(void, print_aio_sigset, struct tcb *tcp, + const kernel_ulong_t addr) +{ + strace_aio_sigset sigset; + + if (!umove_or_printaddr(tcp, addr, &sigset)) { + tprints("{sigmask="); + print_sigset_addr_len(tcp, (uintptr_t) sigset.sigmask, + sigset.sigsetsize); + PRINT_FIELD_U(", ", sigset, sigsetsize); + tprints("}"); + } +} diff --git a/print_fields.h b/print_fields.h index 0b810d5c..ffcabf46 100644 --- a/print_fields.h +++ b/print_fields.h @@ -91,6 +91,31 @@ (dflt_)); \ } while (0) +#define PRINT_FIELD_XVAL_U(prefix_, where_, field_, xlat_, dflt_) \ + do { \ + STRACE_PRINTF("%s%s=", (prefix_), #field_); \ + printxvals_ex(zero_extend_signed_to_ull((where_).field_), \ + (dflt_), XLAT_STYLE_FMT_U, \ + (xlat_), NULL); \ + } while (0) + +#define PRINT_FIELD_XVAL_SORTED_SIZED(prefix_, where_, field_, xlat_, \ + xlat_size_, dflt_) \ + do { \ + STRACE_PRINTF("%s%s=", (prefix_), #field_); \ + printxval_searchn((xlat_), (xlat_size_), \ + zero_extend_signed_to_ull((where_).field_), \ + (dflt_)); \ + } while (0) + +#define PRINT_FIELD_XVAL_INDEX(prefix_, where_, field_, xlat_, dflt_) \ + do { \ + STRACE_PRINTF("%s%s=", (prefix_), #field_); \ + printxval_index((xlat_), \ + zero_extend_signed_to_ull((where_).field_), \ + (dflt_)); \ + } while (0) + /* * Generic "ID" printing. ID is considered unsigned except for the special value * of -1. @@ -106,6 +131,16 @@ #define PRINT_FIELD_UID PRINT_FIELD_ID +#define PRINT_FIELD_U64(prefix_, where_, field_) \ + do { \ + STRACE_PRINTF("%s%s=", (prefix_), #field_); \ + if (zero_extend_signed_to_ull((where_).field_) == UINT64_MAX) \ + print_xlat_ex(UINT64_MAX, "UINT64_MAX", XLAT_STYLE_FMT_U); \ + else \ + STRACE_PRINTF("%llu", \ + zero_extend_signed_to_ull((where_).field_)); \ + } while (0) + #define PRINT_FIELD_STRING(prefix_, where_, field_, len_, style_) \ do { \ STRACE_PRINTF("%s%s=", (prefix_), #field_); \ @@ -202,4 +237,17 @@ printpath((tcp_), (where_).field_); \ } while (0) +#define PRINT_FIELD_MAC(prefix_, where_, field_) \ + PRINT_FIELD_MAC_SZ((prefix_), (where_), field_, \ + ARRAY_SIZE((where_).field_)) + +#define PRINT_FIELD_MAC_SZ(prefix_, where_, field_, size_) \ + do { \ + static_assert(sizeof(((where_).field_)[0]) == 1, \ + "MAC address is not a byte array"); \ + STRACE_PRINTF("%s%s=", (prefix_), #field_); \ + print_mac_addr("", (const uint8_t *) ((where_).field_), \ + (size_)); \ + } while (0) + #endif /* !STRACE_PRINT_FIELDS_H */ diff --git a/print_ifindex.c b/print_ifindex.c index f978a5a6..2df1e3be 100644 --- a/print_ifindex.c +++ b/print_ifindex.c @@ -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,19 +28,41 @@ #include "defs.h" #include -void -print_ifindex(const unsigned int ifindex) -{ #ifdef HAVE_IF_INDEXTONAME - char buf[IFNAMSIZ + 1]; +# include "xstring.h" + +# define INI_PFX "if_nametoindex(" +# define INI_SFX ")" +# define IFNAME_QUOTED_SZ (sizeof(IFNAMSIZ) * 4 + 3) + +static const char * +get_ifname(const unsigned int ifindex) +{ + static char res[IFNAME_QUOTED_SZ + sizeof(INI_PFX INI_SFX)]; + + char name_buf[IFNAMSIZ]; + char name_quoted_buf[IFNAME_QUOTED_SZ]; + + if (if_indextoname(ifindex, name_buf)) { + if (string_quote(name_buf, name_quoted_buf, sizeof(name_buf), + QUOTE_0_TERMINATED, NULL)) + return NULL; + + xsprintf(res, INI_PFX "%s" INI_SFX, name_quoted_buf); - if (if_indextoname(ifindex, buf)) { - tprints("if_nametoindex("); - print_quoted_cstring(buf, sizeof(buf)); - tprints(")"); - return; + return res; } -#endif + return NULL; +} +#endif /* HAVE_IF_INDEXTONAME */ + +void +print_ifindex(const unsigned int ifindex) +{ +#ifdef HAVE_IF_INDEXTONAME + print_xlat_ex(ifindex, get_ifname(ifindex), XLAT_STYLE_FMT_U); +#else tprintf("%u", ifindex); +#endif } diff --git a/print_mac.c b/print_mac.c new file mode 100644 index 00000000..e384f75a --- /dev/null +++ b/print_mac.c @@ -0,0 +1,55 @@ +/* + * 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 "error_prints.h" +#include "xstring.h" + +#ifndef MAX_ADDR_LEN +# define MAX_ADDR_LEN 32 +#endif + +const char * +sprint_mac_addr(const uint8_t addr[], size_t size) +{ + static char res[MAX_ADDR_LEN * 3]; + + if (size > MAX_ADDR_LEN) { + error_func_msg("Address size (%zu) is more than maximum " + "supported (%u)", size, MAX_ADDR_LEN); + + return NULL; + } + + char *ptr = res; + + for (size_t i = 0; i < size; i++) + ptr = xappendstr(res, ptr, "%s%02x", i ? ":" : "", addr[i]); + + return res; +} diff --git a/printers.h b/printers.h index 333d53a7..84f95c2c 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_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. */ +/* 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 perf_ioctl.c.mpers.i print_aio_sigset.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) @@ -54,6 +54,12 @@ typedef struct { int (*mtd_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); #define mtd_ioctl MPERS_PRINTER_NAME(mtd_ioctl) + int (*perf_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); +#define perf_ioctl MPERS_PRINTER_NAME(perf_ioctl) + + void (*print_aio_sigset)(struct tcb *tcp, const kernel_ulong_t addr); +#define print_aio_sigset MPERS_PRINTER_NAME(print_aio_sigset) + void (*print_group_req)(struct tcb *const tcp, const kernel_ulong_t addr, const int len); #define print_group_req MPERS_PRINTER_NAME(print_group_req) diff --git a/printmode.c b/printmode.c index d9dcfa39..7a5479f9 100644 --- a/printmode.c +++ b/printmode.c @@ -4,7 +4,7 @@ * Copyright (c) 1993-1996 Rick Sladkey * Copyright (c) 1996-1999 Wichert Akkerman * Copyright (c) 2012 Denys Vlasenko - * Copyright (c) 2012-2017 The strace developers. + * Copyright (c) 2012-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,25 +40,24 @@ void print_symbolic_mode_t(const unsigned int mode) { - const char *ifmt; + const char *ifmt = ""; - if (mode & S_IFMT) { + if (mode & S_IFMT) ifmt = xlookup(modetypes, mode & S_IFMT); - if (!ifmt) { - tprintf("%#03o", mode); - return; - } - } else { - ifmt = NULL; - } - tprintf("%s%s%s%s%s%#03o", - ifmt ? ifmt : "", - ifmt ? "|" : "", - (mode & S_ISUID) ? "S_ISUID|" : "", - (mode & S_ISGID) ? "S_ISGID|" : "", - (mode & S_ISVTX) ? "S_ISVTX|" : "", - mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX)); + if (!ifmt || xlat_verbose(xlat_verbosity) != XLAT_STYLE_ABBREV) + tprintf("%#03o", mode); + + if (!ifmt || xlat_verbose(xlat_verbosity) == XLAT_STYLE_RAW) + return; + + (xlat_verbose(xlat_verbosity) == XLAT_STYLE_ABBREV + ? tprintf : tprintf_comment)("%s%s%s%s%s%#03o", + ifmt, ifmt[0] ? "|" : "", + (mode & S_ISUID) ? "S_ISUID|" : "", + (mode & S_ISGID) ? "S_ISGID|" : "", + (mode & S_ISVTX) ? "S_ISVTX|" : "", + mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX)); } void diff --git a/printsiginfo.c b/printsiginfo.c index bab9e229..d46003c2 100644 --- a/printsiginfo.c +++ b/printsiginfo.c @@ -126,10 +126,7 @@ print_si_code(int si_signo, unsigned int si_code) } } - if (code) - tprints(code); - else - tprintf("%#x", si_code); + print_xlat_ex(si_code, code, XLAT_STYLE_DEFAULT); } static void @@ -280,5 +277,5 @@ MPERS_PRINTER_DECL(void, print_siginfo_array, struct tcb *const tcp, siginfo_t si; print_array(tcp, addr, len, &si, sizeof(si), - umoven_or_printaddr, print_siginfo_t, 0); + tfetch_mem, print_siginfo_t, 0); } diff --git a/rtnl_link.c b/rtnl_link.c index a01452fa..f16c7373 100644 --- a/rtnl_link.c +++ b/rtnl_link.c @@ -33,18 +33,32 @@ #include "print_fields.h" #include "netlink.h" + +#include + #ifdef HAVE_LINUX_IF_LINK_H # include #endif #include +#include "xlat/in6_addr_gen_mode.h" +#include "xlat/inet_devconf_indices.h" +#include "xlat/inet6_devconf_indices.h" +#include "xlat/inet6_if_flags.h" +#include "xlat/rtnl_ifla_af_spec_inet_attrs.h" +#include "xlat/rtnl_ifla_af_spec_inet6_attrs.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_info_data_bridge_attrs.h" +#include "xlat/rtnl_ifla_info_data_tun_attrs.h" #include "xlat/rtnl_ifla_port_attrs.h" #include "xlat/rtnl_ifla_vf_port_attrs.h" #include "xlat/rtnl_ifla_xdp_attrs.h" #include "xlat/rtnl_link_attrs.h" +#include "xlat/snmp_icmp6_stats.h" +#include "xlat/snmp_ip_stats.h" +#include "xlat/tun_device_types.h" #include "xlat/xdp_flags.h" static bool @@ -107,22 +121,20 @@ decode_ifla_bridge_id(struct tcb *const tcp, const unsigned int len, const void *const opaque_data) { -#ifdef HAVE_STRUCT_IFLA_BRIDGE_ID - struct ifla_bridge_id id; + struct { + uint8_t prio[2]; + uint8_t addr[6]; + } id; if (len < sizeof(id)) return false; else if (!umove_or_printaddr(tcp, addr, &id)) { - tprintf("{prio=[%u, %u], addr=%02x:%02x:%02x:%02x:%02x:%02x}", - id.prio[0], id.prio[1], - id.addr[0], id.addr[1], id.addr[2], - id.addr[3], id.addr[4], id.addr[5]); + tprintf("{prio=[%u, %u]", id.prio[0], id.prio[1]); + PRINT_FIELD_MAC(", ", id, addr); + tprints("}"); } return true; -#else - return false; -#endif } static const nla_decoder_t ifla_brport_nla_decoders[] = { @@ -165,8 +177,8 @@ decode_ifla_protinfo(struct tcb *const tcp, const void *const opaque_data) { decode_nlattr(tcp, addr, len, rtnl_ifla_brport_attrs, - "IFLA_BRPORT_???", ifla_brport_nla_decoders, - ARRAY_SIZE(ifla_brport_nla_decoders), opaque_data); + "IFLA_BRPORT_???", + ARRSZ_PAIR(ifla_brport_nla_decoders), opaque_data); return true; } @@ -196,10 +208,211 @@ decode_rtnl_link_ifmap(struct tcb *const tcp, return true; } +bool +decode_nla_linkinfo_kind(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + struct ifla_linkinfo_ctx *ctx = (void *) opaque_data; + + memset(ctx->kind, '\0', sizeof(ctx->kind)); + + if (umovestr(tcp, addr, sizeof(ctx->kind), ctx->kind) <= 0) { + /* + * If we haven't seen NUL or an error occurred, set kind to + * an empty string. + */ + ctx->kind[0] = '\0'; + } + + printstr_ex(tcp, addr, len, QUOTE_0_TERMINATED); + + return true; +} + +bool +decode_nla_linkinfo_xstats_can(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + struct strace_can_device_stats { + uint32_t bus_error; + uint32_t error_warning; + uint32_t error_passive; + uint32_t bus_off; + uint32_t arbitration_lost; + uint32_t restarts; + } st; + const unsigned int def_size = sizeof(st); + const unsigned int size = (len >= def_size) ? def_size : 0; + + if (!size) + return false; + + if (umoven_or_printaddr(tcp, addr, size, &st)) + return true; + + PRINT_FIELD_U("{", st, bus_error); + PRINT_FIELD_U(", ", st, error_warning); + PRINT_FIELD_U(", ", st, error_passive); + PRINT_FIELD_U(", ", st, bus_off); + PRINT_FIELD_U(", ", st, arbitration_lost); + PRINT_FIELD_U(", ", st, restarts); + tprints("}"); + + return true; +} + +bool +decode_nla_linkinfo_xstats(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + struct ifla_linkinfo_ctx *ctx = (void *) opaque_data; + nla_decoder_t func = NULL; + + if (!strcmp(ctx->kind, "can")) + func = decode_nla_linkinfo_xstats_can; + + if (func) + return func(tcp, addr, len, opaque_data); + + return false; +} + +static const nla_decoder_t ifla_info_data_bridge_nla_decoders[] = { + [IFLA_BR_UNSPEC] = NULL, + [IFLA_BR_FORWARD_DELAY] = decode_nla_u32, + [IFLA_BR_HELLO_TIME] = decode_nla_u32, + [IFLA_BR_MAX_AGE] = decode_nla_u32, + [IFLA_BR_AGEING_TIME] = decode_nla_u32, + [IFLA_BR_STP_STATE] = decode_nla_u32, + [IFLA_BR_PRIORITY] = decode_nla_u16, + [IFLA_BR_VLAN_FILTERING] = decode_nla_u8, + [IFLA_BR_VLAN_PROTOCOL] = decode_nla_ether_proto, + [IFLA_BR_GROUP_FWD_MASK] = decode_nla_x16, + [IFLA_BR_ROOT_ID] = decode_ifla_bridge_id, + [IFLA_BR_BRIDGE_ID] = decode_ifla_bridge_id, + [IFLA_BR_ROOT_PORT] = decode_nla_u16, + [IFLA_BR_ROOT_PATH_COST] = decode_nla_u32, + [IFLA_BR_TOPOLOGY_CHANGE] = decode_nla_u8, + [IFLA_BR_TOPOLOGY_CHANGE_DETECTED] = decode_nla_u8, + [IFLA_BR_HELLO_TIMER] = decode_nla_u64, + [IFLA_BR_TCN_TIMER] = decode_nla_u64, + [IFLA_BR_TOPOLOGY_CHANGE_TIMER] = decode_nla_u64, + [IFLA_BR_GC_TIMER] = decode_nla_u64, + [IFLA_BR_GROUP_ADDR] = NULL, /* MAC address */ + [IFLA_BR_FDB_FLUSH] = NULL, /* unspecified */ + [IFLA_BR_MCAST_ROUTER] = decode_nla_u8, + [IFLA_BR_MCAST_SNOOPING] = decode_nla_u8, + [IFLA_BR_MCAST_QUERY_USE_IFADDR] = decode_nla_u8, + [IFLA_BR_MCAST_QUERIER] = decode_nla_u8, + [IFLA_BR_MCAST_HASH_ELASTICITY] = decode_nla_u32, + [IFLA_BR_MCAST_HASH_MAX] = decode_nla_u32, + [IFLA_BR_MCAST_LAST_MEMBER_CNT] = decode_nla_u32, + [IFLA_BR_MCAST_STARTUP_QUERY_CNT] = decode_nla_u32, + [IFLA_BR_MCAST_LAST_MEMBER_INTVL] = decode_nla_u64, + [IFLA_BR_MCAST_MEMBERSHIP_INTVL] = decode_nla_u64, + [IFLA_BR_MCAST_QUERIER_INTVL] = decode_nla_u64, + [IFLA_BR_MCAST_QUERY_INTVL] = decode_nla_u64, + [IFLA_BR_MCAST_QUERY_RESPONSE_INTVL] = decode_nla_u64, + [IFLA_BR_MCAST_STARTUP_QUERY_INTVL] = decode_nla_u64, + [IFLA_BR_NF_CALL_IPTABLES] = decode_nla_u8, + [IFLA_BR_NF_CALL_IP6TABLES] = decode_nla_u8, + [IFLA_BR_NF_CALL_ARPTABLES] = decode_nla_u8, + [IFLA_BR_VLAN_DEFAULT_PVID] = decode_nla_u16, + [IFLA_BR_PAD] = NULL, + [IFLA_BR_VLAN_STATS_ENABLED] = decode_nla_u8, + [IFLA_BR_MCAST_STATS_ENABLED] = decode_nla_u8, + [IFLA_BR_MCAST_IGMP_VERSION] = decode_nla_u8, + [IFLA_BR_MCAST_MLD_VERSION] = decode_nla_u8, +}; + +bool +decode_nla_linkinfo_data_bridge(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + decode_nlattr(tcp, addr, len, rtnl_ifla_info_data_bridge_attrs, + "IFLA_BR_???", + ARRSZ_PAIR(ifla_info_data_bridge_nla_decoders), + opaque_data); + + return true; +} + +static bool +decode_nla_tun_type(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + const struct decode_nla_xlat_opts opts = { + .xlat = tun_device_types, + .xlat_size = ARRAY_SIZE(tun_device_types), + .xt = XT_INDEXED, + .dflt = "IFF_???", + .size = 1, + }; + + return decode_nla_xval(tcp, addr, len, &opts); +} + +static const nla_decoder_t ifla_info_data_tun_nla_decoders[] = { + [IFLA_TUN_UNSPEC] = NULL, + [IFLA_TUN_OWNER] = decode_nla_uid, + [IFLA_TUN_GROUP] = decode_nla_gid, + [IFLA_TUN_TYPE] = decode_nla_tun_type, + [IFLA_TUN_PI] = decode_nla_u8, + [IFLA_TUN_VNET_HDR] = decode_nla_u8, + [IFLA_TUN_PERSIST] = decode_nla_u8, + [IFLA_TUN_MULTI_QUEUE] = decode_nla_u8, + [IFLA_TUN_NUM_QUEUES] = decode_nla_u32, + [IFLA_TUN_NUM_DISABLED_QUEUES] = decode_nla_u32, +}; + +bool +decode_nla_linkinfo_data_tun(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + decode_nlattr(tcp, addr, len, rtnl_ifla_info_data_tun_attrs, + "IFLA_TUN_???", + ARRSZ_PAIR(ifla_info_data_tun_nla_decoders), + opaque_data); + + return true; +} + +bool +decode_nla_linkinfo_data(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + struct ifla_linkinfo_ctx *ctx = (void *) opaque_data; + nla_decoder_t func = NULL; + + if (!strcmp(ctx->kind, "bridge")) + func = decode_nla_linkinfo_data_bridge; + else if (!strcmp(ctx->kind, "tun")) + func = decode_nla_linkinfo_data_tun; + + if (func) + return func(tcp, addr, len, opaque_data); + + return false; +} + static const nla_decoder_t ifla_linkinfo_nla_decoders[] = { - [IFLA_INFO_KIND] = decode_nla_str, - [IFLA_INFO_DATA] = NULL, /* unimplemented */ - [IFLA_INFO_XSTATS] = NULL, /* unimplemented */ + [IFLA_INFO_KIND] = decode_nla_linkinfo_kind, + [IFLA_INFO_DATA] = decode_nla_linkinfo_data, + [IFLA_INFO_XSTATS] = decode_nla_linkinfo_xstats, [IFLA_INFO_SLAVE_KIND] = decode_nla_str, [IFLA_INFO_SLAVE_DATA] = NULL, /* unimplemented */ }; @@ -210,9 +423,11 @@ decode_ifla_linkinfo(struct tcb *const tcp, const unsigned int len, const void *const opaque_data) { + struct ifla_linkinfo_ctx ctx = { .kind = "", }; + decode_nlattr(tcp, addr, len, rtnl_ifla_info_attrs, - "IFLA_INFO_???", ifla_linkinfo_nla_decoders, - ARRAY_SIZE(ifla_linkinfo_nla_decoders), opaque_data); + "IFLA_INFO_???", ARRSZ_PAIR(ifla_linkinfo_nla_decoders), + &ctx); return true; } @@ -317,8 +532,8 @@ decode_ifla_port(struct tcb *const tcp, const void *const opaque_data) { decode_nlattr(tcp, addr, len, rtnl_ifla_port_attrs, - "IFLA_VF_PORT_???", ifla_port_nla_decoders, - ARRAY_SIZE(ifla_port_nla_decoders), opaque_data); + "IFLA_VF_PORT_???", ARRSZ_PAIR(ifla_port_nla_decoders), + opaque_data); return true; } @@ -334,8 +549,8 @@ decode_ifla_vf_ports(struct tcb *const tcp, const void *const opaque_data) { decode_nlattr(tcp, addr, len, rtnl_ifla_vf_port_attrs, - "IFLA_VF_PORT_???", ifla_vf_port_nla_decoders, - ARRAY_SIZE(ifla_vf_port_nla_decoders), opaque_data); + "IFLA_VF_PORT_???", ARRSZ_PAIR(ifla_vf_port_nla_decoders), + opaque_data); return true; } @@ -370,8 +585,8 @@ decode_ifla_xdp(struct tcb *const tcp, const void *const opaque_data) { decode_nlattr(tcp, addr, len, rtnl_ifla_xdp_attrs, - "IFLA_XDP_???", ifla_xdp_nla_decoders, - ARRAY_SIZE(ifla_xdp_nla_decoders), opaque_data); + "IFLA_XDP_???", ARRSZ_PAIR(ifla_xdp_nla_decoders), + opaque_data); return true; } @@ -392,6 +607,227 @@ decode_ifla_event(struct tcb *const tcp, return true; } + +static bool +decode_ifla_inet_conf(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + int elem; + size_t cnt = len / sizeof(elem); + + if (!cnt) + return false; + + print_array_ex(tcp, addr, cnt, &elem, sizeof(elem), + tfetch_mem, print_int32_array_member, NULL, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED + | XLAT_STYLE_FMT_D, ARRSZ_PAIR(inet_devconf_indices), + "IPV4_DEVCONF_???"); + + return true; +} + +static const nla_decoder_t ifla_inet_nla_decoders[] = { + [IFLA_INET_CONF] = decode_ifla_inet_conf, +}; + +static bool +decode_ifla_inet6_flags(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + const struct decode_nla_xlat_opts opts = { + ARRSZ_PAIR(inet6_if_flags), "IF_???", + .size = 4, + }; + + return decode_nla_flags(tcp, addr, len, &opts); +} + +static bool +decode_ifla_inet6_conf(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + int elem; + size_t cnt = len / sizeof(elem); + + if (!cnt) + return false; + + print_array_ex(tcp, addr, cnt, &elem, sizeof(elem), + tfetch_mem, print_int32_array_member, NULL, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED + | XLAT_STYLE_FMT_D, ARRSZ_PAIR(inet6_devconf_indices), + "DEVCONF_???"); + + return true; +} + +static bool +decode_ifla_inet6_stats(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + uint64_t elem; + size_t cnt = len / sizeof(elem); + + if (!cnt) + return false; + + print_array_ex(tcp, addr, cnt, &elem, sizeof(elem), + tfetch_mem, print_uint64_array_member, NULL, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED + | XLAT_STYLE_FMT_U, ARRSZ_PAIR(snmp_ip_stats), + "IPSTATS_MIB_???"); + + return true; +} + +static bool +decode_ifla_inet6_cacheinfo(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + struct { + uint32_t max_reasm_len; + uint32_t tstamp; + uint32_t reachable_time; + uint32_t retrans_time; + } ci; + + if (len < sizeof(ci)) + return false; + else if (!umove_or_printaddr(tcp, addr, &ci)) { + PRINT_FIELD_U("{", ci, max_reasm_len); + PRINT_FIELD_U(", ", ci, tstamp); + PRINT_FIELD_U(", ", ci, reachable_time); + PRINT_FIELD_U(", ", ci, retrans_time); + tprints("}"); + } + + return true; +} + +static bool +decode_ifla_inet6_icmp6_stats(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + uint64_t elem; + size_t cnt = len / sizeof(elem); + + if (!cnt) + return false; + + print_array_ex(tcp, addr, cnt, &elem, sizeof(elem), + tfetch_mem, print_uint64_array_member, NULL, + PAF_PRINT_INDICES | PAF_INDEX_XLAT_VALUE_INDEXED + | XLAT_STYLE_FMT_U, ARRSZ_PAIR(snmp_icmp6_stats), + "ICMP6_MIB_???"); + + return true; +} + +static bool +decode_ifla_inet6_token(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + struct in6_addr in6; + + if (len < sizeof(in6)) + return false; + else if (!umove_or_printaddr(tcp, addr, &in6)) + print_inet_addr(AF_INET6, &in6, sizeof(in6), NULL); + + return true; +} + +static bool +decode_ifla_inet6_agm(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + const struct decode_nla_xlat_opts opts = { + ARRSZ_PAIR(in6_addr_gen_mode), "IN6_ADDR_GEN_MODE_???", + .xt = XT_INDEXED, + .size = 1, + }; + + return decode_nla_xval(tcp, addr, len, &opts); +} + +static const nla_decoder_t ifla_inet6_nla_decoders[] = { + [IFLA_INET6_FLAGS] = decode_ifla_inet6_flags, + [IFLA_INET6_CONF] = decode_ifla_inet6_conf, + [IFLA_INET6_STATS] = decode_ifla_inet6_stats, + [IFLA_INET6_MCAST] = NULL, /* unused */ + [IFLA_INET6_CACHEINFO] = decode_ifla_inet6_cacheinfo, + [IFLA_INET6_ICMP6STATS] = decode_ifla_inet6_icmp6_stats, + [IFLA_INET6_TOKEN] = decode_ifla_inet6_token, + [IFLA_INET6_ADDR_GEN_MODE] = decode_ifla_inet6_agm, +}; + +static const struct nla_decoder_table_desc { + const struct xlat *xlat; + const char *dflt; + const nla_decoder_t *table; + size_t size; +} ifla_af_spec_protos[] = { + [AF_INET] = { + rtnl_ifla_af_spec_inet_attrs, "IFLA_INET_???", + ARRSZ_PAIR(ifla_inet_nla_decoders), + }, + [AF_INET6] = { + rtnl_ifla_af_spec_inet6_attrs, "IFLA_INET6_???", + ARRSZ_PAIR(ifla_inet6_nla_decoders), + }, +}; + +static bool +decode_ifla_af(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + uintptr_t proto = (uintptr_t) opaque_data; + const struct nla_decoder_table_desc *desc + = proto < ARRAY_SIZE(ifla_af_spec_protos) + ? ifla_af_spec_protos + proto : NULL; + + if (!desc || !desc->table) + return false; + + decode_nlattr(tcp, addr, len, + desc->xlat, desc->dflt, desc->table, desc->size, NULL); + + return true; +} + +static bool +decode_ifla_af_spec(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + nla_decoder_t af_spec_decoder = &decode_ifla_af; + + decode_nlattr(tcp, addr, len, addrfams, "AF_???", + &af_spec_decoder, 0, opaque_data); + + return true; +} + static const nla_decoder_t ifinfomsg_nla_decoders[] = { [IFLA_ADDRESS] = NULL, /* unimplemented */ [IFLA_BROADCAST] = NULL, /* unimplemented */ @@ -418,7 +854,7 @@ static const nla_decoder_t ifinfomsg_nla_decoders[] = { [IFLA_STATS64] = decode_rtnl_link_stats64, [IFLA_VF_PORTS] = decode_ifla_vf_ports, [IFLA_PORT_SELF] = decode_ifla_port, - [IFLA_AF_SPEC] = NULL, /* unimplemented */ + [IFLA_AF_SPEC] = decode_ifla_af_spec, [IFLA_GROUP] = decode_nla_u32, [IFLA_NET_NS_FD] = decode_nla_fd, [IFLA_EXT_MASK] = decode_nla_u32, @@ -441,7 +877,7 @@ static const nla_decoder_t ifinfomsg_nla_decoders[] = { [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, + [IFLA_NEW_IFINDEX] = decode_nla_ifindex, }; DECL_NETLINK_ROUTE_DECODER(decode_ifinfomsg) @@ -457,8 +893,10 @@ DECL_NETLINK_ROUTE_DECODER(decode_ifinfomsg) if (!umoven_or_printaddr(tcp, addr + offset, sizeof(ifinfo) - offset, (char *) &ifinfo + offset)) { - PRINT_FIELD_XVAL("", ifinfo, ifi_type, - arp_hardware_types, "ARPHRD_???"); + PRINT_FIELD_XVAL_SORTED_SIZED("", ifinfo, ifi_type, + arp_hardware_types, + arp_hardware_types_size, + "ARPHRD_???"); PRINT_FIELD_IFINDEX(", ", ifinfo, ifi_index); PRINT_FIELD_FLAGS(", ", ifinfo, ifi_flags, iffflags, "IFF_???"); @@ -474,7 +912,6 @@ DECL_NETLINK_ROUTE_DECODER(decode_ifinfomsg) tprints(", "); decode_nlattr(tcp, addr + offset, len - offset, rtnl_link_attrs, "IFLA_???", - ifinfomsg_nla_decoders, - ARRAY_SIZE(ifinfomsg_nla_decoders), NULL); + ARRSZ_PAIR(ifinfomsg_nla_decoders), NULL); } } diff --git a/rtnl_route.c b/rtnl_route.c index 93205c9b..ec5d69f4 100644 --- a/rtnl_route.c +++ b/rtnl_route.c @@ -61,6 +61,21 @@ decode_nla_rt_class(struct tcb *const tcp, return true; } +bool +decode_nla_rt_proto(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + uint8_t num; + + if (len < sizeof(num)) + return false; + if (!umove_or_printaddr(tcp, addr, &num)) + printxval_search(routing_protocols, num, "RTPROT_???"); + return true; +} + static bool decode_route_addr(struct tcb *const tcp, const kernel_ulong_t addr, @@ -255,8 +270,7 @@ decode_rta_multipath(struct tcb *const tcp, PRINT_FIELD_IFINDEX(", ", nh, rtnh_ifindex); tprints("}"); - const unsigned short rtnh_len = - len < nh.rtnh_len ? len : nh.rtnh_len; + const unsigned short rtnh_len = MIN(len, nh.rtnh_len); const size_t offset = RTNH_ALIGN(sizeof(nh)); if (rtnh_len > offset) { tprints(", "); diff --git a/rtnl_rule.c b/rtnl_rule.c index 1ab4fd26..740b0902 100644 --- a/rtnl_rule.c +++ b/rtnl_rule.c @@ -79,6 +79,28 @@ decode_fib_rule_uid_range(struct tcb *const tcp, #endif } +static bool +decode_rule_port_range(struct tcb *const tcp, + const kernel_ulong_t addr, + const unsigned int len, + const void *const opaque_data) +{ + struct /* fib_rule_port_range */ { + uint16_t start; + uint16_t end; + } range; + + if (len < sizeof(range)) + return false; + else if (!umove_or_printaddr(tcp, addr, &range)) { + PRINT_FIELD_U("{", range, start); + PRINT_FIELD_U(", ", range, end); + tprints("}"); + } + + return true; +} + static const nla_decoder_t fib_rule_hdr_nla_decoders[] = { [FRA_DST] = decode_rule_addr, [FRA_SRC] = decode_rule_addr, @@ -95,7 +117,11 @@ static const nla_decoder_t fib_rule_hdr_nla_decoders[] = { [FRA_OIFNAME] = decode_nla_str, [FRA_PAD] = NULL, [FRA_L3MDEV] = decode_nla_u8, - [FRA_UID_RANGE] = decode_fib_rule_uid_range + [FRA_UID_RANGE] = decode_fib_rule_uid_range, + [FRA_PROTOCOL] = decode_nla_rt_proto, + [FRA_IP_PROTO] = decode_nla_ip_proto, + [FRA_SPORT_RANGE] = decode_rule_port_range, + [FRA_DPORT_RANGE] = decode_rule_port_range, }; DECL_NETLINK_ROUTE_DECODER(decode_fib_rule_hdr) diff --git a/rtnl_tc.c b/rtnl_tc.c index 237afce7..657cc38d 100644 --- a/rtnl_tc.c +++ b/rtnl_tc.c @@ -259,7 +259,7 @@ decode_tca_stab_data(struct tcb *const tcp, return false; print_array(tcp, addr, nmemb, &data, sizeof(data), - umoven_or_printaddr, print_stab_data, NULL); + tfetch_mem, print_stab_data, NULL); return true; } diff --git a/s390.c b/s390.c index 222fd01f..422c08d3 100644 --- a/s390.c +++ b/s390.c @@ -1204,12 +1204,9 @@ SYS_FUNC(s390_runtime_instr) int command = (int) tcp->u_arg[0]; int signum = (int) tcp->u_arg[1]; - const char *command_descr = - xlookup(s390_runtime_instr_commands, command); - tprintf("%d", command); - tprints_comment(command_descr ? command_descr : - "S390_RUNTIME_INSTR_???"); + printxval_d(s390_runtime_instr_commands, command, + "S390_RUNTIME_INSTR_???"); /* * signum is ignored since Linux 4.4, but let's print it for start diff --git a/scno.h b/scno.h index 722ec965..2bdf75e0 100644 --- a/scno.h +++ b/scno.h @@ -833,6 +833,9 @@ #ifndef __NR_statx # define __NR_statx (SYSCALL_BIT | 291) #endif +#ifndef __NR_io_pgetevents +# define __NR_io_pgetevents (SYSCALL_BIT | 292) +#endif #ifndef __NR_open # define __NR_open (SYSCALL_BIT | 1024) #endif diff --git a/sen.h b/sen.h index dc48cbc5..fb29d69d 100644 --- a/sen.h +++ b/sen.h @@ -137,6 +137,7 @@ SEN_inotify_rm_watch, SEN_io_cancel, SEN_io_destroy, SEN_io_getevents, +SEN_io_pgetevents, SEN_io_setup, SEN_io_submit, SEN_ioctl, @@ -273,6 +274,7 @@ SEN_request_key, SEN_restart_syscall, SEN_riscv_flush_icache, SEN_rmdir, +SEN_rseq, SEN_rt_sigaction, SEN_rt_sigpending, SEN_rt_sigprocmask, diff --git a/signal.c b/signal.c index 170fee7c..d717e66f 100644 --- a/signal.c +++ b/signal.c @@ -117,7 +117,7 @@ print_sa_handler(kernel_ulong_t handler) const char *sa_handler_str = get_sa_handler_str(handler); if (sa_handler_str) - tprints(sa_handler_str); + print_xlat_ex(handler, sa_handler_str, XLAT_STYLE_DEFAULT); else printaddr(handler); } diff --git a/sock.c b/sock.c index cd13de48..a477bcea 100644 --- a/sock.c +++ b/sock.c @@ -1,6 +1,6 @@ /* * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey - * 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 @@ -47,6 +47,10 @@ typedef struct ifreq struct_ifreq; #include "xlat/iffflags.h" +#define XLAT_MACROS_ONLY +# include "xlat/arp_hardware_types.h" +#undef XLAT_MACROS_ONLY + static void print_ifname(const char *ifname) { @@ -76,13 +80,89 @@ print_ifreq(struct tcb *const tcp, const unsigned int code, break; case SIOCSIFHWADDR: case SIOCGIFHWADDR: { - /* XXX Are there other hardware addresses - than 6-byte MACs? */ - const unsigned char *bytes = - (unsigned char *) &ifr->ifr_hwaddr.sa_data; - tprintf("ifr_hwaddr=%02x:%02x:%02x:%02x:%02x:%02x", - bytes[0], bytes[1], bytes[2], - bytes[3], bytes[4], bytes[5]); + static uint8_t hwaddr_sizes[] = { + [0 ... ARPHRD_IEEE802_TR] = 255, + + [ARPHRD_NETROM] = 7 /* AX25_ADDR_LEN */, + [ARPHRD_ETHER] = 6 /* ETH_ALEN */, + /* ARPHRD_EETHER - no actual devices in Linux */ + [ARPHRD_AX25] = 7 /* AX25_ADDR_LEN */, + /* ARPHRD_PRONET - no actual devices in Linux */ + /* ARPHRD_CHAOS - no actual devices in Linux */ + [ARPHRD_IEEE802] = 6 /* FC_ALEN */, + [ARPHRD_ARCNET] = 1 /* ARCNET_ALEN */, + /* ARPHRD_APPLETLK - no actual devices in Linux */ + [ARPHRD_DLCI] = sizeof(short), + /* ARPHRD_ATM - no explicit setting */ + /* ARPHRD_METRICOM - no actual devices in Linux */ + [ARPHRD_IEEE1394] = 16 /* FWNET_ALEN */, + [ARPHRD_EUI64] = 8 /* EUI64_ADDR_LEN */, + [ARPHRD_INFINIBAND] = 20 /* INFINIBAND_ALEN */, + [ARPHRD_SLIP] = 0, + /* ARPHRD_CSLIP - no actual devices in Linux */ + /* ARPHRD_SLIP6 - no actual devices in Linux */ + /* ARPHRD_CSLIP6 - no actual devices in Linux */ + /* ARPHRD_RSRVD - no actual devices in Linux */ + /* ARPHRD_ADAPT - no actual devices in Linux */ + [ARPHRD_ROSE] = 5 /* ROSE_ADDR_LEN */, + [ARPHRD_X25] = 0, + /* ARPHRD_HWX25 - no actual devices in Linux */ + [ARPHRD_CAN] = 0, + [ARPHRD_PPP] = 0, + /* ARPHRD_CISCO - no actual devices in Linux */ + /* ARPHRD_LAPB - no actual devices in Linux */ + /* ARPHRD_DDCMP - no actual devices in Linux */ + [ARPHRD_RAWHDLC] = 0, + [ARPHRD_RAWIP] = 0, + [ARPHRD_TUNNEL] = 4 /* IPIP */, + [ARPHRD_TUNNEL6] = 16 /* sizeof(struct in6_addr) */, + /* ARPHRD_FRAD - no actual devices in Linux */ + /* ARPHRD_SKIP - no actual devices in Linux */ + [ARPHRD_LOOPBACK] = 6 /* ETH_ALEN */, + [ARPHRD_LOCALTLK] = 1 /* LTALK_ALEN */, + [ARPHRD_FDDI] = 6 /* FDDI_K_ALEN */, + /* ARPHRD_BIF - no actual devices in Linux */ + [ARPHRD_SIT] = 4, + [ARPHRD_IPDDP] = 0, + [ARPHRD_IPGRE] = 4, + [ARPHRD_PIMREG] = 0, + [ARPHRD_HIPPI] = 6 /* HIPPI_ALEN */, + /* ARPHRD_ASH - no actual devices in Linux */ + /* ARPHRD_ECONET - no actual devices in Linux */ + [ARPHRD_IRDA] = 4 /* LAP_ALEN */, + /* ARPHRD_FCPP - no actual devices in Linux */ + /* ARPHRD_FCAL - no actual devices in Linux */ + /* ARPHRD_FCPL - no actual devices in Linux */ + /* ARPHRD_FCFABRIC - no actual devices in Linux */ + /* ARPHRD_IEEE802_TR - no actual devices in Linux */ + [ARPHRD_IEEE80211] = 6 /* ETH_ALEN */, + [ARPHRD_IEEE80211_PRISM] = 6 /* ETH_ALEN */, + [ARPHRD_IEEE80211_RADIOTAP] = 6 /* ETH_ALEN */, + [ARPHRD_IEEE802154] + = 8 /* IEEE802154_EXTENDED_ADDR_LEN */, + [ARPHRD_IEEE802154_MONITOR] + = 8 /* IEEE802154_EXTENDED_ADDR_LEN */, + [ARPHRD_PHONET] = 1, + [ARPHRD_PHONET_PIPE] = 1, + [ARPHRD_CAIF] = 0, + [ARPHRD_IP6GRE] = 16 /* sizeof(struct in6_addr) */, + [ARPHRD_NETLINK] = 0, + [ARPHRD_6LOWPAN] = 8 /* EUI64_ADDR_LEN */ + /* ^ or ETH_ALEN, depending on lltype */, + [ARPHRD_VSOCKMON] = 0, + }; + + uint16_t proto = ifr->ifr_hwaddr.sa_family; + uint8_t sz = (proto < ARRAY_SIZE(hwaddr_sizes)) + ? hwaddr_sizes[proto] : 255; + + PRINT_FIELD_XVAL_SORTED_SIZED("ifr_hwaddr={", ifr->ifr_hwaddr, + sa_family, arp_hardware_types, + arp_hardware_types_size, + "ARPHRD_???"); + PRINT_FIELD_MAC_SZ(", ", ifr->ifr_hwaddr, sa_data, + MIN(sizeof(ifr->ifr_hwaddr.sa_data), sz)); + tprints("}"); break; } case SIOCSIFFLAGS: @@ -173,7 +253,7 @@ decode_ifconf(struct tcb *const tcp, const kernel_ulong_t addr) entering_ifc = get_tcb_priv_data(tcp); if (!entering_ifc) { - error_msg("decode_ifconf: where is my ifconf?"); + error_func_msg("where is my ifconf?"); return 0; } } @@ -232,7 +312,7 @@ decode_ifconf(struct tcb *const tcp, const kernel_ulong_t addr) print_array(tcp, ptr_to_kulong(ifc->ifc_buf), ifc->ifc_len / sizeof(struct_ifreq), &ifr, sizeof(ifr), - umoven_or_printaddr, print_ifconf_ifreq, NULL); + tfetch_mem, print_ifconf_ifreq, NULL); } tprints("}"); diff --git a/sockaddr.c b/sockaddr.c index 71d18c62..cfc26cbc 100644 --- a/sockaddr.c +++ b/sockaddr.c @@ -54,18 +54,14 @@ #include "xlat/ethernet_protocols.h" #include "xlat/af_packet_types.h" -#ifdef HAVE_BLUETOOTH_BLUETOOTH_H -# include -# include -# include -# include -# include - -# include "xlat/hci_channels.h" -#endif +#include "xlat/bdaddr_types.h" +#include "xlat/bluetooth_l2_cid.h" +#include "xlat/bluetooth_l2_psm.h" +#include "xlat/hci_channels.h" #define SIZEOF_SA_FAMILY sizeof(((struct sockaddr *) 0)->sa_family) +const size_t arp_hardware_types_size = ARRAY_SIZE(arp_hardware_types) - 1; const size_t ethernet_protocols_size = ARRAY_SIZE(ethernet_protocols) - 1; static void @@ -229,9 +225,9 @@ print_sockaddr_data_ll(const void *const buf, const int addrlen) "ETH_P_???"); PRINT_FIELD_IFINDEX("), ", *sa_ll, sll_ifindex); tprints(", sll_hatype="); - printxval(arp_hardware_types, sa_ll->sll_hatype, "ARPHRD_???"); + printxval_search(arp_hardware_types, sa_ll->sll_hatype, "ARPHRD_???"); tprints(", sll_pkttype="); - printxval(af_packet_types, sa_ll->sll_pkttype, "PACKET_???"); + printxval_index(af_packet_types, sa_ll->sll_pkttype, "PACKET_???"); tprintf(", sll_halen=%u", sa_ll->sll_halen); if (sa_ll->sll_halen) { const unsigned int oob_halen = @@ -262,47 +258,159 @@ print_sockaddr_data_raw(const void *const buf, const int addrlen) print_quoted_string(data, datalen, 0); } -#ifdef HAVE_BLUETOOTH_BLUETOOTH_H +static uint16_t +btohs(uint16_t val) +{ +#ifdef WORDS_BIGENDIAN + return (val << 8) | (val >> 8); +#else + return val; +#endif +} + +static void +print_bluetooth_l2_psm(const char *prefix, uint16_t psm) +{ + const uint16_t psm_he = btohs(psm); + const char *psm_name = xlookup(bluetooth_l2_psm, psm_he); + const bool psm_str = psm_name || (psm_he >= L2CAP_PSM_LE_DYN_START + && psm_he <= L2CAP_PSM_LE_DYN_END) + || (psm_he >= L2CAP_PSM_DYN_START); + + tprintf("%shtobs(", prefix); + + if (xlat_verbose(xlat_verbosity) != XLAT_STYLE_ABBREV || !psm_str) + tprintf("%#x", psm_he); + + if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_RAW) + goto print_bluetooth_l2_psm_end; + + if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE || !psm_str) + tprints(" /* "); + + if (psm_name) { + tprints(psm_name); + } else if (psm_he >= L2CAP_PSM_LE_DYN_START + && psm_he <= L2CAP_PSM_LE_DYN_END) { + print_xlat(L2CAP_PSM_LE_DYN_START); + tprintf(" + %u", psm_he - L2CAP_PSM_LE_DYN_START); + } else if (psm_he >= L2CAP_PSM_DYN_START) { + print_xlat(L2CAP_PSM_DYN_START); + tprintf(" + %u", psm_he - L2CAP_PSM_DYN_START); + } else { + tprints("L2CAP_PSM_???"); + } + + if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE || !psm_str) + tprints(" */"); + +print_bluetooth_l2_psm_end: + tprints(")"); +} + +static void +print_bluetooth_l2_cid(const char *prefix, uint16_t cid) +{ + const uint16_t cid_he = btohs(cid); + const char *cid_name = xlookup(bluetooth_l2_cid, cid_he); + const bool cid_str = cid_name || (cid_he >= L2CAP_CID_DYN_START); + + tprintf("%shtobs(", prefix); + + if (xlat_verbose(xlat_verbosity) != XLAT_STYLE_ABBREV || !cid_str) + tprintf("%#x", cid_he); + + if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_RAW) + goto print_bluetooth_l2_cid_end; + + if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE || !cid_str) + tprints(" /* "); + + if (cid_name) { + tprints(cid_name); + } else if (cid_he >= L2CAP_CID_DYN_START) { + print_xlat(L2CAP_CID_DYN_START); + tprintf(" + %u", cid_he - L2CAP_CID_DYN_START); + } else { + tprints("L2CAP_CID_???"); + } + + if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE || !cid_str) + tprints(" */"); + +print_bluetooth_l2_cid_end: + tprints(")"); +} + static void print_sockaddr_data_bt(const void *const buf, const int addrlen) { + struct sockaddr_hci { + /* sa_family_t */ uint16_t hci_family; + uint16_t hci_dev; + uint16_t hci_channel; + }; + + struct bdaddr { + uint8_t b[6]; + } ATTRIBUTE_PACKED; + + struct sockaddr_sco { + /* sa_family_t */ uint16_t sco_family; + struct bdaddr sco_bdaddr; + }; + + struct sockaddr_rc { + /* sa_family_t */ uint16_t rc_family; + struct bdaddr rc_bdaddr; + uint8_t rc_channel; + }; + + struct sockaddr_l2 { + /* sa_family_t */ uint16_t l2_family; + /* little endiang */ uint16_t l2_psm; + struct bdaddr l2_bdaddr; + /* little endian */ uint16_t l2_cid; + uint8_t l2_bdaddr_type; + }; + switch (addrlen) { case sizeof(struct sockaddr_hci): { const struct sockaddr_hci *const hci = buf; tprintf("hci_dev=htobs(%hu), hci_channel=", btohs(hci->hci_dev)); - printxval(hci_channels, hci->hci_channel, - "HCI_CHANNEL_???"); + printxval_index(hci_channels, hci->hci_channel, + "HCI_CHANNEL_???"); break; } case sizeof(struct sockaddr_sco): { const struct sockaddr_sco *const sco = buf; - tprintf("sco_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x", - sco->sco_bdaddr.b[0], sco->sco_bdaddr.b[1], - sco->sco_bdaddr.b[2], sco->sco_bdaddr.b[3], - sco->sco_bdaddr.b[4], sco->sco_bdaddr.b[5]); + print_mac_addr("sco_bdaddr=", sco->sco_bdaddr.b, + sizeof(sco->sco_bdaddr.b)); break; } case sizeof(struct sockaddr_rc): { const struct sockaddr_rc *const rc = buf; - tprintf("rc_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - ", rc_channel=%u", - rc->rc_bdaddr.b[0], rc->rc_bdaddr.b[1], - rc->rc_bdaddr.b[2], rc->rc_bdaddr.b[3], - rc->rc_bdaddr.b[4], rc->rc_bdaddr.b[5], - rc->rc_channel); + print_mac_addr("rc_bdaddr=", rc->rc_bdaddr.b, + sizeof(rc->rc_bdaddr.b)); + tprintf(", rc_channel=%u", rc->rc_channel); break; } + case offsetof(struct sockaddr_l2, l2_bdaddr_type): case sizeof(struct sockaddr_l2): { const struct sockaddr_l2 *const l2 = buf; - tprintf("l2_psm=htobs(%hu)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - ", l2_cid=htobs(%hu), l2_bdaddr_type=%u", - btohs(l2->l2_psm), - l2->l2_bdaddr.b[0], l2->l2_bdaddr.b[1], - l2->l2_bdaddr.b[2], l2->l2_bdaddr.b[3], - l2->l2_bdaddr.b[4], l2->l2_bdaddr.b[5], - btohs(l2->l2_cid), l2->l2_bdaddr_type); + print_bluetooth_l2_psm("l2_psm=", l2->l2_psm); + print_mac_addr(", l2_bdaddr=", l2->l2_bdaddr.b, + sizeof(l2->l2_bdaddr.b)); + print_bluetooth_l2_cid(", l2_cid=", l2->l2_cid); + + if (addrlen == sizeof(struct sockaddr_l2)) { + tprints(", l2_bdaddr_type="); + printxval_index(bdaddr_types, + l2->l2_bdaddr_type, + "BDADDR_???"); + } + break; } default: @@ -310,7 +418,6 @@ print_sockaddr_data_bt(const void *const buf, const int addrlen) break; } } -#endif /* HAVE_BLUETOOTH_BLUETOOTH_H */ typedef void (* const sockaddr_printer)(const void *const, const int); @@ -324,9 +431,7 @@ static const struct { [AF_INET6] = { print_sockaddr_data_in6, SIN6_MIN_LEN }, [AF_NETLINK] = { print_sockaddr_data_nl, SIZEOF_SA_FAMILY + 1 }, [AF_PACKET] = { print_sockaddr_data_ll, sizeof(struct sockaddr_ll) }, -#ifdef HAVE_BLUETOOTH_BLUETOOTH_H [AF_BLUETOOTH] = { print_sockaddr_data_bt, SIZEOF_SA_FAMILY + 1 }, -#endif }; void @@ -335,7 +440,7 @@ print_sockaddr(const void *const buf, const int addrlen) const struct sockaddr *const sa = buf; tprints("{sa_family="); - printxval(addrfams, sa->sa_family, "AF_???"); + printxval_index(addrfams, sa->sa_family, "AF_???"); if (addrlen > (int) SIZEOF_SA_FAMILY) { tprints(", "); diff --git a/socketcall.c b/socketcall.c index 9f48a104..0c72d0cd 100644 --- a/socketcall.c +++ b/socketcall.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,14 +31,7 @@ SYS_FUNC(socketcall) { - const unsigned int call = tcp->u_arg[0]; - const char *str = xlookup(socketcalls, call); - - if (str) - tprints(str); - else - tprintf("%d", call); - + printxval_d(socketcalls, tcp->u_arg[0], NULL); tprints(", "); printaddr(tcp->u_arg[1]); diff --git a/socketutils.c b/socketutils.c index 38b864cd..a646b5b2 100644 --- a/socketutils.c +++ b/socketutils.c @@ -252,6 +252,13 @@ receive_responses(struct tcb *tcp, const int fd, const unsigned long inode, static bool unix_send_query(struct tcb *tcp, const int fd, const unsigned long inode) { + /* + * The kernel bug was fixed in mainline by commit v4.5-rc6~35^2~11 + * and backported to stable/linux-4.4.y by commit v4.4.4~297. + */ + const uint16_t dump_flag = + os_release < KERNEL_VERSION(4, 4, 4) ? NLM_F_DUMP : 0; + struct { const struct nlmsghdr nlh; const struct unix_diag_req udr; @@ -259,13 +266,14 @@ unix_send_query(struct tcb *tcp, const int fd, const unsigned long inode) .nlh = { .nlmsg_len = sizeof(req), .nlmsg_type = SOCK_DIAG_BY_FAMILY, - .nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST + .nlmsg_flags = NLM_F_REQUEST | dump_flag }, .udr = { .sdiag_family = AF_UNIX, .udiag_ino = inode, .udiag_states = -1, - .udiag_show = UDIAG_SHOW_NAME | UDIAG_SHOW_PEER + .udiag_show = UDIAG_SHOW_NAME | UDIAG_SHOW_PEER, + .udiag_cookie = { ~0U, ~0U } } }; return send_query(tcp, fd, &req, sizeof(req)); @@ -363,8 +371,7 @@ netlink_send_query(struct tcb *tcp, const int fd, const unsigned long inode) }, .ndr = { .sdiag_family = AF_NETLINK, - .sdiag_protocol = NDIAG_PROTO_ALL, - .ndiag_show = NDIAG_SHOW_MEMINFO + .sdiag_protocol = NDIAG_PROTO_ALL } }; return send_query(tcp, fd, &req, sizeof(req)); diff --git a/static_assert.h b/static_assert.h index 1c58e7da..e942f793 100755 --- a/static_assert.h +++ b/static_assert.h @@ -30,7 +30,16 @@ #include "assert.h" -#ifndef HAVE_STATIC_ASSERT +#if defined HAVE_STATIC_ASSERT + +/* static_assert is already available */ + +#elif defined HAVE__STATIC_ASSERT + +# undef static_assert +# define static_assert _Static_assert + +#else /* !HAVE_STATIC_ASSERT && !HAVE__STATIC_ASSERT */ # define static_assert(expr, message) \ extern int (*strace_static_assert(int))[sizeof(int[2 * !!(expr) - 1])] diff --git a/strace-log-merge.1 b/strace-log-merge.1 index 7316083b..a7451d66 100644 --- a/strace-log-merge.1 +++ b/strace-log-merge.1 @@ -31,7 +31,7 @@ . BR "\\$1" .. .\" -.TH STRACE-LOG-MERGE 1 "2018-04-04" "strace 4.22" +.TH STRACE-LOG-MERGE 1 "2018-06-13" "strace 4.23" .\" .SH NAME strace-log-merge \- merge strace \-ff \-tt output diff --git a/strace.1 b/strace.1 index 5b9691ec..517a5e13 100644 --- a/strace.1 +++ b/strace.1 @@ -53,18 +53,24 @@ . el \ . BR "\\$1" .. -.TH STRACE 1 "2018-04-04" "strace 4.22" +.TH STRACE 1 "2018-06-13" "strace 4.23" .SH NAME strace \- trace system calls and signals .SH SYNOPSIS .SY strace +.if '#'#' .ig end_unwind_opt .OP \-ACdffhikqrtttTvVxxy +.end_unwind_opt +.if ''#' .ig end_no_unwind_opt +.OP \-ACdffhiqrtttTvVxxy +.end_no_unwind_opt .OP \-I n .OP \-b execve .OM \-e expr .OP \-a column .OP \-o file .OP \-s strsize +.OP \-X format .OM \-P path .OM \-p pid .BR "" { @@ -170,7 +176,9 @@ This example shows the shell performing ">>xyzzy" output redirection: .CW open("xyzzy", O_WRONLY|O_APPEND|O_CREAT, 0666) = 3 .CE -Here, the third argument of open is decoded by breaking down the +Here, the third argument of +.B open +is decoded by breaking down the flag argument into its three bitwise-OR constituents and printing the mode value in octal by tradition. Where the traditional or native usage differs from ANSI or POSIX, the latter forms are preferred. @@ -205,8 +213,7 @@ Syscalls unknown to are printed raw, with the unknown system call number printed in hexadecimal form and prefixed with "syscall_": .CW -syscall_0xbad(0xfedcba9876543210, 0xfedcba9876543211, 0xfedcba9876543212, -0xfedcba9876543213, 0xfedcba9876543214, 0xfedcba9876543215) = -1 (errno 38) +syscall_0xbad(0x1, 0x2, 0x3, 0x4, 0x5, 0x6) = -1 ENOSYS (Function not implemented) .CE .LP Character pointers are dereferenced and printed as C strings. @@ -252,12 +259,11 @@ Align return values in a specific column (default column 40). .TP .B \-i Print the instruction pointer at the time of the system call. +.if '#'#' .ig end_unwind .TP .B \-k -Print the execution stack trace of the traced processes after each system call (experimental). -This option is available only if -.B strace -is built with libunwind. +Print the execution stack trace of the traced processes after each system call. +.end_unwind .TP .BI "\-o " filename Write the trace output to the file @@ -274,7 +280,8 @@ without affecting the redirections of executed programs. The latter is not compatible with .B \-ff option currently. -.TP \-A +.TP +.B \-A Open the file provided in the .B \-o option in append mode. @@ -325,6 +332,27 @@ Print all non-ASCII strings in hexadecimal string format. .B \-xx Print all strings in hexadecimal string format. .TP +.BI "\-X " format +Set the format for printing of named constants and flags. +Supported +.I format +values are: +.RS +.TP 10 +.B raw +Raw number output, without decoding. +.TP +.B abbrev +Output a named constant or a set of flags instead of the raw number if they are +found. +This is the default +.B strace +behaviour. +.TP +.B verbose +Output both the raw value and the decoded string (as a comment). +.RE +.TP .B \-y Print paths associated with file descriptor arguments. .TP @@ -418,6 +446,9 @@ means to trace every system call except .BR open . Question mark before the syscall qualification allows suppression of error in case no syscalls matched the qualification provided. +Appending one of "@64", "@32", or "@x32" suffixes to the syscall qualification +allows specifying syscalls only for the 64-bit, 32-bit, or 32-on-64-bit +personality, respectively. In addition, the special values .B all and @@ -555,6 +586,9 @@ This option has the effect of causing all arguments to be printed in hexadecimal. This is mostly useful if you don't trust the decoding or you need to know the actual numeric value of an argument. +See also +.B \-X raw +option. .TP \fB\-e\ signal\fR=\,\fIset\fR Trace only the specified subset of signals. The default is @@ -595,7 +629,7 @@ 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][:\fBdelay_enter\fR=\,\fIusecs\/\fR][:\fBdelay_exit\fR=\,\fIusecs\/\fR][:\fBwhen\fR=\,\fIexpr\/\fR] +\fB\-e\ inject\fR=\,\fIset\/\fR[:\fBerror\fR=\,\fIerrno\/\fR|:\fBretval\fR=\,\fIvalue\/\fR][:\fBsignal\fR=\,\fIsig\/\fR][:\fBsyscall\fR=\fIsyscall\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 @@ -613,7 +647,8 @@ are mutually exclusive. If :\fBerror\fR=\,\fIerrno\/\fR option is specified, a fault is injected into a syscall invocation: -the syscall number is replaced by -1 which corresponds to an invalid syscall, +the syscall number is replaced by -1 which corresponds to an invalid syscall +(unless a syscall is specified with :\fBsyscall=\fR option), and the error code is specified using a symbolic .I errno value like @@ -654,6 +689,12 @@ If both :\fBerror\fR=\,\fIerrno\/\fR or :\fBretval\fR=\,\fIvalue\/\fR and :\fBsignal\fR=\,\fIsig\/\fR options are specified, then both a fault or success is injected and a signal is delivered. +if :\fBsyscall\fR=\fIsyscall\fR option is specified, the corresponding syscall +with no side effects is injected instead of -1. +Currently, only "pure" (see +.BR "-e trace" = "%pure" +description) syscalls can be specified there. + Unless a :\fBwhen\fR=\,\fIexpr\fR subexpression is specified, an injection is being made into every invocation of each syscall from the .IR set . @@ -1008,6 +1049,14 @@ ARM syscall and Xtensa syscall are filtered and printed as .BR fadvise64_64 (2). .LP +On x32, syscalls that are intended to be used by 64-bit processes and not x32 +ones (for example, +.BR readv , +that has syscall number 19 on x86_64, with its x32 counterpart has syscall +number 515), but called with +.B __X32_SYSCALL_BIT +flag being set, are designated with "#64" suffix. +.LP On some platforms a process that is attached to with the .B \-p option may observe a spurious EINTR return from the current @@ -1085,7 +1134,7 @@ development migrated to CVS; ports to FreeBSD and many architectures on Linux (including ARM, IA-64, MIPS, PA-RISC, PowerPC, s390, SPARC) were introduced. In 2002, the burden of .B strace -maintainership was transferred to Ronald McGrath. +maintainership was transferred to Roland McGrath. Since then, .B strace gained support for several new Linux architectures (AMD64, s390x, SuperH), diff --git a/strace.1.in b/strace.1.in index 46a55e5e..d5b83c5a 100644 --- a/strace.1.in +++ b/strace.1.in @@ -58,13 +58,19 @@ strace \- trace system calls and signals .SH SYNOPSIS .SY strace +.if '@ENABLE_STACKTRACE_TRUE@'#' .ig end_unwind_opt .OP \-ACdffhikqrtttTvVxxy +.end_unwind_opt +.if '@ENABLE_STACKTRACE_FALSE@'#' .ig end_no_unwind_opt +.OP \-ACdffhiqrtttTvVxxy +.end_no_unwind_opt .OP \-I n .OP \-b execve .OM \-e expr .OP \-a column .OP \-o file .OP \-s strsize +.OP \-X format .OM \-P path .OM \-p pid .BR "" { @@ -170,7 +176,9 @@ This example shows the shell performing ">>xyzzy" output redirection: .CW open("xyzzy", O_WRONLY|O_APPEND|O_CREAT, 0666) = 3 .CE -Here, the third argument of open is decoded by breaking down the +Here, the third argument of +.B open +is decoded by breaking down the flag argument into its three bitwise-OR constituents and printing the mode value in octal by tradition. Where the traditional or native usage differs from ANSI or POSIX, the latter forms are preferred. @@ -205,8 +213,7 @@ Syscalls unknown to are printed raw, with the unknown system call number printed in hexadecimal form and prefixed with "syscall_": .CW -syscall_0xbad(0xfedcba9876543210, 0xfedcba9876543211, 0xfedcba9876543212, -0xfedcba9876543213, 0xfedcba9876543214, 0xfedcba9876543215) = -1 (errno 38) +syscall_0xbad(0x1, 0x2, 0x3, 0x4, 0x5, 0x6) = -1 ENOSYS (Function not implemented) .CE .LP Character pointers are dereferenced and printed as C strings. @@ -252,12 +259,11 @@ Align return values in a specific column (default column 40). .TP .B \-i Print the instruction pointer at the time of the system call. +.if '@ENABLE_STACKTRACE_TRUE@'#' .ig end_unwind .TP .B \-k -Print the execution stack trace of the traced processes after each system call (experimental). -This option is available only if -.B strace -is built with libunwind. +Print the execution stack trace of the traced processes after each system call. +.end_unwind .TP .BI "\-o " filename Write the trace output to the file @@ -274,7 +280,8 @@ without affecting the redirections of executed programs. The latter is not compatible with .B \-ff option currently. -.TP \-A +.TP +.B \-A Open the file provided in the .B \-o option in append mode. @@ -325,6 +332,27 @@ Print all non-ASCII strings in hexadecimal string format. .B \-xx Print all strings in hexadecimal string format. .TP +.BI "\-X " format +Set the format for printing of named constants and flags. +Supported +.I format +values are: +.RS +.TP 10 +.B raw +Raw number output, without decoding. +.TP +.B abbrev +Output a named constant or a set of flags instead of the raw number if they are +found. +This is the default +.B strace +behaviour. +.TP +.B verbose +Output both the raw value and the decoded string (as a comment). +.RE +.TP .B \-y Print paths associated with file descriptor arguments. .TP @@ -418,6 +446,9 @@ means to trace every system call except .BR open . Question mark before the syscall qualification allows suppression of error in case no syscalls matched the qualification provided. +Appending one of "@64", "@32", or "@x32" suffixes to the syscall qualification +allows specifying syscalls only for the 64-bit, 32-bit, or 32-on-64-bit +personality, respectively. In addition, the special values .B all and @@ -555,6 +586,9 @@ This option has the effect of causing all arguments to be printed in hexadecimal. This is mostly useful if you don't trust the decoding or you need to know the actual numeric value of an argument. +See also +.B \-X raw +option. .TP \fB\-e\ signal\fR=\,\fIset\fR Trace only the specified subset of signals. The default is @@ -595,7 +629,7 @@ 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][:\fBdelay_enter\fR=\,\fIusecs\/\fR][:\fBdelay_exit\fR=\,\fIusecs\/\fR][:\fBwhen\fR=\,\fIexpr\/\fR] +\fB\-e\ inject\fR=\,\fIset\/\fR[:\fBerror\fR=\,\fIerrno\/\fR|:\fBretval\fR=\,\fIvalue\/\fR][:\fBsignal\fR=\,\fIsig\/\fR][:\fBsyscall\fR=\fIsyscall\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 @@ -613,7 +647,8 @@ are mutually exclusive. If :\fBerror\fR=\,\fIerrno\/\fR option is specified, a fault is injected into a syscall invocation: -the syscall number is replaced by -1 which corresponds to an invalid syscall, +the syscall number is replaced by -1 which corresponds to an invalid syscall +(unless a syscall is specified with :\fBsyscall=\fR option), and the error code is specified using a symbolic .I errno value like @@ -654,6 +689,12 @@ If both :\fBerror\fR=\,\fIerrno\/\fR or :\fBretval\fR=\,\fIvalue\/\fR and :\fBsignal\fR=\,\fIsig\/\fR options are specified, then both a fault or success is injected and a signal is delivered. +if :\fBsyscall\fR=\fIsyscall\fR option is specified, the corresponding syscall +with no side effects is injected instead of -1. +Currently, only "pure" (see +.BR "-e trace" = "%pure" +description) syscalls can be specified there. + Unless a :\fBwhen\fR=\,\fIexpr\fR subexpression is specified, an injection is being made into every invocation of each syscall from the .IR set . @@ -1008,6 +1049,14 @@ ARM syscall and Xtensa syscall are filtered and printed as .BR fadvise64_64 (2). .LP +On x32, syscalls that are intended to be used by 64-bit processes and not x32 +ones (for example, +.BR readv , +that has syscall number 19 on x86_64, with its x32 counterpart has syscall +number 515), but called with +.B __X32_SYSCALL_BIT +flag being set, are designated with "#64" suffix. +.LP On some platforms a process that is attached to with the .B \-p option may observe a spurious EINTR return from the current @@ -1085,7 +1134,7 @@ development migrated to CVS; ports to FreeBSD and many architectures on Linux (including ARM, IA-64, MIPS, PA-RISC, PowerPC, s390, SPARC) were introduced. In 2002, the burden of .B strace -maintainership was transferred to Ronald McGrath. +maintainership was transferred to Roland McGrath. Since then, .B strace gained support for several new Linux architectures (AMD64, s390x, SuperH), diff --git a/strace.c b/strace.c index a76502af..4b374857 100644 --- a/strace.c +++ b/strace.c @@ -65,7 +65,7 @@ extern char **environ; extern int optind; extern char *optarg; -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE /* if this is true do the stack trace for every system call */ bool stack_trace_enabled; #endif @@ -147,6 +147,9 @@ unsigned int max_strlen = DEFAULT_STRLEN; static int acolumn = DEFAULT_ACOLUMN; static char *acolumn_spaces; +/* Default output style for xlat entities */ +enum xlat_style xlat_verbosity = XLAT_STYLE_ABBREV; + static const char *outfname; /* If -ff, points to stderr. Else, it's our common output log */ static FILE *shared_log; @@ -203,12 +206,12 @@ static void print_version(void) { static const char features[] = -#ifdef USE_LIBUNWIND - " stack-unwind" -#endif /* USE_LIBUNWIND */ +#ifdef ENABLE_STACKTRACE + " stack-trace=" USE_UNWINDER +#endif #ifdef USE_DEMANGLE " stack-demangle" -#endif /* USE_DEMANGLE */ +#endif #if SUPPORTED_PERSONALITIES > 1 # if defined HAVE_M32_MPERS " m32-mpers" @@ -248,9 +251,9 @@ Output format:\n\ -a column alignment COLUMN for printing syscall results (default %d)\n\ -i print instruction pointer at time of syscall\n\ " -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE "\ - -k obtain stack trace between each syscall (experimental)\n\ + -k obtain stack trace between each syscall\n\ " #endif "\ @@ -418,7 +421,8 @@ set_cloexec_flag(int fd) if (flags == newflags) return; - fcntl(fd, F_SETFD, newflags); /* never fails */ + if (fcntl(fd, F_SETFD, newflags)) /* never fails */ + perror_msg_and_die("fcntl(%d, F_SETFD, %#x)", fd, newflags); } static void @@ -703,14 +707,20 @@ tabto(void) * may create bogus empty FILE., and then die. */ static void -newoutf(struct tcb *tcp) +after_successful_attach(struct tcb *tcp, const unsigned int flags) { + tcp->flags |= TCB_ATTACHED | TCB_STARTUP | flags; tcp->outf = shared_log; /* if not -ff mode, the same file is for all */ if (followfork >= 2) { char name[PATH_MAX]; xsprintf(name, "%s.%u", outfname, tcp->pid); tcp->outf = strace_fopen(name); } + +#ifdef ENABLE_STACKTRACE + if (stack_trace_enabled) + unwind_tcb_init(tcp); +#endif } static void @@ -752,12 +762,6 @@ alloctcb(int pid) #if SUPPORTED_PERSONALITIES > 1 tcp->currpers = current_personality; #endif - -#ifdef USE_LIBUNWIND - if (stack_trace_enabled) - unwind_tcb_init(tcp); -#endif - nprocs++; debug_msg("new tcb for pid %d, active tcbs:%d", tcp->pid, nprocs); @@ -810,13 +814,13 @@ droptcb(struct tcb *tcp) free_tcb_priv_data(tcp); -#ifdef USE_LIBUNWIND - if (stack_trace_enabled) { +#ifdef ENABLE_STACKTRACE + if (stack_trace_enabled) unwind_tcb_fin(tcp); - } #endif - mmap_cache_delete(tcp, __func__); + if (tcp->mmap_cache) + tcp->mmap_cache->free_fn(tcp, __func__); nprocs--; debug_msg("dropped tcb for pid %d, %d remain", tcp->pid, nprocs); @@ -1039,9 +1043,7 @@ attach_tcb(struct tcb *const tcp) return; } - tcp->flags |= TCB_ATTACHED | TCB_GRABBED | TCB_STARTUP | - post_attach_sigstop; - newoutf(tcp); + after_successful_attach(tcp, TCB_GRABBED | post_attach_sigstop); debug_msg("attach to pid %d (main) succeeded", tcp->pid); static const char task_path[] = "/proc/%d/task"; @@ -1069,12 +1071,10 @@ attach_tcb(struct tcb *const tcp) ptrace_attach_cmd, tid); continue; } - debug_msg("attach to pid %d succeeded", tid); - struct tcb *tid_tcp = alloctcb(tid); - tid_tcp->flags |= TCB_ATTACHED | TCB_GRABBED | - TCB_STARTUP | post_attach_sigstop; - newoutf(tid_tcp); + after_successful_attach(alloctcb(tid), + TCB_GRABBED | post_attach_sigstop); + debug_msg("attach to pid %d succeeded", tid); } closedir(dir); @@ -1419,18 +1419,20 @@ startup_child(char **argv) kill(pid, SIGCONT); } tcp = alloctcb(pid); - tcp->flags |= TCB_ATTACHED | TCB_STARTUP - | TCB_SKIP_DETACH_ON_FIRST_EXEC - | (NOMMU_SYSTEM ? 0 : (TCB_HIDE_LOG | post_attach_sigstop)); - newoutf(tcp); + after_successful_attach(tcp, TCB_SKIP_DETACH_ON_FIRST_EXEC + | (NOMMU_SYSTEM ? 0 + : (TCB_HIDE_LOG + | post_attach_sigstop))); } else { /* With -D, we are *child* here, the tracee is our parent. */ strace_child = strace_tracer_pid; strace_tracer_pid = getpid(); tcp = alloctcb(strace_child); tcp->flags |= TCB_SKIP_DETACH_ON_FIRST_EXEC | TCB_HIDE_LOG; - /* attaching will be done later, by startup_attach */ - /* note: we don't do newoutf(tcp) here either! */ + /* + * Attaching will be done later, by startup_attach. + * Note: we don't do after_successful_attach() here either! + */ /* NOMMU BUG! -D mode is active, we (child) return, * and we will scribble over parent's stack! @@ -1592,10 +1594,10 @@ init(int argc, char *argv[]) #endif qualify("signal=all"); while ((c = getopt(argc, argv, "+" -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE "k" #endif - "a:Ab:cCdDe:E:fFhiI:o:O:p:P:qrs:S:tTu:vVwxyz")) != EOF) { + "a:Ab:cCdDe:E:fFhiI:o:O:p:P:qrs:S:tTu:vVwxX:yz")) != EOF) { switch (c) { case 'a': acolumn = string_to_uint(optarg); @@ -1653,7 +1655,7 @@ init(int argc, char *argv[]) if (opt_intr <= 0) error_opt_arg(c, optarg); break; -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE case 'k': stack_trace_enabled = true; break; @@ -1710,6 +1712,16 @@ init(int argc, char *argv[]) case 'x': xflag++; break; + case 'X': + if (!strcmp(optarg, "raw")) + xlat_verbosity = XLAT_STYLE_RAW; + else if (!strcmp(optarg, "abbrev")) + xlat_verbosity = XLAT_STYLE_ABBREV; + else if (!strcmp(optarg, "verbose")) + xlat_verbosity = XLAT_STYLE_VERBOSE; + else + error_opt_arg(c, optarg); + break; case 'y': show_fd_path++; break; @@ -1754,7 +1766,7 @@ init(int argc, char *argv[]) if (cflag == CFLAG_ONLY_STATS) { if (iflag) error_msg("-%c has no effect with -c", 'i'); -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE if (stack_trace_enabled) error_msg("-%c has no effect with -c", 'k'); #endif @@ -1774,15 +1786,9 @@ init(int argc, char *argv[]) set_sighandler(SIGCHLD, SIG_DFL, ¶ms_for_tracee.child_sa); -#ifdef USE_LIBUNWIND - if (stack_trace_enabled) { - unsigned int tcbi; - +#ifdef ENABLE_STACKTRACE + if (stack_trace_enabled) unwind_init(); - for (tcbi = 0; tcbi < tcbtabsize; ++tcbi) { - unwind_tcb_init(tcbtab[tcbi]); - } - } #endif /* See if they want to run as another user. */ @@ -2031,8 +2037,7 @@ maybe_allocate_tcb(const int pid, int status) if (followfork) { /* We assume it's a fork/vfork/clone child */ struct tcb *tcp = alloctcb(pid); - tcp->flags |= TCB_ATTACHED | TCB_STARTUP | post_attach_sigstop; - newoutf(tcp); + after_successful_attach(tcp, post_attach_sigstop); if (!qflag) error_msg("Process %d attached", pid); return tcp; diff --git a/strace.spec b/strace.spec index b47ed6a4..03d26280 100644 --- a/strace.spec +++ b/strace.spec @@ -1,22 +1,23 @@ Summary: Tracks and displays system calls associated with a running process Name: strace -Version: 4.22 +Version: 4.23 Release: 1%{?dist} License: BSD Group: Development/Debuggers URL: https://strace.io -Source: https://github.com/strace/strace/releases/download/v%{version}/strace-%{version}.tar.xz +Source: https://strace.io/files/%{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 -%if 0%{?fedora} >= 20 || 0%{?centos} >= 8 || 0%{?rhel} >= 8 || 0%{?suse_version} >= 1300 -%define buildrequires_libunwind_devel BuildRequires: libunwind-devel binutils-devel +%if 0%{?fedora} >= 20 || 0%{?centos} >= 6 || 0%{?rhel} >= 6 +%define buildrequires_stacktrace BuildRequires: elfutils-devel binutils-devel %endif -%ifarch x86_64 -# for experimental -k option -%{?buildrequires_libunwind_devel} +%if 0%{?suse_version} >= 1100 +%define buildrequires_stacktrace BuildRequires: libdw-devel binutils-devel %endif +# for -k option +%{?buildrequires_stacktrace} %define strace64_arches ppc64 sparc64 %{?!buildroot:BuildRoot: %_tmppath/buildroot-%name-%version-%release} @@ -53,7 +54,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-04-04 > .strace.1.in.date +echo -n 2018-06-13 > .strace.1.in.date %build echo 'BEGIN OF BUILD ENVIRONMENT INFORMATION' @@ -91,6 +92,8 @@ rm -f %{buildroot}%{_bindir}/strace-graph make %{?_smp_mflags} -k check VERBOSE=1 echo 'BEGIN OF TEST SUITE INFORMATION' tail -n 99999 -- tests*/test-suite.log tests*/ksysent.log +find tests* -type f -name '*.log' -print0 | + xargs -r0 grep -H '^KERNEL BUG:' -- ||: echo 'END OF TEST SUITE INFORMATION' %files @@ -107,8 +110,11 @@ echo 'END OF TEST SUITE INFORMATION' %endif %changelog -* Thu Jun 14 2018 strace-devel@lists.strace.io - 4.22-1 -- strace 4.22 snapshot. +* Fri Jun 15 2018 strace-devel@lists.strace.io - 4.23-1 +- strace 4.23 snapshot. + +* Thu Apr 05 2018 Dmitry V. Levin - 4.22-1 +- v4.21 -> v4.22. * Tue Feb 13 2018 Dmitry V. Levin - 4.21-1 - v4.20 -> v4.21. diff --git a/strace.spec.in b/strace.spec.in index 1bad59dd..1a6f2840 100644 --- a/strace.spec.in +++ b/strace.spec.in @@ -5,18 +5,19 @@ Release: 1%{?dist} License: BSD Group: Development/Debuggers URL: https://strace.io -Source: https://github.com/strace/strace/releases/download/v%{version}/strace-%{version}.tar.xz +Source: https://strace.io/files/%{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 -%if 0%{?fedora} >= 20 || 0%{?centos} >= 8 || 0%{?rhel} >= 8 || 0%{?suse_version} >= 1300 -%define buildrequires_libunwind_devel BuildRequires: libunwind-devel binutils-devel +%if 0%{?fedora} >= 20 || 0%{?centos} >= 6 || 0%{?rhel} >= 6 +%define buildrequires_stacktrace BuildRequires: elfutils-devel binutils-devel %endif -%ifarch x86_64 -# for experimental -k option -%{?buildrequires_libunwind_devel} +%if 0%{?suse_version} >= 1100 +%define buildrequires_stacktrace BuildRequires: libdw-devel binutils-devel %endif +# for -k option +%{?buildrequires_stacktrace} %define strace64_arches ppc64 sparc64 %{?!buildroot:BuildRoot: %_tmppath/buildroot-%name-%version-%release} @@ -91,6 +92,8 @@ rm -f %{buildroot}%{_bindir}/strace-graph make %{?_smp_mflags} -k check VERBOSE=1 echo 'BEGIN OF TEST SUITE INFORMATION' tail -n 99999 -- tests*/test-suite.log tests*/ksysent.log +find tests* -type f -name '*.log' -print0 | + xargs -r0 grep -H '^KERNEL BUG:' -- ||: echo 'END OF TEST SUITE INFORMATION' %files @@ -110,6 +113,9 @@ echo 'END OF TEST SUITE INFORMATION' * @RPM_CHANGELOGTIME@ @PACKAGE_BUGREPORT@ - @PACKAGE_VERSION@-1 - @PACKAGE_STRING@ snapshot. +* Thu Apr 05 2018 Dmitry V. Levin - 4.22-1 +- v4.21 -> v4.22. + * Tue Feb 13 2018 Dmitry V. Levin - 4.21-1 - v4.20 -> v4.21. diff --git a/sys_func.h b/sys_func.h index 1ffa4fbd..22cb3788 100644 --- a/sys_func.h +++ b/sys_func.h @@ -96,6 +96,7 @@ extern SYS_FUNC(ioctl); extern SYS_FUNC(io_destroy); extern SYS_FUNC(io_getevents); extern SYS_FUNC(ioperm); +extern SYS_FUNC(io_pgetevents); extern SYS_FUNC(iopl); extern SYS_FUNC(ioprio_get); extern SYS_FUNC(ioprio_set); diff --git a/syscall.c b/syscall.c index 13d81532..fe85b8bf 100644 --- a/syscall.c +++ b/syscall.c @@ -33,7 +33,7 @@ */ #include "defs.h" -#include "mmap_cache.h" +#include "mmap_notify.h" #include "native_defs.h" #include "ptrace.h" #include "nsig.h" @@ -57,10 +57,6 @@ # define PTRACE_SETREGS PTRACE_SETREGS64 #endif -#ifndef NT_PRSTATUS -# define NT_PRSTATUS 1 -#endif - #include "syscall.h" #include "xstring.h" @@ -90,6 +86,13 @@ static const struct_sysent sysent2[] = { /* Now undef them since short defines cause wicked namespace pollution. */ #include "sysent_shorthand_undefs.h" +const char *const errnoent[] = { +#include "errnoent.h" +}; +const char *const signalent[] = { +#include "signalent.h" + +}; /* * `ioctlent[012].h' files are automatically generated by the auxiliary * program `ioctlsort', such that the list is sorted by the `code' field. @@ -98,23 +101,11 @@ static const struct_sysent sysent2[] = { * in "/usr/include". */ -const char *const errnoent0[] = { -#include "errnoent.h" -}; -const char *const signalent0[] = { -#include "signalent.h" -}; const struct_ioctlent ioctlent0[] = { #include "ioctlent0.h" }; #if SUPPORTED_PERSONALITIES > 1 -static const char *const errnoent1[] = { -# include "errnoent1.h" -}; -static const char *const signalent1[] = { -# include "signalent1.h" -}; static const struct_ioctlent ioctlent1[] = { # include "ioctlent1.h" }; @@ -129,12 +120,6 @@ static const struct_printers printers1 = { #endif #if SUPPORTED_PERSONALITIES > 2 -static const char *const errnoent2[] = { -# include "errnoent2.h" -}; -static const char *const signalent2[] = { -# include "signalent2.h" -}; static const struct_ioctlent ioctlent2[] = { # include "ioctlent2.h" }; @@ -154,26 +139,6 @@ enum { #endif }; -enum { - nerrnos0 = ARRAY_SIZE(errnoent0) -#if SUPPORTED_PERSONALITIES > 1 - , nerrnos1 = ARRAY_SIZE(errnoent1) -# if SUPPORTED_PERSONALITIES > 2 - , nerrnos2 = ARRAY_SIZE(errnoent2) -# endif -#endif -}; - -enum { - nsignals0 = ARRAY_SIZE(signalent0) -#if SUPPORTED_PERSONALITIES > 1 - , nsignals1 = ARRAY_SIZE(signalent1) -# if SUPPORTED_PERSONALITIES > 2 - , nsignals2 = ARRAY_SIZE(signalent2) -# endif -#endif -}; - enum { nioctlents0 = ARRAY_SIZE(ioctlent0) #if SUPPORTED_PERSONALITIES > 1 @@ -186,15 +151,13 @@ enum { #if SUPPORTED_PERSONALITIES > 1 const struct_sysent *sysent = sysent0; -const char *const *errnoent = errnoent0; -const char *const *signalent = signalent0; const struct_ioctlent *ioctlent = ioctlent0; const struct_printers *printers = &printers0; #endif +const unsigned int nerrnos = ARRAY_SIZE(errnoent); +const unsigned int nsignals = ARRAY_SIZE(signalent); unsigned nsyscalls = nsyscalls0; -unsigned nerrnos = nerrnos0; -unsigned nsignals = nsignals0; unsigned nioctlents = nioctlents0; const unsigned int nsyscall_vec[SUPPORTED_PERSONALITIES] = { @@ -228,6 +191,18 @@ const char *const personality_names[] = # endif ; +const char *const personality_designators[] = +# if defined X86_64 + { "64", "32", "x32" } +# elif defined X32 + { "x32", "32" } +# elif SUPPORTED_PERSONALITIES == 2 + { "64", "32" } +# else + { STRINGIFY_VAL(__WORDSIZE) } +# endif + ; + #if SUPPORTED_PERSONALITIES > 1 unsigned current_personality; @@ -269,33 +244,21 @@ set_personality(unsigned int personality) switch (personality) { case 0: - errnoent = errnoent0; - nerrnos = nerrnos0; ioctlent = ioctlent0; nioctlents = nioctlents0; - signalent = signalent0; - nsignals = nsignals0; printers = &printers0; break; case 1: - errnoent = errnoent1; - nerrnos = nerrnos1; ioctlent = ioctlent1; nioctlents = nioctlents1; - signalent = signalent1; - nsignals = nsignals1; printers = &printers1; break; # if SUPPORTED_PERSONALITIES > 2 case 2: - errnoent = errnoent2; - nerrnos = nerrnos2; ioctlent = ioctlent2; nioctlents = nioctlents2; - signalent = signalent2; - nsignals = nsignals2; printers = &printers2; break; # endif @@ -499,6 +462,18 @@ err_name(unsigned long err) return NULL; } +static void +print_err_ret(kernel_ulong_t ret, unsigned long u_error) +{ + const char *u_error_str = err_name(u_error); + + if (u_error_str) + tprintf("= %" PRI_kld " %s (%s)", + ret, u_error_str, strerror(u_error)); + else + tprintf("= %" PRI_kld " (errno %lu)", ret, u_error); +} + static long get_regs(struct tcb *); static int get_syscall_args(struct tcb *); static int get_syscall_result(struct tcb *); @@ -544,9 +519,18 @@ 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_ERROR | INJECT_F_RETVAL) && - !arch_set_scno(tcp, -1)) - tcp->flags |= TCB_TAMPERED; + if (opts->data.flags & (INJECT_F_ERROR | INJECT_F_RETVAL)) { + kernel_long_t scno = + (opts->data.flags & INJECT_F_SYSCALL) + ? (kernel_long_t) shuffle_scno(opts->data.scno) + : -1; + + if (!arch_set_scno(tcp, scno)) { + tcp->flags |= TCB_TAMPERED; + if (scno != -1) + tcp->flags |= TCB_TAMPERED_NO_FAIL; + } + } if (opts->data.flags & INJECT_F_DELAY_ENTER) delay_tcb(tcp, opts->data.delay_idx, true); if (opts->data.flags & INJECT_F_DELAY_EXIT) @@ -569,10 +553,11 @@ tamper_with_syscall_exiting(struct tcb *tcp) if (!syscall_tampered(tcp)) return 0; - if (!syserror(tcp)) { - error_msg("Failed to tamper with process %d: got no error " - "(return value %#" PRI_klx ")", - tcp->pid, tcp->u_rval); + if (!syserror(tcp) ^ !!syscall_tampered_nofail(tcp)) { + error_msg("Failed to tamper with process %d: unexpectedly got" + " %serror (return value %#" PRI_klx ", error %lu)", + tcp->pid, syscall_tampered_nofail(tcp) ? "" : "no ", + tcp->u_rval, tcp->u_error); return 1; } @@ -705,7 +690,7 @@ syscall_entering_trace(struct tcb *tcp, unsigned int *sig) return 0; } -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE if (stack_trace_enabled) { if (tcp->s_ent->sys_flags & STACKTRACE_CAPTURE_ON_ENTER) unwind_tcb_capture(tcp); @@ -744,10 +729,8 @@ syscall_exiting_decode(struct tcb *tcp, struct timespec *pts) if ((Tflag || cflag) && !(filtered(tcp) || hide_log(tcp))) clock_gettime(CLOCK_MONOTONIC, pts); - if (mmap_cache_is_enabled()) { - if (tcp->s_ent->sys_flags & STACKTRACE_INVALIDATE_CACHE) - mmap_cache_invalidate(tcp); - } + if (tcp->s_ent->sys_flags & MEMORY_MAPPING_CHANGE) + mmap_notify_report(tcp); if (filtered(tcp) || hide_log(tcp)) return 0; @@ -821,20 +804,17 @@ syscall_exiting_trace(struct tcb *tcp, struct timespec *ts, int res) tprints(") "); tabto(); - unsigned long u_error = tcp->u_error; if (raw(tcp)) { - if (u_error) { - tprintf("= -1 (errno %lu)", u_error); - } else { + if (tcp->u_error) + print_err_ret(tcp->u_rval, tcp->u_error); + else tprintf("= %#" PRI_klx, tcp->u_rval); - } + if (syscall_tampered(tcp)) tprints(" (INJECTED)"); - } else if (!(sys_res & RVAL_NONE) && u_error) { - const char *u_error_str; - - switch (u_error) { + } else if (!(sys_res & RVAL_NONE) && tcp->u_error) { + switch (tcp->u_error) { /* Blocked signals do not interrupt any syscalls. * In this case syscalls don't return ERESTARTfoo codes. * @@ -889,13 +869,7 @@ syscall_exiting_trace(struct tcb *tcp, struct timespec *ts, int res) tprints("= ? ERESTART_RESTARTBLOCK (Interrupted by signal)"); break; default: - u_error_str = err_name(u_error); - if (u_error_str) - tprintf("= %" PRI_kld " %s (%s)", tcp->u_rval, - u_error_str, strerror(u_error)); - else - tprintf("= %" PRI_kld " %lu (%s)", tcp->u_rval, - u_error, strerror(u_error)); + print_err_ret(tcp->u_rval, tcp->u_error); break; } if (syscall_tampered(tcp)) @@ -959,7 +933,7 @@ syscall_exiting_trace(struct tcb *tcp, struct timespec *ts, int res) dumpio(tcp); line_ended(); -#ifdef USE_LIBUNWIND +#ifdef ENABLE_STACKTRACE if (stack_trace_enabled) unwind_tcb_print(tcp); #endif @@ -1003,6 +977,10 @@ restore_cleared_syserror(struct tcb *tcp) tcp->u_error = saved_u_error; } +#define XLAT_MACROS_ONLY +# include "xlat/nt_descriptor_types.h" +#undef XLAT_MACROS_ONLY + #include "arch_regs.c" #if HAVE_ARCH_GETRVAL2 @@ -1281,8 +1259,9 @@ get_syscall_result(struct tcb *tcp) return -1; tcp->u_error = 0; get_error(tcp, - !(tcp->s_ent->sys_flags & SYSCALL_NEVER_FAILS) - || syscall_tampered(tcp)); + (!(tcp->s_ent->sys_flags & SYSCALL_NEVER_FAILS) + || syscall_tampered(tcp)) + && !syscall_tampered_nofail(tcp)); return 1; } diff --git a/sysent.h b/sysent.h index b01eb5f3..cf2daed1 100644 --- a/sysent.h +++ b/sysent.h @@ -17,7 +17,7 @@ typedef struct sysent { #define TRACE_DESC 00000040 /* Trace file descriptor-related syscalls. */ #define TRACE_MEMORY 00000100 /* Trace memory mapping-related syscalls. */ #define SYSCALL_NEVER_FAILS 00000200 /* Syscall is always successful. */ -#define STACKTRACE_INVALIDATE_CACHE 00000400 /* Trigger proc/maps cache updating */ +#define MEMORY_MAPPING_CHANGE 00000400 /* Trigger proc/maps cache updating */ #define STACKTRACE_CAPTURE_ON_ENTER 00001000 /* Capture stacktrace on "entering" stage */ #define TRACE_INDIRECT_SUBCALL 00002000 /* Syscall is an indirect socket/ipc subcall. */ #define COMPAT_SYSCALL_TYPES 00004000 /* A compat syscall that uses compat types. */ diff --git a/sysent_shorthand_defs.h b/sysent_shorthand_defs.h index ce435504..2728b206 100644 --- a/sysent_shorthand_defs.h +++ b/sysent_shorthand_defs.h @@ -41,7 +41,7 @@ # define PU TRACE_PURE # define NF SYSCALL_NEVER_FAILS # define MA MAX_ARGS -# define SI STACKTRACE_INVALIDATE_CACHE +# define SI MEMORY_MAPPING_CHANGE # define SE STACKTRACE_CAPTURE_ON_ENTER # define CST COMPAT_SYSCALL_TYPES /* SEN(a) is defined elsewhere */ diff --git a/tests-m32/Makefile b/tests-m32/Makefile index 874010cf..68dfc9ec 100644 --- a/tests-m32/Makefile +++ b/tests-m32/Makefile @@ -139,7 +139,11 @@ DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \ 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) \ + block_reset_raise_run$(EXEEXT) bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-v$(EXEEXT) bpf-success$(EXEEXT) \ + bpf-success-v$(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) \ @@ -147,7 +151,8 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(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) \ @@ -159,18 +164,19 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + prctl-spec-inject$(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 @@ -181,7 +187,10 @@ 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_demangle.m4 $(top_srcdir)/m4/st_libdw.m4 \ + $(top_srcdir)/m4/st_libunwind.m4 \ $(top_srcdir)/m4/st_save_restore_var.m4 \ + $(top_srcdir)/m4/st_stacktrace.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) \ @@ -223,18 +232,25 @@ am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(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) \ + adjtimex$(EXEEXT) aio$(EXEEXT) aio_pgetevents$(EXEEXT) \ + alarm$(EXEEXT) bpf$(EXEEXT) bpf-v$(EXEEXT) \ + bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-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) \ + fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ + fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ @@ -255,49 +271,62 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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_evdev$(EXEEXT) ioctl_inotify$(EXEEXT) \ + ioctl_kvm_run$(EXEEXT) ioctl_loop$(EXEEXT) ioctl_mtd$(EXEEXT) \ + ioctl_rtc$(EXEEXT) ioctl_perf$(EXEEXT) ioctl_ptp$(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) \ + ipc_msg$(EXEEXT) ipc_msg-Xabbrev$(EXEEXT) \ + ipc_msg-Xraw$(EXEEXT) ipc_msg-Xverbose$(EXEEXT) \ + ipc_msgbuf$(EXEEXT) ipc_msgbuf-Xabbrev$(EXEEXT) \ + ipc_msgbuf-Xraw$(EXEEXT) ipc_msgbuf-Xverbose$(EXEEXT) \ + ipc_sem$(EXEEXT) ipc_sem-Xabbrev$(EXEEXT) \ + ipc_sem-Xraw$(EXEEXT) ipc_sem-Xverbose$(EXEEXT) \ + ipc_shm$(EXEEXT) ipc_shm-Xabbrev$(EXEEXT) \ + ipc_shm-Xraw$(EXEEXT) ipc_shm-Xverbose$(EXEEXT) kcmp$(EXEEXT) \ + kcmp-y$(EXEEXT) kern_features$(EXEEXT) \ + kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) keyctl$(EXEEXT) \ + keyctl-Xabbrev$(EXEEXT) keyctl-Xraw$(EXEEXT) \ + keyctl-Xverbose$(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) \ + mmap-Xabbrev$(EXEEXT) mmap-Xraw$(EXEEXT) \ + mmap-Xverbose$(EXEEXT) mmap64$(EXEEXT) mmap64-Xabbrev$(EXEEXT) \ + mmap64-Xraw$(EXEEXT) mmap64-Xverbose$(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) \ + mount-Xabbrev$(EXEEXT) mount-Xraw$(EXEEXT) \ + mount-Xverbose$(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_af_spec$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \ + nlattr_ifla_linkinfo$(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) \ @@ -309,11 +338,14 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + old_mmap-P$(EXEEXT) old_mmap-v-none$(EXEEXT) \ + old_mmap-Xabbrev$(EXEEXT) old_mmap-Xraw$(EXEEXT) \ + old_mmap-Xverbose$(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) \ + personality-Xabbrev$(EXEEXT) personality-Xraw$(EXEEXT) \ + personality-Xverbose$(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) \ @@ -361,7 +393,10 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + so_peercred$(EXEEXT) so_peercred-Xabbrev$(EXEEXT) \ + so_peercred-Xraw$(EXEEXT) so_peercred-Xverbose$(EXEEXT) \ + sock_filter-v$(EXEEXT) sock_filter-v-Xabbrev$(EXEEXT) \ + sock_filter-v-Xraw$(EXEEXT) sock_filter-v-Xverbose$(EXEEXT) \ socketcall$(EXEEXT) sockopt-sol_netlink$(EXEEXT) \ splice$(EXEEXT) stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \ statfs64$(EXEEXT) statx$(EXEEXT) swap$(EXEEXT) \ @@ -418,6 +453,10 @@ aio_SOURCES = aio.c aio_OBJECTS = aio.$(OBJEXT) aio_LDADD = $(LDADD) aio_DEPENDENCIES = libtests.a +aio_pgetevents_SOURCES = aio_pgetevents.c +aio_pgetevents_OBJECTS = aio_pgetevents.$(OBJEXT) +aio_pgetevents_LDADD = $(LDADD) +aio_pgetevents_DEPENDENCIES = libtests.a alarm_SOURCES = alarm.c alarm_OBJECTS = alarm.$(OBJEXT) alarm_LDADD = $(LDADD) @@ -449,6 +488,33 @@ bpf_SOURCES = bpf.c bpf_OBJECTS = bpf.$(OBJEXT) bpf_LDADD = $(LDADD) bpf_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_SOURCES = bpf-obj_get_info_by_fd.c +bpf_obj_get_info_by_fd_OBJECTS = bpf-obj_get_info_by_fd.$(OBJEXT) +bpf_obj_get_info_by_fd_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_SOURCES = bpf-obj_get_info_by_fd-prog.c +bpf_obj_get_info_by_fd_prog_OBJECTS = \ + bpf-obj_get_info_by_fd-prog.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_v_SOURCES = \ + bpf-obj_get_info_by_fd-prog-v.c +bpf_obj_get_info_by_fd_prog_v_OBJECTS = \ + bpf-obj_get_info_by_fd-prog-v.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_v_SOURCES = bpf-obj_get_info_by_fd-v.c +bpf_obj_get_info_by_fd_v_OBJECTS = bpf-obj_get_info_by_fd-v.$(OBJEXT) +bpf_obj_get_info_by_fd_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_v_DEPENDENCIES = libtests.a +bpf_success_SOURCES = bpf-success.c +bpf_success_OBJECTS = bpf-success.$(OBJEXT) +bpf_success_LDADD = $(LDADD) +bpf_success_DEPENDENCIES = libtests.a +bpf_success_v_SOURCES = bpf-success-v.c +bpf_success_v_OBJECTS = bpf-success-v.$(OBJEXT) +bpf_success_v_LDADD = $(LDADD) +bpf_success_v_DEPENDENCIES = libtests.a bpf_v_SOURCES = bpf-v.c bpf_v_OBJECTS = bpf-v.$(OBJEXT) bpf_v_LDADD = $(LDADD) @@ -616,6 +682,18 @@ fanotify_mark_SOURCES = fanotify_mark.c fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT) fanotify_mark_LDADD = $(LDADD) fanotify_mark_DEPENDENCIES = libtests.a +fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c +fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) +fanotify_mark_Xabbrev_LDADD = $(LDADD) +fanotify_mark_Xabbrev_DEPENDENCIES = libtests.a +fanotify_mark_Xraw_SOURCES = fanotify_mark-Xraw.c +fanotify_mark_Xraw_OBJECTS = fanotify_mark-Xraw.$(OBJEXT) +fanotify_mark_Xraw_LDADD = $(LDADD) +fanotify_mark_Xraw_DEPENDENCIES = libtests.a +fanotify_mark_Xverbose_SOURCES = fanotify_mark-Xverbose.c +fanotify_mark_Xverbose_OBJECTS = fanotify_mark-Xverbose.$(OBJEXT) +fanotify_mark_Xverbose_LDADD = $(LDADD) +fanotify_mark_Xverbose_DEPENDENCIES = libtests.a fchdir_SOURCES = fchdir.c fchdir_OBJECTS = fchdir.$(OBJEXT) fchdir_LDADD = $(LDADD) @@ -895,6 +973,10 @@ 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_inotify_SOURCES = ioctl_inotify.c +ioctl_inotify_OBJECTS = ioctl_inotify.$(OBJEXT) +ioctl_inotify_LDADD = $(LDADD) +ioctl_inotify_DEPENDENCIES = libtests.a ioctl_kvm_run_SOURCES = ioctl_kvm_run.c ioctl_kvm_run_OBJECTS = ioctl_kvm_run.$(OBJEXT) ioctl_kvm_run_LDADD = $(LDADD) @@ -919,6 +1001,18 @@ ioctl_nsfs_SOURCES = ioctl_nsfs.c ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT) ioctl_nsfs_LDADD = $(LDADD) ioctl_nsfs_DEPENDENCIES = libtests.a +ioctl_perf_SOURCES = ioctl_perf.c +ioctl_perf_OBJECTS = ioctl_perf.$(OBJEXT) +ioctl_perf_LDADD = $(LDADD) +ioctl_perf_DEPENDENCIES = libtests.a +ioctl_perf_success_SOURCES = ioctl_perf-success.c +ioctl_perf_success_OBJECTS = ioctl_perf-success.$(OBJEXT) +ioctl_perf_success_LDADD = $(LDADD) +ioctl_perf_success_DEPENDENCIES = libtests.a +ioctl_ptp_SOURCES = ioctl_ptp.c +ioctl_ptp_OBJECTS = ioctl_ptp.$(OBJEXT) +ioctl_ptp_LDADD = $(LDADD) +ioctl_ptp_DEPENDENCIES = libtests.a ioctl_rtc_SOURCES = ioctl_rtc.c ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT) ioctl_rtc_LDADD = $(LDADD) @@ -975,18 +1069,66 @@ ipc_msg_SOURCES = ipc_msg.c ipc_msg_OBJECTS = ipc_msg.$(OBJEXT) ipc_msg_LDADD = $(LDADD) ipc_msg_DEPENDENCIES = libtests.a +ipc_msg_Xabbrev_SOURCES = ipc_msg-Xabbrev.c +ipc_msg_Xabbrev_OBJECTS = ipc_msg-Xabbrev.$(OBJEXT) +ipc_msg_Xabbrev_LDADD = $(LDADD) +ipc_msg_Xabbrev_DEPENDENCIES = libtests.a +ipc_msg_Xraw_SOURCES = ipc_msg-Xraw.c +ipc_msg_Xraw_OBJECTS = ipc_msg-Xraw.$(OBJEXT) +ipc_msg_Xraw_LDADD = $(LDADD) +ipc_msg_Xraw_DEPENDENCIES = libtests.a +ipc_msg_Xverbose_SOURCES = ipc_msg-Xverbose.c +ipc_msg_Xverbose_OBJECTS = ipc_msg-Xverbose.$(OBJEXT) +ipc_msg_Xverbose_LDADD = $(LDADD) +ipc_msg_Xverbose_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_msgbuf_Xabbrev_SOURCES = ipc_msgbuf-Xabbrev.c +ipc_msgbuf_Xabbrev_OBJECTS = ipc_msgbuf-Xabbrev.$(OBJEXT) +ipc_msgbuf_Xabbrev_LDADD = $(LDADD) +ipc_msgbuf_Xabbrev_DEPENDENCIES = libtests.a +ipc_msgbuf_Xraw_SOURCES = ipc_msgbuf-Xraw.c +ipc_msgbuf_Xraw_OBJECTS = ipc_msgbuf-Xraw.$(OBJEXT) +ipc_msgbuf_Xraw_LDADD = $(LDADD) +ipc_msgbuf_Xraw_DEPENDENCIES = libtests.a +ipc_msgbuf_Xverbose_SOURCES = ipc_msgbuf-Xverbose.c +ipc_msgbuf_Xverbose_OBJECTS = ipc_msgbuf-Xverbose.$(OBJEXT) +ipc_msgbuf_Xverbose_LDADD = $(LDADD) +ipc_msgbuf_Xverbose_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_sem_Xabbrev_SOURCES = ipc_sem-Xabbrev.c +ipc_sem_Xabbrev_OBJECTS = ipc_sem-Xabbrev.$(OBJEXT) +ipc_sem_Xabbrev_LDADD = $(LDADD) +ipc_sem_Xabbrev_DEPENDENCIES = libtests.a +ipc_sem_Xraw_SOURCES = ipc_sem-Xraw.c +ipc_sem_Xraw_OBJECTS = ipc_sem-Xraw.$(OBJEXT) +ipc_sem_Xraw_LDADD = $(LDADD) +ipc_sem_Xraw_DEPENDENCIES = libtests.a +ipc_sem_Xverbose_SOURCES = ipc_sem-Xverbose.c +ipc_sem_Xverbose_OBJECTS = ipc_sem-Xverbose.$(OBJEXT) +ipc_sem_Xverbose_LDADD = $(LDADD) +ipc_sem_Xverbose_DEPENDENCIES = libtests.a ipc_shm_SOURCES = ipc_shm.c ipc_shm_OBJECTS = ipc_shm.$(OBJEXT) ipc_shm_LDADD = $(LDADD) ipc_shm_DEPENDENCIES = libtests.a +ipc_shm_Xabbrev_SOURCES = ipc_shm-Xabbrev.c +ipc_shm_Xabbrev_OBJECTS = ipc_shm-Xabbrev.$(OBJEXT) +ipc_shm_Xabbrev_LDADD = $(LDADD) +ipc_shm_Xabbrev_DEPENDENCIES = libtests.a +ipc_shm_Xraw_SOURCES = ipc_shm-Xraw.c +ipc_shm_Xraw_OBJECTS = ipc_shm-Xraw.$(OBJEXT) +ipc_shm_Xraw_LDADD = $(LDADD) +ipc_shm_Xraw_DEPENDENCIES = libtests.a +ipc_shm_Xverbose_SOURCES = ipc_shm-Xverbose.c +ipc_shm_Xverbose_OBJECTS = ipc_shm-Xverbose.$(OBJEXT) +ipc_shm_Xverbose_LDADD = $(LDADD) +ipc_shm_Xverbose_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) @@ -1015,6 +1157,18 @@ keyctl_SOURCES = keyctl.c keyctl_OBJECTS = keyctl.$(OBJEXT) keyctl_LDADD = $(LDADD) keyctl_DEPENDENCIES = libtests.a +keyctl_Xabbrev_SOURCES = keyctl-Xabbrev.c +keyctl_Xabbrev_OBJECTS = keyctl-Xabbrev.$(OBJEXT) +keyctl_Xabbrev_LDADD = $(LDADD) +keyctl_Xabbrev_DEPENDENCIES = libtests.a +keyctl_Xraw_SOURCES = keyctl-Xraw.c +keyctl_Xraw_OBJECTS = keyctl-Xraw.$(OBJEXT) +keyctl_Xraw_LDADD = $(LDADD) +keyctl_Xraw_DEPENDENCIES = libtests.a +keyctl_Xverbose_SOURCES = keyctl-Xverbose.c +keyctl_Xverbose_OBJECTS = keyctl-Xverbose.$(OBJEXT) +keyctl_Xverbose_LDADD = $(LDADD) +keyctl_Xverbose_DEPENDENCIES = libtests.a kill_SOURCES = kill.c kill_OBJECTS = kill.$(OBJEXT) kill_LDADD = $(LDADD) @@ -1122,10 +1276,34 @@ mmap_SOURCES = mmap.c mmap_OBJECTS = mmap.$(OBJEXT) mmap_LDADD = $(LDADD) mmap_DEPENDENCIES = libtests.a +mmap_Xabbrev_SOURCES = mmap-Xabbrev.c +mmap_Xabbrev_OBJECTS = mmap-Xabbrev.$(OBJEXT) +mmap_Xabbrev_LDADD = $(LDADD) +mmap_Xabbrev_DEPENDENCIES = libtests.a +mmap_Xraw_SOURCES = mmap-Xraw.c +mmap_Xraw_OBJECTS = mmap-Xraw.$(OBJEXT) +mmap_Xraw_LDADD = $(LDADD) +mmap_Xraw_DEPENDENCIES = libtests.a +mmap_Xverbose_SOURCES = mmap-Xverbose.c +mmap_Xverbose_OBJECTS = mmap-Xverbose.$(OBJEXT) +mmap_Xverbose_LDADD = $(LDADD) +mmap_Xverbose_DEPENDENCIES = libtests.a mmap64_SOURCES = mmap64.c mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT) mmap64_LDADD = $(LDADD) mmap64_DEPENDENCIES = libtests.a +mmap64_Xabbrev_SOURCES = mmap64-Xabbrev.c +mmap64_Xabbrev_OBJECTS = mmap64_Xabbrev-mmap64-Xabbrev.$(OBJEXT) +mmap64_Xabbrev_LDADD = $(LDADD) +mmap64_Xabbrev_DEPENDENCIES = libtests.a +mmap64_Xraw_SOURCES = mmap64-Xraw.c +mmap64_Xraw_OBJECTS = mmap64_Xraw-mmap64-Xraw.$(OBJEXT) +mmap64_Xraw_LDADD = $(LDADD) +mmap64_Xraw_DEPENDENCIES = libtests.a +mmap64_Xverbose_SOURCES = mmap64-Xverbose.c +mmap64_Xverbose_OBJECTS = mmap64_Xverbose-mmap64-Xverbose.$(OBJEXT) +mmap64_Xverbose_LDADD = $(LDADD) +mmap64_Xverbose_DEPENDENCIES = libtests.a mmsg_SOURCES = mmsg.c mmsg_OBJECTS = mmsg.$(OBJEXT) mmsg_LDADD = $(LDADD) @@ -1150,6 +1328,18 @@ mount_SOURCES = mount.c mount_OBJECTS = mount.$(OBJEXT) mount_LDADD = $(LDADD) mount_DEPENDENCIES = libtests.a +mount_Xabbrev_SOURCES = mount-Xabbrev.c +mount_Xabbrev_OBJECTS = mount-Xabbrev.$(OBJEXT) +mount_Xabbrev_LDADD = $(LDADD) +mount_Xabbrev_DEPENDENCIES = libtests.a +mount_Xraw_SOURCES = mount-Xraw.c +mount_Xraw_OBJECTS = mount-Xraw.$(OBJEXT) +mount_Xraw_LDADD = $(LDADD) +mount_Xraw_DEPENDENCIES = libtests.a +mount_Xverbose_SOURCES = mount-Xverbose.c +mount_Xverbose_OBJECTS = mount-Xverbose.$(OBJEXT) +mount_Xverbose_LDADD = $(LDADD) +mount_Xverbose_DEPENDENCIES = libtests.a move_pages_SOURCES = move_pages.c move_pages_OBJECTS = move_pages.$(OBJEXT) move_pages_LDADD = $(LDADD) @@ -1353,10 +1543,18 @@ nlattr_ifinfomsg_SOURCES = nlattr_ifinfomsg.c nlattr_ifinfomsg_OBJECTS = nlattr_ifinfomsg.$(OBJEXT) nlattr_ifinfomsg_LDADD = $(LDADD) nlattr_ifinfomsg_DEPENDENCIES = libtests.a +nlattr_ifla_af_spec_SOURCES = nlattr_ifla_af_spec.c +nlattr_ifla_af_spec_OBJECTS = nlattr_ifla_af_spec.$(OBJEXT) +nlattr_ifla_af_spec_LDADD = $(LDADD) +nlattr_ifla_af_spec_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_linkinfo_SOURCES = nlattr_ifla_linkinfo.c +nlattr_ifla_linkinfo_OBJECTS = nlattr_ifla_linkinfo.$(OBJEXT) +nlattr_ifla_linkinfo_LDADD = $(LDADD) +nlattr_ifla_linkinfo_DEPENDENCIES = libtests.a nlattr_ifla_port_SOURCES = nlattr_ifla_port.c nlattr_ifla_port_OBJECTS = nlattr_ifla_port.$(OBJEXT) nlattr_ifla_port_LDADD = $(LDADD) @@ -1458,6 +1656,18 @@ 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_Xabbrev_SOURCES = old_mmap-Xabbrev.c +old_mmap_Xabbrev_OBJECTS = old_mmap-Xabbrev.$(OBJEXT) +old_mmap_Xabbrev_LDADD = $(LDADD) +old_mmap_Xabbrev_DEPENDENCIES = libtests.a +old_mmap_Xraw_SOURCES = old_mmap-Xraw.c +old_mmap_Xraw_OBJECTS = old_mmap-Xraw.$(OBJEXT) +old_mmap_Xraw_LDADD = $(LDADD) +old_mmap_Xraw_DEPENDENCIES = libtests.a +old_mmap_Xverbose_SOURCES = old_mmap-Xverbose.c +old_mmap_Xverbose_OBJECTS = old_mmap-Xverbose.$(OBJEXT) +old_mmap_Xverbose_LDADD = $(LDADD) +old_mmap_Xverbose_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) @@ -1526,6 +1736,18 @@ personality_SOURCES = personality.c personality_OBJECTS = personality.$(OBJEXT) personality_LDADD = $(LDADD) personality_DEPENDENCIES = libtests.a +personality_Xabbrev_SOURCES = personality-Xabbrev.c +personality_Xabbrev_OBJECTS = personality-Xabbrev.$(OBJEXT) +personality_Xabbrev_LDADD = $(LDADD) +personality_Xabbrev_DEPENDENCIES = libtests.a +personality_Xraw_SOURCES = personality-Xraw.c +personality_Xraw_OBJECTS = personality-Xraw.$(OBJEXT) +personality_Xraw_LDADD = $(LDADD) +personality_Xraw_DEPENDENCIES = libtests.a +personality_Xverbose_SOURCES = personality-Xverbose.c +personality_Xverbose_OBJECTS = personality-Xverbose.$(OBJEXT) +personality_Xverbose_LDADD = $(LDADD) +personality_Xverbose_DEPENDENCIES = libtests.a pipe_SOURCES = pipe.c pipe_OBJECTS = pipe.$(OBJEXT) pipe_LDADD = $(LDADD) @@ -1598,6 +1820,10 @@ prctl_securebits_SOURCES = prctl-securebits.c prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT) prctl_securebits_LDADD = $(LDADD) prctl_securebits_DEPENDENCIES = libtests.a +prctl_spec_inject_SOURCES = prctl-spec-inject.c +prctl_spec_inject_OBJECTS = prctl-spec-inject.$(OBJEXT) +prctl_spec_inject_LDADD = $(LDADD) +prctl_spec_inject_DEPENDENCIES = libtests.a prctl_tid_address_SOURCES = prctl-tid_address.c prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT) prctl_tid_address_LDADD = $(LDADD) @@ -2088,10 +2314,34 @@ so_peercred_SOURCES = so_peercred.c so_peercred_OBJECTS = so_peercred.$(OBJEXT) so_peercred_LDADD = $(LDADD) so_peercred_DEPENDENCIES = libtests.a +so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c +so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT) +so_peercred_Xabbrev_LDADD = $(LDADD) +so_peercred_Xabbrev_DEPENDENCIES = libtests.a +so_peercred_Xraw_SOURCES = so_peercred-Xraw.c +so_peercred_Xraw_OBJECTS = so_peercred-Xraw.$(OBJEXT) +so_peercred_Xraw_LDADD = $(LDADD) +so_peercred_Xraw_DEPENDENCIES = libtests.a +so_peercred_Xverbose_SOURCES = so_peercred-Xverbose.c +so_peercred_Xverbose_OBJECTS = so_peercred-Xverbose.$(OBJEXT) +so_peercred_Xverbose_LDADD = $(LDADD) +so_peercred_Xverbose_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 +sock_filter_v_Xabbrev_SOURCES = sock_filter-v-Xabbrev.c +sock_filter_v_Xabbrev_OBJECTS = sock_filter-v-Xabbrev.$(OBJEXT) +sock_filter_v_Xabbrev_LDADD = $(LDADD) +sock_filter_v_Xabbrev_DEPENDENCIES = libtests.a +sock_filter_v_Xraw_SOURCES = sock_filter-v-Xraw.c +sock_filter_v_Xraw_OBJECTS = sock_filter-v-Xraw.$(OBJEXT) +sock_filter_v_Xraw_LDADD = $(LDADD) +sock_filter_v_Xraw_DEPENDENCIES = libtests.a +sock_filter_v_Xverbose_SOURCES = sock_filter-v-Xverbose.c +sock_filter_v_Xverbose_OBJECTS = sock_filter-v-Xverbose.$(OBJEXT) +sock_filter_v_Xverbose_LDADD = $(LDADD) +sock_filter_v_Xverbose_DEPENDENCIES = libtests.a socketcall_SOURCES = socketcall.c socketcall_OBJECTS = socketcall.$(OBJEXT) socketcall_LDADD = $(LDADD) @@ -2402,45 +2652,58 @@ 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 \ + accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2456,59 +2719,64 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2526,44 +2794,57 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fallocate.c fanotify_init.c fanotify_mark.c \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2579,59 +2860,64 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2879,12 +3165,12 @@ am__set_b = \ 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 +ACLOCAL = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/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 +AUTOCONF = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing autoconf +AUTOHEADER = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing autoheader +AUTOMAKE = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing automake-1.14 AWK = gawk BUILD_EXEEXT = BUILD_OBJEXT = @@ -2905,7 +3191,7 @@ CPPFLAGS = CPPFLAGS_FOR_BUILD = CPP_FOR_BUILD = gcc -E CYGPATH_W = echo -DEB_CHANGELOGTIME = Thu, 14 Jun 2018 16:29:09 -0700 +DEB_CHANGELOGTIME = Fri, 15 Jun 2018 17:54:18 +0000 DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = @@ -2932,23 +3218,23 @@ LIBOBJS = LIBS = LTLIBOBJS = MAINT = # -MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing makeinfo -MANPAGE_DATE = 2018-04-04 +MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing makeinfo +MANPAGE_DATE = 2018-06-13 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_STRING = strace 4.23 PACKAGE_TARNAME = strace PACKAGE_URL = https://strace.io -PACKAGE_VERSION = 4.22 +PACKAGE_VERSION = 4.23 PATH_SEPARATOR = : PERL = /usr/bin/perl RANLIB = aarch64-linux-android-ranlib READELF = aarch64-linux-android-readelf -RPM_CHANGELOGTIME = Thu Jun 14 2018 +RPM_CHANGELOGTIME = Fri Jun 15 2018 SED = /bin/sed SET_MAKE = SHELL = /bin/sh @@ -2957,13 +3243,13 @@ SIZEOF_LONG = 4 STRIP = aarch64-linux-android-strip VALGRIND = valgrind VALGRIND_ENABLED = yes -VERSION = 4.22 +VERSION = 4.23 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 +abs_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.23/tests-m32 +abs_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.23/tests-m32 +abs_top_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 +abs_top_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 ac_ct_CC = ac_ct_CC_FOR_BUILD = gcc am__include = include @@ -2999,8 +3285,12 @@ 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 +install_sh = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/install-sh libdir = ${exec_prefix}/lib +libdw_CFLAGS = +libdw_CPPFLAGS = +libdw_LDFLAGS = +libdw_LIBS = libexecdir = ${exec_prefix}/libexec libiberty_CPPFLAGS = libiberty_LDFLAGS = @@ -3095,9 +3385,14 @@ PURE_EXECUTABLES = \ add_key \ adjtimex \ aio \ + aio_pgetevents \ alarm \ bpf \ bpf-v \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ brk \ btrfs \ caps \ @@ -3130,6 +3425,9 @@ PURE_EXECUTABLES = \ fallocate \ fanotify_init \ fanotify_mark \ + fanotify_mark-Xabbrev \ + fanotify_mark-Xraw \ + fanotify_mark-Xverbose \ fchdir \ fchmod \ fchmodat \ @@ -3192,10 +3490,13 @@ PURE_EXECUTABLES = \ ioctl_block \ ioctl_dm \ ioctl_evdev \ + ioctl_inotify \ ioctl_kvm_run \ ioctl_loop \ ioctl_mtd \ ioctl_rtc \ + ioctl_perf \ + ioctl_ptp \ ioctl_scsi \ ioctl_sg_io_v3 \ ioctl_sg_io_v4 \ @@ -3208,15 +3509,30 @@ PURE_EXECUTABLES = \ ip_mreq \ ipc \ ipc_msg \ + ipc_msg-Xabbrev \ + ipc_msg-Xraw \ + ipc_msg-Xverbose \ ipc_msgbuf \ + ipc_msgbuf-Xabbrev \ + ipc_msgbuf-Xraw \ + ipc_msgbuf-Xverbose \ ipc_sem \ + ipc_sem-Xabbrev \ + ipc_sem-Xraw \ + ipc_sem-Xverbose \ ipc_shm \ + ipc_shm-Xabbrev \ + ipc_shm-Xraw \ + ipc_shm-Xverbose \ kcmp \ kcmp-y \ kern_features \ kexec_file_load \ kexec_load \ keyctl \ + keyctl-Xabbrev \ + keyctl-Xraw \ + keyctl-Xverbose \ kill \ lchown \ lchown32 \ @@ -3241,11 +3557,20 @@ PURE_EXECUTABLES = \ mlock2 \ mlockall \ mmap \ + mmap-Xabbrev \ + mmap-Xraw \ + mmap-Xverbose \ mmap64 \ + mmap64-Xabbrev \ + mmap64-Xraw \ + mmap64-Xverbose \ mmsg \ mmsg_name \ modify_ldt \ mount \ + mount-Xabbrev \ + mount-Xraw \ + mount-Xverbose \ move_pages \ mq \ mq_sendrecv \ @@ -3292,7 +3617,9 @@ PURE_EXECUTABLES = \ nlattr_ifaddrlblmsg \ nlattr_ifaddrmsg \ nlattr_ifinfomsg \ + nlattr_ifla_af_spec \ nlattr_ifla_brport \ + nlattr_ifla_linkinfo \ nlattr_ifla_port \ nlattr_ifla_xdp \ nlattr_inet_diag_msg \ @@ -3317,6 +3644,9 @@ PURE_EXECUTABLES = \ old_mmap \ old_mmap-P \ old_mmap-v-none \ + old_mmap-Xabbrev \ + old_mmap-Xraw \ + old_mmap-Xverbose \ oldfstat \ oldlstat \ oldselect \ @@ -3328,6 +3658,9 @@ PURE_EXECUTABLES = \ pause \ perf_event_open \ personality \ + personality-Xabbrev \ + personality-Xraw \ + personality-Xverbose \ pipe \ pipe2 \ pkey_alloc \ @@ -3444,7 +3777,13 @@ PURE_EXECUTABLES = \ sigsuspend \ so_linger \ so_peercred \ + so_peercred-Xabbrev \ + so_peercred-Xraw \ + so_peercred-Xverbose \ sock_filter-v \ + sock_filter-v-Xabbrev \ + sock_filter-v-Xraw \ + sock_filter-v-Xverbose \ socketcall \ sockopt-sol_netlink \ splice \ @@ -3515,6 +3854,9 @@ 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 +mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xverbose_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) @@ -3539,10 +3881,14 @@ stack_fcall_mangled_SOURCES = stack-fcall-mangled.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 \ + add_key.gen.test adjtimex.gen.test aio.gen.test \ + aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ + bpf-v.gen.test bpf-obj_get_info_by_fd.gen.test \ + bpf-obj_get_info_by_fd-v.gen.test \ + bpf-obj_get_info_by_fd-prog.gen.test \ + bpf-obj_get_info_by_fd-prog-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 \ @@ -3550,70 +3896,85 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + fanotify_mark.gen.test fanotify_mark-Xabbrev.gen.test \ + fanotify_mark-Xraw.gen.test fanotify_mark-Xverbose.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_inotify.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 \ + ioctl_mtd.gen.test ioctl_nsfs.gen.test ioctl_perf.gen.test \ + ioctl_ptp.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_msg-Xabbrev.gen.test \ + ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \ + ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \ + ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \ + ipc_sem-Xabbrev.gen.test ipc_sem-Xraw.gen.test \ + ipc_sem-Xverbose.gen.test ipc_shm.gen.test \ + ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \ + ipc_shm-Xverbose.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 keyctl-Xabbrev.gen.test \ + keyctl-Xraw.gen.test keyctl-Xverbose.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 \ + mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ + mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \ + mmap64-Xraw.gen.test mmap64-Xverbose.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 mount-Xabbrev.gen.test \ + mount-Xraw.gen.test mount-Xverbose.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_af_spec.gen.test \ + nlattr_ifla_brport.gen.test nlattr_ifla_linkinfo.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 \ @@ -3625,16 +3986,19 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + old_mmap-P.gen.test old_mmap-v-none.gen.test \ + old_mmap-Xabbrev.gen.test old_mmap-Xraw.gen.test \ + old_mmap-Xverbose.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 \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.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 \ @@ -3675,22 +4039,29 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + so_linger.gen.test so_peercred.gen.test \ + so_peercred-Xabbrev.gen.test so_peercred-Xraw.gen.test \ + so_peercred-Xverbose.gen.test sock_filter-v.gen.test \ + sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \ + sock_filter-v-Xverbose.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_personality_32.gen.test \ + trace_personality_64.gen.test trace_personality_x32.gen.test \ + trace_personality_regex_32.gen.test \ + trace_personality_regex_64.gen.test \ + trace_personality_regex_x32.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 \ @@ -3700,13 +4071,20 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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) +STACKTRACE_TESTS = +#STACKTRACE_TESTS = strace-k.test \ +# $(am__append_1) DECODER_TESTS = \ + bpf-success.test \ + bpf-success-v.test \ brk.test \ btrfs-v.test \ btrfs-vw.test \ + btrfs-vwX.test \ + btrfs-vX.test \ btrfs-w.test \ + btrfs-wX.test \ + btrfs-X.test \ caps-abbrev.test \ caps.test \ eventfd.test \ @@ -3716,6 +4094,7 @@ DECODER_TESTS = \ futex.test \ getuid.test \ ioctl.test \ + ioctl_perf-success.test \ ipc_msgbuf.test \ kern_features-fault.test \ llseek.test \ @@ -3742,6 +4121,7 @@ DECODER_TESTS = \ prctl-seccomp-filter-v.test \ prctl-seccomp-strict.test \ prctl-securebits.test \ + prctl-spec-inject.test \ prctl-tid_address.test \ prctl-tsc.test \ qual_fault-exit_group.test \ @@ -3790,9 +4170,13 @@ MISC_TESTS = \ printstrn-umoven-legacy.test \ qual_fault-syntax.test \ qual_fault.test \ + qual_fault-syscall.test \ qual_inject-error-signal.test \ + qual_inject-error-signal-syscall.test \ qual_inject-retval.test \ + qual_inject-retval-syscall.test \ qual_inject-signal.test \ + qual_inject-signal-syscall.test \ qual_inject-syntax.test \ qual_signal.test \ qual_syscall.test \ @@ -3816,8 +4200,8 @@ MISC_TESTS = \ # end of MISC_TESTS XFAIL_TESTS_ = -XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS) -XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS) +XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) +XFAIL_TESTS_mx32 = $(STACKTRACE_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)) @@ -3838,6 +4222,7 @@ EXTRA_DIST = \ count-f.expected \ eventfd.expected \ fadvise.h \ + fcntl-common.c \ filter-unavailable.expected \ fstatat.c \ fstatx.c \ @@ -3848,12 +4233,12 @@ EXTRA_DIST = \ init.sh \ init_delete_module.h \ ipc.sh \ - ipc_msgbuf.expected \ ksysent.sed \ lstatx.c \ match.awk \ net.expected \ netlink_sock_diag-v.sh \ + nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ process_vm_readv_writev.c \ @@ -3861,6 +4246,8 @@ EXTRA_DIST = \ qual_fault-exit_group.expected \ qual_inject-error-signal.expected \ qual_inject-signal.expected \ + qualify_personality.sh \ + qualify_personality_empty.in \ quotactl.h \ regex.in \ rt_sigaction.awk \ @@ -3878,16 +4265,23 @@ EXTRA_DIST = \ strace-E.expected \ strace-T.expected \ strace-ff.expected \ + strace-k-demangle.expected \ strace-k-demangle.test \ + strace-k.expected \ 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_personality_32.in \ + trace_personality_64.in \ + trace_personality_x32.in \ + trace_personality_regex_32.in \ + trace_personality_regex_64.in \ + trace_personality_regex_x32.in \ trace_question.in \ trace_stat.in \ trace_stat_like.in \ @@ -4001,6 +4395,10 @@ aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES) @rm -f aio$(EXEEXT) $(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS) +aio_pgetevents$(EXEEXT): $(aio_pgetevents_OBJECTS) $(aio_pgetevents_DEPENDENCIES) $(EXTRA_aio_pgetevents_DEPENDENCIES) + @rm -f aio_pgetevents$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(aio_pgetevents_OBJECTS) $(aio_pgetevents_LDADD) $(LIBS) + alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES) @rm -f alarm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS) @@ -4033,6 +4431,30 @@ bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES) @rm -f bpf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS) +bpf-obj_get_info_by_fd$(EXEEXT): $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog-v$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-v$(EXEEXT): $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_LDADD) $(LIBS) + +bpf-success$(EXEEXT): $(bpf_success_OBJECTS) $(bpf_success_DEPENDENCIES) $(EXTRA_bpf_success_DEPENDENCIES) + @rm -f bpf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_OBJECTS) $(bpf_success_LDADD) $(LIBS) + +bpf-success-v$(EXEEXT): $(bpf_success_v_OBJECTS) $(bpf_success_v_DEPENDENCIES) $(EXTRA_bpf_success_v_DEPENDENCIES) + @rm -f bpf-success-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_v_OBJECTS) $(bpf_success_v_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) @@ -4201,6 +4623,18 @@ fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $ @rm -f fanotify_mark$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS) +fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) + @rm -f fanotify_mark-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) + +fanotify_mark-Xraw$(EXEEXT): $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_DEPENDENCIES) $(EXTRA_fanotify_mark_Xraw_DEPENDENCIES) + @rm -f fanotify_mark-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_LDADD) $(LIBS) + +fanotify_mark-Xverbose$(EXEEXT): $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_DEPENDENCIES) $(EXTRA_fanotify_mark_Xverbose_DEPENDENCIES) + @rm -f fanotify_mark-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_LDADD) $(LIBS) + fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES) @rm -f fchdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS) @@ -4481,6 +4915,10 @@ ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $ @rm -f ioctl_evdev-v$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS) +ioctl_inotify$(EXEEXT): $(ioctl_inotify_OBJECTS) $(ioctl_inotify_DEPENDENCIES) $(EXTRA_ioctl_inotify_DEPENDENCIES) + @rm -f ioctl_inotify$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_inotify_OBJECTS) $(ioctl_inotify_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) @@ -4505,6 +4943,18 @@ ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_io @rm -f ioctl_nsfs$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_LDADD) $(LIBS) +ioctl_perf$(EXEEXT): $(ioctl_perf_OBJECTS) $(ioctl_perf_DEPENDENCIES) $(EXTRA_ioctl_perf_DEPENDENCIES) + @rm -f ioctl_perf$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_OBJECTS) $(ioctl_perf_LDADD) $(LIBS) + +ioctl_perf-success$(EXEEXT): $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_DEPENDENCIES) $(EXTRA_ioctl_perf_success_DEPENDENCIES) + @rm -f ioctl_perf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_LDADD) $(LIBS) + +ioctl_ptp$(EXEEXT): $(ioctl_ptp_OBJECTS) $(ioctl_ptp_DEPENDENCIES) $(EXTRA_ioctl_ptp_DEPENDENCIES) + @rm -f ioctl_ptp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_ptp_OBJECTS) $(ioctl_ptp_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) @@ -4561,18 +5011,66 @@ ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEP @rm -f ipc_msg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS) +ipc_msg-Xabbrev$(EXEEXT): $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msg_Xabbrev_DEPENDENCIES) + @rm -f ipc_msg-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_LDADD) $(LIBS) + +ipc_msg-Xraw$(EXEEXT): $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_DEPENDENCIES) $(EXTRA_ipc_msg_Xraw_DEPENDENCIES) + @rm -f ipc_msg-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_LDADD) $(LIBS) + +ipc_msg-Xverbose$(EXEEXT): $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msg_Xverbose_DEPENDENCIES) + @rm -f ipc_msg-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_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_msgbuf-Xabbrev$(EXEEXT): $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xabbrev_DEPENDENCIES) + @rm -f ipc_msgbuf-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_LDADD) $(LIBS) + +ipc_msgbuf-Xraw$(EXEEXT): $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xraw_DEPENDENCIES) + @rm -f ipc_msgbuf-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_LDADD) $(LIBS) + +ipc_msgbuf-Xverbose$(EXEEXT): $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xverbose_DEPENDENCIES) + @rm -f ipc_msgbuf-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_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_sem-Xabbrev$(EXEEXT): $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_sem_Xabbrev_DEPENDENCIES) + @rm -f ipc_sem-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_LDADD) $(LIBS) + +ipc_sem-Xraw$(EXEEXT): $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_DEPENDENCIES) $(EXTRA_ipc_sem_Xraw_DEPENDENCIES) + @rm -f ipc_sem-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_LDADD) $(LIBS) + +ipc_sem-Xverbose$(EXEEXT): $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_DEPENDENCIES) $(EXTRA_ipc_sem_Xverbose_DEPENDENCIES) + @rm -f ipc_sem-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_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) +ipc_shm-Xabbrev$(EXEEXT): $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_shm_Xabbrev_DEPENDENCIES) + @rm -f ipc_shm-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_LDADD) $(LIBS) + +ipc_shm-Xraw$(EXEEXT): $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_DEPENDENCIES) $(EXTRA_ipc_shm_Xraw_DEPENDENCIES) + @rm -f ipc_shm-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_LDADD) $(LIBS) + +ipc_shm-Xverbose$(EXEEXT): $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_DEPENDENCIES) $(EXTRA_ipc_shm_Xverbose_DEPENDENCIES) + @rm -f ipc_shm-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_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) @@ -4601,6 +5099,18 @@ keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDE @rm -f keyctl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS) +keyctl-Xabbrev$(EXEEXT): $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_DEPENDENCIES) $(EXTRA_keyctl_Xabbrev_DEPENDENCIES) + @rm -f keyctl-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_LDADD) $(LIBS) + +keyctl-Xraw$(EXEEXT): $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_DEPENDENCIES) $(EXTRA_keyctl_Xraw_DEPENDENCIES) + @rm -f keyctl-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_LDADD) $(LIBS) + +keyctl-Xverbose$(EXEEXT): $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_DEPENDENCIES) $(EXTRA_keyctl_Xverbose_DEPENDENCIES) + @rm -f keyctl-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_LDADD) $(LIBS) + kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES) @rm -f kill$(EXEEXT) $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) @@ -4709,10 +5219,34 @@ mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES) @rm -f mmap$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS) +mmap-Xabbrev$(EXEEXT): $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_DEPENDENCIES) $(EXTRA_mmap_Xabbrev_DEPENDENCIES) + @rm -f mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_LDADD) $(LIBS) + +mmap-Xraw$(EXEEXT): $(mmap_Xraw_OBJECTS) $(mmap_Xraw_DEPENDENCIES) $(EXTRA_mmap_Xraw_DEPENDENCIES) + @rm -f mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xraw_OBJECTS) $(mmap_Xraw_LDADD) $(LIBS) + +mmap-Xverbose$(EXEEXT): $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_DEPENDENCIES) $(EXTRA_mmap_Xverbose_DEPENDENCIES) + @rm -f mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_LDADD) $(LIBS) + mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES) @rm -f mmap64$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS) +mmap64-Xabbrev$(EXEEXT): $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_DEPENDENCIES) $(EXTRA_mmap64_Xabbrev_DEPENDENCIES) + @rm -f mmap64-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_LDADD) $(LIBS) + +mmap64-Xraw$(EXEEXT): $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_DEPENDENCIES) $(EXTRA_mmap64_Xraw_DEPENDENCIES) + @rm -f mmap64-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_LDADD) $(LIBS) + +mmap64-Xverbose$(EXEEXT): $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_DEPENDENCIES) $(EXTRA_mmap64_Xverbose_DEPENDENCIES) + @rm -f mmap64-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_LDADD) $(LIBS) + mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES) @rm -f mmsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS) @@ -4737,6 +5271,18 @@ mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIE @rm -f mount$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS) +mount-Xabbrev$(EXEEXT): $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_DEPENDENCIES) $(EXTRA_mount_Xabbrev_DEPENDENCIES) + @rm -f mount-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_LDADD) $(LIBS) + +mount-Xraw$(EXEEXT): $(mount_Xraw_OBJECTS) $(mount_Xraw_DEPENDENCIES) $(EXTRA_mount_Xraw_DEPENDENCIES) + @rm -f mount-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xraw_OBJECTS) $(mount_Xraw_LDADD) $(LIBS) + +mount-Xverbose$(EXEEXT): $(mount_Xverbose_OBJECTS) $(mount_Xverbose_DEPENDENCIES) $(EXTRA_mount_Xverbose_DEPENDENCIES) + @rm -f mount-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xverbose_OBJECTS) $(mount_Xverbose_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) @@ -4941,10 +5487,18 @@ nlattr_ifinfomsg$(EXEEXT): $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_DEPEND @rm -f nlattr_ifinfomsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_LDADD) $(LIBS) +nlattr_ifla_af_spec$(EXEEXT): $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_DEPENDENCIES) $(EXTRA_nlattr_ifla_af_spec_DEPENDENCIES) + @rm -f nlattr_ifla_af_spec$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_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_linkinfo$(EXEEXT): $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_DEPENDENCIES) $(EXTRA_nlattr_ifla_linkinfo_DEPENDENCIES) + @rm -f nlattr_ifla_linkinfo$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_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) @@ -5045,6 +5599,18 @@ old_mmap-P$(EXEEXT): $(old_mmap_P_OBJECTS) $(old_mmap_P_DEPENDENCIES) $(EXTRA_ol @rm -f old_mmap-P$(EXEEXT) $(AM_V_CCLD)$(LINK) $(old_mmap_P_OBJECTS) $(old_mmap_P_LDADD) $(LIBS) +old_mmap-Xabbrev$(EXEEXT): $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_DEPENDENCIES) $(EXTRA_old_mmap_Xabbrev_DEPENDENCIES) + @rm -f old_mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_LDADD) $(LIBS) + +old_mmap-Xraw$(EXEEXT): $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_DEPENDENCIES) $(EXTRA_old_mmap_Xraw_DEPENDENCIES) + @rm -f old_mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_LDADD) $(LIBS) + +old_mmap-Xverbose$(EXEEXT): $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_DEPENDENCIES) $(EXTRA_old_mmap_Xverbose_DEPENDENCIES) + @rm -f old_mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_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) @@ -5113,6 +5679,18 @@ personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA @rm -f personality$(EXEEXT) $(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS) +personality-Xabbrev$(EXEEXT): $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_DEPENDENCIES) $(EXTRA_personality_Xabbrev_DEPENDENCIES) + @rm -f personality-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_LDADD) $(LIBS) + +personality-Xraw$(EXEEXT): $(personality_Xraw_OBJECTS) $(personality_Xraw_DEPENDENCIES) $(EXTRA_personality_Xraw_DEPENDENCIES) + @rm -f personality-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xraw_OBJECTS) $(personality_Xraw_LDADD) $(LIBS) + +personality-Xverbose$(EXEEXT): $(personality_Xverbose_OBJECTS) $(personality_Xverbose_DEPENDENCIES) $(EXTRA_personality_Xverbose_DEPENDENCIES) + @rm -f personality-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xverbose_OBJECTS) $(personality_Xverbose_LDADD) $(LIBS) + pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) @rm -f pipe$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS) @@ -5185,6 +5763,10 @@ prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPEND @rm -f prctl-securebits$(EXEEXT) $(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS) +prctl-spec-inject$(EXEEXT): $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_DEPENDENCIES) $(EXTRA_prctl_spec_inject_DEPENDENCIES) + @rm -f prctl-spec-inject$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_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) @@ -5669,10 +6251,34 @@ so_peercred$(EXEEXT): $(so_peercred_OBJECTS) $(so_peercred_DEPENDENCIES) $(EXTRA @rm -f so_peercred$(EXEEXT) $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS) +so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) + @rm -f so_peercred-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS) + +so_peercred-Xraw$(EXEEXT): $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_DEPENDENCIES) $(EXTRA_so_peercred_Xraw_DEPENDENCIES) + @rm -f so_peercred-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_LDADD) $(LIBS) + +so_peercred-Xverbose$(EXEEXT): $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_DEPENDENCIES) $(EXTRA_so_peercred_Xverbose_DEPENDENCIES) + @rm -f so_peercred-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_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) +sock_filter-v-Xabbrev$(EXEEXT): $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_DEPENDENCIES) $(EXTRA_sock_filter_v_Xabbrev_DEPENDENCIES) + @rm -f sock_filter-v-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_LDADD) $(LIBS) + +sock_filter-v-Xraw$(EXEEXT): $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_DEPENDENCIES) $(EXTRA_sock_filter_v_Xraw_DEPENDENCIES) + @rm -f sock_filter-v-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_LDADD) $(LIBS) + +sock_filter-v-Xverbose$(EXEEXT): $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_DEPENDENCIES) $(EXTRA_sock_filter_v_Xverbose_DEPENDENCIES) + @rm -f sock_filter-v-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_LDADD) $(LIBS) + socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES) @rm -f socketcall$(EXEEXT) $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS) @@ -5960,6 +6566,7 @@ include ./$(DEPDIR)/acct.Po include ./$(DEPDIR)/add_key.Po include ./$(DEPDIR)/adjtimex.Po include ./$(DEPDIR)/aio.Po +include ./$(DEPDIR)/aio_pgetevents.Po include ./$(DEPDIR)/alarm.Po include ./$(DEPDIR)/answer.Po include ./$(DEPDIR)/attach-f-p-cmd.Po @@ -5967,6 +6574,12 @@ 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-obj_get_info_by_fd-prog-v.Po +include ./$(DEPDIR)/bpf-obj_get_info_by_fd-prog.Po +include ./$(DEPDIR)/bpf-obj_get_info_by_fd-v.Po +include ./$(DEPDIR)/bpf-obj_get_info_by_fd.Po +include ./$(DEPDIR)/bpf-success-v.Po +include ./$(DEPDIR)/bpf-success.Po include ./$(DEPDIR)/bpf-v.Po include ./$(DEPDIR)/bpf.Po include ./$(DEPDIR)/brk.Po @@ -6009,6 +6622,9 @@ include ./$(DEPDIR)/fadvise64.Po include ./$(DEPDIR)/fadvise64_64.Po include ./$(DEPDIR)/fallocate.Po include ./$(DEPDIR)/fanotify_init.Po +include ./$(DEPDIR)/fanotify_mark-Xabbrev.Po +include ./$(DEPDIR)/fanotify_mark-Xraw.Po +include ./$(DEPDIR)/fanotify_mark-Xverbose.Po include ./$(DEPDIR)/fanotify_mark.Po include ./$(DEPDIR)/fchdir.Po include ./$(DEPDIR)/fchmod.Po @@ -6080,12 +6696,16 @@ 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_inotify.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_perf-success.Po +include ./$(DEPDIR)/ioctl_perf.Po +include ./$(DEPDIR)/ioctl_ptp.Po include ./$(DEPDIR)/ioctl_rtc-v.Po include ./$(DEPDIR)/ioctl_rtc.Po include ./$(DEPDIR)/ioctl_scsi.Po @@ -6099,9 +6719,21 @@ include ./$(DEPDIR)/iopl.Po include ./$(DEPDIR)/ioprio.Po include ./$(DEPDIR)/ip_mreq.Po include ./$(DEPDIR)/ipc.Po +include ./$(DEPDIR)/ipc_msg-Xabbrev.Po +include ./$(DEPDIR)/ipc_msg-Xraw.Po +include ./$(DEPDIR)/ipc_msg-Xverbose.Po include ./$(DEPDIR)/ipc_msg.Po +include ./$(DEPDIR)/ipc_msgbuf-Xabbrev.Po +include ./$(DEPDIR)/ipc_msgbuf-Xraw.Po +include ./$(DEPDIR)/ipc_msgbuf-Xverbose.Po include ./$(DEPDIR)/ipc_msgbuf.Po +include ./$(DEPDIR)/ipc_sem-Xabbrev.Po +include ./$(DEPDIR)/ipc_sem-Xraw.Po +include ./$(DEPDIR)/ipc_sem-Xverbose.Po include ./$(DEPDIR)/ipc_sem.Po +include ./$(DEPDIR)/ipc_shm-Xabbrev.Po +include ./$(DEPDIR)/ipc_shm-Xraw.Po +include ./$(DEPDIR)/ipc_shm-Xverbose.Po include ./$(DEPDIR)/ipc_shm.Po include ./$(DEPDIR)/is_linux_mips_n64.Po include ./$(DEPDIR)/kcmp-y.Po @@ -6109,6 +6741,9 @@ include ./$(DEPDIR)/kcmp.Po include ./$(DEPDIR)/kern_features.Po include ./$(DEPDIR)/kexec_file_load.Po include ./$(DEPDIR)/kexec_load.Po +include ./$(DEPDIR)/keyctl-Xabbrev.Po +include ./$(DEPDIR)/keyctl-Xraw.Po +include ./$(DEPDIR)/keyctl-Xverbose.Po include ./$(DEPDIR)/keyctl.Po include ./$(DEPDIR)/kill.Po include ./$(DEPDIR)/ksysent.Po @@ -6162,13 +6797,22 @@ include ./$(DEPDIR)/mknodat.Po include ./$(DEPDIR)/mlock.Po include ./$(DEPDIR)/mlock2.Po include ./$(DEPDIR)/mlockall.Po +include ./$(DEPDIR)/mmap-Xabbrev.Po +include ./$(DEPDIR)/mmap-Xraw.Po +include ./$(DEPDIR)/mmap-Xverbose.Po include ./$(DEPDIR)/mmap.Po include ./$(DEPDIR)/mmap64-mmap64.Po +include ./$(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +include ./$(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +include ./$(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.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-Xabbrev.Po +include ./$(DEPDIR)/mount-Xraw.Po +include ./$(DEPDIR)/mount-Xverbose.Po include ./$(DEPDIR)/mount.Po include ./$(DEPDIR)/move_pages.Po include ./$(DEPDIR)/mq.Po @@ -6221,7 +6865,9 @@ 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_af_spec.Po include ./$(DEPDIR)/nlattr_ifla_brport.Po +include ./$(DEPDIR)/nlattr_ifla_linkinfo.Po include ./$(DEPDIR)/nlattr_ifla_port.Po include ./$(DEPDIR)/nlattr_ifla_xdp.Po include ./$(DEPDIR)/nlattr_inet_diag_msg.Po @@ -6246,6 +6892,9 @@ 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-Xabbrev.Po +include ./$(DEPDIR)/old_mmap-Xraw.Po +include ./$(DEPDIR)/old_mmap-Xverbose.Po include ./$(DEPDIR)/old_mmap-v-none.Po include ./$(DEPDIR)/old_mmap.Po include ./$(DEPDIR)/oldfstat.Po @@ -6263,6 +6912,9 @@ 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-Xabbrev.Po +include ./$(DEPDIR)/personality-Xraw.Po +include ./$(DEPDIR)/personality-Xverbose.Po include ./$(DEPDIR)/personality.Po include ./$(DEPDIR)/pipe.Po include ./$(DEPDIR)/pipe2.Po @@ -6282,6 +6934,7 @@ 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-spec-inject.Po include ./$(DEPDIR)/prctl-tid_address.Po include ./$(DEPDIR)/prctl-tsc.Po include ./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po @@ -6402,7 +7055,13 @@ include ./$(DEPDIR)/sigreturn.Po include ./$(DEPDIR)/sigsuspend.Po include ./$(DEPDIR)/sleep.Po include ./$(DEPDIR)/so_linger.Po +include ./$(DEPDIR)/so_peercred-Xabbrev.Po +include ./$(DEPDIR)/so_peercred-Xraw.Po +include ./$(DEPDIR)/so_peercred-Xverbose.Po include ./$(DEPDIR)/so_peercred.Po +include ./$(DEPDIR)/sock_filter-v-Xabbrev.Po +include ./$(DEPDIR)/sock_filter-v-Xraw.Po +include ./$(DEPDIR)/sock_filter-v-Xverbose.Po include ./$(DEPDIR)/sock_filter-v.Po include ./$(DEPDIR)/socketcall.Po include ./$(DEPDIR)/sockopt-sol_netlink.Po @@ -6929,6 +7588,48 @@ mmap64-mmap64.obj: mmap64.c # 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` +mmap64_Xabbrev-mmap64-Xabbrev.o: mmap64-Xabbrev.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.o -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +# $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c + +mmap64_Xabbrev-mmap64-Xabbrev.obj: mmap64-Xabbrev.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.obj -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +# $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` + +mmap64_Xraw-mmap64-Xraw.o: mmap64-Xraw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.o -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +# $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c + +mmap64_Xraw-mmap64-Xraw.obj: mmap64-Xraw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.obj -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +# $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` + +mmap64_Xverbose-mmap64-Xverbose.o: mmap64-Xverbose.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.o -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +# $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c + +mmap64_Xverbose-mmap64-Xverbose.obj: mmap64-Xverbose.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.obj -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +# $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.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 @@ -7480,6 +8181,9 @@ $(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/aio_pgetevents.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) $^ $@ @@ -7489,6 +8193,18 @@ $(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/bpf-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/bpf-obj_get_info_by_fd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog-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) $^ $@ @@ -7576,6 +8292,15 @@ $(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xverbose.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) $^ $@ @@ -7768,6 +8493,9 @@ $(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.i $(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_inotify.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) $^ $@ @@ -7786,6 +8514,12 @@ $(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ioctl_nsfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_perf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ioctl_ptp.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) $^ $@ @@ -7828,12 +8562,48 @@ $(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ipc_msg-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xverbose.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_sem-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xverbose.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)/ipc_shm-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xverbose.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) $^ $@ @@ -7852,6 +8622,15 @@ $(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/keyctl-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xverbose.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) $^ $@ @@ -7915,9 +8694,27 @@ $(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xverbose.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)/mmap64-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xverbose.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) $^ $@ @@ -7936,6 +8733,15 @@ $(srcdir)/modify_ldt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mount-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xverbose.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) $^ $@ @@ -8062,9 +8868,15 @@ $(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_te $(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/nlattr_ifla_af_spec.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_linkinfo.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) $^ $@ @@ -8137,6 +8949,15 @@ $(srcdir)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/old_mmap-v-none.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/old_mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xverbose.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) $^ $@ @@ -8179,6 +9000,15 @@ $(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcd $(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/personality-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xverbose.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) $^ $@ @@ -8509,9 +9339,27 @@ $(srcdir)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/so_peercred-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xverbose.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)/sock_filter-v-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xverbose.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) $^ $@ @@ -8593,6 +9441,24 @@ $(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/trace_personality_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_x32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_x32.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) $^ $@ diff --git a/tests-m32/Makefile.am b/tests-m32/Makefile.am index 0b24c36d..534659b2 100644 --- a/tests-m32/Makefile.am +++ b/tests-m32/Makefile.am @@ -93,6 +93,12 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \ attach-p-cmd-cmd \ attach-p-cmd-p \ block_reset_raise_run \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ + bpf-success \ + bpf-success-v \ caps-abbrev \ check_sigblock \ check_sigign \ @@ -115,6 +121,7 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \ ioctl_loop-nv \ ioctl_loop-v \ ioctl_nsfs \ + ioctl_perf-success \ ioctl_rtc-v \ is_linux_mips_n64 \ ksysent \ @@ -137,6 +144,7 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \ ppoll-v \ prctl-seccomp-filter-v \ prctl-seccomp-strict \ + prctl-spec-inject \ print_maxfd \ qual_fault \ qual_inject-error-signal \ @@ -179,6 +187,9 @@ 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 +mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xverbose_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) @@ -202,20 +213,26 @@ stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \ include gen_tests.am -if USE_LIBUNWIND -LIBUNWIND_TESTS = strace-k.test +if ENABLE_STACKTRACE +STACKTRACE_TESTS = strace-k.test if USE_DEMANGLE -LIBUNWIND_TESTS += strace-k-demangle.test +STACKTRACE_TESTS += strace-k-demangle.test endif else -LIBUNWIND_TESTS = +STACKTRACE_TESTS = endif DECODER_TESTS = \ + bpf-success.test \ + bpf-success-v.test \ brk.test \ btrfs-v.test \ btrfs-vw.test \ + btrfs-vwX.test \ + btrfs-vX.test \ btrfs-w.test \ + btrfs-wX.test \ + btrfs-X.test \ caps-abbrev.test \ caps.test \ eventfd.test \ @@ -225,6 +242,7 @@ DECODER_TESTS = \ futex.test \ getuid.test \ ioctl.test \ + ioctl_perf-success.test \ ipc_msgbuf.test \ kern_features-fault.test \ llseek.test \ @@ -251,6 +269,7 @@ DECODER_TESTS = \ prctl-seccomp-filter-v.test \ prctl-seccomp-strict.test \ prctl-securebits.test \ + prctl-spec-inject.test \ prctl-tid_address.test \ prctl-tsc.test \ qual_fault-exit_group.test \ @@ -299,9 +318,13 @@ MISC_TESTS = \ printstrn-umoven-legacy.test \ qual_fault-syntax.test \ qual_fault.test \ + qual_fault-syscall.test \ qual_inject-error-signal.test \ + qual_inject-error-signal-syscall.test \ qual_inject-retval.test \ + qual_inject-retval-syscall.test \ qual_inject-signal.test \ + qual_inject-signal-syscall.test \ qual_inject-syntax.test \ qual_signal.test \ qual_syscall.test \ @@ -324,11 +347,11 @@ MISC_TESTS = \ threads-execve.test \ # end of MISC_TESTS -TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS) +TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(STACKTRACE_TESTS) XFAIL_TESTS_ = -XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS) -XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS) +XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) +XFAIL_TESTS_mx32 = $(STACKTRACE_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)) @@ -352,6 +375,7 @@ EXTRA_DIST = \ count-f.expected \ eventfd.expected \ fadvise.h \ + fcntl-common.c \ filter-unavailable.expected \ fstatat.c \ fstatx.c \ @@ -362,12 +386,12 @@ EXTRA_DIST = \ init.sh \ init_delete_module.h \ ipc.sh \ - ipc_msgbuf.expected \ ksysent.sed \ lstatx.c \ match.awk \ net.expected \ netlink_sock_diag-v.sh \ + nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ process_vm_readv_writev.c \ @@ -375,6 +399,8 @@ EXTRA_DIST = \ qual_fault-exit_group.expected \ qual_inject-error-signal.expected \ qual_inject-signal.expected \ + qualify_personality.sh \ + qualify_personality_empty.in \ quotactl.h \ regex.in \ rt_sigaction.awk \ @@ -392,16 +418,23 @@ EXTRA_DIST = \ strace-E.expected \ strace-T.expected \ strace-ff.expected \ + strace-k-demangle.expected \ strace-k-demangle.test \ + strace-k.expected \ 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_personality_32.in \ + trace_personality_64.in \ + trace_personality_x32.in \ + trace_personality_regex_32.in \ + trace_personality_regex_64.in \ + trace_personality_regex_x32.in \ trace_question.in \ trace_stat.in \ trace_stat_like.in \ diff --git a/tests-m32/Makefile.in b/tests-m32/Makefile.in index efe84dde..55e41d6d 100644 --- a/tests-m32/Makefile.in +++ b/tests-m32/Makefile.in @@ -139,7 +139,11 @@ DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \ 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) \ + block_reset_raise_run$(EXEEXT) bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-v$(EXEEXT) bpf-success$(EXEEXT) \ + bpf-success-v$(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) \ @@ -147,7 +151,8 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(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) \ @@ -159,21 +164,22 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + prctl-spec-inject$(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) -@USE_DEMANGLE_TRUE@@USE_LIBUNWIND_TRUE@am__append_1 = strace-k-demangle.test +@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@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 @@ -181,7 +187,10 @@ 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_demangle.m4 $(top_srcdir)/m4/st_libdw.m4 \ + $(top_srcdir)/m4/st_libunwind.m4 \ $(top_srcdir)/m4/st_save_restore_var.m4 \ + $(top_srcdir)/m4/st_stacktrace.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) \ @@ -223,18 +232,25 @@ am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(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) \ + adjtimex$(EXEEXT) aio$(EXEEXT) aio_pgetevents$(EXEEXT) \ + alarm$(EXEEXT) bpf$(EXEEXT) bpf-v$(EXEEXT) \ + bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-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) \ + fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ + fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ @@ -255,49 +271,62 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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_evdev$(EXEEXT) ioctl_inotify$(EXEEXT) \ + ioctl_kvm_run$(EXEEXT) ioctl_loop$(EXEEXT) ioctl_mtd$(EXEEXT) \ + ioctl_rtc$(EXEEXT) ioctl_perf$(EXEEXT) ioctl_ptp$(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) \ + ipc_msg$(EXEEXT) ipc_msg-Xabbrev$(EXEEXT) \ + ipc_msg-Xraw$(EXEEXT) ipc_msg-Xverbose$(EXEEXT) \ + ipc_msgbuf$(EXEEXT) ipc_msgbuf-Xabbrev$(EXEEXT) \ + ipc_msgbuf-Xraw$(EXEEXT) ipc_msgbuf-Xverbose$(EXEEXT) \ + ipc_sem$(EXEEXT) ipc_sem-Xabbrev$(EXEEXT) \ + ipc_sem-Xraw$(EXEEXT) ipc_sem-Xverbose$(EXEEXT) \ + ipc_shm$(EXEEXT) ipc_shm-Xabbrev$(EXEEXT) \ + ipc_shm-Xraw$(EXEEXT) ipc_shm-Xverbose$(EXEEXT) kcmp$(EXEEXT) \ + kcmp-y$(EXEEXT) kern_features$(EXEEXT) \ + kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) keyctl$(EXEEXT) \ + keyctl-Xabbrev$(EXEEXT) keyctl-Xraw$(EXEEXT) \ + keyctl-Xverbose$(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) \ + mmap-Xabbrev$(EXEEXT) mmap-Xraw$(EXEEXT) \ + mmap-Xverbose$(EXEEXT) mmap64$(EXEEXT) mmap64-Xabbrev$(EXEEXT) \ + mmap64-Xraw$(EXEEXT) mmap64-Xverbose$(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) \ + mount-Xabbrev$(EXEEXT) mount-Xraw$(EXEEXT) \ + mount-Xverbose$(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_af_spec$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \ + nlattr_ifla_linkinfo$(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) \ @@ -309,11 +338,14 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + old_mmap-P$(EXEEXT) old_mmap-v-none$(EXEEXT) \ + old_mmap-Xabbrev$(EXEEXT) old_mmap-Xraw$(EXEEXT) \ + old_mmap-Xverbose$(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) \ + personality-Xabbrev$(EXEEXT) personality-Xraw$(EXEEXT) \ + personality-Xverbose$(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) \ @@ -361,7 +393,10 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + so_peercred$(EXEEXT) so_peercred-Xabbrev$(EXEEXT) \ + so_peercred-Xraw$(EXEEXT) so_peercred-Xverbose$(EXEEXT) \ + sock_filter-v$(EXEEXT) sock_filter-v-Xabbrev$(EXEEXT) \ + sock_filter-v-Xraw$(EXEEXT) sock_filter-v-Xverbose$(EXEEXT) \ socketcall$(EXEEXT) sockopt-sol_netlink$(EXEEXT) \ splice$(EXEEXT) stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \ statfs64$(EXEEXT) statx$(EXEEXT) swap$(EXEEXT) \ @@ -418,6 +453,10 @@ aio_SOURCES = aio.c aio_OBJECTS = aio.$(OBJEXT) aio_LDADD = $(LDADD) aio_DEPENDENCIES = libtests.a +aio_pgetevents_SOURCES = aio_pgetevents.c +aio_pgetevents_OBJECTS = aio_pgetevents.$(OBJEXT) +aio_pgetevents_LDADD = $(LDADD) +aio_pgetevents_DEPENDENCIES = libtests.a alarm_SOURCES = alarm.c alarm_OBJECTS = alarm.$(OBJEXT) alarm_LDADD = $(LDADD) @@ -449,6 +488,33 @@ bpf_SOURCES = bpf.c bpf_OBJECTS = bpf.$(OBJEXT) bpf_LDADD = $(LDADD) bpf_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_SOURCES = bpf-obj_get_info_by_fd.c +bpf_obj_get_info_by_fd_OBJECTS = bpf-obj_get_info_by_fd.$(OBJEXT) +bpf_obj_get_info_by_fd_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_SOURCES = bpf-obj_get_info_by_fd-prog.c +bpf_obj_get_info_by_fd_prog_OBJECTS = \ + bpf-obj_get_info_by_fd-prog.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_v_SOURCES = \ + bpf-obj_get_info_by_fd-prog-v.c +bpf_obj_get_info_by_fd_prog_v_OBJECTS = \ + bpf-obj_get_info_by_fd-prog-v.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_v_SOURCES = bpf-obj_get_info_by_fd-v.c +bpf_obj_get_info_by_fd_v_OBJECTS = bpf-obj_get_info_by_fd-v.$(OBJEXT) +bpf_obj_get_info_by_fd_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_v_DEPENDENCIES = libtests.a +bpf_success_SOURCES = bpf-success.c +bpf_success_OBJECTS = bpf-success.$(OBJEXT) +bpf_success_LDADD = $(LDADD) +bpf_success_DEPENDENCIES = libtests.a +bpf_success_v_SOURCES = bpf-success-v.c +bpf_success_v_OBJECTS = bpf-success-v.$(OBJEXT) +bpf_success_v_LDADD = $(LDADD) +bpf_success_v_DEPENDENCIES = libtests.a bpf_v_SOURCES = bpf-v.c bpf_v_OBJECTS = bpf-v.$(OBJEXT) bpf_v_LDADD = $(LDADD) @@ -616,6 +682,18 @@ fanotify_mark_SOURCES = fanotify_mark.c fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT) fanotify_mark_LDADD = $(LDADD) fanotify_mark_DEPENDENCIES = libtests.a +fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c +fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) +fanotify_mark_Xabbrev_LDADD = $(LDADD) +fanotify_mark_Xabbrev_DEPENDENCIES = libtests.a +fanotify_mark_Xraw_SOURCES = fanotify_mark-Xraw.c +fanotify_mark_Xraw_OBJECTS = fanotify_mark-Xraw.$(OBJEXT) +fanotify_mark_Xraw_LDADD = $(LDADD) +fanotify_mark_Xraw_DEPENDENCIES = libtests.a +fanotify_mark_Xverbose_SOURCES = fanotify_mark-Xverbose.c +fanotify_mark_Xverbose_OBJECTS = fanotify_mark-Xverbose.$(OBJEXT) +fanotify_mark_Xverbose_LDADD = $(LDADD) +fanotify_mark_Xverbose_DEPENDENCIES = libtests.a fchdir_SOURCES = fchdir.c fchdir_OBJECTS = fchdir.$(OBJEXT) fchdir_LDADD = $(LDADD) @@ -895,6 +973,10 @@ 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_inotify_SOURCES = ioctl_inotify.c +ioctl_inotify_OBJECTS = ioctl_inotify.$(OBJEXT) +ioctl_inotify_LDADD = $(LDADD) +ioctl_inotify_DEPENDENCIES = libtests.a ioctl_kvm_run_SOURCES = ioctl_kvm_run.c ioctl_kvm_run_OBJECTS = ioctl_kvm_run.$(OBJEXT) ioctl_kvm_run_LDADD = $(LDADD) @@ -919,6 +1001,18 @@ ioctl_nsfs_SOURCES = ioctl_nsfs.c ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT) ioctl_nsfs_LDADD = $(LDADD) ioctl_nsfs_DEPENDENCIES = libtests.a +ioctl_perf_SOURCES = ioctl_perf.c +ioctl_perf_OBJECTS = ioctl_perf.$(OBJEXT) +ioctl_perf_LDADD = $(LDADD) +ioctl_perf_DEPENDENCIES = libtests.a +ioctl_perf_success_SOURCES = ioctl_perf-success.c +ioctl_perf_success_OBJECTS = ioctl_perf-success.$(OBJEXT) +ioctl_perf_success_LDADD = $(LDADD) +ioctl_perf_success_DEPENDENCIES = libtests.a +ioctl_ptp_SOURCES = ioctl_ptp.c +ioctl_ptp_OBJECTS = ioctl_ptp.$(OBJEXT) +ioctl_ptp_LDADD = $(LDADD) +ioctl_ptp_DEPENDENCIES = libtests.a ioctl_rtc_SOURCES = ioctl_rtc.c ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT) ioctl_rtc_LDADD = $(LDADD) @@ -975,18 +1069,66 @@ ipc_msg_SOURCES = ipc_msg.c ipc_msg_OBJECTS = ipc_msg.$(OBJEXT) ipc_msg_LDADD = $(LDADD) ipc_msg_DEPENDENCIES = libtests.a +ipc_msg_Xabbrev_SOURCES = ipc_msg-Xabbrev.c +ipc_msg_Xabbrev_OBJECTS = ipc_msg-Xabbrev.$(OBJEXT) +ipc_msg_Xabbrev_LDADD = $(LDADD) +ipc_msg_Xabbrev_DEPENDENCIES = libtests.a +ipc_msg_Xraw_SOURCES = ipc_msg-Xraw.c +ipc_msg_Xraw_OBJECTS = ipc_msg-Xraw.$(OBJEXT) +ipc_msg_Xraw_LDADD = $(LDADD) +ipc_msg_Xraw_DEPENDENCIES = libtests.a +ipc_msg_Xverbose_SOURCES = ipc_msg-Xverbose.c +ipc_msg_Xverbose_OBJECTS = ipc_msg-Xverbose.$(OBJEXT) +ipc_msg_Xverbose_LDADD = $(LDADD) +ipc_msg_Xverbose_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_msgbuf_Xabbrev_SOURCES = ipc_msgbuf-Xabbrev.c +ipc_msgbuf_Xabbrev_OBJECTS = ipc_msgbuf-Xabbrev.$(OBJEXT) +ipc_msgbuf_Xabbrev_LDADD = $(LDADD) +ipc_msgbuf_Xabbrev_DEPENDENCIES = libtests.a +ipc_msgbuf_Xraw_SOURCES = ipc_msgbuf-Xraw.c +ipc_msgbuf_Xraw_OBJECTS = ipc_msgbuf-Xraw.$(OBJEXT) +ipc_msgbuf_Xraw_LDADD = $(LDADD) +ipc_msgbuf_Xraw_DEPENDENCIES = libtests.a +ipc_msgbuf_Xverbose_SOURCES = ipc_msgbuf-Xverbose.c +ipc_msgbuf_Xverbose_OBJECTS = ipc_msgbuf-Xverbose.$(OBJEXT) +ipc_msgbuf_Xverbose_LDADD = $(LDADD) +ipc_msgbuf_Xverbose_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_sem_Xabbrev_SOURCES = ipc_sem-Xabbrev.c +ipc_sem_Xabbrev_OBJECTS = ipc_sem-Xabbrev.$(OBJEXT) +ipc_sem_Xabbrev_LDADD = $(LDADD) +ipc_sem_Xabbrev_DEPENDENCIES = libtests.a +ipc_sem_Xraw_SOURCES = ipc_sem-Xraw.c +ipc_sem_Xraw_OBJECTS = ipc_sem-Xraw.$(OBJEXT) +ipc_sem_Xraw_LDADD = $(LDADD) +ipc_sem_Xraw_DEPENDENCIES = libtests.a +ipc_sem_Xverbose_SOURCES = ipc_sem-Xverbose.c +ipc_sem_Xverbose_OBJECTS = ipc_sem-Xverbose.$(OBJEXT) +ipc_sem_Xverbose_LDADD = $(LDADD) +ipc_sem_Xverbose_DEPENDENCIES = libtests.a ipc_shm_SOURCES = ipc_shm.c ipc_shm_OBJECTS = ipc_shm.$(OBJEXT) ipc_shm_LDADD = $(LDADD) ipc_shm_DEPENDENCIES = libtests.a +ipc_shm_Xabbrev_SOURCES = ipc_shm-Xabbrev.c +ipc_shm_Xabbrev_OBJECTS = ipc_shm-Xabbrev.$(OBJEXT) +ipc_shm_Xabbrev_LDADD = $(LDADD) +ipc_shm_Xabbrev_DEPENDENCIES = libtests.a +ipc_shm_Xraw_SOURCES = ipc_shm-Xraw.c +ipc_shm_Xraw_OBJECTS = ipc_shm-Xraw.$(OBJEXT) +ipc_shm_Xraw_LDADD = $(LDADD) +ipc_shm_Xraw_DEPENDENCIES = libtests.a +ipc_shm_Xverbose_SOURCES = ipc_shm-Xverbose.c +ipc_shm_Xverbose_OBJECTS = ipc_shm-Xverbose.$(OBJEXT) +ipc_shm_Xverbose_LDADD = $(LDADD) +ipc_shm_Xverbose_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) @@ -1015,6 +1157,18 @@ keyctl_SOURCES = keyctl.c keyctl_OBJECTS = keyctl.$(OBJEXT) keyctl_LDADD = $(LDADD) keyctl_DEPENDENCIES = libtests.a +keyctl_Xabbrev_SOURCES = keyctl-Xabbrev.c +keyctl_Xabbrev_OBJECTS = keyctl-Xabbrev.$(OBJEXT) +keyctl_Xabbrev_LDADD = $(LDADD) +keyctl_Xabbrev_DEPENDENCIES = libtests.a +keyctl_Xraw_SOURCES = keyctl-Xraw.c +keyctl_Xraw_OBJECTS = keyctl-Xraw.$(OBJEXT) +keyctl_Xraw_LDADD = $(LDADD) +keyctl_Xraw_DEPENDENCIES = libtests.a +keyctl_Xverbose_SOURCES = keyctl-Xverbose.c +keyctl_Xverbose_OBJECTS = keyctl-Xverbose.$(OBJEXT) +keyctl_Xverbose_LDADD = $(LDADD) +keyctl_Xverbose_DEPENDENCIES = libtests.a kill_SOURCES = kill.c kill_OBJECTS = kill.$(OBJEXT) kill_LDADD = $(LDADD) @@ -1122,10 +1276,34 @@ mmap_SOURCES = mmap.c mmap_OBJECTS = mmap.$(OBJEXT) mmap_LDADD = $(LDADD) mmap_DEPENDENCIES = libtests.a +mmap_Xabbrev_SOURCES = mmap-Xabbrev.c +mmap_Xabbrev_OBJECTS = mmap-Xabbrev.$(OBJEXT) +mmap_Xabbrev_LDADD = $(LDADD) +mmap_Xabbrev_DEPENDENCIES = libtests.a +mmap_Xraw_SOURCES = mmap-Xraw.c +mmap_Xraw_OBJECTS = mmap-Xraw.$(OBJEXT) +mmap_Xraw_LDADD = $(LDADD) +mmap_Xraw_DEPENDENCIES = libtests.a +mmap_Xverbose_SOURCES = mmap-Xverbose.c +mmap_Xverbose_OBJECTS = mmap-Xverbose.$(OBJEXT) +mmap_Xverbose_LDADD = $(LDADD) +mmap_Xverbose_DEPENDENCIES = libtests.a mmap64_SOURCES = mmap64.c mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT) mmap64_LDADD = $(LDADD) mmap64_DEPENDENCIES = libtests.a +mmap64_Xabbrev_SOURCES = mmap64-Xabbrev.c +mmap64_Xabbrev_OBJECTS = mmap64_Xabbrev-mmap64-Xabbrev.$(OBJEXT) +mmap64_Xabbrev_LDADD = $(LDADD) +mmap64_Xabbrev_DEPENDENCIES = libtests.a +mmap64_Xraw_SOURCES = mmap64-Xraw.c +mmap64_Xraw_OBJECTS = mmap64_Xraw-mmap64-Xraw.$(OBJEXT) +mmap64_Xraw_LDADD = $(LDADD) +mmap64_Xraw_DEPENDENCIES = libtests.a +mmap64_Xverbose_SOURCES = mmap64-Xverbose.c +mmap64_Xverbose_OBJECTS = mmap64_Xverbose-mmap64-Xverbose.$(OBJEXT) +mmap64_Xverbose_LDADD = $(LDADD) +mmap64_Xverbose_DEPENDENCIES = libtests.a mmsg_SOURCES = mmsg.c mmsg_OBJECTS = mmsg.$(OBJEXT) mmsg_LDADD = $(LDADD) @@ -1150,6 +1328,18 @@ mount_SOURCES = mount.c mount_OBJECTS = mount.$(OBJEXT) mount_LDADD = $(LDADD) mount_DEPENDENCIES = libtests.a +mount_Xabbrev_SOURCES = mount-Xabbrev.c +mount_Xabbrev_OBJECTS = mount-Xabbrev.$(OBJEXT) +mount_Xabbrev_LDADD = $(LDADD) +mount_Xabbrev_DEPENDENCIES = libtests.a +mount_Xraw_SOURCES = mount-Xraw.c +mount_Xraw_OBJECTS = mount-Xraw.$(OBJEXT) +mount_Xraw_LDADD = $(LDADD) +mount_Xraw_DEPENDENCIES = libtests.a +mount_Xverbose_SOURCES = mount-Xverbose.c +mount_Xverbose_OBJECTS = mount-Xverbose.$(OBJEXT) +mount_Xverbose_LDADD = $(LDADD) +mount_Xverbose_DEPENDENCIES = libtests.a move_pages_SOURCES = move_pages.c move_pages_OBJECTS = move_pages.$(OBJEXT) move_pages_LDADD = $(LDADD) @@ -1353,10 +1543,18 @@ nlattr_ifinfomsg_SOURCES = nlattr_ifinfomsg.c nlattr_ifinfomsg_OBJECTS = nlattr_ifinfomsg.$(OBJEXT) nlattr_ifinfomsg_LDADD = $(LDADD) nlattr_ifinfomsg_DEPENDENCIES = libtests.a +nlattr_ifla_af_spec_SOURCES = nlattr_ifla_af_spec.c +nlattr_ifla_af_spec_OBJECTS = nlattr_ifla_af_spec.$(OBJEXT) +nlattr_ifla_af_spec_LDADD = $(LDADD) +nlattr_ifla_af_spec_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_linkinfo_SOURCES = nlattr_ifla_linkinfo.c +nlattr_ifla_linkinfo_OBJECTS = nlattr_ifla_linkinfo.$(OBJEXT) +nlattr_ifla_linkinfo_LDADD = $(LDADD) +nlattr_ifla_linkinfo_DEPENDENCIES = libtests.a nlattr_ifla_port_SOURCES = nlattr_ifla_port.c nlattr_ifla_port_OBJECTS = nlattr_ifla_port.$(OBJEXT) nlattr_ifla_port_LDADD = $(LDADD) @@ -1458,6 +1656,18 @@ 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_Xabbrev_SOURCES = old_mmap-Xabbrev.c +old_mmap_Xabbrev_OBJECTS = old_mmap-Xabbrev.$(OBJEXT) +old_mmap_Xabbrev_LDADD = $(LDADD) +old_mmap_Xabbrev_DEPENDENCIES = libtests.a +old_mmap_Xraw_SOURCES = old_mmap-Xraw.c +old_mmap_Xraw_OBJECTS = old_mmap-Xraw.$(OBJEXT) +old_mmap_Xraw_LDADD = $(LDADD) +old_mmap_Xraw_DEPENDENCIES = libtests.a +old_mmap_Xverbose_SOURCES = old_mmap-Xverbose.c +old_mmap_Xverbose_OBJECTS = old_mmap-Xverbose.$(OBJEXT) +old_mmap_Xverbose_LDADD = $(LDADD) +old_mmap_Xverbose_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) @@ -1526,6 +1736,18 @@ personality_SOURCES = personality.c personality_OBJECTS = personality.$(OBJEXT) personality_LDADD = $(LDADD) personality_DEPENDENCIES = libtests.a +personality_Xabbrev_SOURCES = personality-Xabbrev.c +personality_Xabbrev_OBJECTS = personality-Xabbrev.$(OBJEXT) +personality_Xabbrev_LDADD = $(LDADD) +personality_Xabbrev_DEPENDENCIES = libtests.a +personality_Xraw_SOURCES = personality-Xraw.c +personality_Xraw_OBJECTS = personality-Xraw.$(OBJEXT) +personality_Xraw_LDADD = $(LDADD) +personality_Xraw_DEPENDENCIES = libtests.a +personality_Xverbose_SOURCES = personality-Xverbose.c +personality_Xverbose_OBJECTS = personality-Xverbose.$(OBJEXT) +personality_Xverbose_LDADD = $(LDADD) +personality_Xverbose_DEPENDENCIES = libtests.a pipe_SOURCES = pipe.c pipe_OBJECTS = pipe.$(OBJEXT) pipe_LDADD = $(LDADD) @@ -1598,6 +1820,10 @@ prctl_securebits_SOURCES = prctl-securebits.c prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT) prctl_securebits_LDADD = $(LDADD) prctl_securebits_DEPENDENCIES = libtests.a +prctl_spec_inject_SOURCES = prctl-spec-inject.c +prctl_spec_inject_OBJECTS = prctl-spec-inject.$(OBJEXT) +prctl_spec_inject_LDADD = $(LDADD) +prctl_spec_inject_DEPENDENCIES = libtests.a prctl_tid_address_SOURCES = prctl-tid_address.c prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT) prctl_tid_address_LDADD = $(LDADD) @@ -2088,10 +2314,34 @@ so_peercred_SOURCES = so_peercred.c so_peercred_OBJECTS = so_peercred.$(OBJEXT) so_peercred_LDADD = $(LDADD) so_peercred_DEPENDENCIES = libtests.a +so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c +so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT) +so_peercred_Xabbrev_LDADD = $(LDADD) +so_peercred_Xabbrev_DEPENDENCIES = libtests.a +so_peercred_Xraw_SOURCES = so_peercred-Xraw.c +so_peercred_Xraw_OBJECTS = so_peercred-Xraw.$(OBJEXT) +so_peercred_Xraw_LDADD = $(LDADD) +so_peercred_Xraw_DEPENDENCIES = libtests.a +so_peercred_Xverbose_SOURCES = so_peercred-Xverbose.c +so_peercred_Xverbose_OBJECTS = so_peercred-Xverbose.$(OBJEXT) +so_peercred_Xverbose_LDADD = $(LDADD) +so_peercred_Xverbose_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 +sock_filter_v_Xabbrev_SOURCES = sock_filter-v-Xabbrev.c +sock_filter_v_Xabbrev_OBJECTS = sock_filter-v-Xabbrev.$(OBJEXT) +sock_filter_v_Xabbrev_LDADD = $(LDADD) +sock_filter_v_Xabbrev_DEPENDENCIES = libtests.a +sock_filter_v_Xraw_SOURCES = sock_filter-v-Xraw.c +sock_filter_v_Xraw_OBJECTS = sock_filter-v-Xraw.$(OBJEXT) +sock_filter_v_Xraw_LDADD = $(LDADD) +sock_filter_v_Xraw_DEPENDENCIES = libtests.a +sock_filter_v_Xverbose_SOURCES = sock_filter-v-Xverbose.c +sock_filter_v_Xverbose_OBJECTS = sock_filter-v-Xverbose.$(OBJEXT) +sock_filter_v_Xverbose_LDADD = $(LDADD) +sock_filter_v_Xverbose_DEPENDENCIES = libtests.a socketcall_SOURCES = socketcall.c socketcall_OBJECTS = socketcall.$(OBJEXT) socketcall_LDADD = $(LDADD) @@ -2402,45 +2652,58 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 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 \ + accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2456,59 +2719,64 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2526,44 +2794,57 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fallocate.c fanotify_init.c fanotify_mark.c \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2579,59 +2860,64 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2859,7 +3145,7 @@ am__set_TESTS_bases = \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck -@USE_LIBUNWIND_TRUE@am__EXEEXT_2 = strace-k.test $(am__append_1) +@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test $(am__append_1) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test am__test_logs1 = $(TESTS:=.log) @@ -3001,6 +3287,10 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ +libdw_CFLAGS = @libdw_CFLAGS@ +libdw_CPPFLAGS = @libdw_CPPFLAGS@ +libdw_LDFLAGS = @libdw_LDFLAGS@ +libdw_LIBS = @libdw_LIBS@ libexecdir = @libexecdir@ libiberty_CPPFLAGS = @libiberty_CPPFLAGS@ libiberty_LDFLAGS = @libiberty_LDFLAGS@ @@ -3095,9 +3385,14 @@ PURE_EXECUTABLES = \ add_key \ adjtimex \ aio \ + aio_pgetevents \ alarm \ bpf \ bpf-v \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ brk \ btrfs \ caps \ @@ -3130,6 +3425,9 @@ PURE_EXECUTABLES = \ fallocate \ fanotify_init \ fanotify_mark \ + fanotify_mark-Xabbrev \ + fanotify_mark-Xraw \ + fanotify_mark-Xverbose \ fchdir \ fchmod \ fchmodat \ @@ -3192,10 +3490,13 @@ PURE_EXECUTABLES = \ ioctl_block \ ioctl_dm \ ioctl_evdev \ + ioctl_inotify \ ioctl_kvm_run \ ioctl_loop \ ioctl_mtd \ ioctl_rtc \ + ioctl_perf \ + ioctl_ptp \ ioctl_scsi \ ioctl_sg_io_v3 \ ioctl_sg_io_v4 \ @@ -3208,15 +3509,30 @@ PURE_EXECUTABLES = \ ip_mreq \ ipc \ ipc_msg \ + ipc_msg-Xabbrev \ + ipc_msg-Xraw \ + ipc_msg-Xverbose \ ipc_msgbuf \ + ipc_msgbuf-Xabbrev \ + ipc_msgbuf-Xraw \ + ipc_msgbuf-Xverbose \ ipc_sem \ + ipc_sem-Xabbrev \ + ipc_sem-Xraw \ + ipc_sem-Xverbose \ ipc_shm \ + ipc_shm-Xabbrev \ + ipc_shm-Xraw \ + ipc_shm-Xverbose \ kcmp \ kcmp-y \ kern_features \ kexec_file_load \ kexec_load \ keyctl \ + keyctl-Xabbrev \ + keyctl-Xraw \ + keyctl-Xverbose \ kill \ lchown \ lchown32 \ @@ -3241,11 +3557,20 @@ PURE_EXECUTABLES = \ mlock2 \ mlockall \ mmap \ + mmap-Xabbrev \ + mmap-Xraw \ + mmap-Xverbose \ mmap64 \ + mmap64-Xabbrev \ + mmap64-Xraw \ + mmap64-Xverbose \ mmsg \ mmsg_name \ modify_ldt \ mount \ + mount-Xabbrev \ + mount-Xraw \ + mount-Xverbose \ move_pages \ mq \ mq_sendrecv \ @@ -3292,7 +3617,9 @@ PURE_EXECUTABLES = \ nlattr_ifaddrlblmsg \ nlattr_ifaddrmsg \ nlattr_ifinfomsg \ + nlattr_ifla_af_spec \ nlattr_ifla_brport \ + nlattr_ifla_linkinfo \ nlattr_ifla_port \ nlattr_ifla_xdp \ nlattr_inet_diag_msg \ @@ -3317,6 +3644,9 @@ PURE_EXECUTABLES = \ old_mmap \ old_mmap-P \ old_mmap-v-none \ + old_mmap-Xabbrev \ + old_mmap-Xraw \ + old_mmap-Xverbose \ oldfstat \ oldlstat \ oldselect \ @@ -3328,6 +3658,9 @@ PURE_EXECUTABLES = \ pause \ perf_event_open \ personality \ + personality-Xabbrev \ + personality-Xraw \ + personality-Xverbose \ pipe \ pipe2 \ pkey_alloc \ @@ -3444,7 +3777,13 @@ PURE_EXECUTABLES = \ sigsuspend \ so_linger \ so_peercred \ + so_peercred-Xabbrev \ + so_peercred-Xraw \ + so_peercred-Xverbose \ sock_filter-v \ + sock_filter-v-Xabbrev \ + sock_filter-v-Xraw \ + sock_filter-v-Xverbose \ socketcall \ sockopt-sol_netlink \ splice \ @@ -3515,6 +3854,9 @@ 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 +mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xverbose_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) @@ -3539,10 +3881,14 @@ stack_fcall_mangled_SOURCES = stack-fcall-mangled.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 \ + add_key.gen.test adjtimex.gen.test aio.gen.test \ + aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ + bpf-v.gen.test bpf-obj_get_info_by_fd.gen.test \ + bpf-obj_get_info_by_fd-v.gen.test \ + bpf-obj_get_info_by_fd-prog.gen.test \ + bpf-obj_get_info_by_fd-prog-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 \ @@ -3550,70 +3896,85 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + fanotify_mark.gen.test fanotify_mark-Xabbrev.gen.test \ + fanotify_mark-Xraw.gen.test fanotify_mark-Xverbose.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_inotify.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 \ + ioctl_mtd.gen.test ioctl_nsfs.gen.test ioctl_perf.gen.test \ + ioctl_ptp.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_msg-Xabbrev.gen.test \ + ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \ + ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \ + ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \ + ipc_sem-Xabbrev.gen.test ipc_sem-Xraw.gen.test \ + ipc_sem-Xverbose.gen.test ipc_shm.gen.test \ + ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \ + ipc_shm-Xverbose.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 keyctl-Xabbrev.gen.test \ + keyctl-Xraw.gen.test keyctl-Xverbose.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 \ + mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ + mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \ + mmap64-Xraw.gen.test mmap64-Xverbose.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 mount-Xabbrev.gen.test \ + mount-Xraw.gen.test mount-Xverbose.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_af_spec.gen.test \ + nlattr_ifla_brport.gen.test nlattr_ifla_linkinfo.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 \ @@ -3625,16 +3986,19 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + old_mmap-P.gen.test old_mmap-v-none.gen.test \ + old_mmap-Xabbrev.gen.test old_mmap-Xraw.gen.test \ + old_mmap-Xverbose.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 \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.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 \ @@ -3675,22 +4039,29 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + so_linger.gen.test so_peercred.gen.test \ + so_peercred-Xabbrev.gen.test so_peercred-Xraw.gen.test \ + so_peercred-Xverbose.gen.test sock_filter-v.gen.test \ + sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \ + sock_filter-v-Xverbose.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_personality_32.gen.test \ + trace_personality_64.gen.test trace_personality_x32.gen.test \ + trace_personality_regex_32.gen.test \ + trace_personality_regex_64.gen.test \ + trace_personality_regex_x32.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 \ @@ -3700,13 +4071,20 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ xattr-strings.gen.test xet_robust_list.gen.test \ xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \ xettimeofday.gen.test -@USE_LIBUNWIND_FALSE@LIBUNWIND_TESTS = -@USE_LIBUNWIND_TRUE@LIBUNWIND_TESTS = strace-k.test $(am__append_1) +@ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = +@ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \ +@ENABLE_STACKTRACE_TRUE@ $(am__append_1) DECODER_TESTS = \ + bpf-success.test \ + bpf-success-v.test \ brk.test \ btrfs-v.test \ btrfs-vw.test \ + btrfs-vwX.test \ + btrfs-vX.test \ btrfs-w.test \ + btrfs-wX.test \ + btrfs-X.test \ caps-abbrev.test \ caps.test \ eventfd.test \ @@ -3716,6 +4094,7 @@ DECODER_TESTS = \ futex.test \ getuid.test \ ioctl.test \ + ioctl_perf-success.test \ ipc_msgbuf.test \ kern_features-fault.test \ llseek.test \ @@ -3742,6 +4121,7 @@ DECODER_TESTS = \ prctl-seccomp-filter-v.test \ prctl-seccomp-strict.test \ prctl-securebits.test \ + prctl-spec-inject.test \ prctl-tid_address.test \ prctl-tsc.test \ qual_fault-exit_group.test \ @@ -3790,9 +4170,13 @@ MISC_TESTS = \ printstrn-umoven-legacy.test \ qual_fault-syntax.test \ qual_fault.test \ + qual_fault-syscall.test \ qual_inject-error-signal.test \ + qual_inject-error-signal-syscall.test \ qual_inject-retval.test \ + qual_inject-retval-syscall.test \ qual_inject-signal.test \ + qual_inject-signal-syscall.test \ qual_inject-syntax.test \ qual_signal.test \ qual_syscall.test \ @@ -3816,8 +4200,8 @@ MISC_TESTS = \ # end of MISC_TESTS XFAIL_TESTS_ = -XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS) -XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS) +XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) +XFAIL_TESTS_mx32 = $(STACKTRACE_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)) @@ -3838,6 +4222,7 @@ EXTRA_DIST = \ count-f.expected \ eventfd.expected \ fadvise.h \ + fcntl-common.c \ filter-unavailable.expected \ fstatat.c \ fstatx.c \ @@ -3848,12 +4233,12 @@ EXTRA_DIST = \ init.sh \ init_delete_module.h \ ipc.sh \ - ipc_msgbuf.expected \ ksysent.sed \ lstatx.c \ match.awk \ net.expected \ netlink_sock_diag-v.sh \ + nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ process_vm_readv_writev.c \ @@ -3861,6 +4246,8 @@ EXTRA_DIST = \ qual_fault-exit_group.expected \ qual_inject-error-signal.expected \ qual_inject-signal.expected \ + qualify_personality.sh \ + qualify_personality_empty.in \ quotactl.h \ regex.in \ rt_sigaction.awk \ @@ -3878,16 +4265,23 @@ EXTRA_DIST = \ strace-E.expected \ strace-T.expected \ strace-ff.expected \ + strace-k-demangle.expected \ strace-k-demangle.test \ + strace-k.expected \ 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_personality_32.in \ + trace_personality_64.in \ + trace_personality_x32.in \ + trace_personality_regex_32.in \ + trace_personality_regex_64.in \ + trace_personality_regex_x32.in \ trace_question.in \ trace_stat.in \ trace_stat_like.in \ @@ -4001,6 +4395,10 @@ aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES) @rm -f aio$(EXEEXT) $(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS) +aio_pgetevents$(EXEEXT): $(aio_pgetevents_OBJECTS) $(aio_pgetevents_DEPENDENCIES) $(EXTRA_aio_pgetevents_DEPENDENCIES) + @rm -f aio_pgetevents$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(aio_pgetevents_OBJECTS) $(aio_pgetevents_LDADD) $(LIBS) + alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES) @rm -f alarm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS) @@ -4033,6 +4431,30 @@ bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES) @rm -f bpf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS) +bpf-obj_get_info_by_fd$(EXEEXT): $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog-v$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-v$(EXEEXT): $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_LDADD) $(LIBS) + +bpf-success$(EXEEXT): $(bpf_success_OBJECTS) $(bpf_success_DEPENDENCIES) $(EXTRA_bpf_success_DEPENDENCIES) + @rm -f bpf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_OBJECTS) $(bpf_success_LDADD) $(LIBS) + +bpf-success-v$(EXEEXT): $(bpf_success_v_OBJECTS) $(bpf_success_v_DEPENDENCIES) $(EXTRA_bpf_success_v_DEPENDENCIES) + @rm -f bpf-success-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_v_OBJECTS) $(bpf_success_v_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) @@ -4201,6 +4623,18 @@ fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $ @rm -f fanotify_mark$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS) +fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) + @rm -f fanotify_mark-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) + +fanotify_mark-Xraw$(EXEEXT): $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_DEPENDENCIES) $(EXTRA_fanotify_mark_Xraw_DEPENDENCIES) + @rm -f fanotify_mark-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_LDADD) $(LIBS) + +fanotify_mark-Xverbose$(EXEEXT): $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_DEPENDENCIES) $(EXTRA_fanotify_mark_Xverbose_DEPENDENCIES) + @rm -f fanotify_mark-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_LDADD) $(LIBS) + fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES) @rm -f fchdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS) @@ -4481,6 +4915,10 @@ ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $ @rm -f ioctl_evdev-v$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS) +ioctl_inotify$(EXEEXT): $(ioctl_inotify_OBJECTS) $(ioctl_inotify_DEPENDENCIES) $(EXTRA_ioctl_inotify_DEPENDENCIES) + @rm -f ioctl_inotify$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_inotify_OBJECTS) $(ioctl_inotify_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) @@ -4505,6 +4943,18 @@ ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_io @rm -f ioctl_nsfs$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_LDADD) $(LIBS) +ioctl_perf$(EXEEXT): $(ioctl_perf_OBJECTS) $(ioctl_perf_DEPENDENCIES) $(EXTRA_ioctl_perf_DEPENDENCIES) + @rm -f ioctl_perf$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_OBJECTS) $(ioctl_perf_LDADD) $(LIBS) + +ioctl_perf-success$(EXEEXT): $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_DEPENDENCIES) $(EXTRA_ioctl_perf_success_DEPENDENCIES) + @rm -f ioctl_perf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_LDADD) $(LIBS) + +ioctl_ptp$(EXEEXT): $(ioctl_ptp_OBJECTS) $(ioctl_ptp_DEPENDENCIES) $(EXTRA_ioctl_ptp_DEPENDENCIES) + @rm -f ioctl_ptp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_ptp_OBJECTS) $(ioctl_ptp_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) @@ -4561,18 +5011,66 @@ ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEP @rm -f ipc_msg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS) +ipc_msg-Xabbrev$(EXEEXT): $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msg_Xabbrev_DEPENDENCIES) + @rm -f ipc_msg-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_LDADD) $(LIBS) + +ipc_msg-Xraw$(EXEEXT): $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_DEPENDENCIES) $(EXTRA_ipc_msg_Xraw_DEPENDENCIES) + @rm -f ipc_msg-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_LDADD) $(LIBS) + +ipc_msg-Xverbose$(EXEEXT): $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msg_Xverbose_DEPENDENCIES) + @rm -f ipc_msg-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_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_msgbuf-Xabbrev$(EXEEXT): $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xabbrev_DEPENDENCIES) + @rm -f ipc_msgbuf-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_LDADD) $(LIBS) + +ipc_msgbuf-Xraw$(EXEEXT): $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xraw_DEPENDENCIES) + @rm -f ipc_msgbuf-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_LDADD) $(LIBS) + +ipc_msgbuf-Xverbose$(EXEEXT): $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xverbose_DEPENDENCIES) + @rm -f ipc_msgbuf-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_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_sem-Xabbrev$(EXEEXT): $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_sem_Xabbrev_DEPENDENCIES) + @rm -f ipc_sem-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_LDADD) $(LIBS) + +ipc_sem-Xraw$(EXEEXT): $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_DEPENDENCIES) $(EXTRA_ipc_sem_Xraw_DEPENDENCIES) + @rm -f ipc_sem-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_LDADD) $(LIBS) + +ipc_sem-Xverbose$(EXEEXT): $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_DEPENDENCIES) $(EXTRA_ipc_sem_Xverbose_DEPENDENCIES) + @rm -f ipc_sem-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_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) +ipc_shm-Xabbrev$(EXEEXT): $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_shm_Xabbrev_DEPENDENCIES) + @rm -f ipc_shm-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_LDADD) $(LIBS) + +ipc_shm-Xraw$(EXEEXT): $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_DEPENDENCIES) $(EXTRA_ipc_shm_Xraw_DEPENDENCIES) + @rm -f ipc_shm-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_LDADD) $(LIBS) + +ipc_shm-Xverbose$(EXEEXT): $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_DEPENDENCIES) $(EXTRA_ipc_shm_Xverbose_DEPENDENCIES) + @rm -f ipc_shm-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_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) @@ -4601,6 +5099,18 @@ keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDE @rm -f keyctl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS) +keyctl-Xabbrev$(EXEEXT): $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_DEPENDENCIES) $(EXTRA_keyctl_Xabbrev_DEPENDENCIES) + @rm -f keyctl-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_LDADD) $(LIBS) + +keyctl-Xraw$(EXEEXT): $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_DEPENDENCIES) $(EXTRA_keyctl_Xraw_DEPENDENCIES) + @rm -f keyctl-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_LDADD) $(LIBS) + +keyctl-Xverbose$(EXEEXT): $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_DEPENDENCIES) $(EXTRA_keyctl_Xverbose_DEPENDENCIES) + @rm -f keyctl-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_LDADD) $(LIBS) + kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES) @rm -f kill$(EXEEXT) $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) @@ -4709,10 +5219,34 @@ mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES) @rm -f mmap$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS) +mmap-Xabbrev$(EXEEXT): $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_DEPENDENCIES) $(EXTRA_mmap_Xabbrev_DEPENDENCIES) + @rm -f mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_LDADD) $(LIBS) + +mmap-Xraw$(EXEEXT): $(mmap_Xraw_OBJECTS) $(mmap_Xraw_DEPENDENCIES) $(EXTRA_mmap_Xraw_DEPENDENCIES) + @rm -f mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xraw_OBJECTS) $(mmap_Xraw_LDADD) $(LIBS) + +mmap-Xverbose$(EXEEXT): $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_DEPENDENCIES) $(EXTRA_mmap_Xverbose_DEPENDENCIES) + @rm -f mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_LDADD) $(LIBS) + mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES) @rm -f mmap64$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS) +mmap64-Xabbrev$(EXEEXT): $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_DEPENDENCIES) $(EXTRA_mmap64_Xabbrev_DEPENDENCIES) + @rm -f mmap64-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_LDADD) $(LIBS) + +mmap64-Xraw$(EXEEXT): $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_DEPENDENCIES) $(EXTRA_mmap64_Xraw_DEPENDENCIES) + @rm -f mmap64-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_LDADD) $(LIBS) + +mmap64-Xverbose$(EXEEXT): $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_DEPENDENCIES) $(EXTRA_mmap64_Xverbose_DEPENDENCIES) + @rm -f mmap64-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_LDADD) $(LIBS) + mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES) @rm -f mmsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS) @@ -4737,6 +5271,18 @@ mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIE @rm -f mount$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS) +mount-Xabbrev$(EXEEXT): $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_DEPENDENCIES) $(EXTRA_mount_Xabbrev_DEPENDENCIES) + @rm -f mount-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_LDADD) $(LIBS) + +mount-Xraw$(EXEEXT): $(mount_Xraw_OBJECTS) $(mount_Xraw_DEPENDENCIES) $(EXTRA_mount_Xraw_DEPENDENCIES) + @rm -f mount-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xraw_OBJECTS) $(mount_Xraw_LDADD) $(LIBS) + +mount-Xverbose$(EXEEXT): $(mount_Xverbose_OBJECTS) $(mount_Xverbose_DEPENDENCIES) $(EXTRA_mount_Xverbose_DEPENDENCIES) + @rm -f mount-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xverbose_OBJECTS) $(mount_Xverbose_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) @@ -4941,10 +5487,18 @@ nlattr_ifinfomsg$(EXEEXT): $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_DEPEND @rm -f nlattr_ifinfomsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_LDADD) $(LIBS) +nlattr_ifla_af_spec$(EXEEXT): $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_DEPENDENCIES) $(EXTRA_nlattr_ifla_af_spec_DEPENDENCIES) + @rm -f nlattr_ifla_af_spec$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_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_linkinfo$(EXEEXT): $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_DEPENDENCIES) $(EXTRA_nlattr_ifla_linkinfo_DEPENDENCIES) + @rm -f nlattr_ifla_linkinfo$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_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) @@ -5045,6 +5599,18 @@ old_mmap-P$(EXEEXT): $(old_mmap_P_OBJECTS) $(old_mmap_P_DEPENDENCIES) $(EXTRA_ol @rm -f old_mmap-P$(EXEEXT) $(AM_V_CCLD)$(LINK) $(old_mmap_P_OBJECTS) $(old_mmap_P_LDADD) $(LIBS) +old_mmap-Xabbrev$(EXEEXT): $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_DEPENDENCIES) $(EXTRA_old_mmap_Xabbrev_DEPENDENCIES) + @rm -f old_mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_LDADD) $(LIBS) + +old_mmap-Xraw$(EXEEXT): $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_DEPENDENCIES) $(EXTRA_old_mmap_Xraw_DEPENDENCIES) + @rm -f old_mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_LDADD) $(LIBS) + +old_mmap-Xverbose$(EXEEXT): $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_DEPENDENCIES) $(EXTRA_old_mmap_Xverbose_DEPENDENCIES) + @rm -f old_mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_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) @@ -5113,6 +5679,18 @@ personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA @rm -f personality$(EXEEXT) $(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS) +personality-Xabbrev$(EXEEXT): $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_DEPENDENCIES) $(EXTRA_personality_Xabbrev_DEPENDENCIES) + @rm -f personality-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_LDADD) $(LIBS) + +personality-Xraw$(EXEEXT): $(personality_Xraw_OBJECTS) $(personality_Xraw_DEPENDENCIES) $(EXTRA_personality_Xraw_DEPENDENCIES) + @rm -f personality-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xraw_OBJECTS) $(personality_Xraw_LDADD) $(LIBS) + +personality-Xverbose$(EXEEXT): $(personality_Xverbose_OBJECTS) $(personality_Xverbose_DEPENDENCIES) $(EXTRA_personality_Xverbose_DEPENDENCIES) + @rm -f personality-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xverbose_OBJECTS) $(personality_Xverbose_LDADD) $(LIBS) + pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) @rm -f pipe$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS) @@ -5185,6 +5763,10 @@ prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPEND @rm -f prctl-securebits$(EXEEXT) $(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS) +prctl-spec-inject$(EXEEXT): $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_DEPENDENCIES) $(EXTRA_prctl_spec_inject_DEPENDENCIES) + @rm -f prctl-spec-inject$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_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) @@ -5669,10 +6251,34 @@ so_peercred$(EXEEXT): $(so_peercred_OBJECTS) $(so_peercred_DEPENDENCIES) $(EXTRA @rm -f so_peercred$(EXEEXT) $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS) +so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) + @rm -f so_peercred-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS) + +so_peercred-Xraw$(EXEEXT): $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_DEPENDENCIES) $(EXTRA_so_peercred_Xraw_DEPENDENCIES) + @rm -f so_peercred-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_LDADD) $(LIBS) + +so_peercred-Xverbose$(EXEEXT): $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_DEPENDENCIES) $(EXTRA_so_peercred_Xverbose_DEPENDENCIES) + @rm -f so_peercred-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_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) +sock_filter-v-Xabbrev$(EXEEXT): $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_DEPENDENCIES) $(EXTRA_sock_filter_v_Xabbrev_DEPENDENCIES) + @rm -f sock_filter-v-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_LDADD) $(LIBS) + +sock_filter-v-Xraw$(EXEEXT): $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_DEPENDENCIES) $(EXTRA_sock_filter_v_Xraw_DEPENDENCIES) + @rm -f sock_filter-v-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_LDADD) $(LIBS) + +sock_filter-v-Xverbose$(EXEEXT): $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_DEPENDENCIES) $(EXTRA_sock_filter_v_Xverbose_DEPENDENCIES) + @rm -f sock_filter-v-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_LDADD) $(LIBS) + socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES) @rm -f socketcall$(EXEEXT) $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS) @@ -5960,6 +6566,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjtimex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aio.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aio_pgetevents.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alarm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/answer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-f-p-cmd.Po@am__quote@ @@ -5967,6 +6574,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-cmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-p.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/block_reset_raise_run.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd-prog-v.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd-prog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd-v.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-success-v.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-success.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brk.Po@am__quote@ @@ -6009,6 +6622,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ @@ -6080,12 +6696,16 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_inotify.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_kvm_run.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop-nv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_mtd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_nsfs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_perf-success.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_perf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_ptp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_rtc-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_rtc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_scsi.Po@am__quote@ @@ -6099,9 +6719,21 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ip_mreq.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@ @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@ @@ -6109,6 +6741,9 @@ distclean-compile: @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-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ @@ -6162,13 +6797,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlock2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlockall.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64-mmap64.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg-silent.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg_name-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg_name.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modify_ldt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mq.Po@am__quote@ @@ -6221,7 +6865,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifaddrlblmsg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifaddrmsg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifinfomsg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_af_spec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_brport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_linkinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_port.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_xdp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_inet_diag_msg.Po@am__quote@ @@ -6246,6 +6892,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls-d.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-P.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-v-none.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldfstat.Po@am__quote@ @@ -6263,6 +6912,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open_nonverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open_unabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@ @@ -6282,6 +6934,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-seccomp-filter-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-seccomp-strict.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-securebits.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-spec-inject.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-tid_address.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-tsc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po@am__quote@ @@ -6402,7 +7055,13 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigsuspend.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_linger.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socketcall.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockopt-sol_netlink.Po@am__quote@ @@ -6929,6 +7588,48 @@ mmap64-mmap64.obj: mmap64.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(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` +mmap64_Xabbrev-mmap64-Xabbrev.o: mmap64-Xabbrev.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.o -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.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) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c + +mmap64_Xabbrev-mmap64-Xabbrev.obj: mmap64-Xabbrev.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.obj -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.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) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` + +mmap64_Xraw-mmap64-Xraw.o: mmap64-Xraw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.o -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.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) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c + +mmap64_Xraw-mmap64-Xraw.obj: mmap64-Xraw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.obj -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.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) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` + +mmap64_Xverbose-mmap64-Xverbose.o: mmap64-Xverbose.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.o -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.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) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c + +mmap64_Xverbose-mmap64-Xverbose.obj: mmap64-Xverbose.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.obj -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.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) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.c'; fi` + newfstatat-newfstatat.o: newfstatat.c @am__fastdepCC_TRUE@ $(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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po @@ -7480,6 +8181,9 @@ $(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/aio_pgetevents.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) $^ $@ @@ -7489,6 +8193,18 @@ $(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/bpf-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/bpf-obj_get_info_by_fd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog-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) $^ $@ @@ -7576,6 +8292,15 @@ $(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xverbose.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) $^ $@ @@ -7768,6 +8493,9 @@ $(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.i $(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_inotify.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) $^ $@ @@ -7786,6 +8514,12 @@ $(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ioctl_nsfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_perf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ioctl_ptp.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) $^ $@ @@ -7828,12 +8562,48 @@ $(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ipc_msg-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xverbose.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_sem-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xverbose.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)/ipc_shm-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xverbose.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) $^ $@ @@ -7852,6 +8622,15 @@ $(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/keyctl-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xverbose.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) $^ $@ @@ -7915,9 +8694,27 @@ $(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xverbose.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)/mmap64-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xverbose.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) $^ $@ @@ -7936,6 +8733,15 @@ $(srcdir)/modify_ldt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mount-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xverbose.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) $^ $@ @@ -8062,9 +8868,15 @@ $(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_te $(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/nlattr_ifla_af_spec.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_linkinfo.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) $^ $@ @@ -8137,6 +8949,15 @@ $(srcdir)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/old_mmap-v-none.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/old_mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xverbose.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) $^ $@ @@ -8179,6 +9000,15 @@ $(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcd $(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/personality-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xverbose.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) $^ $@ @@ -8509,9 +9339,27 @@ $(srcdir)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/so_peercred-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xverbose.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)/sock_filter-v-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xverbose.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) $^ $@ @@ -8593,6 +9441,24 @@ $(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/trace_personality_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_x32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_x32.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) $^ $@ diff --git a/tests-m32/add_key.c b/tests-m32/add_key.c index 999da035..9ad5e281 100644 --- a/tests-m32/add_key.c +++ b/tests-m32/add_key.c @@ -2,7 +2,7 @@ * Check decoding of add_key syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -102,7 +102,7 @@ main(void) { bogus_desc, NULL }, { ARG_STR("\25\26\27\30\31") }, { ARG_STR("desc") }, - { "overly long description", _STR("overly long ") "..." }, + { "overly long description", STRINGIFY("overly long ") "..." }, }; struct { @@ -113,10 +113,10 @@ main(void) { ARG_STR(NULL), 0 }, { bogus_payload + sizeof(unterminated3), NULL, (size_t) 0xdeadbeefbadc0dedULL }, - { bogus_payload, _STR(""), 0 }, - { bogus_payload, _STR("\16\17\20\21\22"), 5 }, + { bogus_payload, STRINGIFY(""), 0 }, + { bogus_payload, STRINGIFY("\16\17\20\21\22"), 5 }, { bogus_payload, NULL, 10 }, - { "overly long payload", _STR("overly long ") "...", 15 }, + { "overly long payload", STRINGIFY("overly long ") "...", 15 }, }; struct { diff --git a/tests-m32/aio.c b/tests-m32/aio.c index 335bb318..ea18700f 100644 --- a/tests-m32/aio.c +++ b/tests-m32/aio.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -335,7 +335,7 @@ main(void) "}, {aio_key=%u, aio_lio_opcode=IOCB_CMD_PWRITEV" ", aio_reqprio=%hd, aio_fildes=%d, aio_buf=%#" PRI__x64 ", aio_nbytes=%" PRI__u64 ", aio_offset=%" PRI__d64 - "}, {NULL}, {%#lx}, %p]) = %s\n", + "}, {NULL}, {%#lx}, ... /* %p */]) = %s\n", *ctx, 1057L, cbv2[0].aio_data, cbv2[0].aio_key, cbv2[0].aio_lio_opcode, cbv2[0].aio_fildes, diff --git a/tests-m32/aio_pgetevents.c b/tests-m32/aio_pgetevents.c new file mode 100644 index 00000000..ba5ac718 --- /dev/null +++ b/tests-m32/aio_pgetevents.c @@ -0,0 +1,190 @@ +/* + * Check decoding of io_pgetevents syscall. + * + * Copyright (c) 2015-2016 Dmitry V. Levin + * 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 "tests.h" +#include +#include +#include "scno.h" + +#if defined __NR_io_setup && defined __NR_io_pgetevents + +# include +# include +# include +# include + +# include "nsig.h" + +# include + +# if !HAVE_STRUCT___AIO_SIGSET +struct __aio_sigset { + sigset_t *sigmask; + size_t sigsetsize; +}; +# endif + +static const char *errstr; + +static long +sys_io_pgetevents(const kernel_ulong_t ctx_id, + const kernel_long_t min_nr, + const kernel_long_t nr, + const kernel_ulong_t events, + const kernel_ulong_t timeout, + const kernel_ulong_t usig) +{ + long rc = syscall(__NR_io_pgetevents, ctx_id, min_nr, nr, + events, timeout, usig); + errstr = sprintrc(rc); + return rc; +} + +int +main(void) +{ + static const kernel_ulong_t bogus_ctx = + (kernel_ulong_t) 0xface1e55deadbeefLL; + static const kernel_long_t bogus_min_nr = + (kernel_long_t) 0xca7faceddeadf00dLL; + static const kernel_long_t bogus_nr = + (kernel_long_t) 0xba5e1e505ca571e0LL; + static const size_t bogus_sigsetsize = + (size_t) 0xdeadbeefbadcaffeULL; + + const unsigned int sizeof_data0 = 4096; + const unsigned int sizeof_data1 = 8192; + void *data0 = tail_alloc(sizeof_data0); + void *data1 = tail_alloc(sizeof_data1); + + const struct iocb proto_cb[] = { + { + .aio_data = (unsigned long) 0xfeedface11111111ULL, + .aio_reqprio = 11, + .aio_buf = (unsigned long) data0, + .aio_offset = (unsigned long) 0xdeface1facefeedULL, + .aio_nbytes = sizeof_data0 + }, + { + .aio_data = (unsigned long) 0xfeedface22222222ULL, + .aio_reqprio = 22, + .aio_buf = (unsigned long) data1, + .aio_offset = (unsigned long) 0xdeface2cafef00dULL, + .aio_nbytes = sizeof_data1 + } + }; + const struct iocb *cb = tail_memdup(proto_cb, sizeof(proto_cb)); + + const long proto_cbs[] = { + (long) &cb[0], (long) &cb[1] + }; + const long *cbs = tail_memdup(proto_cbs, sizeof(proto_cbs)); + + TAIL_ALLOC_OBJECT_CONST_PTR(unsigned long, ctx); + *ctx = 0; + + const unsigned int nr = ARRAY_SIZE(proto_cb); + + const struct io_event *ev = tail_alloc(nr * sizeof(struct io_event)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts); + TAIL_ALLOC_OBJECT_CONST_PTR(struct __aio_sigset, ss); + TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, sigs); + + (void) close(0); + if (open("/dev/zero", O_RDONLY)) + perror_msg_and_skip("open: %s", "/dev/zero"); + + if (syscall(__NR_io_setup, nr, ctx)) + perror_msg_and_skip("io_setup"); + + if (syscall(__NR_io_submit, *ctx, nr, cbs) != (long) nr) + perror_msg_and_skip("io_submit"); + + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + (uintptr_t) (ev + 1), 0, 0); + printf("io_pgetevents(%#jx, %ld, %ld, %p, NULL, NULL) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, ev + 1, errstr); + + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + 0, (uintptr_t) (ts + 1), 0); + printf("io_pgetevents(%#jx, %ld, %ld, NULL, %p, NULL) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, ts + 1, errstr); + + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + 0, 0, (uintptr_t) (ss + 1)); + printf("io_pgetevents(%#jx, %ld, %ld, NULL, NULL, %p) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, ss + 1, errstr); + + ss->sigmask = sigs + 1; + ss->sigsetsize = bogus_sigsetsize; + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + 0, 0, (uintptr_t) ss); + printf("io_pgetevents(%#jx, %ld, %ld, NULL, NULL" + ", {sigmask=%p, sigsetsize=%zu}) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, sigs + 1, bogus_sigsetsize, errstr); + + ts->tv_sec = 0xdeadbeefU; + ts->tv_nsec = 0xfacefeedU; + ss->sigmask = sigs; + ss->sigsetsize = NSIG_BYTES; + sys_io_pgetevents(bogus_ctx, 0, 0, 0, (uintptr_t) ts, (uintptr_t) ss); + printf("io_pgetevents(%#jx, 0, 0, NULL" + ", {tv_sec=%lld, tv_nsec=%llu}" + ", {sigmask=~[], sigsetsize=%u}) = %s\n", + (uintmax_t) bogus_ctx, (long long) ts->tv_sec, + zero_extend_signed_to_ull(ts->tv_nsec), NSIG_BYTES, + errstr); + + sigemptyset(sigs); + sigaddset(sigs, SIGSYS); + + ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL; + ts->tv_nsec = (long) 0xbadc0dedfacefeedLL; + sys_io_pgetevents(bogus_ctx, 0, 0, 0, (uintptr_t) ts, (uintptr_t) ss); + printf("io_pgetevents(%#jx, 0, 0, NULL" + ", {tv_sec=%lld, tv_nsec=%llu}" + ", {sigmask=[SYS], sigsetsize=%u}) = %s\n", + (uintmax_t) bogus_ctx, (long long) ts->tv_sec, + zero_extend_signed_to_ull(ts->tv_nsec), NSIG_BYTES, + errstr); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("__NR_io_setup && __NR_io_pgetevents") + +#endif diff --git a/tests-m32/aio_pgetevents.gen.test b/tests-m32/aio_pgetevents.gen.test new file mode 100755 index 00000000..7ea3874d --- /dev/null +++ b/tests-m32/aio_pgetevents.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (aio_pgetevents -e trace=io_pgetevents); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=io_pgetevents diff --git a/tests-m32/bpf-obj_get_info_by_fd-prog-v.c b/tests-m32/bpf-obj_get_info_by_fd-prog-v.c new file mode 100644 index 00000000..d7e10b43 --- /dev/null +++ b/tests-m32/bpf-obj_get_info_by_fd-prog-v.c @@ -0,0 +1,3 @@ +#define CHECK_OBJ_PROG 1 +#define VERBOSE 1 +#include "bpf-obj_get_info_by_fd.c" diff --git a/tests-m32/bpf-obj_get_info_by_fd-prog-v.gen.test b/tests-m32/bpf-obj_get_info_by_fd-prog-v.gen.test new file mode 100755 index 00000000..fcaa1d8b --- /dev/null +++ b/tests-m32/bpf-obj_get_info_by_fd-prog-v.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd-prog-v -a20 -y -v -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -v -e trace=bpf diff --git a/tests-m32/bpf-obj_get_info_by_fd-prog.c b/tests-m32/bpf-obj_get_info_by_fd-prog.c new file mode 100644 index 00000000..19a5f75a --- /dev/null +++ b/tests-m32/bpf-obj_get_info_by_fd-prog.c @@ -0,0 +1,2 @@ +#define CHECK_OBJ_PROG 1 +#include "bpf-obj_get_info_by_fd.c" diff --git a/tests-m32/bpf-obj_get_info_by_fd-prog.gen.test b/tests-m32/bpf-obj_get_info_by_fd-prog.gen.test new file mode 100755 index 00000000..8cbd7c04 --- /dev/null +++ b/tests-m32/bpf-obj_get_info_by_fd-prog.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd-prog -a20 -y -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -e trace=bpf diff --git a/tests-m32/bpf-obj_get_info_by_fd-v.c b/tests-m32/bpf-obj_get_info_by_fd-v.c new file mode 100644 index 00000000..2debc5f1 --- /dev/null +++ b/tests-m32/bpf-obj_get_info_by_fd-v.c @@ -0,0 +1,2 @@ +#define VERBOSE 1 +#include "bpf-obj_get_info_by_fd.c" diff --git a/tests-m32/bpf-obj_get_info_by_fd-v.gen.test b/tests-m32/bpf-obj_get_info_by_fd-v.gen.test new file mode 100755 index 00000000..255d91e9 --- /dev/null +++ b/tests-m32/bpf-obj_get_info_by_fd-v.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd-v -a20 -y -v -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -v -e trace=bpf diff --git a/tests-m32/bpf-obj_get_info_by_fd.c b/tests-m32/bpf-obj_get_info_by_fd.c new file mode 100644 index 00000000..67b5122a --- /dev/null +++ b/tests-m32/bpf-obj_get_info_by_fd.c @@ -0,0 +1,499 @@ +/* + * Check bpf(BPF_OBJ_GET_INFO_BY_FD) decoding. + * + * 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" + +#ifndef CHECK_OBJ_PROG +# define CHECK_OBJ_PROG 0 +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "print_fields.h" +#include "scno.h" + +#ifdef HAVE_LINUX_BPF_H +# include +#endif + +#include "bpf_attr.h" + +#include "xlat.h" +#include "xlat/bpf_map_flags.h" +#include "xlat/bpf_map_types.h" +#include "xlat/bpf_prog_types.h" + +#define XLAT_MACROS_ONLY +#include "xlat/bpf_commands.h" +#include "xlat/bpf_op_alu.h" +#include "xlat/bpf_op_jmp.h" +#include "xlat/bpf_size.h" +#include "xlat/bpf_src.h" +#include "xlat/ebpf_class.h" +#include "xlat/ebpf_mode.h" +#include "xlat/ebpf_op_alu.h" +#include "xlat/ebpf_regs.h" +#include "xlat/ebpf_size.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 + +static const char *errstr; + +static long +sys_bpf(kernel_ulong_t cmd, void *attr, kernel_ulong_t size) +{ + long rc = syscall(__NR_bpf, cmd, attr, size); + errstr = sprintrc(rc); + return rc; +} + +static void +print_map_create(void *attr_void, size_t size, long rc) +{ + /* struct BPF_MAP_CREATE_struct *attr = attr_void; */ + + printf("bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_ARRAY, key_size=4" + ", value_size=8, max_entries=1"); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_flags)) + printf(", map_flags=0"); + if (size > offsetof(struct BPF_MAP_CREATE_struct, inner_map_fd)) + printf(", inner_map_fd=0"); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_name)) + printf(", map_name=\"test_map\""); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_ifindex)) + printf(", map_ifindex=0"); + printf("}, %zu) = ", size); + if (rc >= 0) + printf("%ld\n", rc); + else + puts(errstr); +} + +#if CHECK_OBJ_PROG +static struct bpf_insn socket_prog[] = { + { /* 0 */ + .code = BPF_ALU64 | BPF_K | BPF_MOV, + .dst_reg = BPF_REG_1, + .imm = 0, + }, + { /* 1 */ + .code = BPF_STX | BPF_W | BPF_MEM, + .dst_reg = BPF_REG_10, + .src_reg = BPF_REG_1, + .off = -4, + }, + { /* 2 */ + .code = BPF_ALU64 | BPF_X | BPF_MOV, + .dst_reg = BPF_REG_2, + .src_reg = BPF_REG_10, + }, + { /* 3 */ + .code = BPF_ALU64 | BPF_K | BPF_ADD, + .dst_reg = BPF_REG_2, + .imm = -4, + }, + { /* 4 */ + .code = BPF_LD | BPF_DW | BPF_IMM, + .dst_reg = BPF_REG_1, + .src_reg = 1 /* BPF_PSEUDO_MAP_FD */, + .imm = 0, /* to be set to map fd */ + }, + { /* 5 */ + .imm = 0, + }, + { /* 6 */ + .code = BPF_JMP | BPF_K | BPF_CALL, + .imm = 0x1, /* BPF_FUNC_map_lookup_elem */ + }, + { /* 7 */ + .code = BPF_ALU64 | BPF_K | BPF_MOV, + .dst_reg = BPF_REG_0, + .imm = 0, + }, + { /* 8 */ + .code = BPF_JMP | BPF_K | BPF_EXIT, + }, +}; + +# if VERBOSE +static const char *socket_prog_fmt = + "[{code=BPF_ALU64|BPF_K|BPF_MOV" + ", dst_reg=BPF_REG_1, src_reg=BPF_REG_0, off=0, imm=0}" + ", {code=BPF_STX|BPF_W|BPF_MEM" + ", dst_reg=BPF_REG_10, src_reg=BPF_REG_1, off=-4, imm=0}" + ", {code=BPF_ALU64|BPF_X|BPF_MOV" + ", dst_reg=BPF_REG_2, src_reg=BPF_REG_10, off=0, imm=0}" + ", {code=BPF_ALU64|BPF_K|BPF_ADD" + ", dst_reg=BPF_REG_2, src_reg=BPF_REG_0, off=0, imm=0xfffffffc}" + ", {code=BPF_LD|BPF_DW|BPF_IMM" + ", dst_reg=BPF_REG_1, src_reg=BPF_REG_1, off=0, imm=%#x}" + ", {code=BPF_LD|BPF_W|BPF_IMM" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0}" + ", {code=BPF_JMP|BPF_K|BPF_CALL" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0x1}" + ", {code=BPF_ALU64|BPF_K|BPF_MOV" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0}" + ", {code=BPF_JMP|BPF_K|BPF_EXIT" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0}" + "]"; +# endif /* VERBOSE */ + +static const char *license = "BSD"; +static char log_buf[4096]; + +static void +print_prog_load(void *attr_void, size_t size, long rc) +{ + printf("bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER" + ", insn_cnt=%zu, insns=", ARRAY_SIZE(socket_prog)); +# if VERBOSE + printf(socket_prog_fmt, socket_prog[4].imm); +# else + printf("%p", socket_prog); +# endif + if (size > offsetof(struct BPF_PROG_LOAD_struct, license)) + printf(", license=\"BSD\""); + if (size > offsetof(struct BPF_PROG_LOAD_struct, log_buf)) + printf(", log_level=42, log_size=%zu, log_buf=\"\"", + sizeof(log_buf)); + if (size > offsetof(struct BPF_PROG_LOAD_struct, kern_version)) + printf(", kern_version=KERNEL_VERSION(57005, 192, 222)"); + if (size > offsetof(struct BPF_PROG_LOAD_struct, prog_flags)) + printf(", prog_flags=0"); + if (size > offsetof(struct BPF_PROG_LOAD_struct, prog_name)) + printf(", prog_name=\"test_prog\""); + if (size > offsetof(struct BPF_PROG_LOAD_struct, prog_ifindex)) + printf(", prog_ifindex=0"); + if (size > offsetof(struct BPF_PROG_LOAD_struct, expected_attach_type)) + printf(", expected_attach_type=BPF_CGROUP_INET_INGRESS"); + printf("}, %zu) = ", size); + if (rc >= 0) + printf("%ld\n", rc); + else + puts(errstr); +} +#endif /* CHECK_OBJ_PROG */ + +static long +try_bpf(kernel_ulong_t cmd, void (*printer)(void *attr, size_t size, long rc), + void *attr, size_t **sizes) +{ + long rc; + + for (rc = -1; **sizes; (*sizes)++) { + rc = sys_bpf(cmd, attr, **sizes); + printer(attr, **sizes, rc); + + if (rc >= 0) + break; + } + + return rc; +} + +int +main(void) +{ + struct BPF_MAP_CREATE_struct bpf_map_create_attr = { + .map_type = BPF_MAP_TYPE_ARRAY, + .key_size = 4, + .value_size = 8, + .max_entries = 1, + .map_name = "test_map", + }; + size_t bpf_map_create_attr_sizes[] = { + sizeof(bpf_map_create_attr), + offsetofend(struct BPF_MAP_CREATE_struct, max_entries), + 0, + }; + +#if CHECK_OBJ_PROG + struct BPF_PROG_LOAD_struct bpf_prog_load_attr = { + .prog_type = BPF_PROG_TYPE_SOCKET_FILTER, + .insn_cnt = ARRAY_SIZE(socket_prog), + .insns = (uintptr_t) socket_prog, + .license = (uintptr_t) license, + .log_level = 42, + .log_size = sizeof(log_buf), + .log_buf = (uintptr_t) log_buf, + .kern_version = 0xdeadc0de, + .prog_name = "test_prog", + }; + size_t bpf_prog_load_attr_sizes[] = { + sizeof(bpf_prog_load_attr), + offsetofend(struct BPF_PROG_LOAD_struct, prog_name), + offsetofend(struct BPF_PROG_LOAD_struct, prog_flags), + offsetofend(struct BPF_PROG_LOAD_struct, kern_version), + offsetofend(struct BPF_PROG_LOAD_struct, log_buf), + offsetofend(struct BPF_PROG_LOAD_struct, license), + offsetofend(struct BPF_PROG_LOAD_struct, insns), + 0, + }; +#endif /* CHECK_OBJ_PROG */ + + size_t *bpf_map_create_attr_size = bpf_map_create_attr_sizes; + int map_fd = try_bpf(BPF_MAP_CREATE, print_map_create, + &bpf_map_create_attr, &bpf_map_create_attr_size); + if (map_fd < 0) + perror_msg_and_skip("BPF_MAP_CREATE failed"); + +#if CHECK_OBJ_PROG + socket_prog[4].imm = map_fd; + + size_t *bpf_prog_load_attr_size = bpf_prog_load_attr_sizes; + int prog_fd = try_bpf(BPF_PROG_LOAD, print_prog_load, + &bpf_prog_load_attr, &bpf_prog_load_attr_size); + if (prog_fd < 0) + perror_msg_and_skip("BPF_PROG_LOAD failed (log: \"%s\")", + log_buf); +#endif /* CHECK_OBJ_PROG */ + + /* + * This has to be a macro, otherwise the compiler complains that + * initializer element is not constant. + */ + #define MAP_INFO_SZ (sizeof(*map_info) + 64) + struct bpf_map_info_struct *map_info = calloc(1, MAP_INFO_SZ); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_map_get_info_attr = { + .bpf_fd = map_fd, + .info_len = MAP_INFO_SZ, + .info = (uintptr_t) map_info, + }; + + int ret = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_map_get_info_attr, + sizeof(bpf_map_get_info_attr)); + if (ret < 0) + perror_msg_and_skip("BPF_OBJ_GET_INFO_BY_FD map failed"); + + printf("bpf(BPF_OBJ_GET_INFO_BY_FD" + ", {info={bpf_fd=%d, info_len=%zu", + map_fd, MAP_INFO_SZ); + if (bpf_map_get_info_attr.info_len != MAP_INFO_SZ) + printf(" => %u", bpf_map_get_info_attr.info_len); + + printf(", info="); +#if VERBOSE + printf("{type="); + printxval(bpf_map_types, map_info->type, "BPF_MAP_TYPE_???"); + PRINT_FIELD_U(", ", *map_info, id); + PRINT_FIELD_U(", ", *map_info, key_size); + PRINT_FIELD_U(", ", *map_info, value_size); + PRINT_FIELD_U(", ", *map_info, max_entries); + printf(", map_flags="); + printflags(bpf_map_flags, map_info->map_flags, "BPF_F_???"); + + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, name)) { + printf(", name="); + print_quoted_cstring(map_info->name, sizeof(map_info->name)); + } + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, ifindex)) + printf(", ifindex=%u", map_info->ifindex); + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, netns_dev)) + printf(", netns_dev=makedev(%u, %u)", + major(map_info->netns_dev), minor(map_info->netns_dev)); + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, map_info->netns_ino); + printf("}"); +#else /* !VERBOSE */ + printf("%p", map_info); +#endif /* VERBOSE */ + printf("}}, %zu) = %s\n", sizeof(bpf_map_get_info_attr), errstr); + +#if CHECK_OBJ_PROG + /* + * This has to be a macro, otherwise the compiler complains that + * initializer element is not constant. + */ + #define PROG_INFO_SZ (sizeof(*prog_info) + 64) + struct bpf_prog_info_struct *prog_info = calloc(1, PROG_INFO_SZ); + struct bpf_insn *xlated_prog = tail_alloc(sizeof(*xlated_prog) * 42); + uint32_t *map_ids = tail_alloc(sizeof(*map_ids) * 2); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_prog_get_info_attr = { + .bpf_fd = prog_fd, + .info_len = PROG_INFO_SZ, + .info = (uintptr_t) prog_info, + }; + size_t old_prog_info_len = PROG_INFO_SZ; + + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; + switch (i) { + case 1: + prog_info->xlated_prog_insns = + (uintptr_t) (xlated_prog + 42); + prog_info->xlated_prog_len = 336; + prog_info->map_ids = (uintptr_t) (map_ids + 2); + prog_info->nr_map_ids = 2; + break; + case 2: + prog_info->xlated_prog_insns = (uintptr_t) xlated_prog; + /* TODO: check xlated_prog output */ + prog_info->xlated_prog_len = 0; + prog_info->map_ids = (uintptr_t) map_ids; + prog_info->nr_map_ids = 0; + break; + case 3: + prog_info->xlated_prog_insns = (uintptr_t) xlated_prog; + prog_info->xlated_prog_len = 0; + prog_info->map_ids = (uintptr_t) map_ids; + prog_info->nr_map_ids = 2; + break; + } + + ret = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_prog_get_info_attr, + sizeof(bpf_prog_get_info_attr)); + if (i != 1 && ret < 0) + perror_msg_and_skip("BPF_OBJ_GET_INFO_BY_FD" + " prog %u failed", i); + + printf("bpf(BPF_OBJ_GET_INFO_BY_FD" + ", {info={bpf_fd=%d, info_len=%zu", + prog_fd, old_prog_info_len); + if (!i && bpf_prog_get_info_attr.info_len != PROG_INFO_SZ) + printf(" => %u", bpf_prog_get_info_attr.info_len); + old_prog_info_len = bpf_prog_get_info_attr.info_len; + + printf(", info="); +# if VERBOSE + printf("{type="); + printxval(bpf_prog_types, prog_info->type, "BPF_PROG_TYPE_???"); + PRINT_FIELD_U(", ", *prog_info, id); + printf(", tag="); + print_quoted_hex(prog_info->tag, sizeof(prog_info->tag)); + printf(", jited_prog_len=0"); + if (prog_info->jited_prog_len) + printf(" => %u", prog_info->jited_prog_len); + printf(", jited_prog_insns=NULL"); + switch (i) { + case 0: + printf(", xlated_prog_len=0"); + if (prog_info->xlated_prog_len) + printf(" => %u", prog_info->xlated_prog_len); + printf(", xlated_prog_insns=NULL"); + break; + case 1: + printf(", xlated_prog_len=336"); + if (prog_info->xlated_prog_len != 336) + printf(" => %u", prog_info->xlated_prog_len); + if (prog_info->xlated_prog_len) + printf(", xlated_prog_insns=%p", xlated_prog + 42); + else + printf(", xlated_prog_insns=[]"); + break; + case 2: + case 3: + printf(", xlated_prog_len=0"); + if (prog_info->xlated_prog_len) + printf(" => %u", prog_info->xlated_prog_len); + printf(", xlated_prog_insns=[]"); + break; + } + + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, load_time)) + printf(", load_time=%" PRIu64, prog_info->load_time); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, created_by_uid)) + printf(", created_by_uid=%u", + prog_info->created_by_uid); + + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, map_ids)) { + switch (i) { + case 0: + printf(", nr_map_ids=0"); + if (prog_info->nr_map_ids) + printf(" => 1"); + printf(", map_ids=NULL"); + break; + case 1: + printf(", nr_map_ids=2, map_ids=%p", + map_ids + 2); + break; + case 2: + printf(", nr_map_ids=0"); + if (prog_info->nr_map_ids) + printf(" => 1"); + printf(", map_ids=[]"); + break; + case 3: + printf(", nr_map_ids=2"); + if (prog_info->nr_map_ids != 2) + printf(" => 1"); + printf(", map_ids=[%u]", map_info->id); + break; + } + } + + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, name)) + printf(", name=\"test_prog\""); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, ifindex)) + printf(", ifindex=%u", prog_info->ifindex); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, netns_dev)) + printf(", netns_dev=makedev(%u, %u)", + major(prog_info->netns_dev), + minor(prog_info->netns_dev)); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, prog_info->netns_ino); + + printf("}"); +# else /* !VERBOSE */ + printf("%p", prog_info); +# endif /* VERBOSE */ + printf("}}, %zu) = %s\n", + sizeof(bpf_prog_get_info_attr), errstr); + } +#endif /* CHECK_OBJ_PROG */ + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-m32/bpf-obj_get_info_by_fd.gen.test b/tests-m32/bpf-obj_get_info_by_fd.gen.test new file mode 100755 index 00000000..0efa59a4 --- /dev/null +++ b/tests-m32/bpf-obj_get_info_by_fd.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd -a20 -y -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -e trace=bpf diff --git a/tests-m32/bpf-success-v.c b/tests-m32/bpf-success-v.c new file mode 100644 index 00000000..48c2a16d --- /dev/null +++ b/tests-m32/bpf-success-v.c @@ -0,0 +1,2 @@ +#define INJECT_RETVAL 42 +#include "bpf-v.c" diff --git a/tests-m32/bpf-success-v.test b/tests-m32/bpf-success-v.test new file mode 100755 index 00000000..819afbbe --- /dev/null +++ b/tests-m32/bpf-success-v.test @@ -0,0 +1,6 @@ +#!/bin/sh -efu + +. "${srcdir=.}/scno_tampering.sh" + +run_strace -a20 -v -e trace=bpf -e inject=bpf:retval=42 ../bpf-success-v > "$EXP" +match_diff "$LOG" "$EXP" diff --git a/tests-m32/bpf-success.c b/tests-m32/bpf-success.c new file mode 100644 index 00000000..06f46956 --- /dev/null +++ b/tests-m32/bpf-success.c @@ -0,0 +1,2 @@ +#define INJECT_RETVAL 42 +#include "bpf.c" diff --git a/tests-m32/bpf-success.test b/tests-m32/bpf-success.test new file mode 100755 index 00000000..3cdfd35a --- /dev/null +++ b/tests-m32/bpf-success.test @@ -0,0 +1,6 @@ +#!/bin/sh -efu + +. "${srcdir=.}/scno_tampering.sh" + +run_strace -a20 -e trace=bpf -e inject=bpf:retval=42 ../bpf-success > "$EXP" +match_diff "$LOG" "$EXP" diff --git a/tests-m32/bpf.c b/tests-m32/bpf.c index 72d7e8e5..15ce7132 100644 --- a/tests-m32/bpf.c +++ b/tests-m32/bpf.c @@ -49,6 +49,19 @@ #include "xlat.h" #include "xlat/bpf_commands.h" +#if defined MPERS_IS_m32 || SIZEOF_KERNEL_LONG_T > 4 +# define BIG_ADDR(addr64_, addr32_) addr64_ +# define BIG_ADDR_MAYBE(addr_) +#elif defined __arm__ || defined __i386__ || defined __mips__ \ + || defined __powerpc__ || defined __riscv__ || defined __s390__ \ + || defined __sparc__ || defined __tile__ +# define BIG_ADDR(addr64_, addr32_) addr64_ " or " addr32_ +# define BIG_ADDR_MAYBE(addr_) addr_ " or " +#else +# define BIG_ADDR(addr64_, addr32_) addr32_ +# define BIG_ADDR_MAYBE(addr_) +#endif + #ifndef HAVE_STRUCT_BPF_INSN struct bpf_insn { uint8_t code; @@ -76,6 +89,8 @@ union bpf_attr_data { 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); + BPF_ATTR_DATA_FIELD(BPF_PROG_QUERY); + BPF_ATTR_DATA_FIELD(BPF_RAW_TRACEPOINT_OPEN); char char_data[256]; }; @@ -105,7 +120,20 @@ static long sys_bpf(kernel_ulong_t cmd, kernel_ulong_t attr, kernel_ulong_t size) { long rc = syscall(__NR_bpf, cmd, attr, size); + errstr = sprintrc(rc); + +#ifdef INJECT_RETVAL + if (rc != INJECT_RETVAL) + error_msg_and_fail("Got a return value of %ld != %d", + rc, INJECT_RETVAL); + + static char inj_errstr[4096]; + + snprintf(inj_errstr, sizeof(inj_errstr), "%s (INJECTED)", errstr); + errstr = inj_errstr; +#endif + return rc; } @@ -232,36 +260,173 @@ test_bpf(const struct bpf_check *cmd_check) cmd_check->cmd_str, addr, page_size + 1, errstr); } -static const struct bpf_attr_check BPF_MAP_CREATE_checks[] = { +static void +init_BPF_MAP_CREATE_attr7(struct bpf_attr_check *check) +{ + struct BPF_MAP_CREATE_struct *attr = &check->data.BPF_MAP_CREATE_data; + attr->map_ifindex = ifindex_lo(); +} + +static 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" + ", max_entries=0" }, - { + { /* 1 */ .data = { .BPF_MAP_CREATE_data = { - .map_type = 1, + .map_type = 16, .key_size = 4, .value_size = 8, .max_entries = 256, - .map_flags = 7, + .map_flags = 63, .inner_map_fd = -1, - .numa_node = 42 + .numa_node = 3141592653, + .map_name = "0123456789abcde", } }, - .size = offsetofend(struct BPF_MAP_CREATE_struct, numa_node), - .str = "map_type=BPF_MAP_TYPE_HASH, key_size=4" + .size = offsetof(struct BPF_MAP_CREATE_struct, map_name) + 8, + .str = "map_type=BPF_MAP_TYPE_CPUMAP, 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" - } + "|BPF_F_NUMA_NODE|BPF_F_RDONLY|BPF_F_WRONLY" + "|BPF_F_STACK_BUILD_ID" + ", inner_map_fd=-1" + ", numa_node=3141592653" + ", map_name=\"0123456\"...", + + }, + { /* 2 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 17, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xffffffc0, + .inner_map_fd = 2718281828, + .numa_node = -1, + .map_name = "", + .map_ifindex = 3141592653, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_ifindex), + .str = "map_type=0x11 /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=0xffffffc0 /* BPF_F_??? */" + ", inner_map_fd=-1576685468" + ", map_name=\"\", map_ifindex=3141592653", + + }, + { /* 3 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_flags), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80", + }, + { /* 4 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, inner_map_fd), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468", + }, + { /* 5 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, numa_node), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468" + ", numa_node=4294967295 /* NUMA_NO_NODE */", + }, + { /* 6 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + .map_name = "fedcba9876543210", + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_name), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468" + ", numa_node=4294967295 /* NUMA_NO_NODE */" + ", map_name=\"fedcba987654321\"...", + }, + { /* 7 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + .map_name = "0123456789abcde", + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_ifindex), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468" + ", numa_node=4294967295 /* NUMA_NO_NODE */" + ", map_name=\"0123456789abcde\"" + ", map_ifindex=" IFINDEX_LO_STR, + .init_fn = init_BPF_MAP_CREATE_attr7, + }, }; 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" + .str = "map_fd=-1, key=NULL, value=NULL" }, { .data = { .BPF_MAP_LOOKUP_ELEM_data = { @@ -278,7 +443,7 @@ 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" + .str = "map_fd=-1, key=NULL, value=NULL, flags=BPF_ANY" }, { .data = { .BPF_MAP_UPDATE_ELEM_data = { @@ -297,7 +462,7 @@ 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" + .str = "map_fd=-1, key=NULL" }, { .data = { .BPF_MAP_DELETE_ELEM_data = { @@ -313,7 +478,7 @@ 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" + .str = "map_fd=-1, key=NULL, next_key=NULL" }, { .data = { .BPF_MAP_GET_NEXT_KEY_data = { @@ -327,30 +492,96 @@ static const struct bpf_attr_check BPF_MAP_GET_NEXT_KEY_checks[] = { }; static const struct bpf_insn insns[] = { - { .code = 0x95 } + { + .code = 0x95, + .dst_reg = 10, + .src_reg = 11, + .off = 0xdead, + .imm = 0xbadc0ded, + }, }; static const char license[] = "GPL"; -static char log_buf[4096]; static const char pathname[] = "/sys/fs/bpf/foo/bar"; +static char *log_buf; +/* + * This has to be a macro, otherwise the compiler complains that + * initializer element is not constant. + */ +#define log_buf_size 4096U + +static inline char * +get_log_buf(void) +{ + if (!log_buf) + log_buf = tail_alloc(log_buf_size); + return log_buf; +} + +static inline char * +get_log_buf_tail(void) +{ + return get_log_buf() + log_buf_size; +} + +#if VERBOSE +# define INSNS_FMT \ + "[{code=BPF_JMP|BPF_K|BPF_EXIT, dst_reg=BPF_REG_10" \ + ", src_reg=0xb /* BPF_REG_??? */, off=%d, imm=%#x}]" +# define INSNS_ARG insns[0].off, insns[0].imm +#else +# define INSNS_FMT "%p" +# define INSNS_ARG insns +#endif + static void -init_BPF_PROG_LOAD_attr(struct bpf_attr_check *check) +init_BPF_PROG_LOAD_attr3(struct bpf_attr_check *check) { 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; + attr->log_buf = (uintptr_t) get_log_buf_tail(); } static void -print_BPF_PROG_LOAD_attr(const struct bpf_attr_check *check, unsigned long addr) +print_BPF_PROG_LOAD_attr3(const struct bpf_attr_check *check, unsigned long addr) { - printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=%u, insns=%p" - ", license=\"%s\", log_level=42, log_size=4096, log_buf=%p" + printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=%u" + ", insns=" INSNS_FMT ", license=\"%s\", log_level=2718281828" + ", log_size=%u, log_buf=%p" ", kern_version=KERNEL_VERSION(51966, 240, 13)" - ", prog_flags=BPF_F_STRICT_ALIGNMENT", - (unsigned int) ARRAY_SIZE(insns), insns, - license, log_buf); + ", prog_flags=0x2 /* BPF_F_??? */" + ", prog_name=\"0123456789abcde\"..., prog_ifindex=3203399405", + (unsigned int) ARRAY_SIZE(insns), INSNS_ARG, license, + log_buf_size, get_log_buf_tail()); +} + +static void +init_BPF_PROG_LOAD_attr4(struct bpf_attr_check *check) +{ + 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) get_log_buf(); + attr->prog_ifindex = ifindex_lo(); + + strncpy(log_buf, "log test", 9); +} + +static void +print_BPF_PROG_LOAD_attr4(const struct bpf_attr_check *check, unsigned long addr) +{ + printf("prog_type=BPF_PROG_TYPE_UNSPEC, insn_cnt=%u, insns=" INSNS_FMT + ", license=\"%s\", log_level=2718281828, log_size=4" + ", log_buf=\"log \"..." + ", kern_version=KERNEL_VERSION(51966, 240, 13)" + ", prog_flags=BPF_F_STRICT_ALIGNMENT|0x2" + ", prog_name=\"0123456789abcde\"..., prog_ifindex=%s" + ", expected_attach_type=BPF_CGROUP_INET6_BIND", + (unsigned int) ARRAY_SIZE(insns), INSNS_ARG, + license, IFINDEX_LO_STR); } static struct bpf_attr_check BPF_PROG_LOAD_checks[] = { @@ -358,21 +589,82 @@ 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" + ", insn_cnt=0, insns=NULL, license=NULL" }, - { + { /* 1 */ .data = { .BPF_PROG_LOAD_data = { - .prog_type = 1, - .insn_cnt = ARRAY_SIZE(insns), + .prog_type = 18, + .insn_cnt = 0xbadc0ded, + .insns = 0, + .license = 0, .log_level = 42, - .log_size = sizeof(log_buf), + .log_size = 3141592653U, + .log_buf = 0, .kern_version = 0xcafef00d, - .prog_flags = 1 + .prog_flags = 0, } }, .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_flags), - .init_fn = init_BPF_PROG_LOAD_attr, - .print_fn = print_BPF_PROG_LOAD_attr - } + .str = "prog_type=0x12 /* BPF_PROG_TYPE_??? */" + ", insn_cnt=3134983661, insns=NULL, license=NULL" + ", log_level=42, log_size=3141592653, log_buf=NULL" + ", kern_version=KERNEL_VERSION(51966, 240, 13)" + ", prog_flags=0", + }, + { /* 2 */ + .data = { .BPF_PROG_LOAD_data = { + .prog_type = 17, + .insn_cnt = 0xbadc0ded, + .insns = 0xffffffff00000000, + .license = 0xffffffff00000000, + .log_level = 2718281828U, + .log_size = log_buf_size, + .log_buf = 0xffffffff00000000, + .kern_version = 0xcafef00d, + .prog_flags = 1, + .prog_name = "fedcba987654321", + } }, + .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_name), + .str = "prog_type=BPF_PROG_TYPE_RAW_TRACEPOINT" + ", insn_cnt=3134983661" + ", insns=" BIG_ADDR("0xffffffff00000000", "NULL") + ", license=" BIG_ADDR("0xffffffff00000000", "NULL") + ", log_level=2718281828, log_size=4096" + ", log_buf=" BIG_ADDR("0xffffffff00000000", "NULL") + ", kern_version=KERNEL_VERSION(51966, 240, 13)" + ", prog_flags=BPF_F_STRICT_ALIGNMENT" + ", prog_name=\"fedcba987654321\"", + }, + { /* 3 */ + .data = { .BPF_PROG_LOAD_data = { + .prog_type = 1, + .insn_cnt = ARRAY_SIZE(insns), + .log_level = 2718281828U, + .log_size = log_buf_size, + .kern_version = 0xcafef00d, + .prog_flags = 2, + .prog_name = "0123456789abcdef", + .prog_ifindex = 0xbeeffeed, + } }, + .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_ifindex), + .init_fn = init_BPF_PROG_LOAD_attr3, + .print_fn = print_BPF_PROG_LOAD_attr3 + }, + { /* 4 */ + .data = { .BPF_PROG_LOAD_data = { + .prog_type = 0, + .insn_cnt = ARRAY_SIZE(insns), + .log_level = 2718281828U, + .log_size = 4, + .kern_version = 0xcafef00d, + .prog_flags = 3, + .prog_name = "0123456789abcdef", + .expected_attach_type = 9, + } }, + .size = offsetofend(struct BPF_PROG_LOAD_struct, + expected_attach_type), + .init_fn = init_BPF_PROG_LOAD_attr4, + .print_fn = print_BPF_PROG_LOAD_attr4 + }, }; static void @@ -393,16 +685,7 @@ static struct bpf_attr_check BPF_OBJ_PIN_checks[] = { .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 + .str = "pathname=" BIG_ADDR("0xffffffffffffffff", "0xffffffff") ", bpf_fd=0", }, { @@ -468,7 +751,7 @@ 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" + ", data_size_out=0, data_in=NULL, data_out=NULL" ", repeat=0, duration=0}" }, { @@ -594,7 +877,7 @@ 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}" + .str = "info={bpf_fd=-1, info_len=0, info=NULL}" }, { .data = { .BPF_OBJ_GET_INFO_BY_FD_data = { @@ -608,6 +891,194 @@ static const struct bpf_attr_check BPF_OBJ_GET_INFO_BY_FD_checks[] = { } }; + +static uint32_t prog_load_ids[] = { 0, 1, 0xffffffff, 2718281828, }; +uint32_t *prog_load_ids_ptr; + +static void +init_BPF_PROG_QUERY_attr4(struct bpf_attr_check *check) +{ + struct BPF_PROG_QUERY_struct *attr = &check->data.BPF_PROG_QUERY_data; + + if (!prog_load_ids_ptr) + prog_load_ids_ptr = tail_memdup(prog_load_ids, + sizeof(prog_load_ids)); + + attr->prog_ids = (uintptr_t) prog_load_ids_ptr; + attr->prog_cnt = ARRAY_SIZE(prog_load_ids); +} + +static void +print_BPF_PROG_QUERY_attr4(const struct bpf_attr_check *check, unsigned long addr) +{ + printf("query={target_fd=-1153374643" + ", attach_type=0xfeedface /* BPF_??? */" + ", query_flags=BPF_F_QUERY_EFFECTIVE|0xdeadf00c" + ", attach_flags=BPF_F_ALLOW_MULTI|0xbeefcafc" +#if defined(INJECT_RETVAL) && INJECT_RETVAL > 0 + ", prog_ids=[0, 1, 4294967295, 2718281828], prog_cnt=4}" +#else + ", prog_ids=%p, prog_cnt=4}", prog_load_ids_ptr +#endif + ); +} + +static void +init_BPF_PROG_QUERY_attr5(struct bpf_attr_check *check) +{ + struct BPF_PROG_QUERY_struct *attr = &check->data.BPF_PROG_QUERY_data; + + if (!prog_load_ids_ptr) + prog_load_ids_ptr = tail_memdup(prog_load_ids, + sizeof(prog_load_ids)); + + attr->prog_ids = (uintptr_t) prog_load_ids_ptr; + attr->prog_cnt = ARRAY_SIZE(prog_load_ids) + 1; +} + +static void +print_BPF_PROG_QUERY_attr5(const struct bpf_attr_check *check, unsigned long addr) +{ + printf("query={target_fd=-1153374643" + ", attach_type=0xfeedface /* BPF_??? */" + ", query_flags=BPF_F_QUERY_EFFECTIVE|0xdeadf00c" + ", attach_flags=BPF_F_ALLOW_MULTI|0xbeefcafc" +#if defined(INJECT_RETVAL) && INJECT_RETVAL > 0 + ", prog_ids=[0, 1, 4294967295, 2718281828, ... /* %p */]" + ", prog_cnt=5}", + prog_load_ids_ptr + ARRAY_SIZE(prog_load_ids) +#else + ", prog_ids=%p, prog_cnt=5}", prog_load_ids_ptr +#endif + ); +} + +static struct bpf_attr_check BPF_PROG_QUERY_checks[] = { + { + .data = { .BPF_PROG_QUERY_data = { .target_fd = -1 } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, target_fd), + .str = "query={target_fd=-1" + ", attach_type=BPF_CGROUP_INET_INGRESS, query_flags=0" + ", attach_flags=0, prog_ids=NULL, prog_cnt=0}", + }, + { /* 1 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 13, + .query_flags = 1, + .attach_flags = 3, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, attach_flags), + .str = "query={target_fd=-1153374643" + ", attach_type=BPF_CGROUP_INET6_POST_BIND" + ", query_flags=BPF_F_QUERY_EFFECTIVE" + ", attach_flags=BPF_F_ALLOW_OVERRIDE|BPF_F_ALLOW_MULTI" + ", prog_ids=NULL, prog_cnt=0}", + }, + { /* 2 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 14, + .query_flags = 0xfffffffe, + .attach_flags = 0xfffffffc, + .prog_ids = 0xffffffffffffffffULL, + .prog_cnt = 2718281828, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .str = "query={target_fd=-1153374643" + ", attach_type=0xe /* BPF_??? */" + ", query_flags=0xfffffffe /* BPF_F_QUERY_??? */" + ", attach_flags=0xfffffffc /* BPF_F_??? */" + ", prog_ids=" + BIG_ADDR("0xffffffffffffffff", "0xffffffff") + ", prog_cnt=2718281828}", + }, + { /* 3 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 0xfeedface, + .query_flags = 0xdeadf00d, + .attach_flags = 0xbeefcafe, + .prog_ids = 0xffffffffffffffffULL, + .prog_cnt = 0, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .str = "query={target_fd=-1153374643" + ", attach_type=0xfeedface /* BPF_??? */" + ", query_flags=BPF_F_QUERY_EFFECTIVE|0xdeadf00c" + ", attach_flags=BPF_F_ALLOW_MULTI|0xbeefcafc" + ", prog_ids=" BIG_ADDR_MAYBE("0xffffffffffffffff") "[]" + ", prog_cnt=0}", + }, + { /* 4 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 0xfeedface, + .query_flags = 0xdeadf00d, + .attach_flags = 0xbeefcafe, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .init_fn = init_BPF_PROG_QUERY_attr4, + .print_fn = print_BPF_PROG_QUERY_attr4, + }, + { /* 5 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 0xfeedface, + .query_flags = 0xdeadf00d, + .attach_flags = 0xbeefcafe, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .init_fn = init_BPF_PROG_QUERY_attr5, + .print_fn = print_BPF_PROG_QUERY_attr5, + }, +}; + + +static void +init_BPF_RAW_TRACEPOINT_attr2(struct bpf_attr_check *check) +{ + /* TODO: test the 128 byte limit */ + static const char tp_name[] = "0123456789qwertyuiop0123456789qwe"; + + struct BPF_RAW_TRACEPOINT_OPEN_struct *attr = + &check->data.BPF_RAW_TRACEPOINT_OPEN_data; + + attr->name = (uintptr_t) tp_name; +} + +static struct bpf_attr_check BPF_RAW_TRACEPOINT_OPEN_checks[] = { + { + .data = { .BPF_RAW_TRACEPOINT_OPEN_data = { .name = 0 } }, + .size = offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, + name), + .str = "raw_tracepoint={name=NULL, prog_fd=0}", + }, + { /* 1 */ + .data = { .BPF_RAW_TRACEPOINT_OPEN_data = { + .name = 0xffffffff00000000ULL, + .prog_fd = 0xdeadbeef, + } }, + .size = offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, + prog_fd), + .str = "raw_tracepoint=" + "{name=" BIG_ADDR("0xffffffff00000000", "NULL") + ", prog_fd=-559038737}", + }, + { + .data = { .BPF_RAW_TRACEPOINT_OPEN_data = { + .prog_fd = 0xdeadbeef, + } }, + .size = offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, + prog_fd), + .init_fn = init_BPF_RAW_TRACEPOINT_attr2, + .str = "raw_tracepoint=" + "{name=\"0123456789qwertyuiop0123456789qw\"..." + ", prog_fd=-559038737}", + } +}; + + #define CHK(cmd_) \ { \ cmd_, #cmd_, \ @@ -635,6 +1106,8 @@ main(void) CHK(BPF_PROG_GET_FD_BY_ID), CHK(BPF_MAP_GET_FD_BY_ID), CHK(BPF_OBJ_GET_INFO_BY_FD), + CHK(BPF_PROG_QUERY), + CHK(BPF_RAW_TRACEPOINT_OPEN), }; page_size = get_page_size(); diff --git a/tests-m32/btrfs-X.test b/tests-m32/btrfs-X.test new file mode 100755 index 00000000..c129be96 --- /dev/null +++ b/tests-m32/btrfs-X.test @@ -0,0 +1,11 @@ +#!/bin/sh + +# Check verbose xlat decoding of btrfs ioctl + +. "${srcdir=.}/init.sh" + +check_prog grep +run_prog ../btrfs -X > /dev/null +run_strace -a16 -Xverbose -eioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-m32/btrfs-vX.test b/tests-m32/btrfs-vX.test new file mode 100755 index 00000000..163b29fd --- /dev/null +++ b/tests-m32/btrfs-vX.test @@ -0,0 +1,11 @@ +#!/bin/sh + +# Check verbose, verbose xlat decoding of btrfs ioctl + +. "${srcdir=.}/init.sh" + +check_prog grep +run_prog ../btrfs -v -X > /dev/null +run_strace -a16 -Xverbose -veioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-m32/btrfs-vwX.test b/tests-m32/btrfs-vwX.test new file mode 100755 index 00000000..57c68915 --- /dev/null +++ b/tests-m32/btrfs-vwX.test @@ -0,0 +1,25 @@ +#!/bin/sh + +# Check verbose, verbose xlat decoding of btrfs ioctl w/ live ioctls. + +# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM + +# Typical usage: +# mkfs.btrfs +# mount /mnt +# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-vwX" +# umount /mnt + +. "${srcdir=.}/init.sh" + +if [ -z "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT not set" +elif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT does not point to a directory" +fi + +check_prog grep +run_prog ../btrfs -v -w -X "${BTRFS_MOUNTPOINT}" > /dev/null +run_strace -a16 -Xverbose -veioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-m32/btrfs-wX.test b/tests-m32/btrfs-wX.test new file mode 100755 index 00000000..5fb69499 --- /dev/null +++ b/tests-m32/btrfs-wX.test @@ -0,0 +1,25 @@ +#!/bin/sh + +# Check verbose xlat decoding of btrfs ioctl w/ live ioctls. + +# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM + +# Typical usage: +# mkfs.btrfs +# mount /mnt +# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-wX" +# umount /mnt + +. "${srcdir=.}/init.sh" + +if [ -z "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT not set" +elif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT does not point to a directory" +fi + +check_prog grep +run_prog ../btrfs -w -X "${BTRFS_MOUNTPOINT}" > /dev/null +run_strace -a16 -Xverbose -eioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-m32/btrfs.c b/tests-m32/btrfs.c index 415f6928..b44bc872 100644 --- a/tests-m32/btrfs.c +++ b/tests-m32/btrfs.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -23,6 +24,7 @@ #include "xlat/btrfs_balance_flags.h" #include "xlat/btrfs_balance_state.h" #include "xlat/btrfs_compress_types.h" +#include "xlat/btrfs_cont_reading_from_srcdev_mode.h" #include "xlat/btrfs_defrag_flags.h" #include "xlat/btrfs_dev_stats_values.h" #include "xlat/btrfs_dev_stats_flags.h" @@ -62,6 +64,11 @@ static const char *btrfs_test_root; static int btrfs_test_dir_fd; static bool verbose; static bool write_ok; +static bool verbose_xlat; + +static const char *path; +static const char dir_name_fmt[] = "strace-test-%d"; +static char dir_name[sizeof(dir_name_fmt) + sizeof(int) * 3]; const unsigned char uuid_reference[BTRFS_UUID_SIZE] = { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, @@ -152,11 +159,61 @@ struct btrfs_ioctl_search_args_v2 { static const char * -maybe_print_uint64max(uint64_t val) +sprint_xlat_(uint32_t val, const char *xlat) +{ + static char str[256]; + int ret; + + if (verbose_xlat) { + ret = snprintf(str, sizeof(str), "%#x /* %s */", val, xlat); + + if (ret < 0) + perror_msg_and_fail("sprint_ioc(%#x, %s)", val, xlat); + if ((unsigned) ret >= sizeof(str)) + error_msg_and_fail("sprint_ioc(%#x, %s): buffer " + "overflow", val, xlat); + + return str; + } + + return xlat; +} + +#define ioc(x_) sprint_xlat_(x_, #x_) + +void +prfl_btrfs(const struct xlat *xlat, const unsigned long long val, + const char *str) +{ + if (verbose_xlat && val) + printf("%#llx /* ", val); + printflags(xlat, val, str); + if (verbose_xlat && val) + printf(" */"); +} + +void +prxval_btrfs(const struct xlat *xlat, const unsigned long long val, + const char *str, bool known) +{ + if (verbose_xlat && known) + printf("%#llx /* ", val); + printxval(xlat, val, str); + if (verbose_xlat && known) + printf(" */"); +} + +static void +print_uint64(const char *prefix, uint64_t val) { - if (val == UINT64_MAX) - return " /* UINT64_MAX */"; - return ""; + if (val == UINT64_MAX) { + if (verbose_xlat) + printf("%s%" PRIu64 " /* UINT64_MAX */", prefix, val); + else + printf("%sUINT64_MAX", prefix); + } else { + printf("%s%" PRIu64, prefix, val); + } } /* takes highest valid flag bit */ @@ -182,10 +239,10 @@ static void btrfs_test_trans_ioctls(void) { ioctl(-1, BTRFS_IOC_TRANS_START, NULL); - printf("ioctl(-1, BTRFS_IOC_TRANS_START) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_TRANS_START)); ioctl(-1, BTRFS_IOC_TRANS_END, NULL); - printf("ioctl(-1, BTRFS_IOC_TRANS_END) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_TRANS_END)); } /* @@ -201,14 +258,15 @@ btrfs_test_sync_ioctls(void) uint64_t u64val = 0xdeadbeefbadc0dedULL; ioctl(-1, BTRFS_IOC_SYNC, NULL); - printf("ioctl(-1, BTRFS_IOC_SYNC) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SYNC)); ioctl(-1, BTRFS_IOC_WAIT_SYNC, NULL); - printf("ioctl(-1, BTRFS_IOC_WAIT_SYNC, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_WAIT_SYNC)); ioctl(-1, BTRFS_IOC_WAIT_SYNC, &u64val); - printf("ioctl(-1, BTRFS_IOC_WAIT_SYNC, [%" PRIu64 - "]) = -1 EBADF (%m)\n", u64val); + printf("ioctl(-1, %s, [%" PRIu64 "]) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_WAIT_SYNC), u64val); /* * The live test of BTRFS_IOC_SYNC happens as a part of the test @@ -220,24 +278,24 @@ static void btrfs_print_qgroup_inherit(struct btrfs_qgroup_inherit *inherit) { printf("{flags="); - printflags(btrfs_qgroup_inherit_flags, inherit->flags, + prfl_btrfs(btrfs_qgroup_inherit_flags, inherit->flags, "BTRFS_QGROUP_INHERIT_???"); printf(", num_qgroups=%" PRI__u64 ", num_ref_copies=%" PRI__u64 ", num_excl_copies=%" PRI__u64 ", lim={flags=", inherit->num_qgroups, inherit->num_ref_copies, inherit->num_excl_copies); - printflags(btrfs_qgroup_limit_flags, + prfl_btrfs(btrfs_qgroup_limit_flags, inherit->lim.flags, "BTRFS_QGROUP_LIMIT_???"); printf(", max_rfer=%" PRI__u64 ", max_excl=%" PRI__u64 ", rsv_rfer=%" PRI__u64 ", rsv_excl=%" PRI__u64 - "}, qgroups=", + "}, ", inherit->lim.max_rfer, inherit->lim.max_excl, inherit->lim.rsv_rfer, inherit->lim.rsv_excl); if (verbose) { unsigned int i; - printf("["); + printf("qgroups=["); for (i = 0; i < inherit->num_qgroups; i++) { if (i > 0) printf(", "); @@ -254,7 +312,7 @@ static void btrfs_print_vol_args_v2(struct btrfs_ioctl_vol_args_v2 *args, int print_qgroups) { printf("{fd=%d, flags=", (int) args->fd); - printflags(btrfs_snap_flags_v2, args->flags, "BTRFS_SUBVOL_???"); + prfl_btrfs(btrfs_snap_flags_v2, args->flags, "BTRFS_SUBVOL_???"); if (args->flags & BTRFS_SUBVOL_QGROUP_INHERIT) { printf(", size=%" PRI__u64 ", qgroup_inherit=", args->size); @@ -302,61 +360,64 @@ btrfs_test_subvol_ioctls(void) strcpy(vol_args.name, subvol_name); ioctl(-1, BTRFS_IOC_SNAP_CREATE, NULL); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE)); ioctl(-1, BTRFS_IOC_SNAP_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE, " - "{fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE, " - "{fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SUBVOL_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_DESTROY," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_DESTROY), vol_args.name); strncpy(vol_args.name, long_subvol_name, BTRFS_PATH_NAME_MAX); ioctl(-1, BTRFS_IOC_SNAP_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SUBVOL_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_DESTROY," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_DESTROY), vol_args.name); long_subvol_name = realloc(long_subvol_name, BTRFS_SUBVOL_NAME_MAX); if (!long_subvol_name) perror_msg_and_fail("realloc failed"); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE_V2)); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); strcpy(vol_args_v2.name, subvol_name); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); strncpy(vol_args_v2.name, long_subvol_name, BTRFS_SUBVOL_NAME_MAX); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); @@ -364,12 +425,12 @@ btrfs_test_subvol_ioctls(void) strcpy(vol_args_v2.name, subvol_name); vol_args_v2.qgroup_inherit = bad_pointer; - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 0); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 0); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); @@ -394,31 +455,33 @@ btrfs_test_subvol_ioctls(void) inherit->lim.rsv_excl = u64val; vol_args_v2.qgroup_inherit = inherit; - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, NULL); - printf("ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEFAULT_SUBVOL)); ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, &u64val); - printf("ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, [%" - PRIu64 "]) = -1 EBADF (%m)\n", u64val); + printf("ioctl(-1, %s, [%" PRIu64 "]) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEFAULT_SUBVOL), u64val); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_SETFLAGS, "); - printflags(btrfs_snap_flags_v2, vol_args_v2.flags, + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_SETFLAGS)); + prfl_btrfs(btrfs_snap_flags_v2, vol_args_v2.flags, "BTRFS_SUBVOL_???"); ioctl(-1, BTRFS_IOC_SUBVOL_SETFLAGS, &vol_args_v2.flags); printf(") = -1 EBADF (%m)\n"); if (write_ok) { struct btrfs_ioctl_vol_args_v2 args_passed; + long ret; /* * Returns transid if flags & BTRFS_SUBVOL_CREATE_ASYNC * - BTRFS_IOC_SNAP_CREATE_V2 @@ -432,11 +495,14 @@ btrfs_test_subvol_ioctls(void) vol_args_v2.size = 0; vol_args_v2.qgroup_inherit = NULL; args_passed = vol_args_v2; - printf("ioctl(%d, BTRFS_IOC_SUBVOL_CREATE_V2, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); - ioctl(btrfs_test_dir_fd, BTRFS_IOC_SUBVOL_CREATE_V2, + ret = ioctl(btrfs_test_dir_fd, BTRFS_IOC_SUBVOL_CREATE_V2, &args_passed); + if (ret < 0) + perror_msg_and_fail("ioctl(BTRFS_IOC_SUBVOL_CREATE_V2) " + "failed"); printf(" => {transid=%" PRI__u64 "}) = 0\n", args_passed.transid); @@ -448,8 +514,8 @@ btrfs_test_subvol_ioctls(void) strncpy(vol_args_v2.name, long_subvol_name, BTRFS_NAME_LEN); vol_args_v2.fd = subvolfd; args_passed = vol_args_v2; - printf("ioctl(%d, BTRFS_IOC_SNAP_CREATE_V2, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&args_passed, 1); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_CREATE_V2, &args_passed); @@ -460,15 +526,15 @@ btrfs_test_subvol_ioctls(void) strncpy(vol_args.name, long_subvol_name, 255); vol_args.name[255] = 0; ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(%d, BTRFS_IOC_SNAP_DESTROY, " - "{fd=%d, name=\"%.*s\"}) = 0\n", - btrfs_test_dir_fd, (int) vol_args.fd, 255, long_subvol_name); + printf("ioctl(%d, %s, {fd=%d, name=\"%.*s\"}) = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SNAP_DESTROY), + (int) vol_args.fd, 255, long_subvol_name); strcpy(vol_args.name, subvol_name); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(%d, BTRFS_IOC_SNAP_DESTROY, " - "{fd=%d, name=\"%s\"}) = 0\n", - btrfs_test_dir_fd, (int) vol_args.fd, subvol_name); + printf("ioctl(%d, %s, {fd=%d, name=\"%s\"}) = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SNAP_DESTROY), + (int) vol_args.fd, subvol_name); close(subvolfd); } @@ -479,19 +545,18 @@ static void btrfs_print_balance_args(struct btrfs_balance_args *args) { printf("{profiles="); - printflags(btrfs_space_info_flags, args->profiles, + prfl_btrfs(btrfs_space_info_flags, args->profiles, "BTRFS_BLOCK_GROUP_???"); - printf(", usage=%"PRI__u64 "%s, devid=%"PRI__u64 "%s, pstart=%"PRI__u64 - "%s, pend=%"PRI__u64 "%s, vstart=%"PRI__u64 "%s, vend=%"PRI__u64 - "%s, target=%"PRI__u64 "%s, flags=", - args->usage, maybe_print_uint64max(args->usage), - args->devid, maybe_print_uint64max(args->devid), - args->pstart, maybe_print_uint64max(args->pstart), - args->pend, maybe_print_uint64max(args->pend), - args->vstart, maybe_print_uint64max(args->vstart), - args->vend, maybe_print_uint64max(args->vend), - args->target, maybe_print_uint64max(args->target)); - printflags(btrfs_balance_args, args->flags, "BTRFS_BALANCE_ARGS_???"); + print_uint64(", usage=", args->usage); + printf(", devid=makedev(%u, %u)", + major(args->devid), minor(args->devid)); + print_uint64(", pstart=", args->pstart); + print_uint64(", pend=", args->pend); + print_uint64(", vstart=", args->vstart); + print_uint64(", vend=", args->vend); + print_uint64(", target=", args->target); + printf(", flags="); + prfl_btrfs(btrfs_balance_args, args->flags, "BTRFS_BALANCE_ARGS_???"); printf("}"); } @@ -531,25 +596,31 @@ btrfs_test_balance_ioctls(void) struct btrfs_ioctl_vol_args vol_args = {}; ioctl(-1, BTRFS_IOC_BALANCE_CTL, 1); - printf("ioctl(-1, BTRFS_IOC_BALANCE_CTL, " - "BTRFS_BALANCE_CTL_PAUSE) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, %sBTRFS_BALANCE_CTL_PAUSE%s) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_BALANCE_CTL), + verbose_xlat ? "0x1 /* " : "", + verbose_xlat ? " */" : ""); ioctl(-1, BTRFS_IOC_BALANCE_CTL, 2); - printf("ioctl(-1, BTRFS_IOC_BALANCE_CTL, " - "BTRFS_BALANCE_CTL_CANCEL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, " + "%sBTRFS_BALANCE_CTL_CANCEL%s) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_BALANCE_CTL), + verbose_xlat ? "0x2 /* " : "", + verbose_xlat ? " */" : ""); ioctl(-1, BTRFS_IOC_BALANCE, NULL); - printf("ioctl(-1, BTRFS_IOC_BALANCE) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_BALANCE)); ioctl(-1, BTRFS_IOC_BALANCE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_BALANCE) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_BALANCE)); /* struct btrfs_ioctl_balance_args */ ioctl(-1, BTRFS_IOC_BALANCE_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_BALANCE_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_BALANCE_V2)); - printf("ioctl(-1, BTRFS_IOC_BALANCE_V2, {flags="); - printflags(btrfs_balance_flags, args.flags, "BTRFS_BALANCE_???"); + printf("ioctl(-1, %s, {flags=", ioc(BTRFS_IOC_BALANCE_V2)); + prfl_btrfs(btrfs_balance_flags, args.flags, "BTRFS_BALANCE_???"); printf(", data="); btrfs_print_balance_args(&args.data); printf(", meta="); @@ -560,6 +631,8 @@ btrfs_test_balance_ioctls(void) printf("}) = -1 EBADF (%m)\n"); if (write_ok) { + long ret; + args.flags = BTRFS_BALANCE_DATA | BTRFS_BALANCE_METADATA | BTRFS_BALANCE_SYSTEM; args.data.flags = 0; @@ -568,31 +641,43 @@ btrfs_test_balance_ioctls(void) args.meta.profiles = 0; args.sys.flags = 0; args.sys.profiles = 0; - printf("ioctl(%d, BTRFS_IOC_BALANCE_V2, {flags=", - btrfs_test_dir_fd); - printflags(btrfs_balance_flags, args.flags, - "BTRFS_BALANCE_???"); - printf(", data="); - btrfs_print_balance_args(&args.data); - printf(", meta="); - btrfs_print_balance_args(&args.meta); - printf(", sys="); - btrfs_print_balance_args(&args.sys); - ioctl(btrfs_test_dir_fd, BTRFS_IOC_BALANCE_V2, &args); - printf("} => {flags="); - printflags(btrfs_balance_flags, args.flags, + /* + * We should keep args the same for data in meta in case + * volume-under-tests uses mixed groups data and metadata. + */ + args.meta.pend = -1ULL; + args.meta.vend = -1ULL; + + printf("ioctl(%d, %s, {flags=", + btrfs_test_dir_fd, ioc(BTRFS_IOC_BALANCE_V2)); + + prfl_btrfs(btrfs_balance_flags, args.flags, "BTRFS_BALANCE_???"); - printf(", state="); - printflags(btrfs_balance_state, args.state, - "BTRFS_BALANCE_STATE_???"); printf(", data="); btrfs_print_balance_args(&args.data); printf(", meta="); btrfs_print_balance_args(&args.meta); printf(", sys="); btrfs_print_balance_args(&args.sys); - printf("}) = 0\n"); + ret = ioctl(btrfs_test_dir_fd, BTRFS_IOC_BALANCE_V2, &args); + if (ret < 0) { + printf("}) = %s\n", sprintrc(ret)); + } else { + printf("} => {flags="); + prfl_btrfs(btrfs_balance_flags, args.flags, + "BTRFS_BALANCE_???"); + printf(", state="); + prfl_btrfs(btrfs_balance_state, args.state, + "BTRFS_BALANCE_STATE_???"); + printf(", data="); + btrfs_print_balance_args(&args.data); + printf(", meta="); + btrfs_print_balance_args(&args.meta); + printf(", sys="); + btrfs_print_balance_args(&args.sys); + printf("}) = %ld\n", ret); + } } } @@ -615,38 +700,35 @@ btrfs_test_device_ioctls(void) }; ioctl(-1, BTRFS_IOC_RESIZE, NULL); - printf("ioctl(-1, BTRFS_IOC_RESIZE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_RESIZE)); strcpy(args.name, devid); ioctl(-1, BTRFS_IOC_RESIZE, &args); - printf("ioctl(-1, BTRFS_IOC_RESIZE, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_RESIZE), (int) args.fd, args.name); ioctl(-1, BTRFS_IOC_SCAN_DEV, NULL); - printf("ioctl(-1, BTRFS_IOC_SCAN_DEV, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCAN_DEV)); strcpy(args.name, devname); ioctl(-1, BTRFS_IOC_SCAN_DEV, &args); - printf("ioctl(-1, BTRFS_IOC_SCAN_DEV, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCAN_DEV), (int) args.fd, args.name); ioctl(-1, BTRFS_IOC_ADD_DEV, NULL); - printf("ioctl(-1, BTRFS_IOC_ADD_DEV, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_ADD_DEV)); ioctl(-1, BTRFS_IOC_ADD_DEV, &args); - printf("ioctl(-1, BTRFS_IOC_ADD_DEV, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_ADD_DEV), (int) args.fd, args.name); ioctl(-1, BTRFS_IOC_RM_DEV, NULL); - printf("ioctl(-1, BTRFS_IOC_RM_DEV, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_RM_DEV)); ioctl(-1, BTRFS_IOC_RM_DEV, &args); - printf("ioctl(-1, BTRFS_IOC_RM_DEV, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_RM_DEV), (int) args.fd, args.name); } @@ -667,17 +749,21 @@ btrfs_test_clone_ioctls(void) }; ioctl(-1, BTRFS_IOC_CLONE, clone_fd); - printf("ioctl(-1, BTRFS_IOC_CLONE or FICLONE, %x) = -1 EBADF (%m)\n", - clone_fd); + printf("ioctl(-1, %s, %x) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_CLONE, "BTRFS_IOC_CLONE or FICLONE"), + clone_fd); ioctl(-1, BTRFS_IOC_CLONE_RANGE, NULL); - printf("ioctl(-1, BTRFS_IOC_CLONE_RANGE or FICLONERANGE, " - "NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_CLONE_RANGE, + "BTRFS_IOC_CLONE_RANGE or FICLONERANGE")); ioctl(-1, BTRFS_IOC_CLONE_RANGE, &args); - printf("ioctl(-1, BTRFS_IOC_CLONE_RANGE or FICLONERANGE, " + printf("ioctl(-1, %s, " "{src_fd=%d, src_offset=%" PRI__u64 ", src_length=%" PRI__u64 ", dest_offset=%" PRI__u64 "}) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_CLONE_RANGE, + "BTRFS_IOC_CLONE_RANGE or FICLONERANGE"), (int) args.src_fd, args.src_offset, args.src_length, args.dest_offset); } @@ -686,16 +772,17 @@ btrfs_test_clone_ioctls(void) #define BTRFS_INVALID_COMPRESS (BTRFS_COMPRESS_TYPES + 1) static void -btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args) +btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args, + bool compress_type_known) { - printf("{start=%" PRIu64 ", len=%" PRIu64 "%s, flags=", - (uint64_t) args->start, (uint64_t) args->len, - maybe_print_uint64max(args->len)); + printf("{start=%" PRIu64, (uint64_t) args->start); + print_uint64(", len=", args->len); - printflags(btrfs_defrag_flags, args->flags, "BTRFS_DEFRAG_RANGE_???"); + printf(", flags="); + prfl_btrfs(btrfs_defrag_flags, args->flags, "BTRFS_DEFRAG_RANGE_???"); printf(", extent_thresh=%u, compress_type=", args->extent_thresh); - printxval(btrfs_compress_types, args->compress_type, - "BTRFS_COMPRESS_???"); + prxval_btrfs(btrfs_compress_types, args->compress_type, + "BTRFS_COMPRESS_???", compress_type_known); printf("}"); } @@ -721,29 +808,30 @@ btrfs_test_defrag_ioctls(void) * actually consume it. */ ioctl(-1, BTRFS_IOC_DEFRAG, NULL); - printf("ioctl(-1, BTRFS_IOC_DEFRAG) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_DEFRAG)); ioctl(-1, BTRFS_IOC_DEFRAG, &vol_args); - printf("ioctl(-1, BTRFS_IOC_DEFRAG) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_DEFRAG)); /* struct btrfs_ioctl_defrag_range_args */ ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, NULL); - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEFRAG_RANGE)); - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, "); - btrfs_print_defrag_range_args(&args); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_DEFRAG_RANGE)); + btrfs_print_defrag_range_args(&args, true); ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, &args); printf(") = -1 EBADF (%m)\n"); args.compress_type = BTRFS_INVALID_COMPRESS; - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, "); - btrfs_print_defrag_range_args(&args); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_DEFRAG_RANGE)); + btrfs_print_defrag_range_args(&args, false); ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, &args); printf(") = -1 EBADF (%m)\n"); args.len--; - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, "); - btrfs_print_defrag_range_args(&args); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_DEFRAG_RANGE)); + btrfs_print_defrag_range_args(&args, false); ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, &args); printf(") = -1 EBADF (%m)\n"); } @@ -761,18 +849,28 @@ static void btrfs_print_objectid(uint64_t objectid) { const char *str = xlookup(btrfs_tree_objectids, objectid); - printf("%" PRIu64, objectid); - if (str) - printf(" /* %s */", str); + if (str) { + if (verbose_xlat) + printf("%" PRIu64 " /* %s */", objectid, str); + else + printf("%s", str); + } else { + printf("%" PRIu64, objectid); + } } static void btrfs_print_key_type(uint32_t type) { const char *str = xlookup(btrfs_key_types, type); - printf("%u", type); - if (str) - printf(" /* %s */", str); + if (str) { + if (verbose_xlat) + printf("%u /* %s */", type, str); + else + printf("%s", str); + } else { + printf("%u", type); + } } static void @@ -788,18 +886,10 @@ btrfs_print_search_key(struct btrfs_ioctl_search_key *key) printf(", max_objectid="); btrfs_print_objectid(key->max_objectid); } - if (key->min_offset) - printf(", min_offset=%" PRI__u64 "%s", - key->min_offset, maybe_print_uint64max(key->min_offset)); - if (key->max_offset) - 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, - maybe_print_uint64max(key->min_transid)); - if (key->max_transid) - printf(", max_transid=%" PRI__u64 "%s", key->max_transid, - maybe_print_uint64max(key->max_transid)); + print_uint64(", min_offset=", key->min_offset); + print_uint64(", max_offset=", key->max_offset); + print_uint64(", min_transid=", key->min_transid); + print_uint64(", max_transid=", key->max_transid); printf(", min_type="); btrfs_print_key_type(key->min_type); printf(", max_type="); @@ -814,7 +904,7 @@ btrfs_print_tree_search_buf(struct btrfs_ioctl_search_key *key, if (verbose) { uint64_t i; uint64_t off = 0; - printf("["); + printf("buf=["); for (i = 0; i < key->nr_items; i++) { struct btrfs_ioctl_search_header *sh; sh = (typeof(sh))(buf + off); @@ -859,19 +949,21 @@ btrfs_test_search_ioctls(void) }; ioctl(-1, BTRFS_IOC_TREE_SEARCH, NULL); - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_TREE_SEARCH)); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_TREE_SEARCH_V2)); search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -880,13 +972,13 @@ btrfs_test_search_ioctls(void) key_reference.min_objectid = 6; key_reference.max_objectid = 7; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -895,13 +987,13 @@ btrfs_test_search_ioctls(void) key_reference.min_offset++; key_reference.max_offset--; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -910,13 +1002,13 @@ btrfs_test_search_ioctls(void) key_reference.min_transid++; key_reference.max_transid--; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -925,13 +1017,13 @@ btrfs_test_search_ioctls(void) key_reference.min_type = 1; key_reference.max_type = 12; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -950,11 +1042,11 @@ btrfs_test_search_ioctls(void) key_reference.max_offset = -1ULL; search_args.key = key_reference; - printf("ioctl(%d, BTRFS_IOC_TREE_SEARCH, {", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {", + btrfs_test_dir_fd, ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(btrfs_test_dir_fd, BTRFS_IOC_TREE_SEARCH, &search_args); - printf("} => {key={nr_items=%u}, buf=", + printf("} => {key={nr_items=%u}, ", search_args.key.nr_items); btrfs_print_tree_search_buf(&search_args.key, search_args.buf, sizeof(search_args.buf)); @@ -966,12 +1058,12 @@ btrfs_test_search_ioctls(void) args->key = key_reference; args->buf_size = bufsize; - printf("ioctl(%d, BTRFS_IOC_TREE_SEARCH_V2, {", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {", + btrfs_test_dir_fd, ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&key_reference); printf(", buf_size=%" PRIu64 "}", (uint64_t) args->buf_size); ioctl(btrfs_test_dir_fd, BTRFS_IOC_TREE_SEARCH_V2, args); - printf(" => {key={nr_items=%u}, buf_size=%" PRIu64 ", buf=", + printf(" => {key={nr_items=%u}, buf_size=%" PRIu64 ", ", args->key.nr_items, (uint64_t)args->buf_size); btrfs_print_tree_search_buf(&args->key, args->buf, args->buf_size); @@ -979,8 +1071,8 @@ btrfs_test_search_ioctls(void) args->key = key_reference; args->buf_size = sizeof(struct btrfs_ioctl_search_header); - printf("ioctl(%d, BTRFS_IOC_TREE_SEARCH_V2, {", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {", + btrfs_test_dir_fd, ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&args->key); printf(", buf_size=%" PRIu64 "}", (uint64_t)args->buf_size); ioctl(btrfs_test_dir_fd, BTRFS_IOC_TREE_SEARCH_V2, args); @@ -1003,9 +1095,10 @@ btrfs_test_ino_lookup_ioctl(void) }; ioctl(-1, BTRFS_IOC_INO_LOOKUP, NULL); - printf("ioctl(-1, BTRFS_IOC_INO_LOOKUP, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_INO_LOOKUP)); - printf("ioctl(-1, BTRFS_IOC_INO_LOOKUP, {treeid="); + printf("ioctl(-1, %s, {treeid=", ioc(BTRFS_IOC_INO_LOOKUP)); btrfs_print_objectid(args.treeid); printf(", objectid="); btrfs_print_objectid(args.objectid); @@ -1013,8 +1106,8 @@ btrfs_test_ino_lookup_ioctl(void) printf("}) = -1 EBADF (%m)\n"); if (btrfs_test_root) { - printf("ioctl(%d, BTRFS_IOC_INO_LOOKUP, {treeid=", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {treeid=", + btrfs_test_dir_fd, ioc(BTRFS_IOC_INO_LOOKUP)); btrfs_print_objectid(args.treeid); printf(", objectid="); btrfs_print_objectid(args.objectid); @@ -1033,20 +1126,20 @@ btrfs_test_space_info_ioctl(void) struct btrfs_ioctl_space_args args = {}; ioctl(-1, BTRFS_IOC_SPACE_INFO, NULL); - printf("ioctl(-1, BTRFS_IOC_SPACE_INFO, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SPACE_INFO)); ioctl(-1, BTRFS_IOC_SPACE_INFO, &args); - printf("ioctl(-1, BTRFS_IOC_SPACE_INFO, " - "{space_slots=%" PRI__u64 "}) = -1 EBADF (%m)\n", - args.space_slots); + printf("ioctl(-1, %s, {space_slots=%" PRI__u64 "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SPACE_INFO), args.space_slots); if (btrfs_test_root) { struct btrfs_ioctl_space_args args_passed; struct btrfs_ioctl_space_args *argsp; args_passed = args; - printf("ioctl(%d, BTRFS_IOC_SPACE_INFO, " - "{space_slots=%" PRI__u64 "}", - btrfs_test_dir_fd, args_passed.space_slots); + printf("ioctl(%d, %s, {space_slots=%" PRI__u64 "}", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SPACE_INFO), + args_passed.space_slots); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SPACE_INFO, &args_passed); printf(" => {total_spaces=%" PRI__u64 "}) = 0\n", args_passed.total_spaces); @@ -1058,22 +1151,22 @@ btrfs_test_space_info_ioctl(void) *argsp = args; argsp->space_slots = args_passed.total_spaces; - printf("ioctl(%d, BTRFS_IOC_SPACE_INFO, " - "{space_slots=%" PRI__u64 "}", - btrfs_test_dir_fd, argsp->space_slots); + printf("ioctl(%d, %s, {space_slots=%" PRI__u64 "}", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SPACE_INFO), + argsp->space_slots); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SPACE_INFO, argsp); - printf(" => {total_spaces=%" PRI__u64 ", spaces=", + printf(" => {total_spaces=%" PRI__u64 ", ", argsp->total_spaces); if (verbose) { unsigned int i; - printf("["); + printf("spaces=["); for (i = 0; i < argsp->total_spaces; i++) { struct btrfs_ioctl_space_info *info; info = &argsp->spaces[i]; if (i) printf(", "); printf("{flags="); - printflags(btrfs_space_info_flags, info->flags, + prfl_btrfs(btrfs_space_info_flags, info->flags, "BTRFS_SPACE_INFO_???"); printf(", total_bytes=%" PRI__u64 ", used_bytes=%" PRI__u64 "}", @@ -1106,25 +1199,28 @@ btrfs_test_scrub_ioctls(void) }; ioctl(-1, BTRFS_IOC_SCRUB, NULL); - printf("ioctl(-1, BTRFS_IOC_SCRUB, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SCRUB)); ioctl(-1, BTRFS_IOC_SCRUB_CANCEL, NULL); - printf("ioctl(-1, BTRFS_IOC_SCRUB_CANCEL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SCRUB_CANCEL)); - printf("ioctl(-1, BTRFS_IOC_SCRUB, {devid=%" PRI__u64 ", start=%" - 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_???"); + printf("ioctl(-1, %s, {devid=makedev(%u, %u)", + ioc(BTRFS_IOC_SCRUB), major(args.devid), minor(args.devid)); + print_uint64(", start=", args.start); + print_uint64(", end=", args.end); + printf(", flags="); + prfl_btrfs(btrfs_scrub_flags, args.flags, "BTRFS_SCRUB_???"); ioctl(-1, BTRFS_IOC_SCRUB, &args); printf("}) = -1 EBADF (%m)\n"); ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, NULL); - printf("ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCRUB_PROGRESS)); ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, &args); - printf("ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, " - "{devid=%" PRI__u64 "}) = -1 EBADF (%m)\n", args.devid); + printf("ioctl(-1, %s, {devid=makedev(%u, %u)}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCRUB_PROGRESS), + major(args.devid), minor(args.devid)); } /* @@ -1140,12 +1236,14 @@ btrfs_test_dev_info_ioctl(void) memcpy(&args.uuid, uuid_reference, BTRFS_UUID_SIZE); ioctl(-1, BTRFS_IOC_DEV_INFO, NULL); - printf("ioctl(-1, BTRFS_IOC_DEV_INFO, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEV_INFO)); ioctl(-1, BTRFS_IOC_DEV_INFO, &args); - printf("ioctl(-1, BTRFS_IOC_DEV_INFO, " - "{devid=%" PRI__u64 ", uuid=%s}) = -1 EBADF (%m)\n", - args.devid, uuid_reference_string); + printf("ioctl(-1, %s, " + "{devid=makedev(%u, %u), uuid=%s}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEV_INFO), major(args.devid), minor(args.devid), + uuid_reference_string); } /* @@ -1177,32 +1275,32 @@ btrfs_test_ino_path_ioctls(void) ioctl(-1, BTRFS_IOC_INO_PATHS, NULL); - printf("ioctl(-1, BTRFS_IOC_INO_PATHS, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_INO_PATHS)); ioctl(-1, BTRFS_IOC_LOGICAL_INO, NULL); - printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_LOGICAL_INO)); ioctl(-1, BTRFS_IOC_INO_PATHS, &args); - printf("ioctl(-1, BTRFS_IOC_INO_PATHS, " - "{inum=%" PRI__u64 ", size=%" PRI__u64 + printf("ioctl(-1, %s, {inum=%" PRI__u64 ", size=%" PRI__u64 ", fspath=NULL}) = -1 EBADF (%m)\n", - args.inum, args.size); + ioc(BTRFS_IOC_INO_PATHS), 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 + printf("ioctl(-1, %s, {inum=%" PRI__u64 ", size=%" PRI__u64 ", fspath=0x%" PRI__x64 "}) = -1 EBADF (%m)\n", - args.inum, args.size, args.fspath); + ioc(BTRFS_IOC_INO_PATHS), 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 + printf("ioctl(-1, %s, {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); + ioc(BTRFS_IOC_LOGICAL_INO), args.inum, args.size); args.fspath = (uintptr_t) buf; args.reserved[0] = 0; @@ -1215,11 +1313,13 @@ btrfs_test_ino_path_ioctls(void) 1; ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args); - printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64 + printf("ioctl(-1, %s, {logical=%" PRI__u64 ", size=%" PRI__u64 ", reserved=[0, 0xdeadc0defacefeec, 0]" - ", flags=BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET" + ", flags=%sBTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET%s" ", inodes=0x%" PRI__x64 "}) = -1 EBADF (%m)\n", - args.inum, args.size, args.fspath); + ioc(BTRFS_IOC_LOGICAL_INO), args.inum, args.size, + verbose_xlat ? "0x1 /* " : "", verbose_xlat ? " */" : "", + args.fspath); args.reserved[1] = 0; #ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS @@ -1230,9 +1330,10 @@ btrfs_test_ino_path_ioctls(void) 0; ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args); - printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64 + printf("ioctl(-1, %s, {logical=%" PRI__u64 ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64 - "}) = -1 EBADF (%m)\n", args.inum, args.size, args.fspath); + "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_LOGICAL_INO), args.inum, args.size, args.fspath); #ifdef HAVE_LINUX_FIEMAP_H if (btrfs_test_root) { @@ -1248,17 +1349,16 @@ btrfs_test_ino_path_ioctls(void) perror_msg_and_fail("fstat failed"); args.inum = si.st_ino; - printf("ioctl(%d, BTRFS_IOC_INO_PATHS, " - "{inum=%" PRI__u64 ", size=%" PRI__u64 + printf("ioctl(%d, %s, {inum=%" PRI__u64 ", size=%" PRI__u64 ", fspath=0x%" PRI__x64 "}", - btrfs_test_dir_fd, args.inum, args.size, - args.fspath); + btrfs_test_dir_fd, ioc(BTRFS_IOC_INO_PATHS), + args.inum, args.size, args.fspath); ioctl(btrfs_test_dir_fd, BTRFS_IOC_INO_PATHS, &args); - printf(" => {fspath={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, val=", + printf(" => {fspath={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, ", data->bytes_left, data->bytes_missing, data->elem_cnt, data->elem_missed); if (verbose) { - printf("[\"strace-test\"]"); + printf("val=[\"%s\"]", dir_name); } else printf("..."); printf("}}) = 0\n"); @@ -1280,7 +1380,7 @@ btrfs_test_ino_path_ioctls(void) */ fsync(fd); ioctl(fd, BTRFS_IOC_SYNC, NULL); - printf("ioctl(%d, BTRFS_IOC_SYNC) = 0\n", fd); + printf("ioctl(%d, %s) = 0\n", fd, ioc(BTRFS_IOC_SYNC)); size = sizeof(*fiemap) + 2 * sizeof(fiemap->fm_extents[0]); fiemap = malloc(size); @@ -1292,18 +1392,19 @@ btrfs_test_ino_path_ioctls(void) fiemap->fm_extent_count = 2; /* This is also a live test for FIEMAP */ - printf("ioctl(%d, FS_IOC_FIEMAP, {fm_start=%" PRI__u64 + printf("ioctl(%d, %s, {fm_start=%" PRI__u64 ", fm_length=%" PRI__u64 ", fm_flags=", - fd, fiemap->fm_start, fiemap->fm_length); - printflags(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); + fd, ioc(FS_IOC_FIEMAP), + fiemap->fm_start, fiemap->fm_length); + prfl_btrfs(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); printf(", fm_extent_count=%u}", fiemap->fm_extent_count); ioctl(fd, FS_IOC_FIEMAP, fiemap); printf(" => {fm_flags="); - printflags(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); - printf(", fm_mapped_extents=%u, fm_extents=", + prfl_btrfs(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); + printf(", fm_mapped_extents=%u, ", fiemap->fm_mapped_extents); if (verbose) { - printf("["); + printf("fm_extents=["); unsigned int i; for (i = 0; i < fiemap->fm_mapped_extents; i++) { struct fiemap_extent *fe; @@ -1316,7 +1417,7 @@ btrfs_test_ino_path_ioctls(void) ", ", fe->fe_logical, fe->fe_physical, fe->fe_length); - printflags(fiemap_extent_flags, fe->fe_flags, + prfl_btrfs(fiemap_extent_flags, fe->fe_flags, "FIEMAP_EXTENT_???"); printf("}"); } @@ -1326,15 +1427,16 @@ btrfs_test_ino_path_ioctls(void) printf("}) = 0\n"); args.inum = fiemap->fm_extents[0].fe_physical; - printf("ioctl(%d, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64 + printf("ioctl(%d, %s, {logical=%" PRI__u64 ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64 "}", - fd, args.inum, args.size, args.fspath); + fd, ioc(BTRFS_IOC_LOGICAL_INO), + 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=", + printf(" => {inodes={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, ", data->bytes_left, data->bytes_missing, data->elem_cnt, data->elem_missed); if (verbose) { - printf("[{inum=%llu, offset=0, root=5}]", + printf("val=[{inum=%llu, offset=0, root=5}]", (unsigned long long) si.st_ino); } else printf("..."); @@ -1359,18 +1461,23 @@ btrfs_test_set_received_subvol_ioctl(void) .nsec = 12345, }, }; + int saved_errno; + memcpy(&args.uuid, uuid_reference, BTRFS_UUID_SIZE); ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, NULL); - printf("ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, " - "NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_RECEIVED_SUBVOL)); ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, &args); - printf("ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, " - "{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); + saved_errno = errno; + printf("ioctl(-1, %s, {uuid=%s, stransid=%" PRI__u64 + ", stime={sec=%" PRI__u64 ", nsec=%u}", + ioc(BTRFS_IOC_SET_RECEIVED_SUBVOL), uuid_reference_string, + args.stransid, args.stime.sec, args.stime.nsec); + print_time_t_nsec(args.stime.sec, args.stime.nsec, true); + errno = saved_errno; + printf(", flags=0}) = -1 EBADF (%m)\n"); } /* @@ -1388,29 +1495,25 @@ btrfs_test_send_ioctl(void) }; ioctl(-1, BTRFS_IOC_SEND, NULL); - printf("ioctl(-1, BTRFS_IOC_SEND, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SEND)); - printf("ioctl(-1, BTRFS_IOC_SEND, " - "{send_fd=%d, clone_sources_count=%" PRI__u64 - ", clone_sources=", + printf("ioctl(-1, %s, {send_fd=%d, clone_sources_count=%" PRI__u64 + ", clone_sources=NULL", + ioc(BTRFS_IOC_SEND), (int) args.send_fd, args.clone_sources_count); - if (verbose) - printf("NULL"); - else - printf("..."); printf(", parent_root="); btrfs_print_objectid(args.parent_root); printf(", flags="); - printflags(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); + prfl_btrfs(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); ioctl(-1, BTRFS_IOC_SEND, &args); printf("}) = -1 EBADF (%m)\n"); args.clone_sources_count = 2; args.clone_sources = (__u64 *) (void *) u64_array; - printf("ioctl(-1, BTRFS_IOC_SEND, " - "{send_fd=%d, clone_sources_count=%" PRI__u64 + printf("ioctl(-1, %s, {send_fd=%d, clone_sources_count=%" PRI__u64 ", clone_sources=", + ioc(BTRFS_IOC_SEND), (int) args.send_fd, args.clone_sources_count); if (verbose) { printf("["); @@ -1419,11 +1522,11 @@ btrfs_test_send_ioctl(void) btrfs_print_objectid(u64_array[1]); printf("]"); } else - printf("..."); + printf("%p", args.clone_sources); printf(", parent_root="); btrfs_print_objectid(args.parent_root); printf(", flags="); - printflags(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); + prfl_btrfs(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); ioctl(-1, BTRFS_IOC_SEND, &args); printf("}) = -1 EBADF (%m)\n"); } @@ -1440,26 +1543,37 @@ btrfs_test_quota_ctl_ioctl(void) }; ioctl(-1, BTRFS_IOC_QUOTA_CTL, NULL); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL)); ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "BTRFS_QUOTA_CTL_ENABLE}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {cmd=%sBTRFS_QUOTA_CTL_ENABLE%s}) " + "= -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL), + verbose_xlat ? "0x1 /* " : "", + verbose_xlat ? " */" : ""); args.cmd = 2; ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "BTRFS_QUOTA_CTL_DISABLE}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {cmd=%sBTRFS_QUOTA_CTL_DISABLE%s}) " + "= -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL), + verbose_xlat ? "0x2 /* " : "", + verbose_xlat ? " */" : ""); args.cmd = 3; ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "BTRFS_QUOTA_CTL_RESCAN__NOTUSED}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, " + "{cmd=%sBTRFS_QUOTA_CTL_RESCAN__NOTUSED%s}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL), + verbose_xlat ? "0x3 /* " : "", + verbose_xlat ? " */" : ""); args.cmd = 4; ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "0x4 /* BTRFS_QUOTA_CTL_??? */}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, " + "{cmd=0x4 /* BTRFS_QUOTA_CTL_??? */}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL)); } /* @@ -1476,12 +1590,14 @@ btrfs_test_qgroup_assign_ioctl(void) }; ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, NULL); - printf("ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QGROUP_ASSIGN)); ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, &args); - printf("ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, " + printf("ioctl(-1, %s, " "{assign=%" PRI__u64 ", src=%" PRI__u64 ", dst=%" PRI__u64 - "}) = -1 EBADF (%m)\n", args.assign, args.src, args.dst); + "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QGROUP_ASSIGN), args.assign, args.src, args.dst); } /* @@ -1497,12 +1613,13 @@ btrfs_test_qgroup_create_ioctl(void) }; ioctl(-1, BTRFS_IOC_QGROUP_CREATE, NULL); - printf("ioctl(-1, BTRFS_IOC_QGROUP_CREATE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_QGROUP_CREATE)); ioctl(-1, BTRFS_IOC_QGROUP_CREATE, &args); - printf("ioctl(-1, BTRFS_IOC_QGROUP_CREATE, " + printf("ioctl(-1, %s, " "{create=%" PRI__u64 ", qgroupid=%" PRI__u64 - "}) = -1 EBADF (%m)\n", args.create, args.qgroupid); + "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QGROUP_CREATE), args.create, args.qgroupid); } /* @@ -1519,13 +1636,15 @@ btrfs_test_quota_rescan_ioctl(void) }; ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, NULL); - printf("ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_RESCAN)); ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, " - "{flags=0}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {flags=0}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_RESCAN)); ioctl(-1, BTRFS_IOC_QUOTA_RESCAN_WAIT, NULL); - printf("ioctl(-1, BTRFS_IOC_QUOTA_RESCAN_WAIT) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_RESCAN_WAIT)); } @@ -1542,20 +1661,21 @@ btrfs_test_label_ioctls(void) char label[BTRFS_LABEL_SIZE] = "btrfs-label"; ioctl(-1, BTRFS_IOC_SET_FSLABEL, NULL); - printf("ioctl(-1, BTRFS_IOC_SET_FSLABEL, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_FSLABEL)); ioctl(-1, BTRFS_IOC_SET_FSLABEL, label); - printf("ioctl(-1, BTRFS_IOC_SET_FSLABEL, \"%s\") = -1 EBADF (%m)\n", - label); + printf("ioctl(-1, %s, \"%s\") = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_FSLABEL), label); if (write_ok) { ioctl(btrfs_test_dir_fd, BTRFS_IOC_SET_FSLABEL, label); - printf("ioctl(%d, BTRFS_IOC_SET_FSLABEL, \"%s\") = 0\n", - btrfs_test_dir_fd, label); + printf("ioctl(%d, %s, \"%s\") = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SET_FSLABEL), label); ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_FSLABEL, label); - printf("ioctl(%d, BTRFS_IOC_GET_FSLABEL, \"%s\") = 0\n", - btrfs_test_dir_fd, label); + printf("ioctl(%d, %s, \"%s\") = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_GET_FSLABEL), label); } } @@ -1573,12 +1693,13 @@ btrfs_test_get_dev_stats_ioctl(void) }; ioctl(-1, BTRFS_IOC_GET_DEV_STATS, NULL); - printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_GET_DEV_STATS)); - printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64 - ", nr_items=%" PRI__u64 ", flags=", - args.devid, args.nr_items); - printflags(btrfs_dev_stats_flags, args.flags, + printf("ioctl(-1, %s, {devid=makedev(%u, %u)" + ", nr_items=%" PRI__u64 ", flags=", + ioc(BTRFS_IOC_GET_DEV_STATS), + major(args.devid), minor(args.devid), args.nr_items); + prfl_btrfs(btrfs_dev_stats_flags, args.flags, "BTRFS_DEV_STATS_???"); ioctl(-1, BTRFS_IOC_GET_DEV_STATS, &args); printf("}) = -1 EBADF (%m)\n"); @@ -1586,24 +1707,33 @@ btrfs_test_get_dev_stats_ioctl(void) if (write_ok) { unsigned int i; args.flags = BTRFS_DEV_STATS_RESET; - printf("ioctl(%d, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64 + printf("ioctl(%d, %s, {devid=makedev(%u, %u)" ", nr_items=%" PRI__u64 ", flags=", - btrfs_test_dir_fd, args.devid, args.nr_items); - printflags(btrfs_dev_stats_flags, args.flags, + btrfs_test_dir_fd, ioc(BTRFS_IOC_GET_DEV_STATS), + major(args.devid), minor(args.devid), args.nr_items); + prfl_btrfs(btrfs_dev_stats_flags, args.flags, "BTRFS_DEV_STATS_???"); ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_DEV_STATS, &args); printf("} => {nr_items=%" PRI__u64 ", flags=", args.nr_items); - printflags(btrfs_dev_stats_flags, args.flags, + prfl_btrfs(btrfs_dev_stats_flags, args.flags, "BTRFS_DEV_STATS_???"); printf(", ["); for (i = 0; i < args.nr_items; i++) { const char *name = xlookup(btrfs_dev_stats_values, i); if (i) printf(", "); + + if (name) { + if (verbose_xlat) + printf("[%u /* %s */] = ", i, name); + else + printf("[%s] = ", name); + } else { + printf("[%u] = ", i); + } + printf("%" PRI__u64, args.values[i]); - if (name) - printf(" /* %s */", name); } printf("]}) = 0\n"); } @@ -1627,22 +1757,38 @@ btrfs_test_dev_replace_ioctl(void) /* struct btrfs_ioctl_dev_replace_args */ ioctl(-1, BTRFS_IOC_DEV_REPLACE, NULL); - printf("ioctl(-1, BTRFS_IOC_DEV_REPLACE, NULL) = -1 EBADF (%m)\n"); - - 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 - ", srcdev_name=\"%s\", tgtdev_name=\"%s\"}}) = -1 EBADF (%m)\n", - args.start.srcdevid, - args.start.cont_reading_from_srcdev_mode, - (char *)args.start.srcdev_name, - (char *)args.start.tgtdev_name); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_DEV_REPLACE)); + + for (unsigned long i = 0; i < 3; i++) { + int saved_errno; + + args.start.cont_reading_from_srcdev_mode = i; + ioctl(-1, BTRFS_IOC_DEV_REPLACE, &args); + saved_errno = errno; + printf("ioctl(-1, %s, " + "{cmd=%sBTRFS_IOCTL_DEV_REPLACE_CMD_START%s" + ", start={srcdevid=makedev(%u, %u)" + ", cont_reading_from_srcdev_mode=", + ioc(BTRFS_IOC_DEV_REPLACE), + verbose_xlat ? "0 /* " : "", verbose_xlat ? " */" : "", + major(args.start.srcdevid), minor(args.start.srcdevid)); + prxval_btrfs(btrfs_cont_reading_from_srcdev_mode, + args.start.cont_reading_from_srcdev_mode, + "BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV" + "_MODE_???", i < 2); + errno = saved_errno; + printf(", srcdev_name=\"%s\", tgtdev_name=\"%s\"}}) " + "= -1 EBADF (%m)\n", + (char *)args.start.srcdev_name, + (char *)args.start.tgtdev_name); + } args.cmd = 1; ioctl(-1, BTRFS_IOC_DEV_REPLACE, &args); - printf("ioctl(-1, BTRFS_IOC_DEV_REPLACE, " - "{cmd=BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {cmd=%sBTRFS_IOCTL_DEV_REPLACE_CMD_STATUS%s}) " + "= -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEV_REPLACE), + verbose_xlat ? "0x1 /* " : "", verbose_xlat ? " */" : ""); } static void @@ -1656,13 +1802,16 @@ btrfs_test_extent_same_ioctl(void) struct file_dedupe_range *argsp; ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME, NULL); - printf("ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " - "NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE")); - printf("ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " + printf("ioctl(-1, %s, " "{src_offset=%" PRIu64 ", src_length=%" PRIu64 ", dest_count=%hu, info=[]", + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE"), (uint64_t)args.src_offset, (uint64_t)args.src_length, args.dest_count); ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME, &args); @@ -1682,10 +1831,12 @@ btrfs_test_extent_same_ioctl(void) argsp->info[2].dest_fd = 2; argsp->info[2].dest_offset = 20480; - printf("ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " + printf("ioctl(-1, %s, " "{src_offset=%" PRIu64 ", src_length=%" PRIu64 ", dest_count=%hu, info=", + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE"), (int64_t)argsp->src_offset, (uint64_t)argsp->src_length, argsp->dest_count); printf("[{dest_fd=%" PRId64 ", dest_offset=%" PRIu64 @@ -1744,9 +1895,12 @@ btrfs_test_extent_same_ioctl(void) argsp->info[2].dest_fd = fd2; argsp->info[2].dest_offset = 20480; - printf("ioctl(%d, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " + printf("ioctl(%d, %s, " "{src_offset=%" PRIu64 ", src_length=%" PRIu64 ", dest_count=%hu, info=", fd1, + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME" + " or FIDEDUPERANGE"), (uint64_t)argsp->src_offset, (uint64_t)argsp->src_length, argsp->dest_count); printf("[{dest_fd=%" PRId64 ", dest_offset=%" PRIu64 @@ -1797,11 +1951,11 @@ btrfs_print_features(struct btrfs_ioctl_feature_flags *flags) "BTRFS_FEATURE_COMPAT_???"); printf(", compat_ro_flags="); - printflags(btrfs_features_compat_ro, flags->compat_ro_flags, + prfl_btrfs(btrfs_features_compat_ro, flags->compat_ro_flags, "BTRFS_FEATURE_COMPAT_RO_???"); printf(", incompat_flags="); - printflags(btrfs_features_incompat, flags->incompat_flags, + prfl_btrfs(btrfs_features_incompat, flags->incompat_flags, "BTRFS_FEATURE_INCOMPAT_???"); printf("}"); } @@ -1831,9 +1985,10 @@ btrfs_test_features_ioctls(void) struct btrfs_ioctl_feature_flags supported_features[3]; ioctl(-1, BTRFS_IOC_SET_FEATURES, NULL); - printf("ioctl(-1, BTRFS_IOC_SET_FEATURES, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_FEATURES)); - printf("ioctl(-1, BTRFS_IOC_SET_FEATURES, ["); + printf("ioctl(-1, %s, [", ioc(BTRFS_IOC_SET_FEATURES)); btrfs_print_features(&args[0]); printf(", "); btrfs_print_features(&args[1]); @@ -1841,8 +1996,8 @@ btrfs_test_features_ioctls(void) printf("]) = -1 EBADF (%m)\n"); if (btrfs_test_root) { - printf("ioctl(%d, BTRFS_IOC_GET_FEATURES, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, ioc(BTRFS_IOC_GET_FEATURES)); ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_FEATURES, &supported_features); btrfs_print_features(&supported_features[0]); @@ -1850,8 +2005,9 @@ btrfs_test_features_ioctls(void) ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_SUPPORTED_FEATURES, &supported_features); - printf("ioctl(%d, BTRFS_IOC_GET_SUPPORTED_FEATURES, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, + ioc(BTRFS_IOC_GET_SUPPORTED_FEATURES)); printf("["); btrfs_print_features(&supported_features[0]); printf(" /* supported */, "); @@ -1880,19 +2036,28 @@ btrfs_test_read_ioctls(void) unsigned int i; for (i = 0; i < ARRAY_SIZE(btrfs_read_cmd); ++i) { ioctl(-1, (unsigned long) btrfs_read_cmd[i].val, 0); - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", btrfs_read_cmd[i].str); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + sprint_xlat_(btrfs_read_cmd[i].val, + btrfs_read_cmd[i].str)); } } +static void +rm_test_dir(void) +{ + int rootfd = open(path, O_RDONLY|O_DIRECTORY); + + unlinkat(rootfd, dir_name, AT_REMOVEDIR); +} + int main(int argc, char *argv[]) { int opt; int ret; - const char *path; - while ((opt = getopt(argc, argv, "wv")) != -1) { + while ((opt = getopt(argc, argv, "wvX")) != -1) { switch (opt) { case 'v': /* @@ -1904,11 +2069,18 @@ main(int argc, char *argv[]) case 'w': write_ok = true; break; + case 'X': + verbose_xlat = true; + break; default: - error_msg_and_fail("usage: btrfs [-v] [-w] [path]"); + error_msg_and_fail("usage: btrfs [-vwX] [path]"); } } + ret = snprintf(dir_name, sizeof(dir_name), dir_name_fmt, getpid()); + if (ret < 0) + perror_msg_and_fail("snprintf(dir_name)"); + /* * This will enable optional tests that require a valid file descriptor */ @@ -1930,14 +2102,18 @@ main(int argc, char *argv[]) if (rootfd < 0) perror_msg_and_fail("open(%s) failed", path); - ret = mkdirat(rootfd, "strace-test", 0755); + ret = mkdirat(rootfd, dir_name, 0755); if (ret < 0 && errno != EEXIST) - perror_msg_and_fail("mkdirat(strace-test) failed"); + perror_msg_and_fail("mkdirat(%s) failed", dir_name); + + /* Register removal of the created directory. */ + if (ret == 0) + atexit(rm_test_dir); - btrfs_test_dir_fd = openat(rootfd, "strace-test", + btrfs_test_dir_fd = openat(rootfd, dir_name, O_RDONLY|O_DIRECTORY); if (btrfs_test_dir_fd < 0) - perror_msg_and_fail("openat(strace-test) failed"); + perror_msg_and_fail("openat(%s) failed", dir_name); close(rootfd); } else write_ok = false; diff --git a/tests-m32/execve.c b/tests-m32/execve.c index da3bc520..c1dedfcc 100644 --- a/tests-m32/execve.c +++ b/tests-m32/execve.c @@ -2,7 +2,7 @@ * This file is part of execve strace test. * * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -59,17 +59,18 @@ main(void) execve(FILENAME, tail_argv, tail_envp); printf("execve(\"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #else ", %p /* 5 vars, unterminated */" #endif ") = -1 ENOENT (%m)\n", Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5] + argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv) #if VERBOSE - , q_envp[0], q_envp[1], envp[2], envp[3], envp[4] + , q_envp[0], q_envp[1], envp[2], envp[3], envp[4], + (char *) tail_envp + sizeof(envp) #else , tail_envp #endif diff --git a/tests-m32/execveat.c b/tests-m32/execveat.c index 566a59f9..853e26c4 100644 --- a/tests-m32/execveat.c +++ b/tests-m32/execveat.c @@ -2,7 +2,7 @@ * This file is part of execveat strace test. * * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -64,17 +64,18 @@ main(void) syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100); printf("execveat(AT_FDCWD, \"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #else ", %p /* 5 vars, unterminated */" #endif ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], + argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv), #if VERBOSE q_envp[0], q_envp[1], envp[2], envp[3], envp[4], + (char *) tail_envp + sizeof(envp), #else tail_envp, #endif diff --git a/tests-m32/fanotify_mark-Xabbrev.c b/tests-m32/fanotify_mark-Xabbrev.c new file mode 100644 index 00000000..2dc9fa12 --- /dev/null +++ b/tests-m32/fanotify_mark-Xabbrev.c @@ -0,0 +1 @@ +#include "fanotify_mark.c" diff --git a/tests-m32/fanotify_mark-Xabbrev.gen.test b/tests-m32/fanotify_mark-Xabbrev.gen.test new file mode 100755 index 00000000..86c40340 --- /dev/null +++ b/tests-m32/fanotify_mark-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a32 -Xabbrev -e trace=fanotify_mark diff --git a/tests-m32/fanotify_mark-Xraw.c b/tests-m32/fanotify_mark-Xraw.c new file mode 100644 index 00000000..f02c886a --- /dev/null +++ b/tests-m32/fanotify_mark-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "fanotify_mark.c" diff --git a/tests-m32/fanotify_mark-Xraw.gen.test b/tests-m32/fanotify_mark-Xraw.gen.test new file mode 100755 index 00000000..5be964d0 --- /dev/null +++ b/tests-m32/fanotify_mark-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a32 -Xraw -e trace=fanotify_mark diff --git a/tests-m32/fanotify_mark-Xverbose.c b/tests-m32/fanotify_mark-Xverbose.c new file mode 100644 index 00000000..b76f46f3 --- /dev/null +++ b/tests-m32/fanotify_mark-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "fanotify_mark.c" diff --git a/tests-m32/fanotify_mark-Xverbose.gen.test b/tests-m32/fanotify_mark-Xverbose.gen.test new file mode 100755 index 00000000..ef1a99d6 --- /dev/null +++ b/tests-m32/fanotify_mark-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a32 -Xverbose -e trace=fanotify_mark diff --git a/tests-m32/fanotify_mark.c b/tests-m32/fanotify_mark.c index 11cf7d0d..9509b837 100644 --- a/tests-m32/fanotify_mark.c +++ b/tests-m32/fanotify_mark.c @@ -3,7 +3,7 @@ * * Copyright (c) 2015-2016 Dmitry V. Levin * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -41,6 +41,20 @@ # include # include +#if XLAT_RAW +# define str_fan_mark_add "0x1" +# define str_fan_modify_ondir "0x40000002" +# define str_at_fdcwd "-100" +#elif XLAT_VERBOSE +# define str_fan_mark_add "0x1 /* FAN_MARK_ADD */" +# define str_fan_modify_ondir "0x40000002 /* FAN_MODIFY|FAN_ONDIR */" +# define str_at_fdcwd "-100 /* AT_FDCWD */" +#else +# define str_fan_mark_add "FAN_MARK_ADD" +# define str_fan_modify_ondir "FAN_MODIFY|FAN_ONDIR" +# define str_at_fdcwd "AT_FDCWD" +#endif + /* Performs fanotify_mark call via the syscall interface. */ static void do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str, @@ -97,26 +111,73 @@ main(void) static const struct strval flags[] = { { F8ILL_KULONG_MASK, "0" }, { (kernel_ulong_t) 0xdec0deddefaced00ULL, - "0xefaced00 /* FAN_MARK_??? */" }, + "0xefaced00" +#if !XLAT_RAW + " /* FAN_MARK_??? */" +#endif + }, { (kernel_ulong_t) 0xda7a105700000040ULL, - "FAN_MARK_IGNORED_SURV_MODIFY" }, +#if XLAT_RAW + "0x40" +#elif XLAT_VERBOSE + "0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */" +#else + "FAN_MARK_IGNORED_SURV_MODIFY" +#endif + }, { (kernel_ulong_t) 0xbadc0deddeadfeedULL, +#if XLAT_RAW || XLAT_VERBOSE + "0xdeadfeed" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW "FAN_MARK_ADD|FAN_MARK_DONT_FOLLOW|FAN_MARK_ONLYDIR|" "FAN_MARK_IGNORED_MASK|FAN_MARK_IGNORED_SURV_MODIFY|" - "FAN_MARK_FLUSH|0xdeadfe00" }, + "FAN_MARK_FLUSH|0xdeadfe00" +#endif +#if XLAT_VERBOSE + " */" +#endif + }, }; static const struct strval64 masks[] = { { ARG_ULL_STR(0) }, { 0xdeadfeedfacebeefULL, +#if XLAT_RAW || XLAT_VERBOSE + "0xdeadfeedfacebeef" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW "FAN_ACCESS|FAN_MODIFY|FAN_CLOSE_WRITE|FAN_OPEN|" "FAN_ACCESS_PERM|FAN_ONDIR|FAN_EVENT_ON_CHILD|" - "0xdeadfeedb2ccbec4" }, - { ARG_ULL_STR(0xffffffffb7fcbfc4) " /* FAN_??? */" }, + "0xdeadfeedb2ccbec4" +#endif +#if XLAT_VERBOSE + " */" +#endif + }, + { ARG_ULL_STR(0xffffffffb7fcbfc4) +#if !XLAT_RAW + " /* FAN_??? */" +#endif + }, }; static const struct strval dirfds[] = { { (kernel_ulong_t) 0xfacefeed00000001ULL, "1" }, - { (kernel_ulong_t) 0xdec0ded0ffffffffULL, "FAN_NOFD" }, - { (kernel_ulong_t) 0xbadfacedffffff9cULL, "AT_FDCWD" }, + { (kernel_ulong_t) 0xdec0ded0ffffffffULL, +#if XLAT_RAW + "-1" +#elif XLAT_VERBOSE + "-1 /* FAN_NOFD */" +#else + "FAN_NOFD" +#endif + }, + { (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd }, { (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" }, }; static const char str64[] = STR64; @@ -149,8 +210,9 @@ main(void) rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -100, "."); - printf("fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY|FAN_ONDIR" - ", AT_FDCWD, \".\") = %s\n", sprintrc(rc)); + printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n", + str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd, + sprintrc(rc)); for (i = 0; i < ARRAY_SIZE(fds); i++) { for (j = 0; j < ARRAY_SIZE(flags); j++) { diff --git a/tests-m32/fcntl-common.c b/tests-m32/fcntl-common.c new file mode 100644 index 00000000..a35a8372 --- /dev/null +++ b/tests-m32/fcntl-common.c @@ -0,0 +1,267 @@ +/* + * Copyright (c) 2015-2016 Dmitry V. Levin + * 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 +#include +#include +#include +#include +#include "flock.h" + +#define FILE_LEN 4096 + +#define TEST_FLOCK_EINVAL(cmd) test_flock_einval(cmd, #cmd) +#define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) + +#ifdef HAVE_TYPEOF +# define TYPEOF_FLOCK_OFF_T typeof(((struct_kernel_flock *) NULL)->l_len) +#else +# define TYPEOF_FLOCK_OFF_T off_t +#endif + +static const char *errstr; + +static long +invoke_test_syscall(const unsigned int fd, const unsigned int cmd, void *const p) +{ + const kernel_ulong_t kfd = F8ILL_KULONG_MASK | fd; + const kernel_ulong_t op = F8ILL_KULONG_MASK | cmd; + + long rc = syscall(TEST_SYSCALL_NR, kfd, op, (uintptr_t) p); + errstr = sprintrc(rc); + return rc; +} + +static void +test_flock_einval(const int cmd, const char *name) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL; + fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; + + invoke_test_syscall(0, cmd, fl); + printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, + (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); + + void *const bad_addr = (void *) fl + 1; + invoke_test_syscall(0, cmd, bad_addr); + printf("%s(0, %s, %p) = %s\n", + TEST_SYSCALL_STR, name, bad_addr, errstr); +} + +/* + * This function is not declared static to avoid potential + * "defined but not used" warning when included by fcntl.c + */ +void +test_flock64_einval(const int cmd, const char *name) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock64, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL; + fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; + + invoke_test_syscall(0, cmd, fl); + printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, + (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); + + void *const bad_addr = (void *) fl + 1; + invoke_test_syscall(0, cmd, bad_addr); + printf("%s(0, %s, %p) = %s\n", + TEST_SYSCALL_STR, name, bad_addr, errstr); +} + +static void +test_flock(void) +{ + TEST_FLOCK_EINVAL(F_SETLK); + TEST_FLOCK_EINVAL(F_SETLKW); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_len = FILE_LEN; + + long rc = invoke_test_syscall(0, F_SETLK, fl); + printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = %s\n", + TEST_SYSCALL_STR, FILE_LEN, errstr); + if (rc) + return; + + invoke_test_syscall(0, F_GETLK, fl); + printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d, l_pid=0}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); + + invoke_test_syscall(0, F_SETLKW, fl); + printf("%s(0, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); +} + +static void +test_flock64_ofd(void) +{ +#if defined F_OFD_GETLK && defined F_OFD_SETLK && defined F_OFD_SETLKW + TEST_FLOCK64_EINVAL(F_OFD_SETLK); + TEST_FLOCK64_EINVAL(F_OFD_SETLKW); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock64, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_len = FILE_LEN; + + long rc = invoke_test_syscall(0, F_OFD_SETLK, fl); + printf("%s(0, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = %s\n", + TEST_SYSCALL_STR, FILE_LEN, errstr); + if (rc) + return; + + invoke_test_syscall(0, F_OFD_GETLK, fl); + printf("%s(0, F_OFD_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d, l_pid=0}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); + + invoke_test_syscall(0, F_OFD_SETLKW, fl); + printf("%s(0, F_OFD_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); +#endif /* F_OFD_GETLK && F_OFD_SETLK && F_OFD_SETLKW */ +} + +static void test_flock64_lk64(void); + +static void +test_flock64(void) +{ + test_flock64_ofd(); + test_flock64_lk64(); +} + +/* + * F_[GS]ETOWN_EX had conflicting values with F_[SG]ETLK64 + * in kernel revisions v2.6.32-rc1~96..v2.6.32-rc7~23. + */ +#undef TEST_F_OWNER_EX +#if defined F_GETOWN_EX && defined F_SETOWN_EX \ + && (F_GETOWN_EX != F_SETLK64) && (F_SETOWN_EX != F_GETLK64) +# define TEST_F_OWNER_EX +#endif + +#ifdef TEST_F_OWNER_EX +# include "f_owner_ex.h" + +static long +test_f_owner_ex_type_pid(const int cmd, const char *const cmd_name, + const int type, const char *const type_name, + pid_t pid) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_f_owner_ex, fo); + + fo->type = type; + fo->pid = pid; + long rc = invoke_test_syscall(0, cmd, fo); + printf("%s(0, %s, {type=%s, pid=%d}) = %s\n", + TEST_SYSCALL_STR, cmd_name, type_name, fo->pid, errstr); + + void *bad_addr = (void *) fo + 1; + invoke_test_syscall(0, cmd, bad_addr); + printf("%s(0, %s, %p) = %s\n", + TEST_SYSCALL_STR, cmd_name, bad_addr, errstr); + + return rc; +} + +static void +test_f_owner_ex_umove_or_printaddr(const int type, const char *const type_name, + pid_t pid) +{ + long rc = test_f_owner_ex_type_pid(ARG_STR(F_SETOWN_EX), + type, type_name, pid); + if (!rc) + test_f_owner_ex_type_pid(ARG_STR(F_GETOWN_EX), + type, type_name, pid); +} + +static void +test_f_owner_ex(void) +{ + static const struct { + int type; + const char *type_name; + pid_t pid[2]; + } a[] = { + { ARG_STR(F_OWNER_TID), { 1234567890, 20 } }, + { ARG_STR(F_OWNER_PID), { 1298126790, 30 } }, + { ARG_STR(F_OWNER_PGRP), { 1294567890, 40 } } + }; + + for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) { + for (unsigned int j = 0; j < ARRAY_SIZE(a[0].pid); j++) { + test_f_owner_ex_umove_or_printaddr(a[i].type, + a[i].type_name, + a[i].pid[j]); + } + } +} +#endif /* TEST_F_OWNER_EX */ + +static void +create_sample(void) +{ + char fname[] = TEST_SYSCALL_STR "_XXXXXX"; + + (void) close(0); + if (mkstemp(fname)) + perror_msg_and_fail("mkstemp: %s", fname); + if (unlink(fname)) + perror_msg_and_fail("unlink: %s", fname); + if (ftruncate(0, FILE_LEN)) + perror_msg_and_fail("ftruncate"); +} + +int +main(void) +{ + create_sample(); + test_flock(); + test_flock64(); +#ifdef TEST_F_OWNER_EX + test_f_owner_ex(); +#endif + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-m32/fcntl.c b/tests-m32/fcntl.c index 4f62ca2a..7539f190 100644 --- a/tests-m32/fcntl.c +++ b/tests-m32/fcntl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -33,51 +33,40 @@ # define TEST_SYSCALL_NR __NR_fcntl # define TEST_SYSCALL_STR "fcntl" -# include "struct_flock.c" - -# define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) +# include "fcntl-common.c" static void -test_flock64_einval(const int cmd, const char *name) +test_flock64_undecoded(const int cmd, const char *name) { struct_kernel_flock64 fl = { .l_type = F_RDLCK, .l_start = 0xdefaced1facefeedULL, .l_len = 0xdefaced2cafef00dULL }; - long rc = invoke_test_syscall(cmd, &fl); + invoke_test_syscall(0, cmd, &fl); printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, &fl, sprintrc(rc)); + TEST_SYSCALL_STR, name, &fl, errstr); } +#define TEST_FLOCK64_UNDECODED(cmd) test_flock64_undecoded(cmd, #cmd) + static void -test_flock64(void) +test_flock64_lk64(void) { /* * F_[GS]ETOWN_EX had conflicting values with F_[GS]ETLK64 * in kernel revisions v2.6.32-rc1~96..v2.6.32-rc7~23. */ -#if !defined(F_GETOWN_EX) || F_GETOWN_EX != F_SETLK64 - TEST_FLOCK64_EINVAL(F_SETLK64); -#endif +# if !defined(F_GETOWN_EX) || F_GETOWN_EX != F_SETLK64 + TEST_FLOCK64_UNDECODED(F_SETLK64); +# endif /* F_GETLK and F_SETLKW64 have conflicting values on mips64 */ -#if !defined(__mips64) || F_GETLK != F_SETLKW64 - TEST_FLOCK64_EINVAL(F_SETLKW64); -#endif -#if !defined(F_SETOWN_EX) || F_SETOWN_EX != F_GETLK64 - TEST_FLOCK64_EINVAL(F_GETLK64); -#endif -} - -int -main(void) -{ - create_sample(); - test_flock(); - test_flock64(); - - puts("+++ exited with 0 +++"); - return 0; +# if !defined(__mips64) || F_GETLK != F_SETLKW64 + TEST_FLOCK64_UNDECODED(F_SETLKW64); +# endif +# if !defined(F_SETOWN_EX) || F_SETOWN_EX != F_GETLK64 + TEST_FLOCK64_UNDECODED(F_GETLK64); +# endif } #else diff --git a/tests-m32/fcntl64.c b/tests-m32/fcntl64.c index 068956ed..f65f7cb5 100644 --- a/tests-m32/fcntl64.c +++ b/tests-m32/fcntl64.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -33,68 +33,38 @@ # define TEST_SYSCALL_NR __NR_fcntl64 # define TEST_SYSCALL_STR "fcntl64" -# include "struct_flock.c" - -# define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) - -static void -test_flock64_einval(const int cmd, const char *name) -{ - struct_kernel_flock64 fl = { - .l_type = F_RDLCK, - .l_start = 0xdefaced1facefeedULL, - .l_len = 0xdefaced2cafef00dULL - }; - long rc = invoke_test_syscall(cmd, &fl); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc)); -} +# include "fcntl-common.c" static void -test_flock64(void) +test_flock64_lk64(void) { TEST_FLOCK64_EINVAL(F_SETLK64); TEST_FLOCK64_EINVAL(F_SETLKW64); -# ifdef F_OFD_SETLK - TEST_FLOCK64_EINVAL(F_OFD_SETLK); - TEST_FLOCK64_EINVAL(F_OFD_SETLKW); -# endif - struct_kernel_flock64 fl = { - .l_type = F_RDLCK, - .l_len = FILE_LEN - }; - long rc = invoke_test_syscall(F_SETLK64, &fl); + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock64, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_len = FILE_LEN; + + long rc = invoke_test_syscall(0, F_SETLK64, fl); printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET" ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc)); + TEST_SYSCALL_STR, FILE_LEN, errstr); if (rc) return; - invoke_test_syscall(F_GETLK64, &fl); + invoke_test_syscall(0, F_GETLK64, fl); printf("%s(0, F_GETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET" ", l_start=0, l_len=%d, l_pid=0}) = 0\n", TEST_SYSCALL_STR, FILE_LEN); - invoke_test_syscall(F_SETLK64, &fl); - printf("%s(0, F_SETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET" + invoke_test_syscall(0, F_SETLKW64, fl); + printf("%s(0, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET" ", l_start=0, l_len=%d}) = 0\n", TEST_SYSCALL_STR, FILE_LEN); } -int -main(void) -{ - create_sample(); - test_flock(); - test_flock64(); - - puts("+++ exited with 0 +++"); - return 0; -} - #else SKIP_MAIN_UNDEFINED("__NR_fcntl64") diff --git a/tests-m32/gen_tests.am b/tests-m32/gen_tests.am index 2cd76bc2..5db83759 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 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 +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 aio_pgetevents.gen.test alarm.gen.test bpf.gen.test bpf-v.gen.test bpf-obj_get_info_by_fd.gen.test bpf-obj_get_info_by_fd-v.gen.test bpf-obj_get_info_by_fd-prog.gen.test bpf-obj_get_info_by_fd-prog-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 fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test fanotify_mark-Xverbose.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_inotify.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_perf.gen.test ioctl_ptp.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_msg-Xabbrev.gen.test ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test ipc_sem-Xabbrev.gen.test ipc_sem-Xraw.gen.test ipc_sem-Xverbose.gen.test ipc_shm.gen.test ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test ipc_shm-Xverbose.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 keyctl-Xabbrev.gen.test keyctl-Xraw.gen.test keyctl-Xverbose.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 mmap-Xabbrev.gen.test mmap-Xraw.gen.test mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test mmap64-Xraw.gen.test mmap64-Xverbose.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 mount-Xabbrev.gen.test mount-Xraw.gen.test mount-Xverbose.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_af_spec.gen.test nlattr_ifla_brport.gen.test nlattr_ifla_linkinfo.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 old_mmap-Xabbrev.gen.test old_mmap-Xraw.gen.test old_mmap-Xverbose.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 personality-Xabbrev.gen.test personality-Xraw.gen.test personality-Xverbose.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 so_peercred-Xabbrev.gen.test so_peercred-Xraw.gen.test so_peercred-Xverbose.gen.test sock_filter-v.gen.test sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test sock_filter-v-Xverbose.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_personality_32.gen.test trace_personality_64.gen.test trace_personality_x32.gen.test trace_personality_regex_32.gen.test trace_personality_regex_64.gen.test trace_personality_regex_x32.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) $^ $@ @@ -28,6 +28,9 @@ $(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/aio_pgetevents.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) $^ $@ @@ -37,6 +40,18 @@ $(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/bpf-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/bpf-obj_get_info_by_fd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog-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) $^ $@ @@ -124,6 +139,15 @@ $(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xverbose.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) $^ $@ @@ -316,6 +340,9 @@ $(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.i $(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_inotify.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) $^ $@ @@ -334,6 +361,12 @@ $(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ioctl_nsfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_perf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ioctl_ptp.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) $^ $@ @@ -376,12 +409,48 @@ $(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ipc_msg-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xverbose.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_sem-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xverbose.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)/ipc_shm-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xverbose.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) $^ $@ @@ -400,6 +469,15 @@ $(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/keyctl-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xverbose.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) $^ $@ @@ -463,9 +541,27 @@ $(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xverbose.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)/mmap64-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xverbose.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) $^ $@ @@ -484,6 +580,15 @@ $(srcdir)/modify_ldt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mount-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xverbose.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) $^ $@ @@ -610,9 +715,15 @@ $(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_te $(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/nlattr_ifla_af_spec.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_linkinfo.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) $^ $@ @@ -685,6 +796,15 @@ $(srcdir)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/old_mmap-v-none.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/old_mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xverbose.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) $^ $@ @@ -727,6 +847,15 @@ $(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcd $(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/personality-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xverbose.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) $^ $@ @@ -1057,9 +1186,27 @@ $(srcdir)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/so_peercred-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xverbose.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)/sock_filter-v-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xverbose.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) $^ $@ @@ -1141,6 +1288,24 @@ $(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/trace_personality_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_x32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_x32.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) $^ $@ diff --git a/tests-m32/gen_tests.in b/tests-m32/gen_tests.in index a95ff3e2..24e0510e 100644 --- a/tests-m32/gen_tests.in +++ b/tests-m32/gen_tests.in @@ -34,9 +34,14 @@ acct -a20 add_key -a30 -s12 adjtimex -a15 aio -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy +aio_pgetevents -e trace=io_pgetevents alarm -a10 bpf -a20 bpf-v -a20 -v -e trace=bpf +bpf-obj_get_info_by_fd -a20 -y -e trace=bpf +bpf-obj_get_info_by_fd-v -a20 -y -v -e trace=bpf +bpf-obj_get_info_by_fd-prog -a20 -y -e trace=bpf +bpf-obj_get_info_by_fd-prog-v -a20 -y -v -e trace=bpf btrfs +ioctl.test chmod -a28 chown -a28 @@ -66,6 +71,9 @@ fadvise64_64 +fadvise64.test fallocate -a18 fanotify_init fanotify_mark -a32 +fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark +fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark +fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark fchdir -a11 fchmod -a15 fchmodat @@ -130,12 +138,15 @@ ioctl_dm +ioctl.test -s9 ioctl_dm-v +ioctl.test -v -s9 ioctl_evdev +ioctl.test ioctl_evdev-v +ioctl.test -v +ioctl_inotify +ioctl.test ioctl_kvm_run +ioctl.test -a36 -y ioctl_loop +ioctl.test ioctl_loop-nv +ioctl.test -a22 -e verbose=none ioctl_loop-v +ioctl.test -v ioctl_mtd +ioctl.test ioctl_nsfs +ioctl.test -esignal=none +ioctl_perf +ioctl.test +ioctl_ptp +ioctl.test ioctl_rtc +ioctl.test ioctl_rtc-v +ioctl.test -v ioctl_scsi +ioctl.test @@ -149,15 +160,30 @@ iopl -a8 ioprio -a18 -e trace=ioprio_get,ioprio_set ip_mreq -e trace=setsockopt ipc -a19 -ipc_msg +ipc.sh -ipc_sem +ipc.sh -ipc_shm +ipc.sh +ipc_msg +ipc.sh -a26 +ipc_msg-Xabbrev +ipc.sh -Xabbrev -a26 +ipc_msg-Xraw +ipc.sh -Xraw -a16 +ipc_msg-Xverbose +ipc.sh -Xverbose -a34 +ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22 +ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose +ipc_sem +ipc.sh -a29 +ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 +ipc_sem-Xraw +ipc.sh -Xraw -a19 +ipc_sem-Xverbose +ipc.sh -Xverbose -a36 +ipc_shm +ipc.sh -a29 +ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29 +ipc_shm-Xraw +ipc.sh -Xraw -a19 +ipc_shm-Xverbose +ipc.sh -Xverbose -a36 kcmp -a22 kcmp-y -a22 -y -e trace=kcmp kern_features -a16 kexec_file_load -s9 kexec_load -s9 keyctl -a31 -s10 +keyctl-Xabbrev -a31 -s10 -e trace=keyctl -Xabbrev +keyctl-Xraw -a13 -s10 -e trace=keyctl -Xraw +keyctl-Xverbose -a41 -s10 -e trace=keyctl -Xverbose kill -a12 -esignal=none lchown -a30 lchown32 -a32 @@ -179,13 +205,22 @@ mknodat -a35 mlock -a20 -e trace=mlock,munlock mlock2 mlockall -a12 +mmap-Xabbrev +mmap.test abbrev +mmap-Xraw +mmap.test raw 14 +mmap-Xverbose +mmap.test verbose mmap64 +mmap.test +mmap64-Xabbrev +mmap.test abbrev +mmap64-Xraw +mmap.test raw 14 +mmap64-Xverbose +mmap.test verbose mmsg -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg mmsg-silent -a25 -e verbose=none -e trace=sendmmsg,recvmmsg mmsg_name -a25 -e trace=sendmmsg,recvmmsg mmsg_name-v -v -a25 -e trace=sendmmsg,recvmmsg modify_ldt -a23 -mount +mount -a33 +mount-Xabbrev -a33 -e trace=mount -Xabbrev +mount-Xraw -a33 -e trace=mount -Xraw +mount-Xverbose -a33 -e trace=mount -Xverbose move_pages -s3 mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink @@ -228,7 +263,9 @@ nlattr_fib_rule_hdr +netlink_sock_diag.test nlattr_ifaddrlblmsg +netlink_sock_diag.test nlattr_ifaddrmsg +netlink_sock_diag.test nlattr_ifinfomsg +netlink_sock_diag.test +nlattr_ifla_af_spec +netlink_sock_diag.test nlattr_ifla_brport +netlink_sock_diag.test +nlattr_ifla_linkinfo +netlink_sock_diag.test nlattr_ifla_port +netlink_sock_diag.test nlattr_ifla_xdp +netlink_sock_diag.test nlattr_inet_diag_msg +netlink_sock_diag.test @@ -253,6 +290,9 @@ nlattr_unix_diag_msg +netlink_sock_diag.test old_mmap -a11 -e trace=mmap old_mmap-P -e trace=mmap -P "/dev/full" 9>>/dev/full old_mmap-v-none -a11 -e trace=mmap -e verbose=none +old_mmap-Xabbrev -a11 -e trace=mmap -Xabbrev +old_mmap-Xraw -a11 -e trace=mmap -Xraw +old_mmap-Xverbose -a11 -e trace=mmap -Xverbose oldfstat -a18 -v -P stat.sample oldlstat -a32 -v -P stat.sample -P /dev/full oldselect -a13 -e trace=select @@ -267,6 +307,9 @@ pause -a8 -esignal=none perf_event_open -a1 perf_event_open_nonverbose -a34 -e verbose=none -e trace=perf_event_open perf_event_open_unabbrev -a1 -v -e trace=perf_event_open +personality-Xabbrev +personality.test -Xabbrev +personality-Xraw +personality.test -a15 -Xraw +personality-Xverbose +personality.test -Xverbose pipe2 -a15 pkey_alloc -a17 pkey_free -a13 @@ -322,7 +365,7 @@ rt_tgsigqueueinfo -esignal=none s390_guarded_storage -a32 s390_guarded_storage-v -e trace=s390_guarded_storage -a32 -v s390_pci_mmio_read_write -e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30 -s390_runtime_instr -a50 +s390_runtime_instr -a44 s390_sthyi -a47 s390_sthyi-v -e trace=s390_sthyi -a47 -v sched test_trace_expr times -e/sched @@ -377,7 +420,13 @@ sigreturn -esignal='!USR1' sigsuspend -a19 -esignal=none so_linger -e trace=getsockopt,setsockopt so_peercred -e trace=getsockopt +so_peercred-Xabbrev -e trace=getsockopt -Xabbrev +so_peercred-Xraw -e trace=getsockopt -Xraw -a39 +so_peercred-Xverbose -e trace=getsockopt -Xverbose sock_filter-v -v -e trace=getsockopt,setsockopt +sock_filter-v-Xabbrev -v -e trace=getsockopt,setsockopt -X abbrev +sock_filter-v-Xraw -a 37 -v -e trace=getsockopt,setsockopt -X raw +sock_filter-v-Xverbose -v -e trace=getsockopt,setsockopt -X verbose socketcall -a20 sockopt-sol_netlink -e trace=getsockopt,setsockopt splice @@ -405,6 +454,12 @@ times-fail -a12 -e trace=times trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full trace_fstatfs test_trace_expr '' -e%fstatfs trace_lstat test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full +trace_personality_32 +qualify_personality.sh 32 'getcwd' 'fsync-y' +trace_personality_64 +qualify_personality.sh 64 'getcwd' 'fsync-y' +trace_personality_x32 +qualify_personality.sh x32 'getcwd' 'fsync-y' +trace_personality_regex_32 +qualify_personality.sh 32 '/clock.*' 'times|fcntl.*' +trace_personality_regex_64 +qualify_personality.sh 64 '/clock.*' 'times|fcntl.*' +trace_personality_regex_x32 +qualify_personality.sh x32 '/clock.*' 'times|fcntl.*' trace_question test_trace_expr '' -e?osf_utimes,?/^pkey_.* trace_stat test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full diff --git a/tests-m32/init.sh b/tests-m32/init.sh index dffbfceb..8861b70d 100644 --- a/tests-m32/init.sh +++ b/tests-m32/init.sh @@ -1,7 +1,7 @@ #!/bin/sh # # Copyright (c) 2011-2016 Dmitry V. Levin -# 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 @@ -230,6 +230,17 @@ run_strace_match_diff() match_diff "$LOG" "$EXP" } +# Usage: run_strace_match_grep [args to run_strace] +run_strace_match_grep() +{ + args="$*" + [ -n "$args" -a -z "${args##*-e trace=*}" ] || + set -- -e trace="$NAME" "$@" + run_prog > /dev/null + run_strace "$@" $args > "$EXP" + match_grep "$LOG" "$EXP" +} + # Print kernel version code. # usage: kernel_version_code $(uname -r) kernel_version_code() diff --git a/tests-m32/ioctl_evdev.c b/tests-m32/ioctl_evdev.c index 9d16cecf..5eacac02 100644 --- a/tests-m32/ioctl_evdev.c +++ b/tests-m32/ioctl_evdev.c @@ -2,7 +2,7 @@ * This file is part of ioctl_evdev strace test. * * Copyright (c) 2016 Dmitry V. Levin - * 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,6 +39,13 @@ # include # include +# ifndef EV_SW +# define EV_SW 5 +# endif +# ifndef ABS_MT_TOOL_Y +# define ABS_MT_TOOL_Y 0x3d +# endif + static const unsigned int magic = 0xdeadbeef; static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL; @@ -67,12 +74,14 @@ print_ffe_common(const struct ff_effect *const ffe, const char *const type_str) # endif /* VERBOSE */ } -# define TEST_NULL_ARG(cmd) \ +# define TEST_NULL_ARG_EX(cmd, str) \ do { \ ioctl(-1, cmd, 0); \ - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \ + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", str); \ } while (0) +# define TEST_NULL_ARG(cmd) TEST_NULL_ARG_EX(cmd, #cmd) + int main(void) { @@ -117,14 +126,24 @@ main(void) TEST_NULL_ARG(EVIOCGABS(ABS_X)); TEST_NULL_ARG(EVIOCSABS(ABS_X)); + TEST_NULL_ARG_EX(EVIOCGABS(0xe), "EVIOCGABS(0xe /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0xe), "EVIOCSABS(0xe /* ABS_??? */)"); + + TEST_NULL_ARG(EVIOCGABS(ABS_MT_TOOL_Y)); + TEST_NULL_ARG(EVIOCSABS(ABS_MT_TOOL_Y)); + + TEST_NULL_ARG_EX(EVIOCGABS(0x3e), "EVIOCGABS(0x3e /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0x3e), "EVIOCSABS(0x3e /* ABS_??? */)"); + + TEST_NULL_ARG_EX(EVIOCGABS(0x3f), "EVIOCGABS(0x3f /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0x3f), "EVIOCSABS(0x3f /* ABS_??? */)"); + TEST_NULL_ARG(EVIOCGBIT(EV_SYN, 0)); TEST_NULL_ARG(EVIOCGBIT(EV_KEY, 1)); TEST_NULL_ARG(EVIOCGBIT(EV_REL, 2)); TEST_NULL_ARG(EVIOCGBIT(EV_ABS, 3)); TEST_NULL_ARG(EVIOCGBIT(EV_MSC, 4)); -# ifdef EV_SW TEST_NULL_ARG(EVIOCGBIT(EV_SW, 5)); -# endif TEST_NULL_ARG(EVIOCGBIT(EV_LED, 6)); TEST_NULL_ARG(EVIOCGBIT(EV_SND, 7)); TEST_NULL_ARG(EVIOCGBIT(EV_REP, 8)); @@ -132,6 +151,12 @@ main(void) TEST_NULL_ARG(EVIOCGBIT(EV_PWR, 10)); TEST_NULL_ARG(EVIOCGBIT(EV_FF_STATUS, 11)); + TEST_NULL_ARG_EX(EVIOCGBIT(0x6, 12), "EVIOCGBIT(0x6 /* EV_??? */, 12)"); + TEST_NULL_ARG_EX(EVIOCGBIT(0x18, 13), + "EVIOCGBIT(0x18 /* EV_??? */, 13)"); + TEST_NULL_ARG_EX(EVIOCGBIT(0x1f, 14), + "EVIOCGBIT(0x1f /* EV_??? */, 14)"); + ioctl(-1, EVIOCGBIT(EV_MAX, 42), 0); printf("ioctl(-1, EVIOCGBIT(%#x /* EV_??? */, 42), NULL)" " = -1 EBADF (%m)\n", EV_MAX); diff --git a/tests-m32/ioctl_inotify.c b/tests-m32/ioctl_inotify.c new file mode 100644 index 00000000..0650c624 --- /dev/null +++ b/tests-m32/ioctl_inotify.c @@ -0,0 +1,81 @@ +/* + * This file is part of ioctl_inotify strace test. + * + * 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 +#include +#include +#include +#include +#include + +#ifndef INOTIFY_IOC_SETNEXTWD +# define INOTIFY_IOC_SETNEXTWD _IOW('I', 0, int32_t) +#endif + +static long +sys_ioctl(kernel_long_t fd, kernel_ulong_t cmd, kernel_ulong_t arg) +{ + return syscall(__NR_ioctl, fd, cmd, arg); +} + +int +main(void) +{ + static const kernel_ulong_t unknown_inotify_cmd = + (kernel_ulong_t) 0xbadc0dedfeed49edULL; + static const kernel_ulong_t magic = + (kernel_ulong_t) 0xdeadbeefbadc0dedULL; + + /* Unknown inotify commands */ + sys_ioctl(-1, unknown_inotify_cmd, magic); + printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x49, %#x, %#x), " + "%#lx) = -1 EBADF (%m)\n", + _IOC_DIR((unsigned int) unknown_inotify_cmd) & _IOC_NONE ? + "|_IOC_NONE" : "", + _IOC_NR((unsigned int) unknown_inotify_cmd), + _IOC_SIZE((unsigned int) unknown_inotify_cmd), + (unsigned long) magic); + + sys_ioctl(-1, INOTIFY_IOC_SETNEXTWD + 1, magic); + printf("ioctl(-1, _IOC(_IOC_WRITE, 0x49, %#x, %#x), %#lx)" + " = -1 EBADF (%m)\n", + (unsigned int) _IOC_NR(INOTIFY_IOC_SETNEXTWD + 1), + (unsigned int) _IOC_SIZE(INOTIFY_IOC_SETNEXTWD + 1), + (unsigned long) magic); + + /* INOTIFY_IOC_SETNEXTWD */ + sys_ioctl(-1, INOTIFY_IOC_SETNEXTWD, magic); + printf("ioctl(-1, INOTIFY_IOC_SETNEXTWD, %d) = -1 EBADF (%m)\n", + (int) magic); + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-m32/ioctl_inotify.gen.test b/tests-m32/ioctl_inotify.gen.test new file mode 100755 index 00000000..237a98b8 --- /dev/null +++ b/tests-m32/ioctl_inotify.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_inotify +ioctl.test ); do not edit. +set -- +. "${srcdir=.}/ioctl.test" diff --git a/tests-m32/ioctl_kvm_run.c b/tests-m32/ioctl_kvm_run.c index 17946143..e1bef579 100644 --- a/tests-m32/ioctl_kvm_run.c +++ b/tests-m32/ioctl_kvm_run.c @@ -40,6 +40,7 @@ # include # include # include +# include # include static int @@ -56,7 +57,7 @@ kvm_ioctl(int fd, unsigned long cmd, const char *cmd_str, void *arg) static const char dev[] = "/dev/kvm"; static const char vm_dev[] = "anon_inode:kvm-vm"; -static const char vcpu_dev[] = "anon_inode:kvm-vcpu"; +static char vcpu_dev[] = "anon_inode:kvm-vcpu:0"; static size_t page_size; extern const char code[]; @@ -165,6 +166,23 @@ run_kvm(const int vcpu_fd, struct kvm_run *const run, const size_t mmap_size, } } +static int +vcpu_dev_should_have_cpuid(int fd) +{ + int r = 0; + char *filename = NULL; + char buf[sizeof(vcpu_dev)]; + + if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0) + error_msg_and_fail("asprintf"); + + if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1 + && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0)) + r = 1; + free(filename); + return r; +} + int main(void) { @@ -208,6 +226,15 @@ main(void) (unsigned long) page_size, (unsigned long) page_size, mem); int vcpu_fd = KVM_IOCTL(vm_fd, KVM_CREATE_VCPU, NULL); + if (!vcpu_dev_should_have_cpuid(vcpu_fd)) + /* + * This is an older kernel that doesn't place a cpuid + * at the end of the dentry associated with vcpu_fd. + * Trim the cpuid part of vcpu_dev like: + * "anon_inode:kvm-vcpu:0" -> "anon_inode:kvm-vcpu" + */ + vcpu_dev[strlen (vcpu_dev) - 2] = '\0'; + printf("ioctl(%d<%s>, KVM_CREATE_VCPU, 0) = %d<%s>\n", vm_fd, vm_dev, vcpu_fd, vcpu_dev); diff --git a/tests-m32/ioctl_loop.c b/tests-m32/ioctl_loop.c index bafbd378..10b7dc34 100644 --- a/tests-m32/ioctl_loop.c +++ b/tests-m32/ioctl_loop.c @@ -34,8 +34,10 @@ #include #include #include +#include #include #include +#include #include #include #include "print_fields.h" @@ -45,6 +47,12 @@ # define ABBREV 0 #endif +static long +sys_ioctl(kernel_long_t fd, kernel_ulong_t cmd, kernel_ulong_t arg) +{ + return syscall(__NR_ioctl, fd, cmd, arg); +} + static void print_loop_info(struct loop_info * const info, bool print_encrypt, const char *encrypt_type, const char *encrypt_key, @@ -178,7 +186,7 @@ main(void) TAIL_ALLOC_OBJECT_CONST_PTR(struct loop_info64, info64); /* Unknown loop commands */ - ioctl(-1, unknown_loop_cmd, magic); + sys_ioctl(-1, unknown_loop_cmd, magic); printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x4c, %#x, %#x), " "%#lx) = -1 EBADF (%m)\n", _IOC_DIR((unsigned int) unknown_loop_cmd) & _IOC_NONE ? @@ -187,14 +195,14 @@ main(void) _IOC_SIZE((unsigned int) unknown_loop_cmd), (unsigned long) magic); - ioctl(-1, LOOP_SET_BLOCK_SIZE + 1, magic); + sys_ioctl(-1, LOOP_SET_BLOCK_SIZE + 1, magic); printf("ioctl(-1, _IOC(0, 0x4c, %#x, %#x), %#lx) = " "-1 EBADF (%m)\n", _IOC_NR(LOOP_SET_BLOCK_SIZE + 1), _IOC_SIZE(LOOP_SET_BLOCK_SIZE + 1), (unsigned long) magic); - ioctl(-1, LOOP_CTL_GET_FREE + 1, magic); + sys_ioctl(-1, LOOP_CTL_GET_FREE + 1, magic); printf("ioctl(-1, _IOC(0, 0x4c, %#x, %#x), %#lx) = " "-1 EBADF (%m)\n", _IOC_NR(LOOP_CTL_GET_FREE + 1), @@ -202,7 +210,7 @@ main(void) (unsigned long) magic); /* LOOP_SET_FD */ - ioctl(-1, LOOP_SET_FD, magic); + sys_ioctl(-1, LOOP_SET_FD, magic); printf("ioctl(-1, LOOP_SET_FD, %d) = -1 EBADF (%m)\n", (unsigned int) magic); @@ -289,7 +297,7 @@ main(void) printf("ioctl(-1, LOOP_GET_STATUS64, %p) = -1 EBADF (%m)\n", info64); /* LOOP_CHANGE_FD */ - ioctl(-1, LOOP_CHANGE_FD, magic); + sys_ioctl(-1, LOOP_CHANGE_FD, magic); printf("ioctl(-1, LOOP_CHANGE_FD, %d) = -1 EBADF (%m)\n", (unsigned int) magic); @@ -298,22 +306,22 @@ main(void) printf("ioctl(-1, LOOP_SET_CAPACITY) = -1 EBADF (%m)\n"); /* LOOP_SET_DIRECT_IO */ - ioctl(-1, LOOP_SET_DIRECT_IO, magic); + sys_ioctl(-1, LOOP_SET_DIRECT_IO, magic); printf("ioctl(-1, LOOP_SET_DIRECT_IO, %lu) = -1 EBADF (%m)\n", (unsigned long) magic); /* LOOP_SET_BLOCK_SIZE */ - ioctl(-1, LOOP_SET_BLOCK_SIZE, magic); + sys_ioctl(-1, LOOP_SET_BLOCK_SIZE, magic); printf("ioctl(-1, LOOP_SET_BLOCK_SIZE, %lu) = -1 EBADF (%m)\n", (unsigned long) magic); /* LOOP_CTL_ADD */ - ioctl(-1, LOOP_CTL_ADD, magic); + sys_ioctl(-1, LOOP_CTL_ADD, magic); printf("ioctl(-1, LOOP_CTL_ADD, %d) = -1 EBADF (%m)\n", (unsigned int) magic); /* LOOP_CTL_REMOVE */ - ioctl(-1, LOOP_CTL_REMOVE, magic); + sys_ioctl(-1, LOOP_CTL_REMOVE, magic); printf("ioctl(-1, LOOP_CTL_REMOVE, %d) = -1 EBADF (%m)\n", (unsigned int) magic); diff --git a/tests-m32/ioctl_perf-success.c b/tests-m32/ioctl_perf-success.c new file mode 100644 index 00000000..9eade6a4 --- /dev/null +++ b/tests-m32/ioctl_perf-success.c @@ -0,0 +1,165 @@ +/* + * Check decoding of successful PERF_EVENT_IOC_{ID,QUERY_BPF} ioctls. + * + * 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" + +#ifdef HAVE_LINUX_PERF_EVENT_H + +# include +# include +# include +# include +# include +# include +# include + +# ifndef PERF_EVENT_IOC_ID +# define PERF_EVENT_IOC_ID _IOR('$', 7, void *) +# endif + +# ifndef PERF_EVENT_IOC_QUERY_BPF +# define PERF_EVENT_IOC_QUERY_BPF _IOWR('$', 10, void *) + +struct perf_event_query_bpf { + uint32_t ids_len; + uint32_t prog_cnt; + uint32_t ids[0]; +}; +# endif + +int +main(int argc, char **argv) +{ + static const uint64_t magic64 = 0xfacefeeddeadc0deULL; + + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, u64_ptr); + uint64_t *const u64_efault = u64_ptr + 1; + uint32_t *const u32_arr = tail_alloc(sizeof(uint32_t) * 4); + uint32_t *const u32_efault = u32_arr + 4; + + unsigned long num_skip; + long inject_retval; + bool locked = false; + + *u64_ptr = magic64; + + if (argc == 1) + return 0; + + if (argc < 3) + error_msg_and_fail("Usage: %s NUM_SKIP INJECT_RETVAL", argv[0]); + + num_skip = strtoul(argv[1], NULL, 0); + inject_retval = strtol(argv[2], NULL, 0); + + if (inject_retval < 0) + error_msg_and_fail("Expected non-negative INJECT_RETVAL, " + "but got %ld", inject_retval); + + for (unsigned long i = 0; i < num_skip; i++) { + long ret = ioctl(-1, PERF_EVENT_IOC_ID, NULL); + + printf("ioctl(-1, PERF_EVENT_IOC_ID, NULL) = %s%s\n", + sprintrc(ret), + ret == inject_retval ? " (INJECTED)" : ""); + + if (ret != inject_retval) + continue; + + locked = true; + break; + } + + if (!locked) + error_msg_and_fail("Hasn't locked on ioctl(-1" + ", PERF_EVENT_IOC_ID, NULL) returning %lu", + inject_retval); + + /* PERF_EVENT_IOC_ID */ + assert(ioctl(-1, PERF_EVENT_IOC_ID, NULL) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_ID, NULL) = %ld (INJECTED)\n", + inject_retval); + + assert(ioctl(-1, PERF_EVENT_IOC_ID, u64_efault) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_ID, %p) = %ld (INJECTED)\n", + u64_efault, inject_retval); + + assert(ioctl(-1, PERF_EVENT_IOC_ID, u64_ptr) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_ID, [%" PRIu64 "]) = %ld (INJECTED)\n", + magic64, inject_retval); + + /* PERF_EVENT_IOC_QUERY_BPF */ + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL) = %ld (INJECTED)\n", + inject_retval); + + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_efault) + == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, %p) = %ld (INJECTED)\n", + u32_efault, inject_retval); + + u32_arr[3] = 0xdeadbeef; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr + 3) + == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3735928559, ...}) " + "= %ld (INJECTED)\n", + inject_retval); + + u32_arr[2] = 0xdecaffed; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr + 2) + == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3737845741" + ", prog_cnt=3735928559, ids=%p})" + " = %ld (INJECTED)\n", + u32_efault, inject_retval); + + u32_arr[0] = 0xbadc0ded; + u32_arr[1] = 5; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3134983661" + ", prog_cnt=5, ids=[3737845741, 3735928559, ... /* %p */]})" + " = %ld (INJECTED)\n", + u32_efault, inject_retval); + + u32_arr[1] = 2; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3134983661" + ", prog_cnt=2, ids=[3737845741, 3735928559]})" + " = %ld (INJECTED)\n", + inject_retval); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("HAVE_LINUX_PERF_EVENT_H"); + +#endif diff --git a/tests-m32/ioctl_perf-success.test b/tests-m32/ioctl_perf-success.test new file mode 100755 index 00000000..779a2a9b --- /dev/null +++ b/tests-m32/ioctl_perf-success.test @@ -0,0 +1,15 @@ +#!/bin/sh -efu + +# Check decoding of successful PERF_EVENT_IOC_{ID,QUERY_BPF} ioctls. + +. "${srcdir=.}/scno_tampering.sh" + +: ${IOCTL_INJECT_START=256} +: ${IOCTL_INJECT_RETVAL=42} + +run_prog +run_strace -a35 -e trace=ioctl \ + -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ + ../ioctl_perf-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}" > "$EXP" +grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-m32/ioctl_perf.c b/tests-m32/ioctl_perf.c new file mode 100644 index 00000000..7db01dbc --- /dev/null +++ b/tests-m32/ioctl_perf.c @@ -0,0 +1,238 @@ +/* + * Check decoding of PERF_EVENT_IOC_* commands of ioctl 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" + +#ifdef HAVE_LINUX_PERF_EVENT_H + +# include +# include +# include +# include +# include +# include +# include + +/* + * Workaround the bug in kernel UAPI that was fixed + * in Linux commit v2.6.33-rc1~48^2~288^2~19. + */ +# ifndef u64 +# define u64 uint64_t +# endif + +# define XLAT_MACROS_ONLY +# include "xlat/perf_ioctl_cmds.h" +# undef XLAT_MACROS_ONLY + +# define STR16 "0123456789abcdef" + +static long +sys_ioctl(kernel_long_t fd, kernel_ulong_t cmd, kernel_ulong_t arg) +{ + return syscall(__NR_ioctl, fd, cmd, arg); +} + +int +main(void) +{ + static const kernel_ulong_t unknown_perf_cmd = + (kernel_ulong_t) 0xbadc0dedfeed24edULL; + static const kernel_ulong_t magic = + (kernel_ulong_t) 0xdeadbeefbadc0dedULL; + static const uint64_t magic64 = 0xfacefeeddeadc0deULL; + static const char str[] = STR16 STR16 STR16 STR16; + + static struct { + unsigned int cmd; + const char *str; + } flag_iocs[] = { + { ARG_STR(PERF_EVENT_IOC_ENABLE) }, + { ARG_STR(PERF_EVENT_IOC_DISABLE) }, + { ARG_STR(PERF_EVENT_IOC_RESET) }, + }; + + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, u64_ptr); + uint64_t *const u64_efault = u64_ptr + 1; + uint32_t *const u32_arr = tail_alloc(sizeof(uint32_t) * 4); + uint32_t *const u32_efault = u32_arr + 4; + char *const str_ptr = tail_memdup(str, sizeof(str)); + char *const str_efault = str_ptr + sizeof(str); + TAIL_ALLOC_OBJECT_CONST_PTR(struct perf_event_attr, pea_ptr); + + *u64_ptr = magic64; + fill_memory_ex(pea_ptr, sizeof(*pea_ptr), 0xaa, 0x55); + + /* Unknown perf commands */ + sys_ioctl(-1, unknown_perf_cmd, magic); + printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x24, %#x, %#x), " + "%#lx) = -1 EBADF (%m)\n", + _IOC_DIR((unsigned int) unknown_perf_cmd) & _IOC_NONE ? + "|_IOC_NONE" : "", + _IOC_NR((unsigned int) unknown_perf_cmd), + _IOC_SIZE((unsigned int) unknown_perf_cmd), + (unsigned long) magic); + + sys_ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES + 1, magic); + printf("ioctl(-1, _IOC(_IOC_WRITE, 0x24, %#x, %#x), %#lx)" + " = -1 EBADF (%m)\n", + (unsigned int) _IOC_NR(PERF_EVENT_IOC_MODIFY_ATTRIBUTES + 1), + (unsigned int) _IOC_SIZE(PERF_EVENT_IOC_MODIFY_ATTRIBUTES + 1), + (unsigned long) magic); + + /* PERF_EVENT_IOC_{ENABLE,DISABLE,RESET} */ + for (unsigned i = 0; i < ARRAY_SIZE(flag_iocs); i++) { + ioctl(-1, flag_iocs[i].cmd, 0); + printf("ioctl(-1, %s, 0) = -1 EBADF (%m)\n", flag_iocs[i].str); + + ioctl(-1, flag_iocs[i].cmd, 1); + printf("ioctl(-1, %s, PERF_IOC_FLAG_GROUP) = -1 EBADF (%m)\n", + flag_iocs[i].str); + + ioctl(-1, flag_iocs[i].cmd, 2); + printf("ioctl(-1, %s, 0x2 /* PERF_IOC_FLAG_??? */) " + "= -1 EBADF (%m)\n", + flag_iocs[i].str); + + sys_ioctl(-1, flag_iocs[i].cmd, magic); + printf("ioctl(-1, %s, PERF_IOC_FLAG_GROUP|%#x) " + "= -1 EBADF (%m)\n", + flag_iocs[i].str, (unsigned int) magic & ~1U); + } + + /* PERF_EVENT_IOC_REFRESH */ + sys_ioctl(-1, PERF_EVENT_IOC_REFRESH, magic); + printf("ioctl(-1, PERF_EVENT_IOC_REFRESH, %d) = -1 EBADF (%m)\n", + (int) magic); + + /* PERF_EVENT_IOC_PERIOD */ + ioctl(-1, PERF_EVENT_IOC_PERIOD, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_PERIOD, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_PERIOD, u64_efault); + printf("ioctl(-1, PERF_EVENT_IOC_PERIOD, %p) = -1 EBADF (%m)\n", + u64_efault); + + ioctl(-1, PERF_EVENT_IOC_PERIOD, u64_ptr); + printf("ioctl(-1, PERF_EVENT_IOC_PERIOD, [%" PRIu64 "])" + " = -1 EBADF (%m)\n", + magic64); + + /* PERF_EVENT_IOC_SET_OUTPUT */ + sys_ioctl(-1, PERF_EVENT_IOC_SET_OUTPUT, magic); + printf("ioctl(-1, PERF_EVENT_IOC_SET_OUTPUT, %d) = -1 EBADF (%m)\n", + (int) magic); + + /* PERF_EVENT_IOC_SET_FILTER */ + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_efault); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, %p) = -1 EBADF (%m)\n", + str_efault); + + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_ptr); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, \"%.32s\"...)" + " = -1 EBADF (%m)\n", + str_ptr); + + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_ptr + 40); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, \"%.32s\")" + " = -1 EBADF (%m)\n", + str_ptr + 40); + + str_ptr[sizeof(str) - 1] = '0'; + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_ptr + 40); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, %p)" + " = -1 EBADF (%m)\n", + str_ptr + 40); + + /* PERF_EVENT_IOC_ID */ + ioctl(-1, PERF_EVENT_IOC_ID, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_ID, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_ID, u64_efault); + printf("ioctl(-1, PERF_EVENT_IOC_ID, %p) = -1 EBADF (%m)\n", + u64_efault); + + ioctl(-1, PERF_EVENT_IOC_ID, u64_ptr); + printf("ioctl(-1, PERF_EVENT_IOC_ID, %p) = -1 EBADF (%m)\n", + u64_ptr); + + /* PERF_EVENT_IOC_SET_BPF */ + sys_ioctl(-1, PERF_EVENT_IOC_SET_BPF, magic); + printf("ioctl(-1, PERF_EVENT_IOC_SET_BPF, %d) = -1 EBADF (%m)\n", + (int) magic); + + /* PERF_EVENT_IOC_PAUSE_OUTPUT */ + sys_ioctl(-1, PERF_EVENT_IOC_PAUSE_OUTPUT, magic); + printf("ioctl(-1, PERF_EVENT_IOC_PAUSE_OUTPUT, %lu) = -1 EBADF (%m)\n", + (unsigned long) magic); + + /* PERF_EVENT_IOC_QUERY_BPF */ + ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_efault); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, %p) = -1 EBADF (%m)\n", + u32_efault); + + u32_arr[0] = 0xbadc0ded; + ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3134983661, ...})" + " = -1 EBADF (%m)\n"); + + /* PERF_EVENT_IOC_MODIFY_ATTRIBUTES */ + ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, NULL)" + " = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, pea_ptr + 1); + printf("ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, %p)" + " = -1 EBADF (%m)\n", + pea_ptr + 1); + + printf("ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES" + ", {type=%#x /* PERF_TYPE_??? */" + ", size=%#x /* PERF_ATTR_SIZE_??? */" + ", config=%#llx, ...}) = -1 EBADF (%m)\n", + (unsigned int) pea_ptr->type, + (unsigned int) pea_ptr->size, + (unsigned long long) pea_ptr->config); + ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, pea_ptr); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("HAVE_LINUX_PERF_EVENT_H"); + +#endif diff --git a/tests-m32/ioctl_perf.gen.test b/tests-m32/ioctl_perf.gen.test new file mode 100755 index 00000000..0264f349 --- /dev/null +++ b/tests-m32/ioctl_perf.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_perf +ioctl.test ); do not edit. +set -- +. "${srcdir=.}/ioctl.test" diff --git a/tests-m32/ioctl_ptp.c b/tests-m32/ioctl_ptp.c new file mode 100644 index 00000000..1c82919e --- /dev/null +++ b/tests-m32/ioctl_ptp.c @@ -0,0 +1,131 @@ +/* + * Check decoding of PTP_* commands of ioctl syscall. + * + * Copyright (c) 2018 Harsha Sharma + * 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" + +#ifdef HAVE_STRUCT_PTP_SYS_OFFSET + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "xlat.h" +#include "xlat/ptp_flags_options.h" + +static void +test_no_device(void) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_clock_caps, caps); + fill_memory(caps, sizeof(*caps)); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_sys_offset, sysoff); + fill_memory(sysoff, sizeof(*sysoff)); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_extts_request, extts); + fill_memory(extts, sizeof(*extts)); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_perout_request, perout); + fill_memory(perout, sizeof(*perout)); + + int saved_errno; + + /* PTP_CLOCK_GETCAPS */ + ioctl(-1, PTP_CLOCK_GETCAPS, NULL); + printf("ioctl(-1, PTP_CLOCK_GETCAPS, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_CLOCK_GETCAPS, caps); + printf("ioctl(-1, PTP_CLOCK_GETCAPS, %p) = -1 EBADF (%m)\n", caps); + + /* PTP_SYS_OFFSET */ + ioctl(-1, PTP_SYS_OFFSET, NULL); + printf("ioctl(-1, PTP_SYS_OFFSET, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_SYS_OFFSET, sysoff); + printf("ioctl(-1, PTP_SYS_OFFSET, {n_samples=%u}) = -1 EBADF (%m)\n", + sysoff->n_samples); + + /* PTP_ENABLE_PPS */ + ioctl(-1, PTP_ENABLE_PPS, 0); + printf("ioctl(-1, PTP_ENABLE_PPS, 0) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_ENABLE_PPS, 1); + printf("ioctl(-1, PTP_ENABLE_PPS, 1) = -1 EBADF (%m)\n"); + + /* PTP_EXTTS_REQUEST */ + ioctl(-1, PTP_EXTTS_REQUEST, NULL); + printf("ioctl(-1, PTP_EXTTS_REQUEST, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_EXTTS_REQUEST, extts); + saved_errno = errno; + printf("ioctl(-1, PTP_EXTTS_REQUEST, {index=%d, flags=", extts->index); + printflags(ptp_flags_options, extts->flags, "PTP_???"); + errno = saved_errno; + printf("}) = -1 EBADF (%m)\n"); + + /* PTP_PEROUT_REQUEST */ + ioctl(-1, PTP_PEROUT_REQUEST, NULL); + printf("ioctl(-1, PTP_PEROUT_REQUEST, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_PEROUT_REQUEST, perout); + saved_errno = errno; + printf("ioctl(-1, PTP_PEROUT_REQUEST, {start={sec=%" PRId64 + ", nsec=%" PRIu32 "}, period={sec=%" PRId64 ", nsec=%" 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_???"); + errno = saved_errno; + printf("}) = -1 EBADF (%m)\n"); + + /* unrecognized */ + ioctl(-1, _IOC(_IOC_READ, PTP_CLK_MAGIC, 0xff, 0xfe), 0); + printf("ioctl(-1, _IOC(_IOC_READ, %#x, 0xff, 0xfe), 0)" + " = -1 EBADF (%m)\n", PTP_CLK_MAGIC); + + const unsigned long arg = (unsigned long) 0xfacefeeddeadbeefULL; + ioctl(-1, _IOC(_IOC_WRITE, PTP_CLK_MAGIC, 0xfd, 0xfc), arg); + printf("ioctl(-1, _IOC(_IOC_WRITE, %#x, 0xfd, 0xfc), %#lx)" + " = -1 EBADF (%m)\n", PTP_CLK_MAGIC, arg); +} + +int +main(void) +{ + test_no_device(); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("HAVE_STRUCT_PTP_SYS_OFFSET") + +#endif /* HAVE_STRUCT_PTP_SYS_OFFSET */ diff --git a/tests-m32/ioctl_ptp.gen.test b/tests-m32/ioctl_ptp.gen.test new file mode 100755 index 00000000..6c0b0a92 --- /dev/null +++ b/tests-m32/ioctl_ptp.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_ptp +ioctl.test ); do not edit. +set -- +. "${srcdir=.}/ioctl.test" diff --git a/tests-m32/ioctl_v4l2.c b/tests-m32/ioctl_v4l2.c index 2736b392..a7dcc494 100644 --- a/tests-m32/ioctl_v4l2.c +++ b/tests-m32/ioctl_v4l2.c @@ -842,6 +842,21 @@ main(void) printf("ioctl(-1, VIDIOC_S_EXT_CTRLS, {ctrl_class=V4L2_CTRL_CLASS_USER" ", count=%u}) = -1 EBADF (%m)\n", p_ext_controls->count); + p_ext_controls->ctrl_class = 0x00a30000; + p_ext_controls->count = magic; + ioctl(-1, VIDIOC_S_EXT_CTRLS, p_ext_controls); + printf("ioctl(-1, VIDIOC_S_EXT_CTRLS, {ctrl_class=V4L2_CTRL_CLASS_DETECT" + ", count=%u, controls=%p}) = -1 EBADF (%m)\n", + p_ext_controls->count, p_ext_controls->controls); + + p_ext_controls->ctrl_class = 0x00a40000; + p_ext_controls->count = magic; + ioctl(-1, VIDIOC_S_EXT_CTRLS, p_ext_controls); + printf("ioctl(-1, VIDIOC_S_EXT_CTRLS" + ", {ctrl_class=0xa40000 /* V4L2_CTRL_CLASS_??? */" + ", count=%u, controls=%p}) = -1 EBADF (%m)\n", + p_ext_controls->count, p_ext_controls->controls); + p_ext_controls->ctrl_class = V4L2_CTRL_CLASS_MPEG; p_ext_controls->count = magic; ioctl(-1, VIDIOC_S_EXT_CTRLS, p_ext_controls); @@ -883,7 +898,7 @@ main(void) ", {ctrl_class=V4L2_CTRL_CLASS_MPEG, count=%u, controls=" "[{id=V4L2_CID_BRIGHTNESS, size=0, value=%d, value64=%lld}" ", {id=V4L2_CID_CONTRAST, size=2, string=\"\\377\\377\"}" - ", %p]}) = -1 EBADF (%m)\n", + ", ... /* %p */]}) = -1 EBADF (%m)\n", p_ext_controls->count, p_ext_controls->controls[0].value, (long long) p_ext_controls->controls[0].value64, diff --git a/tests-m32/ipc.sh b/tests-m32/ipc.sh index 5943c1a7..ef550732 100644 --- a/tests-m32/ipc.sh +++ b/tests-m32/ipc.sh @@ -5,7 +5,7 @@ . "${srcdir=.}/init.sh" run_prog > /dev/null -run_strace -eipc $args > "$EXP" +run_strace -eipc "$@" $args > "$EXP" match_grep "$LOG" "$EXP" exit 0 diff --git a/tests-m32/ipc_msg-Xabbrev.c b/tests-m32/ipc_msg-Xabbrev.c new file mode 100644 index 00000000..f4535e8b --- /dev/null +++ b/tests-m32/ipc_msg-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_msg.c" diff --git a/tests-m32/ipc_msg-Xabbrev.gen.test b/tests-m32/ipc_msg-Xabbrev.gen.test new file mode 100755 index 00000000..0969ee1e --- /dev/null +++ b/tests-m32/ipc_msg-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg-Xabbrev +ipc.sh -Xabbrev -a26); do not edit. +set -- -Xabbrev -a26 +. "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_msg-Xraw.c b/tests-m32/ipc_msg-Xraw.c new file mode 100644 index 00000000..9c016d30 --- /dev/null +++ b/tests-m32/ipc_msg-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_msg.c" diff --git a/tests-m32/ipc_msg-Xraw.gen.test b/tests-m32/ipc_msg-Xraw.gen.test new file mode 100755 index 00000000..5d5d7322 --- /dev/null +++ b/tests-m32/ipc_msg-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg-Xraw +ipc.sh -Xraw -a16); do not edit. +set -- -Xraw -a16 +. "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_msg-Xverbose.c b/tests-m32/ipc_msg-Xverbose.c new file mode 100644 index 00000000..3f59f984 --- /dev/null +++ b/tests-m32/ipc_msg-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_msg.c" diff --git a/tests-m32/ipc_msg-Xverbose.gen.test b/tests-m32/ipc_msg-Xverbose.gen.test new file mode 100755 index 00000000..88c79a00 --- /dev/null +++ b/tests-m32/ipc_msg-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg-Xverbose +ipc.sh -Xverbose -a34); do not edit. +set -- -Xverbose -a34 +. "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_msg.c b/tests-m32/ipc_msg.c index b4938439..a74dba51 100644 --- a/tests-m32/ipc_msg.c +++ b/tests-m32/ipc_msg.c @@ -1,6 +1,7 @@ /* * Copyright (c) 2015 Elvira Khabirova * Copyright (c) 2015-2016 Dmitry V. Levin + * Copyright (c) 2015-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,6 +36,10 @@ #include "xlat.h" #include "xlat/resource_flags.h" +#ifndef MSG_STAT_ANY +# define MSG_STAT_ANY 13 +#endif + /* * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data * provided in third argument of msgctl call (in case of IPC_SET cmd) @@ -52,13 +57,50 @@ # define TEST_MSGCTL_BOGUS_ADDR 1 #endif +#if XLAT_RAW +# define str_ipc_excl_nowait "0xface1c00" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_set "0x1" +# define str_ipc_stat "0x2" +# define str_msg_stat "0xb" +# define str_msg_info "0xc" +# define str_msg_stat_any "0xd" +# define str_ipc_64 "0x100" +# define str_bogus_cmd "0xdeadbeef" +#elif XLAT_VERBOSE +# define str_ipc_excl_nowait \ + "0xface1c00 /\\* IPC_EXCL\\|IPC_NOWAIT\\|0xface1000 \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_set "0x1 /\\* IPC_SET \\*/" +# define str_ipc_stat "0x2 /\\* IPC_STAT \\*/" +# define str_msg_stat "0xb /\\* MSG_STAT \\*/" +# define str_msg_info "0xc /\\* MSG_INFO \\*/" +# define str_msg_stat_any "0xd /\\* MSG_STAT_ANY \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +# define str_bogus_cmd "0xdeadbeef /\\* MSG_\\?\\?\\? \\*/" +#else +# define str_ipc_excl_nowait "IPC_EXCL\\|IPC_NOWAIT\\|0xface1000" +# define str_ipc_private "IPC_PRIVATE" +# define str_ipc_rmid "IPC_RMID" +# define str_ipc_set "IPC_SET" +# define str_ipc_stat "IPC_STAT" +# define str_msg_stat "MSG_STAT" +# define str_msg_info "MSG_INFO" +# define str_msg_stat_any "MSG_STAT_ANY" +# define str_ipc_64 "IPC_64" +# define str_bogus_cmd "0xdeadbeef /\\* MSG_\\?\\?\\? \\*/" +#endif + static int id = -1; static void cleanup(void) { msgctl(id, IPC_RMID, NULL); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_RMID, NULL\\) += 0\n", id); + printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) += 0\n", + id, str_ipc_64, str_ipc_rmid); id = -1; } @@ -67,7 +109,7 @@ main(void) { static const key_t private_key = (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; + static const key_t bogus_key = (key_t) 0xeca86420fdb9f531ULL; static const int bogus_msgid = 0xfdb97531; static const int bogus_cmd = 0xdeadbeef; #if TEST_MSGCTL_BOGUS_ADDR @@ -79,37 +121,36 @@ main(void) struct msqid_ds ds; rc = msgget(bogus_key, bogus_flags); - printf("msgget\\(%#llx, %s%s%s%#x\\|%#04o\\) += %s\n", + printf("msgget\\(%#llx, %s\\|%#04o\\) = %s\n", zero_extend_signed_to_ull(bogus_key), - IPC_CREAT & bogus_flags ? "IPC_CREAT\\|" : "", - IPC_EXCL & bogus_flags ? "IPC_EXCL\\|" : "", - IPC_NOWAIT & bogus_flags ? "IPC_NOWAIT\\|" : "", - bogus_flags & ~(0777 | IPC_CREAT | IPC_EXCL | IPC_NOWAIT), + str_ipc_excl_nowait, bogus_flags & 0777, sprintrc_grep(rc)); id = msgget(private_key, 0600); if (id < 0) perror_msg_and_skip("msgget"); - printf("msgget\\(IPC_PRIVATE, 0600\\) += %d\n", id); + printf("msgget\\(%s, 0600\\) = %d\n", str_ipc_private, id); atexit(cleanup); rc = msgctl(bogus_msgid, bogus_cmd, NULL); - printf("msgctl\\(%d, (IPC_64\\|)?%#x /\\* MSG_\\?\\?\\? \\*/, NULL\\)" - " += %s\n", bogus_msgid, bogus_cmd, sprintrc_grep(rc)); + printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", + bogus_msgid, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); #if TEST_MSGCTL_BOGUS_ADDR rc = msgctl(bogus_msgid, IPC_SET, bogus_addr); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_SET, %p\\) += %s\n", - bogus_msgid, bogus_addr, sprintrc_grep(rc)); + printf("msgctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", + bogus_msgid, str_ipc_64, str_ipc_set, bogus_addr, + sprintrc_grep(rc)); #endif if (msgctl(id, IPC_STAT, &ds)) perror_msg_and_skip("msgctl IPC_STAT"); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_STAT, \\{msg_perm=\\{uid=%u" + printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u" ", gid=%u, mode=%#o, key=%u, cuid=%u, cgid=%u\\}, msg_stime=%u" ", msg_rtime=%u, msg_ctime=%u, msg_qnum=%u, msg_qbytes=%u" - ", msg_lspid=%u, msg_lrpid=%u\\}\\) += 0\n", - id, (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, + ", msg_lspid=%u, msg_lrpid=%u\\}\\) = 0\n", + id, str_ipc_64, str_ipc_stat, + (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, (unsigned) ds.msg_perm.mode, (unsigned) ds.msg_perm.__key, (unsigned) ds.msg_perm.cuid, (unsigned) ds.msg_perm.cgid, (unsigned) ds.msg_stime, (unsigned) ds.msg_rtime, @@ -119,18 +160,22 @@ main(void) if (msgctl(id, IPC_SET, &ds)) perror_msg_and_skip("msgctl IPC_SET"); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_SET, \\{msg_perm=\\{uid=%u" - ", gid=%u, mode=%#o\\}, ...\\}\\) += 0\n", - id, (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, - (unsigned) ds.msg_perm.mode); + printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u" + ", gid=%u, mode=%#o\\}, ...\\}\\) = 0\n", + id, str_ipc_64, str_ipc_set, (unsigned) ds.msg_perm.uid, + (unsigned) ds.msg_perm.gid, (unsigned) ds.msg_perm.mode); rc = msgctl(0, MSG_INFO, &ds); - printf("msgctl\\(0, (IPC_64\\|)?MSG_INFO, %p\\) += %s\n", - &ds, sprintrc_grep(rc)); + printf("msgctl\\(0, (%s\\|)?%s, %p\\) = %s\n", + str_ipc_64, str_msg_info, &ds, sprintrc_grep(rc)); rc = msgctl(id, MSG_STAT, &ds); - printf("msgctl\\(%d, (IPC_64\\|)?MSG_STAT, %p\\) += %s\n", - id, &ds, sprintrc_grep(rc)); + printf("msgctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", + id, str_ipc_64, str_msg_stat, &ds, sprintrc_grep(rc)); + + rc = msgctl(id, MSG_STAT_ANY, &ds); + printf("msgctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", + id, str_ipc_64, str_msg_stat_any, &ds, sprintrc_grep(rc)); return 0; } diff --git a/tests-m32/ipc_msg.gen.test b/tests-m32/ipc_msg.gen.test index b1f1f7e8..82026198 100755 --- a/tests-m32/ipc_msg.gen.test +++ b/tests-m32/ipc_msg.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg +ipc.sh ); do not edit. -set -- +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg +ipc.sh -a26); do not edit. +set -- -a26 . "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_msgbuf-Xabbrev.c b/tests-m32/ipc_msgbuf-Xabbrev.c new file mode 100644 index 00000000..e2f09eb1 --- /dev/null +++ b/tests-m32/ipc_msgbuf-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_msgbuf.c" diff --git a/tests-m32/ipc_msgbuf-Xabbrev.gen.test b/tests-m32/ipc_msgbuf-Xabbrev.gen.test new file mode 100755 index 00000000..402d804e --- /dev/null +++ b/tests-m32/ipc_msgbuf-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev); do not edit. +set -- -Xabbrev +. "${srcdir=.}/ipc_msgbuf.test" diff --git a/tests-m32/ipc_msgbuf-Xraw.c b/tests-m32/ipc_msgbuf-Xraw.c new file mode 100644 index 00000000..c6f8a31b --- /dev/null +++ b/tests-m32/ipc_msgbuf-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_msgbuf.c" diff --git a/tests-m32/ipc_msgbuf-Xraw.gen.test b/tests-m32/ipc_msgbuf-Xraw.gen.test new file mode 100755 index 00000000..c1112cb6 --- /dev/null +++ b/tests-m32/ipc_msgbuf-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22); do not edit. +set -- -Xraw -a22 +. "${srcdir=.}/ipc_msgbuf.test" diff --git a/tests-m32/ipc_msgbuf-Xverbose.c b/tests-m32/ipc_msgbuf-Xverbose.c new file mode 100644 index 00000000..ae09a4ad --- /dev/null +++ b/tests-m32/ipc_msgbuf-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_msgbuf.c" diff --git a/tests-m32/ipc_msgbuf-Xverbose.gen.test b/tests-m32/ipc_msgbuf-Xverbose.gen.test new file mode 100755 index 00000000..2c72eb71 --- /dev/null +++ b/tests-m32/ipc_msgbuf-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose); do not edit. +set -- -Xverbose +. "${srcdir=.}/ipc_msgbuf.test" diff --git a/tests-m32/ipc_msgbuf.c b/tests-m32/ipc_msgbuf.c index c4af1bef..e439c498 100644 --- a/tests-m32/ipc_msgbuf.c +++ b/tests-m32/ipc_msgbuf.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2015 Elvira Khabirova * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -28,7 +28,10 @@ */ #include "tests.h" +#include #include +#include +#include #include #include #include @@ -38,22 +41,54 @@ static int msqid = -1; +#if XLAT_RAW +# define str_ipc_creat "0x200" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_64 "0x100" +#elif XLAT_VERBOSE +# define str_ipc_creat "0x200 /\\* IPC_CREAT \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +#else +# define str_ipc_creat "IPC_CREAT" +# define str_ipc_private "IPC_PRIVATE" +# define str_ipc_rmid "IPC_RMID" +# define str_ipc_64 "IPC_64" +#endif + static int cleanup(void) { if (msqid != -1) { int rc = msgctl(msqid, IPC_RMID, 0); + printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = 0\n", + msqid, str_ipc_64, str_ipc_rmid); msqid = -1; if (rc == -1) return 77; + puts("\\+\\+\\+ exited with 0 \\+\\+\\+"); } return 0; } +int +sys_msgrcv(int msqid, void *msgp, size_t sz, kernel_long_t msgtyp, + int msgflg) +{ +#if defined __x86_64__ && defined __ILP32__ + return syscall(__NR_msgrcv, msqid, msgp, sz, msgtyp, msgflg); +#else + return msgrcv(msqid, msgp, sz, msgtyp, msgflg); +#endif +} + int main(void) { - const long mtype = 0xdefaced; + /* mtype has to be positive */ + const kernel_long_t mtype = (kernel_long_t) 0x7facefed5adc0dedULL; struct { kernel_long_t mtype; char mtext[msgsz]; @@ -64,11 +99,23 @@ main(void) msqid = msgget(IPC_PRIVATE, IPC_CREAT | S_IRWXU); if (msqid == -1) perror_msg_and_skip("msgget"); + printf("msgget\\(%s, %s\\|0700\\) = %d\n", + str_ipc_private, str_ipc_creat, msqid); + typedef void (*atexit_func)(void); atexit((atexit_func) cleanup); + + printf("msgsnd\\(%d, \\{%lld, \"" text_string "\\\\0\"\\}, 14, 0\\)" + " = 0\n", + msqid, (long long) mtype); if (msgsnd(msqid, &msg, msgsz, 0) == -1) perror_msg_and_skip("msgsnd"); - if (msgrcv(msqid, &msg, msgsz, mtype, 0) != msgsz) + + if (sys_msgrcv(msqid, &msg, msgsz, -mtype, 0) != msgsz) perror_msg_and_skip("msgrcv"); + printf("msgrcv\\(%d, \\{%lld, \"" text_string "\\\\0\"\\}, 14, %lld" + ", 0\\) = 14\n", + msqid, (long long) mtype, -(long long) mtype); + return cleanup(); } diff --git a/tests-m32/ipc_msgbuf.test b/tests-m32/ipc_msgbuf.test index d0b65d1a..9e787855 100755 --- a/tests-m32/ipc_msgbuf.test +++ b/tests-m32/ipc_msgbuf.test @@ -5,7 +5,7 @@ . "${srcdir=.}/init.sh" run_prog -run_strace -v -e msgget,msgsnd,msgrcv,msgctl $args -match_grep +run_strace -a26 -v -e msgget,msgsnd,msgrcv,msgctl "$@" $args > "$EXP" +match_grep "$LOG" "$EXP" exit 0 diff --git a/tests-m32/ipc_sem-Xabbrev.c b/tests-m32/ipc_sem-Xabbrev.c new file mode 100644 index 00000000..727005ad --- /dev/null +++ b/tests-m32/ipc_sem-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_sem.c" diff --git a/tests-m32/ipc_sem-Xabbrev.gen.test b/tests-m32/ipc_sem-Xabbrev.gen.test new file mode 100755 index 00000000..0757a48b --- /dev/null +++ b/tests-m32/ipc_sem-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29); do not edit. +set -- -Xabbrev -a29 +. "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_sem-Xraw.c b/tests-m32/ipc_sem-Xraw.c new file mode 100644 index 00000000..0a57c0ac --- /dev/null +++ b/tests-m32/ipc_sem-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_sem.c" diff --git a/tests-m32/ipc_sem-Xraw.gen.test b/tests-m32/ipc_sem-Xraw.gen.test new file mode 100755 index 00000000..07d59e51 --- /dev/null +++ b/tests-m32/ipc_sem-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem-Xraw +ipc.sh -Xraw -a19); do not edit. +set -- -Xraw -a19 +. "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_sem-Xverbose.c b/tests-m32/ipc_sem-Xverbose.c new file mode 100644 index 00000000..56e83806 --- /dev/null +++ b/tests-m32/ipc_sem-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_sem.c" diff --git a/tests-m32/ipc_sem-Xverbose.gen.test b/tests-m32/ipc_sem-Xverbose.gen.test new file mode 100755 index 00000000..43a61d08 --- /dev/null +++ b/tests-m32/ipc_sem-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem-Xverbose +ipc.sh -Xverbose -a36); do not edit. +set -- -Xverbose -a36 +. "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_sem.c b/tests-m32/ipc_sem.c index c8832726..8cbbfaaa 100644 --- a/tests-m32/ipc_sem.c +++ b/tests-m32/ipc_sem.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2015 Andreas Schwab * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -36,6 +36,43 @@ #include "xlat.h" #include "xlat/resource_flags.h" +#ifndef SEM_STAT_ANY +# define SEM_STAT_ANY 20 +#endif + +#if XLAT_RAW +# define str_ipc_flags "0xface1e00" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_stat "0x2" +# define str_sem_stat "0x12" +# define str_sem_info "0x13" +# define str_sem_stat_any "0x14" +# define str_ipc_64 "0x100" +# define str_bogus_cmd "0xdeadbeef" +#elif XLAT_VERBOSE +# define str_ipc_flags \ + "0xface1e00 /\\* IPC_CREAT\\|IPC_EXCL\\|IPC_NOWAIT\\|0xface1000 \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_stat "0x2 /\\* IPC_STAT \\*/" +# define str_sem_stat "0x12 /\\* SEM_STAT \\*/" +# define str_sem_info "0x13 /\\* SEM_INFO \\*/" +# define str_sem_stat_any "0x14 /\\* SEM_STAT_ANY \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +# define str_bogus_cmd "0xdeadbeef /\\* SEM_\\?\\?\\? \\*/" +#else +# define str_ipc_flags "IPC_CREAT\\|IPC_EXCL\\|IPC_NOWAIT\\|0xface1000" +# define str_ipc_private "IPC_PRIVATE" +# define str_ipc_rmid "IPC_RMID" +# define str_ipc_stat "IPC_STAT" +# define str_sem_stat "SEM_STAT" +# define str_sem_info "SEM_INFO" +# define str_sem_stat_any "SEM_STAT_ANY" +# define str_ipc_64 "IPC_64" +# define str_bogus_cmd "0xdeadbeef /\\* SEM_\\?\\?\\? \\*/" +#endif + union semun { int val; /* Value for SETVAL */ struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */ @@ -50,8 +87,8 @@ static void cleanup(void) { semctl(id, 0, IPC_RMID, 0); - printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, \\[?NULL\\]?\\) += 0\n", - id); + printf("semctl\\(%d, 0, (%s\\|)?%s, \\[?NULL\\]?\\) = 0\n", + id, str_ipc_64, str_ipc_rmid); id = -1; } @@ -75,42 +112,41 @@ main(void) struct seminfo info; rc = semget(bogus_key, bogus_size, bogus_flags); - printf("semget\\(%#llx, %d, %s%s%s%#x\\|%#04o\\) += %s\n", + printf("semget\\(%#llx, %d, %s\\|%#04o\\) = %s\n", zero_extend_signed_to_ull(bogus_key), bogus_size, - IPC_CREAT & bogus_flags ? "IPC_CREAT\\|" : "", - IPC_EXCL & bogus_flags ? "IPC_EXCL\\|" : "", - IPC_NOWAIT & bogus_flags ? "IPC_NOWAIT\\|" : "", - bogus_flags & ~(0777 | IPC_CREAT | IPC_EXCL | IPC_NOWAIT), - bogus_flags & 0777, sprintrc_grep(rc)); + str_ipc_flags, bogus_flags & 0777, sprintrc_grep(rc)); id = semget(private_key, 1, 0600); if (id < 0) perror_msg_and_skip("semget"); - printf("semget\\(IPC_PRIVATE, 1, 0600\\) += %d\n", id); + printf("semget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id); atexit(cleanup); rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg); #define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)" - printf("semctl\\(%d, %d, (IPC_64\\|)?%#x /\\* SEM_\\?\\?\\? \\*/" - ", " SEMCTL_BOGUS_ARG_FMT "\\) += %s\n", - bogus_semid, bogus_semnum, bogus_cmd, + printf("semctl\\(%d, %d, (%s\\|)?%s, " SEMCTL_BOGUS_ARG_FMT "\\) = %s\n", + bogus_semid, bogus_semnum, str_ipc_64, str_bogus_cmd, bogus_arg, bogus_arg, sprintrc_grep(rc)); un.buf = &ds; if (semctl(id, 0, IPC_STAT, un)) perror_msg_and_skip("semctl IPC_STAT"); - printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_STAT, \\[?%p\\]?\\) += 0\n", - id, &ds); + printf("semctl\\(%d, 0, (%s\\|)?%s, \\[?%p\\]?\\) = 0\n", + id, str_ipc_64, str_ipc_stat, &ds); un.__buf = &info; rc = semctl(0, 0, SEM_INFO, un); - printf("semctl\\(0, 0, (IPC_64\\|)?SEM_INFO, \\[?%p\\]?\\) += %s\n", - &info, sprintrc_grep(rc)); + printf("semctl\\(0, 0, (%s\\|)?%s, \\[?%p\\]?\\) = %s\n", + str_ipc_64, str_sem_info, &info, sprintrc_grep(rc)); un.buf = &ds; rc = semctl(id, 0, SEM_STAT, un); - printf("semctl\\(%d, 0, (IPC_64\\|)?SEM_STAT, \\[?%p\\]?\\) += %s\n", - id, &ds, sprintrc_grep(rc)); + printf("semctl\\(%d, 0, (%s\\|)?%s, \\[?%p\\]?\\) = %s\n", + id, str_ipc_64, str_sem_stat, &ds, sprintrc_grep(rc)); + + rc = semctl(id, 0, SEM_STAT_ANY, un); + printf("semctl\\(%d, 0, (%s\\|)?%s, (%p|\\[(%p|NULL)\\]|NULL)\\) = %s\n", + id, str_ipc_64, str_sem_stat_any, &ds, &ds, sprintrc_grep(rc)); return 0; } diff --git a/tests-m32/ipc_sem.gen.test b/tests-m32/ipc_sem.gen.test index a1c03d2b..173b3af3 100755 --- a/tests-m32/ipc_sem.gen.test +++ b/tests-m32/ipc_sem.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem +ipc.sh ); do not edit. -set -- +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem +ipc.sh -a29); do not edit. +set -- -a29 . "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_shm-Xabbrev.c b/tests-m32/ipc_shm-Xabbrev.c new file mode 100644 index 00000000..c191aeaa --- /dev/null +++ b/tests-m32/ipc_shm-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_shm.c" diff --git a/tests-m32/ipc_shm-Xabbrev.gen.test b/tests-m32/ipc_shm-Xabbrev.gen.test new file mode 100755 index 00000000..d68c2462 --- /dev/null +++ b/tests-m32/ipc_shm-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29); do not edit. +set -- -Xabbrev -a29 +. "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_shm-Xraw.c b/tests-m32/ipc_shm-Xraw.c new file mode 100644 index 00000000..08e09ac1 --- /dev/null +++ b/tests-m32/ipc_shm-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_shm.c" diff --git a/tests-m32/ipc_shm-Xraw.gen.test b/tests-m32/ipc_shm-Xraw.gen.test new file mode 100755 index 00000000..071eef67 --- /dev/null +++ b/tests-m32/ipc_shm-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm-Xraw +ipc.sh -Xraw -a19); do not edit. +set -- -Xraw -a19 +. "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_shm-Xverbose.c b/tests-m32/ipc_shm-Xverbose.c new file mode 100644 index 00000000..b936785f --- /dev/null +++ b/tests-m32/ipc_shm-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_shm.c" diff --git a/tests-m32/ipc_shm-Xverbose.gen.test b/tests-m32/ipc_shm-Xverbose.gen.test new file mode 100755 index 00000000..170adeee --- /dev/null +++ b/tests-m32/ipc_shm-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm-Xverbose +ipc.sh -Xverbose -a36); do not edit. +set -- -Xverbose -a36 +. "${srcdir=.}/ipc.sh" diff --git a/tests-m32/ipc_shm.c b/tests-m32/ipc_shm.c index 6586c8af..f5802cc2 100644 --- a/tests-m32/ipc_shm.c +++ b/tests-m32/ipc_shm.c @@ -41,16 +41,62 @@ # define SHM_HUGE_MASK 0x3f #endif +#ifndef SHM_STAT_ANY +# define SHM_STAT_ANY 15 +#endif + #include "xlat.h" #include "xlat/shm_resource_flags.h" +#if XLAT_RAW +# define str_ipc_flags "0x2ce1e00" +# define str_shm_huge "21<<26" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_set "0x1" +# define str_ipc_stat "0x2" +# define str_shm_stat "0xd" +# define str_shm_info "0xe" +# define str_shm_stat_any "0xf" +# define str_ipc_64 "0x100" +# define str_bogus_cmd "0xdefaced2" +#elif XLAT_VERBOSE +# define str_ipc_flags \ + "0x2ce1e00 /\\* IPC_CREAT\\|IPC_EXCL\\|SHM_HUGETLB\\|SHM_NORESERVE" \ + "\\|0x2ce0000 \\*/" +# define str_shm_huge "21<<26 /\\* SHM_HUGE_SHIFT \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_set "0x1 /\\* IPC_SET \\*/" +# define str_ipc_stat "0x2 /\\* IPC_STAT \\*/" +# define str_shm_stat "0xd /\\* SHM_STAT \\*/" +# define str_shm_info "0xe /\\* SHM_INFO \\*/" +# define str_shm_stat_any "0xf /\\* SHM_STAT_ANY \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +# define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/" +#else +# define str_ipc_flags \ + "IPC_CREAT\\|IPC_EXCL\\|SHM_HUGETLB\\|SHM_NORESERVE\\|0x2ce0000" +# define str_shm_huge "21< + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -167,7 +168,7 @@ main(void) int fd; unsigned i; - struct kcmp_epoll_slot *slot = tail_alloc(sizeof(*slot)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct kcmp_epoll_slot, slot); /* Open some files to test printpidfd */ fd = open(null_path, O_RDONLY); diff --git a/tests-m32/kexec_load.c b/tests-m32/kexec_load.c index 2a6b4418..ff4507c9 100644 --- a/tests-m32/kexec_load.c +++ b/tests-m32/kexec_load.c @@ -2,7 +2,7 @@ * Check decoding of kexec_load syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -129,7 +129,7 @@ main(void) printf("{buf=%p, bufsz=%zu, mem=%p, memsz=%zu}, ", segms[i].buf, segms[i].bufsz, segms[i].mem, segms[i].memsz); - printf("%p], %s%s) = %s\n", + printf("... /* %p */], %s%s) = %s\n", segms + NUM_SEGMS, sizeof(long) == 8 ? flags[0].str64 : flags[0].str32, flags[0].str, errstr); diff --git a/tests-m32/keyctl-Xabbrev.c b/tests-m32/keyctl-Xabbrev.c new file mode 100644 index 00000000..7b6b0dcc --- /dev/null +++ b/tests-m32/keyctl-Xabbrev.c @@ -0,0 +1 @@ +#include "keyctl.c" diff --git a/tests-m32/keyctl-Xabbrev.gen.test b/tests-m32/keyctl-Xabbrev.gen.test new file mode 100755 index 00000000..0068a032 --- /dev/null +++ b/tests-m32/keyctl-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl-Xabbrev -a31 -s10 -e trace=keyctl -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a31 -s10 -e trace=keyctl -Xabbrev diff --git a/tests-m32/keyctl-Xraw.c b/tests-m32/keyctl-Xraw.c new file mode 100644 index 00000000..202c22a9 --- /dev/null +++ b/tests-m32/keyctl-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "keyctl.c" diff --git a/tests-m32/keyctl-Xraw.gen.test b/tests-m32/keyctl-Xraw.gen.test new file mode 100755 index 00000000..2d89ea79 --- /dev/null +++ b/tests-m32/keyctl-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl-Xraw -a13 -s10 -e trace=keyctl -Xraw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a13 -s10 -e trace=keyctl -Xraw diff --git a/tests-m32/keyctl-Xverbose.c b/tests-m32/keyctl-Xverbose.c new file mode 100644 index 00000000..9f9d744a --- /dev/null +++ b/tests-m32/keyctl-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "keyctl.c" diff --git a/tests-m32/keyctl-Xverbose.gen.test b/tests-m32/keyctl-Xverbose.gen.test new file mode 100755 index 00000000..a0cdd7de --- /dev/null +++ b/tests-m32/keyctl-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl-Xverbose -a41 -s10 -e trace=keyctl -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a41 -s10 -e trace=keyctl -Xverbose diff --git a/tests-m32/keyctl.c b/tests-m32/keyctl.c index 5d46ab78..881f24b3 100644 --- a/tests-m32/keyctl.c +++ b/tests-m32/keyctl.c @@ -89,6 +89,14 @@ bool buf_in_arg; /* From ioctl_dm.c */ # define STR32 "AbCdEfGhIjKlMnOpQrStUvWxYz012345" +#if XLAT_RAW +# define XARG_STR(v_) (v_), STRINGIFY(v_) +#elif XLAT_VERBOSE +# define XARG_STR(v_) (v_), STRINGIFY(v_) " /* " #v_ " */" +#else +# define XARG_STR ARG_STR +#endif + /* * When this is called with positive size, the buffer provided is an "out" * argument and rc contains resulting size (globally defined nul_terminated_buf @@ -187,7 +195,13 @@ do_keyctl(kernel_ulong_t cmd, const char *cmd_str, ...) long rc = syscall(__NR_keyctl, cmd, args[0], args[1], args[2], args[3]); const char *errstr = sprintrc(rc); +#if XLAT_RAW + printf("keyctl(%#x", (unsigned) cmd); +#elif XLAT_VERBOSE + printf("keyctl(%#x /* %s */", (unsigned) cmd, cmd_str); +#else printf("keyctl(%s", cmd_str); +#endif for (i = 0; i < cnt; i++) { printf(", "); print_arg(args[i], arg_str[i], arg_fmt[i], arg_sz[i], rc); @@ -299,8 +313,20 @@ main(void) static const struct keyctl_dh_params kcdhp_data = { KEY_SPEC_GROUP_KEYRING, 1234567890, 3141592653U }; - static const char *kcdhp_str = "{private=KEY_SPEC_GROUP_KEYRING, " - "prime=1234567890, base=-1153374643}"; + static const char *kcdhp_str = "{private=" +#if XLAT_RAW || XLAT_VERBOSE + "-6" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW + "KEY_SPEC_GROUP_KEYRING" +#endif +#if XLAT_VERBOSE + " */" +#endif + ", prime=1234567890, base=-1153374643}"; /* * It's bigger than current hash name size limit, but since it's @@ -418,7 +444,15 @@ main(void) /* Invalid command */ do_keyctl((kernel_ulong_t) 0xbadc0dedfacefeedULL, - "0xfacefeed /* KEYCTL_??? */", +#if XLAT_VERBOSE + "KEYCTL_???" +#else + "0xfacefeed" +# if !XLAT_RAW + " /* KEYCTL_??? */" +# endif +#endif + , sizeof(kernel_ulong_t), (kernel_ulong_t) 0xdeadfee1badc0de5ULL, NULL, kulong_fmt, @@ -440,7 +474,7 @@ main(void) (kernel_ulong_t) 0xbadc0dedffffffffLLU, "-1", NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_KEYRING_ID), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), "%d", + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), "%d", sizeof(int), 3141592653U, NULL, "%d", NULL, 0UL); @@ -469,7 +503,7 @@ main(void) buf_in_arg = true; do_keyctl(ARG_STR(KEYCTL_UPDATE), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 0, NULL, ksize_fmt, 0UL); @@ -498,7 +532,7 @@ main(void) /* KEYCTL_REVOKE */ do_keyctl(ARG_STR(KEYCTL_REVOKE), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_REVOKE), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -513,7 +547,7 @@ main(void) /* KEYCTL_CHOWN */ do_keyctl(ARG_STR(KEYCTL_CHOWN), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(uid_t), ARG_STR(-1), NULL, sizeof(gid_t), ARG_STR(-1), NULL, 0UL); @@ -526,8 +560,15 @@ main(void) /* KEYCTL_SETPERM */ do_keyctl(ARG_STR(KEYCTL_SETPERM), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQKEY_AUTH_KEY), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQKEY_AUTH_KEY), NULL, sizeof(uint32_t), 0xffffffffU, +#if XLAT_RAW || XLAT_VERBOSE + "0xffffffff" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW "KEY_POS_VIEW|KEY_POS_READ|KEY_POS_WRITE|" "KEY_POS_SEARCH|KEY_POS_LINK|KEY_POS_SETATTR|" "KEY_USR_VIEW|KEY_USR_READ|KEY_USR_WRITE|" @@ -536,7 +577,12 @@ main(void) "KEY_GRP_SEARCH|KEY_GRP_LINK|KEY_GRP_SETATTR|" "KEY_OTH_VIEW|KEY_OTH_READ|KEY_OTH_WRITE|" "KEY_OTH_SEARCH|KEY_OTH_LINK|KEY_OTH_SETATTR|" - "0xc0c0c0c0", NULL, + "0xc0c0c0c0" +#endif +#if XLAT_VERBOSE + " */" +#endif + , NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_SETPERM), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -544,7 +590,12 @@ main(void) 0UL); do_keyctl(ARG_STR(KEYCTL_SETPERM), sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL, - sizeof(uint32_t), 0xc0c0c0c0, "0xc0c0c0c0 /* KEY_??? */", + sizeof(uint32_t), 0xc0c0c0c0, + "0xc0c0c0c0" +#if !XLAT_RAW + " /* KEY_??? */" +#endif + , NULL, 0UL); @@ -563,17 +614,17 @@ main(void) (kernel_ulong_t) 0xfeedf157badc0dedLLU, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_DESCRIBE), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 9, (uintptr_t) bogus_buf1, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 9, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_DESCRIBE), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 256, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 256, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_DESCRIBE), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) -4, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) -4, NULL, ksize_fmt, 0UL); @@ -581,7 +632,7 @@ main(void) /* KEYCTL_CLEAR */ do_keyctl(ARG_STR(KEYCTL_CLEAR), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_CLEAR), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -597,14 +648,14 @@ main(void) /* KEYCTL_LINK */ do_keyctl(ARG_STR(KEYCTL_LINK), sizeof(int32_t), bogus_key1, NULL, "%d", - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_LINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(int32_t), bogus_key2, NULL, "%d", 0UL); do_keyctl(ARG_STR(KEYCTL_LINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL, 0UL); @@ -612,14 +663,14 @@ main(void) /* KEYCTL_UNLINK */ do_keyctl(ARG_STR(KEYCTL_UNLINK), sizeof(int32_t), bogus_key1, NULL, "%d", - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_UNLINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(int32_t), bogus_key2, NULL, "%d", 0UL); do_keyctl(ARG_STR(KEYCTL_UNLINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL, 0UL); @@ -628,7 +679,7 @@ main(void) buf_in_arg = true; do_keyctl(ARG_STR(KEYCTL_SEARCH), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(int32_t), 0, NULL, "%d"); @@ -636,7 +687,7 @@ main(void) sizeof(int32_t), bogus_key1, NULL, "%d", sizeof(char *), (char *) 0xfffffacefffffeedULL, NULL, ptr_fmt, sizeof(char *), (char *) 0xfffff00dfffff157ULL, NULL, ptr_fmt, - sizeof(int32_t), ARG_STR(KEY_SPEC_USER_SESSION_KEYRING), + sizeof(int32_t), XARG_STR(KEY_SPEC_USER_SESSION_KEYRING), NULL); do_keyctl(ARG_STR(KEYCTL_SEARCH), sizeof(int32_t), bogus_key2, NULL, "%d", @@ -657,7 +708,7 @@ main(void) /* KEYCTL_RESTRICT_KEYRING */ do_keyctl(ARG_STR(KEYCTL_RESTRICT_KEYRING), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(char *), ARG_STR(NULL), NULL, NULL); @@ -705,17 +756,17 @@ main(void) (kernel_ulong_t) 0xfeedf157badc0dedLLU, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_READ), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 9, (uintptr_t) bogus_buf1, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 9, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_READ), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 256, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 256, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_READ), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) -4, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) -4, NULL, ksize_fmt, 0UL); @@ -751,11 +802,11 @@ main(void) ksize_fmt, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL); do_keyctl(ARG_STR(KEYCTL_INSTANTIATE), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, sizeof(long_type_str), long_desc, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) sizeof(long_type_str), NULL, ksize_fmt, - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); buf_in_arg = false; @@ -788,7 +839,7 @@ main(void) /* KEYCTL_SET_REQKEY_KEYRING */ do_keyctl(ARG_STR(KEYCTL_SET_REQKEY_KEYRING), - sizeof(int32_t), ARG_STR(KEY_REQKEY_DEFL_NO_CHANGE), NULL, + sizeof(int32_t), XARG_STR(KEY_REQKEY_DEFL_NO_CHANGE), NULL, 0UL); /* * Keep it commented out until proper way of faking syscalls is not @@ -796,11 +847,15 @@ main(void) */ /* do_keyctl(ARG_STR(KEYCTL_SET_REQKEY_KEYRING), sizeof(int32_t), - ARG_STR(KEY_REQKEY_DEFL_REQUESTOR_KEYRING), NULL, 0UL); */ + XARG_STR(KEY_REQKEY_DEFL_REQUESTOR_KEYRING), NULL, 0UL); */ do_keyctl(ARG_STR(KEYCTL_SET_REQKEY_KEYRING), sizeof(kernel_ulong_t), (kernel_ulong_t) 0xfeedf157badc0dedLLU, - "0xbadc0ded /* KEY_REQKEY_DEFL_??? */", NULL, 0UL); + "-1159983635" +#if !XLAT_RAW + " /* KEY_REQKEY_DEFL_??? */" +#endif + , NULL, 0UL); /* KEYCTL_SET_TIMEOUT */ @@ -822,7 +877,7 @@ main(void) /* KEYCTL_ASSUME_AUTHORITY */ do_keyctl(ARG_STR(KEYCTL_ASSUME_AUTHORITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_ASSUME_AUTHORITY), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -848,17 +903,17 @@ main(void) (kernel_ulong_t) 0xfeedf157badc0dedLLU, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_SECURITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 9, (uintptr_t) bogus_buf1, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 9, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_SECURITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 256, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 256, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_SECURITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) -4, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) -4, NULL, ksize_fmt, 0UL); @@ -893,7 +948,7 @@ main(void) sizeof(kernel_ulong_t), (kernel_ulong_t) 0xfeedf157badc0dedLLU, "3134983661", NULL, - sizeof(uint32_t), ARG_STR(ENODEV), NULL, + sizeof(uint32_t), XARG_STR(ENODEV), NULL, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL); @@ -923,16 +978,16 @@ main(void) ksize_fmt, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL); do_keyctl(ARG_STR(KEYCTL_INSTANTIATE_IOV), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, sizeof(key_iov), key_iov, key_iov_str2, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) IOV_SIZE, NULL, ksize_fmt, - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); /* KEYCTL_INVALIDATE */ do_keyctl(ARG_STR(KEYCTL_INVALIDATE), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_INVALIDATE), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -948,7 +1003,7 @@ main(void) /* KEYCTL_GET_PERSISTENT */ do_keyctl(ARG_STR(KEYCTL_GET_PERSISTENT), sizeof(uid_t), ARG_STR(-1), NULL, - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_PERSISTENT), sizeof(uid_t), 2718281828U, NULL, "%u", diff --git a/tests-m32/mknod.c b/tests-m32/mknod.c index b3871499..4bcc2744 100644 --- a/tests-m32/mknod.c +++ b/tests-m32/mknod.c @@ -59,7 +59,7 @@ main(int ac, char **av) rc = call_mknod(mode, dev); printf("mknod(\"%s\", S_IFBLK|S_ISUID|S_ISGID|S_ISVTX|%#03ho" ", makedev(%u, %u)) = %ld %s (%m)\n", - sample, mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX), + sample, (short) (mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX)), major((unsigned) dev), minor((unsigned) dev), rc, errno2name()); diff --git a/tests-m32/mknodat.c b/tests-m32/mknodat.c index 756e2771..318dc5a6 100644 --- a/tests-m32/mknodat.c +++ b/tests-m32/mknodat.c @@ -59,7 +59,7 @@ main(void) rc = call_mknodat(mode, dev); printf("mknodat(-1, \"%s\", S_IFBLK|S_ISUID|S_ISGID|S_ISVTX|%#03ho" ", makedev(%u, %u)) = %ld %s (%m)\n", - sample, mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX), + sample, (short) (mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX)), major((unsigned) dev), minor((unsigned) dev), rc, errno2name()); diff --git a/tests-m32/mmap-Xabbrev.c b/tests-m32/mmap-Xabbrev.c new file mode 100644 index 00000000..b31ce427 --- /dev/null +++ b/tests-m32/mmap-Xabbrev.c @@ -0,0 +1 @@ +#include "mmap.c" diff --git a/tests-m32/mmap-Xabbrev.gen.test b/tests-m32/mmap-Xabbrev.gen.test new file mode 100755 index 00000000..b11a84ff --- /dev/null +++ b/tests-m32/mmap-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap-Xabbrev +mmap.test abbrev); do not edit. +set -- abbrev +. "${srcdir=.}/mmap.test" diff --git a/tests-m32/mmap-Xraw.c b/tests-m32/mmap-Xraw.c new file mode 100644 index 00000000..ef25c030 --- /dev/null +++ b/tests-m32/mmap-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mmap.c" diff --git a/tests-m32/mmap-Xraw.gen.test b/tests-m32/mmap-Xraw.gen.test new file mode 100755 index 00000000..3caca91d --- /dev/null +++ b/tests-m32/mmap-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap-Xraw +mmap.test raw 14); do not edit. +set -- raw 14 +. "${srcdir=.}/mmap.test" diff --git a/tests-m32/mmap-Xverbose.c b/tests-m32/mmap-Xverbose.c new file mode 100644 index 00000000..08e9e305 --- /dev/null +++ b/tests-m32/mmap-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mmap.c" diff --git a/tests-m32/mmap-Xverbose.gen.test b/tests-m32/mmap-Xverbose.gen.test new file mode 100755 index 00000000..99b41c02 --- /dev/null +++ b/tests-m32/mmap-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap-Xverbose +mmap.test verbose); do not edit. +set -- verbose +. "${srcdir=.}/mmap.test" diff --git a/tests-m32/mmap.c b/tests-m32/mmap.c index 0321bf52..e9f587ec 100644 --- a/tests-m32/mmap.c +++ b/tests-m32/mmap.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -58,25 +58,60 @@ main(int ac, char **av) (void) close(0); (void) close(0); +#if XLAT_RAW + printf("%s(NULL, 0, %#x, %#x, 0, 0) = -1 EBADF (%m)\n", + name, PROT_NONE, MAP_FILE); +#elif XLAT_VERBOSE + printf("%s(NULL, 0, %#x /* PROT_NONE */, %#x /* MAP_FILE */, 0, 0) " + "= -1 EBADF (%m)\n", + name, PROT_NONE, MAP_FILE); +#else printf("%s(NULL, 0, PROT_NONE, MAP_FILE, 0, 0) = -1 EBADF (%m)\n", name); +#endif mmap(NULL, 0, PROT_NONE, MAP_FILE, 0, 0); p = mmap(addr, length1, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, fd, offset); if (MAP_FAILED == p) perror_msg_and_fail("mmap"); +#if XLAT_RAW + printf("%s(%p, %lu, %#x, " + "%#x|%#x, %d, %#jx) = %p\n", + name, addr, length1, PROT_READ | PROT_WRITE, MAP_PRIVATE, + MAP_ANONYMOUS, fd, uoffset, p); +#elif XLAT_VERBOSE + printf("%s(%p, %lu, %#x /* PROT_READ|PROT_WRITE */, " + "%#x /* MAP_PRIVATE */|%#x /* MAP_ANONYMOUS */, %d, %#jx) " + "= %p\n", + name, addr, length1, PROT_READ | PROT_WRITE, MAP_PRIVATE, + MAP_ANONYMOUS, fd, uoffset, p); +#else printf("%s(%p, %lu, PROT_READ|PROT_WRITE, " "MAP_PRIVATE|MAP_ANONYMOUS, %d, %#jx) = %p\n", name, addr, length1, fd, uoffset, p); +#endif if (msync(p, length1, MS_SYNC)) perror_msg_and_fail("msync"); +#if XLAT_RAW + printf("msync(%p, %lu, %#x) = 0\n", p, length1, MS_SYNC); +#elif XLAT_VERBOSE + printf("msync(%p, %lu, %#x /* MS_SYNC */) = 0\n", p, length1, MS_SYNC); +#else printf("msync(%p, %lu, MS_SYNC) = 0\n", p, length1); +#endif if (mprotect(p, length1, PROT_NONE)) perror_msg_and_fail("mprotect"); +#if XLAT_RAW + printf("mprotect(%p, %lu, %#x) = 0\n", p, length1, PROT_NONE); +#elif XLAT_VERBOSE + printf("mprotect(%p, %lu, %#x /* PROT_NONE */) = 0\n", + p, length1, PROT_NONE); +#else printf("mprotect(%p, %lu, PROT_NONE) = 0\n", p, length1); +#endif addr = mremap(p, length1, length2, 0); if (MAP_FAILED == addr) @@ -87,8 +122,19 @@ main(int ac, char **av) addr + length2); if (MAP_FAILED == p) perror_msg_and_fail("mremap"); +#if XLAT_RAW + printf("mremap(%p, %lu, %lu, %#x, %p) = %p\n", + addr, length2, length3, MREMAP_MAYMOVE | MREMAP_FIXED, + addr + length2, p); +#elif XLAT_VERBOSE + printf("mremap(%p, %lu, %lu, %#x /* MREMAP_MAYMOVE|MREMAP_FIXED */" + ", %p) = %p\n", + addr, length2, length3, MREMAP_MAYMOVE | MREMAP_FIXED, + addr + length2, p); +#else printf("mremap(%p, %lu, %lu, MREMAP_MAYMOVE|MREMAP_FIXED" ", %p) = %p\n", addr, length2, length3, addr + length2, p); +#endif if (munmap(p, length3)) perror_msg_and_fail("munmap"); @@ -96,7 +142,13 @@ main(int ac, char **av) if (mlockall(MCL_FUTURE)) perror_msg_and_fail("mlockall"); +#if XLAT_RAW + printf("mlockall(%#x) = 0\n", MCL_FUTURE); +#elif XLAT_VERBOSE + printf("mlockall(%#x /* MCL_FUTURE */) = 0\n", MCL_FUTURE); +#else puts("mlockall(MCL_FUTURE) = 0"); +#endif puts("+++ exited with 0 +++"); return 0; diff --git a/tests-m32/mmap.test b/tests-m32/mmap.test index 7ba664ec..7fa2c704 100755 --- a/tests-m32/mmap.test +++ b/tests-m32/mmap.test @@ -4,7 +4,7 @@ # syscalls decoding. # # Copyright (c) 2015-2016 Dmitry V. Levin -# 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 @@ -35,15 +35,20 @@ check_prog grep check_prog sed run_prog > /dev/null +xlat_opt="" +[ "$#" -gt 0 ] && xlat_opt="-X$1" +align=20 +[ "$#" -gt 1 ] && align="$2" + syscall= for n in mmap mmap2; do $STRACE -e$n -h > /dev/null && syscall=$syscall,$n done run_strace -e$syscall $args > /dev/null -if grep '^mmap(NULL, 0, PROT_NONE,' < "$LOG" > /dev/null; then +if grep '^mmap(NULL, 0, \(0 /* PROT_NONE */\|0\|PROT_NONE\),' < "$LOG" > /dev/null; then mmap=mmap -elif grep '^mmap2(NULL, 0, PROT_NONE,' < "$LOG" > /dev/null; then +elif grep '^mmap2(NULL, 0, \(0 \/\* PROT_NONE \*\/\|0\|PROT_NONE\),' < "$LOG" > /dev/null; then mmap=mmap2 else dump_log_and_fail_with "mmap/mmap2 not found in $STRACE $args output" @@ -52,6 +57,6 @@ fi syscall=$mmap,madvise,mlockall,mprotect,mremap,msync,munmap run_prog "../$NAME" $mmap > /dev/null -run_strace -a20 -e$syscall $args > "$EXP" -sed -n "/^$mmap(NULL, 0, PROT_NONE,/,\$p" < "$LOG" > "$OUT" +run_strace -a$align -e$syscall $xlat_opt $args > "$EXP" +sed -n "/^$mmap(NULL, 0, \(0 \/\* PROT_NONE \*\/\|0\|PROT_NONE\),/,\$p" < "$LOG" > "$OUT" match_diff "$OUT" "$EXP" diff --git a/tests-m32/mmap64-Xabbrev.c b/tests-m32/mmap64-Xabbrev.c new file mode 100644 index 00000000..cbd77896 --- /dev/null +++ b/tests-m32/mmap64-Xabbrev.c @@ -0,0 +1 @@ +#include "mmap64.c" diff --git a/tests-m32/mmap64-Xabbrev.gen.test b/tests-m32/mmap64-Xabbrev.gen.test new file mode 100755 index 00000000..3e2c94ba --- /dev/null +++ b/tests-m32/mmap64-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64-Xabbrev +mmap.test abbrev); do not edit. +set -- abbrev +. "${srcdir=.}/mmap.test" diff --git a/tests-m32/mmap64-Xraw.c b/tests-m32/mmap64-Xraw.c new file mode 100644 index 00000000..f75f235f --- /dev/null +++ b/tests-m32/mmap64-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mmap64.c" diff --git a/tests-m32/mmap64-Xraw.gen.test b/tests-m32/mmap64-Xraw.gen.test new file mode 100755 index 00000000..7aeed02f --- /dev/null +++ b/tests-m32/mmap64-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64-Xraw +mmap.test raw 14); do not edit. +set -- raw 14 +. "${srcdir=.}/mmap.test" diff --git a/tests-m32/mmap64-Xverbose.c b/tests-m32/mmap64-Xverbose.c new file mode 100644 index 00000000..f72513e1 --- /dev/null +++ b/tests-m32/mmap64-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mmap64.c" diff --git a/tests-m32/mmap64-Xverbose.gen.test b/tests-m32/mmap64-Xverbose.gen.test new file mode 100755 index 00000000..0d675d98 --- /dev/null +++ b/tests-m32/mmap64-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64-Xverbose +mmap.test verbose); do not edit. +set -- verbose +. "${srcdir=.}/mmap.test" diff --git a/tests-m32/mmsg_name.c b/tests-m32/mmsg_name.c index 8c54a48b..c17b13d2 100644 --- a/tests-m32/mmsg_name.c +++ b/tests-m32/mmsg_name.c @@ -3,7 +3,7 @@ * of sendmmsg and recvmmsg syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -152,7 +152,7 @@ test_mmsg_name(const int send_fd, const int recv_fd) printf("sendmmsg(-1, [{msg_hdr="); print_msghdr(&send_mh[IOV_MAX].msg_hdr, 0); errno = saved_errno; - printf("}, %p], %u, MSG_DONTWAIT) = %d %s (%m)\n", + printf("}, ... /* %p */], %u, MSG_DONTWAIT) = %d %s (%m)\n", &send_mh[IOV_MAX1], 2, rc, errno2name()); rc = send_mmsg(send_fd, send_mh, IOV_MAX1, MSG_DONTWAIT); diff --git a/tests-m32/modify_ldt.c b/tests-m32/modify_ldt.c index 1e26bda4..2d527ac1 100644 --- a/tests-m32/modify_ldt.c +++ b/tests-m32/modify_ldt.c @@ -67,8 +67,8 @@ main(void) static const kernel_ulong_t bogus_bytecount = (kernel_ulong_t) 0xdeadfacefa57beefULL; - struct user_desc *us = tail_alloc(sizeof(*us)); - unsigned int *bogus_int = tail_alloc(sizeof(*bogus_int)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct user_desc, us); + TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, bogus_int); long rc; fill_memory(us, sizeof(*us)); diff --git a/tests-m32/mount-Xabbrev.c b/tests-m32/mount-Xabbrev.c new file mode 100644 index 00000000..0f6fecde --- /dev/null +++ b/tests-m32/mount-Xabbrev.c @@ -0,0 +1 @@ +#include "mount.c" diff --git a/tests-m32/mount-Xabbrev.gen.test b/tests-m32/mount-Xabbrev.gen.test new file mode 100755 index 00000000..10e261ff --- /dev/null +++ b/tests-m32/mount-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount-Xabbrev -a33 -e trace=mount -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a33 -e trace=mount -Xabbrev diff --git a/tests-m32/mount-Xraw.c b/tests-m32/mount-Xraw.c new file mode 100644 index 00000000..3aa1f084 --- /dev/null +++ b/tests-m32/mount-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mount.c" diff --git a/tests-m32/mount-Xraw.gen.test b/tests-m32/mount-Xraw.gen.test new file mode 100755 index 00000000..ce852f88 --- /dev/null +++ b/tests-m32/mount-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount-Xraw -a33 -e trace=mount -Xraw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a33 -e trace=mount -Xraw diff --git a/tests-m32/mount-Xverbose.c b/tests-m32/mount-Xverbose.c new file mode 100644 index 00000000..0b211c7a --- /dev/null +++ b/tests-m32/mount-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mount.c" diff --git a/tests-m32/mount-Xverbose.gen.test b/tests-m32/mount-Xverbose.gen.test new file mode 100755 index 00000000..c780070e --- /dev/null +++ b/tests-m32/mount-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount-Xverbose -a33 -e trace=mount -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a33 -e trace=mount -Xverbose diff --git a/tests-m32/mount.c b/tests-m32/mount.c index cbfe42f8..2e58571d 100644 --- a/tests-m32/mount.c +++ b/tests-m32/mount.c @@ -2,6 +2,7 @@ * Check decoding of mount syscall. * * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,7 +41,34 @@ # define MS_RELATIME (1ul << 21) #endif -#define str_ro_nosuid_nodev_noexec "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC" +#if XLAT_RAW +# define str_unknown "0x300" +# define str_submount_200 "0x4000200" +# define str_mgc_val "0xc0ed0000" +# define str_remount "0x20" +# define str_bind "0x1000" +# define str_ro_nosuid_nodev_noexec "0xf" +# define str_ro_nosuid_nodev_noexec_relatime "0x20000f" +#elif XLAT_VERBOSE +# define str_unknown "0x300 /* MS_??? */" +# define str_submount_200 "0x4000200 /* MS_SUBMOUNT|0x200 */" +# define str_mgc_val "0xc0ed0000 /* MS_MGC_VAL */" +# define str_remount "0x20 /* MS_REMOUNT */" +# define str_bind "0x1000 /* MS_BIND */" +# define str_ro_nosuid_nodev_noexec \ + "0xf /* MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC */" +# define str_ro_nosuid_nodev_noexec_relatime \ + "0x20000f /* MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_RELATIME */" +#else /* !XLAT_RAW && !XLAT_VERBOSE */ +# define str_unknown "0x300 /* MS_??? */" +# define str_submount_200 "MS_SUBMOUNT|0x200" +# define str_mgc_val "MS_MGC_VAL" +# define str_remount "MS_REMOUNT" +# define str_bind "MS_BIND" +# define str_ro_nosuid_nodev_noexec "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC" +# define str_ro_nosuid_nodev_noexec_relatime \ + "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_RELATIME" +#endif /* XLAT_RAW, XLAT_VERBOSE */ int main(void) @@ -49,35 +77,59 @@ main(void) static const char target[] = "mount_target"; static const char fstype[] = "mount_fstype"; static const char data[] = "mount_data"; + TAIL_ALLOC_OBJECT_CONST_PTR(char, bogus); - int rc = mount(source, target, fstype, 15, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", + bogus[0] = 'a'; + + int rc = mount(NULL, NULL, NULL, 0, NULL); + printf("mount(NULL, NULL, NULL, 0, NULL) = %s\n", + sprintrc(rc)); + + rc = mount(bogus, bogus, bogus, 768, bogus); + printf("mount(%p, %p, %p, %s, %p) = %s\n", + bogus, bogus, bogus, str_unknown, bogus, sprintrc(rc)); + + rc = mount(bogus + 1, bogus + 1, bogus + 1, 0x4000200, bogus + 1); + printf("mount(%p, %p, %p, %s, %p) = %s\n", + bogus + 1, bogus + 1, bogus + 1, str_submount_200, + bogus + 1, sprintrc(rc)); + + rc = mount(source, target, fstype, 15, data); + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", source, target, fstype, str_ro_nosuid_nodev_noexec, - data, rc, errno2name()); + data, sprintrc(rc)); rc = mount(source, target, fstype, MS_RELATIME | 15, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", source, target, fstype, - str_ro_nosuid_nodev_noexec "|MS_RELATIME", - data, rc, errno2name()); + str_ro_nosuid_nodev_noexec_relatime, + data, sprintrc(rc)); rc = mount(source, target, fstype, MS_MGC_VAL, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", - source, target, fstype, "MS_MGC_VAL", data, rc, errno2name()); + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", + source, target, fstype, str_mgc_val, data, sprintrc(rc)); rc = mount(source, target, fstype, MS_MGC_VAL | 15, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", source, target, fstype, - "MS_MGC_VAL|" str_ro_nosuid_nodev_noexec, - data, rc, errno2name()); + str_mgc_val "|" str_ro_nosuid_nodev_noexec, + data, sprintrc(rc)); + + rc = mount(source, target, NULL, MS_REMOUNT, data); + printf("mount(\"%s\", \"%s\", NULL, %s, \"%s\") = %s\n", + source, target, str_remount, data, sprintrc(rc)); rc = mount(source, target, fstype, MS_REMOUNT, data); - printf("mount(\"%s\", \"%s\", %p, %s, \"%s\") = %d %s (%m)\n", - source, target, fstype, "MS_REMOUNT", data, rc, errno2name()); + printf("mount(\"%s\", \"%s\", %p, %s, \"%s\") = %s\n", + source, target, fstype, str_remount, data, sprintrc(rc)); + + rc = mount(source, target, NULL, MS_BIND, data); + printf("mount(\"%s\", \"%s\", NULL, %s, %p) = %s\n", + source, target, str_bind, data, sprintrc(rc)); - rc = mount(source, target, fstype, MS_BIND, data); - printf("mount(\"%s\", \"%s\", %p, %s, %p) = %d %s (%m)\n", - source, target, fstype, "MS_BIND", data, rc, errno2name()); + rc = mount(source, target, fstype, MS_BIND, NULL); + printf("mount(\"%s\", \"%s\", %p, %s, NULL) = %s\n", + source, target, fstype, str_bind, sprintrc(rc)); puts("+++ exited with 0 +++"); return 0; diff --git a/tests-m32/mount.gen.test b/tests-m32/mount.gen.test index 69bc99be..2a3639c8 100755 --- a/tests-m32/mount.gen.test +++ b/tests-m32/mount.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount ); do not edit. +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount -a33 ); do not edit. . "${srcdir=.}/init.sh" -run_strace_match_diff +run_strace_match_diff -a33 diff --git a/tests-m32/move_pages.c b/tests-m32/move_pages.c index 5ec25aab..851a8c76 100644 --- a/tests-m32/move_pages.c +++ b/tests-m32/move_pages.c @@ -2,7 +2,7 @@ * Check decoding of move_pages syscall. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -63,7 +63,7 @@ print_page_array(const void **const pages, break; } } else { - printf("%p", pages + i); + printf("... /* %p */", pages + i); break; } const void *const addr = pages[i]; @@ -99,7 +99,7 @@ print_node_array(const int *const nodes, break; } } else { - printf("%p", nodes + i); + printf("... /* %p */", nodes + i); break; } printf("%d", nodes[i]); diff --git a/tests-m32/msg_control.c b/tests-m32/msg_control.c index 48b7347a..01786d7f 100644 --- a/tests-m32/msg_control.c +++ b/tests-m32/msg_control.c @@ -2,7 +2,7 @@ * Check decoding of struct msghdr ancillary data. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -132,7 +132,7 @@ test_scm_rights1(struct msghdr *const mh, print_fds(cmsg, src_len); printf("}"); if (aligned_cms_len < msg_controllen) - printf(", %p", (void *) cmsg + aligned_cms_len); + printf(", ... /* %p */", (void *) cmsg + aligned_cms_len); printf("]"); } @@ -195,7 +195,7 @@ test_scm_rights2(struct msghdr *const mh, print_fds(cmsg[1], src1_len); printf("}"); if (aligned_cms_len[1] < msg_controllen1) - printf(", %p", (void *) cmsg[1] + aligned_cms_len[1]); + printf(", ... /* %p */", (void *) cmsg[1] + aligned_cms_len[1]); printf("]"); errno = saved_errno; @@ -425,7 +425,7 @@ test_scm_security(struct msghdr *const mh, print_security(cmsg, src_len); printf("}"); if (aligned_cms_len < msg_controllen) - printf(", %p", (void *) cmsg + aligned_cms_len); + printf(", ... /* %p */", (void *) cmsg + aligned_cms_len); printf("]"); errno = saved_errno; diff --git a/tests-m32/net-sockaddr.c b/tests-m32/net-sockaddr.c index fe933d49..22cbb265 100644 --- a/tests-m32/net-sockaddr.c +++ b/tests-m32/net-sockaddr.c @@ -2,7 +2,7 @@ * Check decoding of sockaddr structures * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -436,25 +436,86 @@ check_l2(void) { const unsigned short h_psm = 12345; const unsigned short h_cid = 13579; - const struct sockaddr_l2 c_l2 = { + struct sockaddr_l2 c_l2 = { .l2_family = AF_BLUETOOTH, .l2_psm = htobs(h_psm), .l2_bdaddr.b = "abcdef", .l2_cid = htobs(h_cid), - .l2_bdaddr_type = 42 +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + .l2_bdaddr_type = 0xce, +#endif }; void *l2 = tail_memdup(&c_l2, sizeof(c_l2)); unsigned int len = sizeof(c_l2); + int ret = connect(-1, l2, len); printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(%hu)" + ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)" + ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" + ", l2_cid=htobs(L2CAP_CID_DYN_START + %hu)" +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + ", l2_bdaddr_type=0xce /* BDADDR_??? */" +#endif + "}, %u) = %d EBADF (%m)\n", + (short) (h_psm - 0x1001), + c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], + c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], + c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], + (short) (h_cid - 0x40), len, ret); + + c_l2.l2_psm = htobs(1); + c_l2.l2_cid = htobs(1); +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + c_l2.l2_bdaddr_type = BDADDR_LE_RANDOM; +#endif + memcpy(l2, &c_l2, sizeof(c_l2)); + ret = connect(-1, l2, len); + printf("connect(-1, {sa_family=AF_BLUETOOTH" + ", l2_psm=htobs(L2CAP_PSM_SDP)" + ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" + ", l2_cid=htobs(L2CAP_CID_SIGNALING)" +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + ", l2_bdaddr_type=BDADDR_LE_RANDOM" +#endif + "}, %u) = %d EBADF (%m)\n", + c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], + c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], + c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], + len, ret); + + c_l2.l2_psm = htobs(0xbad); + c_l2.l2_cid = htobs(8); +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + c_l2.l2_bdaddr_type = 3; +#endif + memcpy(l2, &c_l2, sizeof(c_l2)); + ret = connect(-1, l2, len); + printf("connect(-1, {sa_family=AF_BLUETOOTH" + ", l2_psm=htobs(0xbad /* L2CAP_PSM_??? */)" + ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" + ", l2_cid=htobs(0x8 /* L2CAP_CID_??? */)" +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + ", l2_bdaddr_type=0x3 /* BDADDR_??? */" +#endif + "}, %u) = %d EBADF (%m)\n", + c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], + c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], + c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], + len, ret); + + c_l2.l2_psm = htobs(0x10ff); + c_l2.l2_cid = htobs(0xffff); + memcpy(l2, &c_l2, 12); + ret = connect(-1, l2, 12); + printf("connect(-1, {sa_family=AF_BLUETOOTH" + ", l2_psm=htobs(L2CAP_PSM_AUTO_END)" ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - ", l2_cid=htobs(%hu), l2_bdaddr_type=%u}" - ", %u) = %d EBADF (%m)\n", h_psm, + ", l2_cid=htobs(L2CAP_CID_DYN_END)" + "}, 12) = %d EBADF (%m)\n", c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], - h_cid, c_l2.l2_bdaddr_type, len, ret); + ret); } #endif diff --git a/tests-m32/netlink_crypto.c b/tests-m32/netlink_crypto.c index d15c17cf..5c3dc046 100644 --- a/tests-m32/netlink_crypto.c +++ b/tests-m32/netlink_crypto.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -98,8 +98,6 @@ test_nlmsg_flags(const int fd) static void test_crypto_msg_newalg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - struct crypto_user_alg alg = { .cru_name = "abcd", .cru_driver_name = "efgh", @@ -109,6 +107,8 @@ test_crypto_msg_newalg(const int fd) .cru_refcnt = 0xbcacfacd, .cru_flags = 0xefacdbad }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(alg)); + TEST_NETLINK_OBJECT_EX(fd, nlh0, CRYPTO_MSG_NEWALG, NLM_F_REQUEST, alg, print_quoted_memory, @@ -149,7 +149,7 @@ test_crypto_msg_newalg(const int fd) static void test_crypto_msg_unspec(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, 4); TEST_NETLINK_(fd, nlh0, 0xffff, "0xffff /* CRYPTO_MSG_??? */", diff --git a/tests-m32/netlink_kobject_uevent.c b/tests-m32/netlink_kobject_uevent.c index 7edacd7d..b28af493 100644 --- a/tests-m32/netlink_kobject_uevent.c +++ b/tests-m32/netlink_kobject_uevent.c @@ -27,9 +27,12 @@ */ #include "tests.h" +#include #include #include +#include #include "netlink.h" +#include "netlink_kobject_uevent.h" static const char *errstr; @@ -41,6 +44,94 @@ sys_send(const int fd, const void *const buf, const size_t len) return rc; } +static void +test_nlmsg_type_udev(const int fd) +{ + static const char extra[] = "12345678"; + struct udev_monitor_netlink_header uh = { + .prefix = "libudev", + .magic = htonl(0xfeedcafe), + .header_size = sizeof(uh), + .properties_off = 40, + .properties_len = 299, + .filter_subsystem_hash = htonl(0xc370b302), + .filter_devtype_hash = htonl(0x10800000), + .filter_tag_bloom_hi = htonl(0x2000400), + .filter_tag_bloom_lo = htonl(0x10800000), + }; + const unsigned int extra_len = LENGTH_OF(extra); + const unsigned int uh_len = sizeof(uh); + + char *const buf = tail_alloc(uh_len + extra_len); + memcpy(buf + extra_len, &uh, uh_len); + + sys_send(fd, buf + extra_len, uh_len); + printf("sendto(%d, {{prefix=\"%s\", magic=htonl(%#x)" + ", header_size=%u, properties_off=%u, properties_len=%u" + ", filter_subsystem_hash=htonl(%#x)" + ", filter_devtype_hash=htonl(%#x)" + ", filter_tag_bloom_hi=htonl(%#x)" + ", filter_tag_bloom_lo=htonl(%#x)}}, %u, MSG_DONTWAIT, NULL, " + "0) = %s\n" + , fd, uh.prefix, + ntohl(uh.magic), uh.header_size, uh.properties_off, + uh.properties_len, ntohl(uh.filter_subsystem_hash), + ntohl(uh.filter_devtype_hash), ntohl(uh.filter_tag_bloom_hi), + ntohl(uh.filter_tag_bloom_lo), uh_len, errstr); + + memcpy(buf, &uh, uh_len); + memcpy(buf + uh_len, extra, extra_len); + sys_send(fd, buf, uh_len + extra_len); + printf("sendto(%d, {{prefix=\"%s\", magic=htonl(%#x)" + ", header_size=%u, properties_off=%u, properties_len=%u" + ", filter_subsystem_hash=htonl(%#x)" + ", filter_devtype_hash=htonl(%#x)" + ", filter_tag_bloom_hi=htonl(%#x)" + ", filter_tag_bloom_lo=htonl(%#x)}, " + , fd, uh.prefix, + ntohl(uh.magic), uh.header_size, uh.properties_off, + uh.properties_len, ntohl(uh.filter_subsystem_hash), + ntohl(uh.filter_devtype_hash), ntohl(uh.filter_tag_bloom_hi), + ntohl(uh.filter_tag_bloom_lo)); + print_quoted_memory(buf + uh_len, extra_len); + printf("}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", + uh_len + extra_len, errstr); + + memcpy(buf + extra_len + 1, &uh, uh_len - 1); + sys_send(fd, buf + extra_len + 1, uh_len); + printf("sendto(%d, ", fd); + print_quoted_memory(&uh, MIN(uh_len - 1, DEFAULT_STRLEN)); + printf("%s, %u, MSG_DONTWAIT, NULL, 0) = %s\n", + (uh_len - 1 > DEFAULT_STRLEN ? "..." : ""), + uh_len, errstr); +} + +static void +test_nlmsg_type_kernel(const int fd) +{ + struct udev_monitor_netlink_header uh = { + .prefix = "change@", + .magic = htonl(0xfeedcafe), + .header_size = sizeof(uh), + .properties_off = 10, + .properties_len = 299, + .filter_subsystem_hash = htonl(0xfffffff), + .filter_devtype_hash = htonl(0x10000000), + .filter_tag_bloom_hi = htonl(0x2000400), + }; + const unsigned int uh_len = sizeof(uh); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct udev_monitor_netlink_header, p); + memcpy(p, &uh, uh_len); + + sys_send(fd, p, uh_len); + printf("sendto(%d, ", fd); + print_quoted_memory(&uh, MIN(uh_len, DEFAULT_STRLEN)); + printf("%s, %u, MSG_DONTWAIT, NULL, 0) = %s\n", + (uh_len > DEFAULT_STRLEN ? "..." : ""), + uh_len, errstr); +} + int main(void) { @@ -48,6 +139,8 @@ main(void) int fd = create_nl_socket(NETLINK_KOBJECT_UEVENT); + test_nlmsg_type_udev(fd); + test_nlmsg_type_kernel(fd); /* test using data that looks like a zero-length C string */ char *const buf = tail_alloc(DEFAULT_STRLEN + 1); buf[0] = '='; diff --git a/tests-m32/netlink_netfilter.c b/tests-m32/netlink_netfilter.c index 57532f52..2842e154 100644 --- a/tests-m32/netlink_netfilter.c +++ b/tests-m32/netlink_netfilter.c @@ -88,8 +88,8 @@ test_nlmsg_type(const int fd) static void test_nlmsg_done(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const int num = 0xabcdefad; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(num)); TEST_NETLINK(fd, nlh0, NLMSG_DONE, NLM_F_REQUEST, sizeof(num), &num, sizeof(num), @@ -99,13 +99,21 @@ test_nlmsg_done(const int fd) static void test_nfgenmsg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + static const struct nlattr nla = { + .nla_len = sizeof(nla), + .nla_type = 0x0bcd + }; struct nfgenmsg msg = { .nfgen_family = AF_UNIX, .version = NFNETLINK_V0, .res_id = NFNL_SUBSYS_NFTABLES }; + char str_buf[NLMSG_ALIGN(sizeof(msg)) + 4]; + char nla_buf[NLMSG_ALIGN(sizeof(msg)) + sizeof(nla)]; + + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, + MAX(sizeof(str_buf), sizeof(nla_buf))); TEST_NETLINK_OBJECT_EX_(fd, nlh0, NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE, @@ -150,8 +158,6 @@ test_nfgenmsg(const int fd) 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); @@ -165,12 +171,6 @@ test_nfgenmsg(const int fd) ", \"\\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)); diff --git a/tests-m32/netlink_netlink_diag.c b/tests-m32/netlink_netlink_diag.c index 855e404e..a682f7c6 100644 --- a/tests-m32/netlink_netlink_diag.c +++ b/tests-m32/netlink_netlink_diag.c @@ -3,7 +3,7 @@ * * Copyright (c) 2014-2016 Dmitry V. Levin * Copyright (c) 2016 Fabien Siron - * 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 @@ -55,8 +55,7 @@ send_query(const int fd) }, .ndr = { .sdiag_family = AF_NETLINK, - .sdiag_protocol = NDIAG_PROTO_ALL, - .ndiag_show = NDIAG_SHOW_MEMINFO + .sdiag_protocol = NDIAG_PROTO_ALL } }; struct iovec iov = { diff --git a/tests-m32/netlink_protocol.c b/tests-m32/netlink_protocol.c index be1a6528..47f0e921 100644 --- a/tests-m32/netlink_protocol.c +++ b/tests-m32/netlink_protocol.c @@ -3,6 +3,7 @@ * * Copyright (c) 2014-2017 Dmitry V. Levin * Copyright (c) 2016 Fabien Siron + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -125,7 +126,8 @@ send_query(const int fd) struct req req1; char padding[NLMSG_ALIGN(sizeof(struct req)) - sizeof(struct req)]; struct req req2; - } *const reqs = tail_alloc(sizeof(*reqs)); + }; + TAIL_ALLOC_OBJECT_CONST_PTR(struct reqs, reqs); memcpy(&reqs->req1, &c_req, sizeof(c_req)); memcpy(&reqs->req2, &c_req, sizeof(c_req)); @@ -144,7 +146,7 @@ send_query(const int fd) rc = sendto(fd, efault2, sizeof(*reqs), MSG_DONTWAIT, NULL, 0); printf("sendto(%d, [{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x" ", seq=0, pid=0}, \"\\x61\\x62\\x63\\x64\"}" - ", %p], %u, MSG_DONTWAIT, NULL, 0) = %s\n", + ", ... /* %p */], %u, MSG_DONTWAIT, NULL, 0) = %s\n", fd, reqs->req1.nlh.nlmsg_len, NLM_F_DUMP, &((struct reqs *) efault2)->req2, (unsigned) sizeof(*reqs), sprintrc(rc)); @@ -203,7 +205,7 @@ test_nlmsgerr(const int fd) { struct nlmsgerr *err; struct nlmsghdr *nlh; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(*err) + 4); long rc; /* error message without enough room for the error code */ @@ -318,9 +320,9 @@ static void test_nlmsg_done(const int fd) { struct nlmsghdr *nlh; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - long rc; const int num = 0xfacefeed; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(num)); + long rc; /* NLMSG_DONE message without enough room for an integer payload */ nlh = nlh0; diff --git a/tests-m32/netlink_route.c b/tests-m32/netlink_route.c index a1c7d1f8..a3fbac96 100644 --- a/tests-m32/netlink_route.c +++ b/tests-m32/netlink_route.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -143,8 +144,8 @@ test_nlmsg_flags(const int fd) static void test_nlmsg_done(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const int num = 0xabcdefad; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(num)); TEST_NETLINK(fd, nlh0, NLMSG_DONE, NLM_F_REQUEST, sizeof(num), &num, sizeof(num), @@ -154,10 +155,11 @@ test_nlmsg_done(const int fd) static void test_rtnl_unspec(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + uint8_t family = 0; + char buf[sizeof(family) + 4]; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(buf)); /* unspecified family only */ - uint8_t family = 0; TEST_NETLINK_(fd, nlh0, 0xffff, "0xffff /* RTM_??? */", NLM_F_REQUEST, "NLM_F_REQUEST", @@ -180,7 +182,6 @@ test_rtnl_unspec(const int fd) printf("%p", NLMSG_DATA(TEST_NETLINK_nlh))); /* unspecified family and string */ - char buf[sizeof(family) + 4]; family = 0; memcpy(buf, &family, sizeof(family)); memcpy(buf + sizeof(family), "1234", 4); @@ -204,7 +205,6 @@ test_rtnl_unspec(const int fd) static void test_rtnl_link(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ifinfomsg ifinfo = { .ifi_family = AF_UNIX, .ifi_type = ARPHRD_LOOPBACK, @@ -212,6 +212,7 @@ test_rtnl_link(const int fd) .ifi_flags = IFF_UP, .ifi_change = 0xfabcdeba }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(ifinfo)); TEST_NL_ROUTE(fd, nlh0, RTM_GETLINK, ifinfo, printf("{ifi_family=AF_UNIX"), @@ -225,7 +226,6 @@ test_rtnl_link(const int fd) static void test_rtnl_addr(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ifaddrmsg msg = { .ifa_family = AF_UNIX, .ifa_prefixlen = 0xde, @@ -233,6 +233,7 @@ test_rtnl_addr(const int fd) .ifa_scope = RT_SCOPE_UNIVERSE, .ifa_index = ifindex_lo() }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETADDR, msg, printf("{ifa_family=AF_UNIX"), @@ -246,7 +247,6 @@ test_rtnl_addr(const int fd) static void test_rtnl_route(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct rtmsg msg = { .rtm_family = AF_UNIX, .rtm_dst_len = 0xaf, @@ -258,6 +258,7 @@ test_rtnl_route(const int fd) .rtm_type = RTN_LOCAL, .rtm_flags = RTM_F_NOTIFY }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETROUTE, msg, printf("{rtm_family=AF_UNIX"), @@ -275,7 +276,6 @@ test_rtnl_route(const int fd) static void test_rtnl_rule(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct rtmsg msg = { .rtm_family = AF_UNIX, .rtm_dst_len = 0xaf, @@ -285,6 +285,7 @@ test_rtnl_rule(const int fd) .rtm_type = FR_ACT_TO_TBL, .rtm_flags = FIB_RULE_INVERT }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETRULE, msg, printf("{family=AF_UNIX"), @@ -301,7 +302,6 @@ test_rtnl_rule(const int fd) static void test_rtnl_neigh(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ndmsg msg = { .ndm_family = AF_UNIX, .ndm_ifindex = ifindex_lo(), @@ -309,6 +309,7 @@ test_rtnl_neigh(const int fd) .ndm_flags = NTF_PROXY, .ndm_type = RTN_UNSPEC }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETNEIGH, msg, printf("{ndm_family=AF_UNIX"), @@ -321,10 +322,10 @@ test_rtnl_neigh(const int fd) static void test_rtnl_neightbl(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct ndtmsg msg = { .ndtm_family = AF_NETLINK }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETNEIGHTBL, NLM_F_REQUEST, @@ -335,7 +336,6 @@ test_rtnl_neightbl(const int fd) static void test_rtnl_tc(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct tcmsg msg = { .tcm_family = AF_UNIX, .tcm_ifindex = ifindex_lo(), @@ -343,6 +343,7 @@ test_rtnl_tc(const int fd) .tcm_parent = 0xafbcadab, .tcm_info = 0xbcaedafa }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETQDISC, msg, printf("{tcm_family=AF_UNIX"), @@ -356,10 +357,10 @@ test_rtnl_tc(const int fd) static void test_rtnl_tca(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct tcamsg msg = { .tca_family = AF_INET }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETACTION, NLM_F_REQUEST, @@ -371,7 +372,6 @@ test_rtnl_tca(const int fd) static void test_rtnl_addrlabel(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ifaddrlblmsg msg = { .ifal_family = AF_UNIX, .ifal_prefixlen = 0xaf, @@ -379,6 +379,7 @@ test_rtnl_addrlabel(const int fd) .ifal_index = ifindex_lo(), .ifal_seq = 0xfadcdafb }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETADDRLABEL, msg, printf("{ifal_family=AF_UNIX"), @@ -394,11 +395,11 @@ test_rtnl_addrlabel(const int fd) static void test_rtnl_dcb(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct dcbmsg msg = { .dcb_family = AF_UNIX, .cmd = DCB_CMD_UNDEFINED }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETDCB, msg, printf("{dcb_family=AF_UNIX"), @@ -410,10 +411,10 @@ test_rtnl_dcb(const int fd) static void test_rtnl_netconf(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct netconfmsg msg = { .ncm_family = AF_INET }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETNETCONF, NLM_F_REQUEST, @@ -426,11 +427,11 @@ test_rtnl_netconf(const int fd) static void test_rtnl_mdb(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct br_port_msg msg = { .family = AF_UNIX, .ifindex = ifindex_lo() }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETMDB, msg, printf("{family=AF_UNIX"), @@ -442,10 +443,10 @@ test_rtnl_mdb(const int fd) static void test_rtnl_nsid(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct rtgenmsg msg = { .rtgen_family = AF_UNIX }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETNSID, NLM_F_REQUEST, diff --git a/tests-m32/netlink_selinux.c b/tests-m32/netlink_selinux.c index 2d768222..57cf8a55 100644 --- a/tests-m32/netlink_selinux.c +++ b/tests-m32/netlink_selinux.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -53,7 +54,7 @@ test_nlmsg_type(const int fd) static void test_selnl_msg_unspec(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, 4); TEST_NETLINK_(fd, nlh0, 0xffff, "0xffff /* SELNL_MSG_??? */", @@ -65,11 +66,11 @@ test_selnl_msg_unspec(const int fd) static void test_selnl_msg_setenforce(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - static const struct selnl_msg_setenforce msg = { .val = 0xfbdcdfab }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); + TEST_NETLINK_OBJECT(fd, nlh0, SELNL_MSG_SETENFORCE, NLM_F_REQUEST, msg, PRINT_FIELD_D("{", msg, val); @@ -79,11 +80,11 @@ test_selnl_msg_setenforce(const int fd) static void test_selnl_msg_policyload(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - static const struct selnl_msg_policyload msg = { .seqno = 0xabdcfabc }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); + TEST_NETLINK_OBJECT(fd, nlh0, SELNL_MSG_POLICYLOAD, NLM_F_REQUEST, msg, PRINT_FIELD_U("{", msg, seqno); diff --git a/tests-m32/netlink_sock_diag.c b/tests-m32/netlink_sock_diag.c index c2ebf129..880069f3 100644 --- a/tests-m32/netlink_sock_diag.c +++ b/tests-m32/netlink_sock_diag.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2016 Fabien Siron * Copyright (c) 2017 JingPiao Chen - * 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 @@ -127,10 +127,11 @@ test_nlmsg_flags(const int fd) static void test_odd_family_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + uint8_t family = 0; + char buf[sizeof(family) + 4]; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(buf)); /* unspecified family only */ - uint8_t family = 0; TEST_NETLINK(fd, nlh0, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, @@ -153,7 +154,6 @@ test_odd_family_req(const int fd) printf("%p", NLMSG_DATA(TEST_NETLINK_nlh))); /* unspecified family and string */ - char buf[sizeof(family) + 4]; family = 0; memcpy(buf, &family, sizeof(family)); memcpy(buf + sizeof(family), "1234", 4); @@ -177,10 +177,11 @@ test_odd_family_req(const int fd) static void test_odd_family_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + uint8_t family = 0; + char buf[sizeof(family) + 4]; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(buf)); /* unspecified family only */ - uint8_t family = 0; TEST_NETLINK(fd, nlh0, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, sizeof(family), &family, sizeof(family), @@ -200,7 +201,6 @@ test_odd_family_msg(const int fd) printf("%p", NLMSG_DATA(TEST_NETLINK_nlh))); /* unspecified family and string */ - char buf[sizeof(family) + 4]; family = 0; memcpy(buf, &family, sizeof(family)); memcpy(buf + sizeof(family), "1234", 4); @@ -222,7 +222,6 @@ test_odd_family_msg(const int fd) static void test_unix_diag_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct unix_diag_req req = { .sdiag_family = AF_UNIX, .sdiag_protocol = 253, @@ -231,6 +230,7 @@ test_unix_diag_req(const int fd) .udiag_show = UDIAG_SHOW_NAME, .udiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); TEST_SOCK_DIAG(fd, nlh0, AF_UNIX, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req, printf("{sdiag_family=AF_UNIX"), @@ -245,7 +245,6 @@ test_unix_diag_req(const int fd) static void test_unix_diag_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct unix_diag_msg msg = { .udiag_family = AF_UNIX, .udiag_type = SOCK_STREAM, @@ -253,6 +252,7 @@ test_unix_diag_msg(const int fd) .udiag_ino = 0xfacefeed, .udiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_SOCK_DIAG(fd, nlh0, AF_UNIX, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, msg, printf("{udiag_family=AF_UNIX"), @@ -266,7 +266,6 @@ test_unix_diag_msg(const int fd) static void test_netlink_diag_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct netlink_diag_req req = { .sdiag_family = AF_NETLINK, .sdiag_protocol = NDIAG_PROTO_ALL, @@ -274,6 +273,7 @@ test_netlink_diag_req(const int fd) .ndiag_show = NDIAG_SHOW_MEMINFO, .ndiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); TEST_SOCK_DIAG(fd, nlh0, AF_NETLINK, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req, printf("{sdiag_family=AF_NETLINK"), @@ -298,7 +298,6 @@ test_netlink_diag_req(const int fd) static void test_netlink_diag_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct netlink_diag_msg msg = { .ndiag_family = AF_NETLINK, .ndiag_type = SOCK_RAW, @@ -310,6 +309,7 @@ test_netlink_diag_msg(const int fd) .ndiag_ino = 0xdaeefacd, .ndiag_cookie = { 0xbadc0ded, 0xdeadbeef } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_SOCK_DIAG(fd, nlh0, AF_NETLINK, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, msg, printf("{ndiag_family=AF_NETLINK"), @@ -327,7 +327,6 @@ test_netlink_diag_msg(const int fd) static void test_packet_diag_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct packet_diag_req req = { .sdiag_family = AF_PACKET, .sdiag_protocol = ETH_P_LOOP, @@ -335,6 +334,7 @@ test_packet_diag_req(const int fd) .pdiag_show = PACKET_SHOW_INFO, .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); TEST_SOCK_DIAG(fd, nlh0, AF_PACKET, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req, printf("{sdiag_family=AF_PACKET"), @@ -348,7 +348,6 @@ test_packet_diag_req(const int fd) static void test_packet_diag_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct packet_diag_msg msg = { .pdiag_family = AF_PACKET, .pdiag_type = SOCK_STREAM, @@ -356,6 +355,7 @@ test_packet_diag_msg(const int fd) .pdiag_ino = 0xfacefeed, .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_SOCK_DIAG(fd, nlh0, AF_PACKET, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, msg, printf("{pdiag_family=AF_PACKET"), @@ -371,7 +371,6 @@ test_inet_diag_sockid(const int fd) { const char address[] = "12.34.56.78"; const char address6[] = "12:34:56:78:90:ab:cd:ef"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_req_v2 req = { .sdiag_family = AF_INET, .idiag_ext = 1 << (INET_DIAG_CONG - 1), @@ -384,6 +383,7 @@ test_inet_diag_sockid(const int fd) .idiag_cookie = { 0xdeadbeef, 0xbadc0ded } }, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -435,7 +435,6 @@ static void test_inet_diag_req(const int fd) { const char address[] = "12.34.56.78"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_req req = { .idiag_family = AF_INET, .idiag_src_len = 0xde, @@ -450,6 +449,7 @@ test_inet_diag_req(const int fd) .idiag_states = 1 << TCP_LAST_ACK, .idiag_dbs = 0xfacefeed, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -479,7 +479,6 @@ static void test_inet_diag_req_v2(const int fd) { const char address[] = "87.65.43.21"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_req_v2 req = { .sdiag_family = AF_INET, .idiag_ext = 1 << (INET_DIAG_CONG - 1), @@ -492,6 +491,7 @@ test_inet_diag_req_v2(const int fd) .idiag_cookie = { 0xdeadbeef, 0xbadc0ded } }, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -519,7 +519,6 @@ static void test_inet_diag_msg(const int fd) { const char address[] = "11.22.33.44"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_msg msg = { .idiag_family = AF_INET, .idiag_state = TCP_LISTEN, @@ -537,6 +536,7 @@ test_inet_diag_msg(const int fd) .idiag_uid = 0xdecefaeb, .idiag_inode = 0xbadc0ded, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); if (!inet_pton(AF_INET, address, &msg.id.idiag_src) || !inet_pton(AF_INET, address, &msg.id.idiag_dst)) @@ -570,7 +570,6 @@ static void test_smc_diag_req(const int fd) { const char address[] = "43.21.56.78"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct smc_diag_req req = { .diag_family = AF_SMC, .diag_ext = 1 << (SMC_DIAG_CONNINFO - 1), @@ -581,6 +580,7 @@ test_smc_diag_req(const int fd) .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }, }, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -606,7 +606,6 @@ static void test_smc_diag_msg(const int fd) { const char address[] = "34.87.12.90"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct smc_diag_msg msg = { .diag_family = AF_SMC, .diag_state = SMC_ACTIVE, @@ -621,6 +620,7 @@ test_smc_diag_msg(const int fd) .diag_uid = 0xadcdfafc, .diag_inode = 0xbadc0ded, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); if (!inet_pton(AF_INET, address, &msg.id.idiag_src) || !inet_pton(AF_INET, address, &msg.id.idiag_dst)) diff --git a/tests-m32/nlattr.c b/tests-m32/nlattr.c index 41923c0a..8556f684 100644 --- a/tests-m32/nlattr.c +++ b/tests-m32/nlattr.c @@ -2,7 +2,7 @@ * Check decoding of netlink attribute. * * Copyright (c) 2017 JingPiao Chen - * 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 @@ -172,7 +172,7 @@ test_nlattr(const int fd) ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX" ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1" ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u" - ", nla_type=UNIX_DIAG_NAME}, %p]}, %u" + ", nla_type=UNIX_DIAG_NAME}, ... /* %p */]}, %u" ", MSG_DONTWAIT, NULL, 0) = %s\n", fd, msg_len, NLA_HDRLEN, nla + 1, msg_len, sprintrc(rc)); diff --git a/tests-m32/nlattr_br_port_msg.c b/tests-m32/nlattr_br_port_msg.c index a2a4792d..d339414f 100644 --- a/tests-m32/nlattr_br_port_msg.c +++ b/tests-m32/nlattr_br_port_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -69,7 +69,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct br_port_msg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_crypto_user_alg.c b/tests-m32/nlattr_crypto_user_alg.c index 2482b33b..b8ceba66 100644 --- a/tests-m32/nlattr_crypto_user_alg.c +++ b/tests-m32/nlattr_crypto_user_alg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -72,7 +72,12 @@ main(void) const int fd = create_nl_socket(NETLINK_CRYPTO); const unsigned int hdrlen = sizeof(struct crypto_user_alg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + /* + * There are also other structures, but they are not bigger than + * DEFAULT_STRLEN so far. + */ + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + DEFAULT_STRLEN); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_dcbmsg.c b/tests-m32/nlattr_dcbmsg.c index cd63bb60..b6eb772e 100644 --- a/tests-m32/nlattr_dcbmsg.c +++ b/tests-m32/nlattr_dcbmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -67,7 +67,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct dcbmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_fib_rule_hdr.c b/tests-m32/nlattr_fib_rule_hdr.c index 394ab103..96ebadfb 100644 --- a/tests-m32/nlattr_fib_rule_hdr.c +++ b/tests-m32/nlattr_fib_rule_hdr.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -34,12 +34,24 @@ # include # include "test_nlattr.h" # include +# include # include # include #define FRA_TUN_ID 12 #define FRA_TABLE 15 #define FRA_UID_RANGE 20 +#define FRA_PROTOCOL 21 +#define FRA_IP_PROTO 22 +#define FRA_SPORT_RANGE 23 +#define FRA_DPORT_RANGE 24 + +# ifndef HAVE_STRUCT_FIB_RULE_PORT_RANGE +struct fib_rule_port_range { + uint16_t start; + uint16_t end; +}; +# endif /* HAVE_STRUCT_FIB_RULE_PORT_RANGE */ static void init_rtmsg(struct nlmsghdr *const nlh, const unsigned int msg_len) @@ -80,7 +92,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct rtmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 8); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); @@ -125,6 +137,62 @@ main(void) printf("htobe64(%" PRIu64 ")", be64toh(tun_id))); #endif + uint8_t proto; + + static const struct { + uint8_t arg; + const char *str; + } proto_args[] = { + { ARG_STR(RTPROT_UNSPEC) }, + { 5, "0x5 /* RTPROT_??? */" }, + { 17, "RTPROT_MROUTED" }, + { 42, "RTPROT_BABEL" }, + { 43, "0x2b /* RTPROT_??? */" }, + { ARG_STR(0xde) " /* RTPROT_??? */" }, + }; + + for (unsigned i = 0; i < ARRAY_SIZE(proto_args); i++) { + proto = proto_args[i].arg; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_PROTOCOL, pattern, proto, + printf("%s", proto_args[i].str)); + } + + static const struct { + uint8_t arg; + const char *str; + } ipproto_args[] = { + { ARG_STR(IPPROTO_TCP) }, + { 254, "0xfe /* IPPROTO_??? */" }, + { ARG_STR(IPPROTO_RAW) }, + }; + + for (unsigned i = 0; i < ARRAY_SIZE(ipproto_args); i++) { + proto = ipproto_args[i].arg; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_IP_PROTO, pattern, proto, + printf("%s", ipproto_args[i].str)); + } + + static const struct fib_rule_port_range prange = { + .start = 0xabcd, + .end = 0xfeed, + }; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_SPORT_RANGE, pattern, prange, + PRINT_FIELD_U("{", prange, start); + PRINT_FIELD_U(", ", prange, end); + printf("}")); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_DPORT_RANGE, pattern, prange, + PRINT_FIELD_U("{", prange, start); + PRINT_FIELD_U(", ", prange, end); + printf("}")); + puts("+++ exited with 0 +++"); return 0; } diff --git a/tests-m32/nlattr_ifaddrlblmsg.c b/tests-m32/nlattr_ifaddrlblmsg.c index 60036340..53a928dd 100644 --- a/tests-m32/nlattr_ifaddrlblmsg.c +++ b/tests-m32/nlattr_ifaddrlblmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -69,7 +69,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ifaddrlblmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_ifaddrmsg.c b/tests-m32/nlattr_ifaddrmsg.c index 93fbef1b..c71ebb1c 100644 --- a/tests-m32/nlattr_ifaddrmsg.c +++ b/tests-m32/nlattr_ifaddrmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -83,9 +83,23 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + static const char address4[] = "12.34.56.78"; + static const char address6[] = "12:34:56:78:90:ab:cd:ef"; + static const struct ifa_cacheinfo ci = { + .ifa_prefered = 0xabcdefac, + .ifa_valid = 0xbcdadbca, + .cstamp = 0xcdabedba, + .tstamp = 0xdebabdac + }; + + struct in_addr a4; + struct in6_addr a6; + const uint32_t ifa_flags = IFA_F_SECONDARY | IFA_F_PERMANENT; + const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ifaddrmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + MAX(sizeof(ci), sizeof(a6))); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); @@ -106,8 +120,6 @@ main(void) print_quoted_hex(pattern, 4)); SET_IFA_FAMILY(AF_INET); - static const char address4[] = "12.34.56.78"; - struct in_addr a4; if (!inet_pton(AF_INET, address4, &a4)) perror_msg_and_skip("inet_pton"); @@ -118,8 +130,6 @@ main(void) printf("%s", address4)); SET_IFA_FAMILY(AF_INET6); - static const char address6[] = "12:34:56:78:90:ab:cd:ef"; - struct in6_addr a6; if (!inet_pton(AF_INET6, address6, &a6)) perror_msg_and_skip("inet_pton"); @@ -129,12 +139,6 @@ main(void) IFA_ADDRESS, pattern, a6, printf("%s", address6)); - static const struct ifa_cacheinfo ci = { - .ifa_prefered = 0xabcdefac, - .ifa_valid = 0xbcdadbca, - .cstamp = 0xcdabedba, - .tstamp = 0xdebabdac - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifaddrmsg, print_ifaddrmsg, IFA_CACHEINFO, pattern, ci, @@ -144,7 +148,6 @@ main(void) PRINT_FIELD_U(", ", ci, tstamp); printf("}")); - const uint32_t ifa_flags = IFA_F_SECONDARY | IFA_F_PERMANENT; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifaddrmsg, print_ifaddrmsg, IFA_FLAGS, pattern, ifa_flags, diff --git a/tests-m32/nlattr_ifinfomsg.c b/tests-m32/nlattr_ifinfomsg.c index 1fff52ca..71b1babf 100644 --- a/tests-m32/nlattr_ifinfomsg.c +++ b/tests-m32/nlattr_ifinfomsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -46,6 +46,7 @@ # define IFLA_VF_PORTS 24 #endif #define IFLA_LINK_NETNSID 37 +#define IFLA_EVENT 44 #ifndef IFLA_INFO_KIND # define IFLA_INFO_KIND 1 @@ -89,28 +90,6 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - const int fd = create_nl_socket(NETLINK_ROUTE); - const unsigned int hdrlen = sizeof(struct ifinfomsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - - const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; - char nla_type_str[256]; - sprintf(nla_type_str, "%#x /* IFLA_??? */", nla_type); - TEST_NLATTR_(fd, nlh0, hdrlen, - init_ifinfomsg, print_ifinfomsg, - nla_type, nla_type_str, - 4, pattern, 4, - print_quoted_hex(pattern, 4)); - - const int32_t netnsid = 0xacbdabda; - TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, - init_ifinfomsg, print_ifinfomsg, - IFLA_LINK_NETNSID, pattern, netnsid, - printf("%d", netnsid)); - static const struct rtnl_link_stats st = { .rx_packets = 0xabcdefac, .tx_packets = 0xbcdacdab, @@ -136,6 +115,29 @@ main(void) .rx_compressed = 0xdeffadbd, .tx_compressed = 0xefdadfab }; + const int fd = create_nl_socket(NETLINK_ROUTE); + const unsigned int hdrlen = sizeof(struct ifinfomsg); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(st)); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; + char nla_type_str[256]; + sprintf(nla_type_str, "%#x /* IFLA_??? */", nla_type); + TEST_NLATTR_(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + nla_type, nla_type_str, + 4, pattern, 4, + print_quoted_hex(pattern, 4)); + + const int32_t netnsid = 0xacbdabda; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_LINK_NETNSID, pattern, netnsid, + printf("%d", netnsid)); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_STATS, pattern, st, @@ -343,6 +345,22 @@ main(void) printf("{nla_len=%u, nla_type=IFLA_VF_PORT}", nla.nla_len)); + static const struct { + uint32_t val; + const char *str; + } ifla_events[] = { + { 0, "IFLA_EVENT_NONE" }, + { 6, "IFLA_EVENT_BONDING_OPTIONS" }, + { ARG_STR(0x7) " /* IFLA_EVENT_??? */" }, + { ARG_STR(0xdeadfeed) " /* IFLA_EVENT_??? */" }, + }; + for (size_t i = 0; i < ARRAY_SIZE(ifla_events); i++) { + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_EVENT, pattern, ifla_events[i].val, + printf("%s", ifla_events[i].str)); + } + puts("+++ exited with 0 +++"); return 0; } diff --git a/tests-m32/nlattr_ifla.h b/tests-m32/nlattr_ifla.h new file mode 100644 index 00000000..69892258 --- /dev/null +++ b/tests-m32/nlattr_ifla.h @@ -0,0 +1,78 @@ +/* + * netlink attribute ifinfomsg common code. + * + * Copyright (c) 2017 JingPiao Chen + * Copyright (c) 2017-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_TESTS_NLATTR_IFLA_H +#define STRACE_TESTS_NLATTR_IFLA_H + +#include "tests.h" + +#ifndef IFLA_ATTR +# error "Please define IFLA_ATTR before including this file" +#endif + +static const unsigned int hdrlen = sizeof(struct ifinfomsg); + +static void +init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) +{ + SET_STRUCT(struct nlmsghdr, nlh, + .nlmsg_len = msg_len, + .nlmsg_type = RTM_GETLINK, + .nlmsg_flags = NLM_F_DUMP + ); + + struct ifinfomsg *const msg = NLMSG_DATA(nlh); + SET_STRUCT(struct ifinfomsg, msg, + .ifi_family = AF_UNIX, + .ifi_type = ARPHRD_LOOPBACK, + .ifi_index = ifindex_lo(), + .ifi_flags = IFF_UP, + ); + + struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); + SET_STRUCT(struct nlattr, nla, + .nla_len = msg_len - NLMSG_SPACE(hdrlen), + .nla_type = IFLA_ATTR + ); +} + +static void +print_ifinfomsg(const unsigned int msg_len) +{ + printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" + ", seq=0, pid=0}, {ifi_family=AF_UNIX" + ", ifi_type=ARPHRD_LOOPBACK" + ", ifi_index=" IFINDEX_LO_STR + ", ifi_flags=IFF_UP, ifi_change=0}" + ", {{nla_len=%u, nla_type=" STRINGIFY_VAL(IFLA_ATTR) "}", + msg_len, msg_len - NLMSG_SPACE(hdrlen)); +} + +#endif /* STRACE_TESTS_NLATTR_IFLA_H */ diff --git a/tests-m32/nlattr_ifla_af_spec.c b/tests-m32/nlattr_ifla_af_spec.c new file mode 100644 index 00000000..24f55af6 --- /dev/null +++ b/tests-m32/nlattr_ifla_af_spec.c @@ -0,0 +1,322 @@ +/* + * IFLA_AF_SPEC netlink attribute decoding check. + * + * 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 +#include +#include +#include "test_nlattr.h" + +#include +#include +#ifdef HAVE_LINUX_IF_LINK_H +# include +#endif +#include + +#if !HAVE_DECL_IFLA_AF_SPEC +enum { IFLA_AF_SPEC = 26 }; +#endif + +#define XLAT_MACROS_ONLY +# include "xlat/rtnl_ifla_af_spec_inet_attrs.h" +# include "xlat/rtnl_ifla_af_spec_inet6_attrs.h" +#undef XLAT_MACROS_ONLY + +#ifndef HAVE_STRUCT_IFLA_CACHEINFO +struct ifla_cacheinfo { + uint32_t max_reasm_len; + uint32_t tstamp; + uint32_t reachable_time; + uint32_t retrans_time; +}; +#endif + +#define IFLA_ATTR IFLA_AF_SPEC +#include "nlattr_ifla.h" + +#define AF_SPEC_FUNCS(family_) \ + static void \ + init_##family_##_msg(struct nlmsghdr *const nlh, \ + const unsigned int msg_len) \ + { \ + init_ifinfomsg(nlh, msg_len); \ + \ + struct nlattr *nla = NLMSG_ATTR(nlh, hdrlen); \ + nla += 1; \ + SET_STRUCT(struct nlattr, nla, \ + .nla_len = msg_len - NLMSG_SPACE(hdrlen) \ + - NLA_HDRLEN, \ + .nla_type = family_, \ + ); \ + } \ + \ + static void \ + print_##family_##_msg(const unsigned int msg_len) \ + { \ + print_ifinfomsg(msg_len); \ + printf(", {{nla_len=%u, nla_type=" #family_ "}", \ + msg_len - NLMSG_SPACE(hdrlen) - NLA_HDRLEN); \ + } \ + /* end of AF_SPEC_FUNCS definition */ + +AF_SPEC_FUNCS(AF_INET) +AF_SPEC_FUNCS(AF_INET6) + +static void +print_arr_val(uint32_t *val, size_t idx, const char *idx_str) +{ + if (idx_str) + printf("[%s] = ", idx_str); + else + printf("[%zu] = ", idx); + + printf("%d", *val); +} + +static void +print_arr_uval(uint64_t *val, size_t idx, const char *idx_str) +{ + if (idx_str) + printf("[%s] = ", idx_str); + else + printf("[%zu] = ", idx); + + printf("%" PRIu64, *val); +} + +static void +print_inet_conf_val(uint32_t *val, size_t idx) +{ + static const char * const strs[] = { + "IPV4_DEVCONF_FORWARDING-1", + "IPV4_DEVCONF_MC_FORWARDING-1", + }; + + print_arr_val(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + + +static void +print_inet6_conf_val(uint32_t *val, size_t idx) +{ + static const char * const strs[] = { + "DEVCONF_FORWARDING", + "DEVCONF_HOPLIMIT", + }; + + print_arr_val(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + +static void +print_inet6_stats_val(uint64_t *val, size_t idx) +{ + static const char * const strs[] = { + "IPSTATS_MIB_NUM", + "IPSTATS_MIB_INPKTS", + }; + + print_arr_uval(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + +static void +print_icmp6_stats_val(uint64_t *val, size_t idx) +{ + static const char * const strs[] = { + "ICMP6_MIB_NUM", + "ICMP6_MIB_INMSGS", + "ICMP6_MIB_INERRORS", + "ICMP6_MIB_OUTMSGS", + "ICMP6_MIB_OUTERRORS", + "ICMP6_MIB_CSUMERRORS", + "6 /* ICMP6_MIB_??? */", + }; + + print_arr_uval(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + +int +main(void) +{ + static const uint8_t unknown_msg[] = { 0xab, 0xac, 0xdb, 0xcd }; + + skip_if_unavailable("/proc/self/fd/"); + + const int fd = create_nl_socket(NETLINK_ROUTE); + + const unsigned int hdrlen = sizeof(struct ifinfomsg); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), 3 * NLA_HDRLEN + 256); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + + /* unknown AF_* */ + TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + AF_UNIX, pattern, unknown_msg, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET_msg, print_AF_INET_msg, + 0, "IFLA_INET_UNSPEC", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET_msg, print_AF_INET_msg, + 2, "0x2 /* IFLA_INET_??? */", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET: IFLA_INET_CONF */ + uint32_t inet_conf_vals[] = { 0xdeadc0de, 0xda7aface }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET_msg, print_AF_INET_msg, + IFLA_INET_CONF, pattern, + inet_conf_vals, 2, print_inet_conf_val); + + /* AF_INET6 */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 0, "IFLA_INET6_UNSPEC", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 9, "0x9 /* IFLA_INET6_??? */", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET6: IFLA_INET6_FLAGS */ + static const struct { + uint32_t flags; + const char *str; + } inet6_flags[] = { + { 0xf, "0xf /* IF_??? */" }, + { 0x10, "IF_RS_SENT" }, + { 0xc0, "IF_RA_MANAGED|IF_RA_OTHERCONF" }, + { 0xdeadc0de, "IF_RS_SENT|IF_RA_MANAGED|IF_RA_OTHERCONF" + "|IF_READY|0x5eadc00e" }, + }; + + for (size_t i = 0; i < ARRAY_SIZE(inet6_flags); i++) { + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, + print_AF_INET6_msg, + 1, "IFLA_INET6_FLAGS", pattern, + inet6_flags[i].flags, + print_quoted_hex, 2, + printf("%s", inet6_flags[i].str)); + } + + /* AF_INET6: IFLA_INET6_CONF */ + uint32_t inet6_conf_vals[] = { 0xdeadc0de, 0xda7aface }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + IFLA_INET6_CONF, pattern, + inet6_conf_vals, 2, print_inet6_conf_val); + + /* AF_INET6: IFLA_INET6_STATS */ + uint64_t inet6_stats_vals[] = { 0xdeadc0deda7aface, 0xdec0deedbadc0ded }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + IFLA_INET6_STATS, pattern, + inet6_stats_vals, 2, print_inet6_stats_val); + + /* AF_INET6: IFLA_INET6_MCAST */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 4, "IFLA_INET6_MCAST", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET6: IFLA_INET6_CACHEINFO */ + static const struct ifla_cacheinfo ci = { + 0xbadc0ded, 0xfacebeef, 0xdecafeed, 0xdeadfeed, + }; + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 5, "IFLA_INET6_CACHEINFO", pattern, + ci, print_quoted_hex, 2, + PRINT_FIELD_U("{", ci, max_reasm_len); + PRINT_FIELD_U(", ", ci, tstamp); + PRINT_FIELD_U(", ", ci, reachable_time); + PRINT_FIELD_U(", ", ci, retrans_time); + printf("}")); + + /* AF_INET6: IFLA_INET6_ICMP6STATS */ + uint64_t icmp6_stats_vals[] = { + 0xdeadc0deda7aface, 0xdec0deedbadc0ded, 0xfacebeefdeadfeed, + 0xdeadc0deda7afacd, 0xdec0deedbadc0dee, 0xfacebeefdeadfeef, + 0xdeadc0deda7afacc + }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + IFLA_INET6_ICMP6STATS, pattern, + icmp6_stats_vals, 2, print_icmp6_stats_val); + + /* AF_INET6: IFLA_INET6_TOKEN */ + uint8_t inet6_addr[16] = { + 0xba, 0xdc, 0x0d, 0xed, 0xfa, 0xce, 0xbe, 0xef, + 0xde, 0xca, 0xfe, 0xed, 0xde, 0xad, 0xfe, 0xed, + }; + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 7, "IFLA_INET6_TOKEN", pattern, + inet6_addr, print_quoted_hex, 2, + printf("badc:ded:face:beef:deca:feed" + ":dead:feed")); + + /* AF_INET6: IFLA_INET6_ */ + static const struct { + uint8_t flags; + const char *str; + } agms[] = { + { 0x0, "IN6_ADDR_GEN_MODE_EUI64" }, + { 0x3, "IN6_ADDR_GEN_MODE_RANDOM" }, + { 0x4, "0x4 /* IN6_ADDR_GEN_MODE_??? */" }, + { 0xff, "0xff /* IN6_ADDR_GEN_MODE_??? */" }, + }; + + for (size_t i = 0; i < ARRAY_SIZE(agms); i++) { + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, + print_AF_INET6_msg, + 8, "IFLA_INET6_ADDR_GEN_MODE", + pattern, agms[i].flags, + print_quoted_hex, 2, + printf("%s", agms[i].str)); + } + + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-m32/nlattr_ifla_af_spec.gen.test b/tests-m32/nlattr_ifla_af_spec.gen.test new file mode 100755 index 00000000..601eeb22 --- /dev/null +++ b/tests-m32/nlattr_ifla_af_spec.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_ifla_af_spec +netlink_sock_diag.test ); do not edit. +set -- +. "${srcdir=.}/netlink_sock_diag.test" diff --git a/tests-m32/nlattr_ifla_brport.c b/tests-m32/nlattr_ifla_brport.c index ae7c9da9..19684265 100644 --- a/tests-m32/nlattr_ifla_brport.c +++ b/tests-m32/nlattr_ifla_brport.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -38,65 +38,35 @@ #endif #include +#if !HAVE_DECL_IFLA_PROTINFO +enum { IFLA_PROTINFO = 12 }; +#endif + #define IFLA_BRPORT_PRIORITY 2 #define IFLA_BRPORT_MESSAGE_AGE_TIMER 21 -const unsigned int hdrlen = sizeof(struct ifinfomsg); - -static void -init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) -{ - SET_STRUCT(struct nlmsghdr, nlh, - .nlmsg_len = msg_len, - .nlmsg_type = RTM_GETLINK, - .nlmsg_flags = NLM_F_DUMP - ); - - struct ifinfomsg *const msg = NLMSG_DATA(nlh); - SET_STRUCT(struct ifinfomsg, msg, - .ifi_family = AF_UNIX, - .ifi_type = ARPHRD_LOOPBACK, - .ifi_index = ifindex_lo(), - .ifi_flags = IFF_UP, - ); - - struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); - SET_STRUCT(struct nlattr, nla, - .nla_len = msg_len - NLMSG_SPACE(hdrlen), - .nla_type = IFLA_PROTINFO - ); -} - -static void -print_ifinfomsg(const unsigned int msg_len) -{ - printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" - ", seq=0, pid=0}, {ifi_family=AF_UNIX" - ", ifi_type=ARPHRD_LOOPBACK" - ", ifi_index=" IFINDEX_LO_STR - ", ifi_flags=IFF_UP, ifi_change=0}" - ", {{nla_len=%u, nla_type=IFLA_PROTINFO}", - msg_len, msg_len - NLMSG_SPACE(hdrlen)); -} +#define IFLA_ATTR IFLA_PROTINFO +#include "nlattr_ifla.h" int main(void) { skip_if_unavailable("/proc/self/fd/"); + const uint16_t u16 = 0xabcd; + const uint64_t u64 = 0xabcdedeeefeafeab; const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN * 2 + sizeof(u64)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const uint16_t u16 = 0xabcd; TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_BRPORT_PRIORITY, pattern, u16, printf("%u", u16)); - const uint64_t u64 = 0xabcdedeeefeafeab; TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_BRPORT_MESSAGE_AGE_TIMER, pattern, u64, diff --git a/tests-m32/nlattr_ifla_linkinfo.c b/tests-m32/nlattr_ifla_linkinfo.c new file mode 100644 index 00000000..1bf1befa --- /dev/null +++ b/tests-m32/nlattr_ifla_linkinfo.c @@ -0,0 +1,711 @@ +/* + * IFLA_LINKINFO netlink attribute decoding check. + * + * 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 +#include +#include +#include + +#include "test_nlattr.h" + +#include +#include +#ifdef HAVE_LINUX_IF_LINK_H +# include +#endif +#include + +#define XLAT_MACROS_ONLY +# include +# include +#undef XLAT_MACROS_ONLY + +#define IFLA_ATTR IFLA_LINKINFO +#include "nlattr_ifla.h" + +#define COMMA , +#define TEST_UNKNOWN_TUNNELS(fd_, nlh0_, objtype_, objtype_str_, \ + obj_, objsz_, arrstrs_, ...) \ + do { \ + /* 64 is guestimate for maximum unknown type len */ \ + char buf[8 * 2 + 64 + objsz_]; \ + const char **arrstrs[] = arrstrs_; \ + const char ***arrstrs_pos = arrstrs; \ + const char **arrstr = *arrstrs_pos; \ + const char *type = NULL; \ + \ + for (type = arrstr ? arrstr[0] : NULL; type && arrstr; \ + type = (++arrstr)[0] ? arrstr[0] \ + : (++arrstrs_pos)[0] \ + ? (arrstr = arrstrs_pos[0])[0] \ + : NULL) \ + { \ + size_t type_len = strlen(type) + 1; \ + \ + if (type_len > 64) \ + error_msg_and_fail("Unexpectedly long " \ + "unknown type: \"%s\" " \ + "(length is %zu)", \ + type, type_len); \ + \ + struct nlattr obj_nla = { \ + .nla_len = NLA_HDRLEN + (objsz_), \ + .nla_type = (objtype_), \ + }; \ + \ + char *pos = buf; \ + memcpy(pos, type, type_len); \ + pos += NLA_ALIGN(type_len); \ + memcpy(pos, &obj_nla, sizeof(obj_nla)); \ + pos += sizeof(obj_nla); \ + memcpy(pos, (obj_), (objsz_)); \ + \ + TEST_NLATTR_EX_((fd_), \ + (nlh0_) - hdrlen - (pos - buf), \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + type_len, objsz_ + (pos - buf), \ + buf, objsz_ + (pos - buf), \ + printf("\"%s\"}", type); \ + printf(", {{nla_len=%zu" \ + ", nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (objtype_str_)); \ + \ + { __VA_ARGS__; } \ + \ + printf("}")); \ + } \ + } while (0) + +#define TEST_LINKINFO_(fd_, nlh0_, nla_type_, nla_type_str_, tuntype_, \ + obj_, objsz_, pattern_, fallback_func_, ...) \ + do { \ + size_t tuntype_len = strlen(tuntype_) + 1; \ + char *buf = tail_alloc(NLA_ALIGN(tuntype_len) \ + + NLA_HDRLEN + (objsz_)); \ + char *pos = buf; \ + \ + struct nlattr obj_nla = { \ + .nla_len = NLA_HDRLEN + (objsz_), \ + .nla_type = (nla_type_), \ + }; \ + \ + memcpy(pos, (tuntype_), tuntype_len); \ + pos += NLA_ALIGN(tuntype_len); \ + memcpy(pos, &obj_nla, sizeof(obj_nla)); \ + pos += sizeof(obj_nla); \ + memcpy(pos, &(obj_), (objsz_)); \ + \ + if (fallback_func_ == print_quoted_hex) { \ + TEST_NLATTR_EX_((fd_), \ + (nlh0_) - NLA_HDRLEN, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, \ + objsz_ + (pos - buf) - 1, \ + buf, objsz_ + (pos - buf) - 1, \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu" \ + ", nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (nla_type_str_)); \ + (fallback_func_)((obj_), \ + (objsz_) - 1); \ + printf("}")); \ + } \ + \ + TEST_NLATTR_EX_((fd_), (nlh0_) - NLA_HDRLEN, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, objsz_ + (pos - buf), \ + buf, objsz_ + (pos - buf) - 1, \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu, nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (nla_type_str_)); \ + printf("%p}", \ + RTA_DATA(NLMSG_ATTR(nlh, \ + (hdrlen + NLA_HDRLEN + (pos - buf)))) \ + ) \ + ); \ + \ + TEST_NLATTR_EX_((fd_), (nlh0_) - NLA_HDRLEN, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, objsz_ + (pos - buf), \ + buf, objsz_ + (pos - buf), \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu, nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (nla_type_str_)); \ + \ + { __VA_ARGS__; } \ + \ + printf("}")); \ + } while (0) + +#define TEST_LINKINFO(fd_, nlh0_, nla_type_, tuntype_, \ + obj_, pattern_, fallback_func_, ...) \ + TEST_LINKINFO_((fd_), (nlh0_), nla_type_, #nla_type_, (tuntype_), \ + (obj_), sizeof(obj_), pattern_, fallback_func_, \ + __VA_ARGS__) + +#define TEST_NESTED_LINKINFO(fd_, nlh0_, \ + nla_type_, nla_type_str_, tuntype_, \ + subnla_type_, subnla_type_str_, \ + obj_, pattern_, ...) \ + do { \ + size_t tuntype_len = strlen(tuntype_) + 1; \ + struct { \ + size_t sz; \ + const char *str; \ + } attrs[] = { __VA_ARGS__ }; \ + size_t tunhdrlen; \ + size_t buflen = NLA_ALIGN(tuntype_len) + NLA_HDRLEN; \ + size_t attrsz = 0; \ + \ + for (size_t i = 0; i < ARRAY_SIZE(attrs); i++) \ + attrsz += NLA_HDRLEN + NLA_ALIGN(attrs[i].sz); \ + \ + buflen += attrsz; \ + \ + char *buf = tail_alloc(buflen); \ + char *pos = buf; \ + \ + struct nlattr nla = { \ + .nla_len = NLA_HDRLEN + attrsz, \ + .nla_type = (nla_type_), \ + }; \ + \ + memcpy(pos, (tuntype_), tuntype_len); \ + pos += NLA_ALIGN(tuntype_len); \ + memcpy(pos, &nla, sizeof(nla)); \ + pos += sizeof(nla); \ + \ + tunhdrlen = pos - buf; \ + \ + nla.nla_type = subnla_type_; \ + \ + for (size_t i = 0; i < ARRAY_SIZE(attrs); i++) { \ + nla.nla_len = NLA_HDRLEN + attrs[i].sz; \ + memcpy(pos, &nla, sizeof(nla)); \ + pos += sizeof(nla); \ + \ + memcpy(pos, &(obj_), MIN(sizeof(obj_), attrs[i].sz)); \ + \ + if (attrs[i].sz > sizeof(obj_)) \ + memcpy(pos + sizeof(obj_), \ + &(pattern_), \ + attrs[i].sz - sizeof(obj_)); \ + \ + pos += NLA_ALIGN(attrs[i].sz); \ + } \ + \ + TEST_NLATTR_EX_((fd_), (nlh0_) - hdrlen - tunhdrlen, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, buflen, \ + buf, buflen, \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu, nla_type=%s}, [", \ + attrsz + NLA_HDRLEN, \ + (nla_type_str_)); \ + \ + for (size_t i = 0; i < ARRAY_SIZE(attrs); i++) \ + printf("%s%s{nla_len=%zu" \ + ", nla_type=%s}%s%s%s", \ + i ? ", " : "", \ + attrs[i].str ? "{": "", \ + attrs[i].sz + NLA_HDRLEN, \ + subnla_type_str_, \ + attrs[i].str ? ", ": "", \ + attrs[i].str ?: "", \ + attrs[i].str ? "}" : ""); \ + \ + printf("]}")); \ + } while (0) + +int +main(void) +{ + static const uint8_t unknown_msg[] = { 0xab, 0xac, 0xdb, 0xcd }; + static const char *unsupported_tunnel_types[] = { + "batadv", "bond", + "caif", "cfhsi", + "dummy", + "erspan", + "geneve", "gre", "gretap", "gtp", + "hsr", + "ifb", "ip6erspan", "ip6gre", "ip6gretap", "ip6tnl", + "ipip", "ipoib", "ipvlan", "ipvtap", + "lowpan", + "macsec", "macvlan", "macvtap", + "netdevsim", "nlmon", + "openvswitch", + "ppp", + "rmnet", + "sit", + "team", + "vcan", "veth", "vlan", "vrf", "vsockmon", + "vti", "vti6", "vxcan", "vxlan", + NULL + }; + static const char *unsupported_xstats_types[] = { + "bridge", + "tun", + NULL + }; + static const char *unsupported_data_types[] = { + "can", + NULL + }; + + skip_if_unavailable("/proc/self/fd/"); + + const int fd = create_nl_socket(NETLINK_ROUTE); + + const unsigned int hdrlen = sizeof(struct ifinfomsg); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), 2 * NLA_HDRLEN + 256); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + + /* unknown AF_INFO_* type */ + TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_INFO_UNSPEC, pattern, unknown_msg, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + 6, "0x6 /* IFLA_INFO_??? */", pattern, + unknown_msg, print_quoted_hex, 1, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + /* IFLA_INFO_KIND */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_INFO_KIND, "IFLA_INFO_KIND", pattern, + unknown_msg, print_quoted_stringn, 1, + printf("\"\\253\\254\\333\\315\"...")); + + + /* IFLA_INFO_KIND + IFLA_INFO_UNSPEC */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_UNSPEC, "IFLA_INFO_UNSPEC", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + /* IFLA_INFO_KIND + IFLA_INFO_KIND */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_KIND, "IFLA_INFO_KIND", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\253\\254\\333\\315\"...")); + + + /* IFLA_INFO_KIND + IFLA_INFO_DATA */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_DATA, "IFLA_INFO_DATA", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + struct val_name { + unsigned int val; + const char *name; + }; + + static const uint64_t u64_val = 0xdeadc0defacefeedULL; + static const uint32_t u32_val = 0xbadc0dedU; + static const uint16_t u16_val = 0xdeed; + static const uint8_t u8_val = 0xa1; + + /* bridge attrs */ + static const struct val_name und_br_attrs[] = { + { 0, "IFLA_BR_UNSPEC" }, + { 20, "IFLA_BR_GROUP_ADDR" }, + { 21, "IFLA_BR_FDB_FLUSH" }, + { 40, "IFLA_BR_PAD" }, + { 45, "0x2d /* IFLA_BR_??? */" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(und_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + und_br_attrs[k].val, und_br_attrs[k].name, + unknown_msg, pattern, + { 2, "\"\\xab\\xac\"" }, + { 4, "\"\\xab\\xac\\xdb\\xcd\"" }, + { 6, + "\"\\xab\\xac\\xdb\\xcd\\x61\\x62\"" }, + { 8, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\"" }, + { 10, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\\x65\\x66\"" }); + } + + static const struct val_name u64_br_attrs[] = { + { 16, "IFLA_BR_HELLO_TIMER" }, + { 17, "IFLA_BR_TCN_TIMER" }, + { 18, "IFLA_BR_TOPOLOGY_CHANGE_TIMER" }, + { 19, "IFLA_BR_GC_TIMER" }, + { 30, "IFLA_BR_MCAST_LAST_MEMBER_INTVL" }, + { 31, "IFLA_BR_MCAST_MEMBERSHIP_INTVL" }, + { 32, "IFLA_BR_MCAST_QUERIER_INTVL" }, + { 33, "IFLA_BR_MCAST_QUERY_INTVL" }, + { 34, "IFLA_BR_MCAST_QUERY_RESPONSE_INTVL" }, + { 35, "IFLA_BR_MCAST_STARTUP_QUERY_INTVL" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u64_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u64_br_attrs[k].val, u64_br_attrs[k].name, + u64_val, pattern, + { 7, "\"" +#if WORDS_BIGENDIAN + "\\xde\\xad\\xc0\\xde\\xfa\\xce\\xfe" +#else + "\\xed\\xfe\\xce\\xfa\\xde\\xc0\\xad" +#endif + "\"" }, + { 8, "16045693111314087661" }, + { 9, "16045693111314087661" }); + } + + static const struct val_name u32_br_attrs[] = { + { 1, "IFLA_BR_FORWARD_DELAY" }, + { 2, "IFLA_BR_HELLO_TIME" }, + { 3, "IFLA_BR_MAX_AGE" }, + { 4, "IFLA_BR_AGEING_TIME" }, + { 5, "IFLA_BR_STP_STATE" }, + { 13, "IFLA_BR_ROOT_PATH_COST" }, + { 26, "IFLA_BR_MCAST_HASH_ELASTICITY" }, + { 27, "IFLA_BR_MCAST_HASH_MAX" }, + { 28, "IFLA_BR_MCAST_LAST_MEMBER_CNT" }, + { 29, "IFLA_BR_MCAST_STARTUP_QUERY_CNT" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u32_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u32_br_attrs[k].val, u32_br_attrs[k].name, + u32_val, pattern, + { 3, "\"" +#if WORDS_BIGENDIAN + "\\xba\\xdc\\x0d" +#else + "\\xed\\x0d\\xdc" +#endif + "\"" }, + { 4, "3134983661" }, + { 5, "3134983661" }); + } + + static const struct val_name u16_br_attrs[] = { + { 6, "IFLA_BR_PRIORITY" }, + { 12, "IFLA_BR_ROOT_PORT" }, + { 39, "IFLA_BR_VLAN_DEFAULT_PVID" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u16_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u16_br_attrs[k].val, u16_br_attrs[k].name, + u16_val, pattern, + { 1, "\"" +#if WORDS_BIGENDIAN + "\\xde" +#else + "\\xed" +#endif + "\"" }, + { 2, "57069" }, + { 3, "57069" }); + } + + + static const struct val_name x16_br_attrs[] = { + { 9, "IFLA_BR_GROUP_FWD_MASK" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(x16_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + x16_br_attrs[k].val, x16_br_attrs[k].name, + u16_val, pattern, + { 1, "\"" +#if WORDS_BIGENDIAN + "\\xde" +#else + "\\xed" +#endif + "\"" }, + { 2, "0xdeed" }, + { 3, "0xdeed" }); + } + + static const struct val_name u8_br_attrs[] = { + { 7, "IFLA_BR_VLAN_FILTERING" }, + { 14, "IFLA_BR_TOPOLOGY_CHANGE" }, + { 15, "IFLA_BR_TOPOLOGY_CHANGE_DETECTED" }, + { 22, "IFLA_BR_MCAST_ROUTER" }, + { 23, "IFLA_BR_MCAST_SNOOPING" }, + { 24, "IFLA_BR_MCAST_QUERY_USE_IFADDR" }, + { 25, "IFLA_BR_MCAST_QUERIER" }, + { 36, "IFLA_BR_NF_CALL_IPTABLES" }, + { 37, "IFLA_BR_NF_CALL_IP6TABLES" }, + { 38, "IFLA_BR_NF_CALL_ARPTABLES" }, + { 41, "IFLA_BR_VLAN_STATS_ENABLED" }, + { 42, "IFLA_BR_MCAST_STATS_ENABLED" }, + { 43, "IFLA_BR_MCAST_IGMP_VERSION" }, + { 44, "IFLA_BR_MCAST_MLD_VERSION" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u8_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u8_br_attrs[k].val, u8_br_attrs[k].name, + u8_val, pattern, + { 0, NULL }, + { 1, "161" }, + { 2, "161" }); + } + + unsigned short eth_p = htons(0x88C7); + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + 8, "IFLA_BR_VLAN_PROTOCOL", + eth_p, pattern, + { 1, "\"\\x88\"" }, + { 2, "htons(ETH_P_PREAUTH)" }, + { 2, "htons(ETH_P_PREAUTH)" }); + + static const uint8_t bridge_id[] + = { 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xc0, 0xde, 0xad }; + static const struct val_name br_id_attrs[] = { + { 10, "IFLA_BR_ROOT_ID" }, + { 11, "IFLA_BR_BRIDGE_ID" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(br_id_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + br_id_attrs[k].val, br_id_attrs[k].name, + bridge_id, pattern, + { 7, "\"\\xbe\\xef\\xfa\\xce" + "\\xde\\xc0\\xde\"" }, + { 8, "{prio=[190, 239]" + ", addr=fa:ce:de:c0:de:ad}" }, + { 9, "{prio=[190, 239]" + ", addr=fa:ce:de:c0:de:ad}" }); + } + + /* tun attrs */ + static const struct val_name u8_tun_attrs[] = { + { 4, "IFLA_TUN_PI" }, + { 5, "IFLA_TUN_VNET_HDR" }, + { 6, "IFLA_TUN_PERSIST" }, + { 7, "IFLA_TUN_MULTI_QUEUE" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u8_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + u8_tun_attrs[k].val, u8_tun_attrs[k].name, + u8_val, pattern, + { 0, NULL }, + { 1, "161" }, + { 2, "161" }); + } + + static const struct val_name u32_tun_attrs[] = { + { 8, "IFLA_TUN_NUM_QUEUES" }, + { 9, "IFLA_TUN_NUM_DISABLED_QUEUES" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u32_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + u32_tun_attrs[k].val, + u32_tun_attrs[k].name, + u32_val, pattern, + { 3, "\"" +#if WORDS_BIGENDIAN + "\\xba\\xdc\\x0d" +#else + "\\xed\\x0d\\xdc" +#endif + "\"" }, + { 4, "3134983661" }, + { 5, "3134983661" }); + } + + static const struct val_name und_tun_attrs[] = { + { 0, "IFLA_TUN_UNSPEC" }, + { 10, "0xa /* IFLA_TUN_??? */" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(und_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + und_tun_attrs[k].val, + und_tun_attrs[k].name, + unknown_msg, pattern, + { 2, "\"\\xab\\xac\"" }, + { 4, "\"\\xab\\xac\\xdb\\xcd\"" }, + { 6, + "\"\\xab\\xac\\xdb\\xcd\\x61\\x62\"" }, + { 8, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\"" }, + { 10, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\\x65\\x66\"" }); + } + + static const uint32_t minus_one = 0xffffffffU; + static const struct val_name uid_tun_attrs[] = { + { 1, "IFLA_TUN_OWNER" }, + { 2, "IFLA_TUN_GROUP" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(uid_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + uid_tun_attrs[k].val, + uid_tun_attrs[k].name, + u32_val, pattern, + { 3, "\"" +#if WORDS_BIGENDIAN + "\\xba\\xdc\\x0d" +#else + "\\xed\\x0d\\xdc" +#endif + "\"" }, + { 4, "3134983661" }, + { 5, "3134983661" }); + + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + uid_tun_attrs[k].val, + uid_tun_attrs[k].name, + minus_one, pattern, + { 3, "\"\\xff\\xff\\xff\"" }, + { 4, "-1" }, + { 5, "-1" }); + } + + static const struct { + uint8_t val; + const char *str; + } tun_types[] = { + { 0, "0 /* IFF_??? */"}, + { 1, "IFF_TUN"}, + { 2, "IFF_TAP"}, + { 3, "0x3 /* IFF_??? */"}, + { 0xda, "0xda /* IFF_??? */"}, + }; + + for (size_t k = 0; k < ARRAY_SIZE(tun_types); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + 3, "IFLA_TUN_TYPE", + tun_types[k].val, pattern, + { 0, NULL }, + { 1, tun_types[k].str }, + { 2, tun_types[k].str }); + } + + + /* IFLA_INFO_KIND + IFLA_INFO_XSTATS */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_XSTATS, "IFLA_INFO_XSTATS", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + /* + * can decoder decodes its data only if it's big + * enough. + */ + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + uint32_t can_stats_data[] = { + 0xbadc0de0, 0xbadc0de1, 0xbadc0de2, 0xbadc0de3, + 0xbadc0de4, 0xbadc0de5, + }; + + TEST_LINKINFO(fd, nlh0, IFLA_INFO_XSTATS, "can", + can_stats_data, pattern, print_quoted_hex, + printf("{bus_error=3134983648" + ", error_warning=3134983649" + ", error_passive=3134983650" + ", bus_off=3134983651" + ", arbitration_lost=3134983652" + ", restarts=3134983653}")); + + + /* IFLA_INFO_KIND + IFLA_INFO_SLVAE_KIND */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, + IFLA_INFO_SLAVE_KIND, "IFLA_INFO_SLAVE_KIND", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\253\\254\\333\\315\"...")); + + + /* IFLA_INFO_KIND + IFLA_INFO_SLAVE_DATA */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, + IFLA_INFO_SLAVE_DATA, "IFLA_INFO_SLAVE_DATA", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + /* IFLA_INFO_KIND + unknown type */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, 6, "0x6 /* IFLA_INFO_??? */", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-m32/nlattr_ifla_linkinfo.gen.test b/tests-m32/nlattr_ifla_linkinfo.gen.test new file mode 100755 index 00000000..816ba99c --- /dev/null +++ b/tests-m32/nlattr_ifla_linkinfo.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_ifla_linkinfo +netlink_sock_diag.test ); do not edit. +set -- +. "${srcdir=.}/netlink_sock_diag.test" diff --git a/tests-m32/nlattr_ifla_port.c b/tests-m32/nlattr_ifla_port.c index 61e90fe0..e6cb6a49 100644 --- a/tests-m32/nlattr_ifla_port.c +++ b/tests-m32/nlattr_ifla_port.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -37,50 +37,15 @@ #endif #include -#ifndef IFLA_PORT_SELF -# define IFLA_PORT_SELF 25 +#if !HAVE_DECL_IFLA_PORT_SELF +enum { IFLA_PORT_SELF = 25 }; #endif #ifndef IFLA_PORT_VF # define IFLA_PORT_VF 1 #endif -const unsigned int hdrlen = sizeof(struct ifinfomsg); - -static void -init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) -{ - SET_STRUCT(struct nlmsghdr, nlh, - .nlmsg_len = msg_len, - .nlmsg_type = RTM_GETLINK, - .nlmsg_flags = NLM_F_DUMP - ); - - struct ifinfomsg *const msg = NLMSG_DATA(nlh); - SET_STRUCT(struct ifinfomsg, msg, - .ifi_family = AF_UNIX, - .ifi_type = ARPHRD_LOOPBACK, - .ifi_index = ifindex_lo(), - .ifi_flags = IFF_UP, - ); - - struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); - SET_STRUCT(struct nlattr, nla, - .nla_len = msg_len - NLMSG_SPACE(hdrlen), - .nla_type = IFLA_PORT_SELF - ); -} - -static void -print_ifinfomsg(const unsigned int msg_len) -{ - printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" - ", seq=0, pid=0}, {ifi_family=AF_UNIX" - ", ifi_type=ARPHRD_LOOPBACK" - ", ifi_index=" IFINDEX_LO_STR - ", ifi_flags=IFF_UP, ifi_change=0}" - ", {{nla_len=%u, nla_type=IFLA_PORT_SELF}", - msg_len, msg_len - NLMSG_SPACE(hdrlen)); -} +#define IFLA_ATTR IFLA_PORT_SELF +#include "nlattr_ifla.h" int main(void) @@ -88,7 +53,7 @@ main(void) skip_if_unavailable("/proc/self/fd/"); const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), 2 * NLA_HDRLEN + 8); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_ifla_xdp.c b/tests-m32/nlattr_ifla_xdp.c index cca5219e..93149fa9 100644 --- a/tests-m32/nlattr_ifla_xdp.c +++ b/tests-m32/nlattr_ifla_xdp.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -37,63 +37,29 @@ #endif #include -#ifndef IFLA_XDP -# define IFLA_XDP 43 +#if !HAVE_DECL_IFLA_XDP +enum { IFLA_XDP = 43 }; #endif #ifndef IFLA_XDP_FD # define IFLA_XDP_FD 1 #endif -const unsigned int hdrlen = sizeof(struct ifinfomsg); - -static void -init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) -{ - SET_STRUCT(struct nlmsghdr, nlh, - .nlmsg_len = msg_len, - .nlmsg_type = RTM_GETLINK, - .nlmsg_flags = NLM_F_DUMP - ); - - struct ifinfomsg *const msg = NLMSG_DATA(nlh); - SET_STRUCT(struct ifinfomsg, msg, - .ifi_family = AF_UNIX, - .ifi_type = ARPHRD_LOOPBACK, - .ifi_index = ifindex_lo(), - .ifi_flags = IFF_UP, - ); - - struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); - SET_STRUCT(struct nlattr, nla, - .nla_len = msg_len - NLMSG_SPACE(hdrlen), - .nla_type = IFLA_XDP - ); -} - -static void -print_ifinfomsg(const unsigned int msg_len) -{ - printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" - ", seq=0, pid=0}, {ifi_family=AF_UNIX" - ", ifi_type=ARPHRD_LOOPBACK" - ", ifi_index=" IFINDEX_LO_STR - ", ifi_flags=IFF_UP, ifi_change=0}" - ", {{nla_len=%u, nla_type=IFLA_XDP}", - msg_len, msg_len - NLMSG_SPACE(hdrlen)); -} +#define IFLA_ATTR IFLA_XDP +#include "nlattr_ifla.h" int main(void) { skip_if_unavailable("/proc/self/fd/"); + const int32_t num = 0xabacdbcd; const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(num)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const int32_t num = 0xabacdbcd; TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_XDP_FD, pattern, num, diff --git a/tests-m32/nlattr_inet_diag_msg.c b/tests-m32/nlattr_inet_diag_msg.c index ccc62aed..5984ee26 100644 --- a/tests-m32/nlattr_inet_diag_msg.c +++ b/tests-m32/nlattr_inet_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -37,6 +37,18 @@ #include #include +static const char * const sk_meminfo_strs[] = { + "SK_MEMINFO_RMEM_ALLOC", + "SK_MEMINFO_RCVBUF", + "SK_MEMINFO_WMEM_ALLOC", + "SK_MEMINFO_SNDBUF", + "SK_MEMINFO_FWD_ALLOC", + "SK_MEMINFO_WMEM_QUEUED", + "SK_MEMINFO_OPTMEM", + "SK_MEMINFO_BACKLOG", + "SK_MEMINFO_DROPS", +}; + static const char address[] = "10.11.12.13"; static void @@ -77,9 +89,14 @@ print_inet_diag_msg(const unsigned int msg_len) } static void -print_uint(const unsigned int *p) +print_uint(const unsigned int *p, size_t i) { - printf("%u", *p); + if (i >= ARRAY_SIZE(sk_meminfo_strs)) + printf("[%zu /* SK_MEMINFO_??? */", i); + else + printf("[%s", sk_meminfo_strs[i]); + + printf("] = %u", *p); } int @@ -87,19 +104,46 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - const int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct inet_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct inet_diag_meminfo minfo = { .idiag_rmem = 0xfadcacdb, .idiag_wmem = 0xbdabcada, .idiag_fmem = 0xbadbfafb, .idiag_tmem = 0xfdacdadf }; + static const struct tcpvegas_info vegas = { + .tcpv_enabled = 0xfadcacdb, + .tcpv_rttcnt = 0xbdabcada, + .tcpv_rtt = 0xbadbfafb, + .tcpv_minrtt = 0xfdacdadf + }; + static const struct tcp_dctcp_info dctcp = { + .dctcp_enabled = 0xfdac, + .dctcp_ce_state = 0xfadc, + .dctcp_alpha = 0xbdabcada, + .dctcp_ab_ecn = 0xbadbfafb, + .dctcp_ab_tot = 0xfdacdadf + }; + static const struct tcp_bbr_info bbr = { + .bbr_bw_lo = 0xfdacdadf, + .bbr_bw_hi = 0xfadcacdb, + .bbr_min_rtt = 0xbdabcada, + .bbr_pacing_gain = 0xbadbfafb, + .bbr_cwnd_gain = 0xfdacdadf + }; + static const uint32_t mem[] = { 0xaffacbad, 0xffadbcab }; + static uint32_t bigmem[SK_MEMINFO_VARS + 1]; + static const uint32_t mark = 0xabdfadca; + static const uint8_t shutdown = 0xcd; + + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct inet_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + + MAX(sizeof(bigmem), DEFAULT_STRLEN)); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_MEMINFO, pattern, minfo, @@ -109,12 +153,6 @@ main(void) PRINT_FIELD_U(", ", minfo, idiag_tmem); printf("}")); - static const struct tcpvegas_info vegas = { - .tcpv_enabled = 0xfadcacdb, - .tcpv_rttcnt = 0xbdabcada, - .tcpv_rtt = 0xbadbfafb, - .tcpv_minrtt = 0xfdacdadf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_VEGASINFO, pattern, vegas, @@ -125,13 +163,6 @@ main(void) printf("}")); - static const struct tcp_dctcp_info dctcp = { - .dctcp_enabled = 0xfdac, - .dctcp_ce_state = 0xfadc, - .dctcp_alpha = 0xbdabcada, - .dctcp_ab_ecn = 0xbadbfafb, - .dctcp_ab_tot = 0xfdacdadf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_DCTCPINFO, pattern, dctcp, @@ -142,13 +173,6 @@ main(void) PRINT_FIELD_U(", ", dctcp, dctcp_ab_tot); printf("}")); - static const struct tcp_bbr_info bbr = { - .bbr_bw_lo = 0xfdacdadf, - .bbr_bw_hi = 0xfadcacdb, - .bbr_min_rtt = 0xbdabcada, - .bbr_pacing_gain = 0xbadbfafb, - .bbr_cwnd_gain = 0xfdacdadf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_BBRINFO, pattern, bbr, @@ -159,24 +183,16 @@ main(void) PRINT_FIELD_U(", ", bbr, bbr_cwnd_gain); printf("}")); - static const uint32_t mem[] = { 0xaffacbad, 0xffadbcab }; TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_SKMEMINFO, pattern, mem, print_uint); - static uint32_t bigmem[SK_MEMINFO_VARS + 1]; memcpy(bigmem, pattern, sizeof(bigmem)); - TEST_NLATTR(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, - INET_DIAG_SKMEMINFO, sizeof(bigmem), bigmem, sizeof(bigmem), - size_t i; - for (i = 0; i < SK_MEMINFO_VARS; ++i) { - printf(i ? ", " : "["); - print_uint(&bigmem[i]); - } - printf(", ...]")); + TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, + init_inet_diag_msg, print_inet_diag_msg, + INET_DIAG_SKMEMINFO, pattern, bigmem, print_uint); - static const uint32_t mark = 0xabdfadca; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_MARK, pattern, mark, @@ -187,7 +203,6 @@ main(void) INET_DIAG_CLASS_ID, pattern, mark, printf("%u", mark)); - static const uint8_t shutdown = 0xcd; TEST_NLATTR(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_SHUTDOWN, sizeof(shutdown), &shutdown, sizeof(shutdown), diff --git a/tests-m32/nlattr_inet_diag_req_compat.c b/tests-m32/nlattr_inet_diag_req_compat.c index b0b21713..52fd53fa 100644 --- a/tests-m32/nlattr_inet_diag_req_compat.c +++ b/tests-m32/nlattr_inet_diag_req_compat.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -86,7 +86,7 @@ main(void) int fd = create_nl_socket(NETLINK_SOCK_DIAG); const unsigned int hdrlen = sizeof(struct inet_diag_req); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_inet_diag_req_v2.c b/tests-m32/nlattr_inet_diag_req_v2.c index 1e09abe6..cf19c601 100644 --- a/tests-m32/nlattr_inet_diag_req_v2.c +++ b/tests-m32/nlattr_inet_diag_req_v2.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -407,7 +407,10 @@ main(void) skip_if_unavailable("/proc/self/fd/"); int fd = create_nl_socket(NETLINK_SOCK_DIAG); - nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + + sizeof(struct inet_diag_bc_op) + + sizeof(struct inet_diag_hostcond) + + sizeof(struct in6_addr) + DEFAULT_STRLEN); fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); test_inet_diag_bc_op(fd); diff --git a/tests-m32/nlattr_mdba_mdb_entry.c b/tests-m32/nlattr_mdba_mdb_entry.c index 124fe1d4..61bded2f 100644 --- a/tests-m32/nlattr_mdba_mdb_entry.c +++ b/tests-m32/nlattr_mdba_mdb_entry.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -99,7 +99,12 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4 +# ifdef HAVE_STRUCT_BR_MDB_ENTRY + - 4 + NLA_HDRLEN * 2 + sizeof(struct nlattr) + + sizeof(struct br_mdb_entry) +# endif + ); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_mdba_router_port.c b/tests-m32/nlattr_mdba_router_port.c index af908cd8..a6621ca1 100644 --- a/tests-m32/nlattr_mdba_router_port.c +++ b/tests-m32/nlattr_mdba_router_port.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -87,25 +87,27 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + const uint32_t ifindex = ifindex_lo(); + const uint8_t type = MDB_RTR_TYPE_DISABLED; + static const struct nlattr nla = { + .nla_len = NLA_HDRLEN + sizeof(type), + .nla_type = MDBA_ROUTER_PATTR_TYPE + }; + char buf[NLMSG_ALIGN(ifindex) + NLA_HDRLEN + sizeof(type)]; + const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(buf)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const uint32_t ifindex = ifindex_lo(); TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_br_port_msg, print_br_port_msg, MDBA_ROUTER_PORT, pattern, ifindex, printf(IFINDEX_LO_STR)); - const uint8_t type = MDB_RTR_TYPE_DISABLED; - static const struct nlattr nla = { - .nla_len = NLA_HDRLEN + sizeof(type), - .nla_type = MDBA_ROUTER_PATTR_TYPE - }; - char buf[NLMSG_ALIGN(ifindex) + NLA_HDRLEN + sizeof(type)]; memcpy(buf, &ifindex, sizeof(ifindex)); memcpy(buf + NLMSG_ALIGN(ifindex), &nla, sizeof(nla)); memcpy(buf + NLMSG_ALIGN(ifindex) + NLA_HDRLEN, &type, sizeof(type)); diff --git a/tests-m32/nlattr_ndmsg.c b/tests-m32/nlattr_ndmsg.c index 8538a827..aa28a57f 100644 --- a/tests-m32/nlattr_ndmsg.c +++ b/tests-m32/nlattr_ndmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -77,7 +77,8 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ndmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(struct nda_cacheinfo)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_ndtmsg.c b/tests-m32/nlattr_ndtmsg.c index d3f1bdb7..d1200598 100644 --- a/tests-m32/nlattr_ndtmsg.c +++ b/tests-m32/nlattr_ndtmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -68,7 +68,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ndtmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 11 * 8); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_netconfmsg.c b/tests-m32/nlattr_netconfmsg.c index 6866adc9..f5f59936 100644 --- a/tests-m32/nlattr_netconfmsg.c +++ b/tests-m32/nlattr_netconfmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -66,7 +66,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct netconfmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_netlink_diag_msg.c b/tests-m32/nlattr_netlink_diag_msg.c index 76a2d19e..b5988990 100644 --- a/tests-m32/nlattr_netlink_diag_msg.c +++ b/tests-m32/nlattr_netlink_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -66,7 +66,7 @@ print_netlink_diag_msg(const unsigned int msg_len) } static void -print_xlong(const unsigned long *p) +print_xlong(const unsigned long *p, size_t i) { printf("%#lx", *p); } @@ -76,27 +76,32 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - const int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct netlink_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const unsigned long groups[] = { (unsigned long) 0xdeadbeefbadc0dedULL, (unsigned long) 0xdeadbeefbadc0dedULL }; - TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, - init_netlink_diag_msg, print_netlink_diag_msg, - NETLINK_DIAG_GROUPS, pattern, groups, print_xlong); - static const struct netlink_diag_ring ndr = { .ndr_block_size = 0xfabfabdc, .ndr_block_nr = 0xabcdabda, .ndr_frame_size = 0xcbadbafa, .ndr_frame_nr = 0xdbcafadb }; + static const uint32_t flags = + NDIAG_FLAG_CB_RUNNING | NDIAG_FLAG_PKTINFO; + + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct netlink_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + + MAX(sizeof(groups), sizeof(ndr))); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, + init_netlink_diag_msg, print_netlink_diag_msg, + NETLINK_DIAG_GROUPS, pattern, groups, print_xlong); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_netlink_diag_msg, print_netlink_diag_msg, NETLINK_DIAG_RX_RING, pattern, ndr, @@ -106,8 +111,6 @@ main(void) PRINT_FIELD_U(", ", ndr, ndr_frame_nr); printf("}")); - static const uint32_t flags = - NDIAG_FLAG_CB_RUNNING | NDIAG_FLAG_PKTINFO; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_netlink_diag_msg, print_netlink_diag_msg, NETLINK_DIAG_FLAGS, pattern, flags, diff --git a/tests-m32/nlattr_nlmsgerr.c b/tests-m32/nlattr_nlmsgerr.c index 837283c0..073fde28 100644 --- a/tests-m32/nlattr_nlmsgerr.c +++ b/tests-m32/nlattr_nlmsgerr.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -69,11 +69,13 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + static const uint8_t cookie[] = { 0xab, 0xfe }; + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); const unsigned int hdrlen = sizeof(struct nlmsgerr); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(cookie)); - static const uint8_t cookie[] = { 0xab, 0xfe }; TEST_NLATTR(fd, nlh0, hdrlen, init_nlmsgerr, print_nlmsgerr, NLMSGERR_ATTR_COOKIE, diff --git a/tests-m32/nlattr_packet_diag_msg.c b/tests-m32/nlattr_packet_diag_msg.c index 4211e201..016d052c 100644 --- a/tests-m32/nlattr_packet_diag_msg.c +++ b/tests-m32/nlattr_packet_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -67,7 +67,7 @@ print_packet_diag_msg(const unsigned int msg_len) } static void -print_packet_diag_mclist(const struct packet_diag_mclist *const dml) +print_packet_diag_mclist(const struct packet_diag_mclist *const dml, size_t i) { printf("{pdmc_index=" IFINDEX_LO_STR); PRINT_FIELD_U(", ", *dml, pdmc_count); @@ -84,7 +84,7 @@ static const struct sock_filter filter[] = { }; static void -print_sock_filter(const struct sock_filter *const f) +print_sock_filter(const struct sock_filter *const f, size_t i) { if (f == filter) printf("BPF_STMT(BPF_LD|BPF_B|BPF_ABS" @@ -98,13 +98,6 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct packet_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct packet_diag_info pinfo = { .pdi_index = 0xabcddafa, .pdi_version = 0xbabcdafb, @@ -113,16 +106,6 @@ main(void) .pdi_tstamp = 0xeafbaadf, .pdi_flags = PDI_RUNNING }; - TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, - init_packet_diag_msg, print_packet_diag_msg, - PACKET_DIAG_INFO, pattern, pinfo, - PRINT_FIELD_U("{", pinfo, pdi_index); - PRINT_FIELD_U(", ", pinfo, pdi_version); - PRINT_FIELD_U(", ", pinfo, pdi_reserve); - PRINT_FIELD_U(", ", pinfo, pdi_copy_thresh); - PRINT_FIELD_U(", ", pinfo, pdi_tstamp); - printf(", pdi_flags=PDI_RUNNING}")); - const struct packet_diag_mclist dml[] = { { .pdmc_index = ifindex_lo(), @@ -139,11 +122,6 @@ main(void) .pdmc_addr = "5678" } }; - TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, - init_packet_diag_msg, print_packet_diag_msg, - PACKET_DIAG_MCLIST, pattern, dml, - print_packet_diag_mclist); - static const struct packet_diag_ring pdr = { .pdr_block_size = 0xabcdafed, .pdr_block_nr = 0xbcadefae, @@ -153,6 +131,30 @@ main(void) .pdr_sizeof_priv = 0xfeadeacd, .pdr_features = 0xadebadea }; + + int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct packet_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(dml)); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_packet_diag_msg, print_packet_diag_msg, + PACKET_DIAG_INFO, pattern, pinfo, + PRINT_FIELD_U("{", pinfo, pdi_index); + PRINT_FIELD_U(", ", pinfo, pdi_version); + PRINT_FIELD_U(", ", pinfo, pdi_reserve); + PRINT_FIELD_U(", ", pinfo, pdi_copy_thresh); + PRINT_FIELD_U(", ", pinfo, pdi_tstamp); + printf(", pdi_flags=PDI_RUNNING}")); + + TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, + init_packet_diag_msg, print_packet_diag_msg, + PACKET_DIAG_MCLIST, pattern, dml, + print_packet_diag_mclist); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_packet_diag_msg, print_packet_diag_msg, PACKET_DIAG_RX_RING, pattern, pdr, diff --git a/tests-m32/nlattr_rtgenmsg.c b/tests-m32/nlattr_rtgenmsg.c index ceb061df..bac21ef7 100644 --- a/tests-m32/nlattr_rtgenmsg.c +++ b/tests-m32/nlattr_rtgenmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -66,13 +66,14 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct rtgenmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; + char nla_type_str[256]; + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(nla_type_str)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; - char nla_type_str[256]; sprintf(nla_type_str, "%#x /* NETNSA_??? */", nla_type); TEST_NLATTR_(fd, nlh0, hdrlen, init_rtgenmsg, print_rtgenmsg, diff --git a/tests-m32/nlattr_rtmsg.c b/tests-m32/nlattr_rtmsg.c index 5f29f0c0..db02929d 100644 --- a/tests-m32/nlattr_rtmsg.c +++ b/tests-m32/nlattr_rtmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -81,13 +81,14 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct rtmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; + char nla_type_str[256]; + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(nla_type_str)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; - char nla_type_str[256]; sprintf(nla_type_str, "%#x /* RTA_??? */", nla_type); TEST_NLATTR_(fd, nlh0, hdrlen, init_rtmsg, print_rtmsg, diff --git a/tests-m32/nlattr_smc_diag_msg.c b/tests-m32/nlattr_smc_diag_msg.c index a06ad624..2e65ebd8 100644 --- a/tests-m32/nlattr_smc_diag_msg.c +++ b/tests-m32/nlattr_smc_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -97,13 +97,6 @@ int main(void) { skip_if_unavailable("/proc/self/fd/"); - int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct smc_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct smc_diag_conninfo cinfo = { .token = 0xabcdefac, .sndbuf_size = 0xbcdaefad, @@ -149,6 +142,25 @@ int main(void) .count = 0xcdedbad7 } }; + static const struct smc_diag_lgrinfo linfo = { + .lnk[0] = { + .link_id = 0xaf, + .ibport = 0xfa, + .ibname = "123", + .gid = "456", + .peer_gid = "789" + }, + .role = SMC_CLNT + }; + + int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct smc_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + + MAX(sizeof(cinfo), sizeof(linfo))); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_smc_diag_msg, print_smc_diag_msg, @@ -170,16 +182,6 @@ int main(void) PRINT_FIELD_SMC_DIAG_CURSOR(", ", cinfo, tx_fin); printf("}")); - static const struct smc_diag_lgrinfo linfo = { - .lnk[0] = { - .link_id = 0xaf, - .ibport = 0xfa, - .ibname = "123", - .gid = "456", - .peer_gid = "789" - }, - .role = SMC_CLNT - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_smc_diag_msg, print_smc_diag_msg, SMC_DIAG_LGRINFO, pattern, linfo, diff --git a/tests-m32/nlattr_tc_stats.c b/tests-m32/nlattr_tc_stats.c index dd76cc7d..8003ed35 100644 --- a/tests-m32/nlattr_tc_stats.c +++ b/tests-m32/nlattr_tc_stats.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -77,7 +77,7 @@ main(void) skip_if_unavailable("/proc/self/fd/"); const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 8 * 5); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_tca_stab.c b/tests-m32/nlattr_tca_stab.c index de6d3569..9889050a 100644 --- a/tests-m32/nlattr_tca_stab.c +++ b/tests-m32/nlattr_tca_stab.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -36,8 +36,8 @@ #ifndef TCA_STAB # define TCA_STAB 8 #endif -#ifndef TCA_STAB_DATA -# define TCA_STAB_DATA 2 +#if !HAVE_DECL_TCA_STAB_DATA +enum { TCA_STAB_DATA = 2 }; #endif const unsigned int hdrlen = sizeof(struct tcmsg); @@ -76,7 +76,7 @@ print_tcmsg(const unsigned int msg_len) } static void -print_uint16(const uint16_t *p) +print_uint16(const uint16_t *p, size_t idx) { printf("%u", *p); } @@ -87,7 +87,11 @@ main(void) skip_if_unavailable("/proc/self/fd/"); const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4 +#ifdef HAVE_STRUCT_TC_SIZESPEC + - 4 + sizeof(struct tc_sizespec) +#endif + ); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_tcamsg.c b/tests-m32/nlattr_tcamsg.c index 7f611532..43715d20 100644 --- a/tests-m32/nlattr_tcamsg.c +++ b/tests-m32/nlattr_tcamsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -62,7 +62,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct tcamsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_tcmsg.c b/tests-m32/nlattr_tcmsg.c index 32ce4790..da88a457 100644 --- a/tests-m32/nlattr_tcmsg.c +++ b/tests-m32/nlattr_tcmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -68,7 +68,8 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct tcmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(struct tc_stats)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-m32/nlattr_unix_diag_msg.c b/tests-m32/nlattr_unix_diag_msg.c index 22954042..180b8cd6 100644 --- a/tests-m32/nlattr_unix_diag_msg.c +++ b/tests-m32/nlattr_unix_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -65,7 +65,7 @@ print_unix_diag_msg(const unsigned int msg_len) } static void -print_uint(const unsigned int *p) +print_uint(const unsigned int *p, size_t i) { printf("%u", *p); } @@ -75,17 +75,24 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + static const struct unix_diag_vfs uv = { + .udiag_vfs_dev = 0xabcddafa, + .udiag_vfs_ino = 0xbafabcda + }; + static const struct unix_diag_rqlen rql = { + .udiag_rqueue = 0xfabdcdad, + .udiag_wqueue = 0xbacdadcf + }; + static const uint32_t inode[] = { 0xadbcadbc, 0xfabdcdac }; + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); const unsigned int hdrlen = sizeof(struct unix_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(inode)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct unix_diag_vfs uv = { - .udiag_vfs_dev = 0xabcddafa, - .udiag_vfs_ino = 0xbafabcda - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_unix_diag_msg, print_unix_diag_msg, UNIX_DIAG_VFS, pattern, uv, @@ -95,10 +102,6 @@ main(void) PRINT_FIELD_U(", ", uv, udiag_vfs_ino); printf("}")); - static const struct unix_diag_rqlen rql = { - .udiag_rqueue = 0xfabdcdad, - .udiag_wqueue = 0xbacdadcf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_unix_diag_msg, print_unix_diag_msg, UNIX_DIAG_RQLEN, pattern, rql, @@ -106,7 +109,6 @@ main(void) PRINT_FIELD_U(", ", rql, udiag_wqueue); printf("}")); - static const uint32_t inode[] = { 0xadbcadbc, 0xfabdcdac }; TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, init_unix_diag_msg, print_unix_diag_msg, UNIX_DIAG_ICONS, pattern, inode, print_uint); diff --git a/tests-m32/nsyscalls.c b/tests-m32/nsyscalls.c index 9f748673..681fb315 100644 --- a/tests-m32/nsyscalls.c +++ b/tests-m32/nsyscalls.c @@ -86,14 +86,14 @@ test_syscall(const unsigned long nr) a[0], a[1], a[2], a[3], a[4], a[5], rc); #else printf("syscall_%#lx(%#llx, %#llx, %#llx, %#llx, %#llx, %#llx)" - " = %ld (errno %d)\n", nr | SYSCALL_BIT, + " = %ld ENOSYS (%m)\n", nr | SYSCALL_BIT, (unsigned long long) a[0], (unsigned long long) a[1], (unsigned long long) a[2], (unsigned long long) a[3], (unsigned long long) a[4], (unsigned long long) a[5], - rc, errno); + rc); #endif } diff --git a/tests-m32/old_mmap-Xabbrev.c b/tests-m32/old_mmap-Xabbrev.c new file mode 100644 index 00000000..033503cc --- /dev/null +++ b/tests-m32/old_mmap-Xabbrev.c @@ -0,0 +1 @@ +#include "old_mmap.c" diff --git a/tests-m32/old_mmap-Xabbrev.gen.test b/tests-m32/old_mmap-Xabbrev.gen.test new file mode 100755 index 00000000..0ee5608e --- /dev/null +++ b/tests-m32/old_mmap-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap-Xabbrev -a11 -e trace=mmap -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a11 -e trace=mmap -Xabbrev diff --git a/tests-m32/old_mmap-Xraw.c b/tests-m32/old_mmap-Xraw.c new file mode 100644 index 00000000..06de40b4 --- /dev/null +++ b/tests-m32/old_mmap-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "old_mmap.c" diff --git a/tests-m32/old_mmap-Xraw.gen.test b/tests-m32/old_mmap-Xraw.gen.test new file mode 100755 index 00000000..6d7d3cf4 --- /dev/null +++ b/tests-m32/old_mmap-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap-Xraw -a11 -e trace=mmap -Xraw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a11 -e trace=mmap -Xraw diff --git a/tests-m32/old_mmap-Xverbose.c b/tests-m32/old_mmap-Xverbose.c new file mode 100644 index 00000000..b141fec9 --- /dev/null +++ b/tests-m32/old_mmap-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "old_mmap.c" diff --git a/tests-m32/old_mmap-Xverbose.gen.test b/tests-m32/old_mmap-Xverbose.gen.test new file mode 100755 index 00000000..6534a931 --- /dev/null +++ b/tests-m32/old_mmap-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap-Xverbose -a11 -e trace=mmap -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a11 -e trace=mmap -Xverbose diff --git a/tests-m32/old_mmap.c b/tests-m32/old_mmap.c index 35ec4288..07d572cf 100644 --- a/tests-m32/old_mmap.c +++ b/tests-m32/old_mmap.c @@ -79,17 +79,41 @@ main(void) void *args = tail_memdup(args1_c, sizeof(args1_c)); rc = syscall(__NR_mmap, args); +# if XLAT_RAW + printf("mmap(%#lx, %lu, %#x, %#x|%#x, %d, %#lx) = %ld %s (%m)\n", + args1_c[0], args1_c[1], PROT_READ|PROT_EXEC, MAP_FILE, MAP_FIXED, + (int) args1_c[4], args1_c[5], rc, errno2name()); +# elif XLAT_VERBOSE + printf("mmap(%#lx, %lu, %#x /* PROT_READ|PROT_EXEC */" + ", %#x /* MAP_FILE */|%#x /* MAP_FIXED */" + ", %d, %#lx) = %ld %s (%m)\n", + args1_c[0], args1_c[1], PROT_READ|PROT_EXEC, MAP_FILE, MAP_FIXED, + (int) args1_c[4], args1_c[5], rc, errno2name()); +# else printf("mmap(%#lx, %lu, PROT_READ|PROT_EXEC, MAP_FILE|MAP_FIXED" ", %d, %#lx) = %ld %s (%m)\n", args1_c[0], args1_c[1], (int) args1_c[4], args1_c[5], rc, errno2name()); +# endif memcpy(args, args2_c, sizeof(args2_c)); rc = syscall(__NR_mmap, args); # ifndef PATH_TRACING +# if XLAT_RAW + printf("mmap(NULL, %lu, %#x, %#x|%#x, %d, %#lx) = %#lx\n", + args2_c[1], PROT_READ|PROT_WRITE, MAP_PRIVATE, MAP_ANONYMOUS, + (int) args2_c[4], args2_c[5], rc); +# elif XLAT_VERBOSE + printf("mmap(NULL, %lu, %#x /* PROT_READ|PROT_WRITE */" + ", %#x /* MAP_PRIVATE */|%#x /* MAP_ANONYMOUS */" + ", %d, %#lx) = %#lx\n", + args2_c[1], PROT_READ|PROT_WRITE, MAP_PRIVATE, MAP_ANONYMOUS, + (int) args2_c[4], args2_c[5], rc); +# else printf("mmap(NULL, %lu, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS" ", %d, %#lx) = %#lx\n", args2_c[1], (int) args2_c[4], args2_c[5], rc); +# endif # endif void *addr = (void *) rc; diff --git a/tests-m32/opipe.test b/tests-m32/opipe.test index f622045b..db449bb7 100755 --- a/tests-m32/opipe.test +++ b/tests-m32/opipe.test @@ -5,7 +5,7 @@ . "${srcdir=.}/init.sh" check_prog grep -run_prog grep chdir $srcdir/umovestr.expected > "$EXP" +grep chdir $srcdir/umovestr.expected > "$EXP" run_prog ../umovestr $STRACE -o "|cat > $LOG && $SLEEP_A_BIT && grep chdir < $LOG > $OUT" -e chdir $args || diff --git a/tests-m32/options-syntax.test b/tests-m32/options-syntax.test index af7002b2..1a290d01 100755 --- a/tests-m32/options-syntax.test +++ b/tests-m32/options-syntax.test @@ -56,6 +56,40 @@ check_h "invalid -O argument: '-42'" -O -42 check_h "invalid -s argument: '-42'" -s -42 check_h "invalid -s argument: '1073741824'" -s 1073741824 check_h "invalid -I argument: '5'" -I 5 +check_h "invalid -X argument: 'test'" -Xtest +check_h "invalid -X argument: 'a'" -Xa +check_h "invalid -X argument: 'abbreviated'" -X abbreviated + +check_h "incorrect personality designator '' in qualification 'getcwd@'" -e trace=getcwd@ +check_h "incorrect personality designator '42' in qualification 'getcwd@42'" -e trace=getcwd@42 +check_h "incorrect personality designator '42' in qualification 'getcwd@42'" -e trace=gettid,getcwd@42 +check_h "incorrect personality designator '42' in qualification '23@42'" -e trace=23@42,123 + +check_e "invalid system call '/getcwd@ohmy'" -e trace=/getcwd@ohmy + +case "$STRACE_NATIVE_ARCH" in +x86_64) + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@64 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@32 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@x32 + ;; +x32) + check_h "incorrect personality designator '64' in qualification 'getcwd@64'" -e trace=getcwd@64 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@32 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@x32 + ;; +aarch64|powerpc64|riscv|s390x|sparc64|tile) + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@64 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@32 + check_h "incorrect personality designator 'x32' in qualification 'getcwd@x32'" -e trace=getcwd@x32 + ;; +*) + pers="$((SIZEOF_LONG * 8))" + inv_pers="$((96 - pers))" + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@"$pers" + check_h "incorrect personality designator '$inv_pers' in qualification 'getcwd@$inv_pers'" -e trace=getcwd@"$inv_pers" + check_h "incorrect personality designator 'x32' in qualification 'getcwd@x32'" -e trace=getcwd@x32 +esac ../zeroargc "$STRACE_EXE" /bin/true 2> "$LOG" && dump_log_and_fail_with \ diff --git a/tests-m32/personality-Xabbrev.c b/tests-m32/personality-Xabbrev.c new file mode 100644 index 00000000..2e993dc1 --- /dev/null +++ b/tests-m32/personality-Xabbrev.c @@ -0,0 +1 @@ +#include "personality.c" diff --git a/tests-m32/personality-Xabbrev.gen.test b/tests-m32/personality-Xabbrev.gen.test new file mode 100755 index 00000000..df93e6cb --- /dev/null +++ b/tests-m32/personality-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (personality-Xabbrev +personality.test -Xabbrev); do not edit. +set -- -Xabbrev +. "${srcdir=.}/personality.test" diff --git a/tests-m32/personality-Xraw.c b/tests-m32/personality-Xraw.c new file mode 100644 index 00000000..59702f8b --- /dev/null +++ b/tests-m32/personality-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "personality.c" diff --git a/tests-m32/personality-Xraw.gen.test b/tests-m32/personality-Xraw.gen.test new file mode 100755 index 00000000..559f0f3a --- /dev/null +++ b/tests-m32/personality-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (personality-Xraw +personality.test -a15 -Xraw); do not edit. +set -- -a15 -Xraw +. "${srcdir=.}/personality.test" diff --git a/tests-m32/personality-Xverbose.c b/tests-m32/personality-Xverbose.c new file mode 100644 index 00000000..545ebe71 --- /dev/null +++ b/tests-m32/personality-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "personality.c" diff --git a/tests-m32/personality-Xverbose.gen.test b/tests-m32/personality-Xverbose.gen.test new file mode 100755 index 00000000..b6ce2094 --- /dev/null +++ b/tests-m32/personality-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (personality-Xverbose +personality.test -Xverbose); do not edit. +set -- -Xverbose +. "${srcdir=.}/personality.test" diff --git a/tests-m32/personality.c b/tests-m32/personality.c index 7a279a14..5d848078 100644 --- a/tests-m32/personality.c +++ b/tests-m32/personality.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2015 Dmitry V. Levin + * Copyright (c) 2015-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,51 +29,76 @@ #include #include +#if XLAT_RAW +# define linux_type_str "0" +# define good_type_str "0x6" +# define bad_type_str "0x1f" +# define good_flags_str "0x7000000" +# define bad_flags_str "0x10000" +# define good_bad_flags_str "0x7010000" +#elif XLAT_VERBOSE +# define linux_type_str "0 /\\* PER_LINUX \\*/" +# define good_type_str "0x6 /\\* PER_BSD \\*/" +# define bad_type_str "0x1f /\\* PER_\\?\\?\\? \\*/" +# define good_flags_str \ + "0x7000000 /\\* SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS \\*/" +# define bad_flags_str "0x10000" +# define good_bad_flags_str \ + "0x7010000 /\\* SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS" \ + "\\|0x10000 \\*/" +#else +# define linux_type_str "PER_LINUX" +# define good_type_str "PER_BSD" +# define bad_type_str "0x1f /\\* PER_\\?\\?\\? \\*/" +# define good_flags_str "SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS" +# define bad_flags_str "0x10000" +# define good_bad_flags_str \ + "SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS\\|0x10000" +#endif + int main(void) { const unsigned int good_type = PER_BSD; - const char *good_type_str = "PER_BSD"; const unsigned int bad_type = 0x1f; - const char *bad_type_str = "0x1f /\\* PER_\\?\\?\\? \\*/"; const unsigned int good_flags = SHORT_INODE | WHOLE_SECONDS | STICKY_TIMEOUTS; - const char *good_flags_str = - "SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS"; const unsigned int bad_flags = 0x10000; - const char *bad_flags_str = "0x10000"; const unsigned int saved_pers = personality(0xffffffff); printf("personality\\(0xffffffff\\) = %#x \\([^)]*\\)\n", saved_pers); /* PER_LINUX */ personality(PER_LINUX); - printf("personality\\(PER_LINUX\\) = %#x \\([^)]*\\)\n", saved_pers); + printf("personality\\(%s\\) = %#x \\([^)]*\\)\n", + linux_type_str, saved_pers); personality(0xffffffff); - puts("personality\\(0xffffffff\\) = 0 \\(PER_LINUX\\)"); + printf("personality\\(0xffffffff\\) = 0 \\(%s\\)\n", linux_type_str); personality(good_flags); - printf("personality\\(PER_LINUX\\|%s\\) = 0 \\(PER_LINUX\\)\n", - good_flags_str); + printf("personality\\(%s\\|%s\\) = 0 \\(%s\\)\n", + linux_type_str, good_flags_str, linux_type_str); personality(bad_flags); - printf("personality\\(PER_LINUX\\|%s\\)" - " = %#x \\(PER_LINUX\\|%s\\)\n", - bad_flags_str, good_flags, good_flags_str); + printf("personality\\(%s\\|%s\\)" + " = %#x \\(%s\\|%s\\)\n", + linux_type_str, bad_flags_str, + good_flags, linux_type_str, good_flags_str); personality(good_flags | bad_flags); - printf("personality\\(PER_LINUX\\|%s\\|%s\\)" - " = %#x \\(PER_LINUX\\|%s\\)\n", - good_flags_str, bad_flags_str, bad_flags, bad_flags_str); + printf("personality\\(%s\\|%s\\)" + " = %#x \\(%s\\|%s\\)\n", + linux_type_str, good_bad_flags_str, + bad_flags, linux_type_str, bad_flags_str); /* another valid type */ personality(good_type); - printf("personality\\(%s\\) = %#x \\(PER_LINUX\\|%s\\|%s\\)\n", + printf("personality\\(%s\\) = %#x \\(%s\\|%s\\)\n", good_type_str, good_flags | bad_flags, - good_flags_str, bad_flags_str); + linux_type_str, good_bad_flags_str); personality(good_type | good_flags); printf("personality\\(%s\\|%s\\) = %#x \\(%s\\)\n", @@ -84,16 +110,16 @@ int main(void) good_type_str, good_flags_str); personality(good_type | good_flags | bad_flags); - printf("personality\\(%s\\|%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", - good_type_str, good_flags_str, bad_flags_str, + printf("personality\\(%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", + good_type_str, good_bad_flags_str, good_type | bad_flags, good_type_str, bad_flags_str); /* invalid type */ personality(bad_type); - printf("personality\\(%s\\) = %#x \\(%s\\|%s\\|%s\\)\n", + printf("personality\\(%s\\) = %#x \\(%s\\|%s\\)\n", bad_type_str, good_type | good_flags | bad_flags, - good_type_str, good_flags_str, bad_flags_str); + good_type_str, good_bad_flags_str); personality(bad_type | good_flags); printf("personality\\(%s\\|%s\\) = %#x \\(%s\\)\n", @@ -105,14 +131,14 @@ int main(void) bad_type_str, good_flags_str); personality(bad_type | good_flags | bad_flags); - printf("personality\\(%s\\|%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", - bad_type_str, good_flags_str, bad_flags_str, + printf("personality\\(%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", + bad_type_str, good_bad_flags_str, bad_type | bad_flags, bad_type_str, bad_flags_str); personality(saved_pers); - printf("personality\\([^)]*\\) = %#x \\(%s\\|%s\\|%s\\)\n", + printf("personality\\([^)]*\\) = %#x \\(%s\\|%s\\)\n", bad_type | good_flags | bad_flags, - bad_type_str, good_flags_str, bad_flags_str); + bad_type_str, good_bad_flags_str); return 0; } diff --git a/tests-m32/personality.test b/tests-m32/personality.test index ab2faf48..d279bd11 100755 --- a/tests-m32/personality.test +++ b/tests-m32/personality.test @@ -5,5 +5,5 @@ . "${srcdir=.}/init.sh" run_prog > /dev/null -run_strace -a20 -epersonality $args > "$EXP" +run_strace -a20 -epersonality "$@" $args > "$EXP" match_grep "$LOG" "$EXP" diff --git a/tests-m32/poll.c b/tests-m32/poll.c index c5930a3e..9624bd3c 100644 --- a/tests-m32/poll.c +++ b/tests-m32/poll.c @@ -95,7 +95,7 @@ print_pollfd_array_entering(const struct pollfd *const pfd, if (i) tprintf(", "); if (i >= valid) { - tprintf("%p", &pfd[i]); + tprintf("... /* %p */", &pfd[i]); break; } if (i >= abbrev) { diff --git a/tests-m32/prctl-spec-inject.c b/tests-m32/prctl-spec-inject.c new file mode 100644 index 00000000..593c3a60 --- /dev/null +++ b/tests-m32/prctl-spec-inject.c @@ -0,0 +1,153 @@ +/* + * Check decoding of PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL + * prctl operations. + * + * 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 + +#ifdef __NR_prctl + +# include +# include +# include +# include + +static long injected_val; + +long +do_prctl(kernel_ulong_t cmd, kernel_ulong_t arg2, kernel_ulong_t arg3) +{ + long rc = syscall(__NR_prctl, cmd, arg2, arg3); + + if (rc != injected_val) + error_msg_and_fail("Return value (%ld) differs from expected " + "injected value (%ld)", + rc, injected_val); + + return rc; +} + +int +main(int argc, char **argv) +{ + static const kernel_ulong_t bogus_arg2 = + (kernel_ulong_t) 0xdeadfacebadc0dedULL; + static const kernel_ulong_t bogus_arg3 = + (kernel_ulong_t) 0xdecafeedbeefda7eULL; + static const struct { + long arg; + const char *str; + } get_strs[] = { + { -1, "" }, + { 0, " (PR_SPEC_NOT_AFFECTED)" }, + { 1, " (PR_SPEC_PRCTL)" }, + { 3, " (PR_SPEC_PRCTL|PR_SPEC_ENABLE)" }, + { 8, " (PR_SPEC_FORCE_DISABLE)" }, + { 16, " (0x10)" }, + { 42, " (PR_SPEC_ENABLE|PR_SPEC_FORCE_DISABLE|0x20)" }, + }; + static const struct { + kernel_ulong_t arg; + const char *str; + } set_strs[] = { + { 0, "0 /* PR_SPEC_??? */" }, + { 1, "0x1 /* PR_SPEC_??? */" }, + { 2, "PR_SPEC_ENABLE" }, + { 3, "0x3 /* PR_SPEC_??? */" }, + { 8, "PR_SPEC_FORCE_DISABLE" }, + { 16, "0x10 /* PR_SPEC_??? */" }, + { (kernel_ulong_t) 0xdecafeedbeefda7eULL, "0x" +# if SIZEOF_KERNEL_LONG_T == 8 + "decafeed" +# endif + "beefda7e /* PR_SPEC_??? */" }, + }; + + long rc; + const char *str = NULL; + + if (argc < 2) + error_msg_and_fail("Usage: %s INJECTED_VAL", argv[0]); + + injected_val = strtol(argv[1], NULL, 0); + + /* PR_GET_SPECULATION_CTRL */ + rc = do_prctl(52, 1, bogus_arg3); + printf("prctl(PR_GET_SPECULATION_CTRL, 0x1 /* PR_SPEC_??? */) " + "= %s (INJECTED)\n", sprintrc(rc)); + + rc = do_prctl(52, bogus_arg2, bogus_arg3); + printf("prctl(PR_GET_SPECULATION_CTRL, %#llx /* PR_SPEC_??? */) " + "= %s (INJECTED)\n", + (unsigned long long) bogus_arg2, sprintrc(rc)); + + rc = do_prctl(52, 0, bogus_arg3); + + for (unsigned i = 0; i < ARRAY_SIZE(get_strs); i++) { + if (get_strs[i].arg == rc) { + str = get_strs[i].str; + break; + } + } + if (!str) + error_msg_and_fail("Unknown return value: %ld", rc); + + printf("prctl(PR_GET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS) " + "= %s%s (INJECTED)\n", sprintrc(rc), str); + + + /* PR_SET_SPECULATION_CTRL*/ + rc = do_prctl(53, 1, bogus_arg3); + printf("prctl(PR_SET_SPECULATION_CTRL, 0x1 /* PR_SPEC_??? */, %#llx) " + "= %s (INJECTED)\n", + (unsigned long long) bogus_arg3, sprintrc(rc)); + + rc = do_prctl(53, bogus_arg2, bogus_arg3); + printf("prctl(PR_SET_SPECULATION_CTRL, %#llx /* PR_SPEC_??? */, %#llx) " + "= %s (INJECTED)\n", + (unsigned long long) bogus_arg2, + (unsigned long long) bogus_arg3, + sprintrc(rc)); + + for (unsigned i = 0; i < ARRAY_SIZE(set_strs); i++) { + rc = do_prctl(53, 0, set_strs[i].arg); + printf("prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS" + ", %s) = %s (INJECTED)\n", + set_strs[i].str, sprintrc(rc)); + } + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("__NR_prctl") + +#endif diff --git a/tests-m32/prctl-spec-inject.test b/tests-m32/prctl-spec-inject.test new file mode 100755 index 00000000..c8fbe97f --- /dev/null +++ b/tests-m32/prctl-spec-inject.test @@ -0,0 +1,55 @@ +#!/bin/sh -efu +# +# Check decoding of PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL +# prctl operations. +# +# 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=.}/scno_tampering.sh" + +fault_args='-a53 -e trace=prctl -e inject=prctl:' +prog="../$NAME" + +test_run_rval() +{ + local run rval injexpr + run="$1"; shift + rval="$1"; shift + injexpr="$1"; shift + + run_strace $fault_args$injexpr $prog $rval > "$EXP" + LC_ALL=C grep -Ev '^prctl\(PR_[GS]ET_([^S][^P][^E][^C]])' \ + < "$LOG" > "$OUT" + match_diff "$OUT" "$EXP" +} + +test_run_rval 0 -1 "error=ENOTTY" +test_run_rval 1 0 "retval=0" +test_run_rval 2 1 "retval=1" +test_run_rval 3 3 "retval=3" +test_run_rval 4 8 "retval=8" +test_run_rval 5 16 "retval=16" +test_run_rval 6 42 "retval=42" diff --git a/tests-m32/preadv-pwritev.c b/tests-m32/preadv-pwritev.c index 44ed23a4..57a08ad1 100644 --- a/tests-m32/preadv-pwritev.c +++ b/tests-m32/preadv-pwritev.c @@ -2,7 +2,7 @@ * Check decoding of preadv and pwritev syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -99,7 +99,7 @@ main(void) tprintf("pwritev(1, [], 0, 0) = 0\n"); rc = pwritev(1, w_iov + ARRAY_SIZE(w_iov_) - 1, 2, 0); - tprintf("pwritev(1, [{iov_base=\"%s\", iov_len=%u}, %p], 2, 0)" + tprintf("pwritev(1, [{iov_base=\"%s\", iov_len=%u}, ... /* %p */], 2, 0)" " = %ld %s (%m)\n", w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_), rc, errno2name()); diff --git a/tests-m32/preadv2-pwritev2.c b/tests-m32/preadv2-pwritev2.c index 89f37dd6..7874b7a0 100644 --- a/tests-m32/preadv2-pwritev2.c +++ b/tests-m32/preadv2-pwritev2.c @@ -2,7 +2,7 @@ * Check decoding of preadv2 and pwritev2 syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -104,7 +104,7 @@ dumpio(void) tprintf("pwritev2(1, [], 0, 0, 0) = 0\n"); rc = pw(1, w_iov + ARRAY_SIZE(w_iov_) - 1, 2, 0); - tprintf("pwritev2(1, [{iov_base=\"%s\", iov_len=%u}, %p], 2, 0, 0)" + tprintf("pwritev2(1, [{iov_base=\"%s\", iov_len=%u}, ... /* %p */], 2, 0, 0)" " = %ld %s (%m)\n", w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_), rc, errno2name()); diff --git a/tests-m32/print_quoted_string.c b/tests-m32/print_quoted_string.c index 3ca56318..a58b69ac 100644 --- a/tests-m32/print_quoted_string.c +++ b/tests-m32/print_quoted_string.c @@ -33,6 +33,18 @@ print_quoted_cstring(const char *instr, const size_t size) } } +void +print_quoted_stringn(const char *instr, const size_t size) +{ + const size_t len = strnlen(instr, size); + if (len < size) { + print_quoted_memory(instr, len); + } else { + print_quoted_memory(instr, size); + printf("..."); + } +} + static void print_octal(unsigned char c, char next) { diff --git a/tests-m32/process_vm_readv_writev.c b/tests-m32/process_vm_readv_writev.c index 5ee801b0..328dc9f4 100644 --- a/tests-m32/process_vm_readv_writev.c +++ b/tests-m32/process_vm_readv_writev.c @@ -2,7 +2,7 @@ * Check decoding of process_vm_readv/process_vm_writev syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -135,7 +135,7 @@ print_iov(const struct iovec *iov, const void *arg_ptr, long rc) } if (arg->addr_term) - printf(", %p", iov + arg->count); + printf(", ... /* %p */", iov + arg->count); printf("]"); } diff --git a/tests-m32/ptrace.c b/tests-m32/ptrace.c index 5c09fa32..2ca9ceb3 100644 --- a/tests-m32/ptrace.c +++ b/tests-m32/ptrace.c @@ -60,10 +60,11 @@ test_peeksiginfo(unsigned long pid, const unsigned long bad_request) printf("ptrace(PTRACE_PEEKSIGINFO, %u, NULL, %#lx) = %s\n", (unsigned) pid, bad_request, errstr); - struct { + struct psi { unsigned long long off; unsigned int flags, nr; - } *const psi = tail_alloc(sizeof(*psi)); + }; + TAIL_ALLOC_OBJECT_CONST_PTR(struct psi, psi); psi->off = 0xdeadbeeffacefeedULL; psi->flags = 1; @@ -179,7 +180,7 @@ main(void) const unsigned long pid = (unsigned long) 0xdefaced00000000ULL | (unsigned) getpid(); - uint64_t *filter_off = tail_alloc(sizeof(*filter_off)); + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, filter_off); const unsigned int sigset_size = get_sigset_size(); diff --git a/tests-m32/pure_executables.am b/tests-m32/pure_executables.am index bbb3ad9f..c65f4cad 100644 --- a/tests-m32/pure_executables.am +++ b/tests-m32/pure_executables.am @@ -8,9 +8,14 @@ PURE_EXECUTABLES = \ add_key \ adjtimex \ aio \ + aio_pgetevents \ alarm \ bpf \ bpf-v \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ brk \ btrfs \ caps \ @@ -43,6 +48,9 @@ PURE_EXECUTABLES = \ fallocate \ fanotify_init \ fanotify_mark \ + fanotify_mark-Xabbrev \ + fanotify_mark-Xraw \ + fanotify_mark-Xverbose \ fchdir \ fchmod \ fchmodat \ @@ -105,10 +113,13 @@ PURE_EXECUTABLES = \ ioctl_block \ ioctl_dm \ ioctl_evdev \ + ioctl_inotify \ ioctl_kvm_run \ ioctl_loop \ ioctl_mtd \ ioctl_rtc \ + ioctl_perf \ + ioctl_ptp \ ioctl_scsi \ ioctl_sg_io_v3 \ ioctl_sg_io_v4 \ @@ -121,15 +132,30 @@ PURE_EXECUTABLES = \ ip_mreq \ ipc \ ipc_msg \ + ipc_msg-Xabbrev \ + ipc_msg-Xraw \ + ipc_msg-Xverbose \ ipc_msgbuf \ + ipc_msgbuf-Xabbrev \ + ipc_msgbuf-Xraw \ + ipc_msgbuf-Xverbose \ ipc_sem \ + ipc_sem-Xabbrev \ + ipc_sem-Xraw \ + ipc_sem-Xverbose \ ipc_shm \ + ipc_shm-Xabbrev \ + ipc_shm-Xraw \ + ipc_shm-Xverbose \ kcmp \ kcmp-y \ kern_features \ kexec_file_load \ kexec_load \ keyctl \ + keyctl-Xabbrev \ + keyctl-Xraw \ + keyctl-Xverbose \ kill \ lchown \ lchown32 \ @@ -154,11 +180,20 @@ PURE_EXECUTABLES = \ mlock2 \ mlockall \ mmap \ + mmap-Xabbrev \ + mmap-Xraw \ + mmap-Xverbose \ mmap64 \ + mmap64-Xabbrev \ + mmap64-Xraw \ + mmap64-Xverbose \ mmsg \ mmsg_name \ modify_ldt \ mount \ + mount-Xabbrev \ + mount-Xraw \ + mount-Xverbose \ move_pages \ mq \ mq_sendrecv \ @@ -205,7 +240,9 @@ PURE_EXECUTABLES = \ nlattr_ifaddrlblmsg \ nlattr_ifaddrmsg \ nlattr_ifinfomsg \ + nlattr_ifla_af_spec \ nlattr_ifla_brport \ + nlattr_ifla_linkinfo \ nlattr_ifla_port \ nlattr_ifla_xdp \ nlattr_inet_diag_msg \ @@ -230,6 +267,9 @@ PURE_EXECUTABLES = \ old_mmap \ old_mmap-P \ old_mmap-v-none \ + old_mmap-Xabbrev \ + old_mmap-Xraw \ + old_mmap-Xverbose \ oldfstat \ oldlstat \ oldselect \ @@ -241,6 +281,9 @@ PURE_EXECUTABLES = \ pause \ perf_event_open \ personality \ + personality-Xabbrev \ + personality-Xraw \ + personality-Xverbose \ pipe \ pipe2 \ pkey_alloc \ @@ -357,7 +400,13 @@ PURE_EXECUTABLES = \ sigsuspend \ so_linger \ so_peercred \ + so_peercred-Xabbrev \ + so_peercred-Xraw \ + so_peercred-Xverbose \ sock_filter-v \ + sock_filter-v-Xabbrev \ + sock_filter-v-Xraw \ + sock_filter-v-Xverbose \ socketcall \ sockopt-sol_netlink \ splice \ diff --git a/tests-m32/pure_executables.list b/tests-m32/pure_executables.list index d78bd4d5..39565d0c 100755 --- a/tests-m32/pure_executables.list +++ b/tests-m32/pure_executables.list @@ -7,9 +7,14 @@ acct add_key adjtimex aio +aio_pgetevents alarm bpf bpf-v +bpf-obj_get_info_by_fd +bpf-obj_get_info_by_fd-v +bpf-obj_get_info_by_fd-prog +bpf-obj_get_info_by_fd-prog-v brk btrfs caps @@ -42,6 +47,9 @@ fadvise64_64 fallocate fanotify_init fanotify_mark +fanotify_mark-Xabbrev +fanotify_mark-Xraw +fanotify_mark-Xverbose fchdir fchmod fchmodat @@ -104,10 +112,13 @@ ioctl ioctl_block ioctl_dm ioctl_evdev +ioctl_inotify ioctl_kvm_run ioctl_loop ioctl_mtd ioctl_rtc +ioctl_perf +ioctl_ptp ioctl_scsi ioctl_sg_io_v3 ioctl_sg_io_v4 @@ -120,15 +131,30 @@ ioprio ip_mreq ipc ipc_msg +ipc_msg-Xabbrev +ipc_msg-Xraw +ipc_msg-Xverbose ipc_msgbuf +ipc_msgbuf-Xabbrev +ipc_msgbuf-Xraw +ipc_msgbuf-Xverbose ipc_sem +ipc_sem-Xabbrev +ipc_sem-Xraw +ipc_sem-Xverbose ipc_shm +ipc_shm-Xabbrev +ipc_shm-Xraw +ipc_shm-Xverbose kcmp kcmp-y kern_features kexec_file_load kexec_load keyctl +keyctl-Xabbrev +keyctl-Xraw +keyctl-Xverbose kill lchown lchown32 @@ -153,11 +179,20 @@ mlock mlock2 mlockall mmap +mmap-Xabbrev +mmap-Xraw +mmap-Xverbose mmap64 +mmap64-Xabbrev +mmap64-Xraw +mmap64-Xverbose mmsg mmsg_name modify_ldt mount +mount-Xabbrev +mount-Xraw +mount-Xverbose move_pages mq mq_sendrecv @@ -204,7 +239,9 @@ nlattr_fib_rule_hdr nlattr_ifaddrlblmsg nlattr_ifaddrmsg nlattr_ifinfomsg +nlattr_ifla_af_spec nlattr_ifla_brport +nlattr_ifla_linkinfo nlattr_ifla_port nlattr_ifla_xdp nlattr_inet_diag_msg @@ -229,6 +266,9 @@ nlattr_unix_diag_msg old_mmap old_mmap-P old_mmap-v-none +old_mmap-Xabbrev +old_mmap-Xraw +old_mmap-Xverbose oldfstat oldlstat oldselect @@ -240,6 +280,9 @@ osf_utimes pause perf_event_open personality +personality-Xabbrev +personality-Xraw +personality-Xverbose pipe pipe2 pkey_alloc @@ -356,7 +399,13 @@ sigreturn sigsuspend so_linger so_peercred +so_peercred-Xabbrev +so_peercred-Xraw +so_peercred-Xverbose sock_filter-v +sock_filter-v-Xabbrev +sock_filter-v-Xraw +sock_filter-v-Xverbose socketcall sockopt-sol_netlink splice diff --git a/tests-m32/pwritev.c b/tests-m32/pwritev.c index 58e5b41e..3c2bdb6f 100644 --- a/tests-m32/pwritev.c +++ b/tests-m32/pwritev.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2014-2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -65,7 +66,7 @@ print_iovec(const struct iovec *iov, unsigned int cnt, unsigned int size) if (i) fputs(", ", stdout); if (i == size) { - printf("%p", &iov[i]); + printf("... /* %p */", &iov[i]); break; } if (i == LIM) { diff --git a/tests-m32/qual_fault-syntax.test b/tests-m32/qual_fault-syntax.test index 43ade769..7f7a515c 100755 --- a/tests-m32/qual_fault-syntax.test +++ b/tests-m32/qual_fault-syntax.test @@ -86,6 +86,12 @@ for arg in chdir:42 \!chdir:42 \ chdir:retval=0 \ chdir:signal=1 \ chdir:error=1:error=2 \ + chdir:syscall=invalid \ + chdir:syscall=chdir \ + chdir:syscall=%file \ + chdir:syscall=-42 \ + chdir:syscall=42 \ + chdir:syscall=gettid:syscall=gettid \ ; do $STRACE -e fault="$arg" true 2> "$LOG" && fail_with "$arg" diff --git a/tests-m32/qual_fault-syscall.test b/tests-m32/qual_fault-syscall.test new file mode 100755 index 00000000..cae97f5e --- /dev/null +++ b/tests-m32/qual_fault-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_fault +. "${srcdir=.}/qual_fault.test" diff --git a/tests-m32/qual_fault.c b/tests-m32/qual_fault.c index 670d9fe7..d5d78bcd 100644 --- a/tests-m32/qual_fault.c +++ b/tests-m32/qual_fault.c @@ -77,8 +77,9 @@ invoke(int fail) err, rc, errno); if (is_raw) - tprintf("writev(%#x, %p, 0x1) = -1 (errno %d)" - " (INJECTED)\n", got_fd, &io, err); + tprintf("writev(%#x, %p, 0x1)" + " = -1 %s (%m) (INJECTED)\n", + got_fd, &io, errstr); else tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)" " = -1 %s (%m) (INJECTED)\n", diff --git a/tests-m32/qual_fault.test b/tests-m32/qual_fault.test index 12b0a850..e166ffd0 100755 --- a/tests-m32/qual_fault.test +++ b/tests-m32/qual_fault.test @@ -1,9 +1,9 @@ -#!/bin/sh +#!/bin/sh -efu # # Check that fault injection works properly. # # Copyright (c) 2016 Dmitry V. Levin -# 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 @@ -37,6 +37,9 @@ N=100 +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + check_fault_injection() { local trace fault err first step procs extra @@ -79,7 +82,7 @@ check_fault_injection() outpid="$NAME.pid" run_strace -a11 -ff -e trace=$trace \ - "$@" -e fault=$fault$when$error $extra \ + "$@" -e fault=$fault$when$error$suffix $extra \ ../$NAME $raw "$err" "$first" "$step" $N \ "$procs" "$outexp" "$outgot" "$outout" "$outpid" @@ -87,8 +90,8 @@ check_fault_injection() do pid=$(cat "$outpid.$i") - match_diff "$outout.$i" "$LOG.$pid" - match_diff "$outexp.$i" "$outgot.$i" + match_diff "$LOG.$pid" "$outout.$i" + match_diff "$outgot.$i" "$outexp.$i" done } diff --git a/tests-m32/qual_inject-error-signal-syscall.test b/tests-m32/qual_inject-error-signal-syscall.test new file mode 100755 index 00000000..0adb35d7 --- /dev/null +++ b/tests-m32/qual_inject-error-signal-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_inject-error-signal +. "${srcdir=.}/qual_inject-error-signal.test" diff --git a/tests-m32/qual_inject-error-signal.test b/tests-m32/qual_inject-error-signal.test index 1fe46126..93d8321d 100755 --- a/tests-m32/qual_inject-error-signal.test +++ b/tests-m32/qual_inject-error-signal.test @@ -3,6 +3,10 @@ # Check fault injection along with signal injection. . "${srcdir=.}/scno_tampering.sh" -run_strace -a12 -echdir,exit_group -einject=chdir:error=ENOENT:signal=USR1 \ +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + +run_strace -a12 -echdir,exit_group \ + -einject=chdir:error=ENOENT:signal=USR1"$suffix" \ "../$NAME" match_diff diff --git a/tests-m32/qual_inject-retval-syscall.test b/tests-m32/qual_inject-retval-syscall.test new file mode 100755 index 00000000..fca9354c --- /dev/null +++ b/tests-m32/qual_inject-retval-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_inject-retval +. "${srcdir=.}/qual_inject-retval.test" diff --git a/tests-m32/qual_inject-retval.test b/tests-m32/qual_inject-retval.test index 5a4efd11..239ab0a4 100755 --- a/tests-m32/qual_inject-retval.test +++ b/tests-m32/qual_inject-retval.test @@ -4,6 +4,9 @@ . "${srcdir=.}/scno_tampering.sh" +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + check_injection() { local syscall rval @@ -11,7 +14,7 @@ check_injection() syscall=chdir rval="$1"; shift - run_strace -a12 -e$syscall -einject="$syscall:retval=$rval" "$@" \ + run_strace -a12 -e$syscall -einject="$syscall:retval=$rval$suffix" "$@" \ ../qual_inject-retval "$rval" > "$EXP" match_diff "$LOG" "$EXP" } diff --git a/tests-m32/qual_inject-signal-syscall.test b/tests-m32/qual_inject-signal-syscall.test new file mode 100755 index 00000000..42e9a268 --- /dev/null +++ b/tests-m32/qual_inject-signal-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_inject-signal +. "${srcdir=.}/qual_inject-signal.test" diff --git a/tests-m32/qual_inject-signal.test b/tests-m32/qual_inject-signal.test index f17e5a01..7f75a8e7 100755 --- a/tests-m32/qual_inject-signal.test +++ b/tests-m32/qual_inject-signal.test @@ -3,6 +3,9 @@ # Check signal injection. . "${srcdir=.}/init.sh" -run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1 \ +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + +run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1"$suffix" \ ../$NAME match_diff diff --git a/tests-m32/qual_inject-syntax.test b/tests-m32/qual_inject-syntax.test index 20bc0c3b..a53b01c4 100755 --- a/tests-m32/qual_inject-syntax.test +++ b/tests-m32/qual_inject-syntax.test @@ -102,6 +102,12 @@ for arg in 42 chdir \ 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 \ + chdir:syscall=invalid \ + chdir:syscall=chdir \ + chdir:syscall=%file \ + chdir:syscall=-42 \ + chdir:syscall=42 \ + chdir:syscall=gettid:syscall=gettid \ ; do $STRACE -e inject="$arg" true 2> "$LOG" && fail_with "$arg" diff --git a/tests-m32/qualify_personality.sh b/tests-m32/qualify_personality.sh new file mode 100644 index 00000000..7b19a2e4 --- /dev/null +++ b/tests-m32/qualify_personality.sh @@ -0,0 +1,94 @@ +#! /bin/sh -efu +# +# Common code for per-personality qualification tests +# +# 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" + +[ 2 -le "$#" ] || + fail_ 'No personality designation ("64", "32", "x32") specified' + +pers="$1" +shift +trace_expr="$1" +shift +skip="${1-}" + +case "$STRACE_NATIVE_ARCH" in +x86_64) + supported_pers='64 32 x32' + ;; +x32) + supported_pers='x32 32' + ;; +aarch64|powerpc64|riscv|s390x|sparc64|tile) + supported_pers='64 32' + ;; +*) + supported_pers="$(($SIZEOF_LONG * 8))" + ;; +esac + +# Detect current personality designation +if [ "x$STRACE_NATIVE_ARCH" = "x$STRACE_ARCH" ]; then + case "$STRACE_NATIVE_ARCH" in + x32) + cur_pers=x32 + ;; + *) + cur_pers="$(($SIZEOF_LONG * 8))" + ;; + esac +else + if [ "x$SIZEOF_KERNEL_LONG_T" = "x$SIZEOF_LONG" ]; then + [ 4 -eq "$SIZEOF_LONG" ] || + fail_ "sizeof(long) = $SIZEOF_LONG != 4" + cur_pers=32 + else + [ 8 -eq "$SIZEOF_KERNEL_LONG_T" ] || + fail_ "sizeof(kernel_long_t) = $SIZEOF_KERNEL_LONG_T != 8" + [ 4 -eq "$SIZEOF_LONG" ] || + fail_ "sizeof(long) = $SIZEOF_LONG != 4" + cur_pers=x32 + fi +fi + +pers_found=0 +set -- $supported_pers +for i; do + [ "x$pers" != "x$i" ] || pers_found=1 +done + +[ "$pers_found" = 1 ] || + skip_ "Personality '$pers' is not supported on architecture" \ + "'$STRACE_NATIVE_ARCH' (supported personalities: $supported_pers)" + +# If tested personality is not equivalent to current personality, reset $NAME, +# so "$NAME.in", which is used by test_trace_expr, points to an empty file. +[ "x$pers" = "x$cur_pers" ] || NAME=qualify_personality_empty + +test_trace_expr "$skip" -e trace="${trace_expr}@${pers}" diff --git a/tests-m32/qualify_personality_empty.in b/tests-m32/qualify_personality_empty.in new file mode 100644 index 00000000..e69de29b diff --git a/tests-m32/readv.c b/tests-m32/readv.c index 8430ca56..cae4e6bd 100644 --- a/tests-m32/readv.c +++ b/tests-m32/readv.c @@ -2,7 +2,7 @@ * Check decoding of readv and writev syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -89,7 +89,7 @@ main(void) fds[1], (long) writev(fds[1], w_iov, 0)); rc = writev(fds[1], w_iov + ARRAY_SIZE(w_iov_) - 1, 2); - tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%u}, %p], 2)" + tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%u}, ... /* %p */], 2)" " = %ld %s (%m)\n", fds[1], w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_), rc, errno2name()); diff --git a/tests-m32/request_key.c b/tests-m32/request_key.c index 866fe76e..ce9b7245 100644 --- a/tests-m32/request_key.c +++ b/tests-m32/request_key.c @@ -2,7 +2,7 @@ * Check decoding of request_key syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -101,7 +101,7 @@ main(void) { bogus_desc, NULL }, { ARG_STR("\25\26\27\30\31") }, { ARG_STR("desc") }, - { "overly long description", _STR("overly long ") "..." }, + { "overly long description", STRINGIFY("overly long ") "..." }, }; struct { @@ -113,7 +113,7 @@ main(void) { bogus_info, NULL }, { ARG_STR("\32\33\34\35\36") }, { ARG_STR("info") }, - { "overly long info", _STR("overly long ") "..." }, + { "overly long info", STRINGIFY("overly long ") "..." }, }; struct { diff --git a/tests-m32/s390_guarded_storage.c b/tests-m32/s390_guarded_storage.c index 69ac166d..97475bbc 100644 --- a/tests-m32/s390_guarded_storage.c +++ b/tests-m32/s390_guarded_storage.c @@ -175,8 +175,8 @@ main(void) static const kernel_ulong_t bogus_addr = (kernel_ulong_t) 0xfacefeedac0ffeedULL; - struct gs_cb *gscb = tail_alloc(sizeof(*gscb)); - struct gs_epl *gsepl = tail_alloc(sizeof(*gsepl)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct gs_cb, gscb); + TAIL_ALLOC_OBJECT_CONST_PTR(struct gs_epl, gsepl); long rc; diff --git a/tests-m32/s390_runtime_instr.c b/tests-m32/s390_runtime_instr.c index 861bbd4a..5d368a1a 100644 --- a/tests-m32/s390_runtime_instr.c +++ b/tests-m32/s390_runtime_instr.c @@ -44,10 +44,11 @@ main(void) kernel_ulong_t cmd; const char * cmd_str; } cmd_args[] = { - { 0, "???" }, - { 4, "???" }, - { (kernel_ulong_t) 0xdeafbeefdeadc0deULL, "???" }, - { 2, "STOP", }, + { 0, "0 /* S390_RUNTIME_INSTR_??? */" }, + { 4, "4 /* S390_RUNTIME_INSTR_??? */" }, + { (kernel_ulong_t) 0xdeafbeefdeadc0deULL, + "-559038242 /* S390_RUNTIME_INSTR_??? */" }, + { 2, "S390_RUNTIME_INSTR_STOP" }, }; static struct { @@ -66,10 +67,8 @@ main(void) for (i = 0; i < ARRAY_SIZE(cmd_args); i++) { rc = syscall(__NR_s390_runtime_instr, cmd_args[i].cmd, 0xdead); - printf("s390_runtime_instr(%d /* S390_RUNTIME_INSTR_%s */) = " - "%s\n", - (int) cmd_args[i].cmd, cmd_args[i].cmd_str, - sprintrc(rc)); + printf("s390_runtime_instr(%s) = %s\n", + cmd_args[i].cmd_str, sprintrc(rc)); } for (i = 0; i < ARRAY_SIZE(start_sig_args); i++) { @@ -77,7 +76,7 @@ main(void) rc = syscall(__NR_s390_runtime_instr, 1, start_sig_args[i].sig); saved_errno = errno; - printf("s390_runtime_instr(1 /* S390_RUNTIME_INSTR_START */, "); + printf("s390_runtime_instr(S390_RUNTIME_INSTR_START, "); if (start_sig_args[i].sig_str) printf("%s", start_sig_args[i].sig_str); diff --git a/tests-m32/s390_runtime_instr.gen.test b/tests-m32/s390_runtime_instr.gen.test index 9197dc33..83e81502 100755 --- a/tests-m32/s390_runtime_instr.gen.test +++ b/tests-m32/s390_runtime_instr.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (s390_runtime_instr -a50 ); do not edit. +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (s390_runtime_instr -a44 ); do not edit. . "${srcdir=.}/init.sh" -run_strace_match_diff -a50 +run_strace_match_diff -a44 diff --git a/tests-m32/s390_sthyi.c b/tests-m32/s390_sthyi.c index 8f6bbfb1..b7066e50 100644 --- a/tests-m32/s390_sthyi.c +++ b/tests-m32/s390_sthyi.c @@ -741,7 +741,7 @@ main(void) (kernel_ulong_t) 0xfee1deadfa57beefULL; unsigned char *buf = tail_alloc(PAGE_SIZE); - uint64_t *ret = tail_alloc(sizeof(*ret)); + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, ret); long rc; diff --git a/tests-m32/seccomp-filter-v.c b/tests-m32/seccomp-filter-v.c index 34ab3b58..38def289 100644 --- a/tests-m32/seccomp-filter-v.c +++ b/tests-m32/seccomp-filter-v.c @@ -2,7 +2,7 @@ * Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER. * * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -118,7 +118,7 @@ main(void) prog->len = 3; syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, 0, prog); tprintf("seccomp(SECCOMP_SET_MODE_FILTER, 0, {len=%u" - ", filter=[%s, %p]}) = -1 EFAULT (%m)\n", + ", filter=[%s, ... /* %p */]}) = -1 EFAULT (%m)\n", prog->len, kill_stmt_txt, filter + ARRAY_SIZE(filter_c)); prog->len = 0; @@ -136,7 +136,8 @@ main(void) prog->filter = big_filter; prog->len = BPF_MAXINSNS + 1; tprintf("seccomp(SECCOMP_SET_MODE_FILTER, %s, {len=%u, filter=[", - "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|0xfffffffc", + "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|" + "SECCOMP_FILTER_FLAG_SPEC_ALLOW|0xfffffff8", prog->len); for (i = 0; i < BPF_MAXINSNS; ++i) { if (i) diff --git a/tests-m32/seccomp-filter.c b/tests-m32/seccomp-filter.c index 7bc76560..53f8363b 100644 --- a/tests-m32/seccomp-filter.c +++ b/tests-m32/seccomp-filter.c @@ -2,7 +2,7 @@ * Check decoding of seccomp SECCOMP_SET_MODE_FILTER. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -56,12 +56,13 @@ main(void) rc = syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, -1, prog); printf("seccomp(SECCOMP_SET_MODE_FILTER, %s, {len=%u, filter=%p})" " = %ld %s (%m)\n", - "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|0xfffffffc", + "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|" + "SECCOMP_FILTER_FLAG_SPEC_ALLOW|0xfffffff8", prog->len, prog->filter, rc, errno2name()); - rc = syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, -4L, efault); + rc = syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, -8L, efault); printf("seccomp(SECCOMP_SET_MODE_FILTER, %s, %p) = %ld %s (%m)\n", - "0xfffffffc /* SECCOMP_FILTER_FLAG_??? */", + "0xfffffff8 /* SECCOMP_FILTER_FLAG_??? */", efault, rc, errno2name()); puts("+++ exited with 0 +++"); diff --git a/tests-m32/semop.c b/tests-m32/semop.c index 2366d385..4b14882c 100644 --- a/tests-m32/semop.c +++ b/tests-m32/semop.c @@ -64,11 +64,11 @@ main(void) sem_b2->sem_flg = 0xbeef; rc = semop(bogus_semid, sem_b2, 2); - printf("semop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u) = %s\n", + printf("semop(%d, [{%hu, %hd, %s%s%#hx}, ... /* %p */], %u) = %s\n", bogus_semid, sem_b2->sem_num, sem_b2->sem_op, sem_b2->sem_flg & SEM_UNDO ? "SEM_UNDO|" : "", sem_b2->sem_flg & IPC_NOWAIT ? "IPC_NOWAIT|" : "", - sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT), + (short) (sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT)), sem_b2 + 1, 2, sprintrc(rc)); if (semop(id, sem_b, 1)) @@ -91,12 +91,12 @@ main(void) ts->tv_sec = 1; ts->tv_nsec = 123456789; rc = semtimedop(bogus_semid, sem_b2, 2, ts); - printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u" + printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, ... /* %p */], %u" ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n", bogus_semid, sem_b2->sem_num, sem_b2->sem_op, sem_b2->sem_flg & SEM_UNDO ? "SEM_UNDO|" : "", sem_b2->sem_flg & IPC_NOWAIT ? "IPC_NOWAIT|" : "", - sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT), + (short) (sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT)), sem_b2 + 1, 2, (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc)); diff --git a/tests-m32/set_mempolicy.c b/tests-m32/set_mempolicy.c index f3261a09..96ad7dbc 100644 --- a/tests-m32/set_mempolicy.c +++ b/tests-m32/set_mempolicy.c @@ -2,6 +2,7 @@ * Check decoding of set_mempolicy syscall. * * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -76,7 +77,7 @@ print_nodes(const unsigned long maxnode, unsigned int offset) printf("%#0*lx", (int) sizeof(long) * 2 + 2, nodemask[i]); } else { - printf("%p", nodemask + i); + printf("... /* %p */", nodemask + i); break; } } diff --git a/tests-m32/setgroups.c b/tests-m32/setgroups.c index 5645c22b..a2851be6 100644 --- a/tests-m32/setgroups.c +++ b/tests-m32/setgroups.c @@ -2,7 +2,7 @@ * Check decoding of setgroups/setgroups32 syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -115,7 +115,7 @@ main(void) errstr = sprintrc(rc); printf("%s(2, [", SYSCALL_NAME); printuid(*g1); - printf(", %p]) = %s\n", g1 + 1, errstr); + printf(", ... /* %p */]) = %s\n", g1 + 1, errstr); g2[0] = -2; g2[1] = -3; @@ -133,7 +133,7 @@ main(void) printuid(g2[0]); printf(", "); printuid(g2[1]); - printf(", %p]) = %s\n", g2 + 2, errstr); + printf(", ... /* %p */]) = %s\n", g2 + 2, errstr); g3[0] = 0; g3[1] = 1; diff --git a/tests-m32/signal_receive.c b/tests-m32/signal_receive.c index 01c52e8c..a464b8c0 100644 --- a/tests-m32/signal_receive.c +++ b/tests-m32/signal_receive.c @@ -1,43 +1,127 @@ +/* + * Check decoding of signal delivery. + * + * 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 "tests.h" #include #include #include -void sig_print(const char *signame, const int pid, const int uid) -{ - printf("kill(%d, %s) = 0\n" - "--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d" - ", si_uid=%d} ---\n", - pid, signame, signame, signame, pid, uid); -} +static volatile int s_sig, s_code, s_pid, s_uid; static void -handler(int sig) +handler(int sig, siginfo_t *info, void *ucontext) { + s_sig = info->si_signo; + s_code = info->si_code; + s_pid = info->si_pid; + s_uid = info->si_uid; } int main(void) { - int sig, pid = getpid(), uid = getuid(); - const struct sigaction act = { .sa_handler = handler }; - sigset_t mask; - sigemptyset(&mask); - - for (sig = 1; sig <= 31; sig++) { - if (sig != SIGKILL && sig != SIGSTOP) { - sigaction(sig, &act, NULL); - sigaddset(&mask, sig); + static const char prefix[] = "KERNEL BUG"; + int printed = 0; + + const int pid = getpid(); + const int uid = geteuid(); + + for (int sig = 1; sig <= 31; ++sig) { + if (sig == SIGKILL || sig == SIGSTOP) + continue; + + sigset_t mask; + sigemptyset(&mask); + sigaddset(&mask, sig); + if (sigprocmask(SIG_UNBLOCK, &mask, NULL)) + perror_msg_and_fail("sigprocmask"); + + static const struct sigaction act = { + .sa_sigaction = handler, + .sa_flags = SA_SIGINFO + }; + if (sigaction(sig, &act, NULL)) + perror_msg_and_fail("sigaction: %d", sig); + + if (kill(pid, sig) != 0) + perror_msg_and_fail("kill: %d", sig); + +#ifdef MPERS_IS_m32 + /* + * The tracee has received a compat siginfo_t but + * the tracer has received a native siginfo_t. + */ + const int e_sig = sig; + const int e_pid = pid; + const int e_uid = uid; +#else + /* + * If the tracee is a native process, + * then the tracer is also native. + * If the tracee is a compat process, + * then the tracer is also compat. + * Anyway, both the tracee and the tracer + * have received the same siginfo_t. + */ + const int e_sig = s_sig; + const int e_pid = s_pid; + const int e_uid = s_uid; +#endif + printf("kill(%d, %s) = 0\n", pid, signal2name(sig)); + printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d" + ", si_uid=%d} ---\n", + signal2name(sig), signal2name(e_sig), e_pid, e_uid); + + if (s_code || sig != s_sig || pid != s_pid || uid != s_uid) { + /* + * The kernel has failed to initialize siginfo_t + * properly. There is nothing that could be done + * on the strace side to workaround the kernel bug, + * so just print some useful diagnostics. + */ + if (!printed) { + printed = 1; + fprintf(stderr, "%s: siginfo_t\n", prefix); + } + fprintf(stderr, + "%s: expected: si_signo=%d, si_code=%d" + ", si_pid=%d, si_uid=%d\n" + "%s: received: si_signo=%d, si_code=%d" + ", si_pid=%d, si_uid=%d\n", + prefix, sig, SI_USER, pid, uid, + prefix, sig, s_code, s_pid, s_uid); } } - sigprocmask(SIG_UNBLOCK, &mask, NULL); - for (sig = 1; sig <= 31; sig++) { - if (sig != SIGKILL && sig != SIGSTOP) { - if (kill(pid, sig) != 0) - perror_msg_and_fail("kill: %d", sig); - sig_print(signal2name(sig), pid, uid); - } + if (printed) { + fprintf(stderr, "%s: end of diagnostics\n" + "*** PLEASE FIX THE KERNEL ***\n", prefix); } puts("+++ exited with 0 +++"); diff --git a/tests-m32/so_peercred-Xabbrev.c b/tests-m32/so_peercred-Xabbrev.c new file mode 100644 index 00000000..a7056a66 --- /dev/null +++ b/tests-m32/so_peercred-Xabbrev.c @@ -0,0 +1 @@ +#include "so_peercred.c" diff --git a/tests-m32/so_peercred-Xabbrev.gen.test b/tests-m32/so_peercred-Xabbrev.gen.test new file mode 100755 index 00000000..64a5538b --- /dev/null +++ b/tests-m32/so_peercred-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (so_peercred-Xabbrev -e trace=getsockopt -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=getsockopt -Xabbrev diff --git a/tests-m32/so_peercred-Xraw.c b/tests-m32/so_peercred-Xraw.c new file mode 100644 index 00000000..e45f2df4 --- /dev/null +++ b/tests-m32/so_peercred-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "so_peercred.c" diff --git a/tests-m32/so_peercred-Xraw.gen.test b/tests-m32/so_peercred-Xraw.gen.test new file mode 100755 index 00000000..471ae599 --- /dev/null +++ b/tests-m32/so_peercred-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (so_peercred-Xraw -e trace=getsockopt -Xraw -a39); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=getsockopt -Xraw -a39 diff --git a/tests-m32/so_peercred-Xverbose.c b/tests-m32/so_peercred-Xverbose.c new file mode 100644 index 00000000..1bb47e98 --- /dev/null +++ b/tests-m32/so_peercred-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "so_peercred.c" diff --git a/tests-m32/so_peercred-Xverbose.gen.test b/tests-m32/so_peercred-Xverbose.gen.test new file mode 100755 index 00000000..2926517b --- /dev/null +++ b/tests-m32/so_peercred-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (so_peercred-Xverbose -e trace=getsockopt -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=getsockopt -Xverbose diff --git a/tests-m32/so_peercred.c b/tests-m32/so_peercred.c index 53bf0719..6eac8467 100644 --- a/tests-m32/so_peercred.c +++ b/tests-m32/so_peercred.c @@ -2,6 +2,7 @@ * Check decoding of SO_PEERCRED socket option. * * Copyright (c) 2017 Dmitry V. Levin + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -46,6 +47,28 @@ get_peercred(int fd, void *val, socklen_t *len) return rc; } +static const char * +so_str(void) +{ + static char buf[256]; + + if (!buf[0]) { +#if XLAT_RAW + snprintf(buf, sizeof(buf), + "%#x, %#x", SOL_SOCKET, SO_PEERCRED); +#elif XLAT_VERBOSE + snprintf(buf, sizeof(buf), + "%#x /* SOL_SOCKET */, %#x /* SO_PEERCRED */", + SOL_SOCKET, SO_PEERCRED); +#else + snprintf(buf, sizeof(buf), + "SOL_SOCKET, SO_PEERCRED"); +#endif + } + + return buf; +} + int main(void) { @@ -59,7 +82,7 @@ main(void) /* classic getsockopt */ *len = sizeof(*peercred); get_peercred(sv[0], peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", sv[0]); + printf("getsockopt(%d, %s", sv[0], so_str()); PRINT_FIELD_D(", {", *peercred, pid); PRINT_FIELD_UID(", ", *peercred, uid); PRINT_FIELD_UID(", ", *peercred, gid); @@ -72,7 +95,7 @@ main(void) /* getsockopt with optlen larger than necessary - shortened */ *len = sizeof(*peercred) + 1; get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", fd); + printf("getsockopt(%d, %s", fd, so_str()); PRINT_FIELD_D(", {", *peercred, pid); PRINT_FIELD_UID(", ", *peercred, uid); PRINT_FIELD_UID(", ", *peercred, gid); @@ -82,14 +105,14 @@ main(void) /* getsockopt with optlen smaller than usual - truncated to ucred.pid */ *len = sizeof(peercred->pid); get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", fd); + printf("getsockopt(%d, %s", fd, so_str()); PRINT_FIELD_D(", {", *peercred, pid); printf("}, [%d]) = %s\n", *len, errstr); /* getsockopt with optlen smaller than usual - truncated to ucred.uid */ *len = offsetof(struct ucred, gid); get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", fd); + printf("getsockopt(%d, %s", fd, so_str()); PRINT_FIELD_D(", {", *peercred, pid); PRINT_FIELD_UID(", ", *peercred, uid); printf("}, [%d]) = %s\n", *len, errstr); @@ -97,20 +120,20 @@ main(void) /* getsockopt with optlen larger than usual - truncated to raw */ *len = sizeof(*peercred) - 1; get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED, ", fd); + printf("getsockopt(%d, %s, ", fd, so_str()); print_quoted_hex(peercred, *len); printf(", [%d]) = %s\n", *len, errstr); /* getsockopt optval EFAULT */ *len = sizeof(*peercred); get_peercred(fd, &peercred->uid, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED, %p, [%d]) = %s\n", - fd, &peercred->uid, *len, errstr); + printf("getsockopt(%d, %s, %p, [%d]) = %s\n", + fd, so_str(), &peercred->uid, *len, errstr); /* getsockopt optlen EFAULT */ get_peercred(fd, peercred, len + 1); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED, %p, %p) = %s\n", - fd, peercred, len + 1, errstr); + printf("getsockopt(%d, %s, %p, %p) = %s\n", + fd, so_str(), peercred, len + 1, errstr); puts("+++ exited with 0 +++"); return 0; diff --git a/tests-m32/sock_filter-v-Xabbrev.c b/tests-m32/sock_filter-v-Xabbrev.c new file mode 100644 index 00000000..ac680e2c --- /dev/null +++ b/tests-m32/sock_filter-v-Xabbrev.c @@ -0,0 +1 @@ +#include "sock_filter-v.c" diff --git a/tests-m32/sock_filter-v-Xabbrev.gen.test b/tests-m32/sock_filter-v-Xabbrev.gen.test new file mode 100755 index 00000000..e52763fa --- /dev/null +++ b/tests-m32/sock_filter-v-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sock_filter-v-Xabbrev -v -e trace=getsockopt,setsockopt -X abbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -v -e trace=getsockopt,setsockopt -X abbrev diff --git a/tests-m32/sock_filter-v-Xraw.c b/tests-m32/sock_filter-v-Xraw.c new file mode 100644 index 00000000..e85309c1 --- /dev/null +++ b/tests-m32/sock_filter-v-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "sock_filter-v.c" diff --git a/tests-m32/sock_filter-v-Xraw.gen.test b/tests-m32/sock_filter-v-Xraw.gen.test new file mode 100755 index 00000000..3c7df814 --- /dev/null +++ b/tests-m32/sock_filter-v-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sock_filter-v-Xraw -a 37 -v -e trace=getsockopt,setsockopt -X raw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a 37 -v -e trace=getsockopt,setsockopt -X raw diff --git a/tests-m32/sock_filter-v-Xverbose.c b/tests-m32/sock_filter-v-Xverbose.c new file mode 100644 index 00000000..59d76bdf --- /dev/null +++ b/tests-m32/sock_filter-v-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "sock_filter-v.c" diff --git a/tests-m32/sock_filter-v-Xverbose.gen.test b/tests-m32/sock_filter-v-Xverbose.gen.test new file mode 100755 index 00000000..b58c5b51 --- /dev/null +++ b/tests-m32/sock_filter-v-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sock_filter-v-Xverbose -v -e trace=getsockopt,setsockopt -X verbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -v -e trace=getsockopt,setsockopt -X verbose diff --git a/tests-m32/sock_filter-v.c b/tests-m32/sock_filter-v.c index 16d5c1cd..68297867 100644 --- a/tests-m32/sock_filter-v.c +++ b/tests-m32/sock_filter-v.c @@ -2,6 +2,7 @@ * Check decoding of socket filters. * * Copyright (c) 2017 Dmitry V. Levin + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,16 +36,30 @@ #include #include -#define PRINT_STMT_SYM(pfx, code, k) PRINT_STMT_SYM_(pfx, #code, #k) -#define PRINT_STMT_SYM_(pfx, code, k) \ - printf("%sBPF_STMT(%s, %s)", pfx, code, k) -#define PRINT_STMT_VAL(pfx, code, k) PRINT_STMT_VAL_(pfx, #code, k) -#define PRINT_STMT_VAL_(pfx, code, k) \ - printf("%sBPF_STMT(%s, %#x)", pfx, code, k) +/* SO_GET_FILTER was introduced by Linux commit v3.8-rc1~139^2~518 */ +#ifndef SO_GET_FILTER +# define SO_GET_FILTER SO_ATTACH_FILTER +#endif + +#define HEX_FMT "%#x" + +#if XLAT_RAW +# define XLAT_FMT HEX_FMT +# define XLAT_ARGS(a_) (a_) +#elif XLAT_VERBOSE +# define XLAT_FMT HEX_FMT " /* %s */" +# define XLAT_ARGS(a_) (a_), #a_ +#else +# define XLAT_FMT "%s" +# define XLAT_ARGS(a_) #a_ +#endif -#define PRINT_JUMP(pfx, code, k, jt, jf) PRINT_JUMP_(pfx, #code, k, jt, jf) -#define PRINT_JUMP_(pfx, code, k, jt, jf) \ - printf("%sBPF_JUMP(%s, %#x, %#x, %#x)", pfx, code, k, jt, jf) +#define PRINT_STMT(pfx, code_fmt, k_fmt, ...) \ + printf("%sBPF_STMT(" code_fmt ", " k_fmt ")", pfx, __VA_ARGS__) + +#define PRINT_JUMP(pfx, code_fmt, k, jt, jf, ...) \ + printf("%sBPF_JUMP(" code_fmt ", %#x, %#x, %#x)", \ + pfx, __VA_ARGS__, k, jt, jf) static const struct sock_filter bpf_filter[] = { BPF_STMT(BPF_LD|BPF_B|BPF_ABS, SKF_LL_OFF+4), @@ -62,16 +77,43 @@ static const struct sock_filter bpf_filter[] = { static void print_filter(void) { - PRINT_STMT_SYM("[", BPF_LD|BPF_B|BPF_ABS, SKF_LL_OFF+4); - PRINT_STMT_SYM(", ", BPF_LD|BPF_B|BPF_ABS, SKF_NET_OFF+8); - PRINT_STMT_SYM(", ", BPF_LD|BPF_B|BPF_ABS, SKF_AD_OFF+SKF_AD_PROTOCOL); - PRINT_JUMP(", ", BPF_JMP|BPF_K|BPF_JEQ, IPPROTO_UDP, 0, 5); - PRINT_STMT_VAL(", ", BPF_LD|BPF_W|BPF_LEN, 0); - PRINT_JUMP(", ", BPF_JMP|BPF_K|BPF_JGE, 100, 0, 3); - PRINT_STMT_VAL(", ", BPF_LD|BPF_B|BPF_ABS, 42); - PRINT_JUMP(", ", BPF_JMP|BPF_K|BPF_JEQ, 'a', 0, 1); - PRINT_STMT_VAL(", ", BPF_RET|BPF_K, -1U); - PRINT_STMT_VAL(", ", BPF_RET|BPF_K, 0); + PRINT_STMT("[", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + XLAT_FMT "+4", + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + XLAT_ARGS(SKF_LL_OFF)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + XLAT_FMT "+8", + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + XLAT_ARGS(SKF_NET_OFF)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + XLAT_FMT "+" XLAT_FMT, + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + XLAT_ARGS(SKF_AD_OFF), XLAT_ARGS(SKF_AD_PROTOCOL)); + PRINT_JUMP(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + IPPROTO_UDP, 0, 5, + XLAT_ARGS(BPF_JMP), XLAT_ARGS(BPF_K), XLAT_ARGS(BPF_JEQ)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_W), XLAT_ARGS(BPF_LEN), + 0); + PRINT_JUMP(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + 100, 0, 3, + XLAT_ARGS(BPF_JMP), XLAT_ARGS(BPF_K), XLAT_ARGS(BPF_JGE)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + 42); + PRINT_JUMP(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + 'a', 0, 1, + XLAT_ARGS(BPF_JMP), XLAT_ARGS(BPF_K), XLAT_ARGS(BPF_JEQ)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_RET), XLAT_ARGS(BPF_K), + -1U); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_RET), XLAT_ARGS(BPF_K), + 0); putchar(']'); } @@ -80,7 +122,7 @@ static const char *errstr; static int get_filter(int fd, void *val, socklen_t *len) { - int rc = getsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, val, len); + int rc = getsockopt(fd, SOL_SOCKET, SO_GET_FILTER, val, len); errstr = sprintrc(rc); return rc; } @@ -114,35 +156,41 @@ main(void) *len = BPF_MAXINSNS; rc = get_filter(fd, NULL, len); if (rc) - perror_msg_and_skip("getsockopt SOL_SOCKET SO_ATTACH_FILTER"); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER" - ", NULL, [%u->0]) = 0\n", fd, BPF_MAXINSNS); + perror_msg_and_skip("getsockopt SOL_SOCKET SO_GET_FILTER"); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", NULL, [%u->0]) " + "= 0\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), + BPF_MAXINSNS); /* getsockopt NULL optlen - EFAULT */ rc = get_filter(fd, NULL, NULL); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, NULL, NULL)" - " = %s\n", fd, errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", NULL, NULL) " + "= %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), errstr); /* attach a filter */ rc = set_filter(fd, prog, sizeof(*prog)); if (rc) perror_msg_and_skip("setsockopt SOL_SOCKET SO_ATTACH_FILTER"); - printf("setsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, {len=%u, filter=", - fd, prog->len); + printf("setsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", {len=%u, filter=", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_ATTACH_FILTER), + prog->len); print_filter(); printf("}, %u) = 0\n", (unsigned int) sizeof(*prog)); /* setsockopt optlen is too small - EINVAL */ rc = set_filter(fd, prog, sizeof(*prog) - 4); - printf("setsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p, %u) = %s\n", - fd, prog, (unsigned int) sizeof(*prog) - 4, errstr); + printf("setsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, %u) = %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_ATTACH_FILTER), prog, + (unsigned int) sizeof(*prog) - 4, errstr); #ifdef SO_ATTACH_REUSEPORT_CBPF rc = setsockopt(fd, SOL_SOCKET, SO_ATTACH_REUSEPORT_CBPF, prog, sizeof(*prog)); errstr = sprintrc(rc); - printf("setsockopt(%d, SOL_SOCKET, SO_ATTACH_REUSEPORT_CBPF" - ", {len=%u, filter=", fd, prog->len); + printf("setsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", {len=%u, filter=", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_ATTACH_REUSEPORT_CBPF), + prog->len); print_filter(); printf("}, %u) = %s\n", (unsigned int) sizeof(*prog), errstr); #endif @@ -150,28 +198,30 @@ main(void) /* query sock_filter program length -> ARRAY_SIZE(bpf_filter) */ *len = 0; rc = get_filter(fd, efault, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p" - ", [0->%u]) = %s\n", - fd, efault, (unsigned int) ARRAY_SIZE(bpf_filter), errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, [0->%u]) " + "= %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), efault, + (unsigned int) ARRAY_SIZE(bpf_filter), errstr); /* getsockopt optlen is too small - EINVAL */ *len = ARRAY_SIZE(bpf_filter) - 1; rc = get_filter(fd, efault, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p" - ", [%u]) = %s\n", - fd, efault, (unsigned int) ARRAY_SIZE(bpf_filter) - 1, errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, [%u]) = %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), efault, + (unsigned int) ARRAY_SIZE(bpf_filter) - 1, errstr); /* getsockopt optval EFAULT */ *len = ARRAY_SIZE(bpf_filter); rc = get_filter(fd, filter + 1, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p" - ", [%u]) = %s\n", fd, filter + 1, - (unsigned int) ARRAY_SIZE(bpf_filter), errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, [%u]) = %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), + filter + 1, (unsigned int) ARRAY_SIZE(bpf_filter), errstr); /* getsockopt optlen is too large - truncated */ *len = ARRAY_SIZE(bpf_filter) + 1; rc = get_filter(fd, filter, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, ", fd); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", ", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER)); print_filter(); printf(", [%u->%d]) = %s\n", (unsigned int) ARRAY_SIZE(bpf_filter) + 1, *len, errstr); diff --git a/tests-m32/strace-V.test b/tests-m32/strace-V.test index eb05e865..a0274c28 100755 --- a/tests-m32/strace-V.test +++ b/tests-m32/strace-V.test @@ -38,7 +38,8 @@ config_year=$(getstr COPYRIGHT_YEAR) exit 1 } -option_unwind=$(getoption USE_LIBUNWIND " stack-unwind") +option_unwind=$(getoption ENABLE_STACKTRACE \ + " stack-trace=$(getstr USE_UNWINDER)") option_demangle=$(getoption USE_DEMANGLE " stack-demangle") option_m32= diff --git a/tests-m32/strace-k-demangle.expected b/tests-m32/strace-k-demangle.expected new file mode 100644 index 00000000..e42e78fc --- /dev/null +++ b/tests-m32/strace-k-demangle.expected @@ -0,0 +1 @@ +(__kernel_vsyscall )?(__)?getpid ns::f3\(int\) ns::f2\(int\) ns::f1\(int\) ns::f0\(int\) main diff --git a/tests-m32/strace-k-demangle.test b/tests-m32/strace-k-demangle.test index 1616449f..106a7004 100755 --- a/tests-m32/strace-k-demangle.test +++ b/tests-m32/strace-k-demangle.test @@ -2,6 +2,5 @@ # Check strace -k symbol names demangling. test_prog=../stack-fcall-mangled -expected='getpid ns::f3(int) ns::f2(int) ns::f1(int) ns::f0(int) main ' . "${srcdir=.}"/strace-k.test diff --git a/tests-m32/strace-k.expected b/tests-m32/strace-k.expected new file mode 100644 index 00000000..840d648f --- /dev/null +++ b/tests-m32/strace-k.expected @@ -0,0 +1 @@ +(__kernel_vsyscall )?(__)?getpid f3 f2 f1 f0 main diff --git a/tests-m32/strace-k.test b/tests-m32/strace-k.test index 2a21a9db..fb1e2b3e 100755 --- a/tests-m32/strace-k.test +++ b/tests-m32/strace-k.test @@ -4,7 +4,7 @@ # # Copyright (c) 2014 Masatake YAMATO # Copyright (c) 2014-2016 Dmitry V. Levin -# 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 @@ -35,20 +35,41 @@ [ -f /proc/self/maps ] || framework_skip_ '/proc/self/maps is not available' +check_prog grep check_prog sed check_prog tr -: ${test_prog=../stack-fcall} -: ${expected='getpid f3 f2 f1 f0 main '} - -run_prog "$test_prog" +run_prog "${test_prog=../stack-fcall}" run_strace -e getpid -k $args -result=$(sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | - tr '\n' ' ') +expected="$srcdir/$NAME.expected" +sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | + tr '\n' ' ' |sed 's/ $//' > "$OUT" + +LC_ALL=C grep -E -x -f "$expected" < "$OUT" > /dev/null || { + cat >&2 <<__EOF__ +Failed pattern of expected output: $(cat "$expected") +Actual output: $(cat "$OUT") +__EOF__ + + pattern= + case "$STRACE_ARCH" in + aarch64|i386|ppc*|s390*|sparc*|x32|x86*) + # These architectures are supported by elfutils libdw, + # see grep '\.*\' elfutils/backends + ;; + arm) pattern='No DWARF information found' + # This is also supported by elfutils libdw + # but the latter needs debuginfo for unwinding. + ;; + *) pattern='Unwinding not supported for this architecture' + ;; + esac + if [ -n "$pattern" ] && + LC_ALL=C grep -x " > $pattern" < "$LOG" > /dev/null; then + cat < "$LOG" >&2 + skip_ "stack tracing is not fully supported on $STRACE_ARCH yet" + fi -test "$result" = "$expected" || { - echo "expected: \"$expected\"" - echo "result: \"$result\"" dump_log_and_fail_with "$STRACE $args output mismatch" } diff --git a/tests-m32/struct_flock.c b/tests-m32/struct_flock.c deleted file mode 100644 index 428c038d..00000000 --- a/tests-m32/struct_flock.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 -#include -#include -#include -#include "flock.h" - -#define FILE_LEN 4096 - -#define TEST_FLOCK_EINVAL(cmd) test_flock_einval(cmd, #cmd) - -#ifdef HAVE_TYPEOF -# define TYPEOF_FLOCK_OFF_T typeof(((struct_kernel_flock *) NULL)->l_len) -#else -# define TYPEOF_FLOCK_OFF_T off_t -#endif - -static long -invoke_test_syscall(const unsigned int cmd, void *const p) -{ - const kernel_ulong_t fd = F8ILL_KULONG_MASK; - const kernel_ulong_t op = F8ILL_KULONG_MASK | cmd; - - return syscall(TEST_SYSCALL_NR, fd, op, (unsigned long) p); -} - -static void -test_flock_einval(const int cmd, const char *name) -{ - struct_kernel_flock fl = { - .l_type = F_RDLCK, - .l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL, - .l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL - }; - long rc = invoke_test_syscall(cmd, &fl); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc)); -} - -static void -test_flock(void) -{ - TEST_FLOCK_EINVAL(F_SETLK); - TEST_FLOCK_EINVAL(F_SETLKW); - - struct_kernel_flock fl = { - .l_type = F_RDLCK, - .l_len = FILE_LEN - }; - long rc = invoke_test_syscall(F_SETLK, &fl); - printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc)); - if (rc) - return; - - invoke_test_syscall(F_GETLK, &fl); - printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(F_SETLK, &fl); - printf("%s(0, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -} - -static void -create_sample(void) -{ - char fname[] = TEST_SYSCALL_STR "_XXXXXX"; - - (void) close(0); - if (mkstemp(fname)) - perror_msg_and_fail("mkstemp: %s", fname); - if (unlink(fname)) - perror_msg_and_fail("unlink: %s", fname); - if (ftruncate(0, FILE_LEN)) - perror_msg_and_fail("ftruncate"); -} diff --git a/tests-m32/test_nlattr.h b/tests-m32/test_nlattr.h index 43f467ff..9038c0e2 100644 --- a/tests-m32/test_nlattr.h +++ b/tests-m32/test_nlattr.h @@ -1,5 +1,5 @@ /* - * 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 @@ -51,15 +51,17 @@ init_nlattr(struct nlattr *const nla, } static void -print_nlattr(const unsigned int nla_len, const char *const nla_type) +print_nlattr(const unsigned int nla_len, const char *const nla_type, bool add_data) { - printf(", {{nla_len=%u, nla_type=%s}, ", nla_len, nla_type); + printf(", %s{{nla_len=%u, nla_type=%s}, ", + add_data ? "[" : "", nla_len, nla_type); } -#define TEST_NLATTR_(fd_, nlh0_, hdrlen_, \ +#define TEST_NLATTR_EX_(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, nla_type_str_, \ - nla_data_len_, src_, slen_, ...) \ + nla_data_len_, nla_total_len_, \ + src_, slen_, ...) \ do { \ struct nlmsghdr *const nlh = \ (nlh0_) - (NLA_HDRLEN + (slen_)); \ @@ -68,7 +70,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) const unsigned int nla_len = \ NLA_HDRLEN + (nla_data_len_); \ const unsigned int msg_len = \ - NLMSG_SPACE(hdrlen_) + nla_len; \ + NLMSG_SPACE(hdrlen_) + NLA_HDRLEN + (nla_total_len_); \ \ (init_msg_)(nlh, msg_len); \ init_nlattr(TEST_NLATTR_nla, nla_len, (nla_type_), \ @@ -80,14 +82,28 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) \ printf("sendto(%d, {", (fd_)); \ (print_msg_)(msg_len); \ - print_nlattr(nla_len, (nla_type_str_)); \ + print_nlattr(nla_len, (nla_type_str_), \ + (nla_total_len_) > (nla_data_len_)); \ \ { __VA_ARGS__; } \ \ + if ((nla_total_len_) > (nla_data_len_)) \ + printf("]"); \ + \ printf("}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", \ msg_len, errstr); \ } while (0) +#define TEST_NLATTR_(fd_, nlh0_, hdrlen_, \ + init_msg_, print_msg_, \ + nla_type_, nla_type_str_, \ + nla_data_len_, src_, slen_, ...) \ + TEST_NLATTR_EX_((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + (nla_type_), (nla_type_str_), \ + (nla_data_len_), (nla_data_len_), \ + (src_), (slen_), __VA_ARGS__) + #define TEST_NLATTR(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, \ @@ -106,11 +122,12 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) sizeof(obj_) - 1 > DEFAULT_STRLEN \ ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \ /* len < sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ - (init_msg_), (print_msg_), \ - (nla_type_), (nla_type_str_), \ - plen, (pattern_), plen, \ - (fallback_func)((pattern_), plen)); \ + if (plen > 0) \ + TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + (nla_type_), (nla_type_str_), \ + plen, (pattern_), plen, \ + (fallback_func)((pattern_), plen)); \ /* short read of sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ @@ -170,7 +187,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ printf("]")); \ /* short read of sizeof(obj_) */ \ @@ -183,11 +200,11 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf(", %p]", \ + printf(", ... /* %p */]", \ RTA_DATA(NLMSG_ATTR(nlh, (hdrlen_))) \ - + sizeof((obj_)[0]))); \ + + sizeof(obj_) - sizeof((obj_)[0]))); \ /* sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ @@ -198,7 +215,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_); ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ printf("]")); \ } while (0) @@ -206,21 +223,23 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) #define TEST_NESTED_NLATTR_OBJECT_EX_(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, nla_type_str_, \ - pattern_, obj_, depth_, ...) \ + pattern_, obj_, fallback_func, \ + depth_, ...) \ do { \ const unsigned int plen = \ sizeof(obj_) - 1 > DEFAULT_STRLEN \ ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \ /* len < sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ - (hdrlen_) + NLA_HDRLEN * depth_, \ - (init_msg_), (print_msg_), \ - (nla_type_), (nla_type_str_), \ - plen, (pattern_), plen, \ - print_quoted_hex((pattern_), plen); \ - size_t i; \ - for (i = 0; i < depth_; ++i) \ - printf("}")); \ + if (plen > 0) \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ + (init_msg_), (print_msg_), \ + (nla_type_), (nla_type_str_), \ + plen, (pattern_), plen, \ + (fallback_func)((pattern_), plen); \ + size_t i; \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ /* short read of sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ (hdrlen_) + NLA_HDRLEN * depth_, \ @@ -252,7 +271,8 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) TEST_NESTED_NLATTR_OBJECT_EX_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ - (pattern_), (obj_), (depth_), \ + (pattern_), (obj_), \ + print_quoted_hex, (depth_), \ __VA_ARGS__) #define TEST_NESTED_NLATTR_OBJECT(fd_, nlh0_, hdrlen_, \ @@ -261,27 +281,30 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) TEST_NESTED_NLATTR_OBJECT_EX_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ - (pattern_), (obj_), 1, \ + (pattern_), (obj_), \ + print_quoted_hex, 1, \ __VA_ARGS__) -#define TEST_NESTED_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \ +#define TEST_NESTED_NLATTR_ARRAY_EX(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ - nla_type_, pattern_, obj_, print_elem_)\ + nla_type_, pattern_, obj_, depth_, \ + print_elem_) \ do { \ const unsigned int plen = \ sizeof((obj_)[0]) - 1 > DEFAULT_STRLEN \ ? DEFAULT_STRLEN : (int) sizeof((obj_)[0]) - 1; \ /* len < sizeof((obj_)[0]) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ plen, (pattern_), plen, \ print_quoted_hex((pattern_), plen); \ - printf("}")); \ + for (size_t i = 0; i < depth_; ++i) \ + printf("}")); \ /* sizeof((obj_)[0]) < len < sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ sizeof(obj_) - 1, \ @@ -290,12 +313,14 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf("]}")); \ + printf("]"); \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ /* short read of sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ sizeof(obj_), \ @@ -304,14 +329,16 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf(", %p]}", \ + printf(", ... /* %p */]", \ RTA_DATA(TEST_NLATTR_nla) \ - + sizeof((obj_)[0]))); \ + + sizeof(obj_) - sizeof((obj_)[0])); \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ /* sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ sizeof(obj_), \ @@ -320,7 +347,17 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_); ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf("]}")); \ + printf("]"); \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ } while (0) + +#define TEST_NESTED_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \ + init_msg_, print_msg_, \ + nla_type_, pattern_, obj_, print_elem_)\ + TEST_NESTED_NLATTR_ARRAY_EX((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + nla_type_, (pattern_), (obj_), 1, \ + (print_elem_)) diff --git a/tests-m32/tests.h b/tests-m32/tests.h index 3bf454dd..248e341c 100644 --- a/tests-m32/tests.h +++ b/tests-m32/tests.h @@ -62,6 +62,14 @@ # define VERBOSE 0 #endif +/* xlat verbosity defaults */ +#ifndef XLAT_RAW +# define XLAT_RAW 0 +#endif +#ifndef XLAT_VERBOSE +# define XLAT_VERBOSE 0 +#endif + #ifndef DEFAULT_STRLEN /* Default maximum # of bytes printed in printstr et al. */ # define DEFAULT_STRLEN 32 @@ -109,6 +117,9 @@ void *tail_alloc(const size_t) void *tail_memdup(const void *, const size_t) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((2)); +#define midtail_alloc(after_, before_) \ + ((void *) ((char *) tail_alloc(((before_) + (after_))) + (before_))) + /* * Allocate an object of the specified type at the end * of a mapped memory region. @@ -163,6 +174,12 @@ void print_quoted_string(const char *); */ void print_quoted_cstring(const char *str, size_t size); +/* + * Print a NUL-terminated string `str' of length up to `size' + * in a quoted form. + */ +void print_quoted_stringn(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); @@ -277,7 +294,6 @@ f8ill_ptr_to_kulong(const void *const ptr) #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 diff --git a/tests-m32/trace_personality_32.gen.test b/tests-m32/trace_personality_32.gen.test new file mode 100755 index 00000000..a5f5c7d1 --- /dev/null +++ b/tests-m32/trace_personality_32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_32 +qualify_personality.sh 32 'getcwd' 'fsync-y'); do not edit. +set -- 32 'getcwd' 'fsync-y' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-m32/trace_personality_32.in b/tests-m32/trace_personality_32.in new file mode 100644 index 00000000..9da47c1a --- /dev/null +++ b/tests-m32/trace_personality_32.in @@ -0,0 +1 @@ +getcwd -a18 diff --git a/tests-m32/trace_personality_64.gen.test b/tests-m32/trace_personality_64.gen.test new file mode 100755 index 00000000..5b961efa --- /dev/null +++ b/tests-m32/trace_personality_64.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_64 +qualify_personality.sh 64 'getcwd' 'fsync-y'); do not edit. +set -- 64 'getcwd' 'fsync-y' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-m32/trace_personality_64.in b/tests-m32/trace_personality_64.in new file mode 100644 index 00000000..9da47c1a --- /dev/null +++ b/tests-m32/trace_personality_64.in @@ -0,0 +1 @@ +getcwd -a18 diff --git a/tests-m32/trace_personality_regex_32.gen.test b/tests-m32/trace_personality_regex_32.gen.test new file mode 100755 index 00000000..f2800d2a --- /dev/null +++ b/tests-m32/trace_personality_regex_32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_regex_32 +qualify_personality.sh 32 '/clock.*' 'times|fcntl.*'); do not edit. +set -- 32 '/clock.*' 'times|fcntl.*' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-m32/trace_personality_regex_32.in b/tests-m32/trace_personality_regex_32.in new file mode 100755 index 00000000..864de290 --- /dev/null +++ b/tests-m32/trace_personality_regex_32.in @@ -0,0 +1,3 @@ +clock_adjtime -a37 +clock_nanosleep +clock_xettime -a36 diff --git a/tests-m32/trace_personality_regex_64.gen.test b/tests-m32/trace_personality_regex_64.gen.test new file mode 100755 index 00000000..4b19f1b0 --- /dev/null +++ b/tests-m32/trace_personality_regex_64.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_regex_64 +qualify_personality.sh 64 '/clock.*' 'times|fcntl.*'); do not edit. +set -- 64 '/clock.*' 'times|fcntl.*' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-m32/trace_personality_regex_64.in b/tests-m32/trace_personality_regex_64.in new file mode 100755 index 00000000..864de290 --- /dev/null +++ b/tests-m32/trace_personality_regex_64.in @@ -0,0 +1,3 @@ +clock_adjtime -a37 +clock_nanosleep +clock_xettime -a36 diff --git a/tests-m32/trace_personality_regex_x32.gen.test b/tests-m32/trace_personality_regex_x32.gen.test new file mode 100755 index 00000000..7f416712 --- /dev/null +++ b/tests-m32/trace_personality_regex_x32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_regex_x32 +qualify_personality.sh x32 '/clock.*' 'times|fcntl.*'); do not edit. +set -- x32 '/clock.*' 'times|fcntl.*' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-m32/trace_personality_regex_x32.in b/tests-m32/trace_personality_regex_x32.in new file mode 100755 index 00000000..864de290 --- /dev/null +++ b/tests-m32/trace_personality_regex_x32.in @@ -0,0 +1,3 @@ +clock_adjtime -a37 +clock_nanosleep +clock_xettime -a36 diff --git a/tests-m32/trace_personality_x32.gen.test b/tests-m32/trace_personality_x32.gen.test new file mode 100755 index 00000000..724499ae --- /dev/null +++ b/tests-m32/trace_personality_x32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_x32 +qualify_personality.sh x32 'getcwd' 'fsync-y'); do not edit. +set -- x32 'getcwd' 'fsync-y' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-m32/trace_personality_x32.in b/tests-m32/trace_personality_x32.in new file mode 100644 index 00000000..9da47c1a --- /dev/null +++ b/tests-m32/trace_personality_x32.in @@ -0,0 +1 @@ +getcwd -a18 diff --git a/tests-m32/xet_thread_area_x86.c b/tests-m32/xet_thread_area_x86.c index 36591ec6..d5be69f7 100644 --- a/tests-m32/xet_thread_area_x86.c +++ b/tests-m32/xet_thread_area_x86.c @@ -152,9 +152,9 @@ get_thread_area(kernel_ulong_t ptr_val, const char *ptr_str, bool valid, int main(void) { - struct user_desc *ta1 = tail_alloc(sizeof(*ta1)); - struct user_desc *ta2 = tail_alloc(sizeof(*ta2)); - unsigned *bogus_entry_number = tail_alloc(sizeof(*bogus_entry_number)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct user_desc, ta1); + TAIL_ALLOC_OBJECT_CONST_PTR(struct user_desc, ta2); + TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, bogus_entry_number); long set_rc = -1; diff --git a/tests-mx32/Makefile b/tests-mx32/Makefile index c9275ea3..16a8752d 100644 --- a/tests-mx32/Makefile +++ b/tests-mx32/Makefile @@ -139,7 +139,11 @@ DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \ 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) \ + block_reset_raise_run$(EXEEXT) bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-v$(EXEEXT) bpf-success$(EXEEXT) \ + bpf-success-v$(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) \ @@ -147,7 +151,8 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(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) \ @@ -159,18 +164,19 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + prctl-spec-inject$(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 @@ -181,7 +187,10 @@ 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_demangle.m4 $(top_srcdir)/m4/st_libdw.m4 \ + $(top_srcdir)/m4/st_libunwind.m4 \ $(top_srcdir)/m4/st_save_restore_var.m4 \ + $(top_srcdir)/m4/st_stacktrace.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) \ @@ -223,18 +232,25 @@ am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(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) \ + adjtimex$(EXEEXT) aio$(EXEEXT) aio_pgetevents$(EXEEXT) \ + alarm$(EXEEXT) bpf$(EXEEXT) bpf-v$(EXEEXT) \ + bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-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) \ + fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ + fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ @@ -255,49 +271,62 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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_evdev$(EXEEXT) ioctl_inotify$(EXEEXT) \ + ioctl_kvm_run$(EXEEXT) ioctl_loop$(EXEEXT) ioctl_mtd$(EXEEXT) \ + ioctl_rtc$(EXEEXT) ioctl_perf$(EXEEXT) ioctl_ptp$(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) \ + ipc_msg$(EXEEXT) ipc_msg-Xabbrev$(EXEEXT) \ + ipc_msg-Xraw$(EXEEXT) ipc_msg-Xverbose$(EXEEXT) \ + ipc_msgbuf$(EXEEXT) ipc_msgbuf-Xabbrev$(EXEEXT) \ + ipc_msgbuf-Xraw$(EXEEXT) ipc_msgbuf-Xverbose$(EXEEXT) \ + ipc_sem$(EXEEXT) ipc_sem-Xabbrev$(EXEEXT) \ + ipc_sem-Xraw$(EXEEXT) ipc_sem-Xverbose$(EXEEXT) \ + ipc_shm$(EXEEXT) ipc_shm-Xabbrev$(EXEEXT) \ + ipc_shm-Xraw$(EXEEXT) ipc_shm-Xverbose$(EXEEXT) kcmp$(EXEEXT) \ + kcmp-y$(EXEEXT) kern_features$(EXEEXT) \ + kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) keyctl$(EXEEXT) \ + keyctl-Xabbrev$(EXEEXT) keyctl-Xraw$(EXEEXT) \ + keyctl-Xverbose$(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) \ + mmap-Xabbrev$(EXEEXT) mmap-Xraw$(EXEEXT) \ + mmap-Xverbose$(EXEEXT) mmap64$(EXEEXT) mmap64-Xabbrev$(EXEEXT) \ + mmap64-Xraw$(EXEEXT) mmap64-Xverbose$(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) \ + mount-Xabbrev$(EXEEXT) mount-Xraw$(EXEEXT) \ + mount-Xverbose$(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_af_spec$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \ + nlattr_ifla_linkinfo$(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) \ @@ -309,11 +338,14 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + old_mmap-P$(EXEEXT) old_mmap-v-none$(EXEEXT) \ + old_mmap-Xabbrev$(EXEEXT) old_mmap-Xraw$(EXEEXT) \ + old_mmap-Xverbose$(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) \ + personality-Xabbrev$(EXEEXT) personality-Xraw$(EXEEXT) \ + personality-Xverbose$(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) \ @@ -361,7 +393,10 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + so_peercred$(EXEEXT) so_peercred-Xabbrev$(EXEEXT) \ + so_peercred-Xraw$(EXEEXT) so_peercred-Xverbose$(EXEEXT) \ + sock_filter-v$(EXEEXT) sock_filter-v-Xabbrev$(EXEEXT) \ + sock_filter-v-Xraw$(EXEEXT) sock_filter-v-Xverbose$(EXEEXT) \ socketcall$(EXEEXT) sockopt-sol_netlink$(EXEEXT) \ splice$(EXEEXT) stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \ statfs64$(EXEEXT) statx$(EXEEXT) swap$(EXEEXT) \ @@ -418,6 +453,10 @@ aio_SOURCES = aio.c aio_OBJECTS = aio.$(OBJEXT) aio_LDADD = $(LDADD) aio_DEPENDENCIES = libtests.a +aio_pgetevents_SOURCES = aio_pgetevents.c +aio_pgetevents_OBJECTS = aio_pgetevents.$(OBJEXT) +aio_pgetevents_LDADD = $(LDADD) +aio_pgetevents_DEPENDENCIES = libtests.a alarm_SOURCES = alarm.c alarm_OBJECTS = alarm.$(OBJEXT) alarm_LDADD = $(LDADD) @@ -449,6 +488,33 @@ bpf_SOURCES = bpf.c bpf_OBJECTS = bpf.$(OBJEXT) bpf_LDADD = $(LDADD) bpf_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_SOURCES = bpf-obj_get_info_by_fd.c +bpf_obj_get_info_by_fd_OBJECTS = bpf-obj_get_info_by_fd.$(OBJEXT) +bpf_obj_get_info_by_fd_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_SOURCES = bpf-obj_get_info_by_fd-prog.c +bpf_obj_get_info_by_fd_prog_OBJECTS = \ + bpf-obj_get_info_by_fd-prog.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_v_SOURCES = \ + bpf-obj_get_info_by_fd-prog-v.c +bpf_obj_get_info_by_fd_prog_v_OBJECTS = \ + bpf-obj_get_info_by_fd-prog-v.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_v_SOURCES = bpf-obj_get_info_by_fd-v.c +bpf_obj_get_info_by_fd_v_OBJECTS = bpf-obj_get_info_by_fd-v.$(OBJEXT) +bpf_obj_get_info_by_fd_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_v_DEPENDENCIES = libtests.a +bpf_success_SOURCES = bpf-success.c +bpf_success_OBJECTS = bpf-success.$(OBJEXT) +bpf_success_LDADD = $(LDADD) +bpf_success_DEPENDENCIES = libtests.a +bpf_success_v_SOURCES = bpf-success-v.c +bpf_success_v_OBJECTS = bpf-success-v.$(OBJEXT) +bpf_success_v_LDADD = $(LDADD) +bpf_success_v_DEPENDENCIES = libtests.a bpf_v_SOURCES = bpf-v.c bpf_v_OBJECTS = bpf-v.$(OBJEXT) bpf_v_LDADD = $(LDADD) @@ -616,6 +682,18 @@ fanotify_mark_SOURCES = fanotify_mark.c fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT) fanotify_mark_LDADD = $(LDADD) fanotify_mark_DEPENDENCIES = libtests.a +fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c +fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) +fanotify_mark_Xabbrev_LDADD = $(LDADD) +fanotify_mark_Xabbrev_DEPENDENCIES = libtests.a +fanotify_mark_Xraw_SOURCES = fanotify_mark-Xraw.c +fanotify_mark_Xraw_OBJECTS = fanotify_mark-Xraw.$(OBJEXT) +fanotify_mark_Xraw_LDADD = $(LDADD) +fanotify_mark_Xraw_DEPENDENCIES = libtests.a +fanotify_mark_Xverbose_SOURCES = fanotify_mark-Xverbose.c +fanotify_mark_Xverbose_OBJECTS = fanotify_mark-Xverbose.$(OBJEXT) +fanotify_mark_Xverbose_LDADD = $(LDADD) +fanotify_mark_Xverbose_DEPENDENCIES = libtests.a fchdir_SOURCES = fchdir.c fchdir_OBJECTS = fchdir.$(OBJEXT) fchdir_LDADD = $(LDADD) @@ -895,6 +973,10 @@ 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_inotify_SOURCES = ioctl_inotify.c +ioctl_inotify_OBJECTS = ioctl_inotify.$(OBJEXT) +ioctl_inotify_LDADD = $(LDADD) +ioctl_inotify_DEPENDENCIES = libtests.a ioctl_kvm_run_SOURCES = ioctl_kvm_run.c ioctl_kvm_run_OBJECTS = ioctl_kvm_run.$(OBJEXT) ioctl_kvm_run_LDADD = $(LDADD) @@ -919,6 +1001,18 @@ ioctl_nsfs_SOURCES = ioctl_nsfs.c ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT) ioctl_nsfs_LDADD = $(LDADD) ioctl_nsfs_DEPENDENCIES = libtests.a +ioctl_perf_SOURCES = ioctl_perf.c +ioctl_perf_OBJECTS = ioctl_perf.$(OBJEXT) +ioctl_perf_LDADD = $(LDADD) +ioctl_perf_DEPENDENCIES = libtests.a +ioctl_perf_success_SOURCES = ioctl_perf-success.c +ioctl_perf_success_OBJECTS = ioctl_perf-success.$(OBJEXT) +ioctl_perf_success_LDADD = $(LDADD) +ioctl_perf_success_DEPENDENCIES = libtests.a +ioctl_ptp_SOURCES = ioctl_ptp.c +ioctl_ptp_OBJECTS = ioctl_ptp.$(OBJEXT) +ioctl_ptp_LDADD = $(LDADD) +ioctl_ptp_DEPENDENCIES = libtests.a ioctl_rtc_SOURCES = ioctl_rtc.c ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT) ioctl_rtc_LDADD = $(LDADD) @@ -975,18 +1069,66 @@ ipc_msg_SOURCES = ipc_msg.c ipc_msg_OBJECTS = ipc_msg.$(OBJEXT) ipc_msg_LDADD = $(LDADD) ipc_msg_DEPENDENCIES = libtests.a +ipc_msg_Xabbrev_SOURCES = ipc_msg-Xabbrev.c +ipc_msg_Xabbrev_OBJECTS = ipc_msg-Xabbrev.$(OBJEXT) +ipc_msg_Xabbrev_LDADD = $(LDADD) +ipc_msg_Xabbrev_DEPENDENCIES = libtests.a +ipc_msg_Xraw_SOURCES = ipc_msg-Xraw.c +ipc_msg_Xraw_OBJECTS = ipc_msg-Xraw.$(OBJEXT) +ipc_msg_Xraw_LDADD = $(LDADD) +ipc_msg_Xraw_DEPENDENCIES = libtests.a +ipc_msg_Xverbose_SOURCES = ipc_msg-Xverbose.c +ipc_msg_Xverbose_OBJECTS = ipc_msg-Xverbose.$(OBJEXT) +ipc_msg_Xverbose_LDADD = $(LDADD) +ipc_msg_Xverbose_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_msgbuf_Xabbrev_SOURCES = ipc_msgbuf-Xabbrev.c +ipc_msgbuf_Xabbrev_OBJECTS = ipc_msgbuf-Xabbrev.$(OBJEXT) +ipc_msgbuf_Xabbrev_LDADD = $(LDADD) +ipc_msgbuf_Xabbrev_DEPENDENCIES = libtests.a +ipc_msgbuf_Xraw_SOURCES = ipc_msgbuf-Xraw.c +ipc_msgbuf_Xraw_OBJECTS = ipc_msgbuf-Xraw.$(OBJEXT) +ipc_msgbuf_Xraw_LDADD = $(LDADD) +ipc_msgbuf_Xraw_DEPENDENCIES = libtests.a +ipc_msgbuf_Xverbose_SOURCES = ipc_msgbuf-Xverbose.c +ipc_msgbuf_Xverbose_OBJECTS = ipc_msgbuf-Xverbose.$(OBJEXT) +ipc_msgbuf_Xverbose_LDADD = $(LDADD) +ipc_msgbuf_Xverbose_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_sem_Xabbrev_SOURCES = ipc_sem-Xabbrev.c +ipc_sem_Xabbrev_OBJECTS = ipc_sem-Xabbrev.$(OBJEXT) +ipc_sem_Xabbrev_LDADD = $(LDADD) +ipc_sem_Xabbrev_DEPENDENCIES = libtests.a +ipc_sem_Xraw_SOURCES = ipc_sem-Xraw.c +ipc_sem_Xraw_OBJECTS = ipc_sem-Xraw.$(OBJEXT) +ipc_sem_Xraw_LDADD = $(LDADD) +ipc_sem_Xraw_DEPENDENCIES = libtests.a +ipc_sem_Xverbose_SOURCES = ipc_sem-Xverbose.c +ipc_sem_Xverbose_OBJECTS = ipc_sem-Xverbose.$(OBJEXT) +ipc_sem_Xverbose_LDADD = $(LDADD) +ipc_sem_Xverbose_DEPENDENCIES = libtests.a ipc_shm_SOURCES = ipc_shm.c ipc_shm_OBJECTS = ipc_shm.$(OBJEXT) ipc_shm_LDADD = $(LDADD) ipc_shm_DEPENDENCIES = libtests.a +ipc_shm_Xabbrev_SOURCES = ipc_shm-Xabbrev.c +ipc_shm_Xabbrev_OBJECTS = ipc_shm-Xabbrev.$(OBJEXT) +ipc_shm_Xabbrev_LDADD = $(LDADD) +ipc_shm_Xabbrev_DEPENDENCIES = libtests.a +ipc_shm_Xraw_SOURCES = ipc_shm-Xraw.c +ipc_shm_Xraw_OBJECTS = ipc_shm-Xraw.$(OBJEXT) +ipc_shm_Xraw_LDADD = $(LDADD) +ipc_shm_Xraw_DEPENDENCIES = libtests.a +ipc_shm_Xverbose_SOURCES = ipc_shm-Xverbose.c +ipc_shm_Xverbose_OBJECTS = ipc_shm-Xverbose.$(OBJEXT) +ipc_shm_Xverbose_LDADD = $(LDADD) +ipc_shm_Xverbose_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) @@ -1015,6 +1157,18 @@ keyctl_SOURCES = keyctl.c keyctl_OBJECTS = keyctl.$(OBJEXT) keyctl_LDADD = $(LDADD) keyctl_DEPENDENCIES = libtests.a +keyctl_Xabbrev_SOURCES = keyctl-Xabbrev.c +keyctl_Xabbrev_OBJECTS = keyctl-Xabbrev.$(OBJEXT) +keyctl_Xabbrev_LDADD = $(LDADD) +keyctl_Xabbrev_DEPENDENCIES = libtests.a +keyctl_Xraw_SOURCES = keyctl-Xraw.c +keyctl_Xraw_OBJECTS = keyctl-Xraw.$(OBJEXT) +keyctl_Xraw_LDADD = $(LDADD) +keyctl_Xraw_DEPENDENCIES = libtests.a +keyctl_Xverbose_SOURCES = keyctl-Xverbose.c +keyctl_Xverbose_OBJECTS = keyctl-Xverbose.$(OBJEXT) +keyctl_Xverbose_LDADD = $(LDADD) +keyctl_Xverbose_DEPENDENCIES = libtests.a kill_SOURCES = kill.c kill_OBJECTS = kill.$(OBJEXT) kill_LDADD = $(LDADD) @@ -1122,10 +1276,34 @@ mmap_SOURCES = mmap.c mmap_OBJECTS = mmap.$(OBJEXT) mmap_LDADD = $(LDADD) mmap_DEPENDENCIES = libtests.a +mmap_Xabbrev_SOURCES = mmap-Xabbrev.c +mmap_Xabbrev_OBJECTS = mmap-Xabbrev.$(OBJEXT) +mmap_Xabbrev_LDADD = $(LDADD) +mmap_Xabbrev_DEPENDENCIES = libtests.a +mmap_Xraw_SOURCES = mmap-Xraw.c +mmap_Xraw_OBJECTS = mmap-Xraw.$(OBJEXT) +mmap_Xraw_LDADD = $(LDADD) +mmap_Xraw_DEPENDENCIES = libtests.a +mmap_Xverbose_SOURCES = mmap-Xverbose.c +mmap_Xverbose_OBJECTS = mmap-Xverbose.$(OBJEXT) +mmap_Xverbose_LDADD = $(LDADD) +mmap_Xverbose_DEPENDENCIES = libtests.a mmap64_SOURCES = mmap64.c mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT) mmap64_LDADD = $(LDADD) mmap64_DEPENDENCIES = libtests.a +mmap64_Xabbrev_SOURCES = mmap64-Xabbrev.c +mmap64_Xabbrev_OBJECTS = mmap64_Xabbrev-mmap64-Xabbrev.$(OBJEXT) +mmap64_Xabbrev_LDADD = $(LDADD) +mmap64_Xabbrev_DEPENDENCIES = libtests.a +mmap64_Xraw_SOURCES = mmap64-Xraw.c +mmap64_Xraw_OBJECTS = mmap64_Xraw-mmap64-Xraw.$(OBJEXT) +mmap64_Xraw_LDADD = $(LDADD) +mmap64_Xraw_DEPENDENCIES = libtests.a +mmap64_Xverbose_SOURCES = mmap64-Xverbose.c +mmap64_Xverbose_OBJECTS = mmap64_Xverbose-mmap64-Xverbose.$(OBJEXT) +mmap64_Xverbose_LDADD = $(LDADD) +mmap64_Xverbose_DEPENDENCIES = libtests.a mmsg_SOURCES = mmsg.c mmsg_OBJECTS = mmsg.$(OBJEXT) mmsg_LDADD = $(LDADD) @@ -1150,6 +1328,18 @@ mount_SOURCES = mount.c mount_OBJECTS = mount.$(OBJEXT) mount_LDADD = $(LDADD) mount_DEPENDENCIES = libtests.a +mount_Xabbrev_SOURCES = mount-Xabbrev.c +mount_Xabbrev_OBJECTS = mount-Xabbrev.$(OBJEXT) +mount_Xabbrev_LDADD = $(LDADD) +mount_Xabbrev_DEPENDENCIES = libtests.a +mount_Xraw_SOURCES = mount-Xraw.c +mount_Xraw_OBJECTS = mount-Xraw.$(OBJEXT) +mount_Xraw_LDADD = $(LDADD) +mount_Xraw_DEPENDENCIES = libtests.a +mount_Xverbose_SOURCES = mount-Xverbose.c +mount_Xverbose_OBJECTS = mount-Xverbose.$(OBJEXT) +mount_Xverbose_LDADD = $(LDADD) +mount_Xverbose_DEPENDENCIES = libtests.a move_pages_SOURCES = move_pages.c move_pages_OBJECTS = move_pages.$(OBJEXT) move_pages_LDADD = $(LDADD) @@ -1353,10 +1543,18 @@ nlattr_ifinfomsg_SOURCES = nlattr_ifinfomsg.c nlattr_ifinfomsg_OBJECTS = nlattr_ifinfomsg.$(OBJEXT) nlattr_ifinfomsg_LDADD = $(LDADD) nlattr_ifinfomsg_DEPENDENCIES = libtests.a +nlattr_ifla_af_spec_SOURCES = nlattr_ifla_af_spec.c +nlattr_ifla_af_spec_OBJECTS = nlattr_ifla_af_spec.$(OBJEXT) +nlattr_ifla_af_spec_LDADD = $(LDADD) +nlattr_ifla_af_spec_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_linkinfo_SOURCES = nlattr_ifla_linkinfo.c +nlattr_ifla_linkinfo_OBJECTS = nlattr_ifla_linkinfo.$(OBJEXT) +nlattr_ifla_linkinfo_LDADD = $(LDADD) +nlattr_ifla_linkinfo_DEPENDENCIES = libtests.a nlattr_ifla_port_SOURCES = nlattr_ifla_port.c nlattr_ifla_port_OBJECTS = nlattr_ifla_port.$(OBJEXT) nlattr_ifla_port_LDADD = $(LDADD) @@ -1458,6 +1656,18 @@ 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_Xabbrev_SOURCES = old_mmap-Xabbrev.c +old_mmap_Xabbrev_OBJECTS = old_mmap-Xabbrev.$(OBJEXT) +old_mmap_Xabbrev_LDADD = $(LDADD) +old_mmap_Xabbrev_DEPENDENCIES = libtests.a +old_mmap_Xraw_SOURCES = old_mmap-Xraw.c +old_mmap_Xraw_OBJECTS = old_mmap-Xraw.$(OBJEXT) +old_mmap_Xraw_LDADD = $(LDADD) +old_mmap_Xraw_DEPENDENCIES = libtests.a +old_mmap_Xverbose_SOURCES = old_mmap-Xverbose.c +old_mmap_Xverbose_OBJECTS = old_mmap-Xverbose.$(OBJEXT) +old_mmap_Xverbose_LDADD = $(LDADD) +old_mmap_Xverbose_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) @@ -1526,6 +1736,18 @@ personality_SOURCES = personality.c personality_OBJECTS = personality.$(OBJEXT) personality_LDADD = $(LDADD) personality_DEPENDENCIES = libtests.a +personality_Xabbrev_SOURCES = personality-Xabbrev.c +personality_Xabbrev_OBJECTS = personality-Xabbrev.$(OBJEXT) +personality_Xabbrev_LDADD = $(LDADD) +personality_Xabbrev_DEPENDENCIES = libtests.a +personality_Xraw_SOURCES = personality-Xraw.c +personality_Xraw_OBJECTS = personality-Xraw.$(OBJEXT) +personality_Xraw_LDADD = $(LDADD) +personality_Xraw_DEPENDENCIES = libtests.a +personality_Xverbose_SOURCES = personality-Xverbose.c +personality_Xverbose_OBJECTS = personality-Xverbose.$(OBJEXT) +personality_Xverbose_LDADD = $(LDADD) +personality_Xverbose_DEPENDENCIES = libtests.a pipe_SOURCES = pipe.c pipe_OBJECTS = pipe.$(OBJEXT) pipe_LDADD = $(LDADD) @@ -1598,6 +1820,10 @@ prctl_securebits_SOURCES = prctl-securebits.c prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT) prctl_securebits_LDADD = $(LDADD) prctl_securebits_DEPENDENCIES = libtests.a +prctl_spec_inject_SOURCES = prctl-spec-inject.c +prctl_spec_inject_OBJECTS = prctl-spec-inject.$(OBJEXT) +prctl_spec_inject_LDADD = $(LDADD) +prctl_spec_inject_DEPENDENCIES = libtests.a prctl_tid_address_SOURCES = prctl-tid_address.c prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT) prctl_tid_address_LDADD = $(LDADD) @@ -2088,10 +2314,34 @@ so_peercred_SOURCES = so_peercred.c so_peercred_OBJECTS = so_peercred.$(OBJEXT) so_peercred_LDADD = $(LDADD) so_peercred_DEPENDENCIES = libtests.a +so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c +so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT) +so_peercred_Xabbrev_LDADD = $(LDADD) +so_peercred_Xabbrev_DEPENDENCIES = libtests.a +so_peercred_Xraw_SOURCES = so_peercred-Xraw.c +so_peercred_Xraw_OBJECTS = so_peercred-Xraw.$(OBJEXT) +so_peercred_Xraw_LDADD = $(LDADD) +so_peercred_Xraw_DEPENDENCIES = libtests.a +so_peercred_Xverbose_SOURCES = so_peercred-Xverbose.c +so_peercred_Xverbose_OBJECTS = so_peercred-Xverbose.$(OBJEXT) +so_peercred_Xverbose_LDADD = $(LDADD) +so_peercred_Xverbose_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 +sock_filter_v_Xabbrev_SOURCES = sock_filter-v-Xabbrev.c +sock_filter_v_Xabbrev_OBJECTS = sock_filter-v-Xabbrev.$(OBJEXT) +sock_filter_v_Xabbrev_LDADD = $(LDADD) +sock_filter_v_Xabbrev_DEPENDENCIES = libtests.a +sock_filter_v_Xraw_SOURCES = sock_filter-v-Xraw.c +sock_filter_v_Xraw_OBJECTS = sock_filter-v-Xraw.$(OBJEXT) +sock_filter_v_Xraw_LDADD = $(LDADD) +sock_filter_v_Xraw_DEPENDENCIES = libtests.a +sock_filter_v_Xverbose_SOURCES = sock_filter-v-Xverbose.c +sock_filter_v_Xverbose_OBJECTS = sock_filter-v-Xverbose.$(OBJEXT) +sock_filter_v_Xverbose_LDADD = $(LDADD) +sock_filter_v_Xverbose_DEPENDENCIES = libtests.a socketcall_SOURCES = socketcall.c socketcall_OBJECTS = socketcall.$(OBJEXT) socketcall_LDADD = $(LDADD) @@ -2402,45 +2652,58 @@ 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 \ + accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2456,59 +2719,64 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2526,44 +2794,57 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fallocate.c fanotify_init.c fanotify_mark.c \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2579,59 +2860,64 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2879,12 +3165,12 @@ am__set_b = \ 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 +ACLOCAL = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/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 +AUTOCONF = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing autoconf +AUTOHEADER = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing autoheader +AUTOMAKE = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing automake-1.14 AWK = gawk BUILD_EXEEXT = BUILD_OBJEXT = @@ -2905,7 +3191,7 @@ CPPFLAGS = CPPFLAGS_FOR_BUILD = CPP_FOR_BUILD = gcc -E CYGPATH_W = echo -DEB_CHANGELOGTIME = Thu, 14 Jun 2018 16:29:09 -0700 +DEB_CHANGELOGTIME = Fri, 15 Jun 2018 17:54:18 +0000 DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = @@ -2932,23 +3218,23 @@ LIBOBJS = LIBS = LTLIBOBJS = MAINT = # -MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing makeinfo -MANPAGE_DATE = 2018-04-04 +MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing makeinfo +MANPAGE_DATE = 2018-06-13 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_STRING = strace 4.23 PACKAGE_TARNAME = strace PACKAGE_URL = https://strace.io -PACKAGE_VERSION = 4.22 +PACKAGE_VERSION = 4.23 PATH_SEPARATOR = : PERL = /usr/bin/perl RANLIB = aarch64-linux-android-ranlib READELF = aarch64-linux-android-readelf -RPM_CHANGELOGTIME = Thu Jun 14 2018 +RPM_CHANGELOGTIME = Fri Jun 15 2018 SED = /bin/sed SET_MAKE = SHELL = /bin/sh @@ -2957,13 +3243,13 @@ SIZEOF_LONG = 4 STRIP = aarch64-linux-android-strip VALGRIND = valgrind VALGRIND_ENABLED = yes -VERSION = 4.22 +VERSION = 4.23 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 +abs_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.23/tests-mx32 +abs_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.23/tests-mx32 +abs_top_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 +abs_top_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 ac_ct_CC = ac_ct_CC_FOR_BUILD = gcc am__include = include @@ -2999,8 +3285,12 @@ 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 +install_sh = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/install-sh libdir = ${exec_prefix}/lib +libdw_CFLAGS = +libdw_CPPFLAGS = +libdw_LDFLAGS = +libdw_LIBS = libexecdir = ${exec_prefix}/libexec libiberty_CPPFLAGS = libiberty_LDFLAGS = @@ -3095,9 +3385,14 @@ PURE_EXECUTABLES = \ add_key \ adjtimex \ aio \ + aio_pgetevents \ alarm \ bpf \ bpf-v \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ brk \ btrfs \ caps \ @@ -3130,6 +3425,9 @@ PURE_EXECUTABLES = \ fallocate \ fanotify_init \ fanotify_mark \ + fanotify_mark-Xabbrev \ + fanotify_mark-Xraw \ + fanotify_mark-Xverbose \ fchdir \ fchmod \ fchmodat \ @@ -3192,10 +3490,13 @@ PURE_EXECUTABLES = \ ioctl_block \ ioctl_dm \ ioctl_evdev \ + ioctl_inotify \ ioctl_kvm_run \ ioctl_loop \ ioctl_mtd \ ioctl_rtc \ + ioctl_perf \ + ioctl_ptp \ ioctl_scsi \ ioctl_sg_io_v3 \ ioctl_sg_io_v4 \ @@ -3208,15 +3509,30 @@ PURE_EXECUTABLES = \ ip_mreq \ ipc \ ipc_msg \ + ipc_msg-Xabbrev \ + ipc_msg-Xraw \ + ipc_msg-Xverbose \ ipc_msgbuf \ + ipc_msgbuf-Xabbrev \ + ipc_msgbuf-Xraw \ + ipc_msgbuf-Xverbose \ ipc_sem \ + ipc_sem-Xabbrev \ + ipc_sem-Xraw \ + ipc_sem-Xverbose \ ipc_shm \ + ipc_shm-Xabbrev \ + ipc_shm-Xraw \ + ipc_shm-Xverbose \ kcmp \ kcmp-y \ kern_features \ kexec_file_load \ kexec_load \ keyctl \ + keyctl-Xabbrev \ + keyctl-Xraw \ + keyctl-Xverbose \ kill \ lchown \ lchown32 \ @@ -3241,11 +3557,20 @@ PURE_EXECUTABLES = \ mlock2 \ mlockall \ mmap \ + mmap-Xabbrev \ + mmap-Xraw \ + mmap-Xverbose \ mmap64 \ + mmap64-Xabbrev \ + mmap64-Xraw \ + mmap64-Xverbose \ mmsg \ mmsg_name \ modify_ldt \ mount \ + mount-Xabbrev \ + mount-Xraw \ + mount-Xverbose \ move_pages \ mq \ mq_sendrecv \ @@ -3292,7 +3617,9 @@ PURE_EXECUTABLES = \ nlattr_ifaddrlblmsg \ nlattr_ifaddrmsg \ nlattr_ifinfomsg \ + nlattr_ifla_af_spec \ nlattr_ifla_brport \ + nlattr_ifla_linkinfo \ nlattr_ifla_port \ nlattr_ifla_xdp \ nlattr_inet_diag_msg \ @@ -3317,6 +3644,9 @@ PURE_EXECUTABLES = \ old_mmap \ old_mmap-P \ old_mmap-v-none \ + old_mmap-Xabbrev \ + old_mmap-Xraw \ + old_mmap-Xverbose \ oldfstat \ oldlstat \ oldselect \ @@ -3328,6 +3658,9 @@ PURE_EXECUTABLES = \ pause \ perf_event_open \ personality \ + personality-Xabbrev \ + personality-Xraw \ + personality-Xverbose \ pipe \ pipe2 \ pkey_alloc \ @@ -3444,7 +3777,13 @@ PURE_EXECUTABLES = \ sigsuspend \ so_linger \ so_peercred \ + so_peercred-Xabbrev \ + so_peercred-Xraw \ + so_peercred-Xverbose \ sock_filter-v \ + sock_filter-v-Xabbrev \ + sock_filter-v-Xraw \ + sock_filter-v-Xverbose \ socketcall \ sockopt-sol_netlink \ splice \ @@ -3515,6 +3854,9 @@ 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 +mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xverbose_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) @@ -3539,10 +3881,14 @@ stack_fcall_mangled_SOURCES = stack-fcall-mangled.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 \ + add_key.gen.test adjtimex.gen.test aio.gen.test \ + aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ + bpf-v.gen.test bpf-obj_get_info_by_fd.gen.test \ + bpf-obj_get_info_by_fd-v.gen.test \ + bpf-obj_get_info_by_fd-prog.gen.test \ + bpf-obj_get_info_by_fd-prog-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 \ @@ -3550,70 +3896,85 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + fanotify_mark.gen.test fanotify_mark-Xabbrev.gen.test \ + fanotify_mark-Xraw.gen.test fanotify_mark-Xverbose.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_inotify.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 \ + ioctl_mtd.gen.test ioctl_nsfs.gen.test ioctl_perf.gen.test \ + ioctl_ptp.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_msg-Xabbrev.gen.test \ + ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \ + ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \ + ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \ + ipc_sem-Xabbrev.gen.test ipc_sem-Xraw.gen.test \ + ipc_sem-Xverbose.gen.test ipc_shm.gen.test \ + ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \ + ipc_shm-Xverbose.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 keyctl-Xabbrev.gen.test \ + keyctl-Xraw.gen.test keyctl-Xverbose.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 \ + mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ + mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \ + mmap64-Xraw.gen.test mmap64-Xverbose.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 mount-Xabbrev.gen.test \ + mount-Xraw.gen.test mount-Xverbose.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_af_spec.gen.test \ + nlattr_ifla_brport.gen.test nlattr_ifla_linkinfo.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 \ @@ -3625,16 +3986,19 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + old_mmap-P.gen.test old_mmap-v-none.gen.test \ + old_mmap-Xabbrev.gen.test old_mmap-Xraw.gen.test \ + old_mmap-Xverbose.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 \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.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 \ @@ -3675,22 +4039,29 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + so_linger.gen.test so_peercred.gen.test \ + so_peercred-Xabbrev.gen.test so_peercred-Xraw.gen.test \ + so_peercred-Xverbose.gen.test sock_filter-v.gen.test \ + sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \ + sock_filter-v-Xverbose.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_personality_32.gen.test \ + trace_personality_64.gen.test trace_personality_x32.gen.test \ + trace_personality_regex_32.gen.test \ + trace_personality_regex_64.gen.test \ + trace_personality_regex_x32.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 \ @@ -3700,13 +4071,20 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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) +STACKTRACE_TESTS = +#STACKTRACE_TESTS = strace-k.test \ +# $(am__append_1) DECODER_TESTS = \ + bpf-success.test \ + bpf-success-v.test \ brk.test \ btrfs-v.test \ btrfs-vw.test \ + btrfs-vwX.test \ + btrfs-vX.test \ btrfs-w.test \ + btrfs-wX.test \ + btrfs-X.test \ caps-abbrev.test \ caps.test \ eventfd.test \ @@ -3716,6 +4094,7 @@ DECODER_TESTS = \ futex.test \ getuid.test \ ioctl.test \ + ioctl_perf-success.test \ ipc_msgbuf.test \ kern_features-fault.test \ llseek.test \ @@ -3742,6 +4121,7 @@ DECODER_TESTS = \ prctl-seccomp-filter-v.test \ prctl-seccomp-strict.test \ prctl-securebits.test \ + prctl-spec-inject.test \ prctl-tid_address.test \ prctl-tsc.test \ qual_fault-exit_group.test \ @@ -3790,9 +4170,13 @@ MISC_TESTS = \ printstrn-umoven-legacy.test \ qual_fault-syntax.test \ qual_fault.test \ + qual_fault-syscall.test \ qual_inject-error-signal.test \ + qual_inject-error-signal-syscall.test \ qual_inject-retval.test \ + qual_inject-retval-syscall.test \ qual_inject-signal.test \ + qual_inject-signal-syscall.test \ qual_inject-syntax.test \ qual_signal.test \ qual_syscall.test \ @@ -3816,8 +4200,8 @@ MISC_TESTS = \ # end of MISC_TESTS XFAIL_TESTS_ = -XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS) -XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS) +XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) +XFAIL_TESTS_mx32 = $(STACKTRACE_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)) @@ -3838,6 +4222,7 @@ EXTRA_DIST = \ count-f.expected \ eventfd.expected \ fadvise.h \ + fcntl-common.c \ filter-unavailable.expected \ fstatat.c \ fstatx.c \ @@ -3848,12 +4233,12 @@ EXTRA_DIST = \ init.sh \ init_delete_module.h \ ipc.sh \ - ipc_msgbuf.expected \ ksysent.sed \ lstatx.c \ match.awk \ net.expected \ netlink_sock_diag-v.sh \ + nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ process_vm_readv_writev.c \ @@ -3861,6 +4246,8 @@ EXTRA_DIST = \ qual_fault-exit_group.expected \ qual_inject-error-signal.expected \ qual_inject-signal.expected \ + qualify_personality.sh \ + qualify_personality_empty.in \ quotactl.h \ regex.in \ rt_sigaction.awk \ @@ -3878,16 +4265,23 @@ EXTRA_DIST = \ strace-E.expected \ strace-T.expected \ strace-ff.expected \ + strace-k-demangle.expected \ strace-k-demangle.test \ + strace-k.expected \ 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_personality_32.in \ + trace_personality_64.in \ + trace_personality_x32.in \ + trace_personality_regex_32.in \ + trace_personality_regex_64.in \ + trace_personality_regex_x32.in \ trace_question.in \ trace_stat.in \ trace_stat_like.in \ @@ -4001,6 +4395,10 @@ aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES) @rm -f aio$(EXEEXT) $(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS) +aio_pgetevents$(EXEEXT): $(aio_pgetevents_OBJECTS) $(aio_pgetevents_DEPENDENCIES) $(EXTRA_aio_pgetevents_DEPENDENCIES) + @rm -f aio_pgetevents$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(aio_pgetevents_OBJECTS) $(aio_pgetevents_LDADD) $(LIBS) + alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES) @rm -f alarm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS) @@ -4033,6 +4431,30 @@ bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES) @rm -f bpf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS) +bpf-obj_get_info_by_fd$(EXEEXT): $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog-v$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-v$(EXEEXT): $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_LDADD) $(LIBS) + +bpf-success$(EXEEXT): $(bpf_success_OBJECTS) $(bpf_success_DEPENDENCIES) $(EXTRA_bpf_success_DEPENDENCIES) + @rm -f bpf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_OBJECTS) $(bpf_success_LDADD) $(LIBS) + +bpf-success-v$(EXEEXT): $(bpf_success_v_OBJECTS) $(bpf_success_v_DEPENDENCIES) $(EXTRA_bpf_success_v_DEPENDENCIES) + @rm -f bpf-success-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_v_OBJECTS) $(bpf_success_v_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) @@ -4201,6 +4623,18 @@ fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $ @rm -f fanotify_mark$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS) +fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) + @rm -f fanotify_mark-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) + +fanotify_mark-Xraw$(EXEEXT): $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_DEPENDENCIES) $(EXTRA_fanotify_mark_Xraw_DEPENDENCIES) + @rm -f fanotify_mark-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_LDADD) $(LIBS) + +fanotify_mark-Xverbose$(EXEEXT): $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_DEPENDENCIES) $(EXTRA_fanotify_mark_Xverbose_DEPENDENCIES) + @rm -f fanotify_mark-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_LDADD) $(LIBS) + fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES) @rm -f fchdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS) @@ -4481,6 +4915,10 @@ ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $ @rm -f ioctl_evdev-v$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS) +ioctl_inotify$(EXEEXT): $(ioctl_inotify_OBJECTS) $(ioctl_inotify_DEPENDENCIES) $(EXTRA_ioctl_inotify_DEPENDENCIES) + @rm -f ioctl_inotify$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_inotify_OBJECTS) $(ioctl_inotify_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) @@ -4505,6 +4943,18 @@ ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_io @rm -f ioctl_nsfs$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_LDADD) $(LIBS) +ioctl_perf$(EXEEXT): $(ioctl_perf_OBJECTS) $(ioctl_perf_DEPENDENCIES) $(EXTRA_ioctl_perf_DEPENDENCIES) + @rm -f ioctl_perf$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_OBJECTS) $(ioctl_perf_LDADD) $(LIBS) + +ioctl_perf-success$(EXEEXT): $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_DEPENDENCIES) $(EXTRA_ioctl_perf_success_DEPENDENCIES) + @rm -f ioctl_perf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_LDADD) $(LIBS) + +ioctl_ptp$(EXEEXT): $(ioctl_ptp_OBJECTS) $(ioctl_ptp_DEPENDENCIES) $(EXTRA_ioctl_ptp_DEPENDENCIES) + @rm -f ioctl_ptp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_ptp_OBJECTS) $(ioctl_ptp_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) @@ -4561,18 +5011,66 @@ ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEP @rm -f ipc_msg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS) +ipc_msg-Xabbrev$(EXEEXT): $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msg_Xabbrev_DEPENDENCIES) + @rm -f ipc_msg-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_LDADD) $(LIBS) + +ipc_msg-Xraw$(EXEEXT): $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_DEPENDENCIES) $(EXTRA_ipc_msg_Xraw_DEPENDENCIES) + @rm -f ipc_msg-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_LDADD) $(LIBS) + +ipc_msg-Xverbose$(EXEEXT): $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msg_Xverbose_DEPENDENCIES) + @rm -f ipc_msg-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_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_msgbuf-Xabbrev$(EXEEXT): $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xabbrev_DEPENDENCIES) + @rm -f ipc_msgbuf-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_LDADD) $(LIBS) + +ipc_msgbuf-Xraw$(EXEEXT): $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xraw_DEPENDENCIES) + @rm -f ipc_msgbuf-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_LDADD) $(LIBS) + +ipc_msgbuf-Xverbose$(EXEEXT): $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xverbose_DEPENDENCIES) + @rm -f ipc_msgbuf-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_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_sem-Xabbrev$(EXEEXT): $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_sem_Xabbrev_DEPENDENCIES) + @rm -f ipc_sem-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_LDADD) $(LIBS) + +ipc_sem-Xraw$(EXEEXT): $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_DEPENDENCIES) $(EXTRA_ipc_sem_Xraw_DEPENDENCIES) + @rm -f ipc_sem-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_LDADD) $(LIBS) + +ipc_sem-Xverbose$(EXEEXT): $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_DEPENDENCIES) $(EXTRA_ipc_sem_Xverbose_DEPENDENCIES) + @rm -f ipc_sem-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_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) +ipc_shm-Xabbrev$(EXEEXT): $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_shm_Xabbrev_DEPENDENCIES) + @rm -f ipc_shm-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_LDADD) $(LIBS) + +ipc_shm-Xraw$(EXEEXT): $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_DEPENDENCIES) $(EXTRA_ipc_shm_Xraw_DEPENDENCIES) + @rm -f ipc_shm-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_LDADD) $(LIBS) + +ipc_shm-Xverbose$(EXEEXT): $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_DEPENDENCIES) $(EXTRA_ipc_shm_Xverbose_DEPENDENCIES) + @rm -f ipc_shm-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_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) @@ -4601,6 +5099,18 @@ keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDE @rm -f keyctl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS) +keyctl-Xabbrev$(EXEEXT): $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_DEPENDENCIES) $(EXTRA_keyctl_Xabbrev_DEPENDENCIES) + @rm -f keyctl-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_LDADD) $(LIBS) + +keyctl-Xraw$(EXEEXT): $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_DEPENDENCIES) $(EXTRA_keyctl_Xraw_DEPENDENCIES) + @rm -f keyctl-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_LDADD) $(LIBS) + +keyctl-Xverbose$(EXEEXT): $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_DEPENDENCIES) $(EXTRA_keyctl_Xverbose_DEPENDENCIES) + @rm -f keyctl-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_LDADD) $(LIBS) + kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES) @rm -f kill$(EXEEXT) $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) @@ -4709,10 +5219,34 @@ mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES) @rm -f mmap$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS) +mmap-Xabbrev$(EXEEXT): $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_DEPENDENCIES) $(EXTRA_mmap_Xabbrev_DEPENDENCIES) + @rm -f mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_LDADD) $(LIBS) + +mmap-Xraw$(EXEEXT): $(mmap_Xraw_OBJECTS) $(mmap_Xraw_DEPENDENCIES) $(EXTRA_mmap_Xraw_DEPENDENCIES) + @rm -f mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xraw_OBJECTS) $(mmap_Xraw_LDADD) $(LIBS) + +mmap-Xverbose$(EXEEXT): $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_DEPENDENCIES) $(EXTRA_mmap_Xverbose_DEPENDENCIES) + @rm -f mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_LDADD) $(LIBS) + mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES) @rm -f mmap64$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS) +mmap64-Xabbrev$(EXEEXT): $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_DEPENDENCIES) $(EXTRA_mmap64_Xabbrev_DEPENDENCIES) + @rm -f mmap64-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_LDADD) $(LIBS) + +mmap64-Xraw$(EXEEXT): $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_DEPENDENCIES) $(EXTRA_mmap64_Xraw_DEPENDENCIES) + @rm -f mmap64-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_LDADD) $(LIBS) + +mmap64-Xverbose$(EXEEXT): $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_DEPENDENCIES) $(EXTRA_mmap64_Xverbose_DEPENDENCIES) + @rm -f mmap64-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_LDADD) $(LIBS) + mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES) @rm -f mmsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS) @@ -4737,6 +5271,18 @@ mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIE @rm -f mount$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS) +mount-Xabbrev$(EXEEXT): $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_DEPENDENCIES) $(EXTRA_mount_Xabbrev_DEPENDENCIES) + @rm -f mount-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_LDADD) $(LIBS) + +mount-Xraw$(EXEEXT): $(mount_Xraw_OBJECTS) $(mount_Xraw_DEPENDENCIES) $(EXTRA_mount_Xraw_DEPENDENCIES) + @rm -f mount-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xraw_OBJECTS) $(mount_Xraw_LDADD) $(LIBS) + +mount-Xverbose$(EXEEXT): $(mount_Xverbose_OBJECTS) $(mount_Xverbose_DEPENDENCIES) $(EXTRA_mount_Xverbose_DEPENDENCIES) + @rm -f mount-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xverbose_OBJECTS) $(mount_Xverbose_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) @@ -4941,10 +5487,18 @@ nlattr_ifinfomsg$(EXEEXT): $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_DEPEND @rm -f nlattr_ifinfomsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_LDADD) $(LIBS) +nlattr_ifla_af_spec$(EXEEXT): $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_DEPENDENCIES) $(EXTRA_nlattr_ifla_af_spec_DEPENDENCIES) + @rm -f nlattr_ifla_af_spec$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_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_linkinfo$(EXEEXT): $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_DEPENDENCIES) $(EXTRA_nlattr_ifla_linkinfo_DEPENDENCIES) + @rm -f nlattr_ifla_linkinfo$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_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) @@ -5045,6 +5599,18 @@ old_mmap-P$(EXEEXT): $(old_mmap_P_OBJECTS) $(old_mmap_P_DEPENDENCIES) $(EXTRA_ol @rm -f old_mmap-P$(EXEEXT) $(AM_V_CCLD)$(LINK) $(old_mmap_P_OBJECTS) $(old_mmap_P_LDADD) $(LIBS) +old_mmap-Xabbrev$(EXEEXT): $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_DEPENDENCIES) $(EXTRA_old_mmap_Xabbrev_DEPENDENCIES) + @rm -f old_mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_LDADD) $(LIBS) + +old_mmap-Xraw$(EXEEXT): $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_DEPENDENCIES) $(EXTRA_old_mmap_Xraw_DEPENDENCIES) + @rm -f old_mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_LDADD) $(LIBS) + +old_mmap-Xverbose$(EXEEXT): $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_DEPENDENCIES) $(EXTRA_old_mmap_Xverbose_DEPENDENCIES) + @rm -f old_mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_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) @@ -5113,6 +5679,18 @@ personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA @rm -f personality$(EXEEXT) $(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS) +personality-Xabbrev$(EXEEXT): $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_DEPENDENCIES) $(EXTRA_personality_Xabbrev_DEPENDENCIES) + @rm -f personality-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_LDADD) $(LIBS) + +personality-Xraw$(EXEEXT): $(personality_Xraw_OBJECTS) $(personality_Xraw_DEPENDENCIES) $(EXTRA_personality_Xraw_DEPENDENCIES) + @rm -f personality-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xraw_OBJECTS) $(personality_Xraw_LDADD) $(LIBS) + +personality-Xverbose$(EXEEXT): $(personality_Xverbose_OBJECTS) $(personality_Xverbose_DEPENDENCIES) $(EXTRA_personality_Xverbose_DEPENDENCIES) + @rm -f personality-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xverbose_OBJECTS) $(personality_Xverbose_LDADD) $(LIBS) + pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) @rm -f pipe$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS) @@ -5185,6 +5763,10 @@ prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPEND @rm -f prctl-securebits$(EXEEXT) $(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS) +prctl-spec-inject$(EXEEXT): $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_DEPENDENCIES) $(EXTRA_prctl_spec_inject_DEPENDENCIES) + @rm -f prctl-spec-inject$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_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) @@ -5669,10 +6251,34 @@ so_peercred$(EXEEXT): $(so_peercred_OBJECTS) $(so_peercred_DEPENDENCIES) $(EXTRA @rm -f so_peercred$(EXEEXT) $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS) +so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) + @rm -f so_peercred-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS) + +so_peercred-Xraw$(EXEEXT): $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_DEPENDENCIES) $(EXTRA_so_peercred_Xraw_DEPENDENCIES) + @rm -f so_peercred-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_LDADD) $(LIBS) + +so_peercred-Xverbose$(EXEEXT): $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_DEPENDENCIES) $(EXTRA_so_peercred_Xverbose_DEPENDENCIES) + @rm -f so_peercred-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_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) +sock_filter-v-Xabbrev$(EXEEXT): $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_DEPENDENCIES) $(EXTRA_sock_filter_v_Xabbrev_DEPENDENCIES) + @rm -f sock_filter-v-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_LDADD) $(LIBS) + +sock_filter-v-Xraw$(EXEEXT): $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_DEPENDENCIES) $(EXTRA_sock_filter_v_Xraw_DEPENDENCIES) + @rm -f sock_filter-v-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_LDADD) $(LIBS) + +sock_filter-v-Xverbose$(EXEEXT): $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_DEPENDENCIES) $(EXTRA_sock_filter_v_Xverbose_DEPENDENCIES) + @rm -f sock_filter-v-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_LDADD) $(LIBS) + socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES) @rm -f socketcall$(EXEEXT) $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS) @@ -5960,6 +6566,7 @@ include ./$(DEPDIR)/acct.Po include ./$(DEPDIR)/add_key.Po include ./$(DEPDIR)/adjtimex.Po include ./$(DEPDIR)/aio.Po +include ./$(DEPDIR)/aio_pgetevents.Po include ./$(DEPDIR)/alarm.Po include ./$(DEPDIR)/answer.Po include ./$(DEPDIR)/attach-f-p-cmd.Po @@ -5967,6 +6574,12 @@ 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-obj_get_info_by_fd-prog-v.Po +include ./$(DEPDIR)/bpf-obj_get_info_by_fd-prog.Po +include ./$(DEPDIR)/bpf-obj_get_info_by_fd-v.Po +include ./$(DEPDIR)/bpf-obj_get_info_by_fd.Po +include ./$(DEPDIR)/bpf-success-v.Po +include ./$(DEPDIR)/bpf-success.Po include ./$(DEPDIR)/bpf-v.Po include ./$(DEPDIR)/bpf.Po include ./$(DEPDIR)/brk.Po @@ -6009,6 +6622,9 @@ include ./$(DEPDIR)/fadvise64.Po include ./$(DEPDIR)/fadvise64_64.Po include ./$(DEPDIR)/fallocate.Po include ./$(DEPDIR)/fanotify_init.Po +include ./$(DEPDIR)/fanotify_mark-Xabbrev.Po +include ./$(DEPDIR)/fanotify_mark-Xraw.Po +include ./$(DEPDIR)/fanotify_mark-Xverbose.Po include ./$(DEPDIR)/fanotify_mark.Po include ./$(DEPDIR)/fchdir.Po include ./$(DEPDIR)/fchmod.Po @@ -6080,12 +6696,16 @@ 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_inotify.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_perf-success.Po +include ./$(DEPDIR)/ioctl_perf.Po +include ./$(DEPDIR)/ioctl_ptp.Po include ./$(DEPDIR)/ioctl_rtc-v.Po include ./$(DEPDIR)/ioctl_rtc.Po include ./$(DEPDIR)/ioctl_scsi.Po @@ -6099,9 +6719,21 @@ include ./$(DEPDIR)/iopl.Po include ./$(DEPDIR)/ioprio.Po include ./$(DEPDIR)/ip_mreq.Po include ./$(DEPDIR)/ipc.Po +include ./$(DEPDIR)/ipc_msg-Xabbrev.Po +include ./$(DEPDIR)/ipc_msg-Xraw.Po +include ./$(DEPDIR)/ipc_msg-Xverbose.Po include ./$(DEPDIR)/ipc_msg.Po +include ./$(DEPDIR)/ipc_msgbuf-Xabbrev.Po +include ./$(DEPDIR)/ipc_msgbuf-Xraw.Po +include ./$(DEPDIR)/ipc_msgbuf-Xverbose.Po include ./$(DEPDIR)/ipc_msgbuf.Po +include ./$(DEPDIR)/ipc_sem-Xabbrev.Po +include ./$(DEPDIR)/ipc_sem-Xraw.Po +include ./$(DEPDIR)/ipc_sem-Xverbose.Po include ./$(DEPDIR)/ipc_sem.Po +include ./$(DEPDIR)/ipc_shm-Xabbrev.Po +include ./$(DEPDIR)/ipc_shm-Xraw.Po +include ./$(DEPDIR)/ipc_shm-Xverbose.Po include ./$(DEPDIR)/ipc_shm.Po include ./$(DEPDIR)/is_linux_mips_n64.Po include ./$(DEPDIR)/kcmp-y.Po @@ -6109,6 +6741,9 @@ include ./$(DEPDIR)/kcmp.Po include ./$(DEPDIR)/kern_features.Po include ./$(DEPDIR)/kexec_file_load.Po include ./$(DEPDIR)/kexec_load.Po +include ./$(DEPDIR)/keyctl-Xabbrev.Po +include ./$(DEPDIR)/keyctl-Xraw.Po +include ./$(DEPDIR)/keyctl-Xverbose.Po include ./$(DEPDIR)/keyctl.Po include ./$(DEPDIR)/kill.Po include ./$(DEPDIR)/ksysent.Po @@ -6162,13 +6797,22 @@ include ./$(DEPDIR)/mknodat.Po include ./$(DEPDIR)/mlock.Po include ./$(DEPDIR)/mlock2.Po include ./$(DEPDIR)/mlockall.Po +include ./$(DEPDIR)/mmap-Xabbrev.Po +include ./$(DEPDIR)/mmap-Xraw.Po +include ./$(DEPDIR)/mmap-Xverbose.Po include ./$(DEPDIR)/mmap.Po include ./$(DEPDIR)/mmap64-mmap64.Po +include ./$(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +include ./$(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +include ./$(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.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-Xabbrev.Po +include ./$(DEPDIR)/mount-Xraw.Po +include ./$(DEPDIR)/mount-Xverbose.Po include ./$(DEPDIR)/mount.Po include ./$(DEPDIR)/move_pages.Po include ./$(DEPDIR)/mq.Po @@ -6221,7 +6865,9 @@ 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_af_spec.Po include ./$(DEPDIR)/nlattr_ifla_brport.Po +include ./$(DEPDIR)/nlattr_ifla_linkinfo.Po include ./$(DEPDIR)/nlattr_ifla_port.Po include ./$(DEPDIR)/nlattr_ifla_xdp.Po include ./$(DEPDIR)/nlattr_inet_diag_msg.Po @@ -6246,6 +6892,9 @@ 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-Xabbrev.Po +include ./$(DEPDIR)/old_mmap-Xraw.Po +include ./$(DEPDIR)/old_mmap-Xverbose.Po include ./$(DEPDIR)/old_mmap-v-none.Po include ./$(DEPDIR)/old_mmap.Po include ./$(DEPDIR)/oldfstat.Po @@ -6263,6 +6912,9 @@ 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-Xabbrev.Po +include ./$(DEPDIR)/personality-Xraw.Po +include ./$(DEPDIR)/personality-Xverbose.Po include ./$(DEPDIR)/personality.Po include ./$(DEPDIR)/pipe.Po include ./$(DEPDIR)/pipe2.Po @@ -6282,6 +6934,7 @@ 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-spec-inject.Po include ./$(DEPDIR)/prctl-tid_address.Po include ./$(DEPDIR)/prctl-tsc.Po include ./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po @@ -6402,7 +7055,13 @@ include ./$(DEPDIR)/sigreturn.Po include ./$(DEPDIR)/sigsuspend.Po include ./$(DEPDIR)/sleep.Po include ./$(DEPDIR)/so_linger.Po +include ./$(DEPDIR)/so_peercred-Xabbrev.Po +include ./$(DEPDIR)/so_peercred-Xraw.Po +include ./$(DEPDIR)/so_peercred-Xverbose.Po include ./$(DEPDIR)/so_peercred.Po +include ./$(DEPDIR)/sock_filter-v-Xabbrev.Po +include ./$(DEPDIR)/sock_filter-v-Xraw.Po +include ./$(DEPDIR)/sock_filter-v-Xverbose.Po include ./$(DEPDIR)/sock_filter-v.Po include ./$(DEPDIR)/socketcall.Po include ./$(DEPDIR)/sockopt-sol_netlink.Po @@ -6929,6 +7588,48 @@ mmap64-mmap64.obj: mmap64.c # 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` +mmap64_Xabbrev-mmap64-Xabbrev.o: mmap64-Xabbrev.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.o -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +# $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c + +mmap64_Xabbrev-mmap64-Xabbrev.obj: mmap64-Xabbrev.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.obj -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +# $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` + +mmap64_Xraw-mmap64-Xraw.o: mmap64-Xraw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.o -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +# $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c + +mmap64_Xraw-mmap64-Xraw.obj: mmap64-Xraw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.obj -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +# $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` + +mmap64_Xverbose-mmap64-Xverbose.o: mmap64-Xverbose.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.o -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +# $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c + +mmap64_Xverbose-mmap64-Xverbose.obj: mmap64-Xverbose.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.obj -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +# $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.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 @@ -7480,6 +8181,9 @@ $(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/aio_pgetevents.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) $^ $@ @@ -7489,6 +8193,18 @@ $(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/bpf-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/bpf-obj_get_info_by_fd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog-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) $^ $@ @@ -7576,6 +8292,15 @@ $(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xverbose.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) $^ $@ @@ -7768,6 +8493,9 @@ $(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.i $(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_inotify.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) $^ $@ @@ -7786,6 +8514,12 @@ $(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ioctl_nsfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_perf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ioctl_ptp.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) $^ $@ @@ -7828,12 +8562,48 @@ $(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ipc_msg-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xverbose.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_sem-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xverbose.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)/ipc_shm-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xverbose.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) $^ $@ @@ -7852,6 +8622,15 @@ $(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/keyctl-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xverbose.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) $^ $@ @@ -7915,9 +8694,27 @@ $(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xverbose.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)/mmap64-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xverbose.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) $^ $@ @@ -7936,6 +8733,15 @@ $(srcdir)/modify_ldt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mount-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xverbose.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) $^ $@ @@ -8062,9 +8868,15 @@ $(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_te $(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/nlattr_ifla_af_spec.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_linkinfo.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) $^ $@ @@ -8137,6 +8949,15 @@ $(srcdir)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/old_mmap-v-none.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/old_mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xverbose.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) $^ $@ @@ -8179,6 +9000,15 @@ $(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcd $(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/personality-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xverbose.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) $^ $@ @@ -8509,9 +9339,27 @@ $(srcdir)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/so_peercred-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xverbose.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)/sock_filter-v-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xverbose.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) $^ $@ @@ -8593,6 +9441,24 @@ $(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/trace_personality_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_x32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_x32.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) $^ $@ diff --git a/tests-mx32/Makefile.am b/tests-mx32/Makefile.am index 63372b05..0572992f 100644 --- a/tests-mx32/Makefile.am +++ b/tests-mx32/Makefile.am @@ -93,6 +93,12 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \ attach-p-cmd-cmd \ attach-p-cmd-p \ block_reset_raise_run \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ + bpf-success \ + bpf-success-v \ caps-abbrev \ check_sigblock \ check_sigign \ @@ -115,6 +121,7 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \ ioctl_loop-nv \ ioctl_loop-v \ ioctl_nsfs \ + ioctl_perf-success \ ioctl_rtc-v \ is_linux_mips_n64 \ ksysent \ @@ -137,6 +144,7 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \ ppoll-v \ prctl-seccomp-filter-v \ prctl-seccomp-strict \ + prctl-spec-inject \ print_maxfd \ qual_fault \ qual_inject-error-signal \ @@ -179,6 +187,9 @@ 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 +mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xverbose_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) @@ -202,20 +213,26 @@ stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \ include gen_tests.am -if USE_LIBUNWIND -LIBUNWIND_TESTS = strace-k.test +if ENABLE_STACKTRACE +STACKTRACE_TESTS = strace-k.test if USE_DEMANGLE -LIBUNWIND_TESTS += strace-k-demangle.test +STACKTRACE_TESTS += strace-k-demangle.test endif else -LIBUNWIND_TESTS = +STACKTRACE_TESTS = endif DECODER_TESTS = \ + bpf-success.test \ + bpf-success-v.test \ brk.test \ btrfs-v.test \ btrfs-vw.test \ + btrfs-vwX.test \ + btrfs-vX.test \ btrfs-w.test \ + btrfs-wX.test \ + btrfs-X.test \ caps-abbrev.test \ caps.test \ eventfd.test \ @@ -225,6 +242,7 @@ DECODER_TESTS = \ futex.test \ getuid.test \ ioctl.test \ + ioctl_perf-success.test \ ipc_msgbuf.test \ kern_features-fault.test \ llseek.test \ @@ -251,6 +269,7 @@ DECODER_TESTS = \ prctl-seccomp-filter-v.test \ prctl-seccomp-strict.test \ prctl-securebits.test \ + prctl-spec-inject.test \ prctl-tid_address.test \ prctl-tsc.test \ qual_fault-exit_group.test \ @@ -299,9 +318,13 @@ MISC_TESTS = \ printstrn-umoven-legacy.test \ qual_fault-syntax.test \ qual_fault.test \ + qual_fault-syscall.test \ qual_inject-error-signal.test \ + qual_inject-error-signal-syscall.test \ qual_inject-retval.test \ + qual_inject-retval-syscall.test \ qual_inject-signal.test \ + qual_inject-signal-syscall.test \ qual_inject-syntax.test \ qual_signal.test \ qual_syscall.test \ @@ -324,11 +347,11 @@ MISC_TESTS = \ threads-execve.test \ # end of MISC_TESTS -TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS) +TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(STACKTRACE_TESTS) XFAIL_TESTS_ = -XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS) -XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS) +XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) +XFAIL_TESTS_mx32 = $(STACKTRACE_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)) @@ -352,6 +375,7 @@ EXTRA_DIST = \ count-f.expected \ eventfd.expected \ fadvise.h \ + fcntl-common.c \ filter-unavailable.expected \ fstatat.c \ fstatx.c \ @@ -362,12 +386,12 @@ EXTRA_DIST = \ init.sh \ init_delete_module.h \ ipc.sh \ - ipc_msgbuf.expected \ ksysent.sed \ lstatx.c \ match.awk \ net.expected \ netlink_sock_diag-v.sh \ + nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ process_vm_readv_writev.c \ @@ -375,6 +399,8 @@ EXTRA_DIST = \ qual_fault-exit_group.expected \ qual_inject-error-signal.expected \ qual_inject-signal.expected \ + qualify_personality.sh \ + qualify_personality_empty.in \ quotactl.h \ regex.in \ rt_sigaction.awk \ @@ -392,16 +418,23 @@ EXTRA_DIST = \ strace-E.expected \ strace-T.expected \ strace-ff.expected \ + strace-k-demangle.expected \ strace-k-demangle.test \ + strace-k.expected \ 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_personality_32.in \ + trace_personality_64.in \ + trace_personality_x32.in \ + trace_personality_regex_32.in \ + trace_personality_regex_64.in \ + trace_personality_regex_x32.in \ trace_question.in \ trace_stat.in \ trace_stat_like.in \ diff --git a/tests-mx32/Makefile.in b/tests-mx32/Makefile.in index 9558e7a3..436af0d4 100644 --- a/tests-mx32/Makefile.in +++ b/tests-mx32/Makefile.in @@ -139,7 +139,11 @@ DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \ 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) \ + block_reset_raise_run$(EXEEXT) bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-v$(EXEEXT) bpf-success$(EXEEXT) \ + bpf-success-v$(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) \ @@ -147,7 +151,8 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(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) \ @@ -159,21 +164,22 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + prctl-spec-inject$(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) -@USE_DEMANGLE_TRUE@@USE_LIBUNWIND_TRUE@am__append_1 = strace-k-demangle.test +@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@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 @@ -181,7 +187,10 @@ 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_demangle.m4 $(top_srcdir)/m4/st_libdw.m4 \ + $(top_srcdir)/m4/st_libunwind.m4 \ $(top_srcdir)/m4/st_save_restore_var.m4 \ + $(top_srcdir)/m4/st_stacktrace.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) \ @@ -223,18 +232,25 @@ am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(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) \ + adjtimex$(EXEEXT) aio$(EXEEXT) aio_pgetevents$(EXEEXT) \ + alarm$(EXEEXT) bpf$(EXEEXT) bpf-v$(EXEEXT) \ + bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-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) \ + fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ + fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ @@ -255,49 +271,62 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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_evdev$(EXEEXT) ioctl_inotify$(EXEEXT) \ + ioctl_kvm_run$(EXEEXT) ioctl_loop$(EXEEXT) ioctl_mtd$(EXEEXT) \ + ioctl_rtc$(EXEEXT) ioctl_perf$(EXEEXT) ioctl_ptp$(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) \ + ipc_msg$(EXEEXT) ipc_msg-Xabbrev$(EXEEXT) \ + ipc_msg-Xraw$(EXEEXT) ipc_msg-Xverbose$(EXEEXT) \ + ipc_msgbuf$(EXEEXT) ipc_msgbuf-Xabbrev$(EXEEXT) \ + ipc_msgbuf-Xraw$(EXEEXT) ipc_msgbuf-Xverbose$(EXEEXT) \ + ipc_sem$(EXEEXT) ipc_sem-Xabbrev$(EXEEXT) \ + ipc_sem-Xraw$(EXEEXT) ipc_sem-Xverbose$(EXEEXT) \ + ipc_shm$(EXEEXT) ipc_shm-Xabbrev$(EXEEXT) \ + ipc_shm-Xraw$(EXEEXT) ipc_shm-Xverbose$(EXEEXT) kcmp$(EXEEXT) \ + kcmp-y$(EXEEXT) kern_features$(EXEEXT) \ + kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) keyctl$(EXEEXT) \ + keyctl-Xabbrev$(EXEEXT) keyctl-Xraw$(EXEEXT) \ + keyctl-Xverbose$(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) \ + mmap-Xabbrev$(EXEEXT) mmap-Xraw$(EXEEXT) \ + mmap-Xverbose$(EXEEXT) mmap64$(EXEEXT) mmap64-Xabbrev$(EXEEXT) \ + mmap64-Xraw$(EXEEXT) mmap64-Xverbose$(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) \ + mount-Xabbrev$(EXEEXT) mount-Xraw$(EXEEXT) \ + mount-Xverbose$(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_af_spec$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \ + nlattr_ifla_linkinfo$(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) \ @@ -309,11 +338,14 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + old_mmap-P$(EXEEXT) old_mmap-v-none$(EXEEXT) \ + old_mmap-Xabbrev$(EXEEXT) old_mmap-Xraw$(EXEEXT) \ + old_mmap-Xverbose$(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) \ + personality-Xabbrev$(EXEEXT) personality-Xraw$(EXEEXT) \ + personality-Xverbose$(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) \ @@ -361,7 +393,10 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + so_peercred$(EXEEXT) so_peercred-Xabbrev$(EXEEXT) \ + so_peercred-Xraw$(EXEEXT) so_peercred-Xverbose$(EXEEXT) \ + sock_filter-v$(EXEEXT) sock_filter-v-Xabbrev$(EXEEXT) \ + sock_filter-v-Xraw$(EXEEXT) sock_filter-v-Xverbose$(EXEEXT) \ socketcall$(EXEEXT) sockopt-sol_netlink$(EXEEXT) \ splice$(EXEEXT) stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \ statfs64$(EXEEXT) statx$(EXEEXT) swap$(EXEEXT) \ @@ -418,6 +453,10 @@ aio_SOURCES = aio.c aio_OBJECTS = aio.$(OBJEXT) aio_LDADD = $(LDADD) aio_DEPENDENCIES = libtests.a +aio_pgetevents_SOURCES = aio_pgetevents.c +aio_pgetevents_OBJECTS = aio_pgetevents.$(OBJEXT) +aio_pgetevents_LDADD = $(LDADD) +aio_pgetevents_DEPENDENCIES = libtests.a alarm_SOURCES = alarm.c alarm_OBJECTS = alarm.$(OBJEXT) alarm_LDADD = $(LDADD) @@ -449,6 +488,33 @@ bpf_SOURCES = bpf.c bpf_OBJECTS = bpf.$(OBJEXT) bpf_LDADD = $(LDADD) bpf_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_SOURCES = bpf-obj_get_info_by_fd.c +bpf_obj_get_info_by_fd_OBJECTS = bpf-obj_get_info_by_fd.$(OBJEXT) +bpf_obj_get_info_by_fd_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_SOURCES = bpf-obj_get_info_by_fd-prog.c +bpf_obj_get_info_by_fd_prog_OBJECTS = \ + bpf-obj_get_info_by_fd-prog.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_v_SOURCES = \ + bpf-obj_get_info_by_fd-prog-v.c +bpf_obj_get_info_by_fd_prog_v_OBJECTS = \ + bpf-obj_get_info_by_fd-prog-v.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_v_SOURCES = bpf-obj_get_info_by_fd-v.c +bpf_obj_get_info_by_fd_v_OBJECTS = bpf-obj_get_info_by_fd-v.$(OBJEXT) +bpf_obj_get_info_by_fd_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_v_DEPENDENCIES = libtests.a +bpf_success_SOURCES = bpf-success.c +bpf_success_OBJECTS = bpf-success.$(OBJEXT) +bpf_success_LDADD = $(LDADD) +bpf_success_DEPENDENCIES = libtests.a +bpf_success_v_SOURCES = bpf-success-v.c +bpf_success_v_OBJECTS = bpf-success-v.$(OBJEXT) +bpf_success_v_LDADD = $(LDADD) +bpf_success_v_DEPENDENCIES = libtests.a bpf_v_SOURCES = bpf-v.c bpf_v_OBJECTS = bpf-v.$(OBJEXT) bpf_v_LDADD = $(LDADD) @@ -616,6 +682,18 @@ fanotify_mark_SOURCES = fanotify_mark.c fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT) fanotify_mark_LDADD = $(LDADD) fanotify_mark_DEPENDENCIES = libtests.a +fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c +fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) +fanotify_mark_Xabbrev_LDADD = $(LDADD) +fanotify_mark_Xabbrev_DEPENDENCIES = libtests.a +fanotify_mark_Xraw_SOURCES = fanotify_mark-Xraw.c +fanotify_mark_Xraw_OBJECTS = fanotify_mark-Xraw.$(OBJEXT) +fanotify_mark_Xraw_LDADD = $(LDADD) +fanotify_mark_Xraw_DEPENDENCIES = libtests.a +fanotify_mark_Xverbose_SOURCES = fanotify_mark-Xverbose.c +fanotify_mark_Xverbose_OBJECTS = fanotify_mark-Xverbose.$(OBJEXT) +fanotify_mark_Xverbose_LDADD = $(LDADD) +fanotify_mark_Xverbose_DEPENDENCIES = libtests.a fchdir_SOURCES = fchdir.c fchdir_OBJECTS = fchdir.$(OBJEXT) fchdir_LDADD = $(LDADD) @@ -895,6 +973,10 @@ 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_inotify_SOURCES = ioctl_inotify.c +ioctl_inotify_OBJECTS = ioctl_inotify.$(OBJEXT) +ioctl_inotify_LDADD = $(LDADD) +ioctl_inotify_DEPENDENCIES = libtests.a ioctl_kvm_run_SOURCES = ioctl_kvm_run.c ioctl_kvm_run_OBJECTS = ioctl_kvm_run.$(OBJEXT) ioctl_kvm_run_LDADD = $(LDADD) @@ -919,6 +1001,18 @@ ioctl_nsfs_SOURCES = ioctl_nsfs.c ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT) ioctl_nsfs_LDADD = $(LDADD) ioctl_nsfs_DEPENDENCIES = libtests.a +ioctl_perf_SOURCES = ioctl_perf.c +ioctl_perf_OBJECTS = ioctl_perf.$(OBJEXT) +ioctl_perf_LDADD = $(LDADD) +ioctl_perf_DEPENDENCIES = libtests.a +ioctl_perf_success_SOURCES = ioctl_perf-success.c +ioctl_perf_success_OBJECTS = ioctl_perf-success.$(OBJEXT) +ioctl_perf_success_LDADD = $(LDADD) +ioctl_perf_success_DEPENDENCIES = libtests.a +ioctl_ptp_SOURCES = ioctl_ptp.c +ioctl_ptp_OBJECTS = ioctl_ptp.$(OBJEXT) +ioctl_ptp_LDADD = $(LDADD) +ioctl_ptp_DEPENDENCIES = libtests.a ioctl_rtc_SOURCES = ioctl_rtc.c ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT) ioctl_rtc_LDADD = $(LDADD) @@ -975,18 +1069,66 @@ ipc_msg_SOURCES = ipc_msg.c ipc_msg_OBJECTS = ipc_msg.$(OBJEXT) ipc_msg_LDADD = $(LDADD) ipc_msg_DEPENDENCIES = libtests.a +ipc_msg_Xabbrev_SOURCES = ipc_msg-Xabbrev.c +ipc_msg_Xabbrev_OBJECTS = ipc_msg-Xabbrev.$(OBJEXT) +ipc_msg_Xabbrev_LDADD = $(LDADD) +ipc_msg_Xabbrev_DEPENDENCIES = libtests.a +ipc_msg_Xraw_SOURCES = ipc_msg-Xraw.c +ipc_msg_Xraw_OBJECTS = ipc_msg-Xraw.$(OBJEXT) +ipc_msg_Xraw_LDADD = $(LDADD) +ipc_msg_Xraw_DEPENDENCIES = libtests.a +ipc_msg_Xverbose_SOURCES = ipc_msg-Xverbose.c +ipc_msg_Xverbose_OBJECTS = ipc_msg-Xverbose.$(OBJEXT) +ipc_msg_Xverbose_LDADD = $(LDADD) +ipc_msg_Xverbose_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_msgbuf_Xabbrev_SOURCES = ipc_msgbuf-Xabbrev.c +ipc_msgbuf_Xabbrev_OBJECTS = ipc_msgbuf-Xabbrev.$(OBJEXT) +ipc_msgbuf_Xabbrev_LDADD = $(LDADD) +ipc_msgbuf_Xabbrev_DEPENDENCIES = libtests.a +ipc_msgbuf_Xraw_SOURCES = ipc_msgbuf-Xraw.c +ipc_msgbuf_Xraw_OBJECTS = ipc_msgbuf-Xraw.$(OBJEXT) +ipc_msgbuf_Xraw_LDADD = $(LDADD) +ipc_msgbuf_Xraw_DEPENDENCIES = libtests.a +ipc_msgbuf_Xverbose_SOURCES = ipc_msgbuf-Xverbose.c +ipc_msgbuf_Xverbose_OBJECTS = ipc_msgbuf-Xverbose.$(OBJEXT) +ipc_msgbuf_Xverbose_LDADD = $(LDADD) +ipc_msgbuf_Xverbose_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_sem_Xabbrev_SOURCES = ipc_sem-Xabbrev.c +ipc_sem_Xabbrev_OBJECTS = ipc_sem-Xabbrev.$(OBJEXT) +ipc_sem_Xabbrev_LDADD = $(LDADD) +ipc_sem_Xabbrev_DEPENDENCIES = libtests.a +ipc_sem_Xraw_SOURCES = ipc_sem-Xraw.c +ipc_sem_Xraw_OBJECTS = ipc_sem-Xraw.$(OBJEXT) +ipc_sem_Xraw_LDADD = $(LDADD) +ipc_sem_Xraw_DEPENDENCIES = libtests.a +ipc_sem_Xverbose_SOURCES = ipc_sem-Xverbose.c +ipc_sem_Xverbose_OBJECTS = ipc_sem-Xverbose.$(OBJEXT) +ipc_sem_Xverbose_LDADD = $(LDADD) +ipc_sem_Xverbose_DEPENDENCIES = libtests.a ipc_shm_SOURCES = ipc_shm.c ipc_shm_OBJECTS = ipc_shm.$(OBJEXT) ipc_shm_LDADD = $(LDADD) ipc_shm_DEPENDENCIES = libtests.a +ipc_shm_Xabbrev_SOURCES = ipc_shm-Xabbrev.c +ipc_shm_Xabbrev_OBJECTS = ipc_shm-Xabbrev.$(OBJEXT) +ipc_shm_Xabbrev_LDADD = $(LDADD) +ipc_shm_Xabbrev_DEPENDENCIES = libtests.a +ipc_shm_Xraw_SOURCES = ipc_shm-Xraw.c +ipc_shm_Xraw_OBJECTS = ipc_shm-Xraw.$(OBJEXT) +ipc_shm_Xraw_LDADD = $(LDADD) +ipc_shm_Xraw_DEPENDENCIES = libtests.a +ipc_shm_Xverbose_SOURCES = ipc_shm-Xverbose.c +ipc_shm_Xverbose_OBJECTS = ipc_shm-Xverbose.$(OBJEXT) +ipc_shm_Xverbose_LDADD = $(LDADD) +ipc_shm_Xverbose_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) @@ -1015,6 +1157,18 @@ keyctl_SOURCES = keyctl.c keyctl_OBJECTS = keyctl.$(OBJEXT) keyctl_LDADD = $(LDADD) keyctl_DEPENDENCIES = libtests.a +keyctl_Xabbrev_SOURCES = keyctl-Xabbrev.c +keyctl_Xabbrev_OBJECTS = keyctl-Xabbrev.$(OBJEXT) +keyctl_Xabbrev_LDADD = $(LDADD) +keyctl_Xabbrev_DEPENDENCIES = libtests.a +keyctl_Xraw_SOURCES = keyctl-Xraw.c +keyctl_Xraw_OBJECTS = keyctl-Xraw.$(OBJEXT) +keyctl_Xraw_LDADD = $(LDADD) +keyctl_Xraw_DEPENDENCIES = libtests.a +keyctl_Xverbose_SOURCES = keyctl-Xverbose.c +keyctl_Xverbose_OBJECTS = keyctl-Xverbose.$(OBJEXT) +keyctl_Xverbose_LDADD = $(LDADD) +keyctl_Xverbose_DEPENDENCIES = libtests.a kill_SOURCES = kill.c kill_OBJECTS = kill.$(OBJEXT) kill_LDADD = $(LDADD) @@ -1122,10 +1276,34 @@ mmap_SOURCES = mmap.c mmap_OBJECTS = mmap.$(OBJEXT) mmap_LDADD = $(LDADD) mmap_DEPENDENCIES = libtests.a +mmap_Xabbrev_SOURCES = mmap-Xabbrev.c +mmap_Xabbrev_OBJECTS = mmap-Xabbrev.$(OBJEXT) +mmap_Xabbrev_LDADD = $(LDADD) +mmap_Xabbrev_DEPENDENCIES = libtests.a +mmap_Xraw_SOURCES = mmap-Xraw.c +mmap_Xraw_OBJECTS = mmap-Xraw.$(OBJEXT) +mmap_Xraw_LDADD = $(LDADD) +mmap_Xraw_DEPENDENCIES = libtests.a +mmap_Xverbose_SOURCES = mmap-Xverbose.c +mmap_Xverbose_OBJECTS = mmap-Xverbose.$(OBJEXT) +mmap_Xverbose_LDADD = $(LDADD) +mmap_Xverbose_DEPENDENCIES = libtests.a mmap64_SOURCES = mmap64.c mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT) mmap64_LDADD = $(LDADD) mmap64_DEPENDENCIES = libtests.a +mmap64_Xabbrev_SOURCES = mmap64-Xabbrev.c +mmap64_Xabbrev_OBJECTS = mmap64_Xabbrev-mmap64-Xabbrev.$(OBJEXT) +mmap64_Xabbrev_LDADD = $(LDADD) +mmap64_Xabbrev_DEPENDENCIES = libtests.a +mmap64_Xraw_SOURCES = mmap64-Xraw.c +mmap64_Xraw_OBJECTS = mmap64_Xraw-mmap64-Xraw.$(OBJEXT) +mmap64_Xraw_LDADD = $(LDADD) +mmap64_Xraw_DEPENDENCIES = libtests.a +mmap64_Xverbose_SOURCES = mmap64-Xverbose.c +mmap64_Xverbose_OBJECTS = mmap64_Xverbose-mmap64-Xverbose.$(OBJEXT) +mmap64_Xverbose_LDADD = $(LDADD) +mmap64_Xverbose_DEPENDENCIES = libtests.a mmsg_SOURCES = mmsg.c mmsg_OBJECTS = mmsg.$(OBJEXT) mmsg_LDADD = $(LDADD) @@ -1150,6 +1328,18 @@ mount_SOURCES = mount.c mount_OBJECTS = mount.$(OBJEXT) mount_LDADD = $(LDADD) mount_DEPENDENCIES = libtests.a +mount_Xabbrev_SOURCES = mount-Xabbrev.c +mount_Xabbrev_OBJECTS = mount-Xabbrev.$(OBJEXT) +mount_Xabbrev_LDADD = $(LDADD) +mount_Xabbrev_DEPENDENCIES = libtests.a +mount_Xraw_SOURCES = mount-Xraw.c +mount_Xraw_OBJECTS = mount-Xraw.$(OBJEXT) +mount_Xraw_LDADD = $(LDADD) +mount_Xraw_DEPENDENCIES = libtests.a +mount_Xverbose_SOURCES = mount-Xverbose.c +mount_Xverbose_OBJECTS = mount-Xverbose.$(OBJEXT) +mount_Xverbose_LDADD = $(LDADD) +mount_Xverbose_DEPENDENCIES = libtests.a move_pages_SOURCES = move_pages.c move_pages_OBJECTS = move_pages.$(OBJEXT) move_pages_LDADD = $(LDADD) @@ -1353,10 +1543,18 @@ nlattr_ifinfomsg_SOURCES = nlattr_ifinfomsg.c nlattr_ifinfomsg_OBJECTS = nlattr_ifinfomsg.$(OBJEXT) nlattr_ifinfomsg_LDADD = $(LDADD) nlattr_ifinfomsg_DEPENDENCIES = libtests.a +nlattr_ifla_af_spec_SOURCES = nlattr_ifla_af_spec.c +nlattr_ifla_af_spec_OBJECTS = nlattr_ifla_af_spec.$(OBJEXT) +nlattr_ifla_af_spec_LDADD = $(LDADD) +nlattr_ifla_af_spec_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_linkinfo_SOURCES = nlattr_ifla_linkinfo.c +nlattr_ifla_linkinfo_OBJECTS = nlattr_ifla_linkinfo.$(OBJEXT) +nlattr_ifla_linkinfo_LDADD = $(LDADD) +nlattr_ifla_linkinfo_DEPENDENCIES = libtests.a nlattr_ifla_port_SOURCES = nlattr_ifla_port.c nlattr_ifla_port_OBJECTS = nlattr_ifla_port.$(OBJEXT) nlattr_ifla_port_LDADD = $(LDADD) @@ -1458,6 +1656,18 @@ 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_Xabbrev_SOURCES = old_mmap-Xabbrev.c +old_mmap_Xabbrev_OBJECTS = old_mmap-Xabbrev.$(OBJEXT) +old_mmap_Xabbrev_LDADD = $(LDADD) +old_mmap_Xabbrev_DEPENDENCIES = libtests.a +old_mmap_Xraw_SOURCES = old_mmap-Xraw.c +old_mmap_Xraw_OBJECTS = old_mmap-Xraw.$(OBJEXT) +old_mmap_Xraw_LDADD = $(LDADD) +old_mmap_Xraw_DEPENDENCIES = libtests.a +old_mmap_Xverbose_SOURCES = old_mmap-Xverbose.c +old_mmap_Xverbose_OBJECTS = old_mmap-Xverbose.$(OBJEXT) +old_mmap_Xverbose_LDADD = $(LDADD) +old_mmap_Xverbose_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) @@ -1526,6 +1736,18 @@ personality_SOURCES = personality.c personality_OBJECTS = personality.$(OBJEXT) personality_LDADD = $(LDADD) personality_DEPENDENCIES = libtests.a +personality_Xabbrev_SOURCES = personality-Xabbrev.c +personality_Xabbrev_OBJECTS = personality-Xabbrev.$(OBJEXT) +personality_Xabbrev_LDADD = $(LDADD) +personality_Xabbrev_DEPENDENCIES = libtests.a +personality_Xraw_SOURCES = personality-Xraw.c +personality_Xraw_OBJECTS = personality-Xraw.$(OBJEXT) +personality_Xraw_LDADD = $(LDADD) +personality_Xraw_DEPENDENCIES = libtests.a +personality_Xverbose_SOURCES = personality-Xverbose.c +personality_Xverbose_OBJECTS = personality-Xverbose.$(OBJEXT) +personality_Xverbose_LDADD = $(LDADD) +personality_Xverbose_DEPENDENCIES = libtests.a pipe_SOURCES = pipe.c pipe_OBJECTS = pipe.$(OBJEXT) pipe_LDADD = $(LDADD) @@ -1598,6 +1820,10 @@ prctl_securebits_SOURCES = prctl-securebits.c prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT) prctl_securebits_LDADD = $(LDADD) prctl_securebits_DEPENDENCIES = libtests.a +prctl_spec_inject_SOURCES = prctl-spec-inject.c +prctl_spec_inject_OBJECTS = prctl-spec-inject.$(OBJEXT) +prctl_spec_inject_LDADD = $(LDADD) +prctl_spec_inject_DEPENDENCIES = libtests.a prctl_tid_address_SOURCES = prctl-tid_address.c prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT) prctl_tid_address_LDADD = $(LDADD) @@ -2088,10 +2314,34 @@ so_peercred_SOURCES = so_peercred.c so_peercred_OBJECTS = so_peercred.$(OBJEXT) so_peercred_LDADD = $(LDADD) so_peercred_DEPENDENCIES = libtests.a +so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c +so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT) +so_peercred_Xabbrev_LDADD = $(LDADD) +so_peercred_Xabbrev_DEPENDENCIES = libtests.a +so_peercred_Xraw_SOURCES = so_peercred-Xraw.c +so_peercred_Xraw_OBJECTS = so_peercred-Xraw.$(OBJEXT) +so_peercred_Xraw_LDADD = $(LDADD) +so_peercred_Xraw_DEPENDENCIES = libtests.a +so_peercred_Xverbose_SOURCES = so_peercred-Xverbose.c +so_peercred_Xverbose_OBJECTS = so_peercred-Xverbose.$(OBJEXT) +so_peercred_Xverbose_LDADD = $(LDADD) +so_peercred_Xverbose_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 +sock_filter_v_Xabbrev_SOURCES = sock_filter-v-Xabbrev.c +sock_filter_v_Xabbrev_OBJECTS = sock_filter-v-Xabbrev.$(OBJEXT) +sock_filter_v_Xabbrev_LDADD = $(LDADD) +sock_filter_v_Xabbrev_DEPENDENCIES = libtests.a +sock_filter_v_Xraw_SOURCES = sock_filter-v-Xraw.c +sock_filter_v_Xraw_OBJECTS = sock_filter-v-Xraw.$(OBJEXT) +sock_filter_v_Xraw_LDADD = $(LDADD) +sock_filter_v_Xraw_DEPENDENCIES = libtests.a +sock_filter_v_Xverbose_SOURCES = sock_filter-v-Xverbose.c +sock_filter_v_Xverbose_OBJECTS = sock_filter-v-Xverbose.$(OBJEXT) +sock_filter_v_Xverbose_LDADD = $(LDADD) +sock_filter_v_Xverbose_DEPENDENCIES = libtests.a socketcall_SOURCES = socketcall.c socketcall_OBJECTS = socketcall.$(OBJEXT) socketcall_LDADD = $(LDADD) @@ -2402,45 +2652,58 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 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 \ + accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2456,59 +2719,64 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2526,44 +2794,57 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fallocate.c fanotify_init.c fanotify_mark.c \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2579,59 +2860,64 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2859,7 +3145,7 @@ am__set_TESTS_bases = \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck -@USE_LIBUNWIND_TRUE@am__EXEEXT_2 = strace-k.test $(am__append_1) +@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test $(am__append_1) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test am__test_logs1 = $(TESTS:=.log) @@ -3001,6 +3287,10 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ +libdw_CFLAGS = @libdw_CFLAGS@ +libdw_CPPFLAGS = @libdw_CPPFLAGS@ +libdw_LDFLAGS = @libdw_LDFLAGS@ +libdw_LIBS = @libdw_LIBS@ libexecdir = @libexecdir@ libiberty_CPPFLAGS = @libiberty_CPPFLAGS@ libiberty_LDFLAGS = @libiberty_LDFLAGS@ @@ -3095,9 +3385,14 @@ PURE_EXECUTABLES = \ add_key \ adjtimex \ aio \ + aio_pgetevents \ alarm \ bpf \ bpf-v \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ brk \ btrfs \ caps \ @@ -3130,6 +3425,9 @@ PURE_EXECUTABLES = \ fallocate \ fanotify_init \ fanotify_mark \ + fanotify_mark-Xabbrev \ + fanotify_mark-Xraw \ + fanotify_mark-Xverbose \ fchdir \ fchmod \ fchmodat \ @@ -3192,10 +3490,13 @@ PURE_EXECUTABLES = \ ioctl_block \ ioctl_dm \ ioctl_evdev \ + ioctl_inotify \ ioctl_kvm_run \ ioctl_loop \ ioctl_mtd \ ioctl_rtc \ + ioctl_perf \ + ioctl_ptp \ ioctl_scsi \ ioctl_sg_io_v3 \ ioctl_sg_io_v4 \ @@ -3208,15 +3509,30 @@ PURE_EXECUTABLES = \ ip_mreq \ ipc \ ipc_msg \ + ipc_msg-Xabbrev \ + ipc_msg-Xraw \ + ipc_msg-Xverbose \ ipc_msgbuf \ + ipc_msgbuf-Xabbrev \ + ipc_msgbuf-Xraw \ + ipc_msgbuf-Xverbose \ ipc_sem \ + ipc_sem-Xabbrev \ + ipc_sem-Xraw \ + ipc_sem-Xverbose \ ipc_shm \ + ipc_shm-Xabbrev \ + ipc_shm-Xraw \ + ipc_shm-Xverbose \ kcmp \ kcmp-y \ kern_features \ kexec_file_load \ kexec_load \ keyctl \ + keyctl-Xabbrev \ + keyctl-Xraw \ + keyctl-Xverbose \ kill \ lchown \ lchown32 \ @@ -3241,11 +3557,20 @@ PURE_EXECUTABLES = \ mlock2 \ mlockall \ mmap \ + mmap-Xabbrev \ + mmap-Xraw \ + mmap-Xverbose \ mmap64 \ + mmap64-Xabbrev \ + mmap64-Xraw \ + mmap64-Xverbose \ mmsg \ mmsg_name \ modify_ldt \ mount \ + mount-Xabbrev \ + mount-Xraw \ + mount-Xverbose \ move_pages \ mq \ mq_sendrecv \ @@ -3292,7 +3617,9 @@ PURE_EXECUTABLES = \ nlattr_ifaddrlblmsg \ nlattr_ifaddrmsg \ nlattr_ifinfomsg \ + nlattr_ifla_af_spec \ nlattr_ifla_brport \ + nlattr_ifla_linkinfo \ nlattr_ifla_port \ nlattr_ifla_xdp \ nlattr_inet_diag_msg \ @@ -3317,6 +3644,9 @@ PURE_EXECUTABLES = \ old_mmap \ old_mmap-P \ old_mmap-v-none \ + old_mmap-Xabbrev \ + old_mmap-Xraw \ + old_mmap-Xverbose \ oldfstat \ oldlstat \ oldselect \ @@ -3328,6 +3658,9 @@ PURE_EXECUTABLES = \ pause \ perf_event_open \ personality \ + personality-Xabbrev \ + personality-Xraw \ + personality-Xverbose \ pipe \ pipe2 \ pkey_alloc \ @@ -3444,7 +3777,13 @@ PURE_EXECUTABLES = \ sigsuspend \ so_linger \ so_peercred \ + so_peercred-Xabbrev \ + so_peercred-Xraw \ + so_peercred-Xverbose \ sock_filter-v \ + sock_filter-v-Xabbrev \ + sock_filter-v-Xraw \ + sock_filter-v-Xverbose \ socketcall \ sockopt-sol_netlink \ splice \ @@ -3515,6 +3854,9 @@ 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 +mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xverbose_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) @@ -3539,10 +3881,14 @@ stack_fcall_mangled_SOURCES = stack-fcall-mangled.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 \ + add_key.gen.test adjtimex.gen.test aio.gen.test \ + aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ + bpf-v.gen.test bpf-obj_get_info_by_fd.gen.test \ + bpf-obj_get_info_by_fd-v.gen.test \ + bpf-obj_get_info_by_fd-prog.gen.test \ + bpf-obj_get_info_by_fd-prog-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 \ @@ -3550,70 +3896,85 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + fanotify_mark.gen.test fanotify_mark-Xabbrev.gen.test \ + fanotify_mark-Xraw.gen.test fanotify_mark-Xverbose.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_inotify.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 \ + ioctl_mtd.gen.test ioctl_nsfs.gen.test ioctl_perf.gen.test \ + ioctl_ptp.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_msg-Xabbrev.gen.test \ + ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \ + ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \ + ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \ + ipc_sem-Xabbrev.gen.test ipc_sem-Xraw.gen.test \ + ipc_sem-Xverbose.gen.test ipc_shm.gen.test \ + ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \ + ipc_shm-Xverbose.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 keyctl-Xabbrev.gen.test \ + keyctl-Xraw.gen.test keyctl-Xverbose.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 \ + mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ + mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \ + mmap64-Xraw.gen.test mmap64-Xverbose.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 mount-Xabbrev.gen.test \ + mount-Xraw.gen.test mount-Xverbose.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_af_spec.gen.test \ + nlattr_ifla_brport.gen.test nlattr_ifla_linkinfo.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 \ @@ -3625,16 +3986,19 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + old_mmap-P.gen.test old_mmap-v-none.gen.test \ + old_mmap-Xabbrev.gen.test old_mmap-Xraw.gen.test \ + old_mmap-Xverbose.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 \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.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 \ @@ -3675,22 +4039,29 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + so_linger.gen.test so_peercred.gen.test \ + so_peercred-Xabbrev.gen.test so_peercred-Xraw.gen.test \ + so_peercred-Xverbose.gen.test sock_filter-v.gen.test \ + sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \ + sock_filter-v-Xverbose.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_personality_32.gen.test \ + trace_personality_64.gen.test trace_personality_x32.gen.test \ + trace_personality_regex_32.gen.test \ + trace_personality_regex_64.gen.test \ + trace_personality_regex_x32.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 \ @@ -3700,13 +4071,20 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ xattr-strings.gen.test xet_robust_list.gen.test \ xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \ xettimeofday.gen.test -@USE_LIBUNWIND_FALSE@LIBUNWIND_TESTS = -@USE_LIBUNWIND_TRUE@LIBUNWIND_TESTS = strace-k.test $(am__append_1) +@ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = +@ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \ +@ENABLE_STACKTRACE_TRUE@ $(am__append_1) DECODER_TESTS = \ + bpf-success.test \ + bpf-success-v.test \ brk.test \ btrfs-v.test \ btrfs-vw.test \ + btrfs-vwX.test \ + btrfs-vX.test \ btrfs-w.test \ + btrfs-wX.test \ + btrfs-X.test \ caps-abbrev.test \ caps.test \ eventfd.test \ @@ -3716,6 +4094,7 @@ DECODER_TESTS = \ futex.test \ getuid.test \ ioctl.test \ + ioctl_perf-success.test \ ipc_msgbuf.test \ kern_features-fault.test \ llseek.test \ @@ -3742,6 +4121,7 @@ DECODER_TESTS = \ prctl-seccomp-filter-v.test \ prctl-seccomp-strict.test \ prctl-securebits.test \ + prctl-spec-inject.test \ prctl-tid_address.test \ prctl-tsc.test \ qual_fault-exit_group.test \ @@ -3790,9 +4170,13 @@ MISC_TESTS = \ printstrn-umoven-legacy.test \ qual_fault-syntax.test \ qual_fault.test \ + qual_fault-syscall.test \ qual_inject-error-signal.test \ + qual_inject-error-signal-syscall.test \ qual_inject-retval.test \ + qual_inject-retval-syscall.test \ qual_inject-signal.test \ + qual_inject-signal-syscall.test \ qual_inject-syntax.test \ qual_signal.test \ qual_syscall.test \ @@ -3816,8 +4200,8 @@ MISC_TESTS = \ # end of MISC_TESTS XFAIL_TESTS_ = -XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS) -XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS) +XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) +XFAIL_TESTS_mx32 = $(STACKTRACE_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)) @@ -3838,6 +4222,7 @@ EXTRA_DIST = \ count-f.expected \ eventfd.expected \ fadvise.h \ + fcntl-common.c \ filter-unavailable.expected \ fstatat.c \ fstatx.c \ @@ -3848,12 +4233,12 @@ EXTRA_DIST = \ init.sh \ init_delete_module.h \ ipc.sh \ - ipc_msgbuf.expected \ ksysent.sed \ lstatx.c \ match.awk \ net.expected \ netlink_sock_diag-v.sh \ + nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ process_vm_readv_writev.c \ @@ -3861,6 +4246,8 @@ EXTRA_DIST = \ qual_fault-exit_group.expected \ qual_inject-error-signal.expected \ qual_inject-signal.expected \ + qualify_personality.sh \ + qualify_personality_empty.in \ quotactl.h \ regex.in \ rt_sigaction.awk \ @@ -3878,16 +4265,23 @@ EXTRA_DIST = \ strace-E.expected \ strace-T.expected \ strace-ff.expected \ + strace-k-demangle.expected \ strace-k-demangle.test \ + strace-k.expected \ 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_personality_32.in \ + trace_personality_64.in \ + trace_personality_x32.in \ + trace_personality_regex_32.in \ + trace_personality_regex_64.in \ + trace_personality_regex_x32.in \ trace_question.in \ trace_stat.in \ trace_stat_like.in \ @@ -4001,6 +4395,10 @@ aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES) @rm -f aio$(EXEEXT) $(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS) +aio_pgetevents$(EXEEXT): $(aio_pgetevents_OBJECTS) $(aio_pgetevents_DEPENDENCIES) $(EXTRA_aio_pgetevents_DEPENDENCIES) + @rm -f aio_pgetevents$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(aio_pgetevents_OBJECTS) $(aio_pgetevents_LDADD) $(LIBS) + alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES) @rm -f alarm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS) @@ -4033,6 +4431,30 @@ bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES) @rm -f bpf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS) +bpf-obj_get_info_by_fd$(EXEEXT): $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog-v$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-v$(EXEEXT): $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_LDADD) $(LIBS) + +bpf-success$(EXEEXT): $(bpf_success_OBJECTS) $(bpf_success_DEPENDENCIES) $(EXTRA_bpf_success_DEPENDENCIES) + @rm -f bpf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_OBJECTS) $(bpf_success_LDADD) $(LIBS) + +bpf-success-v$(EXEEXT): $(bpf_success_v_OBJECTS) $(bpf_success_v_DEPENDENCIES) $(EXTRA_bpf_success_v_DEPENDENCIES) + @rm -f bpf-success-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_v_OBJECTS) $(bpf_success_v_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) @@ -4201,6 +4623,18 @@ fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $ @rm -f fanotify_mark$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS) +fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) + @rm -f fanotify_mark-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) + +fanotify_mark-Xraw$(EXEEXT): $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_DEPENDENCIES) $(EXTRA_fanotify_mark_Xraw_DEPENDENCIES) + @rm -f fanotify_mark-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_LDADD) $(LIBS) + +fanotify_mark-Xverbose$(EXEEXT): $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_DEPENDENCIES) $(EXTRA_fanotify_mark_Xverbose_DEPENDENCIES) + @rm -f fanotify_mark-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_LDADD) $(LIBS) + fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES) @rm -f fchdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS) @@ -4481,6 +4915,10 @@ ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $ @rm -f ioctl_evdev-v$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS) +ioctl_inotify$(EXEEXT): $(ioctl_inotify_OBJECTS) $(ioctl_inotify_DEPENDENCIES) $(EXTRA_ioctl_inotify_DEPENDENCIES) + @rm -f ioctl_inotify$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_inotify_OBJECTS) $(ioctl_inotify_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) @@ -4505,6 +4943,18 @@ ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_io @rm -f ioctl_nsfs$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_LDADD) $(LIBS) +ioctl_perf$(EXEEXT): $(ioctl_perf_OBJECTS) $(ioctl_perf_DEPENDENCIES) $(EXTRA_ioctl_perf_DEPENDENCIES) + @rm -f ioctl_perf$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_OBJECTS) $(ioctl_perf_LDADD) $(LIBS) + +ioctl_perf-success$(EXEEXT): $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_DEPENDENCIES) $(EXTRA_ioctl_perf_success_DEPENDENCIES) + @rm -f ioctl_perf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_LDADD) $(LIBS) + +ioctl_ptp$(EXEEXT): $(ioctl_ptp_OBJECTS) $(ioctl_ptp_DEPENDENCIES) $(EXTRA_ioctl_ptp_DEPENDENCIES) + @rm -f ioctl_ptp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_ptp_OBJECTS) $(ioctl_ptp_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) @@ -4561,18 +5011,66 @@ ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEP @rm -f ipc_msg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS) +ipc_msg-Xabbrev$(EXEEXT): $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msg_Xabbrev_DEPENDENCIES) + @rm -f ipc_msg-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_LDADD) $(LIBS) + +ipc_msg-Xraw$(EXEEXT): $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_DEPENDENCIES) $(EXTRA_ipc_msg_Xraw_DEPENDENCIES) + @rm -f ipc_msg-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_LDADD) $(LIBS) + +ipc_msg-Xverbose$(EXEEXT): $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msg_Xverbose_DEPENDENCIES) + @rm -f ipc_msg-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_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_msgbuf-Xabbrev$(EXEEXT): $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xabbrev_DEPENDENCIES) + @rm -f ipc_msgbuf-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_LDADD) $(LIBS) + +ipc_msgbuf-Xraw$(EXEEXT): $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xraw_DEPENDENCIES) + @rm -f ipc_msgbuf-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_LDADD) $(LIBS) + +ipc_msgbuf-Xverbose$(EXEEXT): $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xverbose_DEPENDENCIES) + @rm -f ipc_msgbuf-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_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_sem-Xabbrev$(EXEEXT): $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_sem_Xabbrev_DEPENDENCIES) + @rm -f ipc_sem-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_LDADD) $(LIBS) + +ipc_sem-Xraw$(EXEEXT): $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_DEPENDENCIES) $(EXTRA_ipc_sem_Xraw_DEPENDENCIES) + @rm -f ipc_sem-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_LDADD) $(LIBS) + +ipc_sem-Xverbose$(EXEEXT): $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_DEPENDENCIES) $(EXTRA_ipc_sem_Xverbose_DEPENDENCIES) + @rm -f ipc_sem-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_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) +ipc_shm-Xabbrev$(EXEEXT): $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_shm_Xabbrev_DEPENDENCIES) + @rm -f ipc_shm-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_LDADD) $(LIBS) + +ipc_shm-Xraw$(EXEEXT): $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_DEPENDENCIES) $(EXTRA_ipc_shm_Xraw_DEPENDENCIES) + @rm -f ipc_shm-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_LDADD) $(LIBS) + +ipc_shm-Xverbose$(EXEEXT): $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_DEPENDENCIES) $(EXTRA_ipc_shm_Xverbose_DEPENDENCIES) + @rm -f ipc_shm-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_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) @@ -4601,6 +5099,18 @@ keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDE @rm -f keyctl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS) +keyctl-Xabbrev$(EXEEXT): $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_DEPENDENCIES) $(EXTRA_keyctl_Xabbrev_DEPENDENCIES) + @rm -f keyctl-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_LDADD) $(LIBS) + +keyctl-Xraw$(EXEEXT): $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_DEPENDENCIES) $(EXTRA_keyctl_Xraw_DEPENDENCIES) + @rm -f keyctl-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_LDADD) $(LIBS) + +keyctl-Xverbose$(EXEEXT): $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_DEPENDENCIES) $(EXTRA_keyctl_Xverbose_DEPENDENCIES) + @rm -f keyctl-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_LDADD) $(LIBS) + kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES) @rm -f kill$(EXEEXT) $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) @@ -4709,10 +5219,34 @@ mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES) @rm -f mmap$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS) +mmap-Xabbrev$(EXEEXT): $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_DEPENDENCIES) $(EXTRA_mmap_Xabbrev_DEPENDENCIES) + @rm -f mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_LDADD) $(LIBS) + +mmap-Xraw$(EXEEXT): $(mmap_Xraw_OBJECTS) $(mmap_Xraw_DEPENDENCIES) $(EXTRA_mmap_Xraw_DEPENDENCIES) + @rm -f mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xraw_OBJECTS) $(mmap_Xraw_LDADD) $(LIBS) + +mmap-Xverbose$(EXEEXT): $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_DEPENDENCIES) $(EXTRA_mmap_Xverbose_DEPENDENCIES) + @rm -f mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_LDADD) $(LIBS) + mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES) @rm -f mmap64$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS) +mmap64-Xabbrev$(EXEEXT): $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_DEPENDENCIES) $(EXTRA_mmap64_Xabbrev_DEPENDENCIES) + @rm -f mmap64-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_LDADD) $(LIBS) + +mmap64-Xraw$(EXEEXT): $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_DEPENDENCIES) $(EXTRA_mmap64_Xraw_DEPENDENCIES) + @rm -f mmap64-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_LDADD) $(LIBS) + +mmap64-Xverbose$(EXEEXT): $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_DEPENDENCIES) $(EXTRA_mmap64_Xverbose_DEPENDENCIES) + @rm -f mmap64-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_LDADD) $(LIBS) + mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES) @rm -f mmsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS) @@ -4737,6 +5271,18 @@ mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIE @rm -f mount$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS) +mount-Xabbrev$(EXEEXT): $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_DEPENDENCIES) $(EXTRA_mount_Xabbrev_DEPENDENCIES) + @rm -f mount-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_LDADD) $(LIBS) + +mount-Xraw$(EXEEXT): $(mount_Xraw_OBJECTS) $(mount_Xraw_DEPENDENCIES) $(EXTRA_mount_Xraw_DEPENDENCIES) + @rm -f mount-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xraw_OBJECTS) $(mount_Xraw_LDADD) $(LIBS) + +mount-Xverbose$(EXEEXT): $(mount_Xverbose_OBJECTS) $(mount_Xverbose_DEPENDENCIES) $(EXTRA_mount_Xverbose_DEPENDENCIES) + @rm -f mount-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xverbose_OBJECTS) $(mount_Xverbose_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) @@ -4941,10 +5487,18 @@ nlattr_ifinfomsg$(EXEEXT): $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_DEPEND @rm -f nlattr_ifinfomsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_LDADD) $(LIBS) +nlattr_ifla_af_spec$(EXEEXT): $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_DEPENDENCIES) $(EXTRA_nlattr_ifla_af_spec_DEPENDENCIES) + @rm -f nlattr_ifla_af_spec$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_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_linkinfo$(EXEEXT): $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_DEPENDENCIES) $(EXTRA_nlattr_ifla_linkinfo_DEPENDENCIES) + @rm -f nlattr_ifla_linkinfo$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_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) @@ -5045,6 +5599,18 @@ old_mmap-P$(EXEEXT): $(old_mmap_P_OBJECTS) $(old_mmap_P_DEPENDENCIES) $(EXTRA_ol @rm -f old_mmap-P$(EXEEXT) $(AM_V_CCLD)$(LINK) $(old_mmap_P_OBJECTS) $(old_mmap_P_LDADD) $(LIBS) +old_mmap-Xabbrev$(EXEEXT): $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_DEPENDENCIES) $(EXTRA_old_mmap_Xabbrev_DEPENDENCIES) + @rm -f old_mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_LDADD) $(LIBS) + +old_mmap-Xraw$(EXEEXT): $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_DEPENDENCIES) $(EXTRA_old_mmap_Xraw_DEPENDENCIES) + @rm -f old_mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_LDADD) $(LIBS) + +old_mmap-Xverbose$(EXEEXT): $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_DEPENDENCIES) $(EXTRA_old_mmap_Xverbose_DEPENDENCIES) + @rm -f old_mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_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) @@ -5113,6 +5679,18 @@ personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA @rm -f personality$(EXEEXT) $(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS) +personality-Xabbrev$(EXEEXT): $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_DEPENDENCIES) $(EXTRA_personality_Xabbrev_DEPENDENCIES) + @rm -f personality-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_LDADD) $(LIBS) + +personality-Xraw$(EXEEXT): $(personality_Xraw_OBJECTS) $(personality_Xraw_DEPENDENCIES) $(EXTRA_personality_Xraw_DEPENDENCIES) + @rm -f personality-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xraw_OBJECTS) $(personality_Xraw_LDADD) $(LIBS) + +personality-Xverbose$(EXEEXT): $(personality_Xverbose_OBJECTS) $(personality_Xverbose_DEPENDENCIES) $(EXTRA_personality_Xverbose_DEPENDENCIES) + @rm -f personality-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xverbose_OBJECTS) $(personality_Xverbose_LDADD) $(LIBS) + pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) @rm -f pipe$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS) @@ -5185,6 +5763,10 @@ prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPEND @rm -f prctl-securebits$(EXEEXT) $(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS) +prctl-spec-inject$(EXEEXT): $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_DEPENDENCIES) $(EXTRA_prctl_spec_inject_DEPENDENCIES) + @rm -f prctl-spec-inject$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_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) @@ -5669,10 +6251,34 @@ so_peercred$(EXEEXT): $(so_peercred_OBJECTS) $(so_peercred_DEPENDENCIES) $(EXTRA @rm -f so_peercred$(EXEEXT) $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS) +so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) + @rm -f so_peercred-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS) + +so_peercred-Xraw$(EXEEXT): $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_DEPENDENCIES) $(EXTRA_so_peercred_Xraw_DEPENDENCIES) + @rm -f so_peercred-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_LDADD) $(LIBS) + +so_peercred-Xverbose$(EXEEXT): $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_DEPENDENCIES) $(EXTRA_so_peercred_Xverbose_DEPENDENCIES) + @rm -f so_peercred-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_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) +sock_filter-v-Xabbrev$(EXEEXT): $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_DEPENDENCIES) $(EXTRA_sock_filter_v_Xabbrev_DEPENDENCIES) + @rm -f sock_filter-v-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_LDADD) $(LIBS) + +sock_filter-v-Xraw$(EXEEXT): $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_DEPENDENCIES) $(EXTRA_sock_filter_v_Xraw_DEPENDENCIES) + @rm -f sock_filter-v-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_LDADD) $(LIBS) + +sock_filter-v-Xverbose$(EXEEXT): $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_DEPENDENCIES) $(EXTRA_sock_filter_v_Xverbose_DEPENDENCIES) + @rm -f sock_filter-v-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_LDADD) $(LIBS) + socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES) @rm -f socketcall$(EXEEXT) $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS) @@ -5960,6 +6566,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjtimex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aio.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aio_pgetevents.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alarm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/answer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-f-p-cmd.Po@am__quote@ @@ -5967,6 +6574,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-cmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-p.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/block_reset_raise_run.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd-prog-v.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd-prog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd-v.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-success-v.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-success.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brk.Po@am__quote@ @@ -6009,6 +6622,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ @@ -6080,12 +6696,16 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_inotify.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_kvm_run.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop-nv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_mtd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_nsfs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_perf-success.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_perf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_ptp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_rtc-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_rtc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_scsi.Po@am__quote@ @@ -6099,9 +6719,21 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ip_mreq.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@ @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@ @@ -6109,6 +6741,9 @@ distclean-compile: @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-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ @@ -6162,13 +6797,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlock2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlockall.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64-mmap64.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg-silent.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg_name-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg_name.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modify_ldt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mq.Po@am__quote@ @@ -6221,7 +6865,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifaddrlblmsg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifaddrmsg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifinfomsg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_af_spec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_brport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_linkinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_port.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_xdp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_inet_diag_msg.Po@am__quote@ @@ -6246,6 +6892,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls-d.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-P.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-v-none.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldfstat.Po@am__quote@ @@ -6263,6 +6912,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open_nonverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open_unabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@ @@ -6282,6 +6934,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-seccomp-filter-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-seccomp-strict.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-securebits.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-spec-inject.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-tid_address.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-tsc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po@am__quote@ @@ -6402,7 +7055,13 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigsuspend.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_linger.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socketcall.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockopt-sol_netlink.Po@am__quote@ @@ -6929,6 +7588,48 @@ mmap64-mmap64.obj: mmap64.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(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` +mmap64_Xabbrev-mmap64-Xabbrev.o: mmap64-Xabbrev.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.o -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.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) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c + +mmap64_Xabbrev-mmap64-Xabbrev.obj: mmap64-Xabbrev.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.obj -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.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) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` + +mmap64_Xraw-mmap64-Xraw.o: mmap64-Xraw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.o -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.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) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c + +mmap64_Xraw-mmap64-Xraw.obj: mmap64-Xraw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.obj -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.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) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` + +mmap64_Xverbose-mmap64-Xverbose.o: mmap64-Xverbose.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.o -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.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) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c + +mmap64_Xverbose-mmap64-Xverbose.obj: mmap64-Xverbose.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.obj -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.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) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.c'; fi` + newfstatat-newfstatat.o: newfstatat.c @am__fastdepCC_TRUE@ $(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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po @@ -7480,6 +8181,9 @@ $(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/aio_pgetevents.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) $^ $@ @@ -7489,6 +8193,18 @@ $(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/bpf-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/bpf-obj_get_info_by_fd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog-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) $^ $@ @@ -7576,6 +8292,15 @@ $(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xverbose.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) $^ $@ @@ -7768,6 +8493,9 @@ $(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.i $(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_inotify.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) $^ $@ @@ -7786,6 +8514,12 @@ $(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ioctl_nsfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_perf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ioctl_ptp.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) $^ $@ @@ -7828,12 +8562,48 @@ $(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ipc_msg-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xverbose.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_sem-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xverbose.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)/ipc_shm-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xverbose.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) $^ $@ @@ -7852,6 +8622,15 @@ $(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/keyctl-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xverbose.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) $^ $@ @@ -7915,9 +8694,27 @@ $(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xverbose.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)/mmap64-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xverbose.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) $^ $@ @@ -7936,6 +8733,15 @@ $(srcdir)/modify_ldt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mount-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xverbose.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) $^ $@ @@ -8062,9 +8868,15 @@ $(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_te $(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/nlattr_ifla_af_spec.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_linkinfo.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) $^ $@ @@ -8137,6 +8949,15 @@ $(srcdir)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/old_mmap-v-none.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/old_mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xverbose.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) $^ $@ @@ -8179,6 +9000,15 @@ $(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcd $(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/personality-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xverbose.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) $^ $@ @@ -8509,9 +9339,27 @@ $(srcdir)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/so_peercred-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xverbose.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)/sock_filter-v-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xverbose.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) $^ $@ @@ -8593,6 +9441,24 @@ $(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/trace_personality_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_x32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_x32.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) $^ $@ diff --git a/tests-mx32/add_key.c b/tests-mx32/add_key.c index 999da035..9ad5e281 100644 --- a/tests-mx32/add_key.c +++ b/tests-mx32/add_key.c @@ -2,7 +2,7 @@ * Check decoding of add_key syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -102,7 +102,7 @@ main(void) { bogus_desc, NULL }, { ARG_STR("\25\26\27\30\31") }, { ARG_STR("desc") }, - { "overly long description", _STR("overly long ") "..." }, + { "overly long description", STRINGIFY("overly long ") "..." }, }; struct { @@ -113,10 +113,10 @@ main(void) { ARG_STR(NULL), 0 }, { bogus_payload + sizeof(unterminated3), NULL, (size_t) 0xdeadbeefbadc0dedULL }, - { bogus_payload, _STR(""), 0 }, - { bogus_payload, _STR("\16\17\20\21\22"), 5 }, + { bogus_payload, STRINGIFY(""), 0 }, + { bogus_payload, STRINGIFY("\16\17\20\21\22"), 5 }, { bogus_payload, NULL, 10 }, - { "overly long payload", _STR("overly long ") "...", 15 }, + { "overly long payload", STRINGIFY("overly long ") "...", 15 }, }; struct { diff --git a/tests-mx32/aio.c b/tests-mx32/aio.c index 335bb318..ea18700f 100644 --- a/tests-mx32/aio.c +++ b/tests-mx32/aio.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -335,7 +335,7 @@ main(void) "}, {aio_key=%u, aio_lio_opcode=IOCB_CMD_PWRITEV" ", aio_reqprio=%hd, aio_fildes=%d, aio_buf=%#" PRI__x64 ", aio_nbytes=%" PRI__u64 ", aio_offset=%" PRI__d64 - "}, {NULL}, {%#lx}, %p]) = %s\n", + "}, {NULL}, {%#lx}, ... /* %p */]) = %s\n", *ctx, 1057L, cbv2[0].aio_data, cbv2[0].aio_key, cbv2[0].aio_lio_opcode, cbv2[0].aio_fildes, diff --git a/tests-mx32/aio_pgetevents.c b/tests-mx32/aio_pgetevents.c new file mode 100644 index 00000000..ba5ac718 --- /dev/null +++ b/tests-mx32/aio_pgetevents.c @@ -0,0 +1,190 @@ +/* + * Check decoding of io_pgetevents syscall. + * + * Copyright (c) 2015-2016 Dmitry V. Levin + * 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 "tests.h" +#include +#include +#include "scno.h" + +#if defined __NR_io_setup && defined __NR_io_pgetevents + +# include +# include +# include +# include + +# include "nsig.h" + +# include + +# if !HAVE_STRUCT___AIO_SIGSET +struct __aio_sigset { + sigset_t *sigmask; + size_t sigsetsize; +}; +# endif + +static const char *errstr; + +static long +sys_io_pgetevents(const kernel_ulong_t ctx_id, + const kernel_long_t min_nr, + const kernel_long_t nr, + const kernel_ulong_t events, + const kernel_ulong_t timeout, + const kernel_ulong_t usig) +{ + long rc = syscall(__NR_io_pgetevents, ctx_id, min_nr, nr, + events, timeout, usig); + errstr = sprintrc(rc); + return rc; +} + +int +main(void) +{ + static const kernel_ulong_t bogus_ctx = + (kernel_ulong_t) 0xface1e55deadbeefLL; + static const kernel_long_t bogus_min_nr = + (kernel_long_t) 0xca7faceddeadf00dLL; + static const kernel_long_t bogus_nr = + (kernel_long_t) 0xba5e1e505ca571e0LL; + static const size_t bogus_sigsetsize = + (size_t) 0xdeadbeefbadcaffeULL; + + const unsigned int sizeof_data0 = 4096; + const unsigned int sizeof_data1 = 8192; + void *data0 = tail_alloc(sizeof_data0); + void *data1 = tail_alloc(sizeof_data1); + + const struct iocb proto_cb[] = { + { + .aio_data = (unsigned long) 0xfeedface11111111ULL, + .aio_reqprio = 11, + .aio_buf = (unsigned long) data0, + .aio_offset = (unsigned long) 0xdeface1facefeedULL, + .aio_nbytes = sizeof_data0 + }, + { + .aio_data = (unsigned long) 0xfeedface22222222ULL, + .aio_reqprio = 22, + .aio_buf = (unsigned long) data1, + .aio_offset = (unsigned long) 0xdeface2cafef00dULL, + .aio_nbytes = sizeof_data1 + } + }; + const struct iocb *cb = tail_memdup(proto_cb, sizeof(proto_cb)); + + const long proto_cbs[] = { + (long) &cb[0], (long) &cb[1] + }; + const long *cbs = tail_memdup(proto_cbs, sizeof(proto_cbs)); + + TAIL_ALLOC_OBJECT_CONST_PTR(unsigned long, ctx); + *ctx = 0; + + const unsigned int nr = ARRAY_SIZE(proto_cb); + + const struct io_event *ev = tail_alloc(nr * sizeof(struct io_event)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts); + TAIL_ALLOC_OBJECT_CONST_PTR(struct __aio_sigset, ss); + TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, sigs); + + (void) close(0); + if (open("/dev/zero", O_RDONLY)) + perror_msg_and_skip("open: %s", "/dev/zero"); + + if (syscall(__NR_io_setup, nr, ctx)) + perror_msg_and_skip("io_setup"); + + if (syscall(__NR_io_submit, *ctx, nr, cbs) != (long) nr) + perror_msg_and_skip("io_submit"); + + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + (uintptr_t) (ev + 1), 0, 0); + printf("io_pgetevents(%#jx, %ld, %ld, %p, NULL, NULL) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, ev + 1, errstr); + + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + 0, (uintptr_t) (ts + 1), 0); + printf("io_pgetevents(%#jx, %ld, %ld, NULL, %p, NULL) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, ts + 1, errstr); + + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + 0, 0, (uintptr_t) (ss + 1)); + printf("io_pgetevents(%#jx, %ld, %ld, NULL, NULL, %p) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, ss + 1, errstr); + + ss->sigmask = sigs + 1; + ss->sigsetsize = bogus_sigsetsize; + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + 0, 0, (uintptr_t) ss); + printf("io_pgetevents(%#jx, %ld, %ld, NULL, NULL" + ", {sigmask=%p, sigsetsize=%zu}) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, sigs + 1, bogus_sigsetsize, errstr); + + ts->tv_sec = 0xdeadbeefU; + ts->tv_nsec = 0xfacefeedU; + ss->sigmask = sigs; + ss->sigsetsize = NSIG_BYTES; + sys_io_pgetevents(bogus_ctx, 0, 0, 0, (uintptr_t) ts, (uintptr_t) ss); + printf("io_pgetevents(%#jx, 0, 0, NULL" + ", {tv_sec=%lld, tv_nsec=%llu}" + ", {sigmask=~[], sigsetsize=%u}) = %s\n", + (uintmax_t) bogus_ctx, (long long) ts->tv_sec, + zero_extend_signed_to_ull(ts->tv_nsec), NSIG_BYTES, + errstr); + + sigemptyset(sigs); + sigaddset(sigs, SIGSYS); + + ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL; + ts->tv_nsec = (long) 0xbadc0dedfacefeedLL; + sys_io_pgetevents(bogus_ctx, 0, 0, 0, (uintptr_t) ts, (uintptr_t) ss); + printf("io_pgetevents(%#jx, 0, 0, NULL" + ", {tv_sec=%lld, tv_nsec=%llu}" + ", {sigmask=[SYS], sigsetsize=%u}) = %s\n", + (uintmax_t) bogus_ctx, (long long) ts->tv_sec, + zero_extend_signed_to_ull(ts->tv_nsec), NSIG_BYTES, + errstr); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("__NR_io_setup && __NR_io_pgetevents") + +#endif diff --git a/tests-mx32/aio_pgetevents.gen.test b/tests-mx32/aio_pgetevents.gen.test new file mode 100755 index 00000000..7ea3874d --- /dev/null +++ b/tests-mx32/aio_pgetevents.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (aio_pgetevents -e trace=io_pgetevents); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=io_pgetevents diff --git a/tests-mx32/bpf-obj_get_info_by_fd-prog-v.c b/tests-mx32/bpf-obj_get_info_by_fd-prog-v.c new file mode 100644 index 00000000..d7e10b43 --- /dev/null +++ b/tests-mx32/bpf-obj_get_info_by_fd-prog-v.c @@ -0,0 +1,3 @@ +#define CHECK_OBJ_PROG 1 +#define VERBOSE 1 +#include "bpf-obj_get_info_by_fd.c" diff --git a/tests-mx32/bpf-obj_get_info_by_fd-prog-v.gen.test b/tests-mx32/bpf-obj_get_info_by_fd-prog-v.gen.test new file mode 100755 index 00000000..fcaa1d8b --- /dev/null +++ b/tests-mx32/bpf-obj_get_info_by_fd-prog-v.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd-prog-v -a20 -y -v -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -v -e trace=bpf diff --git a/tests-mx32/bpf-obj_get_info_by_fd-prog.c b/tests-mx32/bpf-obj_get_info_by_fd-prog.c new file mode 100644 index 00000000..19a5f75a --- /dev/null +++ b/tests-mx32/bpf-obj_get_info_by_fd-prog.c @@ -0,0 +1,2 @@ +#define CHECK_OBJ_PROG 1 +#include "bpf-obj_get_info_by_fd.c" diff --git a/tests-mx32/bpf-obj_get_info_by_fd-prog.gen.test b/tests-mx32/bpf-obj_get_info_by_fd-prog.gen.test new file mode 100755 index 00000000..8cbd7c04 --- /dev/null +++ b/tests-mx32/bpf-obj_get_info_by_fd-prog.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd-prog -a20 -y -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -e trace=bpf diff --git a/tests-mx32/bpf-obj_get_info_by_fd-v.c b/tests-mx32/bpf-obj_get_info_by_fd-v.c new file mode 100644 index 00000000..2debc5f1 --- /dev/null +++ b/tests-mx32/bpf-obj_get_info_by_fd-v.c @@ -0,0 +1,2 @@ +#define VERBOSE 1 +#include "bpf-obj_get_info_by_fd.c" diff --git a/tests-mx32/bpf-obj_get_info_by_fd-v.gen.test b/tests-mx32/bpf-obj_get_info_by_fd-v.gen.test new file mode 100755 index 00000000..255d91e9 --- /dev/null +++ b/tests-mx32/bpf-obj_get_info_by_fd-v.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd-v -a20 -y -v -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -v -e trace=bpf diff --git a/tests-mx32/bpf-obj_get_info_by_fd.c b/tests-mx32/bpf-obj_get_info_by_fd.c new file mode 100644 index 00000000..67b5122a --- /dev/null +++ b/tests-mx32/bpf-obj_get_info_by_fd.c @@ -0,0 +1,499 @@ +/* + * Check bpf(BPF_OBJ_GET_INFO_BY_FD) decoding. + * + * 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" + +#ifndef CHECK_OBJ_PROG +# define CHECK_OBJ_PROG 0 +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "print_fields.h" +#include "scno.h" + +#ifdef HAVE_LINUX_BPF_H +# include +#endif + +#include "bpf_attr.h" + +#include "xlat.h" +#include "xlat/bpf_map_flags.h" +#include "xlat/bpf_map_types.h" +#include "xlat/bpf_prog_types.h" + +#define XLAT_MACROS_ONLY +#include "xlat/bpf_commands.h" +#include "xlat/bpf_op_alu.h" +#include "xlat/bpf_op_jmp.h" +#include "xlat/bpf_size.h" +#include "xlat/bpf_src.h" +#include "xlat/ebpf_class.h" +#include "xlat/ebpf_mode.h" +#include "xlat/ebpf_op_alu.h" +#include "xlat/ebpf_regs.h" +#include "xlat/ebpf_size.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 + +static const char *errstr; + +static long +sys_bpf(kernel_ulong_t cmd, void *attr, kernel_ulong_t size) +{ + long rc = syscall(__NR_bpf, cmd, attr, size); + errstr = sprintrc(rc); + return rc; +} + +static void +print_map_create(void *attr_void, size_t size, long rc) +{ + /* struct BPF_MAP_CREATE_struct *attr = attr_void; */ + + printf("bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_ARRAY, key_size=4" + ", value_size=8, max_entries=1"); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_flags)) + printf(", map_flags=0"); + if (size > offsetof(struct BPF_MAP_CREATE_struct, inner_map_fd)) + printf(", inner_map_fd=0"); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_name)) + printf(", map_name=\"test_map\""); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_ifindex)) + printf(", map_ifindex=0"); + printf("}, %zu) = ", size); + if (rc >= 0) + printf("%ld\n", rc); + else + puts(errstr); +} + +#if CHECK_OBJ_PROG +static struct bpf_insn socket_prog[] = { + { /* 0 */ + .code = BPF_ALU64 | BPF_K | BPF_MOV, + .dst_reg = BPF_REG_1, + .imm = 0, + }, + { /* 1 */ + .code = BPF_STX | BPF_W | BPF_MEM, + .dst_reg = BPF_REG_10, + .src_reg = BPF_REG_1, + .off = -4, + }, + { /* 2 */ + .code = BPF_ALU64 | BPF_X | BPF_MOV, + .dst_reg = BPF_REG_2, + .src_reg = BPF_REG_10, + }, + { /* 3 */ + .code = BPF_ALU64 | BPF_K | BPF_ADD, + .dst_reg = BPF_REG_2, + .imm = -4, + }, + { /* 4 */ + .code = BPF_LD | BPF_DW | BPF_IMM, + .dst_reg = BPF_REG_1, + .src_reg = 1 /* BPF_PSEUDO_MAP_FD */, + .imm = 0, /* to be set to map fd */ + }, + { /* 5 */ + .imm = 0, + }, + { /* 6 */ + .code = BPF_JMP | BPF_K | BPF_CALL, + .imm = 0x1, /* BPF_FUNC_map_lookup_elem */ + }, + { /* 7 */ + .code = BPF_ALU64 | BPF_K | BPF_MOV, + .dst_reg = BPF_REG_0, + .imm = 0, + }, + { /* 8 */ + .code = BPF_JMP | BPF_K | BPF_EXIT, + }, +}; + +# if VERBOSE +static const char *socket_prog_fmt = + "[{code=BPF_ALU64|BPF_K|BPF_MOV" + ", dst_reg=BPF_REG_1, src_reg=BPF_REG_0, off=0, imm=0}" + ", {code=BPF_STX|BPF_W|BPF_MEM" + ", dst_reg=BPF_REG_10, src_reg=BPF_REG_1, off=-4, imm=0}" + ", {code=BPF_ALU64|BPF_X|BPF_MOV" + ", dst_reg=BPF_REG_2, src_reg=BPF_REG_10, off=0, imm=0}" + ", {code=BPF_ALU64|BPF_K|BPF_ADD" + ", dst_reg=BPF_REG_2, src_reg=BPF_REG_0, off=0, imm=0xfffffffc}" + ", {code=BPF_LD|BPF_DW|BPF_IMM" + ", dst_reg=BPF_REG_1, src_reg=BPF_REG_1, off=0, imm=%#x}" + ", {code=BPF_LD|BPF_W|BPF_IMM" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0}" + ", {code=BPF_JMP|BPF_K|BPF_CALL" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0x1}" + ", {code=BPF_ALU64|BPF_K|BPF_MOV" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0}" + ", {code=BPF_JMP|BPF_K|BPF_EXIT" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0}" + "]"; +# endif /* VERBOSE */ + +static const char *license = "BSD"; +static char log_buf[4096]; + +static void +print_prog_load(void *attr_void, size_t size, long rc) +{ + printf("bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER" + ", insn_cnt=%zu, insns=", ARRAY_SIZE(socket_prog)); +# if VERBOSE + printf(socket_prog_fmt, socket_prog[4].imm); +# else + printf("%p", socket_prog); +# endif + if (size > offsetof(struct BPF_PROG_LOAD_struct, license)) + printf(", license=\"BSD\""); + if (size > offsetof(struct BPF_PROG_LOAD_struct, log_buf)) + printf(", log_level=42, log_size=%zu, log_buf=\"\"", + sizeof(log_buf)); + if (size > offsetof(struct BPF_PROG_LOAD_struct, kern_version)) + printf(", kern_version=KERNEL_VERSION(57005, 192, 222)"); + if (size > offsetof(struct BPF_PROG_LOAD_struct, prog_flags)) + printf(", prog_flags=0"); + if (size > offsetof(struct BPF_PROG_LOAD_struct, prog_name)) + printf(", prog_name=\"test_prog\""); + if (size > offsetof(struct BPF_PROG_LOAD_struct, prog_ifindex)) + printf(", prog_ifindex=0"); + if (size > offsetof(struct BPF_PROG_LOAD_struct, expected_attach_type)) + printf(", expected_attach_type=BPF_CGROUP_INET_INGRESS"); + printf("}, %zu) = ", size); + if (rc >= 0) + printf("%ld\n", rc); + else + puts(errstr); +} +#endif /* CHECK_OBJ_PROG */ + +static long +try_bpf(kernel_ulong_t cmd, void (*printer)(void *attr, size_t size, long rc), + void *attr, size_t **sizes) +{ + long rc; + + for (rc = -1; **sizes; (*sizes)++) { + rc = sys_bpf(cmd, attr, **sizes); + printer(attr, **sizes, rc); + + if (rc >= 0) + break; + } + + return rc; +} + +int +main(void) +{ + struct BPF_MAP_CREATE_struct bpf_map_create_attr = { + .map_type = BPF_MAP_TYPE_ARRAY, + .key_size = 4, + .value_size = 8, + .max_entries = 1, + .map_name = "test_map", + }; + size_t bpf_map_create_attr_sizes[] = { + sizeof(bpf_map_create_attr), + offsetofend(struct BPF_MAP_CREATE_struct, max_entries), + 0, + }; + +#if CHECK_OBJ_PROG + struct BPF_PROG_LOAD_struct bpf_prog_load_attr = { + .prog_type = BPF_PROG_TYPE_SOCKET_FILTER, + .insn_cnt = ARRAY_SIZE(socket_prog), + .insns = (uintptr_t) socket_prog, + .license = (uintptr_t) license, + .log_level = 42, + .log_size = sizeof(log_buf), + .log_buf = (uintptr_t) log_buf, + .kern_version = 0xdeadc0de, + .prog_name = "test_prog", + }; + size_t bpf_prog_load_attr_sizes[] = { + sizeof(bpf_prog_load_attr), + offsetofend(struct BPF_PROG_LOAD_struct, prog_name), + offsetofend(struct BPF_PROG_LOAD_struct, prog_flags), + offsetofend(struct BPF_PROG_LOAD_struct, kern_version), + offsetofend(struct BPF_PROG_LOAD_struct, log_buf), + offsetofend(struct BPF_PROG_LOAD_struct, license), + offsetofend(struct BPF_PROG_LOAD_struct, insns), + 0, + }; +#endif /* CHECK_OBJ_PROG */ + + size_t *bpf_map_create_attr_size = bpf_map_create_attr_sizes; + int map_fd = try_bpf(BPF_MAP_CREATE, print_map_create, + &bpf_map_create_attr, &bpf_map_create_attr_size); + if (map_fd < 0) + perror_msg_and_skip("BPF_MAP_CREATE failed"); + +#if CHECK_OBJ_PROG + socket_prog[4].imm = map_fd; + + size_t *bpf_prog_load_attr_size = bpf_prog_load_attr_sizes; + int prog_fd = try_bpf(BPF_PROG_LOAD, print_prog_load, + &bpf_prog_load_attr, &bpf_prog_load_attr_size); + if (prog_fd < 0) + perror_msg_and_skip("BPF_PROG_LOAD failed (log: \"%s\")", + log_buf); +#endif /* CHECK_OBJ_PROG */ + + /* + * This has to be a macro, otherwise the compiler complains that + * initializer element is not constant. + */ + #define MAP_INFO_SZ (sizeof(*map_info) + 64) + struct bpf_map_info_struct *map_info = calloc(1, MAP_INFO_SZ); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_map_get_info_attr = { + .bpf_fd = map_fd, + .info_len = MAP_INFO_SZ, + .info = (uintptr_t) map_info, + }; + + int ret = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_map_get_info_attr, + sizeof(bpf_map_get_info_attr)); + if (ret < 0) + perror_msg_and_skip("BPF_OBJ_GET_INFO_BY_FD map failed"); + + printf("bpf(BPF_OBJ_GET_INFO_BY_FD" + ", {info={bpf_fd=%d, info_len=%zu", + map_fd, MAP_INFO_SZ); + if (bpf_map_get_info_attr.info_len != MAP_INFO_SZ) + printf(" => %u", bpf_map_get_info_attr.info_len); + + printf(", info="); +#if VERBOSE + printf("{type="); + printxval(bpf_map_types, map_info->type, "BPF_MAP_TYPE_???"); + PRINT_FIELD_U(", ", *map_info, id); + PRINT_FIELD_U(", ", *map_info, key_size); + PRINT_FIELD_U(", ", *map_info, value_size); + PRINT_FIELD_U(", ", *map_info, max_entries); + printf(", map_flags="); + printflags(bpf_map_flags, map_info->map_flags, "BPF_F_???"); + + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, name)) { + printf(", name="); + print_quoted_cstring(map_info->name, sizeof(map_info->name)); + } + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, ifindex)) + printf(", ifindex=%u", map_info->ifindex); + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, netns_dev)) + printf(", netns_dev=makedev(%u, %u)", + major(map_info->netns_dev), minor(map_info->netns_dev)); + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, map_info->netns_ino); + printf("}"); +#else /* !VERBOSE */ + printf("%p", map_info); +#endif /* VERBOSE */ + printf("}}, %zu) = %s\n", sizeof(bpf_map_get_info_attr), errstr); + +#if CHECK_OBJ_PROG + /* + * This has to be a macro, otherwise the compiler complains that + * initializer element is not constant. + */ + #define PROG_INFO_SZ (sizeof(*prog_info) + 64) + struct bpf_prog_info_struct *prog_info = calloc(1, PROG_INFO_SZ); + struct bpf_insn *xlated_prog = tail_alloc(sizeof(*xlated_prog) * 42); + uint32_t *map_ids = tail_alloc(sizeof(*map_ids) * 2); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_prog_get_info_attr = { + .bpf_fd = prog_fd, + .info_len = PROG_INFO_SZ, + .info = (uintptr_t) prog_info, + }; + size_t old_prog_info_len = PROG_INFO_SZ; + + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; + switch (i) { + case 1: + prog_info->xlated_prog_insns = + (uintptr_t) (xlated_prog + 42); + prog_info->xlated_prog_len = 336; + prog_info->map_ids = (uintptr_t) (map_ids + 2); + prog_info->nr_map_ids = 2; + break; + case 2: + prog_info->xlated_prog_insns = (uintptr_t) xlated_prog; + /* TODO: check xlated_prog output */ + prog_info->xlated_prog_len = 0; + prog_info->map_ids = (uintptr_t) map_ids; + prog_info->nr_map_ids = 0; + break; + case 3: + prog_info->xlated_prog_insns = (uintptr_t) xlated_prog; + prog_info->xlated_prog_len = 0; + prog_info->map_ids = (uintptr_t) map_ids; + prog_info->nr_map_ids = 2; + break; + } + + ret = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_prog_get_info_attr, + sizeof(bpf_prog_get_info_attr)); + if (i != 1 && ret < 0) + perror_msg_and_skip("BPF_OBJ_GET_INFO_BY_FD" + " prog %u failed", i); + + printf("bpf(BPF_OBJ_GET_INFO_BY_FD" + ", {info={bpf_fd=%d, info_len=%zu", + prog_fd, old_prog_info_len); + if (!i && bpf_prog_get_info_attr.info_len != PROG_INFO_SZ) + printf(" => %u", bpf_prog_get_info_attr.info_len); + old_prog_info_len = bpf_prog_get_info_attr.info_len; + + printf(", info="); +# if VERBOSE + printf("{type="); + printxval(bpf_prog_types, prog_info->type, "BPF_PROG_TYPE_???"); + PRINT_FIELD_U(", ", *prog_info, id); + printf(", tag="); + print_quoted_hex(prog_info->tag, sizeof(prog_info->tag)); + printf(", jited_prog_len=0"); + if (prog_info->jited_prog_len) + printf(" => %u", prog_info->jited_prog_len); + printf(", jited_prog_insns=NULL"); + switch (i) { + case 0: + printf(", xlated_prog_len=0"); + if (prog_info->xlated_prog_len) + printf(" => %u", prog_info->xlated_prog_len); + printf(", xlated_prog_insns=NULL"); + break; + case 1: + printf(", xlated_prog_len=336"); + if (prog_info->xlated_prog_len != 336) + printf(" => %u", prog_info->xlated_prog_len); + if (prog_info->xlated_prog_len) + printf(", xlated_prog_insns=%p", xlated_prog + 42); + else + printf(", xlated_prog_insns=[]"); + break; + case 2: + case 3: + printf(", xlated_prog_len=0"); + if (prog_info->xlated_prog_len) + printf(" => %u", prog_info->xlated_prog_len); + printf(", xlated_prog_insns=[]"); + break; + } + + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, load_time)) + printf(", load_time=%" PRIu64, prog_info->load_time); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, created_by_uid)) + printf(", created_by_uid=%u", + prog_info->created_by_uid); + + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, map_ids)) { + switch (i) { + case 0: + printf(", nr_map_ids=0"); + if (prog_info->nr_map_ids) + printf(" => 1"); + printf(", map_ids=NULL"); + break; + case 1: + printf(", nr_map_ids=2, map_ids=%p", + map_ids + 2); + break; + case 2: + printf(", nr_map_ids=0"); + if (prog_info->nr_map_ids) + printf(" => 1"); + printf(", map_ids=[]"); + break; + case 3: + printf(", nr_map_ids=2"); + if (prog_info->nr_map_ids != 2) + printf(" => 1"); + printf(", map_ids=[%u]", map_info->id); + break; + } + } + + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, name)) + printf(", name=\"test_prog\""); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, ifindex)) + printf(", ifindex=%u", prog_info->ifindex); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, netns_dev)) + printf(", netns_dev=makedev(%u, %u)", + major(prog_info->netns_dev), + minor(prog_info->netns_dev)); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, prog_info->netns_ino); + + printf("}"); +# else /* !VERBOSE */ + printf("%p", prog_info); +# endif /* VERBOSE */ + printf("}}, %zu) = %s\n", + sizeof(bpf_prog_get_info_attr), errstr); + } +#endif /* CHECK_OBJ_PROG */ + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-mx32/bpf-obj_get_info_by_fd.gen.test b/tests-mx32/bpf-obj_get_info_by_fd.gen.test new file mode 100755 index 00000000..0efa59a4 --- /dev/null +++ b/tests-mx32/bpf-obj_get_info_by_fd.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd -a20 -y -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -e trace=bpf diff --git a/tests-mx32/bpf-success-v.c b/tests-mx32/bpf-success-v.c new file mode 100644 index 00000000..48c2a16d --- /dev/null +++ b/tests-mx32/bpf-success-v.c @@ -0,0 +1,2 @@ +#define INJECT_RETVAL 42 +#include "bpf-v.c" diff --git a/tests-mx32/bpf-success-v.test b/tests-mx32/bpf-success-v.test new file mode 100755 index 00000000..819afbbe --- /dev/null +++ b/tests-mx32/bpf-success-v.test @@ -0,0 +1,6 @@ +#!/bin/sh -efu + +. "${srcdir=.}/scno_tampering.sh" + +run_strace -a20 -v -e trace=bpf -e inject=bpf:retval=42 ../bpf-success-v > "$EXP" +match_diff "$LOG" "$EXP" diff --git a/tests-mx32/bpf-success.c b/tests-mx32/bpf-success.c new file mode 100644 index 00000000..06f46956 --- /dev/null +++ b/tests-mx32/bpf-success.c @@ -0,0 +1,2 @@ +#define INJECT_RETVAL 42 +#include "bpf.c" diff --git a/tests-mx32/bpf-success.test b/tests-mx32/bpf-success.test new file mode 100755 index 00000000..3cdfd35a --- /dev/null +++ b/tests-mx32/bpf-success.test @@ -0,0 +1,6 @@ +#!/bin/sh -efu + +. "${srcdir=.}/scno_tampering.sh" + +run_strace -a20 -e trace=bpf -e inject=bpf:retval=42 ../bpf-success > "$EXP" +match_diff "$LOG" "$EXP" diff --git a/tests-mx32/bpf.c b/tests-mx32/bpf.c index 72d7e8e5..15ce7132 100644 --- a/tests-mx32/bpf.c +++ b/tests-mx32/bpf.c @@ -49,6 +49,19 @@ #include "xlat.h" #include "xlat/bpf_commands.h" +#if defined MPERS_IS_m32 || SIZEOF_KERNEL_LONG_T > 4 +# define BIG_ADDR(addr64_, addr32_) addr64_ +# define BIG_ADDR_MAYBE(addr_) +#elif defined __arm__ || defined __i386__ || defined __mips__ \ + || defined __powerpc__ || defined __riscv__ || defined __s390__ \ + || defined __sparc__ || defined __tile__ +# define BIG_ADDR(addr64_, addr32_) addr64_ " or " addr32_ +# define BIG_ADDR_MAYBE(addr_) addr_ " or " +#else +# define BIG_ADDR(addr64_, addr32_) addr32_ +# define BIG_ADDR_MAYBE(addr_) +#endif + #ifndef HAVE_STRUCT_BPF_INSN struct bpf_insn { uint8_t code; @@ -76,6 +89,8 @@ union bpf_attr_data { 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); + BPF_ATTR_DATA_FIELD(BPF_PROG_QUERY); + BPF_ATTR_DATA_FIELD(BPF_RAW_TRACEPOINT_OPEN); char char_data[256]; }; @@ -105,7 +120,20 @@ static long sys_bpf(kernel_ulong_t cmd, kernel_ulong_t attr, kernel_ulong_t size) { long rc = syscall(__NR_bpf, cmd, attr, size); + errstr = sprintrc(rc); + +#ifdef INJECT_RETVAL + if (rc != INJECT_RETVAL) + error_msg_and_fail("Got a return value of %ld != %d", + rc, INJECT_RETVAL); + + static char inj_errstr[4096]; + + snprintf(inj_errstr, sizeof(inj_errstr), "%s (INJECTED)", errstr); + errstr = inj_errstr; +#endif + return rc; } @@ -232,36 +260,173 @@ test_bpf(const struct bpf_check *cmd_check) cmd_check->cmd_str, addr, page_size + 1, errstr); } -static const struct bpf_attr_check BPF_MAP_CREATE_checks[] = { +static void +init_BPF_MAP_CREATE_attr7(struct bpf_attr_check *check) +{ + struct BPF_MAP_CREATE_struct *attr = &check->data.BPF_MAP_CREATE_data; + attr->map_ifindex = ifindex_lo(); +} + +static 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" + ", max_entries=0" }, - { + { /* 1 */ .data = { .BPF_MAP_CREATE_data = { - .map_type = 1, + .map_type = 16, .key_size = 4, .value_size = 8, .max_entries = 256, - .map_flags = 7, + .map_flags = 63, .inner_map_fd = -1, - .numa_node = 42 + .numa_node = 3141592653, + .map_name = "0123456789abcde", } }, - .size = offsetofend(struct BPF_MAP_CREATE_struct, numa_node), - .str = "map_type=BPF_MAP_TYPE_HASH, key_size=4" + .size = offsetof(struct BPF_MAP_CREATE_struct, map_name) + 8, + .str = "map_type=BPF_MAP_TYPE_CPUMAP, 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" - } + "|BPF_F_NUMA_NODE|BPF_F_RDONLY|BPF_F_WRONLY" + "|BPF_F_STACK_BUILD_ID" + ", inner_map_fd=-1" + ", numa_node=3141592653" + ", map_name=\"0123456\"...", + + }, + { /* 2 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 17, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xffffffc0, + .inner_map_fd = 2718281828, + .numa_node = -1, + .map_name = "", + .map_ifindex = 3141592653, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_ifindex), + .str = "map_type=0x11 /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=0xffffffc0 /* BPF_F_??? */" + ", inner_map_fd=-1576685468" + ", map_name=\"\", map_ifindex=3141592653", + + }, + { /* 3 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_flags), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80", + }, + { /* 4 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, inner_map_fd), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468", + }, + { /* 5 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, numa_node), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468" + ", numa_node=4294967295 /* NUMA_NO_NODE */", + }, + { /* 6 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + .map_name = "fedcba9876543210", + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_name), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468" + ", numa_node=4294967295 /* NUMA_NO_NODE */" + ", map_name=\"fedcba987654321\"...", + }, + { /* 7 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + .map_name = "0123456789abcde", + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_ifindex), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468" + ", numa_node=4294967295 /* NUMA_NO_NODE */" + ", map_name=\"0123456789abcde\"" + ", map_ifindex=" IFINDEX_LO_STR, + .init_fn = init_BPF_MAP_CREATE_attr7, + }, }; 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" + .str = "map_fd=-1, key=NULL, value=NULL" }, { .data = { .BPF_MAP_LOOKUP_ELEM_data = { @@ -278,7 +443,7 @@ 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" + .str = "map_fd=-1, key=NULL, value=NULL, flags=BPF_ANY" }, { .data = { .BPF_MAP_UPDATE_ELEM_data = { @@ -297,7 +462,7 @@ 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" + .str = "map_fd=-1, key=NULL" }, { .data = { .BPF_MAP_DELETE_ELEM_data = { @@ -313,7 +478,7 @@ 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" + .str = "map_fd=-1, key=NULL, next_key=NULL" }, { .data = { .BPF_MAP_GET_NEXT_KEY_data = { @@ -327,30 +492,96 @@ static const struct bpf_attr_check BPF_MAP_GET_NEXT_KEY_checks[] = { }; static const struct bpf_insn insns[] = { - { .code = 0x95 } + { + .code = 0x95, + .dst_reg = 10, + .src_reg = 11, + .off = 0xdead, + .imm = 0xbadc0ded, + }, }; static const char license[] = "GPL"; -static char log_buf[4096]; static const char pathname[] = "/sys/fs/bpf/foo/bar"; +static char *log_buf; +/* + * This has to be a macro, otherwise the compiler complains that + * initializer element is not constant. + */ +#define log_buf_size 4096U + +static inline char * +get_log_buf(void) +{ + if (!log_buf) + log_buf = tail_alloc(log_buf_size); + return log_buf; +} + +static inline char * +get_log_buf_tail(void) +{ + return get_log_buf() + log_buf_size; +} + +#if VERBOSE +# define INSNS_FMT \ + "[{code=BPF_JMP|BPF_K|BPF_EXIT, dst_reg=BPF_REG_10" \ + ", src_reg=0xb /* BPF_REG_??? */, off=%d, imm=%#x}]" +# define INSNS_ARG insns[0].off, insns[0].imm +#else +# define INSNS_FMT "%p" +# define INSNS_ARG insns +#endif + static void -init_BPF_PROG_LOAD_attr(struct bpf_attr_check *check) +init_BPF_PROG_LOAD_attr3(struct bpf_attr_check *check) { 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; + attr->log_buf = (uintptr_t) get_log_buf_tail(); } static void -print_BPF_PROG_LOAD_attr(const struct bpf_attr_check *check, unsigned long addr) +print_BPF_PROG_LOAD_attr3(const struct bpf_attr_check *check, unsigned long addr) { - printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=%u, insns=%p" - ", license=\"%s\", log_level=42, log_size=4096, log_buf=%p" + printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=%u" + ", insns=" INSNS_FMT ", license=\"%s\", log_level=2718281828" + ", log_size=%u, log_buf=%p" ", kern_version=KERNEL_VERSION(51966, 240, 13)" - ", prog_flags=BPF_F_STRICT_ALIGNMENT", - (unsigned int) ARRAY_SIZE(insns), insns, - license, log_buf); + ", prog_flags=0x2 /* BPF_F_??? */" + ", prog_name=\"0123456789abcde\"..., prog_ifindex=3203399405", + (unsigned int) ARRAY_SIZE(insns), INSNS_ARG, license, + log_buf_size, get_log_buf_tail()); +} + +static void +init_BPF_PROG_LOAD_attr4(struct bpf_attr_check *check) +{ + 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) get_log_buf(); + attr->prog_ifindex = ifindex_lo(); + + strncpy(log_buf, "log test", 9); +} + +static void +print_BPF_PROG_LOAD_attr4(const struct bpf_attr_check *check, unsigned long addr) +{ + printf("prog_type=BPF_PROG_TYPE_UNSPEC, insn_cnt=%u, insns=" INSNS_FMT + ", license=\"%s\", log_level=2718281828, log_size=4" + ", log_buf=\"log \"..." + ", kern_version=KERNEL_VERSION(51966, 240, 13)" + ", prog_flags=BPF_F_STRICT_ALIGNMENT|0x2" + ", prog_name=\"0123456789abcde\"..., prog_ifindex=%s" + ", expected_attach_type=BPF_CGROUP_INET6_BIND", + (unsigned int) ARRAY_SIZE(insns), INSNS_ARG, + license, IFINDEX_LO_STR); } static struct bpf_attr_check BPF_PROG_LOAD_checks[] = { @@ -358,21 +589,82 @@ 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" + ", insn_cnt=0, insns=NULL, license=NULL" }, - { + { /* 1 */ .data = { .BPF_PROG_LOAD_data = { - .prog_type = 1, - .insn_cnt = ARRAY_SIZE(insns), + .prog_type = 18, + .insn_cnt = 0xbadc0ded, + .insns = 0, + .license = 0, .log_level = 42, - .log_size = sizeof(log_buf), + .log_size = 3141592653U, + .log_buf = 0, .kern_version = 0xcafef00d, - .prog_flags = 1 + .prog_flags = 0, } }, .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_flags), - .init_fn = init_BPF_PROG_LOAD_attr, - .print_fn = print_BPF_PROG_LOAD_attr - } + .str = "prog_type=0x12 /* BPF_PROG_TYPE_??? */" + ", insn_cnt=3134983661, insns=NULL, license=NULL" + ", log_level=42, log_size=3141592653, log_buf=NULL" + ", kern_version=KERNEL_VERSION(51966, 240, 13)" + ", prog_flags=0", + }, + { /* 2 */ + .data = { .BPF_PROG_LOAD_data = { + .prog_type = 17, + .insn_cnt = 0xbadc0ded, + .insns = 0xffffffff00000000, + .license = 0xffffffff00000000, + .log_level = 2718281828U, + .log_size = log_buf_size, + .log_buf = 0xffffffff00000000, + .kern_version = 0xcafef00d, + .prog_flags = 1, + .prog_name = "fedcba987654321", + } }, + .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_name), + .str = "prog_type=BPF_PROG_TYPE_RAW_TRACEPOINT" + ", insn_cnt=3134983661" + ", insns=" BIG_ADDR("0xffffffff00000000", "NULL") + ", license=" BIG_ADDR("0xffffffff00000000", "NULL") + ", log_level=2718281828, log_size=4096" + ", log_buf=" BIG_ADDR("0xffffffff00000000", "NULL") + ", kern_version=KERNEL_VERSION(51966, 240, 13)" + ", prog_flags=BPF_F_STRICT_ALIGNMENT" + ", prog_name=\"fedcba987654321\"", + }, + { /* 3 */ + .data = { .BPF_PROG_LOAD_data = { + .prog_type = 1, + .insn_cnt = ARRAY_SIZE(insns), + .log_level = 2718281828U, + .log_size = log_buf_size, + .kern_version = 0xcafef00d, + .prog_flags = 2, + .prog_name = "0123456789abcdef", + .prog_ifindex = 0xbeeffeed, + } }, + .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_ifindex), + .init_fn = init_BPF_PROG_LOAD_attr3, + .print_fn = print_BPF_PROG_LOAD_attr3 + }, + { /* 4 */ + .data = { .BPF_PROG_LOAD_data = { + .prog_type = 0, + .insn_cnt = ARRAY_SIZE(insns), + .log_level = 2718281828U, + .log_size = 4, + .kern_version = 0xcafef00d, + .prog_flags = 3, + .prog_name = "0123456789abcdef", + .expected_attach_type = 9, + } }, + .size = offsetofend(struct BPF_PROG_LOAD_struct, + expected_attach_type), + .init_fn = init_BPF_PROG_LOAD_attr4, + .print_fn = print_BPF_PROG_LOAD_attr4 + }, }; static void @@ -393,16 +685,7 @@ static struct bpf_attr_check BPF_OBJ_PIN_checks[] = { .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 + .str = "pathname=" BIG_ADDR("0xffffffffffffffff", "0xffffffff") ", bpf_fd=0", }, { @@ -468,7 +751,7 @@ 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" + ", data_size_out=0, data_in=NULL, data_out=NULL" ", repeat=0, duration=0}" }, { @@ -594,7 +877,7 @@ 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}" + .str = "info={bpf_fd=-1, info_len=0, info=NULL}" }, { .data = { .BPF_OBJ_GET_INFO_BY_FD_data = { @@ -608,6 +891,194 @@ static const struct bpf_attr_check BPF_OBJ_GET_INFO_BY_FD_checks[] = { } }; + +static uint32_t prog_load_ids[] = { 0, 1, 0xffffffff, 2718281828, }; +uint32_t *prog_load_ids_ptr; + +static void +init_BPF_PROG_QUERY_attr4(struct bpf_attr_check *check) +{ + struct BPF_PROG_QUERY_struct *attr = &check->data.BPF_PROG_QUERY_data; + + if (!prog_load_ids_ptr) + prog_load_ids_ptr = tail_memdup(prog_load_ids, + sizeof(prog_load_ids)); + + attr->prog_ids = (uintptr_t) prog_load_ids_ptr; + attr->prog_cnt = ARRAY_SIZE(prog_load_ids); +} + +static void +print_BPF_PROG_QUERY_attr4(const struct bpf_attr_check *check, unsigned long addr) +{ + printf("query={target_fd=-1153374643" + ", attach_type=0xfeedface /* BPF_??? */" + ", query_flags=BPF_F_QUERY_EFFECTIVE|0xdeadf00c" + ", attach_flags=BPF_F_ALLOW_MULTI|0xbeefcafc" +#if defined(INJECT_RETVAL) && INJECT_RETVAL > 0 + ", prog_ids=[0, 1, 4294967295, 2718281828], prog_cnt=4}" +#else + ", prog_ids=%p, prog_cnt=4}", prog_load_ids_ptr +#endif + ); +} + +static void +init_BPF_PROG_QUERY_attr5(struct bpf_attr_check *check) +{ + struct BPF_PROG_QUERY_struct *attr = &check->data.BPF_PROG_QUERY_data; + + if (!prog_load_ids_ptr) + prog_load_ids_ptr = tail_memdup(prog_load_ids, + sizeof(prog_load_ids)); + + attr->prog_ids = (uintptr_t) prog_load_ids_ptr; + attr->prog_cnt = ARRAY_SIZE(prog_load_ids) + 1; +} + +static void +print_BPF_PROG_QUERY_attr5(const struct bpf_attr_check *check, unsigned long addr) +{ + printf("query={target_fd=-1153374643" + ", attach_type=0xfeedface /* BPF_??? */" + ", query_flags=BPF_F_QUERY_EFFECTIVE|0xdeadf00c" + ", attach_flags=BPF_F_ALLOW_MULTI|0xbeefcafc" +#if defined(INJECT_RETVAL) && INJECT_RETVAL > 0 + ", prog_ids=[0, 1, 4294967295, 2718281828, ... /* %p */]" + ", prog_cnt=5}", + prog_load_ids_ptr + ARRAY_SIZE(prog_load_ids) +#else + ", prog_ids=%p, prog_cnt=5}", prog_load_ids_ptr +#endif + ); +} + +static struct bpf_attr_check BPF_PROG_QUERY_checks[] = { + { + .data = { .BPF_PROG_QUERY_data = { .target_fd = -1 } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, target_fd), + .str = "query={target_fd=-1" + ", attach_type=BPF_CGROUP_INET_INGRESS, query_flags=0" + ", attach_flags=0, prog_ids=NULL, prog_cnt=0}", + }, + { /* 1 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 13, + .query_flags = 1, + .attach_flags = 3, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, attach_flags), + .str = "query={target_fd=-1153374643" + ", attach_type=BPF_CGROUP_INET6_POST_BIND" + ", query_flags=BPF_F_QUERY_EFFECTIVE" + ", attach_flags=BPF_F_ALLOW_OVERRIDE|BPF_F_ALLOW_MULTI" + ", prog_ids=NULL, prog_cnt=0}", + }, + { /* 2 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 14, + .query_flags = 0xfffffffe, + .attach_flags = 0xfffffffc, + .prog_ids = 0xffffffffffffffffULL, + .prog_cnt = 2718281828, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .str = "query={target_fd=-1153374643" + ", attach_type=0xe /* BPF_??? */" + ", query_flags=0xfffffffe /* BPF_F_QUERY_??? */" + ", attach_flags=0xfffffffc /* BPF_F_??? */" + ", prog_ids=" + BIG_ADDR("0xffffffffffffffff", "0xffffffff") + ", prog_cnt=2718281828}", + }, + { /* 3 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 0xfeedface, + .query_flags = 0xdeadf00d, + .attach_flags = 0xbeefcafe, + .prog_ids = 0xffffffffffffffffULL, + .prog_cnt = 0, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .str = "query={target_fd=-1153374643" + ", attach_type=0xfeedface /* BPF_??? */" + ", query_flags=BPF_F_QUERY_EFFECTIVE|0xdeadf00c" + ", attach_flags=BPF_F_ALLOW_MULTI|0xbeefcafc" + ", prog_ids=" BIG_ADDR_MAYBE("0xffffffffffffffff") "[]" + ", prog_cnt=0}", + }, + { /* 4 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 0xfeedface, + .query_flags = 0xdeadf00d, + .attach_flags = 0xbeefcafe, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .init_fn = init_BPF_PROG_QUERY_attr4, + .print_fn = print_BPF_PROG_QUERY_attr4, + }, + { /* 5 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 0xfeedface, + .query_flags = 0xdeadf00d, + .attach_flags = 0xbeefcafe, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .init_fn = init_BPF_PROG_QUERY_attr5, + .print_fn = print_BPF_PROG_QUERY_attr5, + }, +}; + + +static void +init_BPF_RAW_TRACEPOINT_attr2(struct bpf_attr_check *check) +{ + /* TODO: test the 128 byte limit */ + static const char tp_name[] = "0123456789qwertyuiop0123456789qwe"; + + struct BPF_RAW_TRACEPOINT_OPEN_struct *attr = + &check->data.BPF_RAW_TRACEPOINT_OPEN_data; + + attr->name = (uintptr_t) tp_name; +} + +static struct bpf_attr_check BPF_RAW_TRACEPOINT_OPEN_checks[] = { + { + .data = { .BPF_RAW_TRACEPOINT_OPEN_data = { .name = 0 } }, + .size = offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, + name), + .str = "raw_tracepoint={name=NULL, prog_fd=0}", + }, + { /* 1 */ + .data = { .BPF_RAW_TRACEPOINT_OPEN_data = { + .name = 0xffffffff00000000ULL, + .prog_fd = 0xdeadbeef, + } }, + .size = offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, + prog_fd), + .str = "raw_tracepoint=" + "{name=" BIG_ADDR("0xffffffff00000000", "NULL") + ", prog_fd=-559038737}", + }, + { + .data = { .BPF_RAW_TRACEPOINT_OPEN_data = { + .prog_fd = 0xdeadbeef, + } }, + .size = offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, + prog_fd), + .init_fn = init_BPF_RAW_TRACEPOINT_attr2, + .str = "raw_tracepoint=" + "{name=\"0123456789qwertyuiop0123456789qw\"..." + ", prog_fd=-559038737}", + } +}; + + #define CHK(cmd_) \ { \ cmd_, #cmd_, \ @@ -635,6 +1106,8 @@ main(void) CHK(BPF_PROG_GET_FD_BY_ID), CHK(BPF_MAP_GET_FD_BY_ID), CHK(BPF_OBJ_GET_INFO_BY_FD), + CHK(BPF_PROG_QUERY), + CHK(BPF_RAW_TRACEPOINT_OPEN), }; page_size = get_page_size(); diff --git a/tests-mx32/btrfs-X.test b/tests-mx32/btrfs-X.test new file mode 100755 index 00000000..c129be96 --- /dev/null +++ b/tests-mx32/btrfs-X.test @@ -0,0 +1,11 @@ +#!/bin/sh + +# Check verbose xlat decoding of btrfs ioctl + +. "${srcdir=.}/init.sh" + +check_prog grep +run_prog ../btrfs -X > /dev/null +run_strace -a16 -Xverbose -eioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-mx32/btrfs-vX.test b/tests-mx32/btrfs-vX.test new file mode 100755 index 00000000..163b29fd --- /dev/null +++ b/tests-mx32/btrfs-vX.test @@ -0,0 +1,11 @@ +#!/bin/sh + +# Check verbose, verbose xlat decoding of btrfs ioctl + +. "${srcdir=.}/init.sh" + +check_prog grep +run_prog ../btrfs -v -X > /dev/null +run_strace -a16 -Xverbose -veioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-mx32/btrfs-vwX.test b/tests-mx32/btrfs-vwX.test new file mode 100755 index 00000000..57c68915 --- /dev/null +++ b/tests-mx32/btrfs-vwX.test @@ -0,0 +1,25 @@ +#!/bin/sh + +# Check verbose, verbose xlat decoding of btrfs ioctl w/ live ioctls. + +# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM + +# Typical usage: +# mkfs.btrfs +# mount /mnt +# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-vwX" +# umount /mnt + +. "${srcdir=.}/init.sh" + +if [ -z "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT not set" +elif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT does not point to a directory" +fi + +check_prog grep +run_prog ../btrfs -v -w -X "${BTRFS_MOUNTPOINT}" > /dev/null +run_strace -a16 -Xverbose -veioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-mx32/btrfs-wX.test b/tests-mx32/btrfs-wX.test new file mode 100755 index 00000000..5fb69499 --- /dev/null +++ b/tests-mx32/btrfs-wX.test @@ -0,0 +1,25 @@ +#!/bin/sh + +# Check verbose xlat decoding of btrfs ioctl w/ live ioctls. + +# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM + +# Typical usage: +# mkfs.btrfs +# mount /mnt +# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-wX" +# umount /mnt + +. "${srcdir=.}/init.sh" + +if [ -z "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT not set" +elif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT does not point to a directory" +fi + +check_prog grep +run_prog ../btrfs -w -X "${BTRFS_MOUNTPOINT}" > /dev/null +run_strace -a16 -Xverbose -eioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-mx32/btrfs.c b/tests-mx32/btrfs.c index 415f6928..b44bc872 100644 --- a/tests-mx32/btrfs.c +++ b/tests-mx32/btrfs.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -23,6 +24,7 @@ #include "xlat/btrfs_balance_flags.h" #include "xlat/btrfs_balance_state.h" #include "xlat/btrfs_compress_types.h" +#include "xlat/btrfs_cont_reading_from_srcdev_mode.h" #include "xlat/btrfs_defrag_flags.h" #include "xlat/btrfs_dev_stats_values.h" #include "xlat/btrfs_dev_stats_flags.h" @@ -62,6 +64,11 @@ static const char *btrfs_test_root; static int btrfs_test_dir_fd; static bool verbose; static bool write_ok; +static bool verbose_xlat; + +static const char *path; +static const char dir_name_fmt[] = "strace-test-%d"; +static char dir_name[sizeof(dir_name_fmt) + sizeof(int) * 3]; const unsigned char uuid_reference[BTRFS_UUID_SIZE] = { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, @@ -152,11 +159,61 @@ struct btrfs_ioctl_search_args_v2 { static const char * -maybe_print_uint64max(uint64_t val) +sprint_xlat_(uint32_t val, const char *xlat) +{ + static char str[256]; + int ret; + + if (verbose_xlat) { + ret = snprintf(str, sizeof(str), "%#x /* %s */", val, xlat); + + if (ret < 0) + perror_msg_and_fail("sprint_ioc(%#x, %s)", val, xlat); + if ((unsigned) ret >= sizeof(str)) + error_msg_and_fail("sprint_ioc(%#x, %s): buffer " + "overflow", val, xlat); + + return str; + } + + return xlat; +} + +#define ioc(x_) sprint_xlat_(x_, #x_) + +void +prfl_btrfs(const struct xlat *xlat, const unsigned long long val, + const char *str) +{ + if (verbose_xlat && val) + printf("%#llx /* ", val); + printflags(xlat, val, str); + if (verbose_xlat && val) + printf(" */"); +} + +void +prxval_btrfs(const struct xlat *xlat, const unsigned long long val, + const char *str, bool known) +{ + if (verbose_xlat && known) + printf("%#llx /* ", val); + printxval(xlat, val, str); + if (verbose_xlat && known) + printf(" */"); +} + +static void +print_uint64(const char *prefix, uint64_t val) { - if (val == UINT64_MAX) - return " /* UINT64_MAX */"; - return ""; + if (val == UINT64_MAX) { + if (verbose_xlat) + printf("%s%" PRIu64 " /* UINT64_MAX */", prefix, val); + else + printf("%sUINT64_MAX", prefix); + } else { + printf("%s%" PRIu64, prefix, val); + } } /* takes highest valid flag bit */ @@ -182,10 +239,10 @@ static void btrfs_test_trans_ioctls(void) { ioctl(-1, BTRFS_IOC_TRANS_START, NULL); - printf("ioctl(-1, BTRFS_IOC_TRANS_START) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_TRANS_START)); ioctl(-1, BTRFS_IOC_TRANS_END, NULL); - printf("ioctl(-1, BTRFS_IOC_TRANS_END) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_TRANS_END)); } /* @@ -201,14 +258,15 @@ btrfs_test_sync_ioctls(void) uint64_t u64val = 0xdeadbeefbadc0dedULL; ioctl(-1, BTRFS_IOC_SYNC, NULL); - printf("ioctl(-1, BTRFS_IOC_SYNC) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SYNC)); ioctl(-1, BTRFS_IOC_WAIT_SYNC, NULL); - printf("ioctl(-1, BTRFS_IOC_WAIT_SYNC, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_WAIT_SYNC)); ioctl(-1, BTRFS_IOC_WAIT_SYNC, &u64val); - printf("ioctl(-1, BTRFS_IOC_WAIT_SYNC, [%" PRIu64 - "]) = -1 EBADF (%m)\n", u64val); + printf("ioctl(-1, %s, [%" PRIu64 "]) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_WAIT_SYNC), u64val); /* * The live test of BTRFS_IOC_SYNC happens as a part of the test @@ -220,24 +278,24 @@ static void btrfs_print_qgroup_inherit(struct btrfs_qgroup_inherit *inherit) { printf("{flags="); - printflags(btrfs_qgroup_inherit_flags, inherit->flags, + prfl_btrfs(btrfs_qgroup_inherit_flags, inherit->flags, "BTRFS_QGROUP_INHERIT_???"); printf(", num_qgroups=%" PRI__u64 ", num_ref_copies=%" PRI__u64 ", num_excl_copies=%" PRI__u64 ", lim={flags=", inherit->num_qgroups, inherit->num_ref_copies, inherit->num_excl_copies); - printflags(btrfs_qgroup_limit_flags, + prfl_btrfs(btrfs_qgroup_limit_flags, inherit->lim.flags, "BTRFS_QGROUP_LIMIT_???"); printf(", max_rfer=%" PRI__u64 ", max_excl=%" PRI__u64 ", rsv_rfer=%" PRI__u64 ", rsv_excl=%" PRI__u64 - "}, qgroups=", + "}, ", inherit->lim.max_rfer, inherit->lim.max_excl, inherit->lim.rsv_rfer, inherit->lim.rsv_excl); if (verbose) { unsigned int i; - printf("["); + printf("qgroups=["); for (i = 0; i < inherit->num_qgroups; i++) { if (i > 0) printf(", "); @@ -254,7 +312,7 @@ static void btrfs_print_vol_args_v2(struct btrfs_ioctl_vol_args_v2 *args, int print_qgroups) { printf("{fd=%d, flags=", (int) args->fd); - printflags(btrfs_snap_flags_v2, args->flags, "BTRFS_SUBVOL_???"); + prfl_btrfs(btrfs_snap_flags_v2, args->flags, "BTRFS_SUBVOL_???"); if (args->flags & BTRFS_SUBVOL_QGROUP_INHERIT) { printf(", size=%" PRI__u64 ", qgroup_inherit=", args->size); @@ -302,61 +360,64 @@ btrfs_test_subvol_ioctls(void) strcpy(vol_args.name, subvol_name); ioctl(-1, BTRFS_IOC_SNAP_CREATE, NULL); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE)); ioctl(-1, BTRFS_IOC_SNAP_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE, " - "{fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE, " - "{fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SUBVOL_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_DESTROY," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_DESTROY), vol_args.name); strncpy(vol_args.name, long_subvol_name, BTRFS_PATH_NAME_MAX); ioctl(-1, BTRFS_IOC_SNAP_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SUBVOL_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_DESTROY," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_DESTROY), vol_args.name); long_subvol_name = realloc(long_subvol_name, BTRFS_SUBVOL_NAME_MAX); if (!long_subvol_name) perror_msg_and_fail("realloc failed"); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE_V2)); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); strcpy(vol_args_v2.name, subvol_name); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); strncpy(vol_args_v2.name, long_subvol_name, BTRFS_SUBVOL_NAME_MAX); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); @@ -364,12 +425,12 @@ btrfs_test_subvol_ioctls(void) strcpy(vol_args_v2.name, subvol_name); vol_args_v2.qgroup_inherit = bad_pointer; - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 0); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 0); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); @@ -394,31 +455,33 @@ btrfs_test_subvol_ioctls(void) inherit->lim.rsv_excl = u64val; vol_args_v2.qgroup_inherit = inherit; - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, NULL); - printf("ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEFAULT_SUBVOL)); ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, &u64val); - printf("ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, [%" - PRIu64 "]) = -1 EBADF (%m)\n", u64val); + printf("ioctl(-1, %s, [%" PRIu64 "]) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEFAULT_SUBVOL), u64val); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_SETFLAGS, "); - printflags(btrfs_snap_flags_v2, vol_args_v2.flags, + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_SETFLAGS)); + prfl_btrfs(btrfs_snap_flags_v2, vol_args_v2.flags, "BTRFS_SUBVOL_???"); ioctl(-1, BTRFS_IOC_SUBVOL_SETFLAGS, &vol_args_v2.flags); printf(") = -1 EBADF (%m)\n"); if (write_ok) { struct btrfs_ioctl_vol_args_v2 args_passed; + long ret; /* * Returns transid if flags & BTRFS_SUBVOL_CREATE_ASYNC * - BTRFS_IOC_SNAP_CREATE_V2 @@ -432,11 +495,14 @@ btrfs_test_subvol_ioctls(void) vol_args_v2.size = 0; vol_args_v2.qgroup_inherit = NULL; args_passed = vol_args_v2; - printf("ioctl(%d, BTRFS_IOC_SUBVOL_CREATE_V2, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); - ioctl(btrfs_test_dir_fd, BTRFS_IOC_SUBVOL_CREATE_V2, + ret = ioctl(btrfs_test_dir_fd, BTRFS_IOC_SUBVOL_CREATE_V2, &args_passed); + if (ret < 0) + perror_msg_and_fail("ioctl(BTRFS_IOC_SUBVOL_CREATE_V2) " + "failed"); printf(" => {transid=%" PRI__u64 "}) = 0\n", args_passed.transid); @@ -448,8 +514,8 @@ btrfs_test_subvol_ioctls(void) strncpy(vol_args_v2.name, long_subvol_name, BTRFS_NAME_LEN); vol_args_v2.fd = subvolfd; args_passed = vol_args_v2; - printf("ioctl(%d, BTRFS_IOC_SNAP_CREATE_V2, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&args_passed, 1); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_CREATE_V2, &args_passed); @@ -460,15 +526,15 @@ btrfs_test_subvol_ioctls(void) strncpy(vol_args.name, long_subvol_name, 255); vol_args.name[255] = 0; ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(%d, BTRFS_IOC_SNAP_DESTROY, " - "{fd=%d, name=\"%.*s\"}) = 0\n", - btrfs_test_dir_fd, (int) vol_args.fd, 255, long_subvol_name); + printf("ioctl(%d, %s, {fd=%d, name=\"%.*s\"}) = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SNAP_DESTROY), + (int) vol_args.fd, 255, long_subvol_name); strcpy(vol_args.name, subvol_name); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(%d, BTRFS_IOC_SNAP_DESTROY, " - "{fd=%d, name=\"%s\"}) = 0\n", - btrfs_test_dir_fd, (int) vol_args.fd, subvol_name); + printf("ioctl(%d, %s, {fd=%d, name=\"%s\"}) = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SNAP_DESTROY), + (int) vol_args.fd, subvol_name); close(subvolfd); } @@ -479,19 +545,18 @@ static void btrfs_print_balance_args(struct btrfs_balance_args *args) { printf("{profiles="); - printflags(btrfs_space_info_flags, args->profiles, + prfl_btrfs(btrfs_space_info_flags, args->profiles, "BTRFS_BLOCK_GROUP_???"); - printf(", usage=%"PRI__u64 "%s, devid=%"PRI__u64 "%s, pstart=%"PRI__u64 - "%s, pend=%"PRI__u64 "%s, vstart=%"PRI__u64 "%s, vend=%"PRI__u64 - "%s, target=%"PRI__u64 "%s, flags=", - args->usage, maybe_print_uint64max(args->usage), - args->devid, maybe_print_uint64max(args->devid), - args->pstart, maybe_print_uint64max(args->pstart), - args->pend, maybe_print_uint64max(args->pend), - args->vstart, maybe_print_uint64max(args->vstart), - args->vend, maybe_print_uint64max(args->vend), - args->target, maybe_print_uint64max(args->target)); - printflags(btrfs_balance_args, args->flags, "BTRFS_BALANCE_ARGS_???"); + print_uint64(", usage=", args->usage); + printf(", devid=makedev(%u, %u)", + major(args->devid), minor(args->devid)); + print_uint64(", pstart=", args->pstart); + print_uint64(", pend=", args->pend); + print_uint64(", vstart=", args->vstart); + print_uint64(", vend=", args->vend); + print_uint64(", target=", args->target); + printf(", flags="); + prfl_btrfs(btrfs_balance_args, args->flags, "BTRFS_BALANCE_ARGS_???"); printf("}"); } @@ -531,25 +596,31 @@ btrfs_test_balance_ioctls(void) struct btrfs_ioctl_vol_args vol_args = {}; ioctl(-1, BTRFS_IOC_BALANCE_CTL, 1); - printf("ioctl(-1, BTRFS_IOC_BALANCE_CTL, " - "BTRFS_BALANCE_CTL_PAUSE) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, %sBTRFS_BALANCE_CTL_PAUSE%s) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_BALANCE_CTL), + verbose_xlat ? "0x1 /* " : "", + verbose_xlat ? " */" : ""); ioctl(-1, BTRFS_IOC_BALANCE_CTL, 2); - printf("ioctl(-1, BTRFS_IOC_BALANCE_CTL, " - "BTRFS_BALANCE_CTL_CANCEL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, " + "%sBTRFS_BALANCE_CTL_CANCEL%s) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_BALANCE_CTL), + verbose_xlat ? "0x2 /* " : "", + verbose_xlat ? " */" : ""); ioctl(-1, BTRFS_IOC_BALANCE, NULL); - printf("ioctl(-1, BTRFS_IOC_BALANCE) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_BALANCE)); ioctl(-1, BTRFS_IOC_BALANCE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_BALANCE) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_BALANCE)); /* struct btrfs_ioctl_balance_args */ ioctl(-1, BTRFS_IOC_BALANCE_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_BALANCE_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_BALANCE_V2)); - printf("ioctl(-1, BTRFS_IOC_BALANCE_V2, {flags="); - printflags(btrfs_balance_flags, args.flags, "BTRFS_BALANCE_???"); + printf("ioctl(-1, %s, {flags=", ioc(BTRFS_IOC_BALANCE_V2)); + prfl_btrfs(btrfs_balance_flags, args.flags, "BTRFS_BALANCE_???"); printf(", data="); btrfs_print_balance_args(&args.data); printf(", meta="); @@ -560,6 +631,8 @@ btrfs_test_balance_ioctls(void) printf("}) = -1 EBADF (%m)\n"); if (write_ok) { + long ret; + args.flags = BTRFS_BALANCE_DATA | BTRFS_BALANCE_METADATA | BTRFS_BALANCE_SYSTEM; args.data.flags = 0; @@ -568,31 +641,43 @@ btrfs_test_balance_ioctls(void) args.meta.profiles = 0; args.sys.flags = 0; args.sys.profiles = 0; - printf("ioctl(%d, BTRFS_IOC_BALANCE_V2, {flags=", - btrfs_test_dir_fd); - printflags(btrfs_balance_flags, args.flags, - "BTRFS_BALANCE_???"); - printf(", data="); - btrfs_print_balance_args(&args.data); - printf(", meta="); - btrfs_print_balance_args(&args.meta); - printf(", sys="); - btrfs_print_balance_args(&args.sys); - ioctl(btrfs_test_dir_fd, BTRFS_IOC_BALANCE_V2, &args); - printf("} => {flags="); - printflags(btrfs_balance_flags, args.flags, + /* + * We should keep args the same for data in meta in case + * volume-under-tests uses mixed groups data and metadata. + */ + args.meta.pend = -1ULL; + args.meta.vend = -1ULL; + + printf("ioctl(%d, %s, {flags=", + btrfs_test_dir_fd, ioc(BTRFS_IOC_BALANCE_V2)); + + prfl_btrfs(btrfs_balance_flags, args.flags, "BTRFS_BALANCE_???"); - printf(", state="); - printflags(btrfs_balance_state, args.state, - "BTRFS_BALANCE_STATE_???"); printf(", data="); btrfs_print_balance_args(&args.data); printf(", meta="); btrfs_print_balance_args(&args.meta); printf(", sys="); btrfs_print_balance_args(&args.sys); - printf("}) = 0\n"); + ret = ioctl(btrfs_test_dir_fd, BTRFS_IOC_BALANCE_V2, &args); + if (ret < 0) { + printf("}) = %s\n", sprintrc(ret)); + } else { + printf("} => {flags="); + prfl_btrfs(btrfs_balance_flags, args.flags, + "BTRFS_BALANCE_???"); + printf(", state="); + prfl_btrfs(btrfs_balance_state, args.state, + "BTRFS_BALANCE_STATE_???"); + printf(", data="); + btrfs_print_balance_args(&args.data); + printf(", meta="); + btrfs_print_balance_args(&args.meta); + printf(", sys="); + btrfs_print_balance_args(&args.sys); + printf("}) = %ld\n", ret); + } } } @@ -615,38 +700,35 @@ btrfs_test_device_ioctls(void) }; ioctl(-1, BTRFS_IOC_RESIZE, NULL); - printf("ioctl(-1, BTRFS_IOC_RESIZE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_RESIZE)); strcpy(args.name, devid); ioctl(-1, BTRFS_IOC_RESIZE, &args); - printf("ioctl(-1, BTRFS_IOC_RESIZE, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_RESIZE), (int) args.fd, args.name); ioctl(-1, BTRFS_IOC_SCAN_DEV, NULL); - printf("ioctl(-1, BTRFS_IOC_SCAN_DEV, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCAN_DEV)); strcpy(args.name, devname); ioctl(-1, BTRFS_IOC_SCAN_DEV, &args); - printf("ioctl(-1, BTRFS_IOC_SCAN_DEV, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCAN_DEV), (int) args.fd, args.name); ioctl(-1, BTRFS_IOC_ADD_DEV, NULL); - printf("ioctl(-1, BTRFS_IOC_ADD_DEV, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_ADD_DEV)); ioctl(-1, BTRFS_IOC_ADD_DEV, &args); - printf("ioctl(-1, BTRFS_IOC_ADD_DEV, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_ADD_DEV), (int) args.fd, args.name); ioctl(-1, BTRFS_IOC_RM_DEV, NULL); - printf("ioctl(-1, BTRFS_IOC_RM_DEV, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_RM_DEV)); ioctl(-1, BTRFS_IOC_RM_DEV, &args); - printf("ioctl(-1, BTRFS_IOC_RM_DEV, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_RM_DEV), (int) args.fd, args.name); } @@ -667,17 +749,21 @@ btrfs_test_clone_ioctls(void) }; ioctl(-1, BTRFS_IOC_CLONE, clone_fd); - printf("ioctl(-1, BTRFS_IOC_CLONE or FICLONE, %x) = -1 EBADF (%m)\n", - clone_fd); + printf("ioctl(-1, %s, %x) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_CLONE, "BTRFS_IOC_CLONE or FICLONE"), + clone_fd); ioctl(-1, BTRFS_IOC_CLONE_RANGE, NULL); - printf("ioctl(-1, BTRFS_IOC_CLONE_RANGE or FICLONERANGE, " - "NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_CLONE_RANGE, + "BTRFS_IOC_CLONE_RANGE or FICLONERANGE")); ioctl(-1, BTRFS_IOC_CLONE_RANGE, &args); - printf("ioctl(-1, BTRFS_IOC_CLONE_RANGE or FICLONERANGE, " + printf("ioctl(-1, %s, " "{src_fd=%d, src_offset=%" PRI__u64 ", src_length=%" PRI__u64 ", dest_offset=%" PRI__u64 "}) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_CLONE_RANGE, + "BTRFS_IOC_CLONE_RANGE or FICLONERANGE"), (int) args.src_fd, args.src_offset, args.src_length, args.dest_offset); } @@ -686,16 +772,17 @@ btrfs_test_clone_ioctls(void) #define BTRFS_INVALID_COMPRESS (BTRFS_COMPRESS_TYPES + 1) static void -btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args) +btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args, + bool compress_type_known) { - printf("{start=%" PRIu64 ", len=%" PRIu64 "%s, flags=", - (uint64_t) args->start, (uint64_t) args->len, - maybe_print_uint64max(args->len)); + printf("{start=%" PRIu64, (uint64_t) args->start); + print_uint64(", len=", args->len); - printflags(btrfs_defrag_flags, args->flags, "BTRFS_DEFRAG_RANGE_???"); + printf(", flags="); + prfl_btrfs(btrfs_defrag_flags, args->flags, "BTRFS_DEFRAG_RANGE_???"); printf(", extent_thresh=%u, compress_type=", args->extent_thresh); - printxval(btrfs_compress_types, args->compress_type, - "BTRFS_COMPRESS_???"); + prxval_btrfs(btrfs_compress_types, args->compress_type, + "BTRFS_COMPRESS_???", compress_type_known); printf("}"); } @@ -721,29 +808,30 @@ btrfs_test_defrag_ioctls(void) * actually consume it. */ ioctl(-1, BTRFS_IOC_DEFRAG, NULL); - printf("ioctl(-1, BTRFS_IOC_DEFRAG) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_DEFRAG)); ioctl(-1, BTRFS_IOC_DEFRAG, &vol_args); - printf("ioctl(-1, BTRFS_IOC_DEFRAG) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_DEFRAG)); /* struct btrfs_ioctl_defrag_range_args */ ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, NULL); - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEFRAG_RANGE)); - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, "); - btrfs_print_defrag_range_args(&args); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_DEFRAG_RANGE)); + btrfs_print_defrag_range_args(&args, true); ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, &args); printf(") = -1 EBADF (%m)\n"); args.compress_type = BTRFS_INVALID_COMPRESS; - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, "); - btrfs_print_defrag_range_args(&args); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_DEFRAG_RANGE)); + btrfs_print_defrag_range_args(&args, false); ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, &args); printf(") = -1 EBADF (%m)\n"); args.len--; - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, "); - btrfs_print_defrag_range_args(&args); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_DEFRAG_RANGE)); + btrfs_print_defrag_range_args(&args, false); ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, &args); printf(") = -1 EBADF (%m)\n"); } @@ -761,18 +849,28 @@ static void btrfs_print_objectid(uint64_t objectid) { const char *str = xlookup(btrfs_tree_objectids, objectid); - printf("%" PRIu64, objectid); - if (str) - printf(" /* %s */", str); + if (str) { + if (verbose_xlat) + printf("%" PRIu64 " /* %s */", objectid, str); + else + printf("%s", str); + } else { + printf("%" PRIu64, objectid); + } } static void btrfs_print_key_type(uint32_t type) { const char *str = xlookup(btrfs_key_types, type); - printf("%u", type); - if (str) - printf(" /* %s */", str); + if (str) { + if (verbose_xlat) + printf("%u /* %s */", type, str); + else + printf("%s", str); + } else { + printf("%u", type); + } } static void @@ -788,18 +886,10 @@ btrfs_print_search_key(struct btrfs_ioctl_search_key *key) printf(", max_objectid="); btrfs_print_objectid(key->max_objectid); } - if (key->min_offset) - printf(", min_offset=%" PRI__u64 "%s", - key->min_offset, maybe_print_uint64max(key->min_offset)); - if (key->max_offset) - 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, - maybe_print_uint64max(key->min_transid)); - if (key->max_transid) - printf(", max_transid=%" PRI__u64 "%s", key->max_transid, - maybe_print_uint64max(key->max_transid)); + print_uint64(", min_offset=", key->min_offset); + print_uint64(", max_offset=", key->max_offset); + print_uint64(", min_transid=", key->min_transid); + print_uint64(", max_transid=", key->max_transid); printf(", min_type="); btrfs_print_key_type(key->min_type); printf(", max_type="); @@ -814,7 +904,7 @@ btrfs_print_tree_search_buf(struct btrfs_ioctl_search_key *key, if (verbose) { uint64_t i; uint64_t off = 0; - printf("["); + printf("buf=["); for (i = 0; i < key->nr_items; i++) { struct btrfs_ioctl_search_header *sh; sh = (typeof(sh))(buf + off); @@ -859,19 +949,21 @@ btrfs_test_search_ioctls(void) }; ioctl(-1, BTRFS_IOC_TREE_SEARCH, NULL); - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_TREE_SEARCH)); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_TREE_SEARCH_V2)); search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -880,13 +972,13 @@ btrfs_test_search_ioctls(void) key_reference.min_objectid = 6; key_reference.max_objectid = 7; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -895,13 +987,13 @@ btrfs_test_search_ioctls(void) key_reference.min_offset++; key_reference.max_offset--; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -910,13 +1002,13 @@ btrfs_test_search_ioctls(void) key_reference.min_transid++; key_reference.max_transid--; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -925,13 +1017,13 @@ btrfs_test_search_ioctls(void) key_reference.min_type = 1; key_reference.max_type = 12; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -950,11 +1042,11 @@ btrfs_test_search_ioctls(void) key_reference.max_offset = -1ULL; search_args.key = key_reference; - printf("ioctl(%d, BTRFS_IOC_TREE_SEARCH, {", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {", + btrfs_test_dir_fd, ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(btrfs_test_dir_fd, BTRFS_IOC_TREE_SEARCH, &search_args); - printf("} => {key={nr_items=%u}, buf=", + printf("} => {key={nr_items=%u}, ", search_args.key.nr_items); btrfs_print_tree_search_buf(&search_args.key, search_args.buf, sizeof(search_args.buf)); @@ -966,12 +1058,12 @@ btrfs_test_search_ioctls(void) args->key = key_reference; args->buf_size = bufsize; - printf("ioctl(%d, BTRFS_IOC_TREE_SEARCH_V2, {", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {", + btrfs_test_dir_fd, ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&key_reference); printf(", buf_size=%" PRIu64 "}", (uint64_t) args->buf_size); ioctl(btrfs_test_dir_fd, BTRFS_IOC_TREE_SEARCH_V2, args); - printf(" => {key={nr_items=%u}, buf_size=%" PRIu64 ", buf=", + printf(" => {key={nr_items=%u}, buf_size=%" PRIu64 ", ", args->key.nr_items, (uint64_t)args->buf_size); btrfs_print_tree_search_buf(&args->key, args->buf, args->buf_size); @@ -979,8 +1071,8 @@ btrfs_test_search_ioctls(void) args->key = key_reference; args->buf_size = sizeof(struct btrfs_ioctl_search_header); - printf("ioctl(%d, BTRFS_IOC_TREE_SEARCH_V2, {", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {", + btrfs_test_dir_fd, ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&args->key); printf(", buf_size=%" PRIu64 "}", (uint64_t)args->buf_size); ioctl(btrfs_test_dir_fd, BTRFS_IOC_TREE_SEARCH_V2, args); @@ -1003,9 +1095,10 @@ btrfs_test_ino_lookup_ioctl(void) }; ioctl(-1, BTRFS_IOC_INO_LOOKUP, NULL); - printf("ioctl(-1, BTRFS_IOC_INO_LOOKUP, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_INO_LOOKUP)); - printf("ioctl(-1, BTRFS_IOC_INO_LOOKUP, {treeid="); + printf("ioctl(-1, %s, {treeid=", ioc(BTRFS_IOC_INO_LOOKUP)); btrfs_print_objectid(args.treeid); printf(", objectid="); btrfs_print_objectid(args.objectid); @@ -1013,8 +1106,8 @@ btrfs_test_ino_lookup_ioctl(void) printf("}) = -1 EBADF (%m)\n"); if (btrfs_test_root) { - printf("ioctl(%d, BTRFS_IOC_INO_LOOKUP, {treeid=", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {treeid=", + btrfs_test_dir_fd, ioc(BTRFS_IOC_INO_LOOKUP)); btrfs_print_objectid(args.treeid); printf(", objectid="); btrfs_print_objectid(args.objectid); @@ -1033,20 +1126,20 @@ btrfs_test_space_info_ioctl(void) struct btrfs_ioctl_space_args args = {}; ioctl(-1, BTRFS_IOC_SPACE_INFO, NULL); - printf("ioctl(-1, BTRFS_IOC_SPACE_INFO, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SPACE_INFO)); ioctl(-1, BTRFS_IOC_SPACE_INFO, &args); - printf("ioctl(-1, BTRFS_IOC_SPACE_INFO, " - "{space_slots=%" PRI__u64 "}) = -1 EBADF (%m)\n", - args.space_slots); + printf("ioctl(-1, %s, {space_slots=%" PRI__u64 "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SPACE_INFO), args.space_slots); if (btrfs_test_root) { struct btrfs_ioctl_space_args args_passed; struct btrfs_ioctl_space_args *argsp; args_passed = args; - printf("ioctl(%d, BTRFS_IOC_SPACE_INFO, " - "{space_slots=%" PRI__u64 "}", - btrfs_test_dir_fd, args_passed.space_slots); + printf("ioctl(%d, %s, {space_slots=%" PRI__u64 "}", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SPACE_INFO), + args_passed.space_slots); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SPACE_INFO, &args_passed); printf(" => {total_spaces=%" PRI__u64 "}) = 0\n", args_passed.total_spaces); @@ -1058,22 +1151,22 @@ btrfs_test_space_info_ioctl(void) *argsp = args; argsp->space_slots = args_passed.total_spaces; - printf("ioctl(%d, BTRFS_IOC_SPACE_INFO, " - "{space_slots=%" PRI__u64 "}", - btrfs_test_dir_fd, argsp->space_slots); + printf("ioctl(%d, %s, {space_slots=%" PRI__u64 "}", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SPACE_INFO), + argsp->space_slots); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SPACE_INFO, argsp); - printf(" => {total_spaces=%" PRI__u64 ", spaces=", + printf(" => {total_spaces=%" PRI__u64 ", ", argsp->total_spaces); if (verbose) { unsigned int i; - printf("["); + printf("spaces=["); for (i = 0; i < argsp->total_spaces; i++) { struct btrfs_ioctl_space_info *info; info = &argsp->spaces[i]; if (i) printf(", "); printf("{flags="); - printflags(btrfs_space_info_flags, info->flags, + prfl_btrfs(btrfs_space_info_flags, info->flags, "BTRFS_SPACE_INFO_???"); printf(", total_bytes=%" PRI__u64 ", used_bytes=%" PRI__u64 "}", @@ -1106,25 +1199,28 @@ btrfs_test_scrub_ioctls(void) }; ioctl(-1, BTRFS_IOC_SCRUB, NULL); - printf("ioctl(-1, BTRFS_IOC_SCRUB, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SCRUB)); ioctl(-1, BTRFS_IOC_SCRUB_CANCEL, NULL); - printf("ioctl(-1, BTRFS_IOC_SCRUB_CANCEL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SCRUB_CANCEL)); - printf("ioctl(-1, BTRFS_IOC_SCRUB, {devid=%" PRI__u64 ", start=%" - 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_???"); + printf("ioctl(-1, %s, {devid=makedev(%u, %u)", + ioc(BTRFS_IOC_SCRUB), major(args.devid), minor(args.devid)); + print_uint64(", start=", args.start); + print_uint64(", end=", args.end); + printf(", flags="); + prfl_btrfs(btrfs_scrub_flags, args.flags, "BTRFS_SCRUB_???"); ioctl(-1, BTRFS_IOC_SCRUB, &args); printf("}) = -1 EBADF (%m)\n"); ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, NULL); - printf("ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCRUB_PROGRESS)); ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, &args); - printf("ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, " - "{devid=%" PRI__u64 "}) = -1 EBADF (%m)\n", args.devid); + printf("ioctl(-1, %s, {devid=makedev(%u, %u)}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCRUB_PROGRESS), + major(args.devid), minor(args.devid)); } /* @@ -1140,12 +1236,14 @@ btrfs_test_dev_info_ioctl(void) memcpy(&args.uuid, uuid_reference, BTRFS_UUID_SIZE); ioctl(-1, BTRFS_IOC_DEV_INFO, NULL); - printf("ioctl(-1, BTRFS_IOC_DEV_INFO, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEV_INFO)); ioctl(-1, BTRFS_IOC_DEV_INFO, &args); - printf("ioctl(-1, BTRFS_IOC_DEV_INFO, " - "{devid=%" PRI__u64 ", uuid=%s}) = -1 EBADF (%m)\n", - args.devid, uuid_reference_string); + printf("ioctl(-1, %s, " + "{devid=makedev(%u, %u), uuid=%s}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEV_INFO), major(args.devid), minor(args.devid), + uuid_reference_string); } /* @@ -1177,32 +1275,32 @@ btrfs_test_ino_path_ioctls(void) ioctl(-1, BTRFS_IOC_INO_PATHS, NULL); - printf("ioctl(-1, BTRFS_IOC_INO_PATHS, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_INO_PATHS)); ioctl(-1, BTRFS_IOC_LOGICAL_INO, NULL); - printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_LOGICAL_INO)); ioctl(-1, BTRFS_IOC_INO_PATHS, &args); - printf("ioctl(-1, BTRFS_IOC_INO_PATHS, " - "{inum=%" PRI__u64 ", size=%" PRI__u64 + printf("ioctl(-1, %s, {inum=%" PRI__u64 ", size=%" PRI__u64 ", fspath=NULL}) = -1 EBADF (%m)\n", - args.inum, args.size); + ioc(BTRFS_IOC_INO_PATHS), 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 + printf("ioctl(-1, %s, {inum=%" PRI__u64 ", size=%" PRI__u64 ", fspath=0x%" PRI__x64 "}) = -1 EBADF (%m)\n", - args.inum, args.size, args.fspath); + ioc(BTRFS_IOC_INO_PATHS), 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 + printf("ioctl(-1, %s, {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); + ioc(BTRFS_IOC_LOGICAL_INO), args.inum, args.size); args.fspath = (uintptr_t) buf; args.reserved[0] = 0; @@ -1215,11 +1313,13 @@ btrfs_test_ino_path_ioctls(void) 1; ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args); - printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64 + printf("ioctl(-1, %s, {logical=%" PRI__u64 ", size=%" PRI__u64 ", reserved=[0, 0xdeadc0defacefeec, 0]" - ", flags=BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET" + ", flags=%sBTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET%s" ", inodes=0x%" PRI__x64 "}) = -1 EBADF (%m)\n", - args.inum, args.size, args.fspath); + ioc(BTRFS_IOC_LOGICAL_INO), args.inum, args.size, + verbose_xlat ? "0x1 /* " : "", verbose_xlat ? " */" : "", + args.fspath); args.reserved[1] = 0; #ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS @@ -1230,9 +1330,10 @@ btrfs_test_ino_path_ioctls(void) 0; ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args); - printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64 + printf("ioctl(-1, %s, {logical=%" PRI__u64 ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64 - "}) = -1 EBADF (%m)\n", args.inum, args.size, args.fspath); + "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_LOGICAL_INO), args.inum, args.size, args.fspath); #ifdef HAVE_LINUX_FIEMAP_H if (btrfs_test_root) { @@ -1248,17 +1349,16 @@ btrfs_test_ino_path_ioctls(void) perror_msg_and_fail("fstat failed"); args.inum = si.st_ino; - printf("ioctl(%d, BTRFS_IOC_INO_PATHS, " - "{inum=%" PRI__u64 ", size=%" PRI__u64 + printf("ioctl(%d, %s, {inum=%" PRI__u64 ", size=%" PRI__u64 ", fspath=0x%" PRI__x64 "}", - btrfs_test_dir_fd, args.inum, args.size, - args.fspath); + btrfs_test_dir_fd, ioc(BTRFS_IOC_INO_PATHS), + args.inum, args.size, args.fspath); ioctl(btrfs_test_dir_fd, BTRFS_IOC_INO_PATHS, &args); - printf(" => {fspath={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, val=", + printf(" => {fspath={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, ", data->bytes_left, data->bytes_missing, data->elem_cnt, data->elem_missed); if (verbose) { - printf("[\"strace-test\"]"); + printf("val=[\"%s\"]", dir_name); } else printf("..."); printf("}}) = 0\n"); @@ -1280,7 +1380,7 @@ btrfs_test_ino_path_ioctls(void) */ fsync(fd); ioctl(fd, BTRFS_IOC_SYNC, NULL); - printf("ioctl(%d, BTRFS_IOC_SYNC) = 0\n", fd); + printf("ioctl(%d, %s) = 0\n", fd, ioc(BTRFS_IOC_SYNC)); size = sizeof(*fiemap) + 2 * sizeof(fiemap->fm_extents[0]); fiemap = malloc(size); @@ -1292,18 +1392,19 @@ btrfs_test_ino_path_ioctls(void) fiemap->fm_extent_count = 2; /* This is also a live test for FIEMAP */ - printf("ioctl(%d, FS_IOC_FIEMAP, {fm_start=%" PRI__u64 + printf("ioctl(%d, %s, {fm_start=%" PRI__u64 ", fm_length=%" PRI__u64 ", fm_flags=", - fd, fiemap->fm_start, fiemap->fm_length); - printflags(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); + fd, ioc(FS_IOC_FIEMAP), + fiemap->fm_start, fiemap->fm_length); + prfl_btrfs(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); printf(", fm_extent_count=%u}", fiemap->fm_extent_count); ioctl(fd, FS_IOC_FIEMAP, fiemap); printf(" => {fm_flags="); - printflags(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); - printf(", fm_mapped_extents=%u, fm_extents=", + prfl_btrfs(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); + printf(", fm_mapped_extents=%u, ", fiemap->fm_mapped_extents); if (verbose) { - printf("["); + printf("fm_extents=["); unsigned int i; for (i = 0; i < fiemap->fm_mapped_extents; i++) { struct fiemap_extent *fe; @@ -1316,7 +1417,7 @@ btrfs_test_ino_path_ioctls(void) ", ", fe->fe_logical, fe->fe_physical, fe->fe_length); - printflags(fiemap_extent_flags, fe->fe_flags, + prfl_btrfs(fiemap_extent_flags, fe->fe_flags, "FIEMAP_EXTENT_???"); printf("}"); } @@ -1326,15 +1427,16 @@ btrfs_test_ino_path_ioctls(void) printf("}) = 0\n"); args.inum = fiemap->fm_extents[0].fe_physical; - printf("ioctl(%d, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64 + printf("ioctl(%d, %s, {logical=%" PRI__u64 ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64 "}", - fd, args.inum, args.size, args.fspath); + fd, ioc(BTRFS_IOC_LOGICAL_INO), + 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=", + printf(" => {inodes={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, ", data->bytes_left, data->bytes_missing, data->elem_cnt, data->elem_missed); if (verbose) { - printf("[{inum=%llu, offset=0, root=5}]", + printf("val=[{inum=%llu, offset=0, root=5}]", (unsigned long long) si.st_ino); } else printf("..."); @@ -1359,18 +1461,23 @@ btrfs_test_set_received_subvol_ioctl(void) .nsec = 12345, }, }; + int saved_errno; + memcpy(&args.uuid, uuid_reference, BTRFS_UUID_SIZE); ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, NULL); - printf("ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, " - "NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_RECEIVED_SUBVOL)); ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, &args); - printf("ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, " - "{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); + saved_errno = errno; + printf("ioctl(-1, %s, {uuid=%s, stransid=%" PRI__u64 + ", stime={sec=%" PRI__u64 ", nsec=%u}", + ioc(BTRFS_IOC_SET_RECEIVED_SUBVOL), uuid_reference_string, + args.stransid, args.stime.sec, args.stime.nsec); + print_time_t_nsec(args.stime.sec, args.stime.nsec, true); + errno = saved_errno; + printf(", flags=0}) = -1 EBADF (%m)\n"); } /* @@ -1388,29 +1495,25 @@ btrfs_test_send_ioctl(void) }; ioctl(-1, BTRFS_IOC_SEND, NULL); - printf("ioctl(-1, BTRFS_IOC_SEND, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SEND)); - printf("ioctl(-1, BTRFS_IOC_SEND, " - "{send_fd=%d, clone_sources_count=%" PRI__u64 - ", clone_sources=", + printf("ioctl(-1, %s, {send_fd=%d, clone_sources_count=%" PRI__u64 + ", clone_sources=NULL", + ioc(BTRFS_IOC_SEND), (int) args.send_fd, args.clone_sources_count); - if (verbose) - printf("NULL"); - else - printf("..."); printf(", parent_root="); btrfs_print_objectid(args.parent_root); printf(", flags="); - printflags(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); + prfl_btrfs(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); ioctl(-1, BTRFS_IOC_SEND, &args); printf("}) = -1 EBADF (%m)\n"); args.clone_sources_count = 2; args.clone_sources = (__u64 *) (void *) u64_array; - printf("ioctl(-1, BTRFS_IOC_SEND, " - "{send_fd=%d, clone_sources_count=%" PRI__u64 + printf("ioctl(-1, %s, {send_fd=%d, clone_sources_count=%" PRI__u64 ", clone_sources=", + ioc(BTRFS_IOC_SEND), (int) args.send_fd, args.clone_sources_count); if (verbose) { printf("["); @@ -1419,11 +1522,11 @@ btrfs_test_send_ioctl(void) btrfs_print_objectid(u64_array[1]); printf("]"); } else - printf("..."); + printf("%p", args.clone_sources); printf(", parent_root="); btrfs_print_objectid(args.parent_root); printf(", flags="); - printflags(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); + prfl_btrfs(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); ioctl(-1, BTRFS_IOC_SEND, &args); printf("}) = -1 EBADF (%m)\n"); } @@ -1440,26 +1543,37 @@ btrfs_test_quota_ctl_ioctl(void) }; ioctl(-1, BTRFS_IOC_QUOTA_CTL, NULL); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL)); ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "BTRFS_QUOTA_CTL_ENABLE}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {cmd=%sBTRFS_QUOTA_CTL_ENABLE%s}) " + "= -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL), + verbose_xlat ? "0x1 /* " : "", + verbose_xlat ? " */" : ""); args.cmd = 2; ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "BTRFS_QUOTA_CTL_DISABLE}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {cmd=%sBTRFS_QUOTA_CTL_DISABLE%s}) " + "= -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL), + verbose_xlat ? "0x2 /* " : "", + verbose_xlat ? " */" : ""); args.cmd = 3; ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "BTRFS_QUOTA_CTL_RESCAN__NOTUSED}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, " + "{cmd=%sBTRFS_QUOTA_CTL_RESCAN__NOTUSED%s}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL), + verbose_xlat ? "0x3 /* " : "", + verbose_xlat ? " */" : ""); args.cmd = 4; ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "0x4 /* BTRFS_QUOTA_CTL_??? */}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, " + "{cmd=0x4 /* BTRFS_QUOTA_CTL_??? */}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL)); } /* @@ -1476,12 +1590,14 @@ btrfs_test_qgroup_assign_ioctl(void) }; ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, NULL); - printf("ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QGROUP_ASSIGN)); ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, &args); - printf("ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, " + printf("ioctl(-1, %s, " "{assign=%" PRI__u64 ", src=%" PRI__u64 ", dst=%" PRI__u64 - "}) = -1 EBADF (%m)\n", args.assign, args.src, args.dst); + "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QGROUP_ASSIGN), args.assign, args.src, args.dst); } /* @@ -1497,12 +1613,13 @@ btrfs_test_qgroup_create_ioctl(void) }; ioctl(-1, BTRFS_IOC_QGROUP_CREATE, NULL); - printf("ioctl(-1, BTRFS_IOC_QGROUP_CREATE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_QGROUP_CREATE)); ioctl(-1, BTRFS_IOC_QGROUP_CREATE, &args); - printf("ioctl(-1, BTRFS_IOC_QGROUP_CREATE, " + printf("ioctl(-1, %s, " "{create=%" PRI__u64 ", qgroupid=%" PRI__u64 - "}) = -1 EBADF (%m)\n", args.create, args.qgroupid); + "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QGROUP_CREATE), args.create, args.qgroupid); } /* @@ -1519,13 +1636,15 @@ btrfs_test_quota_rescan_ioctl(void) }; ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, NULL); - printf("ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_RESCAN)); ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, " - "{flags=0}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {flags=0}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_RESCAN)); ioctl(-1, BTRFS_IOC_QUOTA_RESCAN_WAIT, NULL); - printf("ioctl(-1, BTRFS_IOC_QUOTA_RESCAN_WAIT) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_RESCAN_WAIT)); } @@ -1542,20 +1661,21 @@ btrfs_test_label_ioctls(void) char label[BTRFS_LABEL_SIZE] = "btrfs-label"; ioctl(-1, BTRFS_IOC_SET_FSLABEL, NULL); - printf("ioctl(-1, BTRFS_IOC_SET_FSLABEL, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_FSLABEL)); ioctl(-1, BTRFS_IOC_SET_FSLABEL, label); - printf("ioctl(-1, BTRFS_IOC_SET_FSLABEL, \"%s\") = -1 EBADF (%m)\n", - label); + printf("ioctl(-1, %s, \"%s\") = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_FSLABEL), label); if (write_ok) { ioctl(btrfs_test_dir_fd, BTRFS_IOC_SET_FSLABEL, label); - printf("ioctl(%d, BTRFS_IOC_SET_FSLABEL, \"%s\") = 0\n", - btrfs_test_dir_fd, label); + printf("ioctl(%d, %s, \"%s\") = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SET_FSLABEL), label); ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_FSLABEL, label); - printf("ioctl(%d, BTRFS_IOC_GET_FSLABEL, \"%s\") = 0\n", - btrfs_test_dir_fd, label); + printf("ioctl(%d, %s, \"%s\") = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_GET_FSLABEL), label); } } @@ -1573,12 +1693,13 @@ btrfs_test_get_dev_stats_ioctl(void) }; ioctl(-1, BTRFS_IOC_GET_DEV_STATS, NULL); - printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_GET_DEV_STATS)); - printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64 - ", nr_items=%" PRI__u64 ", flags=", - args.devid, args.nr_items); - printflags(btrfs_dev_stats_flags, args.flags, + printf("ioctl(-1, %s, {devid=makedev(%u, %u)" + ", nr_items=%" PRI__u64 ", flags=", + ioc(BTRFS_IOC_GET_DEV_STATS), + major(args.devid), minor(args.devid), args.nr_items); + prfl_btrfs(btrfs_dev_stats_flags, args.flags, "BTRFS_DEV_STATS_???"); ioctl(-1, BTRFS_IOC_GET_DEV_STATS, &args); printf("}) = -1 EBADF (%m)\n"); @@ -1586,24 +1707,33 @@ btrfs_test_get_dev_stats_ioctl(void) if (write_ok) { unsigned int i; args.flags = BTRFS_DEV_STATS_RESET; - printf("ioctl(%d, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64 + printf("ioctl(%d, %s, {devid=makedev(%u, %u)" ", nr_items=%" PRI__u64 ", flags=", - btrfs_test_dir_fd, args.devid, args.nr_items); - printflags(btrfs_dev_stats_flags, args.flags, + btrfs_test_dir_fd, ioc(BTRFS_IOC_GET_DEV_STATS), + major(args.devid), minor(args.devid), args.nr_items); + prfl_btrfs(btrfs_dev_stats_flags, args.flags, "BTRFS_DEV_STATS_???"); ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_DEV_STATS, &args); printf("} => {nr_items=%" PRI__u64 ", flags=", args.nr_items); - printflags(btrfs_dev_stats_flags, args.flags, + prfl_btrfs(btrfs_dev_stats_flags, args.flags, "BTRFS_DEV_STATS_???"); printf(", ["); for (i = 0; i < args.nr_items; i++) { const char *name = xlookup(btrfs_dev_stats_values, i); if (i) printf(", "); + + if (name) { + if (verbose_xlat) + printf("[%u /* %s */] = ", i, name); + else + printf("[%s] = ", name); + } else { + printf("[%u] = ", i); + } + printf("%" PRI__u64, args.values[i]); - if (name) - printf(" /* %s */", name); } printf("]}) = 0\n"); } @@ -1627,22 +1757,38 @@ btrfs_test_dev_replace_ioctl(void) /* struct btrfs_ioctl_dev_replace_args */ ioctl(-1, BTRFS_IOC_DEV_REPLACE, NULL); - printf("ioctl(-1, BTRFS_IOC_DEV_REPLACE, NULL) = -1 EBADF (%m)\n"); - - 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 - ", srcdev_name=\"%s\", tgtdev_name=\"%s\"}}) = -1 EBADF (%m)\n", - args.start.srcdevid, - args.start.cont_reading_from_srcdev_mode, - (char *)args.start.srcdev_name, - (char *)args.start.tgtdev_name); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_DEV_REPLACE)); + + for (unsigned long i = 0; i < 3; i++) { + int saved_errno; + + args.start.cont_reading_from_srcdev_mode = i; + ioctl(-1, BTRFS_IOC_DEV_REPLACE, &args); + saved_errno = errno; + printf("ioctl(-1, %s, " + "{cmd=%sBTRFS_IOCTL_DEV_REPLACE_CMD_START%s" + ", start={srcdevid=makedev(%u, %u)" + ", cont_reading_from_srcdev_mode=", + ioc(BTRFS_IOC_DEV_REPLACE), + verbose_xlat ? "0 /* " : "", verbose_xlat ? " */" : "", + major(args.start.srcdevid), minor(args.start.srcdevid)); + prxval_btrfs(btrfs_cont_reading_from_srcdev_mode, + args.start.cont_reading_from_srcdev_mode, + "BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV" + "_MODE_???", i < 2); + errno = saved_errno; + printf(", srcdev_name=\"%s\", tgtdev_name=\"%s\"}}) " + "= -1 EBADF (%m)\n", + (char *)args.start.srcdev_name, + (char *)args.start.tgtdev_name); + } args.cmd = 1; ioctl(-1, BTRFS_IOC_DEV_REPLACE, &args); - printf("ioctl(-1, BTRFS_IOC_DEV_REPLACE, " - "{cmd=BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {cmd=%sBTRFS_IOCTL_DEV_REPLACE_CMD_STATUS%s}) " + "= -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEV_REPLACE), + verbose_xlat ? "0x1 /* " : "", verbose_xlat ? " */" : ""); } static void @@ -1656,13 +1802,16 @@ btrfs_test_extent_same_ioctl(void) struct file_dedupe_range *argsp; ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME, NULL); - printf("ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " - "NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE")); - printf("ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " + printf("ioctl(-1, %s, " "{src_offset=%" PRIu64 ", src_length=%" PRIu64 ", dest_count=%hu, info=[]", + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE"), (uint64_t)args.src_offset, (uint64_t)args.src_length, args.dest_count); ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME, &args); @@ -1682,10 +1831,12 @@ btrfs_test_extent_same_ioctl(void) argsp->info[2].dest_fd = 2; argsp->info[2].dest_offset = 20480; - printf("ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " + printf("ioctl(-1, %s, " "{src_offset=%" PRIu64 ", src_length=%" PRIu64 ", dest_count=%hu, info=", + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE"), (int64_t)argsp->src_offset, (uint64_t)argsp->src_length, argsp->dest_count); printf("[{dest_fd=%" PRId64 ", dest_offset=%" PRIu64 @@ -1744,9 +1895,12 @@ btrfs_test_extent_same_ioctl(void) argsp->info[2].dest_fd = fd2; argsp->info[2].dest_offset = 20480; - printf("ioctl(%d, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " + printf("ioctl(%d, %s, " "{src_offset=%" PRIu64 ", src_length=%" PRIu64 ", dest_count=%hu, info=", fd1, + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME" + " or FIDEDUPERANGE"), (uint64_t)argsp->src_offset, (uint64_t)argsp->src_length, argsp->dest_count); printf("[{dest_fd=%" PRId64 ", dest_offset=%" PRIu64 @@ -1797,11 +1951,11 @@ btrfs_print_features(struct btrfs_ioctl_feature_flags *flags) "BTRFS_FEATURE_COMPAT_???"); printf(", compat_ro_flags="); - printflags(btrfs_features_compat_ro, flags->compat_ro_flags, + prfl_btrfs(btrfs_features_compat_ro, flags->compat_ro_flags, "BTRFS_FEATURE_COMPAT_RO_???"); printf(", incompat_flags="); - printflags(btrfs_features_incompat, flags->incompat_flags, + prfl_btrfs(btrfs_features_incompat, flags->incompat_flags, "BTRFS_FEATURE_INCOMPAT_???"); printf("}"); } @@ -1831,9 +1985,10 @@ btrfs_test_features_ioctls(void) struct btrfs_ioctl_feature_flags supported_features[3]; ioctl(-1, BTRFS_IOC_SET_FEATURES, NULL); - printf("ioctl(-1, BTRFS_IOC_SET_FEATURES, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_FEATURES)); - printf("ioctl(-1, BTRFS_IOC_SET_FEATURES, ["); + printf("ioctl(-1, %s, [", ioc(BTRFS_IOC_SET_FEATURES)); btrfs_print_features(&args[0]); printf(", "); btrfs_print_features(&args[1]); @@ -1841,8 +1996,8 @@ btrfs_test_features_ioctls(void) printf("]) = -1 EBADF (%m)\n"); if (btrfs_test_root) { - printf("ioctl(%d, BTRFS_IOC_GET_FEATURES, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, ioc(BTRFS_IOC_GET_FEATURES)); ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_FEATURES, &supported_features); btrfs_print_features(&supported_features[0]); @@ -1850,8 +2005,9 @@ btrfs_test_features_ioctls(void) ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_SUPPORTED_FEATURES, &supported_features); - printf("ioctl(%d, BTRFS_IOC_GET_SUPPORTED_FEATURES, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, + ioc(BTRFS_IOC_GET_SUPPORTED_FEATURES)); printf("["); btrfs_print_features(&supported_features[0]); printf(" /* supported */, "); @@ -1880,19 +2036,28 @@ btrfs_test_read_ioctls(void) unsigned int i; for (i = 0; i < ARRAY_SIZE(btrfs_read_cmd); ++i) { ioctl(-1, (unsigned long) btrfs_read_cmd[i].val, 0); - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", btrfs_read_cmd[i].str); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + sprint_xlat_(btrfs_read_cmd[i].val, + btrfs_read_cmd[i].str)); } } +static void +rm_test_dir(void) +{ + int rootfd = open(path, O_RDONLY|O_DIRECTORY); + + unlinkat(rootfd, dir_name, AT_REMOVEDIR); +} + int main(int argc, char *argv[]) { int opt; int ret; - const char *path; - while ((opt = getopt(argc, argv, "wv")) != -1) { + while ((opt = getopt(argc, argv, "wvX")) != -1) { switch (opt) { case 'v': /* @@ -1904,11 +2069,18 @@ main(int argc, char *argv[]) case 'w': write_ok = true; break; + case 'X': + verbose_xlat = true; + break; default: - error_msg_and_fail("usage: btrfs [-v] [-w] [path]"); + error_msg_and_fail("usage: btrfs [-vwX] [path]"); } } + ret = snprintf(dir_name, sizeof(dir_name), dir_name_fmt, getpid()); + if (ret < 0) + perror_msg_and_fail("snprintf(dir_name)"); + /* * This will enable optional tests that require a valid file descriptor */ @@ -1930,14 +2102,18 @@ main(int argc, char *argv[]) if (rootfd < 0) perror_msg_and_fail("open(%s) failed", path); - ret = mkdirat(rootfd, "strace-test", 0755); + ret = mkdirat(rootfd, dir_name, 0755); if (ret < 0 && errno != EEXIST) - perror_msg_and_fail("mkdirat(strace-test) failed"); + perror_msg_and_fail("mkdirat(%s) failed", dir_name); + + /* Register removal of the created directory. */ + if (ret == 0) + atexit(rm_test_dir); - btrfs_test_dir_fd = openat(rootfd, "strace-test", + btrfs_test_dir_fd = openat(rootfd, dir_name, O_RDONLY|O_DIRECTORY); if (btrfs_test_dir_fd < 0) - perror_msg_and_fail("openat(strace-test) failed"); + perror_msg_and_fail("openat(%s) failed", dir_name); close(rootfd); } else write_ok = false; diff --git a/tests-mx32/execve.c b/tests-mx32/execve.c index da3bc520..c1dedfcc 100644 --- a/tests-mx32/execve.c +++ b/tests-mx32/execve.c @@ -2,7 +2,7 @@ * This file is part of execve strace test. * * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -59,17 +59,18 @@ main(void) execve(FILENAME, tail_argv, tail_envp); printf("execve(\"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #else ", %p /* 5 vars, unterminated */" #endif ") = -1 ENOENT (%m)\n", Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5] + argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv) #if VERBOSE - , q_envp[0], q_envp[1], envp[2], envp[3], envp[4] + , q_envp[0], q_envp[1], envp[2], envp[3], envp[4], + (char *) tail_envp + sizeof(envp) #else , tail_envp #endif diff --git a/tests-mx32/execveat.c b/tests-mx32/execveat.c index 566a59f9..853e26c4 100644 --- a/tests-mx32/execveat.c +++ b/tests-mx32/execveat.c @@ -2,7 +2,7 @@ * This file is part of execveat strace test. * * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -64,17 +64,18 @@ main(void) syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100); printf("execveat(AT_FDCWD, \"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #else ", %p /* 5 vars, unterminated */" #endif ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], + argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv), #if VERBOSE q_envp[0], q_envp[1], envp[2], envp[3], envp[4], + (char *) tail_envp + sizeof(envp), #else tail_envp, #endif diff --git a/tests-mx32/fanotify_mark-Xabbrev.c b/tests-mx32/fanotify_mark-Xabbrev.c new file mode 100644 index 00000000..2dc9fa12 --- /dev/null +++ b/tests-mx32/fanotify_mark-Xabbrev.c @@ -0,0 +1 @@ +#include "fanotify_mark.c" diff --git a/tests-mx32/fanotify_mark-Xabbrev.gen.test b/tests-mx32/fanotify_mark-Xabbrev.gen.test new file mode 100755 index 00000000..86c40340 --- /dev/null +++ b/tests-mx32/fanotify_mark-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a32 -Xabbrev -e trace=fanotify_mark diff --git a/tests-mx32/fanotify_mark-Xraw.c b/tests-mx32/fanotify_mark-Xraw.c new file mode 100644 index 00000000..f02c886a --- /dev/null +++ b/tests-mx32/fanotify_mark-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "fanotify_mark.c" diff --git a/tests-mx32/fanotify_mark-Xraw.gen.test b/tests-mx32/fanotify_mark-Xraw.gen.test new file mode 100755 index 00000000..5be964d0 --- /dev/null +++ b/tests-mx32/fanotify_mark-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a32 -Xraw -e trace=fanotify_mark diff --git a/tests-mx32/fanotify_mark-Xverbose.c b/tests-mx32/fanotify_mark-Xverbose.c new file mode 100644 index 00000000..b76f46f3 --- /dev/null +++ b/tests-mx32/fanotify_mark-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "fanotify_mark.c" diff --git a/tests-mx32/fanotify_mark-Xverbose.gen.test b/tests-mx32/fanotify_mark-Xverbose.gen.test new file mode 100755 index 00000000..ef1a99d6 --- /dev/null +++ b/tests-mx32/fanotify_mark-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a32 -Xverbose -e trace=fanotify_mark diff --git a/tests-mx32/fanotify_mark.c b/tests-mx32/fanotify_mark.c index 11cf7d0d..9509b837 100644 --- a/tests-mx32/fanotify_mark.c +++ b/tests-mx32/fanotify_mark.c @@ -3,7 +3,7 @@ * * Copyright (c) 2015-2016 Dmitry V. Levin * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -41,6 +41,20 @@ # include # include +#if XLAT_RAW +# define str_fan_mark_add "0x1" +# define str_fan_modify_ondir "0x40000002" +# define str_at_fdcwd "-100" +#elif XLAT_VERBOSE +# define str_fan_mark_add "0x1 /* FAN_MARK_ADD */" +# define str_fan_modify_ondir "0x40000002 /* FAN_MODIFY|FAN_ONDIR */" +# define str_at_fdcwd "-100 /* AT_FDCWD */" +#else +# define str_fan_mark_add "FAN_MARK_ADD" +# define str_fan_modify_ondir "FAN_MODIFY|FAN_ONDIR" +# define str_at_fdcwd "AT_FDCWD" +#endif + /* Performs fanotify_mark call via the syscall interface. */ static void do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str, @@ -97,26 +111,73 @@ main(void) static const struct strval flags[] = { { F8ILL_KULONG_MASK, "0" }, { (kernel_ulong_t) 0xdec0deddefaced00ULL, - "0xefaced00 /* FAN_MARK_??? */" }, + "0xefaced00" +#if !XLAT_RAW + " /* FAN_MARK_??? */" +#endif + }, { (kernel_ulong_t) 0xda7a105700000040ULL, - "FAN_MARK_IGNORED_SURV_MODIFY" }, +#if XLAT_RAW + "0x40" +#elif XLAT_VERBOSE + "0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */" +#else + "FAN_MARK_IGNORED_SURV_MODIFY" +#endif + }, { (kernel_ulong_t) 0xbadc0deddeadfeedULL, +#if XLAT_RAW || XLAT_VERBOSE + "0xdeadfeed" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW "FAN_MARK_ADD|FAN_MARK_DONT_FOLLOW|FAN_MARK_ONLYDIR|" "FAN_MARK_IGNORED_MASK|FAN_MARK_IGNORED_SURV_MODIFY|" - "FAN_MARK_FLUSH|0xdeadfe00" }, + "FAN_MARK_FLUSH|0xdeadfe00" +#endif +#if XLAT_VERBOSE + " */" +#endif + }, }; static const struct strval64 masks[] = { { ARG_ULL_STR(0) }, { 0xdeadfeedfacebeefULL, +#if XLAT_RAW || XLAT_VERBOSE + "0xdeadfeedfacebeef" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW "FAN_ACCESS|FAN_MODIFY|FAN_CLOSE_WRITE|FAN_OPEN|" "FAN_ACCESS_PERM|FAN_ONDIR|FAN_EVENT_ON_CHILD|" - "0xdeadfeedb2ccbec4" }, - { ARG_ULL_STR(0xffffffffb7fcbfc4) " /* FAN_??? */" }, + "0xdeadfeedb2ccbec4" +#endif +#if XLAT_VERBOSE + " */" +#endif + }, + { ARG_ULL_STR(0xffffffffb7fcbfc4) +#if !XLAT_RAW + " /* FAN_??? */" +#endif + }, }; static const struct strval dirfds[] = { { (kernel_ulong_t) 0xfacefeed00000001ULL, "1" }, - { (kernel_ulong_t) 0xdec0ded0ffffffffULL, "FAN_NOFD" }, - { (kernel_ulong_t) 0xbadfacedffffff9cULL, "AT_FDCWD" }, + { (kernel_ulong_t) 0xdec0ded0ffffffffULL, +#if XLAT_RAW + "-1" +#elif XLAT_VERBOSE + "-1 /* FAN_NOFD */" +#else + "FAN_NOFD" +#endif + }, + { (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd }, { (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" }, }; static const char str64[] = STR64; @@ -149,8 +210,9 @@ main(void) rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -100, "."); - printf("fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY|FAN_ONDIR" - ", AT_FDCWD, \".\") = %s\n", sprintrc(rc)); + printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n", + str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd, + sprintrc(rc)); for (i = 0; i < ARRAY_SIZE(fds); i++) { for (j = 0; j < ARRAY_SIZE(flags); j++) { diff --git a/tests-mx32/fcntl-common.c b/tests-mx32/fcntl-common.c new file mode 100644 index 00000000..a35a8372 --- /dev/null +++ b/tests-mx32/fcntl-common.c @@ -0,0 +1,267 @@ +/* + * Copyright (c) 2015-2016 Dmitry V. Levin + * 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 +#include +#include +#include +#include +#include "flock.h" + +#define FILE_LEN 4096 + +#define TEST_FLOCK_EINVAL(cmd) test_flock_einval(cmd, #cmd) +#define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) + +#ifdef HAVE_TYPEOF +# define TYPEOF_FLOCK_OFF_T typeof(((struct_kernel_flock *) NULL)->l_len) +#else +# define TYPEOF_FLOCK_OFF_T off_t +#endif + +static const char *errstr; + +static long +invoke_test_syscall(const unsigned int fd, const unsigned int cmd, void *const p) +{ + const kernel_ulong_t kfd = F8ILL_KULONG_MASK | fd; + const kernel_ulong_t op = F8ILL_KULONG_MASK | cmd; + + long rc = syscall(TEST_SYSCALL_NR, kfd, op, (uintptr_t) p); + errstr = sprintrc(rc); + return rc; +} + +static void +test_flock_einval(const int cmd, const char *name) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL; + fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; + + invoke_test_syscall(0, cmd, fl); + printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, + (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); + + void *const bad_addr = (void *) fl + 1; + invoke_test_syscall(0, cmd, bad_addr); + printf("%s(0, %s, %p) = %s\n", + TEST_SYSCALL_STR, name, bad_addr, errstr); +} + +/* + * This function is not declared static to avoid potential + * "defined but not used" warning when included by fcntl.c + */ +void +test_flock64_einval(const int cmd, const char *name) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock64, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL; + fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; + + invoke_test_syscall(0, cmd, fl); + printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, + (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); + + void *const bad_addr = (void *) fl + 1; + invoke_test_syscall(0, cmd, bad_addr); + printf("%s(0, %s, %p) = %s\n", + TEST_SYSCALL_STR, name, bad_addr, errstr); +} + +static void +test_flock(void) +{ + TEST_FLOCK_EINVAL(F_SETLK); + TEST_FLOCK_EINVAL(F_SETLKW); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_len = FILE_LEN; + + long rc = invoke_test_syscall(0, F_SETLK, fl); + printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = %s\n", + TEST_SYSCALL_STR, FILE_LEN, errstr); + if (rc) + return; + + invoke_test_syscall(0, F_GETLK, fl); + printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d, l_pid=0}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); + + invoke_test_syscall(0, F_SETLKW, fl); + printf("%s(0, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); +} + +static void +test_flock64_ofd(void) +{ +#if defined F_OFD_GETLK && defined F_OFD_SETLK && defined F_OFD_SETLKW + TEST_FLOCK64_EINVAL(F_OFD_SETLK); + TEST_FLOCK64_EINVAL(F_OFD_SETLKW); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock64, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_len = FILE_LEN; + + long rc = invoke_test_syscall(0, F_OFD_SETLK, fl); + printf("%s(0, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = %s\n", + TEST_SYSCALL_STR, FILE_LEN, errstr); + if (rc) + return; + + invoke_test_syscall(0, F_OFD_GETLK, fl); + printf("%s(0, F_OFD_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d, l_pid=0}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); + + invoke_test_syscall(0, F_OFD_SETLKW, fl); + printf("%s(0, F_OFD_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); +#endif /* F_OFD_GETLK && F_OFD_SETLK && F_OFD_SETLKW */ +} + +static void test_flock64_lk64(void); + +static void +test_flock64(void) +{ + test_flock64_ofd(); + test_flock64_lk64(); +} + +/* + * F_[GS]ETOWN_EX had conflicting values with F_[SG]ETLK64 + * in kernel revisions v2.6.32-rc1~96..v2.6.32-rc7~23. + */ +#undef TEST_F_OWNER_EX +#if defined F_GETOWN_EX && defined F_SETOWN_EX \ + && (F_GETOWN_EX != F_SETLK64) && (F_SETOWN_EX != F_GETLK64) +# define TEST_F_OWNER_EX +#endif + +#ifdef TEST_F_OWNER_EX +# include "f_owner_ex.h" + +static long +test_f_owner_ex_type_pid(const int cmd, const char *const cmd_name, + const int type, const char *const type_name, + pid_t pid) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_f_owner_ex, fo); + + fo->type = type; + fo->pid = pid; + long rc = invoke_test_syscall(0, cmd, fo); + printf("%s(0, %s, {type=%s, pid=%d}) = %s\n", + TEST_SYSCALL_STR, cmd_name, type_name, fo->pid, errstr); + + void *bad_addr = (void *) fo + 1; + invoke_test_syscall(0, cmd, bad_addr); + printf("%s(0, %s, %p) = %s\n", + TEST_SYSCALL_STR, cmd_name, bad_addr, errstr); + + return rc; +} + +static void +test_f_owner_ex_umove_or_printaddr(const int type, const char *const type_name, + pid_t pid) +{ + long rc = test_f_owner_ex_type_pid(ARG_STR(F_SETOWN_EX), + type, type_name, pid); + if (!rc) + test_f_owner_ex_type_pid(ARG_STR(F_GETOWN_EX), + type, type_name, pid); +} + +static void +test_f_owner_ex(void) +{ + static const struct { + int type; + const char *type_name; + pid_t pid[2]; + } a[] = { + { ARG_STR(F_OWNER_TID), { 1234567890, 20 } }, + { ARG_STR(F_OWNER_PID), { 1298126790, 30 } }, + { ARG_STR(F_OWNER_PGRP), { 1294567890, 40 } } + }; + + for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) { + for (unsigned int j = 0; j < ARRAY_SIZE(a[0].pid); j++) { + test_f_owner_ex_umove_or_printaddr(a[i].type, + a[i].type_name, + a[i].pid[j]); + } + } +} +#endif /* TEST_F_OWNER_EX */ + +static void +create_sample(void) +{ + char fname[] = TEST_SYSCALL_STR "_XXXXXX"; + + (void) close(0); + if (mkstemp(fname)) + perror_msg_and_fail("mkstemp: %s", fname); + if (unlink(fname)) + perror_msg_and_fail("unlink: %s", fname); + if (ftruncate(0, FILE_LEN)) + perror_msg_and_fail("ftruncate"); +} + +int +main(void) +{ + create_sample(); + test_flock(); + test_flock64(); +#ifdef TEST_F_OWNER_EX + test_f_owner_ex(); +#endif + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-mx32/fcntl.c b/tests-mx32/fcntl.c index 4f62ca2a..7539f190 100644 --- a/tests-mx32/fcntl.c +++ b/tests-mx32/fcntl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -33,51 +33,40 @@ # define TEST_SYSCALL_NR __NR_fcntl # define TEST_SYSCALL_STR "fcntl" -# include "struct_flock.c" - -# define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) +# include "fcntl-common.c" static void -test_flock64_einval(const int cmd, const char *name) +test_flock64_undecoded(const int cmd, const char *name) { struct_kernel_flock64 fl = { .l_type = F_RDLCK, .l_start = 0xdefaced1facefeedULL, .l_len = 0xdefaced2cafef00dULL }; - long rc = invoke_test_syscall(cmd, &fl); + invoke_test_syscall(0, cmd, &fl); printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, &fl, sprintrc(rc)); + TEST_SYSCALL_STR, name, &fl, errstr); } +#define TEST_FLOCK64_UNDECODED(cmd) test_flock64_undecoded(cmd, #cmd) + static void -test_flock64(void) +test_flock64_lk64(void) { /* * F_[GS]ETOWN_EX had conflicting values with F_[GS]ETLK64 * in kernel revisions v2.6.32-rc1~96..v2.6.32-rc7~23. */ -#if !defined(F_GETOWN_EX) || F_GETOWN_EX != F_SETLK64 - TEST_FLOCK64_EINVAL(F_SETLK64); -#endif +# if !defined(F_GETOWN_EX) || F_GETOWN_EX != F_SETLK64 + TEST_FLOCK64_UNDECODED(F_SETLK64); +# endif /* F_GETLK and F_SETLKW64 have conflicting values on mips64 */ -#if !defined(__mips64) || F_GETLK != F_SETLKW64 - TEST_FLOCK64_EINVAL(F_SETLKW64); -#endif -#if !defined(F_SETOWN_EX) || F_SETOWN_EX != F_GETLK64 - TEST_FLOCK64_EINVAL(F_GETLK64); -#endif -} - -int -main(void) -{ - create_sample(); - test_flock(); - test_flock64(); - - puts("+++ exited with 0 +++"); - return 0; +# if !defined(__mips64) || F_GETLK != F_SETLKW64 + TEST_FLOCK64_UNDECODED(F_SETLKW64); +# endif +# if !defined(F_SETOWN_EX) || F_SETOWN_EX != F_GETLK64 + TEST_FLOCK64_UNDECODED(F_GETLK64); +# endif } #else diff --git a/tests-mx32/fcntl64.c b/tests-mx32/fcntl64.c index 068956ed..f65f7cb5 100644 --- a/tests-mx32/fcntl64.c +++ b/tests-mx32/fcntl64.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -33,68 +33,38 @@ # define TEST_SYSCALL_NR __NR_fcntl64 # define TEST_SYSCALL_STR "fcntl64" -# include "struct_flock.c" - -# define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) - -static void -test_flock64_einval(const int cmd, const char *name) -{ - struct_kernel_flock64 fl = { - .l_type = F_RDLCK, - .l_start = 0xdefaced1facefeedULL, - .l_len = 0xdefaced2cafef00dULL - }; - long rc = invoke_test_syscall(cmd, &fl); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc)); -} +# include "fcntl-common.c" static void -test_flock64(void) +test_flock64_lk64(void) { TEST_FLOCK64_EINVAL(F_SETLK64); TEST_FLOCK64_EINVAL(F_SETLKW64); -# ifdef F_OFD_SETLK - TEST_FLOCK64_EINVAL(F_OFD_SETLK); - TEST_FLOCK64_EINVAL(F_OFD_SETLKW); -# endif - struct_kernel_flock64 fl = { - .l_type = F_RDLCK, - .l_len = FILE_LEN - }; - long rc = invoke_test_syscall(F_SETLK64, &fl); + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock64, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_len = FILE_LEN; + + long rc = invoke_test_syscall(0, F_SETLK64, fl); printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET" ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc)); + TEST_SYSCALL_STR, FILE_LEN, errstr); if (rc) return; - invoke_test_syscall(F_GETLK64, &fl); + invoke_test_syscall(0, F_GETLK64, fl); printf("%s(0, F_GETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET" ", l_start=0, l_len=%d, l_pid=0}) = 0\n", TEST_SYSCALL_STR, FILE_LEN); - invoke_test_syscall(F_SETLK64, &fl); - printf("%s(0, F_SETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET" + invoke_test_syscall(0, F_SETLKW64, fl); + printf("%s(0, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET" ", l_start=0, l_len=%d}) = 0\n", TEST_SYSCALL_STR, FILE_LEN); } -int -main(void) -{ - create_sample(); - test_flock(); - test_flock64(); - - puts("+++ exited with 0 +++"); - return 0; -} - #else SKIP_MAIN_UNDEFINED("__NR_fcntl64") diff --git a/tests-mx32/gen_tests.am b/tests-mx32/gen_tests.am index 2cd76bc2..5db83759 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 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 +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 aio_pgetevents.gen.test alarm.gen.test bpf.gen.test bpf-v.gen.test bpf-obj_get_info_by_fd.gen.test bpf-obj_get_info_by_fd-v.gen.test bpf-obj_get_info_by_fd-prog.gen.test bpf-obj_get_info_by_fd-prog-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 fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test fanotify_mark-Xverbose.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_inotify.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_perf.gen.test ioctl_ptp.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_msg-Xabbrev.gen.test ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test ipc_sem-Xabbrev.gen.test ipc_sem-Xraw.gen.test ipc_sem-Xverbose.gen.test ipc_shm.gen.test ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test ipc_shm-Xverbose.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 keyctl-Xabbrev.gen.test keyctl-Xraw.gen.test keyctl-Xverbose.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 mmap-Xabbrev.gen.test mmap-Xraw.gen.test mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test mmap64-Xraw.gen.test mmap64-Xverbose.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 mount-Xabbrev.gen.test mount-Xraw.gen.test mount-Xverbose.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_af_spec.gen.test nlattr_ifla_brport.gen.test nlattr_ifla_linkinfo.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 old_mmap-Xabbrev.gen.test old_mmap-Xraw.gen.test old_mmap-Xverbose.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 personality-Xabbrev.gen.test personality-Xraw.gen.test personality-Xverbose.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 so_peercred-Xabbrev.gen.test so_peercred-Xraw.gen.test so_peercred-Xverbose.gen.test sock_filter-v.gen.test sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test sock_filter-v-Xverbose.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_personality_32.gen.test trace_personality_64.gen.test trace_personality_x32.gen.test trace_personality_regex_32.gen.test trace_personality_regex_64.gen.test trace_personality_regex_x32.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) $^ $@ @@ -28,6 +28,9 @@ $(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/aio_pgetevents.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) $^ $@ @@ -37,6 +40,18 @@ $(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/bpf-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/bpf-obj_get_info_by_fd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog-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) $^ $@ @@ -124,6 +139,15 @@ $(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xverbose.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) $^ $@ @@ -316,6 +340,9 @@ $(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.i $(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_inotify.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) $^ $@ @@ -334,6 +361,12 @@ $(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ioctl_nsfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_perf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ioctl_ptp.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) $^ $@ @@ -376,12 +409,48 @@ $(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ipc_msg-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xverbose.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_sem-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xverbose.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)/ipc_shm-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xverbose.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) $^ $@ @@ -400,6 +469,15 @@ $(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/keyctl-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xverbose.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) $^ $@ @@ -463,9 +541,27 @@ $(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xverbose.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)/mmap64-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xverbose.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) $^ $@ @@ -484,6 +580,15 @@ $(srcdir)/modify_ldt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mount-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xverbose.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) $^ $@ @@ -610,9 +715,15 @@ $(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_te $(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/nlattr_ifla_af_spec.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_linkinfo.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) $^ $@ @@ -685,6 +796,15 @@ $(srcdir)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/old_mmap-v-none.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/old_mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xverbose.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) $^ $@ @@ -727,6 +847,15 @@ $(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcd $(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/personality-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xverbose.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) $^ $@ @@ -1057,9 +1186,27 @@ $(srcdir)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/so_peercred-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xverbose.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)/sock_filter-v-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xverbose.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) $^ $@ @@ -1141,6 +1288,24 @@ $(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/trace_personality_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_x32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_x32.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) $^ $@ diff --git a/tests-mx32/gen_tests.in b/tests-mx32/gen_tests.in index a95ff3e2..24e0510e 100644 --- a/tests-mx32/gen_tests.in +++ b/tests-mx32/gen_tests.in @@ -34,9 +34,14 @@ acct -a20 add_key -a30 -s12 adjtimex -a15 aio -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy +aio_pgetevents -e trace=io_pgetevents alarm -a10 bpf -a20 bpf-v -a20 -v -e trace=bpf +bpf-obj_get_info_by_fd -a20 -y -e trace=bpf +bpf-obj_get_info_by_fd-v -a20 -y -v -e trace=bpf +bpf-obj_get_info_by_fd-prog -a20 -y -e trace=bpf +bpf-obj_get_info_by_fd-prog-v -a20 -y -v -e trace=bpf btrfs +ioctl.test chmod -a28 chown -a28 @@ -66,6 +71,9 @@ fadvise64_64 +fadvise64.test fallocate -a18 fanotify_init fanotify_mark -a32 +fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark +fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark +fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark fchdir -a11 fchmod -a15 fchmodat @@ -130,12 +138,15 @@ ioctl_dm +ioctl.test -s9 ioctl_dm-v +ioctl.test -v -s9 ioctl_evdev +ioctl.test ioctl_evdev-v +ioctl.test -v +ioctl_inotify +ioctl.test ioctl_kvm_run +ioctl.test -a36 -y ioctl_loop +ioctl.test ioctl_loop-nv +ioctl.test -a22 -e verbose=none ioctl_loop-v +ioctl.test -v ioctl_mtd +ioctl.test ioctl_nsfs +ioctl.test -esignal=none +ioctl_perf +ioctl.test +ioctl_ptp +ioctl.test ioctl_rtc +ioctl.test ioctl_rtc-v +ioctl.test -v ioctl_scsi +ioctl.test @@ -149,15 +160,30 @@ iopl -a8 ioprio -a18 -e trace=ioprio_get,ioprio_set ip_mreq -e trace=setsockopt ipc -a19 -ipc_msg +ipc.sh -ipc_sem +ipc.sh -ipc_shm +ipc.sh +ipc_msg +ipc.sh -a26 +ipc_msg-Xabbrev +ipc.sh -Xabbrev -a26 +ipc_msg-Xraw +ipc.sh -Xraw -a16 +ipc_msg-Xverbose +ipc.sh -Xverbose -a34 +ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22 +ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose +ipc_sem +ipc.sh -a29 +ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 +ipc_sem-Xraw +ipc.sh -Xraw -a19 +ipc_sem-Xverbose +ipc.sh -Xverbose -a36 +ipc_shm +ipc.sh -a29 +ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29 +ipc_shm-Xraw +ipc.sh -Xraw -a19 +ipc_shm-Xverbose +ipc.sh -Xverbose -a36 kcmp -a22 kcmp-y -a22 -y -e trace=kcmp kern_features -a16 kexec_file_load -s9 kexec_load -s9 keyctl -a31 -s10 +keyctl-Xabbrev -a31 -s10 -e trace=keyctl -Xabbrev +keyctl-Xraw -a13 -s10 -e trace=keyctl -Xraw +keyctl-Xverbose -a41 -s10 -e trace=keyctl -Xverbose kill -a12 -esignal=none lchown -a30 lchown32 -a32 @@ -179,13 +205,22 @@ mknodat -a35 mlock -a20 -e trace=mlock,munlock mlock2 mlockall -a12 +mmap-Xabbrev +mmap.test abbrev +mmap-Xraw +mmap.test raw 14 +mmap-Xverbose +mmap.test verbose mmap64 +mmap.test +mmap64-Xabbrev +mmap.test abbrev +mmap64-Xraw +mmap.test raw 14 +mmap64-Xverbose +mmap.test verbose mmsg -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg mmsg-silent -a25 -e verbose=none -e trace=sendmmsg,recvmmsg mmsg_name -a25 -e trace=sendmmsg,recvmmsg mmsg_name-v -v -a25 -e trace=sendmmsg,recvmmsg modify_ldt -a23 -mount +mount -a33 +mount-Xabbrev -a33 -e trace=mount -Xabbrev +mount-Xraw -a33 -e trace=mount -Xraw +mount-Xverbose -a33 -e trace=mount -Xverbose move_pages -s3 mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink @@ -228,7 +263,9 @@ nlattr_fib_rule_hdr +netlink_sock_diag.test nlattr_ifaddrlblmsg +netlink_sock_diag.test nlattr_ifaddrmsg +netlink_sock_diag.test nlattr_ifinfomsg +netlink_sock_diag.test +nlattr_ifla_af_spec +netlink_sock_diag.test nlattr_ifla_brport +netlink_sock_diag.test +nlattr_ifla_linkinfo +netlink_sock_diag.test nlattr_ifla_port +netlink_sock_diag.test nlattr_ifla_xdp +netlink_sock_diag.test nlattr_inet_diag_msg +netlink_sock_diag.test @@ -253,6 +290,9 @@ nlattr_unix_diag_msg +netlink_sock_diag.test old_mmap -a11 -e trace=mmap old_mmap-P -e trace=mmap -P "/dev/full" 9>>/dev/full old_mmap-v-none -a11 -e trace=mmap -e verbose=none +old_mmap-Xabbrev -a11 -e trace=mmap -Xabbrev +old_mmap-Xraw -a11 -e trace=mmap -Xraw +old_mmap-Xverbose -a11 -e trace=mmap -Xverbose oldfstat -a18 -v -P stat.sample oldlstat -a32 -v -P stat.sample -P /dev/full oldselect -a13 -e trace=select @@ -267,6 +307,9 @@ pause -a8 -esignal=none perf_event_open -a1 perf_event_open_nonverbose -a34 -e verbose=none -e trace=perf_event_open perf_event_open_unabbrev -a1 -v -e trace=perf_event_open +personality-Xabbrev +personality.test -Xabbrev +personality-Xraw +personality.test -a15 -Xraw +personality-Xverbose +personality.test -Xverbose pipe2 -a15 pkey_alloc -a17 pkey_free -a13 @@ -322,7 +365,7 @@ rt_tgsigqueueinfo -esignal=none s390_guarded_storage -a32 s390_guarded_storage-v -e trace=s390_guarded_storage -a32 -v s390_pci_mmio_read_write -e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30 -s390_runtime_instr -a50 +s390_runtime_instr -a44 s390_sthyi -a47 s390_sthyi-v -e trace=s390_sthyi -a47 -v sched test_trace_expr times -e/sched @@ -377,7 +420,13 @@ sigreturn -esignal='!USR1' sigsuspend -a19 -esignal=none so_linger -e trace=getsockopt,setsockopt so_peercred -e trace=getsockopt +so_peercred-Xabbrev -e trace=getsockopt -Xabbrev +so_peercred-Xraw -e trace=getsockopt -Xraw -a39 +so_peercred-Xverbose -e trace=getsockopt -Xverbose sock_filter-v -v -e trace=getsockopt,setsockopt +sock_filter-v-Xabbrev -v -e trace=getsockopt,setsockopt -X abbrev +sock_filter-v-Xraw -a 37 -v -e trace=getsockopt,setsockopt -X raw +sock_filter-v-Xverbose -v -e trace=getsockopt,setsockopt -X verbose socketcall -a20 sockopt-sol_netlink -e trace=getsockopt,setsockopt splice @@ -405,6 +454,12 @@ times-fail -a12 -e trace=times trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full trace_fstatfs test_trace_expr '' -e%fstatfs trace_lstat test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full +trace_personality_32 +qualify_personality.sh 32 'getcwd' 'fsync-y' +trace_personality_64 +qualify_personality.sh 64 'getcwd' 'fsync-y' +trace_personality_x32 +qualify_personality.sh x32 'getcwd' 'fsync-y' +trace_personality_regex_32 +qualify_personality.sh 32 '/clock.*' 'times|fcntl.*' +trace_personality_regex_64 +qualify_personality.sh 64 '/clock.*' 'times|fcntl.*' +trace_personality_regex_x32 +qualify_personality.sh x32 '/clock.*' 'times|fcntl.*' trace_question test_trace_expr '' -e?osf_utimes,?/^pkey_.* trace_stat test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full diff --git a/tests-mx32/init.sh b/tests-mx32/init.sh index dffbfceb..8861b70d 100644 --- a/tests-mx32/init.sh +++ b/tests-mx32/init.sh @@ -1,7 +1,7 @@ #!/bin/sh # # Copyright (c) 2011-2016 Dmitry V. Levin -# 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 @@ -230,6 +230,17 @@ run_strace_match_diff() match_diff "$LOG" "$EXP" } +# Usage: run_strace_match_grep [args to run_strace] +run_strace_match_grep() +{ + args="$*" + [ -n "$args" -a -z "${args##*-e trace=*}" ] || + set -- -e trace="$NAME" "$@" + run_prog > /dev/null + run_strace "$@" $args > "$EXP" + match_grep "$LOG" "$EXP" +} + # Print kernel version code. # usage: kernel_version_code $(uname -r) kernel_version_code() diff --git a/tests-mx32/ioctl_evdev.c b/tests-mx32/ioctl_evdev.c index 9d16cecf..5eacac02 100644 --- a/tests-mx32/ioctl_evdev.c +++ b/tests-mx32/ioctl_evdev.c @@ -2,7 +2,7 @@ * This file is part of ioctl_evdev strace test. * * Copyright (c) 2016 Dmitry V. Levin - * 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,6 +39,13 @@ # include # include +# ifndef EV_SW +# define EV_SW 5 +# endif +# ifndef ABS_MT_TOOL_Y +# define ABS_MT_TOOL_Y 0x3d +# endif + static const unsigned int magic = 0xdeadbeef; static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL; @@ -67,12 +74,14 @@ print_ffe_common(const struct ff_effect *const ffe, const char *const type_str) # endif /* VERBOSE */ } -# define TEST_NULL_ARG(cmd) \ +# define TEST_NULL_ARG_EX(cmd, str) \ do { \ ioctl(-1, cmd, 0); \ - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \ + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", str); \ } while (0) +# define TEST_NULL_ARG(cmd) TEST_NULL_ARG_EX(cmd, #cmd) + int main(void) { @@ -117,14 +126,24 @@ main(void) TEST_NULL_ARG(EVIOCGABS(ABS_X)); TEST_NULL_ARG(EVIOCSABS(ABS_X)); + TEST_NULL_ARG_EX(EVIOCGABS(0xe), "EVIOCGABS(0xe /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0xe), "EVIOCSABS(0xe /* ABS_??? */)"); + + TEST_NULL_ARG(EVIOCGABS(ABS_MT_TOOL_Y)); + TEST_NULL_ARG(EVIOCSABS(ABS_MT_TOOL_Y)); + + TEST_NULL_ARG_EX(EVIOCGABS(0x3e), "EVIOCGABS(0x3e /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0x3e), "EVIOCSABS(0x3e /* ABS_??? */)"); + + TEST_NULL_ARG_EX(EVIOCGABS(0x3f), "EVIOCGABS(0x3f /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0x3f), "EVIOCSABS(0x3f /* ABS_??? */)"); + TEST_NULL_ARG(EVIOCGBIT(EV_SYN, 0)); TEST_NULL_ARG(EVIOCGBIT(EV_KEY, 1)); TEST_NULL_ARG(EVIOCGBIT(EV_REL, 2)); TEST_NULL_ARG(EVIOCGBIT(EV_ABS, 3)); TEST_NULL_ARG(EVIOCGBIT(EV_MSC, 4)); -# ifdef EV_SW TEST_NULL_ARG(EVIOCGBIT(EV_SW, 5)); -# endif TEST_NULL_ARG(EVIOCGBIT(EV_LED, 6)); TEST_NULL_ARG(EVIOCGBIT(EV_SND, 7)); TEST_NULL_ARG(EVIOCGBIT(EV_REP, 8)); @@ -132,6 +151,12 @@ main(void) TEST_NULL_ARG(EVIOCGBIT(EV_PWR, 10)); TEST_NULL_ARG(EVIOCGBIT(EV_FF_STATUS, 11)); + TEST_NULL_ARG_EX(EVIOCGBIT(0x6, 12), "EVIOCGBIT(0x6 /* EV_??? */, 12)"); + TEST_NULL_ARG_EX(EVIOCGBIT(0x18, 13), + "EVIOCGBIT(0x18 /* EV_??? */, 13)"); + TEST_NULL_ARG_EX(EVIOCGBIT(0x1f, 14), + "EVIOCGBIT(0x1f /* EV_??? */, 14)"); + ioctl(-1, EVIOCGBIT(EV_MAX, 42), 0); printf("ioctl(-1, EVIOCGBIT(%#x /* EV_??? */, 42), NULL)" " = -1 EBADF (%m)\n", EV_MAX); diff --git a/tests-mx32/ioctl_inotify.c b/tests-mx32/ioctl_inotify.c new file mode 100644 index 00000000..0650c624 --- /dev/null +++ b/tests-mx32/ioctl_inotify.c @@ -0,0 +1,81 @@ +/* + * This file is part of ioctl_inotify strace test. + * + * 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 +#include +#include +#include +#include +#include + +#ifndef INOTIFY_IOC_SETNEXTWD +# define INOTIFY_IOC_SETNEXTWD _IOW('I', 0, int32_t) +#endif + +static long +sys_ioctl(kernel_long_t fd, kernel_ulong_t cmd, kernel_ulong_t arg) +{ + return syscall(__NR_ioctl, fd, cmd, arg); +} + +int +main(void) +{ + static const kernel_ulong_t unknown_inotify_cmd = + (kernel_ulong_t) 0xbadc0dedfeed49edULL; + static const kernel_ulong_t magic = + (kernel_ulong_t) 0xdeadbeefbadc0dedULL; + + /* Unknown inotify commands */ + sys_ioctl(-1, unknown_inotify_cmd, magic); + printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x49, %#x, %#x), " + "%#lx) = -1 EBADF (%m)\n", + _IOC_DIR((unsigned int) unknown_inotify_cmd) & _IOC_NONE ? + "|_IOC_NONE" : "", + _IOC_NR((unsigned int) unknown_inotify_cmd), + _IOC_SIZE((unsigned int) unknown_inotify_cmd), + (unsigned long) magic); + + sys_ioctl(-1, INOTIFY_IOC_SETNEXTWD + 1, magic); + printf("ioctl(-1, _IOC(_IOC_WRITE, 0x49, %#x, %#x), %#lx)" + " = -1 EBADF (%m)\n", + (unsigned int) _IOC_NR(INOTIFY_IOC_SETNEXTWD + 1), + (unsigned int) _IOC_SIZE(INOTIFY_IOC_SETNEXTWD + 1), + (unsigned long) magic); + + /* INOTIFY_IOC_SETNEXTWD */ + sys_ioctl(-1, INOTIFY_IOC_SETNEXTWD, magic); + printf("ioctl(-1, INOTIFY_IOC_SETNEXTWD, %d) = -1 EBADF (%m)\n", + (int) magic); + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-mx32/ioctl_inotify.gen.test b/tests-mx32/ioctl_inotify.gen.test new file mode 100755 index 00000000..237a98b8 --- /dev/null +++ b/tests-mx32/ioctl_inotify.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_inotify +ioctl.test ); do not edit. +set -- +. "${srcdir=.}/ioctl.test" diff --git a/tests-mx32/ioctl_kvm_run.c b/tests-mx32/ioctl_kvm_run.c index 17946143..e1bef579 100644 --- a/tests-mx32/ioctl_kvm_run.c +++ b/tests-mx32/ioctl_kvm_run.c @@ -40,6 +40,7 @@ # include # include # include +# include # include static int @@ -56,7 +57,7 @@ kvm_ioctl(int fd, unsigned long cmd, const char *cmd_str, void *arg) static const char dev[] = "/dev/kvm"; static const char vm_dev[] = "anon_inode:kvm-vm"; -static const char vcpu_dev[] = "anon_inode:kvm-vcpu"; +static char vcpu_dev[] = "anon_inode:kvm-vcpu:0"; static size_t page_size; extern const char code[]; @@ -165,6 +166,23 @@ run_kvm(const int vcpu_fd, struct kvm_run *const run, const size_t mmap_size, } } +static int +vcpu_dev_should_have_cpuid(int fd) +{ + int r = 0; + char *filename = NULL; + char buf[sizeof(vcpu_dev)]; + + if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0) + error_msg_and_fail("asprintf"); + + if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1 + && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0)) + r = 1; + free(filename); + return r; +} + int main(void) { @@ -208,6 +226,15 @@ main(void) (unsigned long) page_size, (unsigned long) page_size, mem); int vcpu_fd = KVM_IOCTL(vm_fd, KVM_CREATE_VCPU, NULL); + if (!vcpu_dev_should_have_cpuid(vcpu_fd)) + /* + * This is an older kernel that doesn't place a cpuid + * at the end of the dentry associated with vcpu_fd. + * Trim the cpuid part of vcpu_dev like: + * "anon_inode:kvm-vcpu:0" -> "anon_inode:kvm-vcpu" + */ + vcpu_dev[strlen (vcpu_dev) - 2] = '\0'; + printf("ioctl(%d<%s>, KVM_CREATE_VCPU, 0) = %d<%s>\n", vm_fd, vm_dev, vcpu_fd, vcpu_dev); diff --git a/tests-mx32/ioctl_loop.c b/tests-mx32/ioctl_loop.c index bafbd378..10b7dc34 100644 --- a/tests-mx32/ioctl_loop.c +++ b/tests-mx32/ioctl_loop.c @@ -34,8 +34,10 @@ #include #include #include +#include #include #include +#include #include #include #include "print_fields.h" @@ -45,6 +47,12 @@ # define ABBREV 0 #endif +static long +sys_ioctl(kernel_long_t fd, kernel_ulong_t cmd, kernel_ulong_t arg) +{ + return syscall(__NR_ioctl, fd, cmd, arg); +} + static void print_loop_info(struct loop_info * const info, bool print_encrypt, const char *encrypt_type, const char *encrypt_key, @@ -178,7 +186,7 @@ main(void) TAIL_ALLOC_OBJECT_CONST_PTR(struct loop_info64, info64); /* Unknown loop commands */ - ioctl(-1, unknown_loop_cmd, magic); + sys_ioctl(-1, unknown_loop_cmd, magic); printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x4c, %#x, %#x), " "%#lx) = -1 EBADF (%m)\n", _IOC_DIR((unsigned int) unknown_loop_cmd) & _IOC_NONE ? @@ -187,14 +195,14 @@ main(void) _IOC_SIZE((unsigned int) unknown_loop_cmd), (unsigned long) magic); - ioctl(-1, LOOP_SET_BLOCK_SIZE + 1, magic); + sys_ioctl(-1, LOOP_SET_BLOCK_SIZE + 1, magic); printf("ioctl(-1, _IOC(0, 0x4c, %#x, %#x), %#lx) = " "-1 EBADF (%m)\n", _IOC_NR(LOOP_SET_BLOCK_SIZE + 1), _IOC_SIZE(LOOP_SET_BLOCK_SIZE + 1), (unsigned long) magic); - ioctl(-1, LOOP_CTL_GET_FREE + 1, magic); + sys_ioctl(-1, LOOP_CTL_GET_FREE + 1, magic); printf("ioctl(-1, _IOC(0, 0x4c, %#x, %#x), %#lx) = " "-1 EBADF (%m)\n", _IOC_NR(LOOP_CTL_GET_FREE + 1), @@ -202,7 +210,7 @@ main(void) (unsigned long) magic); /* LOOP_SET_FD */ - ioctl(-1, LOOP_SET_FD, magic); + sys_ioctl(-1, LOOP_SET_FD, magic); printf("ioctl(-1, LOOP_SET_FD, %d) = -1 EBADF (%m)\n", (unsigned int) magic); @@ -289,7 +297,7 @@ main(void) printf("ioctl(-1, LOOP_GET_STATUS64, %p) = -1 EBADF (%m)\n", info64); /* LOOP_CHANGE_FD */ - ioctl(-1, LOOP_CHANGE_FD, magic); + sys_ioctl(-1, LOOP_CHANGE_FD, magic); printf("ioctl(-1, LOOP_CHANGE_FD, %d) = -1 EBADF (%m)\n", (unsigned int) magic); @@ -298,22 +306,22 @@ main(void) printf("ioctl(-1, LOOP_SET_CAPACITY) = -1 EBADF (%m)\n"); /* LOOP_SET_DIRECT_IO */ - ioctl(-1, LOOP_SET_DIRECT_IO, magic); + sys_ioctl(-1, LOOP_SET_DIRECT_IO, magic); printf("ioctl(-1, LOOP_SET_DIRECT_IO, %lu) = -1 EBADF (%m)\n", (unsigned long) magic); /* LOOP_SET_BLOCK_SIZE */ - ioctl(-1, LOOP_SET_BLOCK_SIZE, magic); + sys_ioctl(-1, LOOP_SET_BLOCK_SIZE, magic); printf("ioctl(-1, LOOP_SET_BLOCK_SIZE, %lu) = -1 EBADF (%m)\n", (unsigned long) magic); /* LOOP_CTL_ADD */ - ioctl(-1, LOOP_CTL_ADD, magic); + sys_ioctl(-1, LOOP_CTL_ADD, magic); printf("ioctl(-1, LOOP_CTL_ADD, %d) = -1 EBADF (%m)\n", (unsigned int) magic); /* LOOP_CTL_REMOVE */ - ioctl(-1, LOOP_CTL_REMOVE, magic); + sys_ioctl(-1, LOOP_CTL_REMOVE, magic); printf("ioctl(-1, LOOP_CTL_REMOVE, %d) = -1 EBADF (%m)\n", (unsigned int) magic); diff --git a/tests-mx32/ioctl_perf-success.c b/tests-mx32/ioctl_perf-success.c new file mode 100644 index 00000000..9eade6a4 --- /dev/null +++ b/tests-mx32/ioctl_perf-success.c @@ -0,0 +1,165 @@ +/* + * Check decoding of successful PERF_EVENT_IOC_{ID,QUERY_BPF} ioctls. + * + * 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" + +#ifdef HAVE_LINUX_PERF_EVENT_H + +# include +# include +# include +# include +# include +# include +# include + +# ifndef PERF_EVENT_IOC_ID +# define PERF_EVENT_IOC_ID _IOR('$', 7, void *) +# endif + +# ifndef PERF_EVENT_IOC_QUERY_BPF +# define PERF_EVENT_IOC_QUERY_BPF _IOWR('$', 10, void *) + +struct perf_event_query_bpf { + uint32_t ids_len; + uint32_t prog_cnt; + uint32_t ids[0]; +}; +# endif + +int +main(int argc, char **argv) +{ + static const uint64_t magic64 = 0xfacefeeddeadc0deULL; + + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, u64_ptr); + uint64_t *const u64_efault = u64_ptr + 1; + uint32_t *const u32_arr = tail_alloc(sizeof(uint32_t) * 4); + uint32_t *const u32_efault = u32_arr + 4; + + unsigned long num_skip; + long inject_retval; + bool locked = false; + + *u64_ptr = magic64; + + if (argc == 1) + return 0; + + if (argc < 3) + error_msg_and_fail("Usage: %s NUM_SKIP INJECT_RETVAL", argv[0]); + + num_skip = strtoul(argv[1], NULL, 0); + inject_retval = strtol(argv[2], NULL, 0); + + if (inject_retval < 0) + error_msg_and_fail("Expected non-negative INJECT_RETVAL, " + "but got %ld", inject_retval); + + for (unsigned long i = 0; i < num_skip; i++) { + long ret = ioctl(-1, PERF_EVENT_IOC_ID, NULL); + + printf("ioctl(-1, PERF_EVENT_IOC_ID, NULL) = %s%s\n", + sprintrc(ret), + ret == inject_retval ? " (INJECTED)" : ""); + + if (ret != inject_retval) + continue; + + locked = true; + break; + } + + if (!locked) + error_msg_and_fail("Hasn't locked on ioctl(-1" + ", PERF_EVENT_IOC_ID, NULL) returning %lu", + inject_retval); + + /* PERF_EVENT_IOC_ID */ + assert(ioctl(-1, PERF_EVENT_IOC_ID, NULL) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_ID, NULL) = %ld (INJECTED)\n", + inject_retval); + + assert(ioctl(-1, PERF_EVENT_IOC_ID, u64_efault) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_ID, %p) = %ld (INJECTED)\n", + u64_efault, inject_retval); + + assert(ioctl(-1, PERF_EVENT_IOC_ID, u64_ptr) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_ID, [%" PRIu64 "]) = %ld (INJECTED)\n", + magic64, inject_retval); + + /* PERF_EVENT_IOC_QUERY_BPF */ + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL) = %ld (INJECTED)\n", + inject_retval); + + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_efault) + == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, %p) = %ld (INJECTED)\n", + u32_efault, inject_retval); + + u32_arr[3] = 0xdeadbeef; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr + 3) + == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3735928559, ...}) " + "= %ld (INJECTED)\n", + inject_retval); + + u32_arr[2] = 0xdecaffed; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr + 2) + == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3737845741" + ", prog_cnt=3735928559, ids=%p})" + " = %ld (INJECTED)\n", + u32_efault, inject_retval); + + u32_arr[0] = 0xbadc0ded; + u32_arr[1] = 5; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3134983661" + ", prog_cnt=5, ids=[3737845741, 3735928559, ... /* %p */]})" + " = %ld (INJECTED)\n", + u32_efault, inject_retval); + + u32_arr[1] = 2; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3134983661" + ", prog_cnt=2, ids=[3737845741, 3735928559]})" + " = %ld (INJECTED)\n", + inject_retval); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("HAVE_LINUX_PERF_EVENT_H"); + +#endif diff --git a/tests-mx32/ioctl_perf-success.test b/tests-mx32/ioctl_perf-success.test new file mode 100755 index 00000000..779a2a9b --- /dev/null +++ b/tests-mx32/ioctl_perf-success.test @@ -0,0 +1,15 @@ +#!/bin/sh -efu + +# Check decoding of successful PERF_EVENT_IOC_{ID,QUERY_BPF} ioctls. + +. "${srcdir=.}/scno_tampering.sh" + +: ${IOCTL_INJECT_START=256} +: ${IOCTL_INJECT_RETVAL=42} + +run_prog +run_strace -a35 -e trace=ioctl \ + -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ + ../ioctl_perf-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}" > "$EXP" +grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests-mx32/ioctl_perf.c b/tests-mx32/ioctl_perf.c new file mode 100644 index 00000000..7db01dbc --- /dev/null +++ b/tests-mx32/ioctl_perf.c @@ -0,0 +1,238 @@ +/* + * Check decoding of PERF_EVENT_IOC_* commands of ioctl 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" + +#ifdef HAVE_LINUX_PERF_EVENT_H + +# include +# include +# include +# include +# include +# include +# include + +/* + * Workaround the bug in kernel UAPI that was fixed + * in Linux commit v2.6.33-rc1~48^2~288^2~19. + */ +# ifndef u64 +# define u64 uint64_t +# endif + +# define XLAT_MACROS_ONLY +# include "xlat/perf_ioctl_cmds.h" +# undef XLAT_MACROS_ONLY + +# define STR16 "0123456789abcdef" + +static long +sys_ioctl(kernel_long_t fd, kernel_ulong_t cmd, kernel_ulong_t arg) +{ + return syscall(__NR_ioctl, fd, cmd, arg); +} + +int +main(void) +{ + static const kernel_ulong_t unknown_perf_cmd = + (kernel_ulong_t) 0xbadc0dedfeed24edULL; + static const kernel_ulong_t magic = + (kernel_ulong_t) 0xdeadbeefbadc0dedULL; + static const uint64_t magic64 = 0xfacefeeddeadc0deULL; + static const char str[] = STR16 STR16 STR16 STR16; + + static struct { + unsigned int cmd; + const char *str; + } flag_iocs[] = { + { ARG_STR(PERF_EVENT_IOC_ENABLE) }, + { ARG_STR(PERF_EVENT_IOC_DISABLE) }, + { ARG_STR(PERF_EVENT_IOC_RESET) }, + }; + + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, u64_ptr); + uint64_t *const u64_efault = u64_ptr + 1; + uint32_t *const u32_arr = tail_alloc(sizeof(uint32_t) * 4); + uint32_t *const u32_efault = u32_arr + 4; + char *const str_ptr = tail_memdup(str, sizeof(str)); + char *const str_efault = str_ptr + sizeof(str); + TAIL_ALLOC_OBJECT_CONST_PTR(struct perf_event_attr, pea_ptr); + + *u64_ptr = magic64; + fill_memory_ex(pea_ptr, sizeof(*pea_ptr), 0xaa, 0x55); + + /* Unknown perf commands */ + sys_ioctl(-1, unknown_perf_cmd, magic); + printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x24, %#x, %#x), " + "%#lx) = -1 EBADF (%m)\n", + _IOC_DIR((unsigned int) unknown_perf_cmd) & _IOC_NONE ? + "|_IOC_NONE" : "", + _IOC_NR((unsigned int) unknown_perf_cmd), + _IOC_SIZE((unsigned int) unknown_perf_cmd), + (unsigned long) magic); + + sys_ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES + 1, magic); + printf("ioctl(-1, _IOC(_IOC_WRITE, 0x24, %#x, %#x), %#lx)" + " = -1 EBADF (%m)\n", + (unsigned int) _IOC_NR(PERF_EVENT_IOC_MODIFY_ATTRIBUTES + 1), + (unsigned int) _IOC_SIZE(PERF_EVENT_IOC_MODIFY_ATTRIBUTES + 1), + (unsigned long) magic); + + /* PERF_EVENT_IOC_{ENABLE,DISABLE,RESET} */ + for (unsigned i = 0; i < ARRAY_SIZE(flag_iocs); i++) { + ioctl(-1, flag_iocs[i].cmd, 0); + printf("ioctl(-1, %s, 0) = -1 EBADF (%m)\n", flag_iocs[i].str); + + ioctl(-1, flag_iocs[i].cmd, 1); + printf("ioctl(-1, %s, PERF_IOC_FLAG_GROUP) = -1 EBADF (%m)\n", + flag_iocs[i].str); + + ioctl(-1, flag_iocs[i].cmd, 2); + printf("ioctl(-1, %s, 0x2 /* PERF_IOC_FLAG_??? */) " + "= -1 EBADF (%m)\n", + flag_iocs[i].str); + + sys_ioctl(-1, flag_iocs[i].cmd, magic); + printf("ioctl(-1, %s, PERF_IOC_FLAG_GROUP|%#x) " + "= -1 EBADF (%m)\n", + flag_iocs[i].str, (unsigned int) magic & ~1U); + } + + /* PERF_EVENT_IOC_REFRESH */ + sys_ioctl(-1, PERF_EVENT_IOC_REFRESH, magic); + printf("ioctl(-1, PERF_EVENT_IOC_REFRESH, %d) = -1 EBADF (%m)\n", + (int) magic); + + /* PERF_EVENT_IOC_PERIOD */ + ioctl(-1, PERF_EVENT_IOC_PERIOD, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_PERIOD, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_PERIOD, u64_efault); + printf("ioctl(-1, PERF_EVENT_IOC_PERIOD, %p) = -1 EBADF (%m)\n", + u64_efault); + + ioctl(-1, PERF_EVENT_IOC_PERIOD, u64_ptr); + printf("ioctl(-1, PERF_EVENT_IOC_PERIOD, [%" PRIu64 "])" + " = -1 EBADF (%m)\n", + magic64); + + /* PERF_EVENT_IOC_SET_OUTPUT */ + sys_ioctl(-1, PERF_EVENT_IOC_SET_OUTPUT, magic); + printf("ioctl(-1, PERF_EVENT_IOC_SET_OUTPUT, %d) = -1 EBADF (%m)\n", + (int) magic); + + /* PERF_EVENT_IOC_SET_FILTER */ + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_efault); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, %p) = -1 EBADF (%m)\n", + str_efault); + + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_ptr); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, \"%.32s\"...)" + " = -1 EBADF (%m)\n", + str_ptr); + + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_ptr + 40); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, \"%.32s\")" + " = -1 EBADF (%m)\n", + str_ptr + 40); + + str_ptr[sizeof(str) - 1] = '0'; + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_ptr + 40); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, %p)" + " = -1 EBADF (%m)\n", + str_ptr + 40); + + /* PERF_EVENT_IOC_ID */ + ioctl(-1, PERF_EVENT_IOC_ID, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_ID, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_ID, u64_efault); + printf("ioctl(-1, PERF_EVENT_IOC_ID, %p) = -1 EBADF (%m)\n", + u64_efault); + + ioctl(-1, PERF_EVENT_IOC_ID, u64_ptr); + printf("ioctl(-1, PERF_EVENT_IOC_ID, %p) = -1 EBADF (%m)\n", + u64_ptr); + + /* PERF_EVENT_IOC_SET_BPF */ + sys_ioctl(-1, PERF_EVENT_IOC_SET_BPF, magic); + printf("ioctl(-1, PERF_EVENT_IOC_SET_BPF, %d) = -1 EBADF (%m)\n", + (int) magic); + + /* PERF_EVENT_IOC_PAUSE_OUTPUT */ + sys_ioctl(-1, PERF_EVENT_IOC_PAUSE_OUTPUT, magic); + printf("ioctl(-1, PERF_EVENT_IOC_PAUSE_OUTPUT, %lu) = -1 EBADF (%m)\n", + (unsigned long) magic); + + /* PERF_EVENT_IOC_QUERY_BPF */ + ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_efault); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, %p) = -1 EBADF (%m)\n", + u32_efault); + + u32_arr[0] = 0xbadc0ded; + ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3134983661, ...})" + " = -1 EBADF (%m)\n"); + + /* PERF_EVENT_IOC_MODIFY_ATTRIBUTES */ + ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, NULL)" + " = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, pea_ptr + 1); + printf("ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, %p)" + " = -1 EBADF (%m)\n", + pea_ptr + 1); + + printf("ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES" + ", {type=%#x /* PERF_TYPE_??? */" + ", size=%#x /* PERF_ATTR_SIZE_??? */" + ", config=%#llx, ...}) = -1 EBADF (%m)\n", + (unsigned int) pea_ptr->type, + (unsigned int) pea_ptr->size, + (unsigned long long) pea_ptr->config); + ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, pea_ptr); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("HAVE_LINUX_PERF_EVENT_H"); + +#endif diff --git a/tests-mx32/ioctl_perf.gen.test b/tests-mx32/ioctl_perf.gen.test new file mode 100755 index 00000000..0264f349 --- /dev/null +++ b/tests-mx32/ioctl_perf.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_perf +ioctl.test ); do not edit. +set -- +. "${srcdir=.}/ioctl.test" diff --git a/tests-mx32/ioctl_ptp.c b/tests-mx32/ioctl_ptp.c new file mode 100644 index 00000000..1c82919e --- /dev/null +++ b/tests-mx32/ioctl_ptp.c @@ -0,0 +1,131 @@ +/* + * Check decoding of PTP_* commands of ioctl syscall. + * + * Copyright (c) 2018 Harsha Sharma + * 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" + +#ifdef HAVE_STRUCT_PTP_SYS_OFFSET + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "xlat.h" +#include "xlat/ptp_flags_options.h" + +static void +test_no_device(void) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_clock_caps, caps); + fill_memory(caps, sizeof(*caps)); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_sys_offset, sysoff); + fill_memory(sysoff, sizeof(*sysoff)); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_extts_request, extts); + fill_memory(extts, sizeof(*extts)); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_perout_request, perout); + fill_memory(perout, sizeof(*perout)); + + int saved_errno; + + /* PTP_CLOCK_GETCAPS */ + ioctl(-1, PTP_CLOCK_GETCAPS, NULL); + printf("ioctl(-1, PTP_CLOCK_GETCAPS, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_CLOCK_GETCAPS, caps); + printf("ioctl(-1, PTP_CLOCK_GETCAPS, %p) = -1 EBADF (%m)\n", caps); + + /* PTP_SYS_OFFSET */ + ioctl(-1, PTP_SYS_OFFSET, NULL); + printf("ioctl(-1, PTP_SYS_OFFSET, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_SYS_OFFSET, sysoff); + printf("ioctl(-1, PTP_SYS_OFFSET, {n_samples=%u}) = -1 EBADF (%m)\n", + sysoff->n_samples); + + /* PTP_ENABLE_PPS */ + ioctl(-1, PTP_ENABLE_PPS, 0); + printf("ioctl(-1, PTP_ENABLE_PPS, 0) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_ENABLE_PPS, 1); + printf("ioctl(-1, PTP_ENABLE_PPS, 1) = -1 EBADF (%m)\n"); + + /* PTP_EXTTS_REQUEST */ + ioctl(-1, PTP_EXTTS_REQUEST, NULL); + printf("ioctl(-1, PTP_EXTTS_REQUEST, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_EXTTS_REQUEST, extts); + saved_errno = errno; + printf("ioctl(-1, PTP_EXTTS_REQUEST, {index=%d, flags=", extts->index); + printflags(ptp_flags_options, extts->flags, "PTP_???"); + errno = saved_errno; + printf("}) = -1 EBADF (%m)\n"); + + /* PTP_PEROUT_REQUEST */ + ioctl(-1, PTP_PEROUT_REQUEST, NULL); + printf("ioctl(-1, PTP_PEROUT_REQUEST, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_PEROUT_REQUEST, perout); + saved_errno = errno; + printf("ioctl(-1, PTP_PEROUT_REQUEST, {start={sec=%" PRId64 + ", nsec=%" PRIu32 "}, period={sec=%" PRId64 ", nsec=%" 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_???"); + errno = saved_errno; + printf("}) = -1 EBADF (%m)\n"); + + /* unrecognized */ + ioctl(-1, _IOC(_IOC_READ, PTP_CLK_MAGIC, 0xff, 0xfe), 0); + printf("ioctl(-1, _IOC(_IOC_READ, %#x, 0xff, 0xfe), 0)" + " = -1 EBADF (%m)\n", PTP_CLK_MAGIC); + + const unsigned long arg = (unsigned long) 0xfacefeeddeadbeefULL; + ioctl(-1, _IOC(_IOC_WRITE, PTP_CLK_MAGIC, 0xfd, 0xfc), arg); + printf("ioctl(-1, _IOC(_IOC_WRITE, %#x, 0xfd, 0xfc), %#lx)" + " = -1 EBADF (%m)\n", PTP_CLK_MAGIC, arg); +} + +int +main(void) +{ + test_no_device(); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("HAVE_STRUCT_PTP_SYS_OFFSET") + +#endif /* HAVE_STRUCT_PTP_SYS_OFFSET */ diff --git a/tests-mx32/ioctl_ptp.gen.test b/tests-mx32/ioctl_ptp.gen.test new file mode 100755 index 00000000..6c0b0a92 --- /dev/null +++ b/tests-mx32/ioctl_ptp.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_ptp +ioctl.test ); do not edit. +set -- +. "${srcdir=.}/ioctl.test" diff --git a/tests-mx32/ioctl_v4l2.c b/tests-mx32/ioctl_v4l2.c index 2736b392..a7dcc494 100644 --- a/tests-mx32/ioctl_v4l2.c +++ b/tests-mx32/ioctl_v4l2.c @@ -842,6 +842,21 @@ main(void) printf("ioctl(-1, VIDIOC_S_EXT_CTRLS, {ctrl_class=V4L2_CTRL_CLASS_USER" ", count=%u}) = -1 EBADF (%m)\n", p_ext_controls->count); + p_ext_controls->ctrl_class = 0x00a30000; + p_ext_controls->count = magic; + ioctl(-1, VIDIOC_S_EXT_CTRLS, p_ext_controls); + printf("ioctl(-1, VIDIOC_S_EXT_CTRLS, {ctrl_class=V4L2_CTRL_CLASS_DETECT" + ", count=%u, controls=%p}) = -1 EBADF (%m)\n", + p_ext_controls->count, p_ext_controls->controls); + + p_ext_controls->ctrl_class = 0x00a40000; + p_ext_controls->count = magic; + ioctl(-1, VIDIOC_S_EXT_CTRLS, p_ext_controls); + printf("ioctl(-1, VIDIOC_S_EXT_CTRLS" + ", {ctrl_class=0xa40000 /* V4L2_CTRL_CLASS_??? */" + ", count=%u, controls=%p}) = -1 EBADF (%m)\n", + p_ext_controls->count, p_ext_controls->controls); + p_ext_controls->ctrl_class = V4L2_CTRL_CLASS_MPEG; p_ext_controls->count = magic; ioctl(-1, VIDIOC_S_EXT_CTRLS, p_ext_controls); @@ -883,7 +898,7 @@ main(void) ", {ctrl_class=V4L2_CTRL_CLASS_MPEG, count=%u, controls=" "[{id=V4L2_CID_BRIGHTNESS, size=0, value=%d, value64=%lld}" ", {id=V4L2_CID_CONTRAST, size=2, string=\"\\377\\377\"}" - ", %p]}) = -1 EBADF (%m)\n", + ", ... /* %p */]}) = -1 EBADF (%m)\n", p_ext_controls->count, p_ext_controls->controls[0].value, (long long) p_ext_controls->controls[0].value64, diff --git a/tests-mx32/ipc.sh b/tests-mx32/ipc.sh index 5943c1a7..ef550732 100644 --- a/tests-mx32/ipc.sh +++ b/tests-mx32/ipc.sh @@ -5,7 +5,7 @@ . "${srcdir=.}/init.sh" run_prog > /dev/null -run_strace -eipc $args > "$EXP" +run_strace -eipc "$@" $args > "$EXP" match_grep "$LOG" "$EXP" exit 0 diff --git a/tests-mx32/ipc_msg-Xabbrev.c b/tests-mx32/ipc_msg-Xabbrev.c new file mode 100644 index 00000000..f4535e8b --- /dev/null +++ b/tests-mx32/ipc_msg-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_msg.c" diff --git a/tests-mx32/ipc_msg-Xabbrev.gen.test b/tests-mx32/ipc_msg-Xabbrev.gen.test new file mode 100755 index 00000000..0969ee1e --- /dev/null +++ b/tests-mx32/ipc_msg-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg-Xabbrev +ipc.sh -Xabbrev -a26); do not edit. +set -- -Xabbrev -a26 +. "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_msg-Xraw.c b/tests-mx32/ipc_msg-Xraw.c new file mode 100644 index 00000000..9c016d30 --- /dev/null +++ b/tests-mx32/ipc_msg-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_msg.c" diff --git a/tests-mx32/ipc_msg-Xraw.gen.test b/tests-mx32/ipc_msg-Xraw.gen.test new file mode 100755 index 00000000..5d5d7322 --- /dev/null +++ b/tests-mx32/ipc_msg-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg-Xraw +ipc.sh -Xraw -a16); do not edit. +set -- -Xraw -a16 +. "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_msg-Xverbose.c b/tests-mx32/ipc_msg-Xverbose.c new file mode 100644 index 00000000..3f59f984 --- /dev/null +++ b/tests-mx32/ipc_msg-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_msg.c" diff --git a/tests-mx32/ipc_msg-Xverbose.gen.test b/tests-mx32/ipc_msg-Xverbose.gen.test new file mode 100755 index 00000000..88c79a00 --- /dev/null +++ b/tests-mx32/ipc_msg-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg-Xverbose +ipc.sh -Xverbose -a34); do not edit. +set -- -Xverbose -a34 +. "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_msg.c b/tests-mx32/ipc_msg.c index b4938439..a74dba51 100644 --- a/tests-mx32/ipc_msg.c +++ b/tests-mx32/ipc_msg.c @@ -1,6 +1,7 @@ /* * Copyright (c) 2015 Elvira Khabirova * Copyright (c) 2015-2016 Dmitry V. Levin + * Copyright (c) 2015-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,6 +36,10 @@ #include "xlat.h" #include "xlat/resource_flags.h" +#ifndef MSG_STAT_ANY +# define MSG_STAT_ANY 13 +#endif + /* * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data * provided in third argument of msgctl call (in case of IPC_SET cmd) @@ -52,13 +57,50 @@ # define TEST_MSGCTL_BOGUS_ADDR 1 #endif +#if XLAT_RAW +# define str_ipc_excl_nowait "0xface1c00" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_set "0x1" +# define str_ipc_stat "0x2" +# define str_msg_stat "0xb" +# define str_msg_info "0xc" +# define str_msg_stat_any "0xd" +# define str_ipc_64 "0x100" +# define str_bogus_cmd "0xdeadbeef" +#elif XLAT_VERBOSE +# define str_ipc_excl_nowait \ + "0xface1c00 /\\* IPC_EXCL\\|IPC_NOWAIT\\|0xface1000 \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_set "0x1 /\\* IPC_SET \\*/" +# define str_ipc_stat "0x2 /\\* IPC_STAT \\*/" +# define str_msg_stat "0xb /\\* MSG_STAT \\*/" +# define str_msg_info "0xc /\\* MSG_INFO \\*/" +# define str_msg_stat_any "0xd /\\* MSG_STAT_ANY \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +# define str_bogus_cmd "0xdeadbeef /\\* MSG_\\?\\?\\? \\*/" +#else +# define str_ipc_excl_nowait "IPC_EXCL\\|IPC_NOWAIT\\|0xface1000" +# define str_ipc_private "IPC_PRIVATE" +# define str_ipc_rmid "IPC_RMID" +# define str_ipc_set "IPC_SET" +# define str_ipc_stat "IPC_STAT" +# define str_msg_stat "MSG_STAT" +# define str_msg_info "MSG_INFO" +# define str_msg_stat_any "MSG_STAT_ANY" +# define str_ipc_64 "IPC_64" +# define str_bogus_cmd "0xdeadbeef /\\* MSG_\\?\\?\\? \\*/" +#endif + static int id = -1; static void cleanup(void) { msgctl(id, IPC_RMID, NULL); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_RMID, NULL\\) += 0\n", id); + printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) += 0\n", + id, str_ipc_64, str_ipc_rmid); id = -1; } @@ -67,7 +109,7 @@ main(void) { static const key_t private_key = (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; + static const key_t bogus_key = (key_t) 0xeca86420fdb9f531ULL; static const int bogus_msgid = 0xfdb97531; static const int bogus_cmd = 0xdeadbeef; #if TEST_MSGCTL_BOGUS_ADDR @@ -79,37 +121,36 @@ main(void) struct msqid_ds ds; rc = msgget(bogus_key, bogus_flags); - printf("msgget\\(%#llx, %s%s%s%#x\\|%#04o\\) += %s\n", + printf("msgget\\(%#llx, %s\\|%#04o\\) = %s\n", zero_extend_signed_to_ull(bogus_key), - IPC_CREAT & bogus_flags ? "IPC_CREAT\\|" : "", - IPC_EXCL & bogus_flags ? "IPC_EXCL\\|" : "", - IPC_NOWAIT & bogus_flags ? "IPC_NOWAIT\\|" : "", - bogus_flags & ~(0777 | IPC_CREAT | IPC_EXCL | IPC_NOWAIT), + str_ipc_excl_nowait, bogus_flags & 0777, sprintrc_grep(rc)); id = msgget(private_key, 0600); if (id < 0) perror_msg_and_skip("msgget"); - printf("msgget\\(IPC_PRIVATE, 0600\\) += %d\n", id); + printf("msgget\\(%s, 0600\\) = %d\n", str_ipc_private, id); atexit(cleanup); rc = msgctl(bogus_msgid, bogus_cmd, NULL); - printf("msgctl\\(%d, (IPC_64\\|)?%#x /\\* MSG_\\?\\?\\? \\*/, NULL\\)" - " += %s\n", bogus_msgid, bogus_cmd, sprintrc_grep(rc)); + printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", + bogus_msgid, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); #if TEST_MSGCTL_BOGUS_ADDR rc = msgctl(bogus_msgid, IPC_SET, bogus_addr); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_SET, %p\\) += %s\n", - bogus_msgid, bogus_addr, sprintrc_grep(rc)); + printf("msgctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", + bogus_msgid, str_ipc_64, str_ipc_set, bogus_addr, + sprintrc_grep(rc)); #endif if (msgctl(id, IPC_STAT, &ds)) perror_msg_and_skip("msgctl IPC_STAT"); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_STAT, \\{msg_perm=\\{uid=%u" + printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u" ", gid=%u, mode=%#o, key=%u, cuid=%u, cgid=%u\\}, msg_stime=%u" ", msg_rtime=%u, msg_ctime=%u, msg_qnum=%u, msg_qbytes=%u" - ", msg_lspid=%u, msg_lrpid=%u\\}\\) += 0\n", - id, (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, + ", msg_lspid=%u, msg_lrpid=%u\\}\\) = 0\n", + id, str_ipc_64, str_ipc_stat, + (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, (unsigned) ds.msg_perm.mode, (unsigned) ds.msg_perm.__key, (unsigned) ds.msg_perm.cuid, (unsigned) ds.msg_perm.cgid, (unsigned) ds.msg_stime, (unsigned) ds.msg_rtime, @@ -119,18 +160,22 @@ main(void) if (msgctl(id, IPC_SET, &ds)) perror_msg_and_skip("msgctl IPC_SET"); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_SET, \\{msg_perm=\\{uid=%u" - ", gid=%u, mode=%#o\\}, ...\\}\\) += 0\n", - id, (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, - (unsigned) ds.msg_perm.mode); + printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u" + ", gid=%u, mode=%#o\\}, ...\\}\\) = 0\n", + id, str_ipc_64, str_ipc_set, (unsigned) ds.msg_perm.uid, + (unsigned) ds.msg_perm.gid, (unsigned) ds.msg_perm.mode); rc = msgctl(0, MSG_INFO, &ds); - printf("msgctl\\(0, (IPC_64\\|)?MSG_INFO, %p\\) += %s\n", - &ds, sprintrc_grep(rc)); + printf("msgctl\\(0, (%s\\|)?%s, %p\\) = %s\n", + str_ipc_64, str_msg_info, &ds, sprintrc_grep(rc)); rc = msgctl(id, MSG_STAT, &ds); - printf("msgctl\\(%d, (IPC_64\\|)?MSG_STAT, %p\\) += %s\n", - id, &ds, sprintrc_grep(rc)); + printf("msgctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", + id, str_ipc_64, str_msg_stat, &ds, sprintrc_grep(rc)); + + rc = msgctl(id, MSG_STAT_ANY, &ds); + printf("msgctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", + id, str_ipc_64, str_msg_stat_any, &ds, sprintrc_grep(rc)); return 0; } diff --git a/tests-mx32/ipc_msg.gen.test b/tests-mx32/ipc_msg.gen.test index b1f1f7e8..82026198 100755 --- a/tests-mx32/ipc_msg.gen.test +++ b/tests-mx32/ipc_msg.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg +ipc.sh ); do not edit. -set -- +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg +ipc.sh -a26); do not edit. +set -- -a26 . "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_msgbuf-Xabbrev.c b/tests-mx32/ipc_msgbuf-Xabbrev.c new file mode 100644 index 00000000..e2f09eb1 --- /dev/null +++ b/tests-mx32/ipc_msgbuf-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_msgbuf.c" diff --git a/tests-mx32/ipc_msgbuf-Xabbrev.gen.test b/tests-mx32/ipc_msgbuf-Xabbrev.gen.test new file mode 100755 index 00000000..402d804e --- /dev/null +++ b/tests-mx32/ipc_msgbuf-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev); do not edit. +set -- -Xabbrev +. "${srcdir=.}/ipc_msgbuf.test" diff --git a/tests-mx32/ipc_msgbuf-Xraw.c b/tests-mx32/ipc_msgbuf-Xraw.c new file mode 100644 index 00000000..c6f8a31b --- /dev/null +++ b/tests-mx32/ipc_msgbuf-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_msgbuf.c" diff --git a/tests-mx32/ipc_msgbuf-Xraw.gen.test b/tests-mx32/ipc_msgbuf-Xraw.gen.test new file mode 100755 index 00000000..c1112cb6 --- /dev/null +++ b/tests-mx32/ipc_msgbuf-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22); do not edit. +set -- -Xraw -a22 +. "${srcdir=.}/ipc_msgbuf.test" diff --git a/tests-mx32/ipc_msgbuf-Xverbose.c b/tests-mx32/ipc_msgbuf-Xverbose.c new file mode 100644 index 00000000..ae09a4ad --- /dev/null +++ b/tests-mx32/ipc_msgbuf-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_msgbuf.c" diff --git a/tests-mx32/ipc_msgbuf-Xverbose.gen.test b/tests-mx32/ipc_msgbuf-Xverbose.gen.test new file mode 100755 index 00000000..2c72eb71 --- /dev/null +++ b/tests-mx32/ipc_msgbuf-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose); do not edit. +set -- -Xverbose +. "${srcdir=.}/ipc_msgbuf.test" diff --git a/tests-mx32/ipc_msgbuf.c b/tests-mx32/ipc_msgbuf.c index c4af1bef..e439c498 100644 --- a/tests-mx32/ipc_msgbuf.c +++ b/tests-mx32/ipc_msgbuf.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2015 Elvira Khabirova * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -28,7 +28,10 @@ */ #include "tests.h" +#include #include +#include +#include #include #include #include @@ -38,22 +41,54 @@ static int msqid = -1; +#if XLAT_RAW +# define str_ipc_creat "0x200" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_64 "0x100" +#elif XLAT_VERBOSE +# define str_ipc_creat "0x200 /\\* IPC_CREAT \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +#else +# define str_ipc_creat "IPC_CREAT" +# define str_ipc_private "IPC_PRIVATE" +# define str_ipc_rmid "IPC_RMID" +# define str_ipc_64 "IPC_64" +#endif + static int cleanup(void) { if (msqid != -1) { int rc = msgctl(msqid, IPC_RMID, 0); + printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = 0\n", + msqid, str_ipc_64, str_ipc_rmid); msqid = -1; if (rc == -1) return 77; + puts("\\+\\+\\+ exited with 0 \\+\\+\\+"); } return 0; } +int +sys_msgrcv(int msqid, void *msgp, size_t sz, kernel_long_t msgtyp, + int msgflg) +{ +#if defined __x86_64__ && defined __ILP32__ + return syscall(__NR_msgrcv, msqid, msgp, sz, msgtyp, msgflg); +#else + return msgrcv(msqid, msgp, sz, msgtyp, msgflg); +#endif +} + int main(void) { - const long mtype = 0xdefaced; + /* mtype has to be positive */ + const kernel_long_t mtype = (kernel_long_t) 0x7facefed5adc0dedULL; struct { kernel_long_t mtype; char mtext[msgsz]; @@ -64,11 +99,23 @@ main(void) msqid = msgget(IPC_PRIVATE, IPC_CREAT | S_IRWXU); if (msqid == -1) perror_msg_and_skip("msgget"); + printf("msgget\\(%s, %s\\|0700\\) = %d\n", + str_ipc_private, str_ipc_creat, msqid); + typedef void (*atexit_func)(void); atexit((atexit_func) cleanup); + + printf("msgsnd\\(%d, \\{%lld, \"" text_string "\\\\0\"\\}, 14, 0\\)" + " = 0\n", + msqid, (long long) mtype); if (msgsnd(msqid, &msg, msgsz, 0) == -1) perror_msg_and_skip("msgsnd"); - if (msgrcv(msqid, &msg, msgsz, mtype, 0) != msgsz) + + if (sys_msgrcv(msqid, &msg, msgsz, -mtype, 0) != msgsz) perror_msg_and_skip("msgrcv"); + printf("msgrcv\\(%d, \\{%lld, \"" text_string "\\\\0\"\\}, 14, %lld" + ", 0\\) = 14\n", + msqid, (long long) mtype, -(long long) mtype); + return cleanup(); } diff --git a/tests-mx32/ipc_msgbuf.test b/tests-mx32/ipc_msgbuf.test index d0b65d1a..9e787855 100755 --- a/tests-mx32/ipc_msgbuf.test +++ b/tests-mx32/ipc_msgbuf.test @@ -5,7 +5,7 @@ . "${srcdir=.}/init.sh" run_prog -run_strace -v -e msgget,msgsnd,msgrcv,msgctl $args -match_grep +run_strace -a26 -v -e msgget,msgsnd,msgrcv,msgctl "$@" $args > "$EXP" +match_grep "$LOG" "$EXP" exit 0 diff --git a/tests-mx32/ipc_sem-Xabbrev.c b/tests-mx32/ipc_sem-Xabbrev.c new file mode 100644 index 00000000..727005ad --- /dev/null +++ b/tests-mx32/ipc_sem-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_sem.c" diff --git a/tests-mx32/ipc_sem-Xabbrev.gen.test b/tests-mx32/ipc_sem-Xabbrev.gen.test new file mode 100755 index 00000000..0757a48b --- /dev/null +++ b/tests-mx32/ipc_sem-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29); do not edit. +set -- -Xabbrev -a29 +. "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_sem-Xraw.c b/tests-mx32/ipc_sem-Xraw.c new file mode 100644 index 00000000..0a57c0ac --- /dev/null +++ b/tests-mx32/ipc_sem-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_sem.c" diff --git a/tests-mx32/ipc_sem-Xraw.gen.test b/tests-mx32/ipc_sem-Xraw.gen.test new file mode 100755 index 00000000..07d59e51 --- /dev/null +++ b/tests-mx32/ipc_sem-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem-Xraw +ipc.sh -Xraw -a19); do not edit. +set -- -Xraw -a19 +. "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_sem-Xverbose.c b/tests-mx32/ipc_sem-Xverbose.c new file mode 100644 index 00000000..56e83806 --- /dev/null +++ b/tests-mx32/ipc_sem-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_sem.c" diff --git a/tests-mx32/ipc_sem-Xverbose.gen.test b/tests-mx32/ipc_sem-Xverbose.gen.test new file mode 100755 index 00000000..43a61d08 --- /dev/null +++ b/tests-mx32/ipc_sem-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem-Xverbose +ipc.sh -Xverbose -a36); do not edit. +set -- -Xverbose -a36 +. "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_sem.c b/tests-mx32/ipc_sem.c index c8832726..8cbbfaaa 100644 --- a/tests-mx32/ipc_sem.c +++ b/tests-mx32/ipc_sem.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2015 Andreas Schwab * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -36,6 +36,43 @@ #include "xlat.h" #include "xlat/resource_flags.h" +#ifndef SEM_STAT_ANY +# define SEM_STAT_ANY 20 +#endif + +#if XLAT_RAW +# define str_ipc_flags "0xface1e00" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_stat "0x2" +# define str_sem_stat "0x12" +# define str_sem_info "0x13" +# define str_sem_stat_any "0x14" +# define str_ipc_64 "0x100" +# define str_bogus_cmd "0xdeadbeef" +#elif XLAT_VERBOSE +# define str_ipc_flags \ + "0xface1e00 /\\* IPC_CREAT\\|IPC_EXCL\\|IPC_NOWAIT\\|0xface1000 \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_stat "0x2 /\\* IPC_STAT \\*/" +# define str_sem_stat "0x12 /\\* SEM_STAT \\*/" +# define str_sem_info "0x13 /\\* SEM_INFO \\*/" +# define str_sem_stat_any "0x14 /\\* SEM_STAT_ANY \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +# define str_bogus_cmd "0xdeadbeef /\\* SEM_\\?\\?\\? \\*/" +#else +# define str_ipc_flags "IPC_CREAT\\|IPC_EXCL\\|IPC_NOWAIT\\|0xface1000" +# define str_ipc_private "IPC_PRIVATE" +# define str_ipc_rmid "IPC_RMID" +# define str_ipc_stat "IPC_STAT" +# define str_sem_stat "SEM_STAT" +# define str_sem_info "SEM_INFO" +# define str_sem_stat_any "SEM_STAT_ANY" +# define str_ipc_64 "IPC_64" +# define str_bogus_cmd "0xdeadbeef /\\* SEM_\\?\\?\\? \\*/" +#endif + union semun { int val; /* Value for SETVAL */ struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */ @@ -50,8 +87,8 @@ static void cleanup(void) { semctl(id, 0, IPC_RMID, 0); - printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, \\[?NULL\\]?\\) += 0\n", - id); + printf("semctl\\(%d, 0, (%s\\|)?%s, \\[?NULL\\]?\\) = 0\n", + id, str_ipc_64, str_ipc_rmid); id = -1; } @@ -75,42 +112,41 @@ main(void) struct seminfo info; rc = semget(bogus_key, bogus_size, bogus_flags); - printf("semget\\(%#llx, %d, %s%s%s%#x\\|%#04o\\) += %s\n", + printf("semget\\(%#llx, %d, %s\\|%#04o\\) = %s\n", zero_extend_signed_to_ull(bogus_key), bogus_size, - IPC_CREAT & bogus_flags ? "IPC_CREAT\\|" : "", - IPC_EXCL & bogus_flags ? "IPC_EXCL\\|" : "", - IPC_NOWAIT & bogus_flags ? "IPC_NOWAIT\\|" : "", - bogus_flags & ~(0777 | IPC_CREAT | IPC_EXCL | IPC_NOWAIT), - bogus_flags & 0777, sprintrc_grep(rc)); + str_ipc_flags, bogus_flags & 0777, sprintrc_grep(rc)); id = semget(private_key, 1, 0600); if (id < 0) perror_msg_and_skip("semget"); - printf("semget\\(IPC_PRIVATE, 1, 0600\\) += %d\n", id); + printf("semget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id); atexit(cleanup); rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg); #define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)" - printf("semctl\\(%d, %d, (IPC_64\\|)?%#x /\\* SEM_\\?\\?\\? \\*/" - ", " SEMCTL_BOGUS_ARG_FMT "\\) += %s\n", - bogus_semid, bogus_semnum, bogus_cmd, + printf("semctl\\(%d, %d, (%s\\|)?%s, " SEMCTL_BOGUS_ARG_FMT "\\) = %s\n", + bogus_semid, bogus_semnum, str_ipc_64, str_bogus_cmd, bogus_arg, bogus_arg, sprintrc_grep(rc)); un.buf = &ds; if (semctl(id, 0, IPC_STAT, un)) perror_msg_and_skip("semctl IPC_STAT"); - printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_STAT, \\[?%p\\]?\\) += 0\n", - id, &ds); + printf("semctl\\(%d, 0, (%s\\|)?%s, \\[?%p\\]?\\) = 0\n", + id, str_ipc_64, str_ipc_stat, &ds); un.__buf = &info; rc = semctl(0, 0, SEM_INFO, un); - printf("semctl\\(0, 0, (IPC_64\\|)?SEM_INFO, \\[?%p\\]?\\) += %s\n", - &info, sprintrc_grep(rc)); + printf("semctl\\(0, 0, (%s\\|)?%s, \\[?%p\\]?\\) = %s\n", + str_ipc_64, str_sem_info, &info, sprintrc_grep(rc)); un.buf = &ds; rc = semctl(id, 0, SEM_STAT, un); - printf("semctl\\(%d, 0, (IPC_64\\|)?SEM_STAT, \\[?%p\\]?\\) += %s\n", - id, &ds, sprintrc_grep(rc)); + printf("semctl\\(%d, 0, (%s\\|)?%s, \\[?%p\\]?\\) = %s\n", + id, str_ipc_64, str_sem_stat, &ds, sprintrc_grep(rc)); + + rc = semctl(id, 0, SEM_STAT_ANY, un); + printf("semctl\\(%d, 0, (%s\\|)?%s, (%p|\\[(%p|NULL)\\]|NULL)\\) = %s\n", + id, str_ipc_64, str_sem_stat_any, &ds, &ds, sprintrc_grep(rc)); return 0; } diff --git a/tests-mx32/ipc_sem.gen.test b/tests-mx32/ipc_sem.gen.test index a1c03d2b..173b3af3 100755 --- a/tests-mx32/ipc_sem.gen.test +++ b/tests-mx32/ipc_sem.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem +ipc.sh ); do not edit. -set -- +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem +ipc.sh -a29); do not edit. +set -- -a29 . "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_shm-Xabbrev.c b/tests-mx32/ipc_shm-Xabbrev.c new file mode 100644 index 00000000..c191aeaa --- /dev/null +++ b/tests-mx32/ipc_shm-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_shm.c" diff --git a/tests-mx32/ipc_shm-Xabbrev.gen.test b/tests-mx32/ipc_shm-Xabbrev.gen.test new file mode 100755 index 00000000..d68c2462 --- /dev/null +++ b/tests-mx32/ipc_shm-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29); do not edit. +set -- -Xabbrev -a29 +. "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_shm-Xraw.c b/tests-mx32/ipc_shm-Xraw.c new file mode 100644 index 00000000..08e09ac1 --- /dev/null +++ b/tests-mx32/ipc_shm-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_shm.c" diff --git a/tests-mx32/ipc_shm-Xraw.gen.test b/tests-mx32/ipc_shm-Xraw.gen.test new file mode 100755 index 00000000..071eef67 --- /dev/null +++ b/tests-mx32/ipc_shm-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm-Xraw +ipc.sh -Xraw -a19); do not edit. +set -- -Xraw -a19 +. "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_shm-Xverbose.c b/tests-mx32/ipc_shm-Xverbose.c new file mode 100644 index 00000000..b936785f --- /dev/null +++ b/tests-mx32/ipc_shm-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_shm.c" diff --git a/tests-mx32/ipc_shm-Xverbose.gen.test b/tests-mx32/ipc_shm-Xverbose.gen.test new file mode 100755 index 00000000..170adeee --- /dev/null +++ b/tests-mx32/ipc_shm-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm-Xverbose +ipc.sh -Xverbose -a36); do not edit. +set -- -Xverbose -a36 +. "${srcdir=.}/ipc.sh" diff --git a/tests-mx32/ipc_shm.c b/tests-mx32/ipc_shm.c index 6586c8af..f5802cc2 100644 --- a/tests-mx32/ipc_shm.c +++ b/tests-mx32/ipc_shm.c @@ -41,16 +41,62 @@ # define SHM_HUGE_MASK 0x3f #endif +#ifndef SHM_STAT_ANY +# define SHM_STAT_ANY 15 +#endif + #include "xlat.h" #include "xlat/shm_resource_flags.h" +#if XLAT_RAW +# define str_ipc_flags "0x2ce1e00" +# define str_shm_huge "21<<26" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_set "0x1" +# define str_ipc_stat "0x2" +# define str_shm_stat "0xd" +# define str_shm_info "0xe" +# define str_shm_stat_any "0xf" +# define str_ipc_64 "0x100" +# define str_bogus_cmd "0xdefaced2" +#elif XLAT_VERBOSE +# define str_ipc_flags \ + "0x2ce1e00 /\\* IPC_CREAT\\|IPC_EXCL\\|SHM_HUGETLB\\|SHM_NORESERVE" \ + "\\|0x2ce0000 \\*/" +# define str_shm_huge "21<<26 /\\* SHM_HUGE_SHIFT \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_set "0x1 /\\* IPC_SET \\*/" +# define str_ipc_stat "0x2 /\\* IPC_STAT \\*/" +# define str_shm_stat "0xd /\\* SHM_STAT \\*/" +# define str_shm_info "0xe /\\* SHM_INFO \\*/" +# define str_shm_stat_any "0xf /\\* SHM_STAT_ANY \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +# define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/" +#else +# define str_ipc_flags \ + "IPC_CREAT\\|IPC_EXCL\\|SHM_HUGETLB\\|SHM_NORESERVE\\|0x2ce0000" +# define str_shm_huge "21< + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -167,7 +168,7 @@ main(void) int fd; unsigned i; - struct kcmp_epoll_slot *slot = tail_alloc(sizeof(*slot)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct kcmp_epoll_slot, slot); /* Open some files to test printpidfd */ fd = open(null_path, O_RDONLY); diff --git a/tests-mx32/kexec_load.c b/tests-mx32/kexec_load.c index 2a6b4418..ff4507c9 100644 --- a/tests-mx32/kexec_load.c +++ b/tests-mx32/kexec_load.c @@ -2,7 +2,7 @@ * Check decoding of kexec_load syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -129,7 +129,7 @@ main(void) printf("{buf=%p, bufsz=%zu, mem=%p, memsz=%zu}, ", segms[i].buf, segms[i].bufsz, segms[i].mem, segms[i].memsz); - printf("%p], %s%s) = %s\n", + printf("... /* %p */], %s%s) = %s\n", segms + NUM_SEGMS, sizeof(long) == 8 ? flags[0].str64 : flags[0].str32, flags[0].str, errstr); diff --git a/tests-mx32/keyctl-Xabbrev.c b/tests-mx32/keyctl-Xabbrev.c new file mode 100644 index 00000000..7b6b0dcc --- /dev/null +++ b/tests-mx32/keyctl-Xabbrev.c @@ -0,0 +1 @@ +#include "keyctl.c" diff --git a/tests-mx32/keyctl-Xabbrev.gen.test b/tests-mx32/keyctl-Xabbrev.gen.test new file mode 100755 index 00000000..0068a032 --- /dev/null +++ b/tests-mx32/keyctl-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl-Xabbrev -a31 -s10 -e trace=keyctl -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a31 -s10 -e trace=keyctl -Xabbrev diff --git a/tests-mx32/keyctl-Xraw.c b/tests-mx32/keyctl-Xraw.c new file mode 100644 index 00000000..202c22a9 --- /dev/null +++ b/tests-mx32/keyctl-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "keyctl.c" diff --git a/tests-mx32/keyctl-Xraw.gen.test b/tests-mx32/keyctl-Xraw.gen.test new file mode 100755 index 00000000..2d89ea79 --- /dev/null +++ b/tests-mx32/keyctl-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl-Xraw -a13 -s10 -e trace=keyctl -Xraw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a13 -s10 -e trace=keyctl -Xraw diff --git a/tests-mx32/keyctl-Xverbose.c b/tests-mx32/keyctl-Xverbose.c new file mode 100644 index 00000000..9f9d744a --- /dev/null +++ b/tests-mx32/keyctl-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "keyctl.c" diff --git a/tests-mx32/keyctl-Xverbose.gen.test b/tests-mx32/keyctl-Xverbose.gen.test new file mode 100755 index 00000000..a0cdd7de --- /dev/null +++ b/tests-mx32/keyctl-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl-Xverbose -a41 -s10 -e trace=keyctl -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a41 -s10 -e trace=keyctl -Xverbose diff --git a/tests-mx32/keyctl.c b/tests-mx32/keyctl.c index 5d46ab78..881f24b3 100644 --- a/tests-mx32/keyctl.c +++ b/tests-mx32/keyctl.c @@ -89,6 +89,14 @@ bool buf_in_arg; /* From ioctl_dm.c */ # define STR32 "AbCdEfGhIjKlMnOpQrStUvWxYz012345" +#if XLAT_RAW +# define XARG_STR(v_) (v_), STRINGIFY(v_) +#elif XLAT_VERBOSE +# define XARG_STR(v_) (v_), STRINGIFY(v_) " /* " #v_ " */" +#else +# define XARG_STR ARG_STR +#endif + /* * When this is called with positive size, the buffer provided is an "out" * argument and rc contains resulting size (globally defined nul_terminated_buf @@ -187,7 +195,13 @@ do_keyctl(kernel_ulong_t cmd, const char *cmd_str, ...) long rc = syscall(__NR_keyctl, cmd, args[0], args[1], args[2], args[3]); const char *errstr = sprintrc(rc); +#if XLAT_RAW + printf("keyctl(%#x", (unsigned) cmd); +#elif XLAT_VERBOSE + printf("keyctl(%#x /* %s */", (unsigned) cmd, cmd_str); +#else printf("keyctl(%s", cmd_str); +#endif for (i = 0; i < cnt; i++) { printf(", "); print_arg(args[i], arg_str[i], arg_fmt[i], arg_sz[i], rc); @@ -299,8 +313,20 @@ main(void) static const struct keyctl_dh_params kcdhp_data = { KEY_SPEC_GROUP_KEYRING, 1234567890, 3141592653U }; - static const char *kcdhp_str = "{private=KEY_SPEC_GROUP_KEYRING, " - "prime=1234567890, base=-1153374643}"; + static const char *kcdhp_str = "{private=" +#if XLAT_RAW || XLAT_VERBOSE + "-6" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW + "KEY_SPEC_GROUP_KEYRING" +#endif +#if XLAT_VERBOSE + " */" +#endif + ", prime=1234567890, base=-1153374643}"; /* * It's bigger than current hash name size limit, but since it's @@ -418,7 +444,15 @@ main(void) /* Invalid command */ do_keyctl((kernel_ulong_t) 0xbadc0dedfacefeedULL, - "0xfacefeed /* KEYCTL_??? */", +#if XLAT_VERBOSE + "KEYCTL_???" +#else + "0xfacefeed" +# if !XLAT_RAW + " /* KEYCTL_??? */" +# endif +#endif + , sizeof(kernel_ulong_t), (kernel_ulong_t) 0xdeadfee1badc0de5ULL, NULL, kulong_fmt, @@ -440,7 +474,7 @@ main(void) (kernel_ulong_t) 0xbadc0dedffffffffLLU, "-1", NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_KEYRING_ID), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), "%d", + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), "%d", sizeof(int), 3141592653U, NULL, "%d", NULL, 0UL); @@ -469,7 +503,7 @@ main(void) buf_in_arg = true; do_keyctl(ARG_STR(KEYCTL_UPDATE), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 0, NULL, ksize_fmt, 0UL); @@ -498,7 +532,7 @@ main(void) /* KEYCTL_REVOKE */ do_keyctl(ARG_STR(KEYCTL_REVOKE), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_REVOKE), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -513,7 +547,7 @@ main(void) /* KEYCTL_CHOWN */ do_keyctl(ARG_STR(KEYCTL_CHOWN), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(uid_t), ARG_STR(-1), NULL, sizeof(gid_t), ARG_STR(-1), NULL, 0UL); @@ -526,8 +560,15 @@ main(void) /* KEYCTL_SETPERM */ do_keyctl(ARG_STR(KEYCTL_SETPERM), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQKEY_AUTH_KEY), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQKEY_AUTH_KEY), NULL, sizeof(uint32_t), 0xffffffffU, +#if XLAT_RAW || XLAT_VERBOSE + "0xffffffff" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW "KEY_POS_VIEW|KEY_POS_READ|KEY_POS_WRITE|" "KEY_POS_SEARCH|KEY_POS_LINK|KEY_POS_SETATTR|" "KEY_USR_VIEW|KEY_USR_READ|KEY_USR_WRITE|" @@ -536,7 +577,12 @@ main(void) "KEY_GRP_SEARCH|KEY_GRP_LINK|KEY_GRP_SETATTR|" "KEY_OTH_VIEW|KEY_OTH_READ|KEY_OTH_WRITE|" "KEY_OTH_SEARCH|KEY_OTH_LINK|KEY_OTH_SETATTR|" - "0xc0c0c0c0", NULL, + "0xc0c0c0c0" +#endif +#if XLAT_VERBOSE + " */" +#endif + , NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_SETPERM), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -544,7 +590,12 @@ main(void) 0UL); do_keyctl(ARG_STR(KEYCTL_SETPERM), sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL, - sizeof(uint32_t), 0xc0c0c0c0, "0xc0c0c0c0 /* KEY_??? */", + sizeof(uint32_t), 0xc0c0c0c0, + "0xc0c0c0c0" +#if !XLAT_RAW + " /* KEY_??? */" +#endif + , NULL, 0UL); @@ -563,17 +614,17 @@ main(void) (kernel_ulong_t) 0xfeedf157badc0dedLLU, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_DESCRIBE), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 9, (uintptr_t) bogus_buf1, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 9, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_DESCRIBE), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 256, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 256, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_DESCRIBE), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) -4, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) -4, NULL, ksize_fmt, 0UL); @@ -581,7 +632,7 @@ main(void) /* KEYCTL_CLEAR */ do_keyctl(ARG_STR(KEYCTL_CLEAR), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_CLEAR), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -597,14 +648,14 @@ main(void) /* KEYCTL_LINK */ do_keyctl(ARG_STR(KEYCTL_LINK), sizeof(int32_t), bogus_key1, NULL, "%d", - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_LINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(int32_t), bogus_key2, NULL, "%d", 0UL); do_keyctl(ARG_STR(KEYCTL_LINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL, 0UL); @@ -612,14 +663,14 @@ main(void) /* KEYCTL_UNLINK */ do_keyctl(ARG_STR(KEYCTL_UNLINK), sizeof(int32_t), bogus_key1, NULL, "%d", - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_UNLINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(int32_t), bogus_key2, NULL, "%d", 0UL); do_keyctl(ARG_STR(KEYCTL_UNLINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL, 0UL); @@ -628,7 +679,7 @@ main(void) buf_in_arg = true; do_keyctl(ARG_STR(KEYCTL_SEARCH), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(int32_t), 0, NULL, "%d"); @@ -636,7 +687,7 @@ main(void) sizeof(int32_t), bogus_key1, NULL, "%d", sizeof(char *), (char *) 0xfffffacefffffeedULL, NULL, ptr_fmt, sizeof(char *), (char *) 0xfffff00dfffff157ULL, NULL, ptr_fmt, - sizeof(int32_t), ARG_STR(KEY_SPEC_USER_SESSION_KEYRING), + sizeof(int32_t), XARG_STR(KEY_SPEC_USER_SESSION_KEYRING), NULL); do_keyctl(ARG_STR(KEYCTL_SEARCH), sizeof(int32_t), bogus_key2, NULL, "%d", @@ -657,7 +708,7 @@ main(void) /* KEYCTL_RESTRICT_KEYRING */ do_keyctl(ARG_STR(KEYCTL_RESTRICT_KEYRING), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(char *), ARG_STR(NULL), NULL, NULL); @@ -705,17 +756,17 @@ main(void) (kernel_ulong_t) 0xfeedf157badc0dedLLU, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_READ), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 9, (uintptr_t) bogus_buf1, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 9, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_READ), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 256, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 256, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_READ), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) -4, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) -4, NULL, ksize_fmt, 0UL); @@ -751,11 +802,11 @@ main(void) ksize_fmt, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL); do_keyctl(ARG_STR(KEYCTL_INSTANTIATE), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, sizeof(long_type_str), long_desc, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) sizeof(long_type_str), NULL, ksize_fmt, - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); buf_in_arg = false; @@ -788,7 +839,7 @@ main(void) /* KEYCTL_SET_REQKEY_KEYRING */ do_keyctl(ARG_STR(KEYCTL_SET_REQKEY_KEYRING), - sizeof(int32_t), ARG_STR(KEY_REQKEY_DEFL_NO_CHANGE), NULL, + sizeof(int32_t), XARG_STR(KEY_REQKEY_DEFL_NO_CHANGE), NULL, 0UL); /* * Keep it commented out until proper way of faking syscalls is not @@ -796,11 +847,15 @@ main(void) */ /* do_keyctl(ARG_STR(KEYCTL_SET_REQKEY_KEYRING), sizeof(int32_t), - ARG_STR(KEY_REQKEY_DEFL_REQUESTOR_KEYRING), NULL, 0UL); */ + XARG_STR(KEY_REQKEY_DEFL_REQUESTOR_KEYRING), NULL, 0UL); */ do_keyctl(ARG_STR(KEYCTL_SET_REQKEY_KEYRING), sizeof(kernel_ulong_t), (kernel_ulong_t) 0xfeedf157badc0dedLLU, - "0xbadc0ded /* KEY_REQKEY_DEFL_??? */", NULL, 0UL); + "-1159983635" +#if !XLAT_RAW + " /* KEY_REQKEY_DEFL_??? */" +#endif + , NULL, 0UL); /* KEYCTL_SET_TIMEOUT */ @@ -822,7 +877,7 @@ main(void) /* KEYCTL_ASSUME_AUTHORITY */ do_keyctl(ARG_STR(KEYCTL_ASSUME_AUTHORITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_ASSUME_AUTHORITY), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -848,17 +903,17 @@ main(void) (kernel_ulong_t) 0xfeedf157badc0dedLLU, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_SECURITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 9, (uintptr_t) bogus_buf1, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 9, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_SECURITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 256, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 256, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_SECURITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) -4, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) -4, NULL, ksize_fmt, 0UL); @@ -893,7 +948,7 @@ main(void) sizeof(kernel_ulong_t), (kernel_ulong_t) 0xfeedf157badc0dedLLU, "3134983661", NULL, - sizeof(uint32_t), ARG_STR(ENODEV), NULL, + sizeof(uint32_t), XARG_STR(ENODEV), NULL, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL); @@ -923,16 +978,16 @@ main(void) ksize_fmt, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL); do_keyctl(ARG_STR(KEYCTL_INSTANTIATE_IOV), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, sizeof(key_iov), key_iov, key_iov_str2, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) IOV_SIZE, NULL, ksize_fmt, - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); /* KEYCTL_INVALIDATE */ do_keyctl(ARG_STR(KEYCTL_INVALIDATE), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_INVALIDATE), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -948,7 +1003,7 @@ main(void) /* KEYCTL_GET_PERSISTENT */ do_keyctl(ARG_STR(KEYCTL_GET_PERSISTENT), sizeof(uid_t), ARG_STR(-1), NULL, - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_PERSISTENT), sizeof(uid_t), 2718281828U, NULL, "%u", diff --git a/tests-mx32/mknod.c b/tests-mx32/mknod.c index b3871499..4bcc2744 100644 --- a/tests-mx32/mknod.c +++ b/tests-mx32/mknod.c @@ -59,7 +59,7 @@ main(int ac, char **av) rc = call_mknod(mode, dev); printf("mknod(\"%s\", S_IFBLK|S_ISUID|S_ISGID|S_ISVTX|%#03ho" ", makedev(%u, %u)) = %ld %s (%m)\n", - sample, mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX), + sample, (short) (mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX)), major((unsigned) dev), minor((unsigned) dev), rc, errno2name()); diff --git a/tests-mx32/mknodat.c b/tests-mx32/mknodat.c index 756e2771..318dc5a6 100644 --- a/tests-mx32/mknodat.c +++ b/tests-mx32/mknodat.c @@ -59,7 +59,7 @@ main(void) rc = call_mknodat(mode, dev); printf("mknodat(-1, \"%s\", S_IFBLK|S_ISUID|S_ISGID|S_ISVTX|%#03ho" ", makedev(%u, %u)) = %ld %s (%m)\n", - sample, mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX), + sample, (short) (mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX)), major((unsigned) dev), minor((unsigned) dev), rc, errno2name()); diff --git a/tests-mx32/mmap-Xabbrev.c b/tests-mx32/mmap-Xabbrev.c new file mode 100644 index 00000000..b31ce427 --- /dev/null +++ b/tests-mx32/mmap-Xabbrev.c @@ -0,0 +1 @@ +#include "mmap.c" diff --git a/tests-mx32/mmap-Xabbrev.gen.test b/tests-mx32/mmap-Xabbrev.gen.test new file mode 100755 index 00000000..b11a84ff --- /dev/null +++ b/tests-mx32/mmap-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap-Xabbrev +mmap.test abbrev); do not edit. +set -- abbrev +. "${srcdir=.}/mmap.test" diff --git a/tests-mx32/mmap-Xraw.c b/tests-mx32/mmap-Xraw.c new file mode 100644 index 00000000..ef25c030 --- /dev/null +++ b/tests-mx32/mmap-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mmap.c" diff --git a/tests-mx32/mmap-Xraw.gen.test b/tests-mx32/mmap-Xraw.gen.test new file mode 100755 index 00000000..3caca91d --- /dev/null +++ b/tests-mx32/mmap-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap-Xraw +mmap.test raw 14); do not edit. +set -- raw 14 +. "${srcdir=.}/mmap.test" diff --git a/tests-mx32/mmap-Xverbose.c b/tests-mx32/mmap-Xverbose.c new file mode 100644 index 00000000..08e9e305 --- /dev/null +++ b/tests-mx32/mmap-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mmap.c" diff --git a/tests-mx32/mmap-Xverbose.gen.test b/tests-mx32/mmap-Xverbose.gen.test new file mode 100755 index 00000000..99b41c02 --- /dev/null +++ b/tests-mx32/mmap-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap-Xverbose +mmap.test verbose); do not edit. +set -- verbose +. "${srcdir=.}/mmap.test" diff --git a/tests-mx32/mmap.c b/tests-mx32/mmap.c index 0321bf52..e9f587ec 100644 --- a/tests-mx32/mmap.c +++ b/tests-mx32/mmap.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -58,25 +58,60 @@ main(int ac, char **av) (void) close(0); (void) close(0); +#if XLAT_RAW + printf("%s(NULL, 0, %#x, %#x, 0, 0) = -1 EBADF (%m)\n", + name, PROT_NONE, MAP_FILE); +#elif XLAT_VERBOSE + printf("%s(NULL, 0, %#x /* PROT_NONE */, %#x /* MAP_FILE */, 0, 0) " + "= -1 EBADF (%m)\n", + name, PROT_NONE, MAP_FILE); +#else printf("%s(NULL, 0, PROT_NONE, MAP_FILE, 0, 0) = -1 EBADF (%m)\n", name); +#endif mmap(NULL, 0, PROT_NONE, MAP_FILE, 0, 0); p = mmap(addr, length1, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, fd, offset); if (MAP_FAILED == p) perror_msg_and_fail("mmap"); +#if XLAT_RAW + printf("%s(%p, %lu, %#x, " + "%#x|%#x, %d, %#jx) = %p\n", + name, addr, length1, PROT_READ | PROT_WRITE, MAP_PRIVATE, + MAP_ANONYMOUS, fd, uoffset, p); +#elif XLAT_VERBOSE + printf("%s(%p, %lu, %#x /* PROT_READ|PROT_WRITE */, " + "%#x /* MAP_PRIVATE */|%#x /* MAP_ANONYMOUS */, %d, %#jx) " + "= %p\n", + name, addr, length1, PROT_READ | PROT_WRITE, MAP_PRIVATE, + MAP_ANONYMOUS, fd, uoffset, p); +#else printf("%s(%p, %lu, PROT_READ|PROT_WRITE, " "MAP_PRIVATE|MAP_ANONYMOUS, %d, %#jx) = %p\n", name, addr, length1, fd, uoffset, p); +#endif if (msync(p, length1, MS_SYNC)) perror_msg_and_fail("msync"); +#if XLAT_RAW + printf("msync(%p, %lu, %#x) = 0\n", p, length1, MS_SYNC); +#elif XLAT_VERBOSE + printf("msync(%p, %lu, %#x /* MS_SYNC */) = 0\n", p, length1, MS_SYNC); +#else printf("msync(%p, %lu, MS_SYNC) = 0\n", p, length1); +#endif if (mprotect(p, length1, PROT_NONE)) perror_msg_and_fail("mprotect"); +#if XLAT_RAW + printf("mprotect(%p, %lu, %#x) = 0\n", p, length1, PROT_NONE); +#elif XLAT_VERBOSE + printf("mprotect(%p, %lu, %#x /* PROT_NONE */) = 0\n", + p, length1, PROT_NONE); +#else printf("mprotect(%p, %lu, PROT_NONE) = 0\n", p, length1); +#endif addr = mremap(p, length1, length2, 0); if (MAP_FAILED == addr) @@ -87,8 +122,19 @@ main(int ac, char **av) addr + length2); if (MAP_FAILED == p) perror_msg_and_fail("mremap"); +#if XLAT_RAW + printf("mremap(%p, %lu, %lu, %#x, %p) = %p\n", + addr, length2, length3, MREMAP_MAYMOVE | MREMAP_FIXED, + addr + length2, p); +#elif XLAT_VERBOSE + printf("mremap(%p, %lu, %lu, %#x /* MREMAP_MAYMOVE|MREMAP_FIXED */" + ", %p) = %p\n", + addr, length2, length3, MREMAP_MAYMOVE | MREMAP_FIXED, + addr + length2, p); +#else printf("mremap(%p, %lu, %lu, MREMAP_MAYMOVE|MREMAP_FIXED" ", %p) = %p\n", addr, length2, length3, addr + length2, p); +#endif if (munmap(p, length3)) perror_msg_and_fail("munmap"); @@ -96,7 +142,13 @@ main(int ac, char **av) if (mlockall(MCL_FUTURE)) perror_msg_and_fail("mlockall"); +#if XLAT_RAW + printf("mlockall(%#x) = 0\n", MCL_FUTURE); +#elif XLAT_VERBOSE + printf("mlockall(%#x /* MCL_FUTURE */) = 0\n", MCL_FUTURE); +#else puts("mlockall(MCL_FUTURE) = 0"); +#endif puts("+++ exited with 0 +++"); return 0; diff --git a/tests-mx32/mmap.test b/tests-mx32/mmap.test index 7ba664ec..7fa2c704 100755 --- a/tests-mx32/mmap.test +++ b/tests-mx32/mmap.test @@ -4,7 +4,7 @@ # syscalls decoding. # # Copyright (c) 2015-2016 Dmitry V. Levin -# 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 @@ -35,15 +35,20 @@ check_prog grep check_prog sed run_prog > /dev/null +xlat_opt="" +[ "$#" -gt 0 ] && xlat_opt="-X$1" +align=20 +[ "$#" -gt 1 ] && align="$2" + syscall= for n in mmap mmap2; do $STRACE -e$n -h > /dev/null && syscall=$syscall,$n done run_strace -e$syscall $args > /dev/null -if grep '^mmap(NULL, 0, PROT_NONE,' < "$LOG" > /dev/null; then +if grep '^mmap(NULL, 0, \(0 /* PROT_NONE */\|0\|PROT_NONE\),' < "$LOG" > /dev/null; then mmap=mmap -elif grep '^mmap2(NULL, 0, PROT_NONE,' < "$LOG" > /dev/null; then +elif grep '^mmap2(NULL, 0, \(0 \/\* PROT_NONE \*\/\|0\|PROT_NONE\),' < "$LOG" > /dev/null; then mmap=mmap2 else dump_log_and_fail_with "mmap/mmap2 not found in $STRACE $args output" @@ -52,6 +57,6 @@ fi syscall=$mmap,madvise,mlockall,mprotect,mremap,msync,munmap run_prog "../$NAME" $mmap > /dev/null -run_strace -a20 -e$syscall $args > "$EXP" -sed -n "/^$mmap(NULL, 0, PROT_NONE,/,\$p" < "$LOG" > "$OUT" +run_strace -a$align -e$syscall $xlat_opt $args > "$EXP" +sed -n "/^$mmap(NULL, 0, \(0 \/\* PROT_NONE \*\/\|0\|PROT_NONE\),/,\$p" < "$LOG" > "$OUT" match_diff "$OUT" "$EXP" diff --git a/tests-mx32/mmap64-Xabbrev.c b/tests-mx32/mmap64-Xabbrev.c new file mode 100644 index 00000000..cbd77896 --- /dev/null +++ b/tests-mx32/mmap64-Xabbrev.c @@ -0,0 +1 @@ +#include "mmap64.c" diff --git a/tests-mx32/mmap64-Xabbrev.gen.test b/tests-mx32/mmap64-Xabbrev.gen.test new file mode 100755 index 00000000..3e2c94ba --- /dev/null +++ b/tests-mx32/mmap64-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64-Xabbrev +mmap.test abbrev); do not edit. +set -- abbrev +. "${srcdir=.}/mmap.test" diff --git a/tests-mx32/mmap64-Xraw.c b/tests-mx32/mmap64-Xraw.c new file mode 100644 index 00000000..f75f235f --- /dev/null +++ b/tests-mx32/mmap64-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mmap64.c" diff --git a/tests-mx32/mmap64-Xraw.gen.test b/tests-mx32/mmap64-Xraw.gen.test new file mode 100755 index 00000000..7aeed02f --- /dev/null +++ b/tests-mx32/mmap64-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64-Xraw +mmap.test raw 14); do not edit. +set -- raw 14 +. "${srcdir=.}/mmap.test" diff --git a/tests-mx32/mmap64-Xverbose.c b/tests-mx32/mmap64-Xverbose.c new file mode 100644 index 00000000..f72513e1 --- /dev/null +++ b/tests-mx32/mmap64-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mmap64.c" diff --git a/tests-mx32/mmap64-Xverbose.gen.test b/tests-mx32/mmap64-Xverbose.gen.test new file mode 100755 index 00000000..0d675d98 --- /dev/null +++ b/tests-mx32/mmap64-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64-Xverbose +mmap.test verbose); do not edit. +set -- verbose +. "${srcdir=.}/mmap.test" diff --git a/tests-mx32/mmsg_name.c b/tests-mx32/mmsg_name.c index 8c54a48b..c17b13d2 100644 --- a/tests-mx32/mmsg_name.c +++ b/tests-mx32/mmsg_name.c @@ -3,7 +3,7 @@ * of sendmmsg and recvmmsg syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -152,7 +152,7 @@ test_mmsg_name(const int send_fd, const int recv_fd) printf("sendmmsg(-1, [{msg_hdr="); print_msghdr(&send_mh[IOV_MAX].msg_hdr, 0); errno = saved_errno; - printf("}, %p], %u, MSG_DONTWAIT) = %d %s (%m)\n", + printf("}, ... /* %p */], %u, MSG_DONTWAIT) = %d %s (%m)\n", &send_mh[IOV_MAX1], 2, rc, errno2name()); rc = send_mmsg(send_fd, send_mh, IOV_MAX1, MSG_DONTWAIT); diff --git a/tests-mx32/modify_ldt.c b/tests-mx32/modify_ldt.c index 1e26bda4..2d527ac1 100644 --- a/tests-mx32/modify_ldt.c +++ b/tests-mx32/modify_ldt.c @@ -67,8 +67,8 @@ main(void) static const kernel_ulong_t bogus_bytecount = (kernel_ulong_t) 0xdeadfacefa57beefULL; - struct user_desc *us = tail_alloc(sizeof(*us)); - unsigned int *bogus_int = tail_alloc(sizeof(*bogus_int)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct user_desc, us); + TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, bogus_int); long rc; fill_memory(us, sizeof(*us)); diff --git a/tests-mx32/mount-Xabbrev.c b/tests-mx32/mount-Xabbrev.c new file mode 100644 index 00000000..0f6fecde --- /dev/null +++ b/tests-mx32/mount-Xabbrev.c @@ -0,0 +1 @@ +#include "mount.c" diff --git a/tests-mx32/mount-Xabbrev.gen.test b/tests-mx32/mount-Xabbrev.gen.test new file mode 100755 index 00000000..10e261ff --- /dev/null +++ b/tests-mx32/mount-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount-Xabbrev -a33 -e trace=mount -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a33 -e trace=mount -Xabbrev diff --git a/tests-mx32/mount-Xraw.c b/tests-mx32/mount-Xraw.c new file mode 100644 index 00000000..3aa1f084 --- /dev/null +++ b/tests-mx32/mount-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mount.c" diff --git a/tests-mx32/mount-Xraw.gen.test b/tests-mx32/mount-Xraw.gen.test new file mode 100755 index 00000000..ce852f88 --- /dev/null +++ b/tests-mx32/mount-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount-Xraw -a33 -e trace=mount -Xraw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a33 -e trace=mount -Xraw diff --git a/tests-mx32/mount-Xverbose.c b/tests-mx32/mount-Xverbose.c new file mode 100644 index 00000000..0b211c7a --- /dev/null +++ b/tests-mx32/mount-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mount.c" diff --git a/tests-mx32/mount-Xverbose.gen.test b/tests-mx32/mount-Xverbose.gen.test new file mode 100755 index 00000000..c780070e --- /dev/null +++ b/tests-mx32/mount-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount-Xverbose -a33 -e trace=mount -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a33 -e trace=mount -Xverbose diff --git a/tests-mx32/mount.c b/tests-mx32/mount.c index cbfe42f8..2e58571d 100644 --- a/tests-mx32/mount.c +++ b/tests-mx32/mount.c @@ -2,6 +2,7 @@ * Check decoding of mount syscall. * * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,7 +41,34 @@ # define MS_RELATIME (1ul << 21) #endif -#define str_ro_nosuid_nodev_noexec "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC" +#if XLAT_RAW +# define str_unknown "0x300" +# define str_submount_200 "0x4000200" +# define str_mgc_val "0xc0ed0000" +# define str_remount "0x20" +# define str_bind "0x1000" +# define str_ro_nosuid_nodev_noexec "0xf" +# define str_ro_nosuid_nodev_noexec_relatime "0x20000f" +#elif XLAT_VERBOSE +# define str_unknown "0x300 /* MS_??? */" +# define str_submount_200 "0x4000200 /* MS_SUBMOUNT|0x200 */" +# define str_mgc_val "0xc0ed0000 /* MS_MGC_VAL */" +# define str_remount "0x20 /* MS_REMOUNT */" +# define str_bind "0x1000 /* MS_BIND */" +# define str_ro_nosuid_nodev_noexec \ + "0xf /* MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC */" +# define str_ro_nosuid_nodev_noexec_relatime \ + "0x20000f /* MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_RELATIME */" +#else /* !XLAT_RAW && !XLAT_VERBOSE */ +# define str_unknown "0x300 /* MS_??? */" +# define str_submount_200 "MS_SUBMOUNT|0x200" +# define str_mgc_val "MS_MGC_VAL" +# define str_remount "MS_REMOUNT" +# define str_bind "MS_BIND" +# define str_ro_nosuid_nodev_noexec "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC" +# define str_ro_nosuid_nodev_noexec_relatime \ + "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_RELATIME" +#endif /* XLAT_RAW, XLAT_VERBOSE */ int main(void) @@ -49,35 +77,59 @@ main(void) static const char target[] = "mount_target"; static const char fstype[] = "mount_fstype"; static const char data[] = "mount_data"; + TAIL_ALLOC_OBJECT_CONST_PTR(char, bogus); - int rc = mount(source, target, fstype, 15, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", + bogus[0] = 'a'; + + int rc = mount(NULL, NULL, NULL, 0, NULL); + printf("mount(NULL, NULL, NULL, 0, NULL) = %s\n", + sprintrc(rc)); + + rc = mount(bogus, bogus, bogus, 768, bogus); + printf("mount(%p, %p, %p, %s, %p) = %s\n", + bogus, bogus, bogus, str_unknown, bogus, sprintrc(rc)); + + rc = mount(bogus + 1, bogus + 1, bogus + 1, 0x4000200, bogus + 1); + printf("mount(%p, %p, %p, %s, %p) = %s\n", + bogus + 1, bogus + 1, bogus + 1, str_submount_200, + bogus + 1, sprintrc(rc)); + + rc = mount(source, target, fstype, 15, data); + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", source, target, fstype, str_ro_nosuid_nodev_noexec, - data, rc, errno2name()); + data, sprintrc(rc)); rc = mount(source, target, fstype, MS_RELATIME | 15, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", source, target, fstype, - str_ro_nosuid_nodev_noexec "|MS_RELATIME", - data, rc, errno2name()); + str_ro_nosuid_nodev_noexec_relatime, + data, sprintrc(rc)); rc = mount(source, target, fstype, MS_MGC_VAL, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", - source, target, fstype, "MS_MGC_VAL", data, rc, errno2name()); + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", + source, target, fstype, str_mgc_val, data, sprintrc(rc)); rc = mount(source, target, fstype, MS_MGC_VAL | 15, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", source, target, fstype, - "MS_MGC_VAL|" str_ro_nosuid_nodev_noexec, - data, rc, errno2name()); + str_mgc_val "|" str_ro_nosuid_nodev_noexec, + data, sprintrc(rc)); + + rc = mount(source, target, NULL, MS_REMOUNT, data); + printf("mount(\"%s\", \"%s\", NULL, %s, \"%s\") = %s\n", + source, target, str_remount, data, sprintrc(rc)); rc = mount(source, target, fstype, MS_REMOUNT, data); - printf("mount(\"%s\", \"%s\", %p, %s, \"%s\") = %d %s (%m)\n", - source, target, fstype, "MS_REMOUNT", data, rc, errno2name()); + printf("mount(\"%s\", \"%s\", %p, %s, \"%s\") = %s\n", + source, target, fstype, str_remount, data, sprintrc(rc)); + + rc = mount(source, target, NULL, MS_BIND, data); + printf("mount(\"%s\", \"%s\", NULL, %s, %p) = %s\n", + source, target, str_bind, data, sprintrc(rc)); - rc = mount(source, target, fstype, MS_BIND, data); - printf("mount(\"%s\", \"%s\", %p, %s, %p) = %d %s (%m)\n", - source, target, fstype, "MS_BIND", data, rc, errno2name()); + rc = mount(source, target, fstype, MS_BIND, NULL); + printf("mount(\"%s\", \"%s\", %p, %s, NULL) = %s\n", + source, target, fstype, str_bind, sprintrc(rc)); puts("+++ exited with 0 +++"); return 0; diff --git a/tests-mx32/mount.gen.test b/tests-mx32/mount.gen.test index 69bc99be..2a3639c8 100755 --- a/tests-mx32/mount.gen.test +++ b/tests-mx32/mount.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount ); do not edit. +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount -a33 ); do not edit. . "${srcdir=.}/init.sh" -run_strace_match_diff +run_strace_match_diff -a33 diff --git a/tests-mx32/move_pages.c b/tests-mx32/move_pages.c index 5ec25aab..851a8c76 100644 --- a/tests-mx32/move_pages.c +++ b/tests-mx32/move_pages.c @@ -2,7 +2,7 @@ * Check decoding of move_pages syscall. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -63,7 +63,7 @@ print_page_array(const void **const pages, break; } } else { - printf("%p", pages + i); + printf("... /* %p */", pages + i); break; } const void *const addr = pages[i]; @@ -99,7 +99,7 @@ print_node_array(const int *const nodes, break; } } else { - printf("%p", nodes + i); + printf("... /* %p */", nodes + i); break; } printf("%d", nodes[i]); diff --git a/tests-mx32/msg_control.c b/tests-mx32/msg_control.c index 48b7347a..01786d7f 100644 --- a/tests-mx32/msg_control.c +++ b/tests-mx32/msg_control.c @@ -2,7 +2,7 @@ * Check decoding of struct msghdr ancillary data. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -132,7 +132,7 @@ test_scm_rights1(struct msghdr *const mh, print_fds(cmsg, src_len); printf("}"); if (aligned_cms_len < msg_controllen) - printf(", %p", (void *) cmsg + aligned_cms_len); + printf(", ... /* %p */", (void *) cmsg + aligned_cms_len); printf("]"); } @@ -195,7 +195,7 @@ test_scm_rights2(struct msghdr *const mh, print_fds(cmsg[1], src1_len); printf("}"); if (aligned_cms_len[1] < msg_controllen1) - printf(", %p", (void *) cmsg[1] + aligned_cms_len[1]); + printf(", ... /* %p */", (void *) cmsg[1] + aligned_cms_len[1]); printf("]"); errno = saved_errno; @@ -425,7 +425,7 @@ test_scm_security(struct msghdr *const mh, print_security(cmsg, src_len); printf("}"); if (aligned_cms_len < msg_controllen) - printf(", %p", (void *) cmsg + aligned_cms_len); + printf(", ... /* %p */", (void *) cmsg + aligned_cms_len); printf("]"); errno = saved_errno; diff --git a/tests-mx32/net-sockaddr.c b/tests-mx32/net-sockaddr.c index fe933d49..22cbb265 100644 --- a/tests-mx32/net-sockaddr.c +++ b/tests-mx32/net-sockaddr.c @@ -2,7 +2,7 @@ * Check decoding of sockaddr structures * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -436,25 +436,86 @@ check_l2(void) { const unsigned short h_psm = 12345; const unsigned short h_cid = 13579; - const struct sockaddr_l2 c_l2 = { + struct sockaddr_l2 c_l2 = { .l2_family = AF_BLUETOOTH, .l2_psm = htobs(h_psm), .l2_bdaddr.b = "abcdef", .l2_cid = htobs(h_cid), - .l2_bdaddr_type = 42 +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + .l2_bdaddr_type = 0xce, +#endif }; void *l2 = tail_memdup(&c_l2, sizeof(c_l2)); unsigned int len = sizeof(c_l2); + int ret = connect(-1, l2, len); printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(%hu)" + ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)" + ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" + ", l2_cid=htobs(L2CAP_CID_DYN_START + %hu)" +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + ", l2_bdaddr_type=0xce /* BDADDR_??? */" +#endif + "}, %u) = %d EBADF (%m)\n", + (short) (h_psm - 0x1001), + c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], + c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], + c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], + (short) (h_cid - 0x40), len, ret); + + c_l2.l2_psm = htobs(1); + c_l2.l2_cid = htobs(1); +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + c_l2.l2_bdaddr_type = BDADDR_LE_RANDOM; +#endif + memcpy(l2, &c_l2, sizeof(c_l2)); + ret = connect(-1, l2, len); + printf("connect(-1, {sa_family=AF_BLUETOOTH" + ", l2_psm=htobs(L2CAP_PSM_SDP)" + ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" + ", l2_cid=htobs(L2CAP_CID_SIGNALING)" +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + ", l2_bdaddr_type=BDADDR_LE_RANDOM" +#endif + "}, %u) = %d EBADF (%m)\n", + c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], + c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], + c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], + len, ret); + + c_l2.l2_psm = htobs(0xbad); + c_l2.l2_cid = htobs(8); +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + c_l2.l2_bdaddr_type = 3; +#endif + memcpy(l2, &c_l2, sizeof(c_l2)); + ret = connect(-1, l2, len); + printf("connect(-1, {sa_family=AF_BLUETOOTH" + ", l2_psm=htobs(0xbad /* L2CAP_PSM_??? */)" + ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" + ", l2_cid=htobs(0x8 /* L2CAP_CID_??? */)" +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + ", l2_bdaddr_type=0x3 /* BDADDR_??? */" +#endif + "}, %u) = %d EBADF (%m)\n", + c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], + c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], + c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], + len, ret); + + c_l2.l2_psm = htobs(0x10ff); + c_l2.l2_cid = htobs(0xffff); + memcpy(l2, &c_l2, 12); + ret = connect(-1, l2, 12); + printf("connect(-1, {sa_family=AF_BLUETOOTH" + ", l2_psm=htobs(L2CAP_PSM_AUTO_END)" ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - ", l2_cid=htobs(%hu), l2_bdaddr_type=%u}" - ", %u) = %d EBADF (%m)\n", h_psm, + ", l2_cid=htobs(L2CAP_CID_DYN_END)" + "}, 12) = %d EBADF (%m)\n", c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], - h_cid, c_l2.l2_bdaddr_type, len, ret); + ret); } #endif diff --git a/tests-mx32/netlink_crypto.c b/tests-mx32/netlink_crypto.c index d15c17cf..5c3dc046 100644 --- a/tests-mx32/netlink_crypto.c +++ b/tests-mx32/netlink_crypto.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -98,8 +98,6 @@ test_nlmsg_flags(const int fd) static void test_crypto_msg_newalg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - struct crypto_user_alg alg = { .cru_name = "abcd", .cru_driver_name = "efgh", @@ -109,6 +107,8 @@ test_crypto_msg_newalg(const int fd) .cru_refcnt = 0xbcacfacd, .cru_flags = 0xefacdbad }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(alg)); + TEST_NETLINK_OBJECT_EX(fd, nlh0, CRYPTO_MSG_NEWALG, NLM_F_REQUEST, alg, print_quoted_memory, @@ -149,7 +149,7 @@ test_crypto_msg_newalg(const int fd) static void test_crypto_msg_unspec(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, 4); TEST_NETLINK_(fd, nlh0, 0xffff, "0xffff /* CRYPTO_MSG_??? */", diff --git a/tests-mx32/netlink_kobject_uevent.c b/tests-mx32/netlink_kobject_uevent.c index 7edacd7d..b28af493 100644 --- a/tests-mx32/netlink_kobject_uevent.c +++ b/tests-mx32/netlink_kobject_uevent.c @@ -27,9 +27,12 @@ */ #include "tests.h" +#include #include #include +#include #include "netlink.h" +#include "netlink_kobject_uevent.h" static const char *errstr; @@ -41,6 +44,94 @@ sys_send(const int fd, const void *const buf, const size_t len) return rc; } +static void +test_nlmsg_type_udev(const int fd) +{ + static const char extra[] = "12345678"; + struct udev_monitor_netlink_header uh = { + .prefix = "libudev", + .magic = htonl(0xfeedcafe), + .header_size = sizeof(uh), + .properties_off = 40, + .properties_len = 299, + .filter_subsystem_hash = htonl(0xc370b302), + .filter_devtype_hash = htonl(0x10800000), + .filter_tag_bloom_hi = htonl(0x2000400), + .filter_tag_bloom_lo = htonl(0x10800000), + }; + const unsigned int extra_len = LENGTH_OF(extra); + const unsigned int uh_len = sizeof(uh); + + char *const buf = tail_alloc(uh_len + extra_len); + memcpy(buf + extra_len, &uh, uh_len); + + sys_send(fd, buf + extra_len, uh_len); + printf("sendto(%d, {{prefix=\"%s\", magic=htonl(%#x)" + ", header_size=%u, properties_off=%u, properties_len=%u" + ", filter_subsystem_hash=htonl(%#x)" + ", filter_devtype_hash=htonl(%#x)" + ", filter_tag_bloom_hi=htonl(%#x)" + ", filter_tag_bloom_lo=htonl(%#x)}}, %u, MSG_DONTWAIT, NULL, " + "0) = %s\n" + , fd, uh.prefix, + ntohl(uh.magic), uh.header_size, uh.properties_off, + uh.properties_len, ntohl(uh.filter_subsystem_hash), + ntohl(uh.filter_devtype_hash), ntohl(uh.filter_tag_bloom_hi), + ntohl(uh.filter_tag_bloom_lo), uh_len, errstr); + + memcpy(buf, &uh, uh_len); + memcpy(buf + uh_len, extra, extra_len); + sys_send(fd, buf, uh_len + extra_len); + printf("sendto(%d, {{prefix=\"%s\", magic=htonl(%#x)" + ", header_size=%u, properties_off=%u, properties_len=%u" + ", filter_subsystem_hash=htonl(%#x)" + ", filter_devtype_hash=htonl(%#x)" + ", filter_tag_bloom_hi=htonl(%#x)" + ", filter_tag_bloom_lo=htonl(%#x)}, " + , fd, uh.prefix, + ntohl(uh.magic), uh.header_size, uh.properties_off, + uh.properties_len, ntohl(uh.filter_subsystem_hash), + ntohl(uh.filter_devtype_hash), ntohl(uh.filter_tag_bloom_hi), + ntohl(uh.filter_tag_bloom_lo)); + print_quoted_memory(buf + uh_len, extra_len); + printf("}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", + uh_len + extra_len, errstr); + + memcpy(buf + extra_len + 1, &uh, uh_len - 1); + sys_send(fd, buf + extra_len + 1, uh_len); + printf("sendto(%d, ", fd); + print_quoted_memory(&uh, MIN(uh_len - 1, DEFAULT_STRLEN)); + printf("%s, %u, MSG_DONTWAIT, NULL, 0) = %s\n", + (uh_len - 1 > DEFAULT_STRLEN ? "..." : ""), + uh_len, errstr); +} + +static void +test_nlmsg_type_kernel(const int fd) +{ + struct udev_monitor_netlink_header uh = { + .prefix = "change@", + .magic = htonl(0xfeedcafe), + .header_size = sizeof(uh), + .properties_off = 10, + .properties_len = 299, + .filter_subsystem_hash = htonl(0xfffffff), + .filter_devtype_hash = htonl(0x10000000), + .filter_tag_bloom_hi = htonl(0x2000400), + }; + const unsigned int uh_len = sizeof(uh); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct udev_monitor_netlink_header, p); + memcpy(p, &uh, uh_len); + + sys_send(fd, p, uh_len); + printf("sendto(%d, ", fd); + print_quoted_memory(&uh, MIN(uh_len, DEFAULT_STRLEN)); + printf("%s, %u, MSG_DONTWAIT, NULL, 0) = %s\n", + (uh_len > DEFAULT_STRLEN ? "..." : ""), + uh_len, errstr); +} + int main(void) { @@ -48,6 +139,8 @@ main(void) int fd = create_nl_socket(NETLINK_KOBJECT_UEVENT); + test_nlmsg_type_udev(fd); + test_nlmsg_type_kernel(fd); /* test using data that looks like a zero-length C string */ char *const buf = tail_alloc(DEFAULT_STRLEN + 1); buf[0] = '='; diff --git a/tests-mx32/netlink_netfilter.c b/tests-mx32/netlink_netfilter.c index 57532f52..2842e154 100644 --- a/tests-mx32/netlink_netfilter.c +++ b/tests-mx32/netlink_netfilter.c @@ -88,8 +88,8 @@ test_nlmsg_type(const int fd) static void test_nlmsg_done(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const int num = 0xabcdefad; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(num)); TEST_NETLINK(fd, nlh0, NLMSG_DONE, NLM_F_REQUEST, sizeof(num), &num, sizeof(num), @@ -99,13 +99,21 @@ test_nlmsg_done(const int fd) static void test_nfgenmsg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + static const struct nlattr nla = { + .nla_len = sizeof(nla), + .nla_type = 0x0bcd + }; struct nfgenmsg msg = { .nfgen_family = AF_UNIX, .version = NFNETLINK_V0, .res_id = NFNL_SUBSYS_NFTABLES }; + char str_buf[NLMSG_ALIGN(sizeof(msg)) + 4]; + char nla_buf[NLMSG_ALIGN(sizeof(msg)) + sizeof(nla)]; + + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, + MAX(sizeof(str_buf), sizeof(nla_buf))); TEST_NETLINK_OBJECT_EX_(fd, nlh0, NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE, @@ -150,8 +158,6 @@ test_nfgenmsg(const int fd) 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); @@ -165,12 +171,6 @@ test_nfgenmsg(const int fd) ", \"\\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)); diff --git a/tests-mx32/netlink_netlink_diag.c b/tests-mx32/netlink_netlink_diag.c index 855e404e..a682f7c6 100644 --- a/tests-mx32/netlink_netlink_diag.c +++ b/tests-mx32/netlink_netlink_diag.c @@ -3,7 +3,7 @@ * * Copyright (c) 2014-2016 Dmitry V. Levin * Copyright (c) 2016 Fabien Siron - * 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 @@ -55,8 +55,7 @@ send_query(const int fd) }, .ndr = { .sdiag_family = AF_NETLINK, - .sdiag_protocol = NDIAG_PROTO_ALL, - .ndiag_show = NDIAG_SHOW_MEMINFO + .sdiag_protocol = NDIAG_PROTO_ALL } }; struct iovec iov = { diff --git a/tests-mx32/netlink_protocol.c b/tests-mx32/netlink_protocol.c index be1a6528..47f0e921 100644 --- a/tests-mx32/netlink_protocol.c +++ b/tests-mx32/netlink_protocol.c @@ -3,6 +3,7 @@ * * Copyright (c) 2014-2017 Dmitry V. Levin * Copyright (c) 2016 Fabien Siron + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -125,7 +126,8 @@ send_query(const int fd) struct req req1; char padding[NLMSG_ALIGN(sizeof(struct req)) - sizeof(struct req)]; struct req req2; - } *const reqs = tail_alloc(sizeof(*reqs)); + }; + TAIL_ALLOC_OBJECT_CONST_PTR(struct reqs, reqs); memcpy(&reqs->req1, &c_req, sizeof(c_req)); memcpy(&reqs->req2, &c_req, sizeof(c_req)); @@ -144,7 +146,7 @@ send_query(const int fd) rc = sendto(fd, efault2, sizeof(*reqs), MSG_DONTWAIT, NULL, 0); printf("sendto(%d, [{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x" ", seq=0, pid=0}, \"\\x61\\x62\\x63\\x64\"}" - ", %p], %u, MSG_DONTWAIT, NULL, 0) = %s\n", + ", ... /* %p */], %u, MSG_DONTWAIT, NULL, 0) = %s\n", fd, reqs->req1.nlh.nlmsg_len, NLM_F_DUMP, &((struct reqs *) efault2)->req2, (unsigned) sizeof(*reqs), sprintrc(rc)); @@ -203,7 +205,7 @@ test_nlmsgerr(const int fd) { struct nlmsgerr *err; struct nlmsghdr *nlh; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(*err) + 4); long rc; /* error message without enough room for the error code */ @@ -318,9 +320,9 @@ static void test_nlmsg_done(const int fd) { struct nlmsghdr *nlh; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - long rc; const int num = 0xfacefeed; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(num)); + long rc; /* NLMSG_DONE message without enough room for an integer payload */ nlh = nlh0; diff --git a/tests-mx32/netlink_route.c b/tests-mx32/netlink_route.c index a1c7d1f8..a3fbac96 100644 --- a/tests-mx32/netlink_route.c +++ b/tests-mx32/netlink_route.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -143,8 +144,8 @@ test_nlmsg_flags(const int fd) static void test_nlmsg_done(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const int num = 0xabcdefad; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(num)); TEST_NETLINK(fd, nlh0, NLMSG_DONE, NLM_F_REQUEST, sizeof(num), &num, sizeof(num), @@ -154,10 +155,11 @@ test_nlmsg_done(const int fd) static void test_rtnl_unspec(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + uint8_t family = 0; + char buf[sizeof(family) + 4]; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(buf)); /* unspecified family only */ - uint8_t family = 0; TEST_NETLINK_(fd, nlh0, 0xffff, "0xffff /* RTM_??? */", NLM_F_REQUEST, "NLM_F_REQUEST", @@ -180,7 +182,6 @@ test_rtnl_unspec(const int fd) printf("%p", NLMSG_DATA(TEST_NETLINK_nlh))); /* unspecified family and string */ - char buf[sizeof(family) + 4]; family = 0; memcpy(buf, &family, sizeof(family)); memcpy(buf + sizeof(family), "1234", 4); @@ -204,7 +205,6 @@ test_rtnl_unspec(const int fd) static void test_rtnl_link(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ifinfomsg ifinfo = { .ifi_family = AF_UNIX, .ifi_type = ARPHRD_LOOPBACK, @@ -212,6 +212,7 @@ test_rtnl_link(const int fd) .ifi_flags = IFF_UP, .ifi_change = 0xfabcdeba }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(ifinfo)); TEST_NL_ROUTE(fd, nlh0, RTM_GETLINK, ifinfo, printf("{ifi_family=AF_UNIX"), @@ -225,7 +226,6 @@ test_rtnl_link(const int fd) static void test_rtnl_addr(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ifaddrmsg msg = { .ifa_family = AF_UNIX, .ifa_prefixlen = 0xde, @@ -233,6 +233,7 @@ test_rtnl_addr(const int fd) .ifa_scope = RT_SCOPE_UNIVERSE, .ifa_index = ifindex_lo() }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETADDR, msg, printf("{ifa_family=AF_UNIX"), @@ -246,7 +247,6 @@ test_rtnl_addr(const int fd) static void test_rtnl_route(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct rtmsg msg = { .rtm_family = AF_UNIX, .rtm_dst_len = 0xaf, @@ -258,6 +258,7 @@ test_rtnl_route(const int fd) .rtm_type = RTN_LOCAL, .rtm_flags = RTM_F_NOTIFY }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETROUTE, msg, printf("{rtm_family=AF_UNIX"), @@ -275,7 +276,6 @@ test_rtnl_route(const int fd) static void test_rtnl_rule(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct rtmsg msg = { .rtm_family = AF_UNIX, .rtm_dst_len = 0xaf, @@ -285,6 +285,7 @@ test_rtnl_rule(const int fd) .rtm_type = FR_ACT_TO_TBL, .rtm_flags = FIB_RULE_INVERT }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETRULE, msg, printf("{family=AF_UNIX"), @@ -301,7 +302,6 @@ test_rtnl_rule(const int fd) static void test_rtnl_neigh(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ndmsg msg = { .ndm_family = AF_UNIX, .ndm_ifindex = ifindex_lo(), @@ -309,6 +309,7 @@ test_rtnl_neigh(const int fd) .ndm_flags = NTF_PROXY, .ndm_type = RTN_UNSPEC }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETNEIGH, msg, printf("{ndm_family=AF_UNIX"), @@ -321,10 +322,10 @@ test_rtnl_neigh(const int fd) static void test_rtnl_neightbl(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct ndtmsg msg = { .ndtm_family = AF_NETLINK }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETNEIGHTBL, NLM_F_REQUEST, @@ -335,7 +336,6 @@ test_rtnl_neightbl(const int fd) static void test_rtnl_tc(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct tcmsg msg = { .tcm_family = AF_UNIX, .tcm_ifindex = ifindex_lo(), @@ -343,6 +343,7 @@ test_rtnl_tc(const int fd) .tcm_parent = 0xafbcadab, .tcm_info = 0xbcaedafa }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETQDISC, msg, printf("{tcm_family=AF_UNIX"), @@ -356,10 +357,10 @@ test_rtnl_tc(const int fd) static void test_rtnl_tca(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct tcamsg msg = { .tca_family = AF_INET }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETACTION, NLM_F_REQUEST, @@ -371,7 +372,6 @@ test_rtnl_tca(const int fd) static void test_rtnl_addrlabel(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ifaddrlblmsg msg = { .ifal_family = AF_UNIX, .ifal_prefixlen = 0xaf, @@ -379,6 +379,7 @@ test_rtnl_addrlabel(const int fd) .ifal_index = ifindex_lo(), .ifal_seq = 0xfadcdafb }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETADDRLABEL, msg, printf("{ifal_family=AF_UNIX"), @@ -394,11 +395,11 @@ test_rtnl_addrlabel(const int fd) static void test_rtnl_dcb(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct dcbmsg msg = { .dcb_family = AF_UNIX, .cmd = DCB_CMD_UNDEFINED }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETDCB, msg, printf("{dcb_family=AF_UNIX"), @@ -410,10 +411,10 @@ test_rtnl_dcb(const int fd) static void test_rtnl_netconf(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct netconfmsg msg = { .ncm_family = AF_INET }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETNETCONF, NLM_F_REQUEST, @@ -426,11 +427,11 @@ test_rtnl_netconf(const int fd) static void test_rtnl_mdb(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct br_port_msg msg = { .family = AF_UNIX, .ifindex = ifindex_lo() }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETMDB, msg, printf("{family=AF_UNIX"), @@ -442,10 +443,10 @@ test_rtnl_mdb(const int fd) static void test_rtnl_nsid(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct rtgenmsg msg = { .rtgen_family = AF_UNIX }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETNSID, NLM_F_REQUEST, diff --git a/tests-mx32/netlink_selinux.c b/tests-mx32/netlink_selinux.c index 2d768222..57cf8a55 100644 --- a/tests-mx32/netlink_selinux.c +++ b/tests-mx32/netlink_selinux.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -53,7 +54,7 @@ test_nlmsg_type(const int fd) static void test_selnl_msg_unspec(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, 4); TEST_NETLINK_(fd, nlh0, 0xffff, "0xffff /* SELNL_MSG_??? */", @@ -65,11 +66,11 @@ test_selnl_msg_unspec(const int fd) static void test_selnl_msg_setenforce(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - static const struct selnl_msg_setenforce msg = { .val = 0xfbdcdfab }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); + TEST_NETLINK_OBJECT(fd, nlh0, SELNL_MSG_SETENFORCE, NLM_F_REQUEST, msg, PRINT_FIELD_D("{", msg, val); @@ -79,11 +80,11 @@ test_selnl_msg_setenforce(const int fd) static void test_selnl_msg_policyload(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - static const struct selnl_msg_policyload msg = { .seqno = 0xabdcfabc }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); + TEST_NETLINK_OBJECT(fd, nlh0, SELNL_MSG_POLICYLOAD, NLM_F_REQUEST, msg, PRINT_FIELD_U("{", msg, seqno); diff --git a/tests-mx32/netlink_sock_diag.c b/tests-mx32/netlink_sock_diag.c index c2ebf129..880069f3 100644 --- a/tests-mx32/netlink_sock_diag.c +++ b/tests-mx32/netlink_sock_diag.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2016 Fabien Siron * Copyright (c) 2017 JingPiao Chen - * 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 @@ -127,10 +127,11 @@ test_nlmsg_flags(const int fd) static void test_odd_family_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + uint8_t family = 0; + char buf[sizeof(family) + 4]; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(buf)); /* unspecified family only */ - uint8_t family = 0; TEST_NETLINK(fd, nlh0, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, @@ -153,7 +154,6 @@ test_odd_family_req(const int fd) printf("%p", NLMSG_DATA(TEST_NETLINK_nlh))); /* unspecified family and string */ - char buf[sizeof(family) + 4]; family = 0; memcpy(buf, &family, sizeof(family)); memcpy(buf + sizeof(family), "1234", 4); @@ -177,10 +177,11 @@ test_odd_family_req(const int fd) static void test_odd_family_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + uint8_t family = 0; + char buf[sizeof(family) + 4]; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(buf)); /* unspecified family only */ - uint8_t family = 0; TEST_NETLINK(fd, nlh0, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, sizeof(family), &family, sizeof(family), @@ -200,7 +201,6 @@ test_odd_family_msg(const int fd) printf("%p", NLMSG_DATA(TEST_NETLINK_nlh))); /* unspecified family and string */ - char buf[sizeof(family) + 4]; family = 0; memcpy(buf, &family, sizeof(family)); memcpy(buf + sizeof(family), "1234", 4); @@ -222,7 +222,6 @@ test_odd_family_msg(const int fd) static void test_unix_diag_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct unix_diag_req req = { .sdiag_family = AF_UNIX, .sdiag_protocol = 253, @@ -231,6 +230,7 @@ test_unix_diag_req(const int fd) .udiag_show = UDIAG_SHOW_NAME, .udiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); TEST_SOCK_DIAG(fd, nlh0, AF_UNIX, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req, printf("{sdiag_family=AF_UNIX"), @@ -245,7 +245,6 @@ test_unix_diag_req(const int fd) static void test_unix_diag_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct unix_diag_msg msg = { .udiag_family = AF_UNIX, .udiag_type = SOCK_STREAM, @@ -253,6 +252,7 @@ test_unix_diag_msg(const int fd) .udiag_ino = 0xfacefeed, .udiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_SOCK_DIAG(fd, nlh0, AF_UNIX, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, msg, printf("{udiag_family=AF_UNIX"), @@ -266,7 +266,6 @@ test_unix_diag_msg(const int fd) static void test_netlink_diag_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct netlink_diag_req req = { .sdiag_family = AF_NETLINK, .sdiag_protocol = NDIAG_PROTO_ALL, @@ -274,6 +273,7 @@ test_netlink_diag_req(const int fd) .ndiag_show = NDIAG_SHOW_MEMINFO, .ndiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); TEST_SOCK_DIAG(fd, nlh0, AF_NETLINK, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req, printf("{sdiag_family=AF_NETLINK"), @@ -298,7 +298,6 @@ test_netlink_diag_req(const int fd) static void test_netlink_diag_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct netlink_diag_msg msg = { .ndiag_family = AF_NETLINK, .ndiag_type = SOCK_RAW, @@ -310,6 +309,7 @@ test_netlink_diag_msg(const int fd) .ndiag_ino = 0xdaeefacd, .ndiag_cookie = { 0xbadc0ded, 0xdeadbeef } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_SOCK_DIAG(fd, nlh0, AF_NETLINK, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, msg, printf("{ndiag_family=AF_NETLINK"), @@ -327,7 +327,6 @@ test_netlink_diag_msg(const int fd) static void test_packet_diag_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct packet_diag_req req = { .sdiag_family = AF_PACKET, .sdiag_protocol = ETH_P_LOOP, @@ -335,6 +334,7 @@ test_packet_diag_req(const int fd) .pdiag_show = PACKET_SHOW_INFO, .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); TEST_SOCK_DIAG(fd, nlh0, AF_PACKET, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req, printf("{sdiag_family=AF_PACKET"), @@ -348,7 +348,6 @@ test_packet_diag_req(const int fd) static void test_packet_diag_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct packet_diag_msg msg = { .pdiag_family = AF_PACKET, .pdiag_type = SOCK_STREAM, @@ -356,6 +355,7 @@ test_packet_diag_msg(const int fd) .pdiag_ino = 0xfacefeed, .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_SOCK_DIAG(fd, nlh0, AF_PACKET, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, msg, printf("{pdiag_family=AF_PACKET"), @@ -371,7 +371,6 @@ test_inet_diag_sockid(const int fd) { const char address[] = "12.34.56.78"; const char address6[] = "12:34:56:78:90:ab:cd:ef"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_req_v2 req = { .sdiag_family = AF_INET, .idiag_ext = 1 << (INET_DIAG_CONG - 1), @@ -384,6 +383,7 @@ test_inet_diag_sockid(const int fd) .idiag_cookie = { 0xdeadbeef, 0xbadc0ded } }, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -435,7 +435,6 @@ static void test_inet_diag_req(const int fd) { const char address[] = "12.34.56.78"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_req req = { .idiag_family = AF_INET, .idiag_src_len = 0xde, @@ -450,6 +449,7 @@ test_inet_diag_req(const int fd) .idiag_states = 1 << TCP_LAST_ACK, .idiag_dbs = 0xfacefeed, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -479,7 +479,6 @@ static void test_inet_diag_req_v2(const int fd) { const char address[] = "87.65.43.21"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_req_v2 req = { .sdiag_family = AF_INET, .idiag_ext = 1 << (INET_DIAG_CONG - 1), @@ -492,6 +491,7 @@ test_inet_diag_req_v2(const int fd) .idiag_cookie = { 0xdeadbeef, 0xbadc0ded } }, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -519,7 +519,6 @@ static void test_inet_diag_msg(const int fd) { const char address[] = "11.22.33.44"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_msg msg = { .idiag_family = AF_INET, .idiag_state = TCP_LISTEN, @@ -537,6 +536,7 @@ test_inet_diag_msg(const int fd) .idiag_uid = 0xdecefaeb, .idiag_inode = 0xbadc0ded, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); if (!inet_pton(AF_INET, address, &msg.id.idiag_src) || !inet_pton(AF_INET, address, &msg.id.idiag_dst)) @@ -570,7 +570,6 @@ static void test_smc_diag_req(const int fd) { const char address[] = "43.21.56.78"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct smc_diag_req req = { .diag_family = AF_SMC, .diag_ext = 1 << (SMC_DIAG_CONNINFO - 1), @@ -581,6 +580,7 @@ test_smc_diag_req(const int fd) .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }, }, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -606,7 +606,6 @@ static void test_smc_diag_msg(const int fd) { const char address[] = "34.87.12.90"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct smc_diag_msg msg = { .diag_family = AF_SMC, .diag_state = SMC_ACTIVE, @@ -621,6 +620,7 @@ test_smc_diag_msg(const int fd) .diag_uid = 0xadcdfafc, .diag_inode = 0xbadc0ded, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); if (!inet_pton(AF_INET, address, &msg.id.idiag_src) || !inet_pton(AF_INET, address, &msg.id.idiag_dst)) diff --git a/tests-mx32/nlattr.c b/tests-mx32/nlattr.c index 41923c0a..8556f684 100644 --- a/tests-mx32/nlattr.c +++ b/tests-mx32/nlattr.c @@ -2,7 +2,7 @@ * Check decoding of netlink attribute. * * Copyright (c) 2017 JingPiao Chen - * 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 @@ -172,7 +172,7 @@ test_nlattr(const int fd) ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX" ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1" ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u" - ", nla_type=UNIX_DIAG_NAME}, %p]}, %u" + ", nla_type=UNIX_DIAG_NAME}, ... /* %p */]}, %u" ", MSG_DONTWAIT, NULL, 0) = %s\n", fd, msg_len, NLA_HDRLEN, nla + 1, msg_len, sprintrc(rc)); diff --git a/tests-mx32/nlattr_br_port_msg.c b/tests-mx32/nlattr_br_port_msg.c index a2a4792d..d339414f 100644 --- a/tests-mx32/nlattr_br_port_msg.c +++ b/tests-mx32/nlattr_br_port_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -69,7 +69,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct br_port_msg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_crypto_user_alg.c b/tests-mx32/nlattr_crypto_user_alg.c index 2482b33b..b8ceba66 100644 --- a/tests-mx32/nlattr_crypto_user_alg.c +++ b/tests-mx32/nlattr_crypto_user_alg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -72,7 +72,12 @@ main(void) const int fd = create_nl_socket(NETLINK_CRYPTO); const unsigned int hdrlen = sizeof(struct crypto_user_alg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + /* + * There are also other structures, but they are not bigger than + * DEFAULT_STRLEN so far. + */ + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + DEFAULT_STRLEN); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_dcbmsg.c b/tests-mx32/nlattr_dcbmsg.c index cd63bb60..b6eb772e 100644 --- a/tests-mx32/nlattr_dcbmsg.c +++ b/tests-mx32/nlattr_dcbmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -67,7 +67,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct dcbmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_fib_rule_hdr.c b/tests-mx32/nlattr_fib_rule_hdr.c index 394ab103..96ebadfb 100644 --- a/tests-mx32/nlattr_fib_rule_hdr.c +++ b/tests-mx32/nlattr_fib_rule_hdr.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -34,12 +34,24 @@ # include # include "test_nlattr.h" # include +# include # include # include #define FRA_TUN_ID 12 #define FRA_TABLE 15 #define FRA_UID_RANGE 20 +#define FRA_PROTOCOL 21 +#define FRA_IP_PROTO 22 +#define FRA_SPORT_RANGE 23 +#define FRA_DPORT_RANGE 24 + +# ifndef HAVE_STRUCT_FIB_RULE_PORT_RANGE +struct fib_rule_port_range { + uint16_t start; + uint16_t end; +}; +# endif /* HAVE_STRUCT_FIB_RULE_PORT_RANGE */ static void init_rtmsg(struct nlmsghdr *const nlh, const unsigned int msg_len) @@ -80,7 +92,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct rtmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 8); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); @@ -125,6 +137,62 @@ main(void) printf("htobe64(%" PRIu64 ")", be64toh(tun_id))); #endif + uint8_t proto; + + static const struct { + uint8_t arg; + const char *str; + } proto_args[] = { + { ARG_STR(RTPROT_UNSPEC) }, + { 5, "0x5 /* RTPROT_??? */" }, + { 17, "RTPROT_MROUTED" }, + { 42, "RTPROT_BABEL" }, + { 43, "0x2b /* RTPROT_??? */" }, + { ARG_STR(0xde) " /* RTPROT_??? */" }, + }; + + for (unsigned i = 0; i < ARRAY_SIZE(proto_args); i++) { + proto = proto_args[i].arg; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_PROTOCOL, pattern, proto, + printf("%s", proto_args[i].str)); + } + + static const struct { + uint8_t arg; + const char *str; + } ipproto_args[] = { + { ARG_STR(IPPROTO_TCP) }, + { 254, "0xfe /* IPPROTO_??? */" }, + { ARG_STR(IPPROTO_RAW) }, + }; + + for (unsigned i = 0; i < ARRAY_SIZE(ipproto_args); i++) { + proto = ipproto_args[i].arg; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_IP_PROTO, pattern, proto, + printf("%s", ipproto_args[i].str)); + } + + static const struct fib_rule_port_range prange = { + .start = 0xabcd, + .end = 0xfeed, + }; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_SPORT_RANGE, pattern, prange, + PRINT_FIELD_U("{", prange, start); + PRINT_FIELD_U(", ", prange, end); + printf("}")); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_DPORT_RANGE, pattern, prange, + PRINT_FIELD_U("{", prange, start); + PRINT_FIELD_U(", ", prange, end); + printf("}")); + puts("+++ exited with 0 +++"); return 0; } diff --git a/tests-mx32/nlattr_ifaddrlblmsg.c b/tests-mx32/nlattr_ifaddrlblmsg.c index 60036340..53a928dd 100644 --- a/tests-mx32/nlattr_ifaddrlblmsg.c +++ b/tests-mx32/nlattr_ifaddrlblmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -69,7 +69,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ifaddrlblmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_ifaddrmsg.c b/tests-mx32/nlattr_ifaddrmsg.c index 93fbef1b..c71ebb1c 100644 --- a/tests-mx32/nlattr_ifaddrmsg.c +++ b/tests-mx32/nlattr_ifaddrmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -83,9 +83,23 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + static const char address4[] = "12.34.56.78"; + static const char address6[] = "12:34:56:78:90:ab:cd:ef"; + static const struct ifa_cacheinfo ci = { + .ifa_prefered = 0xabcdefac, + .ifa_valid = 0xbcdadbca, + .cstamp = 0xcdabedba, + .tstamp = 0xdebabdac + }; + + struct in_addr a4; + struct in6_addr a6; + const uint32_t ifa_flags = IFA_F_SECONDARY | IFA_F_PERMANENT; + const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ifaddrmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + MAX(sizeof(ci), sizeof(a6))); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); @@ -106,8 +120,6 @@ main(void) print_quoted_hex(pattern, 4)); SET_IFA_FAMILY(AF_INET); - static const char address4[] = "12.34.56.78"; - struct in_addr a4; if (!inet_pton(AF_INET, address4, &a4)) perror_msg_and_skip("inet_pton"); @@ -118,8 +130,6 @@ main(void) printf("%s", address4)); SET_IFA_FAMILY(AF_INET6); - static const char address6[] = "12:34:56:78:90:ab:cd:ef"; - struct in6_addr a6; if (!inet_pton(AF_INET6, address6, &a6)) perror_msg_and_skip("inet_pton"); @@ -129,12 +139,6 @@ main(void) IFA_ADDRESS, pattern, a6, printf("%s", address6)); - static const struct ifa_cacheinfo ci = { - .ifa_prefered = 0xabcdefac, - .ifa_valid = 0xbcdadbca, - .cstamp = 0xcdabedba, - .tstamp = 0xdebabdac - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifaddrmsg, print_ifaddrmsg, IFA_CACHEINFO, pattern, ci, @@ -144,7 +148,6 @@ main(void) PRINT_FIELD_U(", ", ci, tstamp); printf("}")); - const uint32_t ifa_flags = IFA_F_SECONDARY | IFA_F_PERMANENT; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifaddrmsg, print_ifaddrmsg, IFA_FLAGS, pattern, ifa_flags, diff --git a/tests-mx32/nlattr_ifinfomsg.c b/tests-mx32/nlattr_ifinfomsg.c index 1fff52ca..71b1babf 100644 --- a/tests-mx32/nlattr_ifinfomsg.c +++ b/tests-mx32/nlattr_ifinfomsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -46,6 +46,7 @@ # define IFLA_VF_PORTS 24 #endif #define IFLA_LINK_NETNSID 37 +#define IFLA_EVENT 44 #ifndef IFLA_INFO_KIND # define IFLA_INFO_KIND 1 @@ -89,28 +90,6 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - const int fd = create_nl_socket(NETLINK_ROUTE); - const unsigned int hdrlen = sizeof(struct ifinfomsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - - const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; - char nla_type_str[256]; - sprintf(nla_type_str, "%#x /* IFLA_??? */", nla_type); - TEST_NLATTR_(fd, nlh0, hdrlen, - init_ifinfomsg, print_ifinfomsg, - nla_type, nla_type_str, - 4, pattern, 4, - print_quoted_hex(pattern, 4)); - - const int32_t netnsid = 0xacbdabda; - TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, - init_ifinfomsg, print_ifinfomsg, - IFLA_LINK_NETNSID, pattern, netnsid, - printf("%d", netnsid)); - static const struct rtnl_link_stats st = { .rx_packets = 0xabcdefac, .tx_packets = 0xbcdacdab, @@ -136,6 +115,29 @@ main(void) .rx_compressed = 0xdeffadbd, .tx_compressed = 0xefdadfab }; + const int fd = create_nl_socket(NETLINK_ROUTE); + const unsigned int hdrlen = sizeof(struct ifinfomsg); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(st)); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; + char nla_type_str[256]; + sprintf(nla_type_str, "%#x /* IFLA_??? */", nla_type); + TEST_NLATTR_(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + nla_type, nla_type_str, + 4, pattern, 4, + print_quoted_hex(pattern, 4)); + + const int32_t netnsid = 0xacbdabda; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_LINK_NETNSID, pattern, netnsid, + printf("%d", netnsid)); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_STATS, pattern, st, @@ -343,6 +345,22 @@ main(void) printf("{nla_len=%u, nla_type=IFLA_VF_PORT}", nla.nla_len)); + static const struct { + uint32_t val; + const char *str; + } ifla_events[] = { + { 0, "IFLA_EVENT_NONE" }, + { 6, "IFLA_EVENT_BONDING_OPTIONS" }, + { ARG_STR(0x7) " /* IFLA_EVENT_??? */" }, + { ARG_STR(0xdeadfeed) " /* IFLA_EVENT_??? */" }, + }; + for (size_t i = 0; i < ARRAY_SIZE(ifla_events); i++) { + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_EVENT, pattern, ifla_events[i].val, + printf("%s", ifla_events[i].str)); + } + puts("+++ exited with 0 +++"); return 0; } diff --git a/tests-mx32/nlattr_ifla.h b/tests-mx32/nlattr_ifla.h new file mode 100644 index 00000000..69892258 --- /dev/null +++ b/tests-mx32/nlattr_ifla.h @@ -0,0 +1,78 @@ +/* + * netlink attribute ifinfomsg common code. + * + * Copyright (c) 2017 JingPiao Chen + * Copyright (c) 2017-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_TESTS_NLATTR_IFLA_H +#define STRACE_TESTS_NLATTR_IFLA_H + +#include "tests.h" + +#ifndef IFLA_ATTR +# error "Please define IFLA_ATTR before including this file" +#endif + +static const unsigned int hdrlen = sizeof(struct ifinfomsg); + +static void +init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) +{ + SET_STRUCT(struct nlmsghdr, nlh, + .nlmsg_len = msg_len, + .nlmsg_type = RTM_GETLINK, + .nlmsg_flags = NLM_F_DUMP + ); + + struct ifinfomsg *const msg = NLMSG_DATA(nlh); + SET_STRUCT(struct ifinfomsg, msg, + .ifi_family = AF_UNIX, + .ifi_type = ARPHRD_LOOPBACK, + .ifi_index = ifindex_lo(), + .ifi_flags = IFF_UP, + ); + + struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); + SET_STRUCT(struct nlattr, nla, + .nla_len = msg_len - NLMSG_SPACE(hdrlen), + .nla_type = IFLA_ATTR + ); +} + +static void +print_ifinfomsg(const unsigned int msg_len) +{ + printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" + ", seq=0, pid=0}, {ifi_family=AF_UNIX" + ", ifi_type=ARPHRD_LOOPBACK" + ", ifi_index=" IFINDEX_LO_STR + ", ifi_flags=IFF_UP, ifi_change=0}" + ", {{nla_len=%u, nla_type=" STRINGIFY_VAL(IFLA_ATTR) "}", + msg_len, msg_len - NLMSG_SPACE(hdrlen)); +} + +#endif /* STRACE_TESTS_NLATTR_IFLA_H */ diff --git a/tests-mx32/nlattr_ifla_af_spec.c b/tests-mx32/nlattr_ifla_af_spec.c new file mode 100644 index 00000000..24f55af6 --- /dev/null +++ b/tests-mx32/nlattr_ifla_af_spec.c @@ -0,0 +1,322 @@ +/* + * IFLA_AF_SPEC netlink attribute decoding check. + * + * 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 +#include +#include +#include "test_nlattr.h" + +#include +#include +#ifdef HAVE_LINUX_IF_LINK_H +# include +#endif +#include + +#if !HAVE_DECL_IFLA_AF_SPEC +enum { IFLA_AF_SPEC = 26 }; +#endif + +#define XLAT_MACROS_ONLY +# include "xlat/rtnl_ifla_af_spec_inet_attrs.h" +# include "xlat/rtnl_ifla_af_spec_inet6_attrs.h" +#undef XLAT_MACROS_ONLY + +#ifndef HAVE_STRUCT_IFLA_CACHEINFO +struct ifla_cacheinfo { + uint32_t max_reasm_len; + uint32_t tstamp; + uint32_t reachable_time; + uint32_t retrans_time; +}; +#endif + +#define IFLA_ATTR IFLA_AF_SPEC +#include "nlattr_ifla.h" + +#define AF_SPEC_FUNCS(family_) \ + static void \ + init_##family_##_msg(struct nlmsghdr *const nlh, \ + const unsigned int msg_len) \ + { \ + init_ifinfomsg(nlh, msg_len); \ + \ + struct nlattr *nla = NLMSG_ATTR(nlh, hdrlen); \ + nla += 1; \ + SET_STRUCT(struct nlattr, nla, \ + .nla_len = msg_len - NLMSG_SPACE(hdrlen) \ + - NLA_HDRLEN, \ + .nla_type = family_, \ + ); \ + } \ + \ + static void \ + print_##family_##_msg(const unsigned int msg_len) \ + { \ + print_ifinfomsg(msg_len); \ + printf(", {{nla_len=%u, nla_type=" #family_ "}", \ + msg_len - NLMSG_SPACE(hdrlen) - NLA_HDRLEN); \ + } \ + /* end of AF_SPEC_FUNCS definition */ + +AF_SPEC_FUNCS(AF_INET) +AF_SPEC_FUNCS(AF_INET6) + +static void +print_arr_val(uint32_t *val, size_t idx, const char *idx_str) +{ + if (idx_str) + printf("[%s] = ", idx_str); + else + printf("[%zu] = ", idx); + + printf("%d", *val); +} + +static void +print_arr_uval(uint64_t *val, size_t idx, const char *idx_str) +{ + if (idx_str) + printf("[%s] = ", idx_str); + else + printf("[%zu] = ", idx); + + printf("%" PRIu64, *val); +} + +static void +print_inet_conf_val(uint32_t *val, size_t idx) +{ + static const char * const strs[] = { + "IPV4_DEVCONF_FORWARDING-1", + "IPV4_DEVCONF_MC_FORWARDING-1", + }; + + print_arr_val(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + + +static void +print_inet6_conf_val(uint32_t *val, size_t idx) +{ + static const char * const strs[] = { + "DEVCONF_FORWARDING", + "DEVCONF_HOPLIMIT", + }; + + print_arr_val(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + +static void +print_inet6_stats_val(uint64_t *val, size_t idx) +{ + static const char * const strs[] = { + "IPSTATS_MIB_NUM", + "IPSTATS_MIB_INPKTS", + }; + + print_arr_uval(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + +static void +print_icmp6_stats_val(uint64_t *val, size_t idx) +{ + static const char * const strs[] = { + "ICMP6_MIB_NUM", + "ICMP6_MIB_INMSGS", + "ICMP6_MIB_INERRORS", + "ICMP6_MIB_OUTMSGS", + "ICMP6_MIB_OUTERRORS", + "ICMP6_MIB_CSUMERRORS", + "6 /* ICMP6_MIB_??? */", + }; + + print_arr_uval(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + +int +main(void) +{ + static const uint8_t unknown_msg[] = { 0xab, 0xac, 0xdb, 0xcd }; + + skip_if_unavailable("/proc/self/fd/"); + + const int fd = create_nl_socket(NETLINK_ROUTE); + + const unsigned int hdrlen = sizeof(struct ifinfomsg); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), 3 * NLA_HDRLEN + 256); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + + /* unknown AF_* */ + TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + AF_UNIX, pattern, unknown_msg, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET_msg, print_AF_INET_msg, + 0, "IFLA_INET_UNSPEC", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET_msg, print_AF_INET_msg, + 2, "0x2 /* IFLA_INET_??? */", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET: IFLA_INET_CONF */ + uint32_t inet_conf_vals[] = { 0xdeadc0de, 0xda7aface }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET_msg, print_AF_INET_msg, + IFLA_INET_CONF, pattern, + inet_conf_vals, 2, print_inet_conf_val); + + /* AF_INET6 */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 0, "IFLA_INET6_UNSPEC", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 9, "0x9 /* IFLA_INET6_??? */", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET6: IFLA_INET6_FLAGS */ + static const struct { + uint32_t flags; + const char *str; + } inet6_flags[] = { + { 0xf, "0xf /* IF_??? */" }, + { 0x10, "IF_RS_SENT" }, + { 0xc0, "IF_RA_MANAGED|IF_RA_OTHERCONF" }, + { 0xdeadc0de, "IF_RS_SENT|IF_RA_MANAGED|IF_RA_OTHERCONF" + "|IF_READY|0x5eadc00e" }, + }; + + for (size_t i = 0; i < ARRAY_SIZE(inet6_flags); i++) { + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, + print_AF_INET6_msg, + 1, "IFLA_INET6_FLAGS", pattern, + inet6_flags[i].flags, + print_quoted_hex, 2, + printf("%s", inet6_flags[i].str)); + } + + /* AF_INET6: IFLA_INET6_CONF */ + uint32_t inet6_conf_vals[] = { 0xdeadc0de, 0xda7aface }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + IFLA_INET6_CONF, pattern, + inet6_conf_vals, 2, print_inet6_conf_val); + + /* AF_INET6: IFLA_INET6_STATS */ + uint64_t inet6_stats_vals[] = { 0xdeadc0deda7aface, 0xdec0deedbadc0ded }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + IFLA_INET6_STATS, pattern, + inet6_stats_vals, 2, print_inet6_stats_val); + + /* AF_INET6: IFLA_INET6_MCAST */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 4, "IFLA_INET6_MCAST", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET6: IFLA_INET6_CACHEINFO */ + static const struct ifla_cacheinfo ci = { + 0xbadc0ded, 0xfacebeef, 0xdecafeed, 0xdeadfeed, + }; + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 5, "IFLA_INET6_CACHEINFO", pattern, + ci, print_quoted_hex, 2, + PRINT_FIELD_U("{", ci, max_reasm_len); + PRINT_FIELD_U(", ", ci, tstamp); + PRINT_FIELD_U(", ", ci, reachable_time); + PRINT_FIELD_U(", ", ci, retrans_time); + printf("}")); + + /* AF_INET6: IFLA_INET6_ICMP6STATS */ + uint64_t icmp6_stats_vals[] = { + 0xdeadc0deda7aface, 0xdec0deedbadc0ded, 0xfacebeefdeadfeed, + 0xdeadc0deda7afacd, 0xdec0deedbadc0dee, 0xfacebeefdeadfeef, + 0xdeadc0deda7afacc + }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + IFLA_INET6_ICMP6STATS, pattern, + icmp6_stats_vals, 2, print_icmp6_stats_val); + + /* AF_INET6: IFLA_INET6_TOKEN */ + uint8_t inet6_addr[16] = { + 0xba, 0xdc, 0x0d, 0xed, 0xfa, 0xce, 0xbe, 0xef, + 0xde, 0xca, 0xfe, 0xed, 0xde, 0xad, 0xfe, 0xed, + }; + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 7, "IFLA_INET6_TOKEN", pattern, + inet6_addr, print_quoted_hex, 2, + printf("badc:ded:face:beef:deca:feed" + ":dead:feed")); + + /* AF_INET6: IFLA_INET6_ */ + static const struct { + uint8_t flags; + const char *str; + } agms[] = { + { 0x0, "IN6_ADDR_GEN_MODE_EUI64" }, + { 0x3, "IN6_ADDR_GEN_MODE_RANDOM" }, + { 0x4, "0x4 /* IN6_ADDR_GEN_MODE_??? */" }, + { 0xff, "0xff /* IN6_ADDR_GEN_MODE_??? */" }, + }; + + for (size_t i = 0; i < ARRAY_SIZE(agms); i++) { + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, + print_AF_INET6_msg, + 8, "IFLA_INET6_ADDR_GEN_MODE", + pattern, agms[i].flags, + print_quoted_hex, 2, + printf("%s", agms[i].str)); + } + + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-mx32/nlattr_ifla_af_spec.gen.test b/tests-mx32/nlattr_ifla_af_spec.gen.test new file mode 100755 index 00000000..601eeb22 --- /dev/null +++ b/tests-mx32/nlattr_ifla_af_spec.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_ifla_af_spec +netlink_sock_diag.test ); do not edit. +set -- +. "${srcdir=.}/netlink_sock_diag.test" diff --git a/tests-mx32/nlattr_ifla_brport.c b/tests-mx32/nlattr_ifla_brport.c index ae7c9da9..19684265 100644 --- a/tests-mx32/nlattr_ifla_brport.c +++ b/tests-mx32/nlattr_ifla_brport.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -38,65 +38,35 @@ #endif #include +#if !HAVE_DECL_IFLA_PROTINFO +enum { IFLA_PROTINFO = 12 }; +#endif + #define IFLA_BRPORT_PRIORITY 2 #define IFLA_BRPORT_MESSAGE_AGE_TIMER 21 -const unsigned int hdrlen = sizeof(struct ifinfomsg); - -static void -init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) -{ - SET_STRUCT(struct nlmsghdr, nlh, - .nlmsg_len = msg_len, - .nlmsg_type = RTM_GETLINK, - .nlmsg_flags = NLM_F_DUMP - ); - - struct ifinfomsg *const msg = NLMSG_DATA(nlh); - SET_STRUCT(struct ifinfomsg, msg, - .ifi_family = AF_UNIX, - .ifi_type = ARPHRD_LOOPBACK, - .ifi_index = ifindex_lo(), - .ifi_flags = IFF_UP, - ); - - struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); - SET_STRUCT(struct nlattr, nla, - .nla_len = msg_len - NLMSG_SPACE(hdrlen), - .nla_type = IFLA_PROTINFO - ); -} - -static void -print_ifinfomsg(const unsigned int msg_len) -{ - printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" - ", seq=0, pid=0}, {ifi_family=AF_UNIX" - ", ifi_type=ARPHRD_LOOPBACK" - ", ifi_index=" IFINDEX_LO_STR - ", ifi_flags=IFF_UP, ifi_change=0}" - ", {{nla_len=%u, nla_type=IFLA_PROTINFO}", - msg_len, msg_len - NLMSG_SPACE(hdrlen)); -} +#define IFLA_ATTR IFLA_PROTINFO +#include "nlattr_ifla.h" int main(void) { skip_if_unavailable("/proc/self/fd/"); + const uint16_t u16 = 0xabcd; + const uint64_t u64 = 0xabcdedeeefeafeab; const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN * 2 + sizeof(u64)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const uint16_t u16 = 0xabcd; TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_BRPORT_PRIORITY, pattern, u16, printf("%u", u16)); - const uint64_t u64 = 0xabcdedeeefeafeab; TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_BRPORT_MESSAGE_AGE_TIMER, pattern, u64, diff --git a/tests-mx32/nlattr_ifla_linkinfo.c b/tests-mx32/nlattr_ifla_linkinfo.c new file mode 100644 index 00000000..1bf1befa --- /dev/null +++ b/tests-mx32/nlattr_ifla_linkinfo.c @@ -0,0 +1,711 @@ +/* + * IFLA_LINKINFO netlink attribute decoding check. + * + * 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 +#include +#include +#include + +#include "test_nlattr.h" + +#include +#include +#ifdef HAVE_LINUX_IF_LINK_H +# include +#endif +#include + +#define XLAT_MACROS_ONLY +# include +# include +#undef XLAT_MACROS_ONLY + +#define IFLA_ATTR IFLA_LINKINFO +#include "nlattr_ifla.h" + +#define COMMA , +#define TEST_UNKNOWN_TUNNELS(fd_, nlh0_, objtype_, objtype_str_, \ + obj_, objsz_, arrstrs_, ...) \ + do { \ + /* 64 is guestimate for maximum unknown type len */ \ + char buf[8 * 2 + 64 + objsz_]; \ + const char **arrstrs[] = arrstrs_; \ + const char ***arrstrs_pos = arrstrs; \ + const char **arrstr = *arrstrs_pos; \ + const char *type = NULL; \ + \ + for (type = arrstr ? arrstr[0] : NULL; type && arrstr; \ + type = (++arrstr)[0] ? arrstr[0] \ + : (++arrstrs_pos)[0] \ + ? (arrstr = arrstrs_pos[0])[0] \ + : NULL) \ + { \ + size_t type_len = strlen(type) + 1; \ + \ + if (type_len > 64) \ + error_msg_and_fail("Unexpectedly long " \ + "unknown type: \"%s\" " \ + "(length is %zu)", \ + type, type_len); \ + \ + struct nlattr obj_nla = { \ + .nla_len = NLA_HDRLEN + (objsz_), \ + .nla_type = (objtype_), \ + }; \ + \ + char *pos = buf; \ + memcpy(pos, type, type_len); \ + pos += NLA_ALIGN(type_len); \ + memcpy(pos, &obj_nla, sizeof(obj_nla)); \ + pos += sizeof(obj_nla); \ + memcpy(pos, (obj_), (objsz_)); \ + \ + TEST_NLATTR_EX_((fd_), \ + (nlh0_) - hdrlen - (pos - buf), \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + type_len, objsz_ + (pos - buf), \ + buf, objsz_ + (pos - buf), \ + printf("\"%s\"}", type); \ + printf(", {{nla_len=%zu" \ + ", nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (objtype_str_)); \ + \ + { __VA_ARGS__; } \ + \ + printf("}")); \ + } \ + } while (0) + +#define TEST_LINKINFO_(fd_, nlh0_, nla_type_, nla_type_str_, tuntype_, \ + obj_, objsz_, pattern_, fallback_func_, ...) \ + do { \ + size_t tuntype_len = strlen(tuntype_) + 1; \ + char *buf = tail_alloc(NLA_ALIGN(tuntype_len) \ + + NLA_HDRLEN + (objsz_)); \ + char *pos = buf; \ + \ + struct nlattr obj_nla = { \ + .nla_len = NLA_HDRLEN + (objsz_), \ + .nla_type = (nla_type_), \ + }; \ + \ + memcpy(pos, (tuntype_), tuntype_len); \ + pos += NLA_ALIGN(tuntype_len); \ + memcpy(pos, &obj_nla, sizeof(obj_nla)); \ + pos += sizeof(obj_nla); \ + memcpy(pos, &(obj_), (objsz_)); \ + \ + if (fallback_func_ == print_quoted_hex) { \ + TEST_NLATTR_EX_((fd_), \ + (nlh0_) - NLA_HDRLEN, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, \ + objsz_ + (pos - buf) - 1, \ + buf, objsz_ + (pos - buf) - 1, \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu" \ + ", nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (nla_type_str_)); \ + (fallback_func_)((obj_), \ + (objsz_) - 1); \ + printf("}")); \ + } \ + \ + TEST_NLATTR_EX_((fd_), (nlh0_) - NLA_HDRLEN, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, objsz_ + (pos - buf), \ + buf, objsz_ + (pos - buf) - 1, \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu, nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (nla_type_str_)); \ + printf("%p}", \ + RTA_DATA(NLMSG_ATTR(nlh, \ + (hdrlen + NLA_HDRLEN + (pos - buf)))) \ + ) \ + ); \ + \ + TEST_NLATTR_EX_((fd_), (nlh0_) - NLA_HDRLEN, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, objsz_ + (pos - buf), \ + buf, objsz_ + (pos - buf), \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu, nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (nla_type_str_)); \ + \ + { __VA_ARGS__; } \ + \ + printf("}")); \ + } while (0) + +#define TEST_LINKINFO(fd_, nlh0_, nla_type_, tuntype_, \ + obj_, pattern_, fallback_func_, ...) \ + TEST_LINKINFO_((fd_), (nlh0_), nla_type_, #nla_type_, (tuntype_), \ + (obj_), sizeof(obj_), pattern_, fallback_func_, \ + __VA_ARGS__) + +#define TEST_NESTED_LINKINFO(fd_, nlh0_, \ + nla_type_, nla_type_str_, tuntype_, \ + subnla_type_, subnla_type_str_, \ + obj_, pattern_, ...) \ + do { \ + size_t tuntype_len = strlen(tuntype_) + 1; \ + struct { \ + size_t sz; \ + const char *str; \ + } attrs[] = { __VA_ARGS__ }; \ + size_t tunhdrlen; \ + size_t buflen = NLA_ALIGN(tuntype_len) + NLA_HDRLEN; \ + size_t attrsz = 0; \ + \ + for (size_t i = 0; i < ARRAY_SIZE(attrs); i++) \ + attrsz += NLA_HDRLEN + NLA_ALIGN(attrs[i].sz); \ + \ + buflen += attrsz; \ + \ + char *buf = tail_alloc(buflen); \ + char *pos = buf; \ + \ + struct nlattr nla = { \ + .nla_len = NLA_HDRLEN + attrsz, \ + .nla_type = (nla_type_), \ + }; \ + \ + memcpy(pos, (tuntype_), tuntype_len); \ + pos += NLA_ALIGN(tuntype_len); \ + memcpy(pos, &nla, sizeof(nla)); \ + pos += sizeof(nla); \ + \ + tunhdrlen = pos - buf; \ + \ + nla.nla_type = subnla_type_; \ + \ + for (size_t i = 0; i < ARRAY_SIZE(attrs); i++) { \ + nla.nla_len = NLA_HDRLEN + attrs[i].sz; \ + memcpy(pos, &nla, sizeof(nla)); \ + pos += sizeof(nla); \ + \ + memcpy(pos, &(obj_), MIN(sizeof(obj_), attrs[i].sz)); \ + \ + if (attrs[i].sz > sizeof(obj_)) \ + memcpy(pos + sizeof(obj_), \ + &(pattern_), \ + attrs[i].sz - sizeof(obj_)); \ + \ + pos += NLA_ALIGN(attrs[i].sz); \ + } \ + \ + TEST_NLATTR_EX_((fd_), (nlh0_) - hdrlen - tunhdrlen, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, buflen, \ + buf, buflen, \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu, nla_type=%s}, [", \ + attrsz + NLA_HDRLEN, \ + (nla_type_str_)); \ + \ + for (size_t i = 0; i < ARRAY_SIZE(attrs); i++) \ + printf("%s%s{nla_len=%zu" \ + ", nla_type=%s}%s%s%s", \ + i ? ", " : "", \ + attrs[i].str ? "{": "", \ + attrs[i].sz + NLA_HDRLEN, \ + subnla_type_str_, \ + attrs[i].str ? ", ": "", \ + attrs[i].str ?: "", \ + attrs[i].str ? "}" : ""); \ + \ + printf("]}")); \ + } while (0) + +int +main(void) +{ + static const uint8_t unknown_msg[] = { 0xab, 0xac, 0xdb, 0xcd }; + static const char *unsupported_tunnel_types[] = { + "batadv", "bond", + "caif", "cfhsi", + "dummy", + "erspan", + "geneve", "gre", "gretap", "gtp", + "hsr", + "ifb", "ip6erspan", "ip6gre", "ip6gretap", "ip6tnl", + "ipip", "ipoib", "ipvlan", "ipvtap", + "lowpan", + "macsec", "macvlan", "macvtap", + "netdevsim", "nlmon", + "openvswitch", + "ppp", + "rmnet", + "sit", + "team", + "vcan", "veth", "vlan", "vrf", "vsockmon", + "vti", "vti6", "vxcan", "vxlan", + NULL + }; + static const char *unsupported_xstats_types[] = { + "bridge", + "tun", + NULL + }; + static const char *unsupported_data_types[] = { + "can", + NULL + }; + + skip_if_unavailable("/proc/self/fd/"); + + const int fd = create_nl_socket(NETLINK_ROUTE); + + const unsigned int hdrlen = sizeof(struct ifinfomsg); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), 2 * NLA_HDRLEN + 256); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + + /* unknown AF_INFO_* type */ + TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_INFO_UNSPEC, pattern, unknown_msg, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + 6, "0x6 /* IFLA_INFO_??? */", pattern, + unknown_msg, print_quoted_hex, 1, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + /* IFLA_INFO_KIND */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_INFO_KIND, "IFLA_INFO_KIND", pattern, + unknown_msg, print_quoted_stringn, 1, + printf("\"\\253\\254\\333\\315\"...")); + + + /* IFLA_INFO_KIND + IFLA_INFO_UNSPEC */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_UNSPEC, "IFLA_INFO_UNSPEC", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + /* IFLA_INFO_KIND + IFLA_INFO_KIND */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_KIND, "IFLA_INFO_KIND", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\253\\254\\333\\315\"...")); + + + /* IFLA_INFO_KIND + IFLA_INFO_DATA */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_DATA, "IFLA_INFO_DATA", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + struct val_name { + unsigned int val; + const char *name; + }; + + static const uint64_t u64_val = 0xdeadc0defacefeedULL; + static const uint32_t u32_val = 0xbadc0dedU; + static const uint16_t u16_val = 0xdeed; + static const uint8_t u8_val = 0xa1; + + /* bridge attrs */ + static const struct val_name und_br_attrs[] = { + { 0, "IFLA_BR_UNSPEC" }, + { 20, "IFLA_BR_GROUP_ADDR" }, + { 21, "IFLA_BR_FDB_FLUSH" }, + { 40, "IFLA_BR_PAD" }, + { 45, "0x2d /* IFLA_BR_??? */" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(und_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + und_br_attrs[k].val, und_br_attrs[k].name, + unknown_msg, pattern, + { 2, "\"\\xab\\xac\"" }, + { 4, "\"\\xab\\xac\\xdb\\xcd\"" }, + { 6, + "\"\\xab\\xac\\xdb\\xcd\\x61\\x62\"" }, + { 8, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\"" }, + { 10, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\\x65\\x66\"" }); + } + + static const struct val_name u64_br_attrs[] = { + { 16, "IFLA_BR_HELLO_TIMER" }, + { 17, "IFLA_BR_TCN_TIMER" }, + { 18, "IFLA_BR_TOPOLOGY_CHANGE_TIMER" }, + { 19, "IFLA_BR_GC_TIMER" }, + { 30, "IFLA_BR_MCAST_LAST_MEMBER_INTVL" }, + { 31, "IFLA_BR_MCAST_MEMBERSHIP_INTVL" }, + { 32, "IFLA_BR_MCAST_QUERIER_INTVL" }, + { 33, "IFLA_BR_MCAST_QUERY_INTVL" }, + { 34, "IFLA_BR_MCAST_QUERY_RESPONSE_INTVL" }, + { 35, "IFLA_BR_MCAST_STARTUP_QUERY_INTVL" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u64_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u64_br_attrs[k].val, u64_br_attrs[k].name, + u64_val, pattern, + { 7, "\"" +#if WORDS_BIGENDIAN + "\\xde\\xad\\xc0\\xde\\xfa\\xce\\xfe" +#else + "\\xed\\xfe\\xce\\xfa\\xde\\xc0\\xad" +#endif + "\"" }, + { 8, "16045693111314087661" }, + { 9, "16045693111314087661" }); + } + + static const struct val_name u32_br_attrs[] = { + { 1, "IFLA_BR_FORWARD_DELAY" }, + { 2, "IFLA_BR_HELLO_TIME" }, + { 3, "IFLA_BR_MAX_AGE" }, + { 4, "IFLA_BR_AGEING_TIME" }, + { 5, "IFLA_BR_STP_STATE" }, + { 13, "IFLA_BR_ROOT_PATH_COST" }, + { 26, "IFLA_BR_MCAST_HASH_ELASTICITY" }, + { 27, "IFLA_BR_MCAST_HASH_MAX" }, + { 28, "IFLA_BR_MCAST_LAST_MEMBER_CNT" }, + { 29, "IFLA_BR_MCAST_STARTUP_QUERY_CNT" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u32_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u32_br_attrs[k].val, u32_br_attrs[k].name, + u32_val, pattern, + { 3, "\"" +#if WORDS_BIGENDIAN + "\\xba\\xdc\\x0d" +#else + "\\xed\\x0d\\xdc" +#endif + "\"" }, + { 4, "3134983661" }, + { 5, "3134983661" }); + } + + static const struct val_name u16_br_attrs[] = { + { 6, "IFLA_BR_PRIORITY" }, + { 12, "IFLA_BR_ROOT_PORT" }, + { 39, "IFLA_BR_VLAN_DEFAULT_PVID" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u16_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u16_br_attrs[k].val, u16_br_attrs[k].name, + u16_val, pattern, + { 1, "\"" +#if WORDS_BIGENDIAN + "\\xde" +#else + "\\xed" +#endif + "\"" }, + { 2, "57069" }, + { 3, "57069" }); + } + + + static const struct val_name x16_br_attrs[] = { + { 9, "IFLA_BR_GROUP_FWD_MASK" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(x16_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + x16_br_attrs[k].val, x16_br_attrs[k].name, + u16_val, pattern, + { 1, "\"" +#if WORDS_BIGENDIAN + "\\xde" +#else + "\\xed" +#endif + "\"" }, + { 2, "0xdeed" }, + { 3, "0xdeed" }); + } + + static const struct val_name u8_br_attrs[] = { + { 7, "IFLA_BR_VLAN_FILTERING" }, + { 14, "IFLA_BR_TOPOLOGY_CHANGE" }, + { 15, "IFLA_BR_TOPOLOGY_CHANGE_DETECTED" }, + { 22, "IFLA_BR_MCAST_ROUTER" }, + { 23, "IFLA_BR_MCAST_SNOOPING" }, + { 24, "IFLA_BR_MCAST_QUERY_USE_IFADDR" }, + { 25, "IFLA_BR_MCAST_QUERIER" }, + { 36, "IFLA_BR_NF_CALL_IPTABLES" }, + { 37, "IFLA_BR_NF_CALL_IP6TABLES" }, + { 38, "IFLA_BR_NF_CALL_ARPTABLES" }, + { 41, "IFLA_BR_VLAN_STATS_ENABLED" }, + { 42, "IFLA_BR_MCAST_STATS_ENABLED" }, + { 43, "IFLA_BR_MCAST_IGMP_VERSION" }, + { 44, "IFLA_BR_MCAST_MLD_VERSION" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u8_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u8_br_attrs[k].val, u8_br_attrs[k].name, + u8_val, pattern, + { 0, NULL }, + { 1, "161" }, + { 2, "161" }); + } + + unsigned short eth_p = htons(0x88C7); + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + 8, "IFLA_BR_VLAN_PROTOCOL", + eth_p, pattern, + { 1, "\"\\x88\"" }, + { 2, "htons(ETH_P_PREAUTH)" }, + { 2, "htons(ETH_P_PREAUTH)" }); + + static const uint8_t bridge_id[] + = { 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xc0, 0xde, 0xad }; + static const struct val_name br_id_attrs[] = { + { 10, "IFLA_BR_ROOT_ID" }, + { 11, "IFLA_BR_BRIDGE_ID" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(br_id_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + br_id_attrs[k].val, br_id_attrs[k].name, + bridge_id, pattern, + { 7, "\"\\xbe\\xef\\xfa\\xce" + "\\xde\\xc0\\xde\"" }, + { 8, "{prio=[190, 239]" + ", addr=fa:ce:de:c0:de:ad}" }, + { 9, "{prio=[190, 239]" + ", addr=fa:ce:de:c0:de:ad}" }); + } + + /* tun attrs */ + static const struct val_name u8_tun_attrs[] = { + { 4, "IFLA_TUN_PI" }, + { 5, "IFLA_TUN_VNET_HDR" }, + { 6, "IFLA_TUN_PERSIST" }, + { 7, "IFLA_TUN_MULTI_QUEUE" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u8_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + u8_tun_attrs[k].val, u8_tun_attrs[k].name, + u8_val, pattern, + { 0, NULL }, + { 1, "161" }, + { 2, "161" }); + } + + static const struct val_name u32_tun_attrs[] = { + { 8, "IFLA_TUN_NUM_QUEUES" }, + { 9, "IFLA_TUN_NUM_DISABLED_QUEUES" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u32_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + u32_tun_attrs[k].val, + u32_tun_attrs[k].name, + u32_val, pattern, + { 3, "\"" +#if WORDS_BIGENDIAN + "\\xba\\xdc\\x0d" +#else + "\\xed\\x0d\\xdc" +#endif + "\"" }, + { 4, "3134983661" }, + { 5, "3134983661" }); + } + + static const struct val_name und_tun_attrs[] = { + { 0, "IFLA_TUN_UNSPEC" }, + { 10, "0xa /* IFLA_TUN_??? */" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(und_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + und_tun_attrs[k].val, + und_tun_attrs[k].name, + unknown_msg, pattern, + { 2, "\"\\xab\\xac\"" }, + { 4, "\"\\xab\\xac\\xdb\\xcd\"" }, + { 6, + "\"\\xab\\xac\\xdb\\xcd\\x61\\x62\"" }, + { 8, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\"" }, + { 10, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\\x65\\x66\"" }); + } + + static const uint32_t minus_one = 0xffffffffU; + static const struct val_name uid_tun_attrs[] = { + { 1, "IFLA_TUN_OWNER" }, + { 2, "IFLA_TUN_GROUP" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(uid_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + uid_tun_attrs[k].val, + uid_tun_attrs[k].name, + u32_val, pattern, + { 3, "\"" +#if WORDS_BIGENDIAN + "\\xba\\xdc\\x0d" +#else + "\\xed\\x0d\\xdc" +#endif + "\"" }, + { 4, "3134983661" }, + { 5, "3134983661" }); + + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + uid_tun_attrs[k].val, + uid_tun_attrs[k].name, + minus_one, pattern, + { 3, "\"\\xff\\xff\\xff\"" }, + { 4, "-1" }, + { 5, "-1" }); + } + + static const struct { + uint8_t val; + const char *str; + } tun_types[] = { + { 0, "0 /* IFF_??? */"}, + { 1, "IFF_TUN"}, + { 2, "IFF_TAP"}, + { 3, "0x3 /* IFF_??? */"}, + { 0xda, "0xda /* IFF_??? */"}, + }; + + for (size_t k = 0; k < ARRAY_SIZE(tun_types); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + 3, "IFLA_TUN_TYPE", + tun_types[k].val, pattern, + { 0, NULL }, + { 1, tun_types[k].str }, + { 2, tun_types[k].str }); + } + + + /* IFLA_INFO_KIND + IFLA_INFO_XSTATS */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_XSTATS, "IFLA_INFO_XSTATS", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + /* + * can decoder decodes its data only if it's big + * enough. + */ + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + uint32_t can_stats_data[] = { + 0xbadc0de0, 0xbadc0de1, 0xbadc0de2, 0xbadc0de3, + 0xbadc0de4, 0xbadc0de5, + }; + + TEST_LINKINFO(fd, nlh0, IFLA_INFO_XSTATS, "can", + can_stats_data, pattern, print_quoted_hex, + printf("{bus_error=3134983648" + ", error_warning=3134983649" + ", error_passive=3134983650" + ", bus_off=3134983651" + ", arbitration_lost=3134983652" + ", restarts=3134983653}")); + + + /* IFLA_INFO_KIND + IFLA_INFO_SLVAE_KIND */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, + IFLA_INFO_SLAVE_KIND, "IFLA_INFO_SLAVE_KIND", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\253\\254\\333\\315\"...")); + + + /* IFLA_INFO_KIND + IFLA_INFO_SLAVE_DATA */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, + IFLA_INFO_SLAVE_DATA, "IFLA_INFO_SLAVE_DATA", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + /* IFLA_INFO_KIND + unknown type */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, 6, "0x6 /* IFLA_INFO_??? */", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests-mx32/nlattr_ifla_linkinfo.gen.test b/tests-mx32/nlattr_ifla_linkinfo.gen.test new file mode 100755 index 00000000..816ba99c --- /dev/null +++ b/tests-mx32/nlattr_ifla_linkinfo.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_ifla_linkinfo +netlink_sock_diag.test ); do not edit. +set -- +. "${srcdir=.}/netlink_sock_diag.test" diff --git a/tests-mx32/nlattr_ifla_port.c b/tests-mx32/nlattr_ifla_port.c index 61e90fe0..e6cb6a49 100644 --- a/tests-mx32/nlattr_ifla_port.c +++ b/tests-mx32/nlattr_ifla_port.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -37,50 +37,15 @@ #endif #include -#ifndef IFLA_PORT_SELF -# define IFLA_PORT_SELF 25 +#if !HAVE_DECL_IFLA_PORT_SELF +enum { IFLA_PORT_SELF = 25 }; #endif #ifndef IFLA_PORT_VF # define IFLA_PORT_VF 1 #endif -const unsigned int hdrlen = sizeof(struct ifinfomsg); - -static void -init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) -{ - SET_STRUCT(struct nlmsghdr, nlh, - .nlmsg_len = msg_len, - .nlmsg_type = RTM_GETLINK, - .nlmsg_flags = NLM_F_DUMP - ); - - struct ifinfomsg *const msg = NLMSG_DATA(nlh); - SET_STRUCT(struct ifinfomsg, msg, - .ifi_family = AF_UNIX, - .ifi_type = ARPHRD_LOOPBACK, - .ifi_index = ifindex_lo(), - .ifi_flags = IFF_UP, - ); - - struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); - SET_STRUCT(struct nlattr, nla, - .nla_len = msg_len - NLMSG_SPACE(hdrlen), - .nla_type = IFLA_PORT_SELF - ); -} - -static void -print_ifinfomsg(const unsigned int msg_len) -{ - printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" - ", seq=0, pid=0}, {ifi_family=AF_UNIX" - ", ifi_type=ARPHRD_LOOPBACK" - ", ifi_index=" IFINDEX_LO_STR - ", ifi_flags=IFF_UP, ifi_change=0}" - ", {{nla_len=%u, nla_type=IFLA_PORT_SELF}", - msg_len, msg_len - NLMSG_SPACE(hdrlen)); -} +#define IFLA_ATTR IFLA_PORT_SELF +#include "nlattr_ifla.h" int main(void) @@ -88,7 +53,7 @@ main(void) skip_if_unavailable("/proc/self/fd/"); const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), 2 * NLA_HDRLEN + 8); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_ifla_xdp.c b/tests-mx32/nlattr_ifla_xdp.c index cca5219e..93149fa9 100644 --- a/tests-mx32/nlattr_ifla_xdp.c +++ b/tests-mx32/nlattr_ifla_xdp.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -37,63 +37,29 @@ #endif #include -#ifndef IFLA_XDP -# define IFLA_XDP 43 +#if !HAVE_DECL_IFLA_XDP +enum { IFLA_XDP = 43 }; #endif #ifndef IFLA_XDP_FD # define IFLA_XDP_FD 1 #endif -const unsigned int hdrlen = sizeof(struct ifinfomsg); - -static void -init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) -{ - SET_STRUCT(struct nlmsghdr, nlh, - .nlmsg_len = msg_len, - .nlmsg_type = RTM_GETLINK, - .nlmsg_flags = NLM_F_DUMP - ); - - struct ifinfomsg *const msg = NLMSG_DATA(nlh); - SET_STRUCT(struct ifinfomsg, msg, - .ifi_family = AF_UNIX, - .ifi_type = ARPHRD_LOOPBACK, - .ifi_index = ifindex_lo(), - .ifi_flags = IFF_UP, - ); - - struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); - SET_STRUCT(struct nlattr, nla, - .nla_len = msg_len - NLMSG_SPACE(hdrlen), - .nla_type = IFLA_XDP - ); -} - -static void -print_ifinfomsg(const unsigned int msg_len) -{ - printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" - ", seq=0, pid=0}, {ifi_family=AF_UNIX" - ", ifi_type=ARPHRD_LOOPBACK" - ", ifi_index=" IFINDEX_LO_STR - ", ifi_flags=IFF_UP, ifi_change=0}" - ", {{nla_len=%u, nla_type=IFLA_XDP}", - msg_len, msg_len - NLMSG_SPACE(hdrlen)); -} +#define IFLA_ATTR IFLA_XDP +#include "nlattr_ifla.h" int main(void) { skip_if_unavailable("/proc/self/fd/"); + const int32_t num = 0xabacdbcd; const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(num)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const int32_t num = 0xabacdbcd; TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_XDP_FD, pattern, num, diff --git a/tests-mx32/nlattr_inet_diag_msg.c b/tests-mx32/nlattr_inet_diag_msg.c index ccc62aed..5984ee26 100644 --- a/tests-mx32/nlattr_inet_diag_msg.c +++ b/tests-mx32/nlattr_inet_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -37,6 +37,18 @@ #include #include +static const char * const sk_meminfo_strs[] = { + "SK_MEMINFO_RMEM_ALLOC", + "SK_MEMINFO_RCVBUF", + "SK_MEMINFO_WMEM_ALLOC", + "SK_MEMINFO_SNDBUF", + "SK_MEMINFO_FWD_ALLOC", + "SK_MEMINFO_WMEM_QUEUED", + "SK_MEMINFO_OPTMEM", + "SK_MEMINFO_BACKLOG", + "SK_MEMINFO_DROPS", +}; + static const char address[] = "10.11.12.13"; static void @@ -77,9 +89,14 @@ print_inet_diag_msg(const unsigned int msg_len) } static void -print_uint(const unsigned int *p) +print_uint(const unsigned int *p, size_t i) { - printf("%u", *p); + if (i >= ARRAY_SIZE(sk_meminfo_strs)) + printf("[%zu /* SK_MEMINFO_??? */", i); + else + printf("[%s", sk_meminfo_strs[i]); + + printf("] = %u", *p); } int @@ -87,19 +104,46 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - const int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct inet_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct inet_diag_meminfo minfo = { .idiag_rmem = 0xfadcacdb, .idiag_wmem = 0xbdabcada, .idiag_fmem = 0xbadbfafb, .idiag_tmem = 0xfdacdadf }; + static const struct tcpvegas_info vegas = { + .tcpv_enabled = 0xfadcacdb, + .tcpv_rttcnt = 0xbdabcada, + .tcpv_rtt = 0xbadbfafb, + .tcpv_minrtt = 0xfdacdadf + }; + static const struct tcp_dctcp_info dctcp = { + .dctcp_enabled = 0xfdac, + .dctcp_ce_state = 0xfadc, + .dctcp_alpha = 0xbdabcada, + .dctcp_ab_ecn = 0xbadbfafb, + .dctcp_ab_tot = 0xfdacdadf + }; + static const struct tcp_bbr_info bbr = { + .bbr_bw_lo = 0xfdacdadf, + .bbr_bw_hi = 0xfadcacdb, + .bbr_min_rtt = 0xbdabcada, + .bbr_pacing_gain = 0xbadbfafb, + .bbr_cwnd_gain = 0xfdacdadf + }; + static const uint32_t mem[] = { 0xaffacbad, 0xffadbcab }; + static uint32_t bigmem[SK_MEMINFO_VARS + 1]; + static const uint32_t mark = 0xabdfadca; + static const uint8_t shutdown = 0xcd; + + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct inet_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + + MAX(sizeof(bigmem), DEFAULT_STRLEN)); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_MEMINFO, pattern, minfo, @@ -109,12 +153,6 @@ main(void) PRINT_FIELD_U(", ", minfo, idiag_tmem); printf("}")); - static const struct tcpvegas_info vegas = { - .tcpv_enabled = 0xfadcacdb, - .tcpv_rttcnt = 0xbdabcada, - .tcpv_rtt = 0xbadbfafb, - .tcpv_minrtt = 0xfdacdadf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_VEGASINFO, pattern, vegas, @@ -125,13 +163,6 @@ main(void) printf("}")); - static const struct tcp_dctcp_info dctcp = { - .dctcp_enabled = 0xfdac, - .dctcp_ce_state = 0xfadc, - .dctcp_alpha = 0xbdabcada, - .dctcp_ab_ecn = 0xbadbfafb, - .dctcp_ab_tot = 0xfdacdadf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_DCTCPINFO, pattern, dctcp, @@ -142,13 +173,6 @@ main(void) PRINT_FIELD_U(", ", dctcp, dctcp_ab_tot); printf("}")); - static const struct tcp_bbr_info bbr = { - .bbr_bw_lo = 0xfdacdadf, - .bbr_bw_hi = 0xfadcacdb, - .bbr_min_rtt = 0xbdabcada, - .bbr_pacing_gain = 0xbadbfafb, - .bbr_cwnd_gain = 0xfdacdadf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_BBRINFO, pattern, bbr, @@ -159,24 +183,16 @@ main(void) PRINT_FIELD_U(", ", bbr, bbr_cwnd_gain); printf("}")); - static const uint32_t mem[] = { 0xaffacbad, 0xffadbcab }; TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_SKMEMINFO, pattern, mem, print_uint); - static uint32_t bigmem[SK_MEMINFO_VARS + 1]; memcpy(bigmem, pattern, sizeof(bigmem)); - TEST_NLATTR(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, - INET_DIAG_SKMEMINFO, sizeof(bigmem), bigmem, sizeof(bigmem), - size_t i; - for (i = 0; i < SK_MEMINFO_VARS; ++i) { - printf(i ? ", " : "["); - print_uint(&bigmem[i]); - } - printf(", ...]")); + TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, + init_inet_diag_msg, print_inet_diag_msg, + INET_DIAG_SKMEMINFO, pattern, bigmem, print_uint); - static const uint32_t mark = 0xabdfadca; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_MARK, pattern, mark, @@ -187,7 +203,6 @@ main(void) INET_DIAG_CLASS_ID, pattern, mark, printf("%u", mark)); - static const uint8_t shutdown = 0xcd; TEST_NLATTR(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_SHUTDOWN, sizeof(shutdown), &shutdown, sizeof(shutdown), diff --git a/tests-mx32/nlattr_inet_diag_req_compat.c b/tests-mx32/nlattr_inet_diag_req_compat.c index b0b21713..52fd53fa 100644 --- a/tests-mx32/nlattr_inet_diag_req_compat.c +++ b/tests-mx32/nlattr_inet_diag_req_compat.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -86,7 +86,7 @@ main(void) int fd = create_nl_socket(NETLINK_SOCK_DIAG); const unsigned int hdrlen = sizeof(struct inet_diag_req); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_inet_diag_req_v2.c b/tests-mx32/nlattr_inet_diag_req_v2.c index 1e09abe6..cf19c601 100644 --- a/tests-mx32/nlattr_inet_diag_req_v2.c +++ b/tests-mx32/nlattr_inet_diag_req_v2.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -407,7 +407,10 @@ main(void) skip_if_unavailable("/proc/self/fd/"); int fd = create_nl_socket(NETLINK_SOCK_DIAG); - nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + + sizeof(struct inet_diag_bc_op) + + sizeof(struct inet_diag_hostcond) + + sizeof(struct in6_addr) + DEFAULT_STRLEN); fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); test_inet_diag_bc_op(fd); diff --git a/tests-mx32/nlattr_mdba_mdb_entry.c b/tests-mx32/nlattr_mdba_mdb_entry.c index 124fe1d4..61bded2f 100644 --- a/tests-mx32/nlattr_mdba_mdb_entry.c +++ b/tests-mx32/nlattr_mdba_mdb_entry.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -99,7 +99,12 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4 +# ifdef HAVE_STRUCT_BR_MDB_ENTRY + - 4 + NLA_HDRLEN * 2 + sizeof(struct nlattr) + + sizeof(struct br_mdb_entry) +# endif + ); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_mdba_router_port.c b/tests-mx32/nlattr_mdba_router_port.c index af908cd8..a6621ca1 100644 --- a/tests-mx32/nlattr_mdba_router_port.c +++ b/tests-mx32/nlattr_mdba_router_port.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -87,25 +87,27 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + const uint32_t ifindex = ifindex_lo(); + const uint8_t type = MDB_RTR_TYPE_DISABLED; + static const struct nlattr nla = { + .nla_len = NLA_HDRLEN + sizeof(type), + .nla_type = MDBA_ROUTER_PATTR_TYPE + }; + char buf[NLMSG_ALIGN(ifindex) + NLA_HDRLEN + sizeof(type)]; + const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(buf)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const uint32_t ifindex = ifindex_lo(); TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_br_port_msg, print_br_port_msg, MDBA_ROUTER_PORT, pattern, ifindex, printf(IFINDEX_LO_STR)); - const uint8_t type = MDB_RTR_TYPE_DISABLED; - static const struct nlattr nla = { - .nla_len = NLA_HDRLEN + sizeof(type), - .nla_type = MDBA_ROUTER_PATTR_TYPE - }; - char buf[NLMSG_ALIGN(ifindex) + NLA_HDRLEN + sizeof(type)]; memcpy(buf, &ifindex, sizeof(ifindex)); memcpy(buf + NLMSG_ALIGN(ifindex), &nla, sizeof(nla)); memcpy(buf + NLMSG_ALIGN(ifindex) + NLA_HDRLEN, &type, sizeof(type)); diff --git a/tests-mx32/nlattr_ndmsg.c b/tests-mx32/nlattr_ndmsg.c index 8538a827..aa28a57f 100644 --- a/tests-mx32/nlattr_ndmsg.c +++ b/tests-mx32/nlattr_ndmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -77,7 +77,8 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ndmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(struct nda_cacheinfo)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_ndtmsg.c b/tests-mx32/nlattr_ndtmsg.c index d3f1bdb7..d1200598 100644 --- a/tests-mx32/nlattr_ndtmsg.c +++ b/tests-mx32/nlattr_ndtmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -68,7 +68,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ndtmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 11 * 8); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_netconfmsg.c b/tests-mx32/nlattr_netconfmsg.c index 6866adc9..f5f59936 100644 --- a/tests-mx32/nlattr_netconfmsg.c +++ b/tests-mx32/nlattr_netconfmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -66,7 +66,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct netconfmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_netlink_diag_msg.c b/tests-mx32/nlattr_netlink_diag_msg.c index 76a2d19e..b5988990 100644 --- a/tests-mx32/nlattr_netlink_diag_msg.c +++ b/tests-mx32/nlattr_netlink_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -66,7 +66,7 @@ print_netlink_diag_msg(const unsigned int msg_len) } static void -print_xlong(const unsigned long *p) +print_xlong(const unsigned long *p, size_t i) { printf("%#lx", *p); } @@ -76,27 +76,32 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - const int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct netlink_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const unsigned long groups[] = { (unsigned long) 0xdeadbeefbadc0dedULL, (unsigned long) 0xdeadbeefbadc0dedULL }; - TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, - init_netlink_diag_msg, print_netlink_diag_msg, - NETLINK_DIAG_GROUPS, pattern, groups, print_xlong); - static const struct netlink_diag_ring ndr = { .ndr_block_size = 0xfabfabdc, .ndr_block_nr = 0xabcdabda, .ndr_frame_size = 0xcbadbafa, .ndr_frame_nr = 0xdbcafadb }; + static const uint32_t flags = + NDIAG_FLAG_CB_RUNNING | NDIAG_FLAG_PKTINFO; + + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct netlink_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + + MAX(sizeof(groups), sizeof(ndr))); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, + init_netlink_diag_msg, print_netlink_diag_msg, + NETLINK_DIAG_GROUPS, pattern, groups, print_xlong); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_netlink_diag_msg, print_netlink_diag_msg, NETLINK_DIAG_RX_RING, pattern, ndr, @@ -106,8 +111,6 @@ main(void) PRINT_FIELD_U(", ", ndr, ndr_frame_nr); printf("}")); - static const uint32_t flags = - NDIAG_FLAG_CB_RUNNING | NDIAG_FLAG_PKTINFO; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_netlink_diag_msg, print_netlink_diag_msg, NETLINK_DIAG_FLAGS, pattern, flags, diff --git a/tests-mx32/nlattr_nlmsgerr.c b/tests-mx32/nlattr_nlmsgerr.c index 837283c0..073fde28 100644 --- a/tests-mx32/nlattr_nlmsgerr.c +++ b/tests-mx32/nlattr_nlmsgerr.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -69,11 +69,13 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + static const uint8_t cookie[] = { 0xab, 0xfe }; + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); const unsigned int hdrlen = sizeof(struct nlmsgerr); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(cookie)); - static const uint8_t cookie[] = { 0xab, 0xfe }; TEST_NLATTR(fd, nlh0, hdrlen, init_nlmsgerr, print_nlmsgerr, NLMSGERR_ATTR_COOKIE, diff --git a/tests-mx32/nlattr_packet_diag_msg.c b/tests-mx32/nlattr_packet_diag_msg.c index 4211e201..016d052c 100644 --- a/tests-mx32/nlattr_packet_diag_msg.c +++ b/tests-mx32/nlattr_packet_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -67,7 +67,7 @@ print_packet_diag_msg(const unsigned int msg_len) } static void -print_packet_diag_mclist(const struct packet_diag_mclist *const dml) +print_packet_diag_mclist(const struct packet_diag_mclist *const dml, size_t i) { printf("{pdmc_index=" IFINDEX_LO_STR); PRINT_FIELD_U(", ", *dml, pdmc_count); @@ -84,7 +84,7 @@ static const struct sock_filter filter[] = { }; static void -print_sock_filter(const struct sock_filter *const f) +print_sock_filter(const struct sock_filter *const f, size_t i) { if (f == filter) printf("BPF_STMT(BPF_LD|BPF_B|BPF_ABS" @@ -98,13 +98,6 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct packet_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct packet_diag_info pinfo = { .pdi_index = 0xabcddafa, .pdi_version = 0xbabcdafb, @@ -113,16 +106,6 @@ main(void) .pdi_tstamp = 0xeafbaadf, .pdi_flags = PDI_RUNNING }; - TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, - init_packet_diag_msg, print_packet_diag_msg, - PACKET_DIAG_INFO, pattern, pinfo, - PRINT_FIELD_U("{", pinfo, pdi_index); - PRINT_FIELD_U(", ", pinfo, pdi_version); - PRINT_FIELD_U(", ", pinfo, pdi_reserve); - PRINT_FIELD_U(", ", pinfo, pdi_copy_thresh); - PRINT_FIELD_U(", ", pinfo, pdi_tstamp); - printf(", pdi_flags=PDI_RUNNING}")); - const struct packet_diag_mclist dml[] = { { .pdmc_index = ifindex_lo(), @@ -139,11 +122,6 @@ main(void) .pdmc_addr = "5678" } }; - TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, - init_packet_diag_msg, print_packet_diag_msg, - PACKET_DIAG_MCLIST, pattern, dml, - print_packet_diag_mclist); - static const struct packet_diag_ring pdr = { .pdr_block_size = 0xabcdafed, .pdr_block_nr = 0xbcadefae, @@ -153,6 +131,30 @@ main(void) .pdr_sizeof_priv = 0xfeadeacd, .pdr_features = 0xadebadea }; + + int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct packet_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(dml)); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_packet_diag_msg, print_packet_diag_msg, + PACKET_DIAG_INFO, pattern, pinfo, + PRINT_FIELD_U("{", pinfo, pdi_index); + PRINT_FIELD_U(", ", pinfo, pdi_version); + PRINT_FIELD_U(", ", pinfo, pdi_reserve); + PRINT_FIELD_U(", ", pinfo, pdi_copy_thresh); + PRINT_FIELD_U(", ", pinfo, pdi_tstamp); + printf(", pdi_flags=PDI_RUNNING}")); + + TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, + init_packet_diag_msg, print_packet_diag_msg, + PACKET_DIAG_MCLIST, pattern, dml, + print_packet_diag_mclist); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_packet_diag_msg, print_packet_diag_msg, PACKET_DIAG_RX_RING, pattern, pdr, diff --git a/tests-mx32/nlattr_rtgenmsg.c b/tests-mx32/nlattr_rtgenmsg.c index ceb061df..bac21ef7 100644 --- a/tests-mx32/nlattr_rtgenmsg.c +++ b/tests-mx32/nlattr_rtgenmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -66,13 +66,14 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct rtgenmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; + char nla_type_str[256]; + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(nla_type_str)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; - char nla_type_str[256]; sprintf(nla_type_str, "%#x /* NETNSA_??? */", nla_type); TEST_NLATTR_(fd, nlh0, hdrlen, init_rtgenmsg, print_rtgenmsg, diff --git a/tests-mx32/nlattr_rtmsg.c b/tests-mx32/nlattr_rtmsg.c index 5f29f0c0..db02929d 100644 --- a/tests-mx32/nlattr_rtmsg.c +++ b/tests-mx32/nlattr_rtmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -81,13 +81,14 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct rtmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; + char nla_type_str[256]; + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(nla_type_str)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; - char nla_type_str[256]; sprintf(nla_type_str, "%#x /* RTA_??? */", nla_type); TEST_NLATTR_(fd, nlh0, hdrlen, init_rtmsg, print_rtmsg, diff --git a/tests-mx32/nlattr_smc_diag_msg.c b/tests-mx32/nlattr_smc_diag_msg.c index a06ad624..2e65ebd8 100644 --- a/tests-mx32/nlattr_smc_diag_msg.c +++ b/tests-mx32/nlattr_smc_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -97,13 +97,6 @@ int main(void) { skip_if_unavailable("/proc/self/fd/"); - int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct smc_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct smc_diag_conninfo cinfo = { .token = 0xabcdefac, .sndbuf_size = 0xbcdaefad, @@ -149,6 +142,25 @@ int main(void) .count = 0xcdedbad7 } }; + static const struct smc_diag_lgrinfo linfo = { + .lnk[0] = { + .link_id = 0xaf, + .ibport = 0xfa, + .ibname = "123", + .gid = "456", + .peer_gid = "789" + }, + .role = SMC_CLNT + }; + + int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct smc_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + + MAX(sizeof(cinfo), sizeof(linfo))); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_smc_diag_msg, print_smc_diag_msg, @@ -170,16 +182,6 @@ int main(void) PRINT_FIELD_SMC_DIAG_CURSOR(", ", cinfo, tx_fin); printf("}")); - static const struct smc_diag_lgrinfo linfo = { - .lnk[0] = { - .link_id = 0xaf, - .ibport = 0xfa, - .ibname = "123", - .gid = "456", - .peer_gid = "789" - }, - .role = SMC_CLNT - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_smc_diag_msg, print_smc_diag_msg, SMC_DIAG_LGRINFO, pattern, linfo, diff --git a/tests-mx32/nlattr_tc_stats.c b/tests-mx32/nlattr_tc_stats.c index dd76cc7d..8003ed35 100644 --- a/tests-mx32/nlattr_tc_stats.c +++ b/tests-mx32/nlattr_tc_stats.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -77,7 +77,7 @@ main(void) skip_if_unavailable("/proc/self/fd/"); const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 8 * 5); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_tca_stab.c b/tests-mx32/nlattr_tca_stab.c index de6d3569..9889050a 100644 --- a/tests-mx32/nlattr_tca_stab.c +++ b/tests-mx32/nlattr_tca_stab.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -36,8 +36,8 @@ #ifndef TCA_STAB # define TCA_STAB 8 #endif -#ifndef TCA_STAB_DATA -# define TCA_STAB_DATA 2 +#if !HAVE_DECL_TCA_STAB_DATA +enum { TCA_STAB_DATA = 2 }; #endif const unsigned int hdrlen = sizeof(struct tcmsg); @@ -76,7 +76,7 @@ print_tcmsg(const unsigned int msg_len) } static void -print_uint16(const uint16_t *p) +print_uint16(const uint16_t *p, size_t idx) { printf("%u", *p); } @@ -87,7 +87,11 @@ main(void) skip_if_unavailable("/proc/self/fd/"); const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4 +#ifdef HAVE_STRUCT_TC_SIZESPEC + - 4 + sizeof(struct tc_sizespec) +#endif + ); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_tcamsg.c b/tests-mx32/nlattr_tcamsg.c index 7f611532..43715d20 100644 --- a/tests-mx32/nlattr_tcamsg.c +++ b/tests-mx32/nlattr_tcamsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -62,7 +62,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct tcamsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_tcmsg.c b/tests-mx32/nlattr_tcmsg.c index 32ce4790..da88a457 100644 --- a/tests-mx32/nlattr_tcmsg.c +++ b/tests-mx32/nlattr_tcmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -68,7 +68,8 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct tcmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(struct tc_stats)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests-mx32/nlattr_unix_diag_msg.c b/tests-mx32/nlattr_unix_diag_msg.c index 22954042..180b8cd6 100644 --- a/tests-mx32/nlattr_unix_diag_msg.c +++ b/tests-mx32/nlattr_unix_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -65,7 +65,7 @@ print_unix_diag_msg(const unsigned int msg_len) } static void -print_uint(const unsigned int *p) +print_uint(const unsigned int *p, size_t i) { printf("%u", *p); } @@ -75,17 +75,24 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + static const struct unix_diag_vfs uv = { + .udiag_vfs_dev = 0xabcddafa, + .udiag_vfs_ino = 0xbafabcda + }; + static const struct unix_diag_rqlen rql = { + .udiag_rqueue = 0xfabdcdad, + .udiag_wqueue = 0xbacdadcf + }; + static const uint32_t inode[] = { 0xadbcadbc, 0xfabdcdac }; + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); const unsigned int hdrlen = sizeof(struct unix_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(inode)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct unix_diag_vfs uv = { - .udiag_vfs_dev = 0xabcddafa, - .udiag_vfs_ino = 0xbafabcda - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_unix_diag_msg, print_unix_diag_msg, UNIX_DIAG_VFS, pattern, uv, @@ -95,10 +102,6 @@ main(void) PRINT_FIELD_U(", ", uv, udiag_vfs_ino); printf("}")); - static const struct unix_diag_rqlen rql = { - .udiag_rqueue = 0xfabdcdad, - .udiag_wqueue = 0xbacdadcf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_unix_diag_msg, print_unix_diag_msg, UNIX_DIAG_RQLEN, pattern, rql, @@ -106,7 +109,6 @@ main(void) PRINT_FIELD_U(", ", rql, udiag_wqueue); printf("}")); - static const uint32_t inode[] = { 0xadbcadbc, 0xfabdcdac }; TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, init_unix_diag_msg, print_unix_diag_msg, UNIX_DIAG_ICONS, pattern, inode, print_uint); diff --git a/tests-mx32/nsyscalls.c b/tests-mx32/nsyscalls.c index 9f748673..681fb315 100644 --- a/tests-mx32/nsyscalls.c +++ b/tests-mx32/nsyscalls.c @@ -86,14 +86,14 @@ test_syscall(const unsigned long nr) a[0], a[1], a[2], a[3], a[4], a[5], rc); #else printf("syscall_%#lx(%#llx, %#llx, %#llx, %#llx, %#llx, %#llx)" - " = %ld (errno %d)\n", nr | SYSCALL_BIT, + " = %ld ENOSYS (%m)\n", nr | SYSCALL_BIT, (unsigned long long) a[0], (unsigned long long) a[1], (unsigned long long) a[2], (unsigned long long) a[3], (unsigned long long) a[4], (unsigned long long) a[5], - rc, errno); + rc); #endif } diff --git a/tests-mx32/old_mmap-Xabbrev.c b/tests-mx32/old_mmap-Xabbrev.c new file mode 100644 index 00000000..033503cc --- /dev/null +++ b/tests-mx32/old_mmap-Xabbrev.c @@ -0,0 +1 @@ +#include "old_mmap.c" diff --git a/tests-mx32/old_mmap-Xabbrev.gen.test b/tests-mx32/old_mmap-Xabbrev.gen.test new file mode 100755 index 00000000..0ee5608e --- /dev/null +++ b/tests-mx32/old_mmap-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap-Xabbrev -a11 -e trace=mmap -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a11 -e trace=mmap -Xabbrev diff --git a/tests-mx32/old_mmap-Xraw.c b/tests-mx32/old_mmap-Xraw.c new file mode 100644 index 00000000..06de40b4 --- /dev/null +++ b/tests-mx32/old_mmap-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "old_mmap.c" diff --git a/tests-mx32/old_mmap-Xraw.gen.test b/tests-mx32/old_mmap-Xraw.gen.test new file mode 100755 index 00000000..6d7d3cf4 --- /dev/null +++ b/tests-mx32/old_mmap-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap-Xraw -a11 -e trace=mmap -Xraw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a11 -e trace=mmap -Xraw diff --git a/tests-mx32/old_mmap-Xverbose.c b/tests-mx32/old_mmap-Xverbose.c new file mode 100644 index 00000000..b141fec9 --- /dev/null +++ b/tests-mx32/old_mmap-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "old_mmap.c" diff --git a/tests-mx32/old_mmap-Xverbose.gen.test b/tests-mx32/old_mmap-Xverbose.gen.test new file mode 100755 index 00000000..6534a931 --- /dev/null +++ b/tests-mx32/old_mmap-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap-Xverbose -a11 -e trace=mmap -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a11 -e trace=mmap -Xverbose diff --git a/tests-mx32/old_mmap.c b/tests-mx32/old_mmap.c index 35ec4288..07d572cf 100644 --- a/tests-mx32/old_mmap.c +++ b/tests-mx32/old_mmap.c @@ -79,17 +79,41 @@ main(void) void *args = tail_memdup(args1_c, sizeof(args1_c)); rc = syscall(__NR_mmap, args); +# if XLAT_RAW + printf("mmap(%#lx, %lu, %#x, %#x|%#x, %d, %#lx) = %ld %s (%m)\n", + args1_c[0], args1_c[1], PROT_READ|PROT_EXEC, MAP_FILE, MAP_FIXED, + (int) args1_c[4], args1_c[5], rc, errno2name()); +# elif XLAT_VERBOSE + printf("mmap(%#lx, %lu, %#x /* PROT_READ|PROT_EXEC */" + ", %#x /* MAP_FILE */|%#x /* MAP_FIXED */" + ", %d, %#lx) = %ld %s (%m)\n", + args1_c[0], args1_c[1], PROT_READ|PROT_EXEC, MAP_FILE, MAP_FIXED, + (int) args1_c[4], args1_c[5], rc, errno2name()); +# else printf("mmap(%#lx, %lu, PROT_READ|PROT_EXEC, MAP_FILE|MAP_FIXED" ", %d, %#lx) = %ld %s (%m)\n", args1_c[0], args1_c[1], (int) args1_c[4], args1_c[5], rc, errno2name()); +# endif memcpy(args, args2_c, sizeof(args2_c)); rc = syscall(__NR_mmap, args); # ifndef PATH_TRACING +# if XLAT_RAW + printf("mmap(NULL, %lu, %#x, %#x|%#x, %d, %#lx) = %#lx\n", + args2_c[1], PROT_READ|PROT_WRITE, MAP_PRIVATE, MAP_ANONYMOUS, + (int) args2_c[4], args2_c[5], rc); +# elif XLAT_VERBOSE + printf("mmap(NULL, %lu, %#x /* PROT_READ|PROT_WRITE */" + ", %#x /* MAP_PRIVATE */|%#x /* MAP_ANONYMOUS */" + ", %d, %#lx) = %#lx\n", + args2_c[1], PROT_READ|PROT_WRITE, MAP_PRIVATE, MAP_ANONYMOUS, + (int) args2_c[4], args2_c[5], rc); +# else printf("mmap(NULL, %lu, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS" ", %d, %#lx) = %#lx\n", args2_c[1], (int) args2_c[4], args2_c[5], rc); +# endif # endif void *addr = (void *) rc; diff --git a/tests-mx32/opipe.test b/tests-mx32/opipe.test index f622045b..db449bb7 100755 --- a/tests-mx32/opipe.test +++ b/tests-mx32/opipe.test @@ -5,7 +5,7 @@ . "${srcdir=.}/init.sh" check_prog grep -run_prog grep chdir $srcdir/umovestr.expected > "$EXP" +grep chdir $srcdir/umovestr.expected > "$EXP" run_prog ../umovestr $STRACE -o "|cat > $LOG && $SLEEP_A_BIT && grep chdir < $LOG > $OUT" -e chdir $args || diff --git a/tests-mx32/options-syntax.test b/tests-mx32/options-syntax.test index af7002b2..1a290d01 100755 --- a/tests-mx32/options-syntax.test +++ b/tests-mx32/options-syntax.test @@ -56,6 +56,40 @@ check_h "invalid -O argument: '-42'" -O -42 check_h "invalid -s argument: '-42'" -s -42 check_h "invalid -s argument: '1073741824'" -s 1073741824 check_h "invalid -I argument: '5'" -I 5 +check_h "invalid -X argument: 'test'" -Xtest +check_h "invalid -X argument: 'a'" -Xa +check_h "invalid -X argument: 'abbreviated'" -X abbreviated + +check_h "incorrect personality designator '' in qualification 'getcwd@'" -e trace=getcwd@ +check_h "incorrect personality designator '42' in qualification 'getcwd@42'" -e trace=getcwd@42 +check_h "incorrect personality designator '42' in qualification 'getcwd@42'" -e trace=gettid,getcwd@42 +check_h "incorrect personality designator '42' in qualification '23@42'" -e trace=23@42,123 + +check_e "invalid system call '/getcwd@ohmy'" -e trace=/getcwd@ohmy + +case "$STRACE_NATIVE_ARCH" in +x86_64) + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@64 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@32 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@x32 + ;; +x32) + check_h "incorrect personality designator '64' in qualification 'getcwd@64'" -e trace=getcwd@64 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@32 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@x32 + ;; +aarch64|powerpc64|riscv|s390x|sparc64|tile) + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@64 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@32 + check_h "incorrect personality designator 'x32' in qualification 'getcwd@x32'" -e trace=getcwd@x32 + ;; +*) + pers="$((SIZEOF_LONG * 8))" + inv_pers="$((96 - pers))" + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@"$pers" + check_h "incorrect personality designator '$inv_pers' in qualification 'getcwd@$inv_pers'" -e trace=getcwd@"$inv_pers" + check_h "incorrect personality designator 'x32' in qualification 'getcwd@x32'" -e trace=getcwd@x32 +esac ../zeroargc "$STRACE_EXE" /bin/true 2> "$LOG" && dump_log_and_fail_with \ diff --git a/tests-mx32/personality-Xabbrev.c b/tests-mx32/personality-Xabbrev.c new file mode 100644 index 00000000..2e993dc1 --- /dev/null +++ b/tests-mx32/personality-Xabbrev.c @@ -0,0 +1 @@ +#include "personality.c" diff --git a/tests-mx32/personality-Xabbrev.gen.test b/tests-mx32/personality-Xabbrev.gen.test new file mode 100755 index 00000000..df93e6cb --- /dev/null +++ b/tests-mx32/personality-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (personality-Xabbrev +personality.test -Xabbrev); do not edit. +set -- -Xabbrev +. "${srcdir=.}/personality.test" diff --git a/tests-mx32/personality-Xraw.c b/tests-mx32/personality-Xraw.c new file mode 100644 index 00000000..59702f8b --- /dev/null +++ b/tests-mx32/personality-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "personality.c" diff --git a/tests-mx32/personality-Xraw.gen.test b/tests-mx32/personality-Xraw.gen.test new file mode 100755 index 00000000..559f0f3a --- /dev/null +++ b/tests-mx32/personality-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (personality-Xraw +personality.test -a15 -Xraw); do not edit. +set -- -a15 -Xraw +. "${srcdir=.}/personality.test" diff --git a/tests-mx32/personality-Xverbose.c b/tests-mx32/personality-Xverbose.c new file mode 100644 index 00000000..545ebe71 --- /dev/null +++ b/tests-mx32/personality-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "personality.c" diff --git a/tests-mx32/personality-Xverbose.gen.test b/tests-mx32/personality-Xverbose.gen.test new file mode 100755 index 00000000..b6ce2094 --- /dev/null +++ b/tests-mx32/personality-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (personality-Xverbose +personality.test -Xverbose); do not edit. +set -- -Xverbose +. "${srcdir=.}/personality.test" diff --git a/tests-mx32/personality.c b/tests-mx32/personality.c index 7a279a14..5d848078 100644 --- a/tests-mx32/personality.c +++ b/tests-mx32/personality.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2015 Dmitry V. Levin + * Copyright (c) 2015-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,51 +29,76 @@ #include #include +#if XLAT_RAW +# define linux_type_str "0" +# define good_type_str "0x6" +# define bad_type_str "0x1f" +# define good_flags_str "0x7000000" +# define bad_flags_str "0x10000" +# define good_bad_flags_str "0x7010000" +#elif XLAT_VERBOSE +# define linux_type_str "0 /\\* PER_LINUX \\*/" +# define good_type_str "0x6 /\\* PER_BSD \\*/" +# define bad_type_str "0x1f /\\* PER_\\?\\?\\? \\*/" +# define good_flags_str \ + "0x7000000 /\\* SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS \\*/" +# define bad_flags_str "0x10000" +# define good_bad_flags_str \ + "0x7010000 /\\* SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS" \ + "\\|0x10000 \\*/" +#else +# define linux_type_str "PER_LINUX" +# define good_type_str "PER_BSD" +# define bad_type_str "0x1f /\\* PER_\\?\\?\\? \\*/" +# define good_flags_str "SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS" +# define bad_flags_str "0x10000" +# define good_bad_flags_str \ + "SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS\\|0x10000" +#endif + int main(void) { const unsigned int good_type = PER_BSD; - const char *good_type_str = "PER_BSD"; const unsigned int bad_type = 0x1f; - const char *bad_type_str = "0x1f /\\* PER_\\?\\?\\? \\*/"; const unsigned int good_flags = SHORT_INODE | WHOLE_SECONDS | STICKY_TIMEOUTS; - const char *good_flags_str = - "SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS"; const unsigned int bad_flags = 0x10000; - const char *bad_flags_str = "0x10000"; const unsigned int saved_pers = personality(0xffffffff); printf("personality\\(0xffffffff\\) = %#x \\([^)]*\\)\n", saved_pers); /* PER_LINUX */ personality(PER_LINUX); - printf("personality\\(PER_LINUX\\) = %#x \\([^)]*\\)\n", saved_pers); + printf("personality\\(%s\\) = %#x \\([^)]*\\)\n", + linux_type_str, saved_pers); personality(0xffffffff); - puts("personality\\(0xffffffff\\) = 0 \\(PER_LINUX\\)"); + printf("personality\\(0xffffffff\\) = 0 \\(%s\\)\n", linux_type_str); personality(good_flags); - printf("personality\\(PER_LINUX\\|%s\\) = 0 \\(PER_LINUX\\)\n", - good_flags_str); + printf("personality\\(%s\\|%s\\) = 0 \\(%s\\)\n", + linux_type_str, good_flags_str, linux_type_str); personality(bad_flags); - printf("personality\\(PER_LINUX\\|%s\\)" - " = %#x \\(PER_LINUX\\|%s\\)\n", - bad_flags_str, good_flags, good_flags_str); + printf("personality\\(%s\\|%s\\)" + " = %#x \\(%s\\|%s\\)\n", + linux_type_str, bad_flags_str, + good_flags, linux_type_str, good_flags_str); personality(good_flags | bad_flags); - printf("personality\\(PER_LINUX\\|%s\\|%s\\)" - " = %#x \\(PER_LINUX\\|%s\\)\n", - good_flags_str, bad_flags_str, bad_flags, bad_flags_str); + printf("personality\\(%s\\|%s\\)" + " = %#x \\(%s\\|%s\\)\n", + linux_type_str, good_bad_flags_str, + bad_flags, linux_type_str, bad_flags_str); /* another valid type */ personality(good_type); - printf("personality\\(%s\\) = %#x \\(PER_LINUX\\|%s\\|%s\\)\n", + printf("personality\\(%s\\) = %#x \\(%s\\|%s\\)\n", good_type_str, good_flags | bad_flags, - good_flags_str, bad_flags_str); + linux_type_str, good_bad_flags_str); personality(good_type | good_flags); printf("personality\\(%s\\|%s\\) = %#x \\(%s\\)\n", @@ -84,16 +110,16 @@ int main(void) good_type_str, good_flags_str); personality(good_type | good_flags | bad_flags); - printf("personality\\(%s\\|%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", - good_type_str, good_flags_str, bad_flags_str, + printf("personality\\(%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", + good_type_str, good_bad_flags_str, good_type | bad_flags, good_type_str, bad_flags_str); /* invalid type */ personality(bad_type); - printf("personality\\(%s\\) = %#x \\(%s\\|%s\\|%s\\)\n", + printf("personality\\(%s\\) = %#x \\(%s\\|%s\\)\n", bad_type_str, good_type | good_flags | bad_flags, - good_type_str, good_flags_str, bad_flags_str); + good_type_str, good_bad_flags_str); personality(bad_type | good_flags); printf("personality\\(%s\\|%s\\) = %#x \\(%s\\)\n", @@ -105,14 +131,14 @@ int main(void) bad_type_str, good_flags_str); personality(bad_type | good_flags | bad_flags); - printf("personality\\(%s\\|%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", - bad_type_str, good_flags_str, bad_flags_str, + printf("personality\\(%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", + bad_type_str, good_bad_flags_str, bad_type | bad_flags, bad_type_str, bad_flags_str); personality(saved_pers); - printf("personality\\([^)]*\\) = %#x \\(%s\\|%s\\|%s\\)\n", + printf("personality\\([^)]*\\) = %#x \\(%s\\|%s\\)\n", bad_type | good_flags | bad_flags, - bad_type_str, good_flags_str, bad_flags_str); + bad_type_str, good_bad_flags_str); return 0; } diff --git a/tests-mx32/personality.test b/tests-mx32/personality.test index ab2faf48..d279bd11 100755 --- a/tests-mx32/personality.test +++ b/tests-mx32/personality.test @@ -5,5 +5,5 @@ . "${srcdir=.}/init.sh" run_prog > /dev/null -run_strace -a20 -epersonality $args > "$EXP" +run_strace -a20 -epersonality "$@" $args > "$EXP" match_grep "$LOG" "$EXP" diff --git a/tests-mx32/poll.c b/tests-mx32/poll.c index c5930a3e..9624bd3c 100644 --- a/tests-mx32/poll.c +++ b/tests-mx32/poll.c @@ -95,7 +95,7 @@ print_pollfd_array_entering(const struct pollfd *const pfd, if (i) tprintf(", "); if (i >= valid) { - tprintf("%p", &pfd[i]); + tprintf("... /* %p */", &pfd[i]); break; } if (i >= abbrev) { diff --git a/tests-mx32/prctl-spec-inject.c b/tests-mx32/prctl-spec-inject.c new file mode 100644 index 00000000..593c3a60 --- /dev/null +++ b/tests-mx32/prctl-spec-inject.c @@ -0,0 +1,153 @@ +/* + * Check decoding of PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL + * prctl operations. + * + * 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 + +#ifdef __NR_prctl + +# include +# include +# include +# include + +static long injected_val; + +long +do_prctl(kernel_ulong_t cmd, kernel_ulong_t arg2, kernel_ulong_t arg3) +{ + long rc = syscall(__NR_prctl, cmd, arg2, arg3); + + if (rc != injected_val) + error_msg_and_fail("Return value (%ld) differs from expected " + "injected value (%ld)", + rc, injected_val); + + return rc; +} + +int +main(int argc, char **argv) +{ + static const kernel_ulong_t bogus_arg2 = + (kernel_ulong_t) 0xdeadfacebadc0dedULL; + static const kernel_ulong_t bogus_arg3 = + (kernel_ulong_t) 0xdecafeedbeefda7eULL; + static const struct { + long arg; + const char *str; + } get_strs[] = { + { -1, "" }, + { 0, " (PR_SPEC_NOT_AFFECTED)" }, + { 1, " (PR_SPEC_PRCTL)" }, + { 3, " (PR_SPEC_PRCTL|PR_SPEC_ENABLE)" }, + { 8, " (PR_SPEC_FORCE_DISABLE)" }, + { 16, " (0x10)" }, + { 42, " (PR_SPEC_ENABLE|PR_SPEC_FORCE_DISABLE|0x20)" }, + }; + static const struct { + kernel_ulong_t arg; + const char *str; + } set_strs[] = { + { 0, "0 /* PR_SPEC_??? */" }, + { 1, "0x1 /* PR_SPEC_??? */" }, + { 2, "PR_SPEC_ENABLE" }, + { 3, "0x3 /* PR_SPEC_??? */" }, + { 8, "PR_SPEC_FORCE_DISABLE" }, + { 16, "0x10 /* PR_SPEC_??? */" }, + { (kernel_ulong_t) 0xdecafeedbeefda7eULL, "0x" +# if SIZEOF_KERNEL_LONG_T == 8 + "decafeed" +# endif + "beefda7e /* PR_SPEC_??? */" }, + }; + + long rc; + const char *str = NULL; + + if (argc < 2) + error_msg_and_fail("Usage: %s INJECTED_VAL", argv[0]); + + injected_val = strtol(argv[1], NULL, 0); + + /* PR_GET_SPECULATION_CTRL */ + rc = do_prctl(52, 1, bogus_arg3); + printf("prctl(PR_GET_SPECULATION_CTRL, 0x1 /* PR_SPEC_??? */) " + "= %s (INJECTED)\n", sprintrc(rc)); + + rc = do_prctl(52, bogus_arg2, bogus_arg3); + printf("prctl(PR_GET_SPECULATION_CTRL, %#llx /* PR_SPEC_??? */) " + "= %s (INJECTED)\n", + (unsigned long long) bogus_arg2, sprintrc(rc)); + + rc = do_prctl(52, 0, bogus_arg3); + + for (unsigned i = 0; i < ARRAY_SIZE(get_strs); i++) { + if (get_strs[i].arg == rc) { + str = get_strs[i].str; + break; + } + } + if (!str) + error_msg_and_fail("Unknown return value: %ld", rc); + + printf("prctl(PR_GET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS) " + "= %s%s (INJECTED)\n", sprintrc(rc), str); + + + /* PR_SET_SPECULATION_CTRL*/ + rc = do_prctl(53, 1, bogus_arg3); + printf("prctl(PR_SET_SPECULATION_CTRL, 0x1 /* PR_SPEC_??? */, %#llx) " + "= %s (INJECTED)\n", + (unsigned long long) bogus_arg3, sprintrc(rc)); + + rc = do_prctl(53, bogus_arg2, bogus_arg3); + printf("prctl(PR_SET_SPECULATION_CTRL, %#llx /* PR_SPEC_??? */, %#llx) " + "= %s (INJECTED)\n", + (unsigned long long) bogus_arg2, + (unsigned long long) bogus_arg3, + sprintrc(rc)); + + for (unsigned i = 0; i < ARRAY_SIZE(set_strs); i++) { + rc = do_prctl(53, 0, set_strs[i].arg); + printf("prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS" + ", %s) = %s (INJECTED)\n", + set_strs[i].str, sprintrc(rc)); + } + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("__NR_prctl") + +#endif diff --git a/tests-mx32/prctl-spec-inject.test b/tests-mx32/prctl-spec-inject.test new file mode 100755 index 00000000..c8fbe97f --- /dev/null +++ b/tests-mx32/prctl-spec-inject.test @@ -0,0 +1,55 @@ +#!/bin/sh -efu +# +# Check decoding of PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL +# prctl operations. +# +# 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=.}/scno_tampering.sh" + +fault_args='-a53 -e trace=prctl -e inject=prctl:' +prog="../$NAME" + +test_run_rval() +{ + local run rval injexpr + run="$1"; shift + rval="$1"; shift + injexpr="$1"; shift + + run_strace $fault_args$injexpr $prog $rval > "$EXP" + LC_ALL=C grep -Ev '^prctl\(PR_[GS]ET_([^S][^P][^E][^C]])' \ + < "$LOG" > "$OUT" + match_diff "$OUT" "$EXP" +} + +test_run_rval 0 -1 "error=ENOTTY" +test_run_rval 1 0 "retval=0" +test_run_rval 2 1 "retval=1" +test_run_rval 3 3 "retval=3" +test_run_rval 4 8 "retval=8" +test_run_rval 5 16 "retval=16" +test_run_rval 6 42 "retval=42" diff --git a/tests-mx32/preadv-pwritev.c b/tests-mx32/preadv-pwritev.c index 44ed23a4..57a08ad1 100644 --- a/tests-mx32/preadv-pwritev.c +++ b/tests-mx32/preadv-pwritev.c @@ -2,7 +2,7 @@ * Check decoding of preadv and pwritev syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -99,7 +99,7 @@ main(void) tprintf("pwritev(1, [], 0, 0) = 0\n"); rc = pwritev(1, w_iov + ARRAY_SIZE(w_iov_) - 1, 2, 0); - tprintf("pwritev(1, [{iov_base=\"%s\", iov_len=%u}, %p], 2, 0)" + tprintf("pwritev(1, [{iov_base=\"%s\", iov_len=%u}, ... /* %p */], 2, 0)" " = %ld %s (%m)\n", w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_), rc, errno2name()); diff --git a/tests-mx32/preadv2-pwritev2.c b/tests-mx32/preadv2-pwritev2.c index 89f37dd6..7874b7a0 100644 --- a/tests-mx32/preadv2-pwritev2.c +++ b/tests-mx32/preadv2-pwritev2.c @@ -2,7 +2,7 @@ * Check decoding of preadv2 and pwritev2 syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -104,7 +104,7 @@ dumpio(void) tprintf("pwritev2(1, [], 0, 0, 0) = 0\n"); rc = pw(1, w_iov + ARRAY_SIZE(w_iov_) - 1, 2, 0); - tprintf("pwritev2(1, [{iov_base=\"%s\", iov_len=%u}, %p], 2, 0, 0)" + tprintf("pwritev2(1, [{iov_base=\"%s\", iov_len=%u}, ... /* %p */], 2, 0, 0)" " = %ld %s (%m)\n", w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_), rc, errno2name()); diff --git a/tests-mx32/print_quoted_string.c b/tests-mx32/print_quoted_string.c index 3ca56318..a58b69ac 100644 --- a/tests-mx32/print_quoted_string.c +++ b/tests-mx32/print_quoted_string.c @@ -33,6 +33,18 @@ print_quoted_cstring(const char *instr, const size_t size) } } +void +print_quoted_stringn(const char *instr, const size_t size) +{ + const size_t len = strnlen(instr, size); + if (len < size) { + print_quoted_memory(instr, len); + } else { + print_quoted_memory(instr, size); + printf("..."); + } +} + static void print_octal(unsigned char c, char next) { diff --git a/tests-mx32/process_vm_readv_writev.c b/tests-mx32/process_vm_readv_writev.c index 5ee801b0..328dc9f4 100644 --- a/tests-mx32/process_vm_readv_writev.c +++ b/tests-mx32/process_vm_readv_writev.c @@ -2,7 +2,7 @@ * Check decoding of process_vm_readv/process_vm_writev syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -135,7 +135,7 @@ print_iov(const struct iovec *iov, const void *arg_ptr, long rc) } if (arg->addr_term) - printf(", %p", iov + arg->count); + printf(", ... /* %p */", iov + arg->count); printf("]"); } diff --git a/tests-mx32/ptrace.c b/tests-mx32/ptrace.c index 5c09fa32..2ca9ceb3 100644 --- a/tests-mx32/ptrace.c +++ b/tests-mx32/ptrace.c @@ -60,10 +60,11 @@ test_peeksiginfo(unsigned long pid, const unsigned long bad_request) printf("ptrace(PTRACE_PEEKSIGINFO, %u, NULL, %#lx) = %s\n", (unsigned) pid, bad_request, errstr); - struct { + struct psi { unsigned long long off; unsigned int flags, nr; - } *const psi = tail_alloc(sizeof(*psi)); + }; + TAIL_ALLOC_OBJECT_CONST_PTR(struct psi, psi); psi->off = 0xdeadbeeffacefeedULL; psi->flags = 1; @@ -179,7 +180,7 @@ main(void) const unsigned long pid = (unsigned long) 0xdefaced00000000ULL | (unsigned) getpid(); - uint64_t *filter_off = tail_alloc(sizeof(*filter_off)); + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, filter_off); const unsigned int sigset_size = get_sigset_size(); diff --git a/tests-mx32/pure_executables.am b/tests-mx32/pure_executables.am index bbb3ad9f..c65f4cad 100644 --- a/tests-mx32/pure_executables.am +++ b/tests-mx32/pure_executables.am @@ -8,9 +8,14 @@ PURE_EXECUTABLES = \ add_key \ adjtimex \ aio \ + aio_pgetevents \ alarm \ bpf \ bpf-v \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ brk \ btrfs \ caps \ @@ -43,6 +48,9 @@ PURE_EXECUTABLES = \ fallocate \ fanotify_init \ fanotify_mark \ + fanotify_mark-Xabbrev \ + fanotify_mark-Xraw \ + fanotify_mark-Xverbose \ fchdir \ fchmod \ fchmodat \ @@ -105,10 +113,13 @@ PURE_EXECUTABLES = \ ioctl_block \ ioctl_dm \ ioctl_evdev \ + ioctl_inotify \ ioctl_kvm_run \ ioctl_loop \ ioctl_mtd \ ioctl_rtc \ + ioctl_perf \ + ioctl_ptp \ ioctl_scsi \ ioctl_sg_io_v3 \ ioctl_sg_io_v4 \ @@ -121,15 +132,30 @@ PURE_EXECUTABLES = \ ip_mreq \ ipc \ ipc_msg \ + ipc_msg-Xabbrev \ + ipc_msg-Xraw \ + ipc_msg-Xverbose \ ipc_msgbuf \ + ipc_msgbuf-Xabbrev \ + ipc_msgbuf-Xraw \ + ipc_msgbuf-Xverbose \ ipc_sem \ + ipc_sem-Xabbrev \ + ipc_sem-Xraw \ + ipc_sem-Xverbose \ ipc_shm \ + ipc_shm-Xabbrev \ + ipc_shm-Xraw \ + ipc_shm-Xverbose \ kcmp \ kcmp-y \ kern_features \ kexec_file_load \ kexec_load \ keyctl \ + keyctl-Xabbrev \ + keyctl-Xraw \ + keyctl-Xverbose \ kill \ lchown \ lchown32 \ @@ -154,11 +180,20 @@ PURE_EXECUTABLES = \ mlock2 \ mlockall \ mmap \ + mmap-Xabbrev \ + mmap-Xraw \ + mmap-Xverbose \ mmap64 \ + mmap64-Xabbrev \ + mmap64-Xraw \ + mmap64-Xverbose \ mmsg \ mmsg_name \ modify_ldt \ mount \ + mount-Xabbrev \ + mount-Xraw \ + mount-Xverbose \ move_pages \ mq \ mq_sendrecv \ @@ -205,7 +240,9 @@ PURE_EXECUTABLES = \ nlattr_ifaddrlblmsg \ nlattr_ifaddrmsg \ nlattr_ifinfomsg \ + nlattr_ifla_af_spec \ nlattr_ifla_brport \ + nlattr_ifla_linkinfo \ nlattr_ifla_port \ nlattr_ifla_xdp \ nlattr_inet_diag_msg \ @@ -230,6 +267,9 @@ PURE_EXECUTABLES = \ old_mmap \ old_mmap-P \ old_mmap-v-none \ + old_mmap-Xabbrev \ + old_mmap-Xraw \ + old_mmap-Xverbose \ oldfstat \ oldlstat \ oldselect \ @@ -241,6 +281,9 @@ PURE_EXECUTABLES = \ pause \ perf_event_open \ personality \ + personality-Xabbrev \ + personality-Xraw \ + personality-Xverbose \ pipe \ pipe2 \ pkey_alloc \ @@ -357,7 +400,13 @@ PURE_EXECUTABLES = \ sigsuspend \ so_linger \ so_peercred \ + so_peercred-Xabbrev \ + so_peercred-Xraw \ + so_peercred-Xverbose \ sock_filter-v \ + sock_filter-v-Xabbrev \ + sock_filter-v-Xraw \ + sock_filter-v-Xverbose \ socketcall \ sockopt-sol_netlink \ splice \ diff --git a/tests-mx32/pure_executables.list b/tests-mx32/pure_executables.list index d78bd4d5..39565d0c 100755 --- a/tests-mx32/pure_executables.list +++ b/tests-mx32/pure_executables.list @@ -7,9 +7,14 @@ acct add_key adjtimex aio +aio_pgetevents alarm bpf bpf-v +bpf-obj_get_info_by_fd +bpf-obj_get_info_by_fd-v +bpf-obj_get_info_by_fd-prog +bpf-obj_get_info_by_fd-prog-v brk btrfs caps @@ -42,6 +47,9 @@ fadvise64_64 fallocate fanotify_init fanotify_mark +fanotify_mark-Xabbrev +fanotify_mark-Xraw +fanotify_mark-Xverbose fchdir fchmod fchmodat @@ -104,10 +112,13 @@ ioctl ioctl_block ioctl_dm ioctl_evdev +ioctl_inotify ioctl_kvm_run ioctl_loop ioctl_mtd ioctl_rtc +ioctl_perf +ioctl_ptp ioctl_scsi ioctl_sg_io_v3 ioctl_sg_io_v4 @@ -120,15 +131,30 @@ ioprio ip_mreq ipc ipc_msg +ipc_msg-Xabbrev +ipc_msg-Xraw +ipc_msg-Xverbose ipc_msgbuf +ipc_msgbuf-Xabbrev +ipc_msgbuf-Xraw +ipc_msgbuf-Xverbose ipc_sem +ipc_sem-Xabbrev +ipc_sem-Xraw +ipc_sem-Xverbose ipc_shm +ipc_shm-Xabbrev +ipc_shm-Xraw +ipc_shm-Xverbose kcmp kcmp-y kern_features kexec_file_load kexec_load keyctl +keyctl-Xabbrev +keyctl-Xraw +keyctl-Xverbose kill lchown lchown32 @@ -153,11 +179,20 @@ mlock mlock2 mlockall mmap +mmap-Xabbrev +mmap-Xraw +mmap-Xverbose mmap64 +mmap64-Xabbrev +mmap64-Xraw +mmap64-Xverbose mmsg mmsg_name modify_ldt mount +mount-Xabbrev +mount-Xraw +mount-Xverbose move_pages mq mq_sendrecv @@ -204,7 +239,9 @@ nlattr_fib_rule_hdr nlattr_ifaddrlblmsg nlattr_ifaddrmsg nlattr_ifinfomsg +nlattr_ifla_af_spec nlattr_ifla_brport +nlattr_ifla_linkinfo nlattr_ifla_port nlattr_ifla_xdp nlattr_inet_diag_msg @@ -229,6 +266,9 @@ nlattr_unix_diag_msg old_mmap old_mmap-P old_mmap-v-none +old_mmap-Xabbrev +old_mmap-Xraw +old_mmap-Xverbose oldfstat oldlstat oldselect @@ -240,6 +280,9 @@ osf_utimes pause perf_event_open personality +personality-Xabbrev +personality-Xraw +personality-Xverbose pipe pipe2 pkey_alloc @@ -356,7 +399,13 @@ sigreturn sigsuspend so_linger so_peercred +so_peercred-Xabbrev +so_peercred-Xraw +so_peercred-Xverbose sock_filter-v +sock_filter-v-Xabbrev +sock_filter-v-Xraw +sock_filter-v-Xverbose socketcall sockopt-sol_netlink splice diff --git a/tests-mx32/pwritev.c b/tests-mx32/pwritev.c index 58e5b41e..3c2bdb6f 100644 --- a/tests-mx32/pwritev.c +++ b/tests-mx32/pwritev.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2014-2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -65,7 +66,7 @@ print_iovec(const struct iovec *iov, unsigned int cnt, unsigned int size) if (i) fputs(", ", stdout); if (i == size) { - printf("%p", &iov[i]); + printf("... /* %p */", &iov[i]); break; } if (i == LIM) { diff --git a/tests-mx32/qual_fault-syntax.test b/tests-mx32/qual_fault-syntax.test index 43ade769..7f7a515c 100755 --- a/tests-mx32/qual_fault-syntax.test +++ b/tests-mx32/qual_fault-syntax.test @@ -86,6 +86,12 @@ for arg in chdir:42 \!chdir:42 \ chdir:retval=0 \ chdir:signal=1 \ chdir:error=1:error=2 \ + chdir:syscall=invalid \ + chdir:syscall=chdir \ + chdir:syscall=%file \ + chdir:syscall=-42 \ + chdir:syscall=42 \ + chdir:syscall=gettid:syscall=gettid \ ; do $STRACE -e fault="$arg" true 2> "$LOG" && fail_with "$arg" diff --git a/tests-mx32/qual_fault-syscall.test b/tests-mx32/qual_fault-syscall.test new file mode 100755 index 00000000..cae97f5e --- /dev/null +++ b/tests-mx32/qual_fault-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_fault +. "${srcdir=.}/qual_fault.test" diff --git a/tests-mx32/qual_fault.c b/tests-mx32/qual_fault.c index 670d9fe7..d5d78bcd 100644 --- a/tests-mx32/qual_fault.c +++ b/tests-mx32/qual_fault.c @@ -77,8 +77,9 @@ invoke(int fail) err, rc, errno); if (is_raw) - tprintf("writev(%#x, %p, 0x1) = -1 (errno %d)" - " (INJECTED)\n", got_fd, &io, err); + tprintf("writev(%#x, %p, 0x1)" + " = -1 %s (%m) (INJECTED)\n", + got_fd, &io, errstr); else tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)" " = -1 %s (%m) (INJECTED)\n", diff --git a/tests-mx32/qual_fault.test b/tests-mx32/qual_fault.test index 12b0a850..e166ffd0 100755 --- a/tests-mx32/qual_fault.test +++ b/tests-mx32/qual_fault.test @@ -1,9 +1,9 @@ -#!/bin/sh +#!/bin/sh -efu # # Check that fault injection works properly. # # Copyright (c) 2016 Dmitry V. Levin -# 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 @@ -37,6 +37,9 @@ N=100 +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + check_fault_injection() { local trace fault err first step procs extra @@ -79,7 +82,7 @@ check_fault_injection() outpid="$NAME.pid" run_strace -a11 -ff -e trace=$trace \ - "$@" -e fault=$fault$when$error $extra \ + "$@" -e fault=$fault$when$error$suffix $extra \ ../$NAME $raw "$err" "$first" "$step" $N \ "$procs" "$outexp" "$outgot" "$outout" "$outpid" @@ -87,8 +90,8 @@ check_fault_injection() do pid=$(cat "$outpid.$i") - match_diff "$outout.$i" "$LOG.$pid" - match_diff "$outexp.$i" "$outgot.$i" + match_diff "$LOG.$pid" "$outout.$i" + match_diff "$outgot.$i" "$outexp.$i" done } diff --git a/tests-mx32/qual_inject-error-signal-syscall.test b/tests-mx32/qual_inject-error-signal-syscall.test new file mode 100755 index 00000000..0adb35d7 --- /dev/null +++ b/tests-mx32/qual_inject-error-signal-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_inject-error-signal +. "${srcdir=.}/qual_inject-error-signal.test" diff --git a/tests-mx32/qual_inject-error-signal.test b/tests-mx32/qual_inject-error-signal.test index 1fe46126..93d8321d 100755 --- a/tests-mx32/qual_inject-error-signal.test +++ b/tests-mx32/qual_inject-error-signal.test @@ -3,6 +3,10 @@ # Check fault injection along with signal injection. . "${srcdir=.}/scno_tampering.sh" -run_strace -a12 -echdir,exit_group -einject=chdir:error=ENOENT:signal=USR1 \ +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + +run_strace -a12 -echdir,exit_group \ + -einject=chdir:error=ENOENT:signal=USR1"$suffix" \ "../$NAME" match_diff diff --git a/tests-mx32/qual_inject-retval-syscall.test b/tests-mx32/qual_inject-retval-syscall.test new file mode 100755 index 00000000..fca9354c --- /dev/null +++ b/tests-mx32/qual_inject-retval-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_inject-retval +. "${srcdir=.}/qual_inject-retval.test" diff --git a/tests-mx32/qual_inject-retval.test b/tests-mx32/qual_inject-retval.test index 5a4efd11..239ab0a4 100755 --- a/tests-mx32/qual_inject-retval.test +++ b/tests-mx32/qual_inject-retval.test @@ -4,6 +4,9 @@ . "${srcdir=.}/scno_tampering.sh" +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + check_injection() { local syscall rval @@ -11,7 +14,7 @@ check_injection() syscall=chdir rval="$1"; shift - run_strace -a12 -e$syscall -einject="$syscall:retval=$rval" "$@" \ + run_strace -a12 -e$syscall -einject="$syscall:retval=$rval$suffix" "$@" \ ../qual_inject-retval "$rval" > "$EXP" match_diff "$LOG" "$EXP" } diff --git a/tests-mx32/qual_inject-signal-syscall.test b/tests-mx32/qual_inject-signal-syscall.test new file mode 100755 index 00000000..42e9a268 --- /dev/null +++ b/tests-mx32/qual_inject-signal-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_inject-signal +. "${srcdir=.}/qual_inject-signal.test" diff --git a/tests-mx32/qual_inject-signal.test b/tests-mx32/qual_inject-signal.test index f17e5a01..7f75a8e7 100755 --- a/tests-mx32/qual_inject-signal.test +++ b/tests-mx32/qual_inject-signal.test @@ -3,6 +3,9 @@ # Check signal injection. . "${srcdir=.}/init.sh" -run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1 \ +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + +run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1"$suffix" \ ../$NAME match_diff diff --git a/tests-mx32/qual_inject-syntax.test b/tests-mx32/qual_inject-syntax.test index 20bc0c3b..a53b01c4 100755 --- a/tests-mx32/qual_inject-syntax.test +++ b/tests-mx32/qual_inject-syntax.test @@ -102,6 +102,12 @@ for arg in 42 chdir \ 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 \ + chdir:syscall=invalid \ + chdir:syscall=chdir \ + chdir:syscall=%file \ + chdir:syscall=-42 \ + chdir:syscall=42 \ + chdir:syscall=gettid:syscall=gettid \ ; do $STRACE -e inject="$arg" true 2> "$LOG" && fail_with "$arg" diff --git a/tests-mx32/qualify_personality.sh b/tests-mx32/qualify_personality.sh new file mode 100644 index 00000000..7b19a2e4 --- /dev/null +++ b/tests-mx32/qualify_personality.sh @@ -0,0 +1,94 @@ +#! /bin/sh -efu +# +# Common code for per-personality qualification tests +# +# 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" + +[ 2 -le "$#" ] || + fail_ 'No personality designation ("64", "32", "x32") specified' + +pers="$1" +shift +trace_expr="$1" +shift +skip="${1-}" + +case "$STRACE_NATIVE_ARCH" in +x86_64) + supported_pers='64 32 x32' + ;; +x32) + supported_pers='x32 32' + ;; +aarch64|powerpc64|riscv|s390x|sparc64|tile) + supported_pers='64 32' + ;; +*) + supported_pers="$(($SIZEOF_LONG * 8))" + ;; +esac + +# Detect current personality designation +if [ "x$STRACE_NATIVE_ARCH" = "x$STRACE_ARCH" ]; then + case "$STRACE_NATIVE_ARCH" in + x32) + cur_pers=x32 + ;; + *) + cur_pers="$(($SIZEOF_LONG * 8))" + ;; + esac +else + if [ "x$SIZEOF_KERNEL_LONG_T" = "x$SIZEOF_LONG" ]; then + [ 4 -eq "$SIZEOF_LONG" ] || + fail_ "sizeof(long) = $SIZEOF_LONG != 4" + cur_pers=32 + else + [ 8 -eq "$SIZEOF_KERNEL_LONG_T" ] || + fail_ "sizeof(kernel_long_t) = $SIZEOF_KERNEL_LONG_T != 8" + [ 4 -eq "$SIZEOF_LONG" ] || + fail_ "sizeof(long) = $SIZEOF_LONG != 4" + cur_pers=x32 + fi +fi + +pers_found=0 +set -- $supported_pers +for i; do + [ "x$pers" != "x$i" ] || pers_found=1 +done + +[ "$pers_found" = 1 ] || + skip_ "Personality '$pers' is not supported on architecture" \ + "'$STRACE_NATIVE_ARCH' (supported personalities: $supported_pers)" + +# If tested personality is not equivalent to current personality, reset $NAME, +# so "$NAME.in", which is used by test_trace_expr, points to an empty file. +[ "x$pers" = "x$cur_pers" ] || NAME=qualify_personality_empty + +test_trace_expr "$skip" -e trace="${trace_expr}@${pers}" diff --git a/tests-mx32/qualify_personality_empty.in b/tests-mx32/qualify_personality_empty.in new file mode 100644 index 00000000..e69de29b diff --git a/tests-mx32/readv.c b/tests-mx32/readv.c index 8430ca56..cae4e6bd 100644 --- a/tests-mx32/readv.c +++ b/tests-mx32/readv.c @@ -2,7 +2,7 @@ * Check decoding of readv and writev syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -89,7 +89,7 @@ main(void) fds[1], (long) writev(fds[1], w_iov, 0)); rc = writev(fds[1], w_iov + ARRAY_SIZE(w_iov_) - 1, 2); - tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%u}, %p], 2)" + tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%u}, ... /* %p */], 2)" " = %ld %s (%m)\n", fds[1], w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_), rc, errno2name()); diff --git a/tests-mx32/request_key.c b/tests-mx32/request_key.c index 866fe76e..ce9b7245 100644 --- a/tests-mx32/request_key.c +++ b/tests-mx32/request_key.c @@ -2,7 +2,7 @@ * Check decoding of request_key syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -101,7 +101,7 @@ main(void) { bogus_desc, NULL }, { ARG_STR("\25\26\27\30\31") }, { ARG_STR("desc") }, - { "overly long description", _STR("overly long ") "..." }, + { "overly long description", STRINGIFY("overly long ") "..." }, }; struct { @@ -113,7 +113,7 @@ main(void) { bogus_info, NULL }, { ARG_STR("\32\33\34\35\36") }, { ARG_STR("info") }, - { "overly long info", _STR("overly long ") "..." }, + { "overly long info", STRINGIFY("overly long ") "..." }, }; struct { diff --git a/tests-mx32/s390_guarded_storage.c b/tests-mx32/s390_guarded_storage.c index 69ac166d..97475bbc 100644 --- a/tests-mx32/s390_guarded_storage.c +++ b/tests-mx32/s390_guarded_storage.c @@ -175,8 +175,8 @@ main(void) static const kernel_ulong_t bogus_addr = (kernel_ulong_t) 0xfacefeedac0ffeedULL; - struct gs_cb *gscb = tail_alloc(sizeof(*gscb)); - struct gs_epl *gsepl = tail_alloc(sizeof(*gsepl)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct gs_cb, gscb); + TAIL_ALLOC_OBJECT_CONST_PTR(struct gs_epl, gsepl); long rc; diff --git a/tests-mx32/s390_runtime_instr.c b/tests-mx32/s390_runtime_instr.c index 861bbd4a..5d368a1a 100644 --- a/tests-mx32/s390_runtime_instr.c +++ b/tests-mx32/s390_runtime_instr.c @@ -44,10 +44,11 @@ main(void) kernel_ulong_t cmd; const char * cmd_str; } cmd_args[] = { - { 0, "???" }, - { 4, "???" }, - { (kernel_ulong_t) 0xdeafbeefdeadc0deULL, "???" }, - { 2, "STOP", }, + { 0, "0 /* S390_RUNTIME_INSTR_??? */" }, + { 4, "4 /* S390_RUNTIME_INSTR_??? */" }, + { (kernel_ulong_t) 0xdeafbeefdeadc0deULL, + "-559038242 /* S390_RUNTIME_INSTR_??? */" }, + { 2, "S390_RUNTIME_INSTR_STOP" }, }; static struct { @@ -66,10 +67,8 @@ main(void) for (i = 0; i < ARRAY_SIZE(cmd_args); i++) { rc = syscall(__NR_s390_runtime_instr, cmd_args[i].cmd, 0xdead); - printf("s390_runtime_instr(%d /* S390_RUNTIME_INSTR_%s */) = " - "%s\n", - (int) cmd_args[i].cmd, cmd_args[i].cmd_str, - sprintrc(rc)); + printf("s390_runtime_instr(%s) = %s\n", + cmd_args[i].cmd_str, sprintrc(rc)); } for (i = 0; i < ARRAY_SIZE(start_sig_args); i++) { @@ -77,7 +76,7 @@ main(void) rc = syscall(__NR_s390_runtime_instr, 1, start_sig_args[i].sig); saved_errno = errno; - printf("s390_runtime_instr(1 /* S390_RUNTIME_INSTR_START */, "); + printf("s390_runtime_instr(S390_RUNTIME_INSTR_START, "); if (start_sig_args[i].sig_str) printf("%s", start_sig_args[i].sig_str); diff --git a/tests-mx32/s390_runtime_instr.gen.test b/tests-mx32/s390_runtime_instr.gen.test index 9197dc33..83e81502 100755 --- a/tests-mx32/s390_runtime_instr.gen.test +++ b/tests-mx32/s390_runtime_instr.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (s390_runtime_instr -a50 ); do not edit. +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (s390_runtime_instr -a44 ); do not edit. . "${srcdir=.}/init.sh" -run_strace_match_diff -a50 +run_strace_match_diff -a44 diff --git a/tests-mx32/s390_sthyi.c b/tests-mx32/s390_sthyi.c index 8f6bbfb1..b7066e50 100644 --- a/tests-mx32/s390_sthyi.c +++ b/tests-mx32/s390_sthyi.c @@ -741,7 +741,7 @@ main(void) (kernel_ulong_t) 0xfee1deadfa57beefULL; unsigned char *buf = tail_alloc(PAGE_SIZE); - uint64_t *ret = tail_alloc(sizeof(*ret)); + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, ret); long rc; diff --git a/tests-mx32/seccomp-filter-v.c b/tests-mx32/seccomp-filter-v.c index 34ab3b58..38def289 100644 --- a/tests-mx32/seccomp-filter-v.c +++ b/tests-mx32/seccomp-filter-v.c @@ -2,7 +2,7 @@ * Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER. * * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -118,7 +118,7 @@ main(void) prog->len = 3; syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, 0, prog); tprintf("seccomp(SECCOMP_SET_MODE_FILTER, 0, {len=%u" - ", filter=[%s, %p]}) = -1 EFAULT (%m)\n", + ", filter=[%s, ... /* %p */]}) = -1 EFAULT (%m)\n", prog->len, kill_stmt_txt, filter + ARRAY_SIZE(filter_c)); prog->len = 0; @@ -136,7 +136,8 @@ main(void) prog->filter = big_filter; prog->len = BPF_MAXINSNS + 1; tprintf("seccomp(SECCOMP_SET_MODE_FILTER, %s, {len=%u, filter=[", - "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|0xfffffffc", + "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|" + "SECCOMP_FILTER_FLAG_SPEC_ALLOW|0xfffffff8", prog->len); for (i = 0; i < BPF_MAXINSNS; ++i) { if (i) diff --git a/tests-mx32/seccomp-filter.c b/tests-mx32/seccomp-filter.c index 7bc76560..53f8363b 100644 --- a/tests-mx32/seccomp-filter.c +++ b/tests-mx32/seccomp-filter.c @@ -2,7 +2,7 @@ * Check decoding of seccomp SECCOMP_SET_MODE_FILTER. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -56,12 +56,13 @@ main(void) rc = syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, -1, prog); printf("seccomp(SECCOMP_SET_MODE_FILTER, %s, {len=%u, filter=%p})" " = %ld %s (%m)\n", - "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|0xfffffffc", + "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|" + "SECCOMP_FILTER_FLAG_SPEC_ALLOW|0xfffffff8", prog->len, prog->filter, rc, errno2name()); - rc = syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, -4L, efault); + rc = syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, -8L, efault); printf("seccomp(SECCOMP_SET_MODE_FILTER, %s, %p) = %ld %s (%m)\n", - "0xfffffffc /* SECCOMP_FILTER_FLAG_??? */", + "0xfffffff8 /* SECCOMP_FILTER_FLAG_??? */", efault, rc, errno2name()); puts("+++ exited with 0 +++"); diff --git a/tests-mx32/semop.c b/tests-mx32/semop.c index 2366d385..4b14882c 100644 --- a/tests-mx32/semop.c +++ b/tests-mx32/semop.c @@ -64,11 +64,11 @@ main(void) sem_b2->sem_flg = 0xbeef; rc = semop(bogus_semid, sem_b2, 2); - printf("semop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u) = %s\n", + printf("semop(%d, [{%hu, %hd, %s%s%#hx}, ... /* %p */], %u) = %s\n", bogus_semid, sem_b2->sem_num, sem_b2->sem_op, sem_b2->sem_flg & SEM_UNDO ? "SEM_UNDO|" : "", sem_b2->sem_flg & IPC_NOWAIT ? "IPC_NOWAIT|" : "", - sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT), + (short) (sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT)), sem_b2 + 1, 2, sprintrc(rc)); if (semop(id, sem_b, 1)) @@ -91,12 +91,12 @@ main(void) ts->tv_sec = 1; ts->tv_nsec = 123456789; rc = semtimedop(bogus_semid, sem_b2, 2, ts); - printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u" + printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, ... /* %p */], %u" ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n", bogus_semid, sem_b2->sem_num, sem_b2->sem_op, sem_b2->sem_flg & SEM_UNDO ? "SEM_UNDO|" : "", sem_b2->sem_flg & IPC_NOWAIT ? "IPC_NOWAIT|" : "", - sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT), + (short) (sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT)), sem_b2 + 1, 2, (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc)); diff --git a/tests-mx32/set_mempolicy.c b/tests-mx32/set_mempolicy.c index f3261a09..96ad7dbc 100644 --- a/tests-mx32/set_mempolicy.c +++ b/tests-mx32/set_mempolicy.c @@ -2,6 +2,7 @@ * Check decoding of set_mempolicy syscall. * * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -76,7 +77,7 @@ print_nodes(const unsigned long maxnode, unsigned int offset) printf("%#0*lx", (int) sizeof(long) * 2 + 2, nodemask[i]); } else { - printf("%p", nodemask + i); + printf("... /* %p */", nodemask + i); break; } } diff --git a/tests-mx32/setgroups.c b/tests-mx32/setgroups.c index 5645c22b..a2851be6 100644 --- a/tests-mx32/setgroups.c +++ b/tests-mx32/setgroups.c @@ -2,7 +2,7 @@ * Check decoding of setgroups/setgroups32 syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -115,7 +115,7 @@ main(void) errstr = sprintrc(rc); printf("%s(2, [", SYSCALL_NAME); printuid(*g1); - printf(", %p]) = %s\n", g1 + 1, errstr); + printf(", ... /* %p */]) = %s\n", g1 + 1, errstr); g2[0] = -2; g2[1] = -3; @@ -133,7 +133,7 @@ main(void) printuid(g2[0]); printf(", "); printuid(g2[1]); - printf(", %p]) = %s\n", g2 + 2, errstr); + printf(", ... /* %p */]) = %s\n", g2 + 2, errstr); g3[0] = 0; g3[1] = 1; diff --git a/tests-mx32/signal_receive.c b/tests-mx32/signal_receive.c index 01c52e8c..a464b8c0 100644 --- a/tests-mx32/signal_receive.c +++ b/tests-mx32/signal_receive.c @@ -1,43 +1,127 @@ +/* + * Check decoding of signal delivery. + * + * 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 "tests.h" #include #include #include -void sig_print(const char *signame, const int pid, const int uid) -{ - printf("kill(%d, %s) = 0\n" - "--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d" - ", si_uid=%d} ---\n", - pid, signame, signame, signame, pid, uid); -} +static volatile int s_sig, s_code, s_pid, s_uid; static void -handler(int sig) +handler(int sig, siginfo_t *info, void *ucontext) { + s_sig = info->si_signo; + s_code = info->si_code; + s_pid = info->si_pid; + s_uid = info->si_uid; } int main(void) { - int sig, pid = getpid(), uid = getuid(); - const struct sigaction act = { .sa_handler = handler }; - sigset_t mask; - sigemptyset(&mask); - - for (sig = 1; sig <= 31; sig++) { - if (sig != SIGKILL && sig != SIGSTOP) { - sigaction(sig, &act, NULL); - sigaddset(&mask, sig); + static const char prefix[] = "KERNEL BUG"; + int printed = 0; + + const int pid = getpid(); + const int uid = geteuid(); + + for (int sig = 1; sig <= 31; ++sig) { + if (sig == SIGKILL || sig == SIGSTOP) + continue; + + sigset_t mask; + sigemptyset(&mask); + sigaddset(&mask, sig); + if (sigprocmask(SIG_UNBLOCK, &mask, NULL)) + perror_msg_and_fail("sigprocmask"); + + static const struct sigaction act = { + .sa_sigaction = handler, + .sa_flags = SA_SIGINFO + }; + if (sigaction(sig, &act, NULL)) + perror_msg_and_fail("sigaction: %d", sig); + + if (kill(pid, sig) != 0) + perror_msg_and_fail("kill: %d", sig); + +#ifdef MPERS_IS_m32 + /* + * The tracee has received a compat siginfo_t but + * the tracer has received a native siginfo_t. + */ + const int e_sig = sig; + const int e_pid = pid; + const int e_uid = uid; +#else + /* + * If the tracee is a native process, + * then the tracer is also native. + * If the tracee is a compat process, + * then the tracer is also compat. + * Anyway, both the tracee and the tracer + * have received the same siginfo_t. + */ + const int e_sig = s_sig; + const int e_pid = s_pid; + const int e_uid = s_uid; +#endif + printf("kill(%d, %s) = 0\n", pid, signal2name(sig)); + printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d" + ", si_uid=%d} ---\n", + signal2name(sig), signal2name(e_sig), e_pid, e_uid); + + if (s_code || sig != s_sig || pid != s_pid || uid != s_uid) { + /* + * The kernel has failed to initialize siginfo_t + * properly. There is nothing that could be done + * on the strace side to workaround the kernel bug, + * so just print some useful diagnostics. + */ + if (!printed) { + printed = 1; + fprintf(stderr, "%s: siginfo_t\n", prefix); + } + fprintf(stderr, + "%s: expected: si_signo=%d, si_code=%d" + ", si_pid=%d, si_uid=%d\n" + "%s: received: si_signo=%d, si_code=%d" + ", si_pid=%d, si_uid=%d\n", + prefix, sig, SI_USER, pid, uid, + prefix, sig, s_code, s_pid, s_uid); } } - sigprocmask(SIG_UNBLOCK, &mask, NULL); - for (sig = 1; sig <= 31; sig++) { - if (sig != SIGKILL && sig != SIGSTOP) { - if (kill(pid, sig) != 0) - perror_msg_and_fail("kill: %d", sig); - sig_print(signal2name(sig), pid, uid); - } + if (printed) { + fprintf(stderr, "%s: end of diagnostics\n" + "*** PLEASE FIX THE KERNEL ***\n", prefix); } puts("+++ exited with 0 +++"); diff --git a/tests-mx32/so_peercred-Xabbrev.c b/tests-mx32/so_peercred-Xabbrev.c new file mode 100644 index 00000000..a7056a66 --- /dev/null +++ b/tests-mx32/so_peercred-Xabbrev.c @@ -0,0 +1 @@ +#include "so_peercred.c" diff --git a/tests-mx32/so_peercred-Xabbrev.gen.test b/tests-mx32/so_peercred-Xabbrev.gen.test new file mode 100755 index 00000000..64a5538b --- /dev/null +++ b/tests-mx32/so_peercred-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (so_peercred-Xabbrev -e trace=getsockopt -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=getsockopt -Xabbrev diff --git a/tests-mx32/so_peercred-Xraw.c b/tests-mx32/so_peercred-Xraw.c new file mode 100644 index 00000000..e45f2df4 --- /dev/null +++ b/tests-mx32/so_peercred-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "so_peercred.c" diff --git a/tests-mx32/so_peercred-Xraw.gen.test b/tests-mx32/so_peercred-Xraw.gen.test new file mode 100755 index 00000000..471ae599 --- /dev/null +++ b/tests-mx32/so_peercred-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (so_peercred-Xraw -e trace=getsockopt -Xraw -a39); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=getsockopt -Xraw -a39 diff --git a/tests-mx32/so_peercred-Xverbose.c b/tests-mx32/so_peercred-Xverbose.c new file mode 100644 index 00000000..1bb47e98 --- /dev/null +++ b/tests-mx32/so_peercred-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "so_peercred.c" diff --git a/tests-mx32/so_peercred-Xverbose.gen.test b/tests-mx32/so_peercred-Xverbose.gen.test new file mode 100755 index 00000000..2926517b --- /dev/null +++ b/tests-mx32/so_peercred-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (so_peercred-Xverbose -e trace=getsockopt -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=getsockopt -Xverbose diff --git a/tests-mx32/so_peercred.c b/tests-mx32/so_peercred.c index 53bf0719..6eac8467 100644 --- a/tests-mx32/so_peercred.c +++ b/tests-mx32/so_peercred.c @@ -2,6 +2,7 @@ * Check decoding of SO_PEERCRED socket option. * * Copyright (c) 2017 Dmitry V. Levin + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -46,6 +47,28 @@ get_peercred(int fd, void *val, socklen_t *len) return rc; } +static const char * +so_str(void) +{ + static char buf[256]; + + if (!buf[0]) { +#if XLAT_RAW + snprintf(buf, sizeof(buf), + "%#x, %#x", SOL_SOCKET, SO_PEERCRED); +#elif XLAT_VERBOSE + snprintf(buf, sizeof(buf), + "%#x /* SOL_SOCKET */, %#x /* SO_PEERCRED */", + SOL_SOCKET, SO_PEERCRED); +#else + snprintf(buf, sizeof(buf), + "SOL_SOCKET, SO_PEERCRED"); +#endif + } + + return buf; +} + int main(void) { @@ -59,7 +82,7 @@ main(void) /* classic getsockopt */ *len = sizeof(*peercred); get_peercred(sv[0], peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", sv[0]); + printf("getsockopt(%d, %s", sv[0], so_str()); PRINT_FIELD_D(", {", *peercred, pid); PRINT_FIELD_UID(", ", *peercred, uid); PRINT_FIELD_UID(", ", *peercred, gid); @@ -72,7 +95,7 @@ main(void) /* getsockopt with optlen larger than necessary - shortened */ *len = sizeof(*peercred) + 1; get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", fd); + printf("getsockopt(%d, %s", fd, so_str()); PRINT_FIELD_D(", {", *peercred, pid); PRINT_FIELD_UID(", ", *peercred, uid); PRINT_FIELD_UID(", ", *peercred, gid); @@ -82,14 +105,14 @@ main(void) /* getsockopt with optlen smaller than usual - truncated to ucred.pid */ *len = sizeof(peercred->pid); get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", fd); + printf("getsockopt(%d, %s", fd, so_str()); PRINT_FIELD_D(", {", *peercred, pid); printf("}, [%d]) = %s\n", *len, errstr); /* getsockopt with optlen smaller than usual - truncated to ucred.uid */ *len = offsetof(struct ucred, gid); get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", fd); + printf("getsockopt(%d, %s", fd, so_str()); PRINT_FIELD_D(", {", *peercred, pid); PRINT_FIELD_UID(", ", *peercred, uid); printf("}, [%d]) = %s\n", *len, errstr); @@ -97,20 +120,20 @@ main(void) /* getsockopt with optlen larger than usual - truncated to raw */ *len = sizeof(*peercred) - 1; get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED, ", fd); + printf("getsockopt(%d, %s, ", fd, so_str()); print_quoted_hex(peercred, *len); printf(", [%d]) = %s\n", *len, errstr); /* getsockopt optval EFAULT */ *len = sizeof(*peercred); get_peercred(fd, &peercred->uid, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED, %p, [%d]) = %s\n", - fd, &peercred->uid, *len, errstr); + printf("getsockopt(%d, %s, %p, [%d]) = %s\n", + fd, so_str(), &peercred->uid, *len, errstr); /* getsockopt optlen EFAULT */ get_peercred(fd, peercred, len + 1); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED, %p, %p) = %s\n", - fd, peercred, len + 1, errstr); + printf("getsockopt(%d, %s, %p, %p) = %s\n", + fd, so_str(), peercred, len + 1, errstr); puts("+++ exited with 0 +++"); return 0; diff --git a/tests-mx32/sock_filter-v-Xabbrev.c b/tests-mx32/sock_filter-v-Xabbrev.c new file mode 100644 index 00000000..ac680e2c --- /dev/null +++ b/tests-mx32/sock_filter-v-Xabbrev.c @@ -0,0 +1 @@ +#include "sock_filter-v.c" diff --git a/tests-mx32/sock_filter-v-Xabbrev.gen.test b/tests-mx32/sock_filter-v-Xabbrev.gen.test new file mode 100755 index 00000000..e52763fa --- /dev/null +++ b/tests-mx32/sock_filter-v-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sock_filter-v-Xabbrev -v -e trace=getsockopt,setsockopt -X abbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -v -e trace=getsockopt,setsockopt -X abbrev diff --git a/tests-mx32/sock_filter-v-Xraw.c b/tests-mx32/sock_filter-v-Xraw.c new file mode 100644 index 00000000..e85309c1 --- /dev/null +++ b/tests-mx32/sock_filter-v-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "sock_filter-v.c" diff --git a/tests-mx32/sock_filter-v-Xraw.gen.test b/tests-mx32/sock_filter-v-Xraw.gen.test new file mode 100755 index 00000000..3c7df814 --- /dev/null +++ b/tests-mx32/sock_filter-v-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sock_filter-v-Xraw -a 37 -v -e trace=getsockopt,setsockopt -X raw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a 37 -v -e trace=getsockopt,setsockopt -X raw diff --git a/tests-mx32/sock_filter-v-Xverbose.c b/tests-mx32/sock_filter-v-Xverbose.c new file mode 100644 index 00000000..59d76bdf --- /dev/null +++ b/tests-mx32/sock_filter-v-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "sock_filter-v.c" diff --git a/tests-mx32/sock_filter-v-Xverbose.gen.test b/tests-mx32/sock_filter-v-Xverbose.gen.test new file mode 100755 index 00000000..b58c5b51 --- /dev/null +++ b/tests-mx32/sock_filter-v-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sock_filter-v-Xverbose -v -e trace=getsockopt,setsockopt -X verbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -v -e trace=getsockopt,setsockopt -X verbose diff --git a/tests-mx32/sock_filter-v.c b/tests-mx32/sock_filter-v.c index 16d5c1cd..68297867 100644 --- a/tests-mx32/sock_filter-v.c +++ b/tests-mx32/sock_filter-v.c @@ -2,6 +2,7 @@ * Check decoding of socket filters. * * Copyright (c) 2017 Dmitry V. Levin + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,16 +36,30 @@ #include #include -#define PRINT_STMT_SYM(pfx, code, k) PRINT_STMT_SYM_(pfx, #code, #k) -#define PRINT_STMT_SYM_(pfx, code, k) \ - printf("%sBPF_STMT(%s, %s)", pfx, code, k) -#define PRINT_STMT_VAL(pfx, code, k) PRINT_STMT_VAL_(pfx, #code, k) -#define PRINT_STMT_VAL_(pfx, code, k) \ - printf("%sBPF_STMT(%s, %#x)", pfx, code, k) +/* SO_GET_FILTER was introduced by Linux commit v3.8-rc1~139^2~518 */ +#ifndef SO_GET_FILTER +# define SO_GET_FILTER SO_ATTACH_FILTER +#endif + +#define HEX_FMT "%#x" + +#if XLAT_RAW +# define XLAT_FMT HEX_FMT +# define XLAT_ARGS(a_) (a_) +#elif XLAT_VERBOSE +# define XLAT_FMT HEX_FMT " /* %s */" +# define XLAT_ARGS(a_) (a_), #a_ +#else +# define XLAT_FMT "%s" +# define XLAT_ARGS(a_) #a_ +#endif -#define PRINT_JUMP(pfx, code, k, jt, jf) PRINT_JUMP_(pfx, #code, k, jt, jf) -#define PRINT_JUMP_(pfx, code, k, jt, jf) \ - printf("%sBPF_JUMP(%s, %#x, %#x, %#x)", pfx, code, k, jt, jf) +#define PRINT_STMT(pfx, code_fmt, k_fmt, ...) \ + printf("%sBPF_STMT(" code_fmt ", " k_fmt ")", pfx, __VA_ARGS__) + +#define PRINT_JUMP(pfx, code_fmt, k, jt, jf, ...) \ + printf("%sBPF_JUMP(" code_fmt ", %#x, %#x, %#x)", \ + pfx, __VA_ARGS__, k, jt, jf) static const struct sock_filter bpf_filter[] = { BPF_STMT(BPF_LD|BPF_B|BPF_ABS, SKF_LL_OFF+4), @@ -62,16 +77,43 @@ static const struct sock_filter bpf_filter[] = { static void print_filter(void) { - PRINT_STMT_SYM("[", BPF_LD|BPF_B|BPF_ABS, SKF_LL_OFF+4); - PRINT_STMT_SYM(", ", BPF_LD|BPF_B|BPF_ABS, SKF_NET_OFF+8); - PRINT_STMT_SYM(", ", BPF_LD|BPF_B|BPF_ABS, SKF_AD_OFF+SKF_AD_PROTOCOL); - PRINT_JUMP(", ", BPF_JMP|BPF_K|BPF_JEQ, IPPROTO_UDP, 0, 5); - PRINT_STMT_VAL(", ", BPF_LD|BPF_W|BPF_LEN, 0); - PRINT_JUMP(", ", BPF_JMP|BPF_K|BPF_JGE, 100, 0, 3); - PRINT_STMT_VAL(", ", BPF_LD|BPF_B|BPF_ABS, 42); - PRINT_JUMP(", ", BPF_JMP|BPF_K|BPF_JEQ, 'a', 0, 1); - PRINT_STMT_VAL(", ", BPF_RET|BPF_K, -1U); - PRINT_STMT_VAL(", ", BPF_RET|BPF_K, 0); + PRINT_STMT("[", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + XLAT_FMT "+4", + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + XLAT_ARGS(SKF_LL_OFF)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + XLAT_FMT "+8", + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + XLAT_ARGS(SKF_NET_OFF)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + XLAT_FMT "+" XLAT_FMT, + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + XLAT_ARGS(SKF_AD_OFF), XLAT_ARGS(SKF_AD_PROTOCOL)); + PRINT_JUMP(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + IPPROTO_UDP, 0, 5, + XLAT_ARGS(BPF_JMP), XLAT_ARGS(BPF_K), XLAT_ARGS(BPF_JEQ)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_W), XLAT_ARGS(BPF_LEN), + 0); + PRINT_JUMP(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + 100, 0, 3, + XLAT_ARGS(BPF_JMP), XLAT_ARGS(BPF_K), XLAT_ARGS(BPF_JGE)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + 42); + PRINT_JUMP(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + 'a', 0, 1, + XLAT_ARGS(BPF_JMP), XLAT_ARGS(BPF_K), XLAT_ARGS(BPF_JEQ)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_RET), XLAT_ARGS(BPF_K), + -1U); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_RET), XLAT_ARGS(BPF_K), + 0); putchar(']'); } @@ -80,7 +122,7 @@ static const char *errstr; static int get_filter(int fd, void *val, socklen_t *len) { - int rc = getsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, val, len); + int rc = getsockopt(fd, SOL_SOCKET, SO_GET_FILTER, val, len); errstr = sprintrc(rc); return rc; } @@ -114,35 +156,41 @@ main(void) *len = BPF_MAXINSNS; rc = get_filter(fd, NULL, len); if (rc) - perror_msg_and_skip("getsockopt SOL_SOCKET SO_ATTACH_FILTER"); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER" - ", NULL, [%u->0]) = 0\n", fd, BPF_MAXINSNS); + perror_msg_and_skip("getsockopt SOL_SOCKET SO_GET_FILTER"); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", NULL, [%u->0]) " + "= 0\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), + BPF_MAXINSNS); /* getsockopt NULL optlen - EFAULT */ rc = get_filter(fd, NULL, NULL); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, NULL, NULL)" - " = %s\n", fd, errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", NULL, NULL) " + "= %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), errstr); /* attach a filter */ rc = set_filter(fd, prog, sizeof(*prog)); if (rc) perror_msg_and_skip("setsockopt SOL_SOCKET SO_ATTACH_FILTER"); - printf("setsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, {len=%u, filter=", - fd, prog->len); + printf("setsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", {len=%u, filter=", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_ATTACH_FILTER), + prog->len); print_filter(); printf("}, %u) = 0\n", (unsigned int) sizeof(*prog)); /* setsockopt optlen is too small - EINVAL */ rc = set_filter(fd, prog, sizeof(*prog) - 4); - printf("setsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p, %u) = %s\n", - fd, prog, (unsigned int) sizeof(*prog) - 4, errstr); + printf("setsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, %u) = %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_ATTACH_FILTER), prog, + (unsigned int) sizeof(*prog) - 4, errstr); #ifdef SO_ATTACH_REUSEPORT_CBPF rc = setsockopt(fd, SOL_SOCKET, SO_ATTACH_REUSEPORT_CBPF, prog, sizeof(*prog)); errstr = sprintrc(rc); - printf("setsockopt(%d, SOL_SOCKET, SO_ATTACH_REUSEPORT_CBPF" - ", {len=%u, filter=", fd, prog->len); + printf("setsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", {len=%u, filter=", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_ATTACH_REUSEPORT_CBPF), + prog->len); print_filter(); printf("}, %u) = %s\n", (unsigned int) sizeof(*prog), errstr); #endif @@ -150,28 +198,30 @@ main(void) /* query sock_filter program length -> ARRAY_SIZE(bpf_filter) */ *len = 0; rc = get_filter(fd, efault, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p" - ", [0->%u]) = %s\n", - fd, efault, (unsigned int) ARRAY_SIZE(bpf_filter), errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, [0->%u]) " + "= %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), efault, + (unsigned int) ARRAY_SIZE(bpf_filter), errstr); /* getsockopt optlen is too small - EINVAL */ *len = ARRAY_SIZE(bpf_filter) - 1; rc = get_filter(fd, efault, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p" - ", [%u]) = %s\n", - fd, efault, (unsigned int) ARRAY_SIZE(bpf_filter) - 1, errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, [%u]) = %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), efault, + (unsigned int) ARRAY_SIZE(bpf_filter) - 1, errstr); /* getsockopt optval EFAULT */ *len = ARRAY_SIZE(bpf_filter); rc = get_filter(fd, filter + 1, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p" - ", [%u]) = %s\n", fd, filter + 1, - (unsigned int) ARRAY_SIZE(bpf_filter), errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, [%u]) = %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), + filter + 1, (unsigned int) ARRAY_SIZE(bpf_filter), errstr); /* getsockopt optlen is too large - truncated */ *len = ARRAY_SIZE(bpf_filter) + 1; rc = get_filter(fd, filter, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, ", fd); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", ", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER)); print_filter(); printf(", [%u->%d]) = %s\n", (unsigned int) ARRAY_SIZE(bpf_filter) + 1, *len, errstr); diff --git a/tests-mx32/strace-V.test b/tests-mx32/strace-V.test index eb05e865..a0274c28 100755 --- a/tests-mx32/strace-V.test +++ b/tests-mx32/strace-V.test @@ -38,7 +38,8 @@ config_year=$(getstr COPYRIGHT_YEAR) exit 1 } -option_unwind=$(getoption USE_LIBUNWIND " stack-unwind") +option_unwind=$(getoption ENABLE_STACKTRACE \ + " stack-trace=$(getstr USE_UNWINDER)") option_demangle=$(getoption USE_DEMANGLE " stack-demangle") option_m32= diff --git a/tests-mx32/strace-k-demangle.expected b/tests-mx32/strace-k-demangle.expected new file mode 100644 index 00000000..e42e78fc --- /dev/null +++ b/tests-mx32/strace-k-demangle.expected @@ -0,0 +1 @@ +(__kernel_vsyscall )?(__)?getpid ns::f3\(int\) ns::f2\(int\) ns::f1\(int\) ns::f0\(int\) main diff --git a/tests-mx32/strace-k-demangle.test b/tests-mx32/strace-k-demangle.test index 1616449f..106a7004 100755 --- a/tests-mx32/strace-k-demangle.test +++ b/tests-mx32/strace-k-demangle.test @@ -2,6 +2,5 @@ # Check strace -k symbol names demangling. test_prog=../stack-fcall-mangled -expected='getpid ns::f3(int) ns::f2(int) ns::f1(int) ns::f0(int) main ' . "${srcdir=.}"/strace-k.test diff --git a/tests-mx32/strace-k.expected b/tests-mx32/strace-k.expected new file mode 100644 index 00000000..840d648f --- /dev/null +++ b/tests-mx32/strace-k.expected @@ -0,0 +1 @@ +(__kernel_vsyscall )?(__)?getpid f3 f2 f1 f0 main diff --git a/tests-mx32/strace-k.test b/tests-mx32/strace-k.test index 2a21a9db..fb1e2b3e 100755 --- a/tests-mx32/strace-k.test +++ b/tests-mx32/strace-k.test @@ -4,7 +4,7 @@ # # Copyright (c) 2014 Masatake YAMATO # Copyright (c) 2014-2016 Dmitry V. Levin -# 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 @@ -35,20 +35,41 @@ [ -f /proc/self/maps ] || framework_skip_ '/proc/self/maps is not available' +check_prog grep check_prog sed check_prog tr -: ${test_prog=../stack-fcall} -: ${expected='getpid f3 f2 f1 f0 main '} - -run_prog "$test_prog" +run_prog "${test_prog=../stack-fcall}" run_strace -e getpid -k $args -result=$(sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | - tr '\n' ' ') +expected="$srcdir/$NAME.expected" +sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | + tr '\n' ' ' |sed 's/ $//' > "$OUT" + +LC_ALL=C grep -E -x -f "$expected" < "$OUT" > /dev/null || { + cat >&2 <<__EOF__ +Failed pattern of expected output: $(cat "$expected") +Actual output: $(cat "$OUT") +__EOF__ + + pattern= + case "$STRACE_ARCH" in + aarch64|i386|ppc*|s390*|sparc*|x32|x86*) + # These architectures are supported by elfutils libdw, + # see grep '\.*\' elfutils/backends + ;; + arm) pattern='No DWARF information found' + # This is also supported by elfutils libdw + # but the latter needs debuginfo for unwinding. + ;; + *) pattern='Unwinding not supported for this architecture' + ;; + esac + if [ -n "$pattern" ] && + LC_ALL=C grep -x " > $pattern" < "$LOG" > /dev/null; then + cat < "$LOG" >&2 + skip_ "stack tracing is not fully supported on $STRACE_ARCH yet" + fi -test "$result" = "$expected" || { - echo "expected: \"$expected\"" - echo "result: \"$result\"" dump_log_and_fail_with "$STRACE $args output mismatch" } diff --git a/tests-mx32/struct_flock.c b/tests-mx32/struct_flock.c deleted file mode 100644 index 428c038d..00000000 --- a/tests-mx32/struct_flock.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 -#include -#include -#include -#include "flock.h" - -#define FILE_LEN 4096 - -#define TEST_FLOCK_EINVAL(cmd) test_flock_einval(cmd, #cmd) - -#ifdef HAVE_TYPEOF -# define TYPEOF_FLOCK_OFF_T typeof(((struct_kernel_flock *) NULL)->l_len) -#else -# define TYPEOF_FLOCK_OFF_T off_t -#endif - -static long -invoke_test_syscall(const unsigned int cmd, void *const p) -{ - const kernel_ulong_t fd = F8ILL_KULONG_MASK; - const kernel_ulong_t op = F8ILL_KULONG_MASK | cmd; - - return syscall(TEST_SYSCALL_NR, fd, op, (unsigned long) p); -} - -static void -test_flock_einval(const int cmd, const char *name) -{ - struct_kernel_flock fl = { - .l_type = F_RDLCK, - .l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL, - .l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL - }; - long rc = invoke_test_syscall(cmd, &fl); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc)); -} - -static void -test_flock(void) -{ - TEST_FLOCK_EINVAL(F_SETLK); - TEST_FLOCK_EINVAL(F_SETLKW); - - struct_kernel_flock fl = { - .l_type = F_RDLCK, - .l_len = FILE_LEN - }; - long rc = invoke_test_syscall(F_SETLK, &fl); - printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc)); - if (rc) - return; - - invoke_test_syscall(F_GETLK, &fl); - printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(F_SETLK, &fl); - printf("%s(0, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -} - -static void -create_sample(void) -{ - char fname[] = TEST_SYSCALL_STR "_XXXXXX"; - - (void) close(0); - if (mkstemp(fname)) - perror_msg_and_fail("mkstemp: %s", fname); - if (unlink(fname)) - perror_msg_and_fail("unlink: %s", fname); - if (ftruncate(0, FILE_LEN)) - perror_msg_and_fail("ftruncate"); -} diff --git a/tests-mx32/test_nlattr.h b/tests-mx32/test_nlattr.h index 43f467ff..9038c0e2 100644 --- a/tests-mx32/test_nlattr.h +++ b/tests-mx32/test_nlattr.h @@ -1,5 +1,5 @@ /* - * 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 @@ -51,15 +51,17 @@ init_nlattr(struct nlattr *const nla, } static void -print_nlattr(const unsigned int nla_len, const char *const nla_type) +print_nlattr(const unsigned int nla_len, const char *const nla_type, bool add_data) { - printf(", {{nla_len=%u, nla_type=%s}, ", nla_len, nla_type); + printf(", %s{{nla_len=%u, nla_type=%s}, ", + add_data ? "[" : "", nla_len, nla_type); } -#define TEST_NLATTR_(fd_, nlh0_, hdrlen_, \ +#define TEST_NLATTR_EX_(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, nla_type_str_, \ - nla_data_len_, src_, slen_, ...) \ + nla_data_len_, nla_total_len_, \ + src_, slen_, ...) \ do { \ struct nlmsghdr *const nlh = \ (nlh0_) - (NLA_HDRLEN + (slen_)); \ @@ -68,7 +70,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) const unsigned int nla_len = \ NLA_HDRLEN + (nla_data_len_); \ const unsigned int msg_len = \ - NLMSG_SPACE(hdrlen_) + nla_len; \ + NLMSG_SPACE(hdrlen_) + NLA_HDRLEN + (nla_total_len_); \ \ (init_msg_)(nlh, msg_len); \ init_nlattr(TEST_NLATTR_nla, nla_len, (nla_type_), \ @@ -80,14 +82,28 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) \ printf("sendto(%d, {", (fd_)); \ (print_msg_)(msg_len); \ - print_nlattr(nla_len, (nla_type_str_)); \ + print_nlattr(nla_len, (nla_type_str_), \ + (nla_total_len_) > (nla_data_len_)); \ \ { __VA_ARGS__; } \ \ + if ((nla_total_len_) > (nla_data_len_)) \ + printf("]"); \ + \ printf("}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", \ msg_len, errstr); \ } while (0) +#define TEST_NLATTR_(fd_, nlh0_, hdrlen_, \ + init_msg_, print_msg_, \ + nla_type_, nla_type_str_, \ + nla_data_len_, src_, slen_, ...) \ + TEST_NLATTR_EX_((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + (nla_type_), (nla_type_str_), \ + (nla_data_len_), (nla_data_len_), \ + (src_), (slen_), __VA_ARGS__) + #define TEST_NLATTR(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, \ @@ -106,11 +122,12 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) sizeof(obj_) - 1 > DEFAULT_STRLEN \ ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \ /* len < sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ - (init_msg_), (print_msg_), \ - (nla_type_), (nla_type_str_), \ - plen, (pattern_), plen, \ - (fallback_func)((pattern_), plen)); \ + if (plen > 0) \ + TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + (nla_type_), (nla_type_str_), \ + plen, (pattern_), plen, \ + (fallback_func)((pattern_), plen)); \ /* short read of sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ @@ -170,7 +187,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ printf("]")); \ /* short read of sizeof(obj_) */ \ @@ -183,11 +200,11 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf(", %p]", \ + printf(", ... /* %p */]", \ RTA_DATA(NLMSG_ATTR(nlh, (hdrlen_))) \ - + sizeof((obj_)[0]))); \ + + sizeof(obj_) - sizeof((obj_)[0]))); \ /* sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ @@ -198,7 +215,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_); ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ printf("]")); \ } while (0) @@ -206,21 +223,23 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) #define TEST_NESTED_NLATTR_OBJECT_EX_(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, nla_type_str_, \ - pattern_, obj_, depth_, ...) \ + pattern_, obj_, fallback_func, \ + depth_, ...) \ do { \ const unsigned int plen = \ sizeof(obj_) - 1 > DEFAULT_STRLEN \ ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \ /* len < sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ - (hdrlen_) + NLA_HDRLEN * depth_, \ - (init_msg_), (print_msg_), \ - (nla_type_), (nla_type_str_), \ - plen, (pattern_), plen, \ - print_quoted_hex((pattern_), plen); \ - size_t i; \ - for (i = 0; i < depth_; ++i) \ - printf("}")); \ + if (plen > 0) \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ + (init_msg_), (print_msg_), \ + (nla_type_), (nla_type_str_), \ + plen, (pattern_), plen, \ + (fallback_func)((pattern_), plen); \ + size_t i; \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ /* short read of sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ (hdrlen_) + NLA_HDRLEN * depth_, \ @@ -252,7 +271,8 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) TEST_NESTED_NLATTR_OBJECT_EX_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ - (pattern_), (obj_), (depth_), \ + (pattern_), (obj_), \ + print_quoted_hex, (depth_), \ __VA_ARGS__) #define TEST_NESTED_NLATTR_OBJECT(fd_, nlh0_, hdrlen_, \ @@ -261,27 +281,30 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) TEST_NESTED_NLATTR_OBJECT_EX_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ - (pattern_), (obj_), 1, \ + (pattern_), (obj_), \ + print_quoted_hex, 1, \ __VA_ARGS__) -#define TEST_NESTED_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \ +#define TEST_NESTED_NLATTR_ARRAY_EX(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ - nla_type_, pattern_, obj_, print_elem_)\ + nla_type_, pattern_, obj_, depth_, \ + print_elem_) \ do { \ const unsigned int plen = \ sizeof((obj_)[0]) - 1 > DEFAULT_STRLEN \ ? DEFAULT_STRLEN : (int) sizeof((obj_)[0]) - 1; \ /* len < sizeof((obj_)[0]) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ plen, (pattern_), plen, \ print_quoted_hex((pattern_), plen); \ - printf("}")); \ + for (size_t i = 0; i < depth_; ++i) \ + printf("}")); \ /* sizeof((obj_)[0]) < len < sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ sizeof(obj_) - 1, \ @@ -290,12 +313,14 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf("]}")); \ + printf("]"); \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ /* short read of sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ sizeof(obj_), \ @@ -304,14 +329,16 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf(", %p]}", \ + printf(", ... /* %p */]", \ RTA_DATA(TEST_NLATTR_nla) \ - + sizeof((obj_)[0]))); \ + + sizeof(obj_) - sizeof((obj_)[0])); \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ /* sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ sizeof(obj_), \ @@ -320,7 +347,17 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_); ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf("]}")); \ + printf("]"); \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ } while (0) + +#define TEST_NESTED_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \ + init_msg_, print_msg_, \ + nla_type_, pattern_, obj_, print_elem_)\ + TEST_NESTED_NLATTR_ARRAY_EX((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + nla_type_, (pattern_), (obj_), 1, \ + (print_elem_)) diff --git a/tests-mx32/tests.h b/tests-mx32/tests.h index 3bf454dd..248e341c 100644 --- a/tests-mx32/tests.h +++ b/tests-mx32/tests.h @@ -62,6 +62,14 @@ # define VERBOSE 0 #endif +/* xlat verbosity defaults */ +#ifndef XLAT_RAW +# define XLAT_RAW 0 +#endif +#ifndef XLAT_VERBOSE +# define XLAT_VERBOSE 0 +#endif + #ifndef DEFAULT_STRLEN /* Default maximum # of bytes printed in printstr et al. */ # define DEFAULT_STRLEN 32 @@ -109,6 +117,9 @@ void *tail_alloc(const size_t) void *tail_memdup(const void *, const size_t) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((2)); +#define midtail_alloc(after_, before_) \ + ((void *) ((char *) tail_alloc(((before_) + (after_))) + (before_))) + /* * Allocate an object of the specified type at the end * of a mapped memory region. @@ -163,6 +174,12 @@ void print_quoted_string(const char *); */ void print_quoted_cstring(const char *str, size_t size); +/* + * Print a NUL-terminated string `str' of length up to `size' + * in a quoted form. + */ +void print_quoted_stringn(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); @@ -277,7 +294,6 @@ f8ill_ptr_to_kulong(const void *const ptr) #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 diff --git a/tests-mx32/trace_personality_32.gen.test b/tests-mx32/trace_personality_32.gen.test new file mode 100755 index 00000000..a5f5c7d1 --- /dev/null +++ b/tests-mx32/trace_personality_32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_32 +qualify_personality.sh 32 'getcwd' 'fsync-y'); do not edit. +set -- 32 'getcwd' 'fsync-y' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-mx32/trace_personality_32.in b/tests-mx32/trace_personality_32.in new file mode 100644 index 00000000..9da47c1a --- /dev/null +++ b/tests-mx32/trace_personality_32.in @@ -0,0 +1 @@ +getcwd -a18 diff --git a/tests-mx32/trace_personality_64.gen.test b/tests-mx32/trace_personality_64.gen.test new file mode 100755 index 00000000..5b961efa --- /dev/null +++ b/tests-mx32/trace_personality_64.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_64 +qualify_personality.sh 64 'getcwd' 'fsync-y'); do not edit. +set -- 64 'getcwd' 'fsync-y' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-mx32/trace_personality_64.in b/tests-mx32/trace_personality_64.in new file mode 100644 index 00000000..9da47c1a --- /dev/null +++ b/tests-mx32/trace_personality_64.in @@ -0,0 +1 @@ +getcwd -a18 diff --git a/tests-mx32/trace_personality_regex_32.gen.test b/tests-mx32/trace_personality_regex_32.gen.test new file mode 100755 index 00000000..f2800d2a --- /dev/null +++ b/tests-mx32/trace_personality_regex_32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_regex_32 +qualify_personality.sh 32 '/clock.*' 'times|fcntl.*'); do not edit. +set -- 32 '/clock.*' 'times|fcntl.*' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-mx32/trace_personality_regex_32.in b/tests-mx32/trace_personality_regex_32.in new file mode 100755 index 00000000..864de290 --- /dev/null +++ b/tests-mx32/trace_personality_regex_32.in @@ -0,0 +1,3 @@ +clock_adjtime -a37 +clock_nanosleep +clock_xettime -a36 diff --git a/tests-mx32/trace_personality_regex_64.gen.test b/tests-mx32/trace_personality_regex_64.gen.test new file mode 100755 index 00000000..4b19f1b0 --- /dev/null +++ b/tests-mx32/trace_personality_regex_64.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_regex_64 +qualify_personality.sh 64 '/clock.*' 'times|fcntl.*'); do not edit. +set -- 64 '/clock.*' 'times|fcntl.*' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-mx32/trace_personality_regex_64.in b/tests-mx32/trace_personality_regex_64.in new file mode 100755 index 00000000..864de290 --- /dev/null +++ b/tests-mx32/trace_personality_regex_64.in @@ -0,0 +1,3 @@ +clock_adjtime -a37 +clock_nanosleep +clock_xettime -a36 diff --git a/tests-mx32/trace_personality_regex_x32.gen.test b/tests-mx32/trace_personality_regex_x32.gen.test new file mode 100755 index 00000000..7f416712 --- /dev/null +++ b/tests-mx32/trace_personality_regex_x32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_regex_x32 +qualify_personality.sh x32 '/clock.*' 'times|fcntl.*'); do not edit. +set -- x32 '/clock.*' 'times|fcntl.*' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-mx32/trace_personality_regex_x32.in b/tests-mx32/trace_personality_regex_x32.in new file mode 100755 index 00000000..864de290 --- /dev/null +++ b/tests-mx32/trace_personality_regex_x32.in @@ -0,0 +1,3 @@ +clock_adjtime -a37 +clock_nanosleep +clock_xettime -a36 diff --git a/tests-mx32/trace_personality_x32.gen.test b/tests-mx32/trace_personality_x32.gen.test new file mode 100755 index 00000000..724499ae --- /dev/null +++ b/tests-mx32/trace_personality_x32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_x32 +qualify_personality.sh x32 'getcwd' 'fsync-y'); do not edit. +set -- x32 'getcwd' 'fsync-y' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests-mx32/trace_personality_x32.in b/tests-mx32/trace_personality_x32.in new file mode 100644 index 00000000..9da47c1a --- /dev/null +++ b/tests-mx32/trace_personality_x32.in @@ -0,0 +1 @@ +getcwd -a18 diff --git a/tests-mx32/xet_thread_area_x86.c b/tests-mx32/xet_thread_area_x86.c index 36591ec6..d5be69f7 100644 --- a/tests-mx32/xet_thread_area_x86.c +++ b/tests-mx32/xet_thread_area_x86.c @@ -152,9 +152,9 @@ get_thread_area(kernel_ulong_t ptr_val, const char *ptr_str, bool valid, int main(void) { - struct user_desc *ta1 = tail_alloc(sizeof(*ta1)); - struct user_desc *ta2 = tail_alloc(sizeof(*ta2)); - unsigned *bogus_entry_number = tail_alloc(sizeof(*bogus_entry_number)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct user_desc, ta1); + TAIL_ALLOC_OBJECT_CONST_PTR(struct user_desc, ta2); + TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, bogus_entry_number); long set_rc = -1; diff --git a/tests/Makefile b/tests/Makefile index 3637df7b..09d6bfa3 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -139,7 +139,11 @@ DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \ 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) \ + block_reset_raise_run$(EXEEXT) bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-v$(EXEEXT) bpf-success$(EXEEXT) \ + bpf-success-v$(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) \ @@ -147,7 +151,8 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(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) \ @@ -159,18 +164,19 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + prctl-spec-inject$(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 @@ -181,7 +187,10 @@ 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_demangle.m4 $(top_srcdir)/m4/st_libdw.m4 \ + $(top_srcdir)/m4/st_libunwind.m4 \ $(top_srcdir)/m4/st_save_restore_var.m4 \ + $(top_srcdir)/m4/st_stacktrace.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) \ @@ -223,18 +232,25 @@ am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(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) \ + adjtimex$(EXEEXT) aio$(EXEEXT) aio_pgetevents$(EXEEXT) \ + alarm$(EXEEXT) bpf$(EXEEXT) bpf-v$(EXEEXT) \ + bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-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) \ + fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ + fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ @@ -255,49 +271,62 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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_evdev$(EXEEXT) ioctl_inotify$(EXEEXT) \ + ioctl_kvm_run$(EXEEXT) ioctl_loop$(EXEEXT) ioctl_mtd$(EXEEXT) \ + ioctl_rtc$(EXEEXT) ioctl_perf$(EXEEXT) ioctl_ptp$(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) \ + ipc_msg$(EXEEXT) ipc_msg-Xabbrev$(EXEEXT) \ + ipc_msg-Xraw$(EXEEXT) ipc_msg-Xverbose$(EXEEXT) \ + ipc_msgbuf$(EXEEXT) ipc_msgbuf-Xabbrev$(EXEEXT) \ + ipc_msgbuf-Xraw$(EXEEXT) ipc_msgbuf-Xverbose$(EXEEXT) \ + ipc_sem$(EXEEXT) ipc_sem-Xabbrev$(EXEEXT) \ + ipc_sem-Xraw$(EXEEXT) ipc_sem-Xverbose$(EXEEXT) \ + ipc_shm$(EXEEXT) ipc_shm-Xabbrev$(EXEEXT) \ + ipc_shm-Xraw$(EXEEXT) ipc_shm-Xverbose$(EXEEXT) kcmp$(EXEEXT) \ + kcmp-y$(EXEEXT) kern_features$(EXEEXT) \ + kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) keyctl$(EXEEXT) \ + keyctl-Xabbrev$(EXEEXT) keyctl-Xraw$(EXEEXT) \ + keyctl-Xverbose$(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) \ + mmap-Xabbrev$(EXEEXT) mmap-Xraw$(EXEEXT) \ + mmap-Xverbose$(EXEEXT) mmap64$(EXEEXT) mmap64-Xabbrev$(EXEEXT) \ + mmap64-Xraw$(EXEEXT) mmap64-Xverbose$(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) \ + mount-Xabbrev$(EXEEXT) mount-Xraw$(EXEEXT) \ + mount-Xverbose$(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_af_spec$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \ + nlattr_ifla_linkinfo$(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) \ @@ -309,11 +338,14 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + old_mmap-P$(EXEEXT) old_mmap-v-none$(EXEEXT) \ + old_mmap-Xabbrev$(EXEEXT) old_mmap-Xraw$(EXEEXT) \ + old_mmap-Xverbose$(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) \ + personality-Xabbrev$(EXEEXT) personality-Xraw$(EXEEXT) \ + personality-Xverbose$(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) \ @@ -361,7 +393,10 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + so_peercred$(EXEEXT) so_peercred-Xabbrev$(EXEEXT) \ + so_peercred-Xraw$(EXEEXT) so_peercred-Xverbose$(EXEEXT) \ + sock_filter-v$(EXEEXT) sock_filter-v-Xabbrev$(EXEEXT) \ + sock_filter-v-Xraw$(EXEEXT) sock_filter-v-Xverbose$(EXEEXT) \ socketcall$(EXEEXT) sockopt-sol_netlink$(EXEEXT) \ splice$(EXEEXT) stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \ statfs64$(EXEEXT) statx$(EXEEXT) swap$(EXEEXT) \ @@ -418,6 +453,10 @@ aio_SOURCES = aio.c aio_OBJECTS = aio.$(OBJEXT) aio_LDADD = $(LDADD) aio_DEPENDENCIES = libtests.a +aio_pgetevents_SOURCES = aio_pgetevents.c +aio_pgetevents_OBJECTS = aio_pgetevents.$(OBJEXT) +aio_pgetevents_LDADD = $(LDADD) +aio_pgetevents_DEPENDENCIES = libtests.a alarm_SOURCES = alarm.c alarm_OBJECTS = alarm.$(OBJEXT) alarm_LDADD = $(LDADD) @@ -449,6 +488,33 @@ bpf_SOURCES = bpf.c bpf_OBJECTS = bpf.$(OBJEXT) bpf_LDADD = $(LDADD) bpf_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_SOURCES = bpf-obj_get_info_by_fd.c +bpf_obj_get_info_by_fd_OBJECTS = bpf-obj_get_info_by_fd.$(OBJEXT) +bpf_obj_get_info_by_fd_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_SOURCES = bpf-obj_get_info_by_fd-prog.c +bpf_obj_get_info_by_fd_prog_OBJECTS = \ + bpf-obj_get_info_by_fd-prog.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_v_SOURCES = \ + bpf-obj_get_info_by_fd-prog-v.c +bpf_obj_get_info_by_fd_prog_v_OBJECTS = \ + bpf-obj_get_info_by_fd-prog-v.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_v_SOURCES = bpf-obj_get_info_by_fd-v.c +bpf_obj_get_info_by_fd_v_OBJECTS = bpf-obj_get_info_by_fd-v.$(OBJEXT) +bpf_obj_get_info_by_fd_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_v_DEPENDENCIES = libtests.a +bpf_success_SOURCES = bpf-success.c +bpf_success_OBJECTS = bpf-success.$(OBJEXT) +bpf_success_LDADD = $(LDADD) +bpf_success_DEPENDENCIES = libtests.a +bpf_success_v_SOURCES = bpf-success-v.c +bpf_success_v_OBJECTS = bpf-success-v.$(OBJEXT) +bpf_success_v_LDADD = $(LDADD) +bpf_success_v_DEPENDENCIES = libtests.a bpf_v_SOURCES = bpf-v.c bpf_v_OBJECTS = bpf-v.$(OBJEXT) bpf_v_LDADD = $(LDADD) @@ -616,6 +682,18 @@ fanotify_mark_SOURCES = fanotify_mark.c fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT) fanotify_mark_LDADD = $(LDADD) fanotify_mark_DEPENDENCIES = libtests.a +fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c +fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) +fanotify_mark_Xabbrev_LDADD = $(LDADD) +fanotify_mark_Xabbrev_DEPENDENCIES = libtests.a +fanotify_mark_Xraw_SOURCES = fanotify_mark-Xraw.c +fanotify_mark_Xraw_OBJECTS = fanotify_mark-Xraw.$(OBJEXT) +fanotify_mark_Xraw_LDADD = $(LDADD) +fanotify_mark_Xraw_DEPENDENCIES = libtests.a +fanotify_mark_Xverbose_SOURCES = fanotify_mark-Xverbose.c +fanotify_mark_Xverbose_OBJECTS = fanotify_mark-Xverbose.$(OBJEXT) +fanotify_mark_Xverbose_LDADD = $(LDADD) +fanotify_mark_Xverbose_DEPENDENCIES = libtests.a fchdir_SOURCES = fchdir.c fchdir_OBJECTS = fchdir.$(OBJEXT) fchdir_LDADD = $(LDADD) @@ -895,6 +973,10 @@ 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_inotify_SOURCES = ioctl_inotify.c +ioctl_inotify_OBJECTS = ioctl_inotify.$(OBJEXT) +ioctl_inotify_LDADD = $(LDADD) +ioctl_inotify_DEPENDENCIES = libtests.a ioctl_kvm_run_SOURCES = ioctl_kvm_run.c ioctl_kvm_run_OBJECTS = ioctl_kvm_run.$(OBJEXT) ioctl_kvm_run_LDADD = $(LDADD) @@ -919,6 +1001,18 @@ ioctl_nsfs_SOURCES = ioctl_nsfs.c ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT) ioctl_nsfs_LDADD = $(LDADD) ioctl_nsfs_DEPENDENCIES = libtests.a +ioctl_perf_SOURCES = ioctl_perf.c +ioctl_perf_OBJECTS = ioctl_perf.$(OBJEXT) +ioctl_perf_LDADD = $(LDADD) +ioctl_perf_DEPENDENCIES = libtests.a +ioctl_perf_success_SOURCES = ioctl_perf-success.c +ioctl_perf_success_OBJECTS = ioctl_perf-success.$(OBJEXT) +ioctl_perf_success_LDADD = $(LDADD) +ioctl_perf_success_DEPENDENCIES = libtests.a +ioctl_ptp_SOURCES = ioctl_ptp.c +ioctl_ptp_OBJECTS = ioctl_ptp.$(OBJEXT) +ioctl_ptp_LDADD = $(LDADD) +ioctl_ptp_DEPENDENCIES = libtests.a ioctl_rtc_SOURCES = ioctl_rtc.c ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT) ioctl_rtc_LDADD = $(LDADD) @@ -975,18 +1069,66 @@ ipc_msg_SOURCES = ipc_msg.c ipc_msg_OBJECTS = ipc_msg.$(OBJEXT) ipc_msg_LDADD = $(LDADD) ipc_msg_DEPENDENCIES = libtests.a +ipc_msg_Xabbrev_SOURCES = ipc_msg-Xabbrev.c +ipc_msg_Xabbrev_OBJECTS = ipc_msg-Xabbrev.$(OBJEXT) +ipc_msg_Xabbrev_LDADD = $(LDADD) +ipc_msg_Xabbrev_DEPENDENCIES = libtests.a +ipc_msg_Xraw_SOURCES = ipc_msg-Xraw.c +ipc_msg_Xraw_OBJECTS = ipc_msg-Xraw.$(OBJEXT) +ipc_msg_Xraw_LDADD = $(LDADD) +ipc_msg_Xraw_DEPENDENCIES = libtests.a +ipc_msg_Xverbose_SOURCES = ipc_msg-Xverbose.c +ipc_msg_Xverbose_OBJECTS = ipc_msg-Xverbose.$(OBJEXT) +ipc_msg_Xverbose_LDADD = $(LDADD) +ipc_msg_Xverbose_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_msgbuf_Xabbrev_SOURCES = ipc_msgbuf-Xabbrev.c +ipc_msgbuf_Xabbrev_OBJECTS = ipc_msgbuf-Xabbrev.$(OBJEXT) +ipc_msgbuf_Xabbrev_LDADD = $(LDADD) +ipc_msgbuf_Xabbrev_DEPENDENCIES = libtests.a +ipc_msgbuf_Xraw_SOURCES = ipc_msgbuf-Xraw.c +ipc_msgbuf_Xraw_OBJECTS = ipc_msgbuf-Xraw.$(OBJEXT) +ipc_msgbuf_Xraw_LDADD = $(LDADD) +ipc_msgbuf_Xraw_DEPENDENCIES = libtests.a +ipc_msgbuf_Xverbose_SOURCES = ipc_msgbuf-Xverbose.c +ipc_msgbuf_Xverbose_OBJECTS = ipc_msgbuf-Xverbose.$(OBJEXT) +ipc_msgbuf_Xverbose_LDADD = $(LDADD) +ipc_msgbuf_Xverbose_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_sem_Xabbrev_SOURCES = ipc_sem-Xabbrev.c +ipc_sem_Xabbrev_OBJECTS = ipc_sem-Xabbrev.$(OBJEXT) +ipc_sem_Xabbrev_LDADD = $(LDADD) +ipc_sem_Xabbrev_DEPENDENCIES = libtests.a +ipc_sem_Xraw_SOURCES = ipc_sem-Xraw.c +ipc_sem_Xraw_OBJECTS = ipc_sem-Xraw.$(OBJEXT) +ipc_sem_Xraw_LDADD = $(LDADD) +ipc_sem_Xraw_DEPENDENCIES = libtests.a +ipc_sem_Xverbose_SOURCES = ipc_sem-Xverbose.c +ipc_sem_Xverbose_OBJECTS = ipc_sem-Xverbose.$(OBJEXT) +ipc_sem_Xverbose_LDADD = $(LDADD) +ipc_sem_Xverbose_DEPENDENCIES = libtests.a ipc_shm_SOURCES = ipc_shm.c ipc_shm_OBJECTS = ipc_shm.$(OBJEXT) ipc_shm_LDADD = $(LDADD) ipc_shm_DEPENDENCIES = libtests.a +ipc_shm_Xabbrev_SOURCES = ipc_shm-Xabbrev.c +ipc_shm_Xabbrev_OBJECTS = ipc_shm-Xabbrev.$(OBJEXT) +ipc_shm_Xabbrev_LDADD = $(LDADD) +ipc_shm_Xabbrev_DEPENDENCIES = libtests.a +ipc_shm_Xraw_SOURCES = ipc_shm-Xraw.c +ipc_shm_Xraw_OBJECTS = ipc_shm-Xraw.$(OBJEXT) +ipc_shm_Xraw_LDADD = $(LDADD) +ipc_shm_Xraw_DEPENDENCIES = libtests.a +ipc_shm_Xverbose_SOURCES = ipc_shm-Xverbose.c +ipc_shm_Xverbose_OBJECTS = ipc_shm-Xverbose.$(OBJEXT) +ipc_shm_Xverbose_LDADD = $(LDADD) +ipc_shm_Xverbose_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) @@ -1015,6 +1157,18 @@ keyctl_SOURCES = keyctl.c keyctl_OBJECTS = keyctl.$(OBJEXT) keyctl_LDADD = $(LDADD) keyctl_DEPENDENCIES = libtests.a +keyctl_Xabbrev_SOURCES = keyctl-Xabbrev.c +keyctl_Xabbrev_OBJECTS = keyctl-Xabbrev.$(OBJEXT) +keyctl_Xabbrev_LDADD = $(LDADD) +keyctl_Xabbrev_DEPENDENCIES = libtests.a +keyctl_Xraw_SOURCES = keyctl-Xraw.c +keyctl_Xraw_OBJECTS = keyctl-Xraw.$(OBJEXT) +keyctl_Xraw_LDADD = $(LDADD) +keyctl_Xraw_DEPENDENCIES = libtests.a +keyctl_Xverbose_SOURCES = keyctl-Xverbose.c +keyctl_Xverbose_OBJECTS = keyctl-Xverbose.$(OBJEXT) +keyctl_Xverbose_LDADD = $(LDADD) +keyctl_Xverbose_DEPENDENCIES = libtests.a kill_SOURCES = kill.c kill_OBJECTS = kill.$(OBJEXT) kill_LDADD = $(LDADD) @@ -1122,10 +1276,34 @@ mmap_SOURCES = mmap.c mmap_OBJECTS = mmap.$(OBJEXT) mmap_LDADD = $(LDADD) mmap_DEPENDENCIES = libtests.a +mmap_Xabbrev_SOURCES = mmap-Xabbrev.c +mmap_Xabbrev_OBJECTS = mmap-Xabbrev.$(OBJEXT) +mmap_Xabbrev_LDADD = $(LDADD) +mmap_Xabbrev_DEPENDENCIES = libtests.a +mmap_Xraw_SOURCES = mmap-Xraw.c +mmap_Xraw_OBJECTS = mmap-Xraw.$(OBJEXT) +mmap_Xraw_LDADD = $(LDADD) +mmap_Xraw_DEPENDENCIES = libtests.a +mmap_Xverbose_SOURCES = mmap-Xverbose.c +mmap_Xverbose_OBJECTS = mmap-Xverbose.$(OBJEXT) +mmap_Xverbose_LDADD = $(LDADD) +mmap_Xverbose_DEPENDENCIES = libtests.a mmap64_SOURCES = mmap64.c mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT) mmap64_LDADD = $(LDADD) mmap64_DEPENDENCIES = libtests.a +mmap64_Xabbrev_SOURCES = mmap64-Xabbrev.c +mmap64_Xabbrev_OBJECTS = mmap64_Xabbrev-mmap64-Xabbrev.$(OBJEXT) +mmap64_Xabbrev_LDADD = $(LDADD) +mmap64_Xabbrev_DEPENDENCIES = libtests.a +mmap64_Xraw_SOURCES = mmap64-Xraw.c +mmap64_Xraw_OBJECTS = mmap64_Xraw-mmap64-Xraw.$(OBJEXT) +mmap64_Xraw_LDADD = $(LDADD) +mmap64_Xraw_DEPENDENCIES = libtests.a +mmap64_Xverbose_SOURCES = mmap64-Xverbose.c +mmap64_Xverbose_OBJECTS = mmap64_Xverbose-mmap64-Xverbose.$(OBJEXT) +mmap64_Xverbose_LDADD = $(LDADD) +mmap64_Xverbose_DEPENDENCIES = libtests.a mmsg_SOURCES = mmsg.c mmsg_OBJECTS = mmsg.$(OBJEXT) mmsg_LDADD = $(LDADD) @@ -1150,6 +1328,18 @@ mount_SOURCES = mount.c mount_OBJECTS = mount.$(OBJEXT) mount_LDADD = $(LDADD) mount_DEPENDENCIES = libtests.a +mount_Xabbrev_SOURCES = mount-Xabbrev.c +mount_Xabbrev_OBJECTS = mount-Xabbrev.$(OBJEXT) +mount_Xabbrev_LDADD = $(LDADD) +mount_Xabbrev_DEPENDENCIES = libtests.a +mount_Xraw_SOURCES = mount-Xraw.c +mount_Xraw_OBJECTS = mount-Xraw.$(OBJEXT) +mount_Xraw_LDADD = $(LDADD) +mount_Xraw_DEPENDENCIES = libtests.a +mount_Xverbose_SOURCES = mount-Xverbose.c +mount_Xverbose_OBJECTS = mount-Xverbose.$(OBJEXT) +mount_Xverbose_LDADD = $(LDADD) +mount_Xverbose_DEPENDENCIES = libtests.a move_pages_SOURCES = move_pages.c move_pages_OBJECTS = move_pages.$(OBJEXT) move_pages_LDADD = $(LDADD) @@ -1353,10 +1543,18 @@ nlattr_ifinfomsg_SOURCES = nlattr_ifinfomsg.c nlattr_ifinfomsg_OBJECTS = nlattr_ifinfomsg.$(OBJEXT) nlattr_ifinfomsg_LDADD = $(LDADD) nlattr_ifinfomsg_DEPENDENCIES = libtests.a +nlattr_ifla_af_spec_SOURCES = nlattr_ifla_af_spec.c +nlattr_ifla_af_spec_OBJECTS = nlattr_ifla_af_spec.$(OBJEXT) +nlattr_ifla_af_spec_LDADD = $(LDADD) +nlattr_ifla_af_spec_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_linkinfo_SOURCES = nlattr_ifla_linkinfo.c +nlattr_ifla_linkinfo_OBJECTS = nlattr_ifla_linkinfo.$(OBJEXT) +nlattr_ifla_linkinfo_LDADD = $(LDADD) +nlattr_ifla_linkinfo_DEPENDENCIES = libtests.a nlattr_ifla_port_SOURCES = nlattr_ifla_port.c nlattr_ifla_port_OBJECTS = nlattr_ifla_port.$(OBJEXT) nlattr_ifla_port_LDADD = $(LDADD) @@ -1458,6 +1656,18 @@ 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_Xabbrev_SOURCES = old_mmap-Xabbrev.c +old_mmap_Xabbrev_OBJECTS = old_mmap-Xabbrev.$(OBJEXT) +old_mmap_Xabbrev_LDADD = $(LDADD) +old_mmap_Xabbrev_DEPENDENCIES = libtests.a +old_mmap_Xraw_SOURCES = old_mmap-Xraw.c +old_mmap_Xraw_OBJECTS = old_mmap-Xraw.$(OBJEXT) +old_mmap_Xraw_LDADD = $(LDADD) +old_mmap_Xraw_DEPENDENCIES = libtests.a +old_mmap_Xverbose_SOURCES = old_mmap-Xverbose.c +old_mmap_Xverbose_OBJECTS = old_mmap-Xverbose.$(OBJEXT) +old_mmap_Xverbose_LDADD = $(LDADD) +old_mmap_Xverbose_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) @@ -1526,6 +1736,18 @@ personality_SOURCES = personality.c personality_OBJECTS = personality.$(OBJEXT) personality_LDADD = $(LDADD) personality_DEPENDENCIES = libtests.a +personality_Xabbrev_SOURCES = personality-Xabbrev.c +personality_Xabbrev_OBJECTS = personality-Xabbrev.$(OBJEXT) +personality_Xabbrev_LDADD = $(LDADD) +personality_Xabbrev_DEPENDENCIES = libtests.a +personality_Xraw_SOURCES = personality-Xraw.c +personality_Xraw_OBJECTS = personality-Xraw.$(OBJEXT) +personality_Xraw_LDADD = $(LDADD) +personality_Xraw_DEPENDENCIES = libtests.a +personality_Xverbose_SOURCES = personality-Xverbose.c +personality_Xverbose_OBJECTS = personality-Xverbose.$(OBJEXT) +personality_Xverbose_LDADD = $(LDADD) +personality_Xverbose_DEPENDENCIES = libtests.a pipe_SOURCES = pipe.c pipe_OBJECTS = pipe.$(OBJEXT) pipe_LDADD = $(LDADD) @@ -1598,6 +1820,10 @@ prctl_securebits_SOURCES = prctl-securebits.c prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT) prctl_securebits_LDADD = $(LDADD) prctl_securebits_DEPENDENCIES = libtests.a +prctl_spec_inject_SOURCES = prctl-spec-inject.c +prctl_spec_inject_OBJECTS = prctl-spec-inject.$(OBJEXT) +prctl_spec_inject_LDADD = $(LDADD) +prctl_spec_inject_DEPENDENCIES = libtests.a prctl_tid_address_SOURCES = prctl-tid_address.c prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT) prctl_tid_address_LDADD = $(LDADD) @@ -2088,10 +2314,34 @@ so_peercred_SOURCES = so_peercred.c so_peercred_OBJECTS = so_peercred.$(OBJEXT) so_peercred_LDADD = $(LDADD) so_peercred_DEPENDENCIES = libtests.a +so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c +so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT) +so_peercred_Xabbrev_LDADD = $(LDADD) +so_peercred_Xabbrev_DEPENDENCIES = libtests.a +so_peercred_Xraw_SOURCES = so_peercred-Xraw.c +so_peercred_Xraw_OBJECTS = so_peercred-Xraw.$(OBJEXT) +so_peercred_Xraw_LDADD = $(LDADD) +so_peercred_Xraw_DEPENDENCIES = libtests.a +so_peercred_Xverbose_SOURCES = so_peercred-Xverbose.c +so_peercred_Xverbose_OBJECTS = so_peercred-Xverbose.$(OBJEXT) +so_peercred_Xverbose_LDADD = $(LDADD) +so_peercred_Xverbose_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 +sock_filter_v_Xabbrev_SOURCES = sock_filter-v-Xabbrev.c +sock_filter_v_Xabbrev_OBJECTS = sock_filter-v-Xabbrev.$(OBJEXT) +sock_filter_v_Xabbrev_LDADD = $(LDADD) +sock_filter_v_Xabbrev_DEPENDENCIES = libtests.a +sock_filter_v_Xraw_SOURCES = sock_filter-v-Xraw.c +sock_filter_v_Xraw_OBJECTS = sock_filter-v-Xraw.$(OBJEXT) +sock_filter_v_Xraw_LDADD = $(LDADD) +sock_filter_v_Xraw_DEPENDENCIES = libtests.a +sock_filter_v_Xverbose_SOURCES = sock_filter-v-Xverbose.c +sock_filter_v_Xverbose_OBJECTS = sock_filter-v-Xverbose.$(OBJEXT) +sock_filter_v_Xverbose_LDADD = $(LDADD) +sock_filter_v_Xverbose_DEPENDENCIES = libtests.a socketcall_SOURCES = socketcall.c socketcall_OBJECTS = socketcall.$(OBJEXT) socketcall_LDADD = $(LDADD) @@ -2402,45 +2652,58 @@ 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 \ + accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2456,59 +2719,64 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2526,44 +2794,57 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fallocate.c fanotify_init.c fanotify_mark.c \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2579,59 +2860,64 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2879,12 +3165,12 @@ am__set_b = \ 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 +ACLOCAL = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/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 +AUTOCONF = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing autoconf +AUTOHEADER = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing autoheader +AUTOMAKE = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing automake-1.14 AWK = gawk BUILD_EXEEXT = BUILD_OBJEXT = @@ -2905,7 +3191,7 @@ CPPFLAGS = CPPFLAGS_FOR_BUILD = CPP_FOR_BUILD = gcc -E CYGPATH_W = echo -DEB_CHANGELOGTIME = Thu, 14 Jun 2018 16:29:09 -0700 +DEB_CHANGELOGTIME = Fri, 15 Jun 2018 17:54:18 +0000 DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = @@ -2932,23 +3218,23 @@ LIBOBJS = LIBS = LTLIBOBJS = MAINT = # -MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing makeinfo -MANPAGE_DATE = 2018-04-04 +MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/missing makeinfo +MANPAGE_DATE = 2018-06-13 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_STRING = strace 4.23 PACKAGE_TARNAME = strace PACKAGE_URL = https://strace.io -PACKAGE_VERSION = 4.22 +PACKAGE_VERSION = 4.23 PATH_SEPARATOR = : PERL = /usr/bin/perl RANLIB = aarch64-linux-android-ranlib READELF = aarch64-linux-android-readelf -RPM_CHANGELOGTIME = Thu Jun 14 2018 +RPM_CHANGELOGTIME = Fri Jun 15 2018 SED = /bin/sed SET_MAKE = SHELL = /bin/sh @@ -2957,13 +3243,13 @@ SIZEOF_LONG = 8 STRIP = aarch64-linux-android-strip VALGRIND = valgrind VALGRIND_ENABLED = yes -VERSION = 4.22 +VERSION = 4.23 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 +abs_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.23/tests +abs_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.23/tests +abs_top_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 +abs_top_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.23 ac_ct_CC = ac_ct_CC_FOR_BUILD = gcc am__include = include @@ -2999,8 +3285,12 @@ 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 +install_sh = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.23/install-sh libdir = ${exec_prefix}/lib +libdw_CFLAGS = +libdw_CPPFLAGS = +libdw_LDFLAGS = +libdw_LIBS = libexecdir = ${exec_prefix}/libexec libiberty_CPPFLAGS = libiberty_LDFLAGS = @@ -3095,9 +3385,14 @@ PURE_EXECUTABLES = \ add_key \ adjtimex \ aio \ + aio_pgetevents \ alarm \ bpf \ bpf-v \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ brk \ btrfs \ caps \ @@ -3130,6 +3425,9 @@ PURE_EXECUTABLES = \ fallocate \ fanotify_init \ fanotify_mark \ + fanotify_mark-Xabbrev \ + fanotify_mark-Xraw \ + fanotify_mark-Xverbose \ fchdir \ fchmod \ fchmodat \ @@ -3192,10 +3490,13 @@ PURE_EXECUTABLES = \ ioctl_block \ ioctl_dm \ ioctl_evdev \ + ioctl_inotify \ ioctl_kvm_run \ ioctl_loop \ ioctl_mtd \ ioctl_rtc \ + ioctl_perf \ + ioctl_ptp \ ioctl_scsi \ ioctl_sg_io_v3 \ ioctl_sg_io_v4 \ @@ -3208,15 +3509,30 @@ PURE_EXECUTABLES = \ ip_mreq \ ipc \ ipc_msg \ + ipc_msg-Xabbrev \ + ipc_msg-Xraw \ + ipc_msg-Xverbose \ ipc_msgbuf \ + ipc_msgbuf-Xabbrev \ + ipc_msgbuf-Xraw \ + ipc_msgbuf-Xverbose \ ipc_sem \ + ipc_sem-Xabbrev \ + ipc_sem-Xraw \ + ipc_sem-Xverbose \ ipc_shm \ + ipc_shm-Xabbrev \ + ipc_shm-Xraw \ + ipc_shm-Xverbose \ kcmp \ kcmp-y \ kern_features \ kexec_file_load \ kexec_load \ keyctl \ + keyctl-Xabbrev \ + keyctl-Xraw \ + keyctl-Xverbose \ kill \ lchown \ lchown32 \ @@ -3241,11 +3557,20 @@ PURE_EXECUTABLES = \ mlock2 \ mlockall \ mmap \ + mmap-Xabbrev \ + mmap-Xraw \ + mmap-Xverbose \ mmap64 \ + mmap64-Xabbrev \ + mmap64-Xraw \ + mmap64-Xverbose \ mmsg \ mmsg_name \ modify_ldt \ mount \ + mount-Xabbrev \ + mount-Xraw \ + mount-Xverbose \ move_pages \ mq \ mq_sendrecv \ @@ -3292,7 +3617,9 @@ PURE_EXECUTABLES = \ nlattr_ifaddrlblmsg \ nlattr_ifaddrmsg \ nlattr_ifinfomsg \ + nlattr_ifla_af_spec \ nlattr_ifla_brport \ + nlattr_ifla_linkinfo \ nlattr_ifla_port \ nlattr_ifla_xdp \ nlattr_inet_diag_msg \ @@ -3317,6 +3644,9 @@ PURE_EXECUTABLES = \ old_mmap \ old_mmap-P \ old_mmap-v-none \ + old_mmap-Xabbrev \ + old_mmap-Xraw \ + old_mmap-Xverbose \ oldfstat \ oldlstat \ oldselect \ @@ -3328,6 +3658,9 @@ PURE_EXECUTABLES = \ pause \ perf_event_open \ personality \ + personality-Xabbrev \ + personality-Xraw \ + personality-Xverbose \ pipe \ pipe2 \ pkey_alloc \ @@ -3444,7 +3777,13 @@ PURE_EXECUTABLES = \ sigsuspend \ so_linger \ so_peercred \ + so_peercred-Xabbrev \ + so_peercred-Xraw \ + so_peercred-Xverbose \ sock_filter-v \ + sock_filter-v-Xabbrev \ + sock_filter-v-Xraw \ + sock_filter-v-Xverbose \ socketcall \ sockopt-sol_netlink \ splice \ @@ -3515,6 +3854,9 @@ 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 +mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xverbose_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) @@ -3539,10 +3881,14 @@ stack_fcall_mangled_SOURCES = stack-fcall-mangled.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 \ + add_key.gen.test adjtimex.gen.test aio.gen.test \ + aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ + bpf-v.gen.test bpf-obj_get_info_by_fd.gen.test \ + bpf-obj_get_info_by_fd-v.gen.test \ + bpf-obj_get_info_by_fd-prog.gen.test \ + bpf-obj_get_info_by_fd-prog-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 \ @@ -3550,70 +3896,85 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + fanotify_mark.gen.test fanotify_mark-Xabbrev.gen.test \ + fanotify_mark-Xraw.gen.test fanotify_mark-Xverbose.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_inotify.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 \ + ioctl_mtd.gen.test ioctl_nsfs.gen.test ioctl_perf.gen.test \ + ioctl_ptp.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_msg-Xabbrev.gen.test \ + ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \ + ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \ + ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \ + ipc_sem-Xabbrev.gen.test ipc_sem-Xraw.gen.test \ + ipc_sem-Xverbose.gen.test ipc_shm.gen.test \ + ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \ + ipc_shm-Xverbose.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 keyctl-Xabbrev.gen.test \ + keyctl-Xraw.gen.test keyctl-Xverbose.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 \ + mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ + mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \ + mmap64-Xraw.gen.test mmap64-Xverbose.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 mount-Xabbrev.gen.test \ + mount-Xraw.gen.test mount-Xverbose.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_af_spec.gen.test \ + nlattr_ifla_brport.gen.test nlattr_ifla_linkinfo.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 \ @@ -3625,16 +3986,19 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + old_mmap-P.gen.test old_mmap-v-none.gen.test \ + old_mmap-Xabbrev.gen.test old_mmap-Xraw.gen.test \ + old_mmap-Xverbose.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 \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.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 \ @@ -3675,22 +4039,29 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + so_linger.gen.test so_peercred.gen.test \ + so_peercred-Xabbrev.gen.test so_peercred-Xraw.gen.test \ + so_peercred-Xverbose.gen.test sock_filter-v.gen.test \ + sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \ + sock_filter-v-Xverbose.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_personality_32.gen.test \ + trace_personality_64.gen.test trace_personality_x32.gen.test \ + trace_personality_regex_32.gen.test \ + trace_personality_regex_64.gen.test \ + trace_personality_regex_x32.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 \ @@ -3700,13 +4071,20 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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) +STACKTRACE_TESTS = +#STACKTRACE_TESTS = strace-k.test \ +# $(am__append_1) DECODER_TESTS = \ + bpf-success.test \ + bpf-success-v.test \ brk.test \ btrfs-v.test \ btrfs-vw.test \ + btrfs-vwX.test \ + btrfs-vX.test \ btrfs-w.test \ + btrfs-wX.test \ + btrfs-X.test \ caps-abbrev.test \ caps.test \ eventfd.test \ @@ -3716,6 +4094,7 @@ DECODER_TESTS = \ futex.test \ getuid.test \ ioctl.test \ + ioctl_perf-success.test \ ipc_msgbuf.test \ kern_features-fault.test \ llseek.test \ @@ -3742,6 +4121,7 @@ DECODER_TESTS = \ prctl-seccomp-filter-v.test \ prctl-seccomp-strict.test \ prctl-securebits.test \ + prctl-spec-inject.test \ prctl-tid_address.test \ prctl-tsc.test \ qual_fault-exit_group.test \ @@ -3790,9 +4170,13 @@ MISC_TESTS = \ printstrn-umoven-legacy.test \ qual_fault-syntax.test \ qual_fault.test \ + qual_fault-syscall.test \ qual_inject-error-signal.test \ + qual_inject-error-signal-syscall.test \ qual_inject-retval.test \ + qual_inject-retval-syscall.test \ qual_inject-signal.test \ + qual_inject-signal-syscall.test \ qual_inject-syntax.test \ qual_signal.test \ qual_syscall.test \ @@ -3816,8 +4200,8 @@ MISC_TESTS = \ # end of MISC_TESTS XFAIL_TESTS_ = -XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS) -XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS) +XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) +XFAIL_TESTS_mx32 = $(STACKTRACE_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)) @@ -3838,6 +4222,7 @@ EXTRA_DIST = \ count-f.expected \ eventfd.expected \ fadvise.h \ + fcntl-common.c \ filter-unavailable.expected \ fstatat.c \ fstatx.c \ @@ -3848,12 +4233,12 @@ EXTRA_DIST = \ init.sh \ init_delete_module.h \ ipc.sh \ - ipc_msgbuf.expected \ ksysent.sed \ lstatx.c \ match.awk \ net.expected \ netlink_sock_diag-v.sh \ + nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ process_vm_readv_writev.c \ @@ -3861,6 +4246,8 @@ EXTRA_DIST = \ qual_fault-exit_group.expected \ qual_inject-error-signal.expected \ qual_inject-signal.expected \ + qualify_personality.sh \ + qualify_personality_empty.in \ quotactl.h \ regex.in \ rt_sigaction.awk \ @@ -3878,16 +4265,23 @@ EXTRA_DIST = \ strace-E.expected \ strace-T.expected \ strace-ff.expected \ + strace-k-demangle.expected \ strace-k-demangle.test \ + strace-k.expected \ 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_personality_32.in \ + trace_personality_64.in \ + trace_personality_x32.in \ + trace_personality_regex_32.in \ + trace_personality_regex_64.in \ + trace_personality_regex_x32.in \ trace_question.in \ trace_stat.in \ trace_stat_like.in \ @@ -4001,6 +4395,10 @@ aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES) @rm -f aio$(EXEEXT) $(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS) +aio_pgetevents$(EXEEXT): $(aio_pgetevents_OBJECTS) $(aio_pgetevents_DEPENDENCIES) $(EXTRA_aio_pgetevents_DEPENDENCIES) + @rm -f aio_pgetevents$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(aio_pgetevents_OBJECTS) $(aio_pgetevents_LDADD) $(LIBS) + alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES) @rm -f alarm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS) @@ -4033,6 +4431,30 @@ bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES) @rm -f bpf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS) +bpf-obj_get_info_by_fd$(EXEEXT): $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog-v$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-v$(EXEEXT): $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_LDADD) $(LIBS) + +bpf-success$(EXEEXT): $(bpf_success_OBJECTS) $(bpf_success_DEPENDENCIES) $(EXTRA_bpf_success_DEPENDENCIES) + @rm -f bpf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_OBJECTS) $(bpf_success_LDADD) $(LIBS) + +bpf-success-v$(EXEEXT): $(bpf_success_v_OBJECTS) $(bpf_success_v_DEPENDENCIES) $(EXTRA_bpf_success_v_DEPENDENCIES) + @rm -f bpf-success-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_v_OBJECTS) $(bpf_success_v_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) @@ -4201,6 +4623,18 @@ fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $ @rm -f fanotify_mark$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS) +fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) + @rm -f fanotify_mark-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) + +fanotify_mark-Xraw$(EXEEXT): $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_DEPENDENCIES) $(EXTRA_fanotify_mark_Xraw_DEPENDENCIES) + @rm -f fanotify_mark-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_LDADD) $(LIBS) + +fanotify_mark-Xverbose$(EXEEXT): $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_DEPENDENCIES) $(EXTRA_fanotify_mark_Xverbose_DEPENDENCIES) + @rm -f fanotify_mark-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_LDADD) $(LIBS) + fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES) @rm -f fchdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS) @@ -4481,6 +4915,10 @@ ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $ @rm -f ioctl_evdev-v$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS) +ioctl_inotify$(EXEEXT): $(ioctl_inotify_OBJECTS) $(ioctl_inotify_DEPENDENCIES) $(EXTRA_ioctl_inotify_DEPENDENCIES) + @rm -f ioctl_inotify$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_inotify_OBJECTS) $(ioctl_inotify_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) @@ -4505,6 +4943,18 @@ ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_io @rm -f ioctl_nsfs$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_LDADD) $(LIBS) +ioctl_perf$(EXEEXT): $(ioctl_perf_OBJECTS) $(ioctl_perf_DEPENDENCIES) $(EXTRA_ioctl_perf_DEPENDENCIES) + @rm -f ioctl_perf$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_OBJECTS) $(ioctl_perf_LDADD) $(LIBS) + +ioctl_perf-success$(EXEEXT): $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_DEPENDENCIES) $(EXTRA_ioctl_perf_success_DEPENDENCIES) + @rm -f ioctl_perf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_LDADD) $(LIBS) + +ioctl_ptp$(EXEEXT): $(ioctl_ptp_OBJECTS) $(ioctl_ptp_DEPENDENCIES) $(EXTRA_ioctl_ptp_DEPENDENCIES) + @rm -f ioctl_ptp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_ptp_OBJECTS) $(ioctl_ptp_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) @@ -4561,18 +5011,66 @@ ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEP @rm -f ipc_msg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS) +ipc_msg-Xabbrev$(EXEEXT): $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msg_Xabbrev_DEPENDENCIES) + @rm -f ipc_msg-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_LDADD) $(LIBS) + +ipc_msg-Xraw$(EXEEXT): $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_DEPENDENCIES) $(EXTRA_ipc_msg_Xraw_DEPENDENCIES) + @rm -f ipc_msg-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_LDADD) $(LIBS) + +ipc_msg-Xverbose$(EXEEXT): $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msg_Xverbose_DEPENDENCIES) + @rm -f ipc_msg-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_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_msgbuf-Xabbrev$(EXEEXT): $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xabbrev_DEPENDENCIES) + @rm -f ipc_msgbuf-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_LDADD) $(LIBS) + +ipc_msgbuf-Xraw$(EXEEXT): $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xraw_DEPENDENCIES) + @rm -f ipc_msgbuf-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_LDADD) $(LIBS) + +ipc_msgbuf-Xverbose$(EXEEXT): $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xverbose_DEPENDENCIES) + @rm -f ipc_msgbuf-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_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_sem-Xabbrev$(EXEEXT): $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_sem_Xabbrev_DEPENDENCIES) + @rm -f ipc_sem-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_LDADD) $(LIBS) + +ipc_sem-Xraw$(EXEEXT): $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_DEPENDENCIES) $(EXTRA_ipc_sem_Xraw_DEPENDENCIES) + @rm -f ipc_sem-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_LDADD) $(LIBS) + +ipc_sem-Xverbose$(EXEEXT): $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_DEPENDENCIES) $(EXTRA_ipc_sem_Xverbose_DEPENDENCIES) + @rm -f ipc_sem-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_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) +ipc_shm-Xabbrev$(EXEEXT): $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_shm_Xabbrev_DEPENDENCIES) + @rm -f ipc_shm-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_LDADD) $(LIBS) + +ipc_shm-Xraw$(EXEEXT): $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_DEPENDENCIES) $(EXTRA_ipc_shm_Xraw_DEPENDENCIES) + @rm -f ipc_shm-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_LDADD) $(LIBS) + +ipc_shm-Xverbose$(EXEEXT): $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_DEPENDENCIES) $(EXTRA_ipc_shm_Xverbose_DEPENDENCIES) + @rm -f ipc_shm-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_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) @@ -4601,6 +5099,18 @@ keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDE @rm -f keyctl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS) +keyctl-Xabbrev$(EXEEXT): $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_DEPENDENCIES) $(EXTRA_keyctl_Xabbrev_DEPENDENCIES) + @rm -f keyctl-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_LDADD) $(LIBS) + +keyctl-Xraw$(EXEEXT): $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_DEPENDENCIES) $(EXTRA_keyctl_Xraw_DEPENDENCIES) + @rm -f keyctl-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_LDADD) $(LIBS) + +keyctl-Xverbose$(EXEEXT): $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_DEPENDENCIES) $(EXTRA_keyctl_Xverbose_DEPENDENCIES) + @rm -f keyctl-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_LDADD) $(LIBS) + kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES) @rm -f kill$(EXEEXT) $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) @@ -4709,10 +5219,34 @@ mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES) @rm -f mmap$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS) +mmap-Xabbrev$(EXEEXT): $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_DEPENDENCIES) $(EXTRA_mmap_Xabbrev_DEPENDENCIES) + @rm -f mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_LDADD) $(LIBS) + +mmap-Xraw$(EXEEXT): $(mmap_Xraw_OBJECTS) $(mmap_Xraw_DEPENDENCIES) $(EXTRA_mmap_Xraw_DEPENDENCIES) + @rm -f mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xraw_OBJECTS) $(mmap_Xraw_LDADD) $(LIBS) + +mmap-Xverbose$(EXEEXT): $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_DEPENDENCIES) $(EXTRA_mmap_Xverbose_DEPENDENCIES) + @rm -f mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_LDADD) $(LIBS) + mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES) @rm -f mmap64$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS) +mmap64-Xabbrev$(EXEEXT): $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_DEPENDENCIES) $(EXTRA_mmap64_Xabbrev_DEPENDENCIES) + @rm -f mmap64-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_LDADD) $(LIBS) + +mmap64-Xraw$(EXEEXT): $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_DEPENDENCIES) $(EXTRA_mmap64_Xraw_DEPENDENCIES) + @rm -f mmap64-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_LDADD) $(LIBS) + +mmap64-Xverbose$(EXEEXT): $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_DEPENDENCIES) $(EXTRA_mmap64_Xverbose_DEPENDENCIES) + @rm -f mmap64-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_LDADD) $(LIBS) + mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES) @rm -f mmsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS) @@ -4737,6 +5271,18 @@ mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIE @rm -f mount$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS) +mount-Xabbrev$(EXEEXT): $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_DEPENDENCIES) $(EXTRA_mount_Xabbrev_DEPENDENCIES) + @rm -f mount-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_LDADD) $(LIBS) + +mount-Xraw$(EXEEXT): $(mount_Xraw_OBJECTS) $(mount_Xraw_DEPENDENCIES) $(EXTRA_mount_Xraw_DEPENDENCIES) + @rm -f mount-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xraw_OBJECTS) $(mount_Xraw_LDADD) $(LIBS) + +mount-Xverbose$(EXEEXT): $(mount_Xverbose_OBJECTS) $(mount_Xverbose_DEPENDENCIES) $(EXTRA_mount_Xverbose_DEPENDENCIES) + @rm -f mount-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xverbose_OBJECTS) $(mount_Xverbose_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) @@ -4941,10 +5487,18 @@ nlattr_ifinfomsg$(EXEEXT): $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_DEPEND @rm -f nlattr_ifinfomsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_LDADD) $(LIBS) +nlattr_ifla_af_spec$(EXEEXT): $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_DEPENDENCIES) $(EXTRA_nlattr_ifla_af_spec_DEPENDENCIES) + @rm -f nlattr_ifla_af_spec$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_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_linkinfo$(EXEEXT): $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_DEPENDENCIES) $(EXTRA_nlattr_ifla_linkinfo_DEPENDENCIES) + @rm -f nlattr_ifla_linkinfo$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_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) @@ -5045,6 +5599,18 @@ old_mmap-P$(EXEEXT): $(old_mmap_P_OBJECTS) $(old_mmap_P_DEPENDENCIES) $(EXTRA_ol @rm -f old_mmap-P$(EXEEXT) $(AM_V_CCLD)$(LINK) $(old_mmap_P_OBJECTS) $(old_mmap_P_LDADD) $(LIBS) +old_mmap-Xabbrev$(EXEEXT): $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_DEPENDENCIES) $(EXTRA_old_mmap_Xabbrev_DEPENDENCIES) + @rm -f old_mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_LDADD) $(LIBS) + +old_mmap-Xraw$(EXEEXT): $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_DEPENDENCIES) $(EXTRA_old_mmap_Xraw_DEPENDENCIES) + @rm -f old_mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_LDADD) $(LIBS) + +old_mmap-Xverbose$(EXEEXT): $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_DEPENDENCIES) $(EXTRA_old_mmap_Xverbose_DEPENDENCIES) + @rm -f old_mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_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) @@ -5113,6 +5679,18 @@ personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA @rm -f personality$(EXEEXT) $(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS) +personality-Xabbrev$(EXEEXT): $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_DEPENDENCIES) $(EXTRA_personality_Xabbrev_DEPENDENCIES) + @rm -f personality-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_LDADD) $(LIBS) + +personality-Xraw$(EXEEXT): $(personality_Xraw_OBJECTS) $(personality_Xraw_DEPENDENCIES) $(EXTRA_personality_Xraw_DEPENDENCIES) + @rm -f personality-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xraw_OBJECTS) $(personality_Xraw_LDADD) $(LIBS) + +personality-Xverbose$(EXEEXT): $(personality_Xverbose_OBJECTS) $(personality_Xverbose_DEPENDENCIES) $(EXTRA_personality_Xverbose_DEPENDENCIES) + @rm -f personality-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xverbose_OBJECTS) $(personality_Xverbose_LDADD) $(LIBS) + pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) @rm -f pipe$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS) @@ -5185,6 +5763,10 @@ prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPEND @rm -f prctl-securebits$(EXEEXT) $(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS) +prctl-spec-inject$(EXEEXT): $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_DEPENDENCIES) $(EXTRA_prctl_spec_inject_DEPENDENCIES) + @rm -f prctl-spec-inject$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_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) @@ -5669,10 +6251,34 @@ so_peercred$(EXEEXT): $(so_peercred_OBJECTS) $(so_peercred_DEPENDENCIES) $(EXTRA @rm -f so_peercred$(EXEEXT) $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS) +so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) + @rm -f so_peercred-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS) + +so_peercred-Xraw$(EXEEXT): $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_DEPENDENCIES) $(EXTRA_so_peercred_Xraw_DEPENDENCIES) + @rm -f so_peercred-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_LDADD) $(LIBS) + +so_peercred-Xverbose$(EXEEXT): $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_DEPENDENCIES) $(EXTRA_so_peercred_Xverbose_DEPENDENCIES) + @rm -f so_peercred-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_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) +sock_filter-v-Xabbrev$(EXEEXT): $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_DEPENDENCIES) $(EXTRA_sock_filter_v_Xabbrev_DEPENDENCIES) + @rm -f sock_filter-v-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_LDADD) $(LIBS) + +sock_filter-v-Xraw$(EXEEXT): $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_DEPENDENCIES) $(EXTRA_sock_filter_v_Xraw_DEPENDENCIES) + @rm -f sock_filter-v-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_LDADD) $(LIBS) + +sock_filter-v-Xverbose$(EXEEXT): $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_DEPENDENCIES) $(EXTRA_sock_filter_v_Xverbose_DEPENDENCIES) + @rm -f sock_filter-v-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_LDADD) $(LIBS) + socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES) @rm -f socketcall$(EXEEXT) $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS) @@ -5960,6 +6566,7 @@ include ./$(DEPDIR)/acct.Po include ./$(DEPDIR)/add_key.Po include ./$(DEPDIR)/adjtimex.Po include ./$(DEPDIR)/aio.Po +include ./$(DEPDIR)/aio_pgetevents.Po include ./$(DEPDIR)/alarm.Po include ./$(DEPDIR)/answer.Po include ./$(DEPDIR)/attach-f-p-cmd.Po @@ -5967,6 +6574,12 @@ 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-obj_get_info_by_fd-prog-v.Po +include ./$(DEPDIR)/bpf-obj_get_info_by_fd-prog.Po +include ./$(DEPDIR)/bpf-obj_get_info_by_fd-v.Po +include ./$(DEPDIR)/bpf-obj_get_info_by_fd.Po +include ./$(DEPDIR)/bpf-success-v.Po +include ./$(DEPDIR)/bpf-success.Po include ./$(DEPDIR)/bpf-v.Po include ./$(DEPDIR)/bpf.Po include ./$(DEPDIR)/brk.Po @@ -6009,6 +6622,9 @@ include ./$(DEPDIR)/fadvise64.Po include ./$(DEPDIR)/fadvise64_64.Po include ./$(DEPDIR)/fallocate.Po include ./$(DEPDIR)/fanotify_init.Po +include ./$(DEPDIR)/fanotify_mark-Xabbrev.Po +include ./$(DEPDIR)/fanotify_mark-Xraw.Po +include ./$(DEPDIR)/fanotify_mark-Xverbose.Po include ./$(DEPDIR)/fanotify_mark.Po include ./$(DEPDIR)/fchdir.Po include ./$(DEPDIR)/fchmod.Po @@ -6080,12 +6696,16 @@ 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_inotify.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_perf-success.Po +include ./$(DEPDIR)/ioctl_perf.Po +include ./$(DEPDIR)/ioctl_ptp.Po include ./$(DEPDIR)/ioctl_rtc-v.Po include ./$(DEPDIR)/ioctl_rtc.Po include ./$(DEPDIR)/ioctl_scsi.Po @@ -6099,9 +6719,21 @@ include ./$(DEPDIR)/iopl.Po include ./$(DEPDIR)/ioprio.Po include ./$(DEPDIR)/ip_mreq.Po include ./$(DEPDIR)/ipc.Po +include ./$(DEPDIR)/ipc_msg-Xabbrev.Po +include ./$(DEPDIR)/ipc_msg-Xraw.Po +include ./$(DEPDIR)/ipc_msg-Xverbose.Po include ./$(DEPDIR)/ipc_msg.Po +include ./$(DEPDIR)/ipc_msgbuf-Xabbrev.Po +include ./$(DEPDIR)/ipc_msgbuf-Xraw.Po +include ./$(DEPDIR)/ipc_msgbuf-Xverbose.Po include ./$(DEPDIR)/ipc_msgbuf.Po +include ./$(DEPDIR)/ipc_sem-Xabbrev.Po +include ./$(DEPDIR)/ipc_sem-Xraw.Po +include ./$(DEPDIR)/ipc_sem-Xverbose.Po include ./$(DEPDIR)/ipc_sem.Po +include ./$(DEPDIR)/ipc_shm-Xabbrev.Po +include ./$(DEPDIR)/ipc_shm-Xraw.Po +include ./$(DEPDIR)/ipc_shm-Xverbose.Po include ./$(DEPDIR)/ipc_shm.Po include ./$(DEPDIR)/is_linux_mips_n64.Po include ./$(DEPDIR)/kcmp-y.Po @@ -6109,6 +6741,9 @@ include ./$(DEPDIR)/kcmp.Po include ./$(DEPDIR)/kern_features.Po include ./$(DEPDIR)/kexec_file_load.Po include ./$(DEPDIR)/kexec_load.Po +include ./$(DEPDIR)/keyctl-Xabbrev.Po +include ./$(DEPDIR)/keyctl-Xraw.Po +include ./$(DEPDIR)/keyctl-Xverbose.Po include ./$(DEPDIR)/keyctl.Po include ./$(DEPDIR)/kill.Po include ./$(DEPDIR)/ksysent.Po @@ -6162,13 +6797,22 @@ include ./$(DEPDIR)/mknodat.Po include ./$(DEPDIR)/mlock.Po include ./$(DEPDIR)/mlock2.Po include ./$(DEPDIR)/mlockall.Po +include ./$(DEPDIR)/mmap-Xabbrev.Po +include ./$(DEPDIR)/mmap-Xraw.Po +include ./$(DEPDIR)/mmap-Xverbose.Po include ./$(DEPDIR)/mmap.Po include ./$(DEPDIR)/mmap64-mmap64.Po +include ./$(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +include ./$(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +include ./$(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.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-Xabbrev.Po +include ./$(DEPDIR)/mount-Xraw.Po +include ./$(DEPDIR)/mount-Xverbose.Po include ./$(DEPDIR)/mount.Po include ./$(DEPDIR)/move_pages.Po include ./$(DEPDIR)/mq.Po @@ -6221,7 +6865,9 @@ 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_af_spec.Po include ./$(DEPDIR)/nlattr_ifla_brport.Po +include ./$(DEPDIR)/nlattr_ifla_linkinfo.Po include ./$(DEPDIR)/nlattr_ifla_port.Po include ./$(DEPDIR)/nlattr_ifla_xdp.Po include ./$(DEPDIR)/nlattr_inet_diag_msg.Po @@ -6246,6 +6892,9 @@ 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-Xabbrev.Po +include ./$(DEPDIR)/old_mmap-Xraw.Po +include ./$(DEPDIR)/old_mmap-Xverbose.Po include ./$(DEPDIR)/old_mmap-v-none.Po include ./$(DEPDIR)/old_mmap.Po include ./$(DEPDIR)/oldfstat.Po @@ -6263,6 +6912,9 @@ 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-Xabbrev.Po +include ./$(DEPDIR)/personality-Xraw.Po +include ./$(DEPDIR)/personality-Xverbose.Po include ./$(DEPDIR)/personality.Po include ./$(DEPDIR)/pipe.Po include ./$(DEPDIR)/pipe2.Po @@ -6282,6 +6934,7 @@ 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-spec-inject.Po include ./$(DEPDIR)/prctl-tid_address.Po include ./$(DEPDIR)/prctl-tsc.Po include ./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po @@ -6402,7 +7055,13 @@ include ./$(DEPDIR)/sigreturn.Po include ./$(DEPDIR)/sigsuspend.Po include ./$(DEPDIR)/sleep.Po include ./$(DEPDIR)/so_linger.Po +include ./$(DEPDIR)/so_peercred-Xabbrev.Po +include ./$(DEPDIR)/so_peercred-Xraw.Po +include ./$(DEPDIR)/so_peercred-Xverbose.Po include ./$(DEPDIR)/so_peercred.Po +include ./$(DEPDIR)/sock_filter-v-Xabbrev.Po +include ./$(DEPDIR)/sock_filter-v-Xraw.Po +include ./$(DEPDIR)/sock_filter-v-Xverbose.Po include ./$(DEPDIR)/sock_filter-v.Po include ./$(DEPDIR)/socketcall.Po include ./$(DEPDIR)/sockopt-sol_netlink.Po @@ -6929,6 +7588,48 @@ mmap64-mmap64.obj: mmap64.c # 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` +mmap64_Xabbrev-mmap64-Xabbrev.o: mmap64-Xabbrev.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.o -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +# $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c + +mmap64_Xabbrev-mmap64-Xabbrev.obj: mmap64-Xabbrev.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.obj -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +# $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` + +mmap64_Xraw-mmap64-Xraw.o: mmap64-Xraw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.o -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +# $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c + +mmap64_Xraw-mmap64-Xraw.obj: mmap64-Xraw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.obj -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +# $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` + +mmap64_Xverbose-mmap64-Xverbose.o: mmap64-Xverbose.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.o -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +# $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c + +mmap64_Xverbose-mmap64-Xverbose.obj: mmap64-Xverbose.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.obj -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +# $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.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 @@ -7480,6 +8181,9 @@ $(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/aio_pgetevents.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) $^ $@ @@ -7489,6 +8193,18 @@ $(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/bpf-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/bpf-obj_get_info_by_fd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog-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) $^ $@ @@ -7576,6 +8292,15 @@ $(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xverbose.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) $^ $@ @@ -7768,6 +8493,9 @@ $(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.i $(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_inotify.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) $^ $@ @@ -7786,6 +8514,12 @@ $(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ioctl_nsfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_perf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ioctl_ptp.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) $^ $@ @@ -7828,12 +8562,48 @@ $(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ipc_msg-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xverbose.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_sem-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xverbose.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)/ipc_shm-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xverbose.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) $^ $@ @@ -7852,6 +8622,15 @@ $(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/keyctl-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xverbose.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) $^ $@ @@ -7915,9 +8694,27 @@ $(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xverbose.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)/mmap64-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xverbose.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) $^ $@ @@ -7936,6 +8733,15 @@ $(srcdir)/modify_ldt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mount-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xverbose.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) $^ $@ @@ -8062,9 +8868,15 @@ $(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_te $(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/nlattr_ifla_af_spec.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_linkinfo.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) $^ $@ @@ -8137,6 +8949,15 @@ $(srcdir)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/old_mmap-v-none.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/old_mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xverbose.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) $^ $@ @@ -8179,6 +9000,15 @@ $(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcd $(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/personality-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xverbose.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) $^ $@ @@ -8509,9 +9339,27 @@ $(srcdir)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/so_peercred-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xverbose.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)/sock_filter-v-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xverbose.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) $^ $@ @@ -8593,6 +9441,24 @@ $(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/trace_personality_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_x32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_x32.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) $^ $@ diff --git a/tests/Makefile.am b/tests/Makefile.am index d88a09bc..34b08a9f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -93,6 +93,12 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \ attach-p-cmd-cmd \ attach-p-cmd-p \ block_reset_raise_run \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ + bpf-success \ + bpf-success-v \ caps-abbrev \ check_sigblock \ check_sigign \ @@ -115,6 +121,7 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \ ioctl_loop-nv \ ioctl_loop-v \ ioctl_nsfs \ + ioctl_perf-success \ ioctl_rtc-v \ is_linux_mips_n64 \ ksysent \ @@ -137,6 +144,7 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \ ppoll-v \ prctl-seccomp-filter-v \ prctl-seccomp-strict \ + prctl-spec-inject \ print_maxfd \ qual_fault \ qual_inject-error-signal \ @@ -179,6 +187,9 @@ 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 +mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xverbose_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) @@ -202,20 +213,26 @@ stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \ include gen_tests.am -if USE_LIBUNWIND -LIBUNWIND_TESTS = strace-k.test +if ENABLE_STACKTRACE +STACKTRACE_TESTS = strace-k.test if USE_DEMANGLE -LIBUNWIND_TESTS += strace-k-demangle.test +STACKTRACE_TESTS += strace-k-demangle.test endif else -LIBUNWIND_TESTS = +STACKTRACE_TESTS = endif DECODER_TESTS = \ + bpf-success.test \ + bpf-success-v.test \ brk.test \ btrfs-v.test \ btrfs-vw.test \ + btrfs-vwX.test \ + btrfs-vX.test \ btrfs-w.test \ + btrfs-wX.test \ + btrfs-X.test \ caps-abbrev.test \ caps.test \ eventfd.test \ @@ -225,6 +242,7 @@ DECODER_TESTS = \ futex.test \ getuid.test \ ioctl.test \ + ioctl_perf-success.test \ ipc_msgbuf.test \ kern_features-fault.test \ llseek.test \ @@ -251,6 +269,7 @@ DECODER_TESTS = \ prctl-seccomp-filter-v.test \ prctl-seccomp-strict.test \ prctl-securebits.test \ + prctl-spec-inject.test \ prctl-tid_address.test \ prctl-tsc.test \ qual_fault-exit_group.test \ @@ -299,9 +318,13 @@ MISC_TESTS = \ printstrn-umoven-legacy.test \ qual_fault-syntax.test \ qual_fault.test \ + qual_fault-syscall.test \ qual_inject-error-signal.test \ + qual_inject-error-signal-syscall.test \ qual_inject-retval.test \ + qual_inject-retval-syscall.test \ qual_inject-signal.test \ + qual_inject-signal-syscall.test \ qual_inject-syntax.test \ qual_signal.test \ qual_syscall.test \ @@ -324,11 +347,11 @@ MISC_TESTS = \ threads-execve.test \ # end of MISC_TESTS -TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS) +TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(STACKTRACE_TESTS) XFAIL_TESTS_ = -XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS) -XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS) +XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) +XFAIL_TESTS_mx32 = $(STACKTRACE_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)) @@ -352,6 +375,7 @@ EXTRA_DIST = \ count-f.expected \ eventfd.expected \ fadvise.h \ + fcntl-common.c \ filter-unavailable.expected \ fstatat.c \ fstatx.c \ @@ -362,12 +386,12 @@ EXTRA_DIST = \ init.sh \ init_delete_module.h \ ipc.sh \ - ipc_msgbuf.expected \ ksysent.sed \ lstatx.c \ match.awk \ net.expected \ netlink_sock_diag-v.sh \ + nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ process_vm_readv_writev.c \ @@ -375,6 +399,8 @@ EXTRA_DIST = \ qual_fault-exit_group.expected \ qual_inject-error-signal.expected \ qual_inject-signal.expected \ + qualify_personality.sh \ + qualify_personality_empty.in \ quotactl.h \ regex.in \ rt_sigaction.awk \ @@ -392,16 +418,23 @@ EXTRA_DIST = \ strace-E.expected \ strace-T.expected \ strace-ff.expected \ + strace-k-demangle.expected \ strace-k-demangle.test \ + strace-k.expected \ 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_personality_32.in \ + trace_personality_64.in \ + trace_personality_x32.in \ + trace_personality_regex_32.in \ + trace_personality_regex_64.in \ + trace_personality_regex_x32.in \ trace_question.in \ trace_stat.in \ trace_stat_like.in \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 01cf6f4f..4b8dee92 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -139,7 +139,11 @@ DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \ 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) \ + block_reset_raise_run$(EXEEXT) bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-v$(EXEEXT) bpf-success$(EXEEXT) \ + bpf-success-v$(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) \ @@ -147,7 +151,8 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) \ + ioctl_perf-success$(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) \ @@ -159,21 +164,22 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(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) \ + prctl-spec-inject$(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) -@USE_DEMANGLE_TRUE@@USE_LIBUNWIND_TRUE@am__append_1 = strace-k-demangle.test +@ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@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 @@ -181,7 +187,10 @@ 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_demangle.m4 $(top_srcdir)/m4/st_libdw.m4 \ + $(top_srcdir)/m4/st_libunwind.m4 \ $(top_srcdir)/m4/st_save_restore_var.m4 \ + $(top_srcdir)/m4/st_stacktrace.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) \ @@ -223,18 +232,25 @@ am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(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) \ + adjtimex$(EXEEXT) aio$(EXEEXT) aio_pgetevents$(EXEEXT) \ + alarm$(EXEEXT) bpf$(EXEEXT) bpf-v$(EXEEXT) \ + bpf-obj_get_info_by_fd$(EXEEXT) \ + bpf-obj_get_info_by_fd-v$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog$(EXEEXT) \ + bpf-obj_get_info_by_fd-prog-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) \ + fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ + fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ @@ -255,49 +271,62 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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_evdev$(EXEEXT) ioctl_inotify$(EXEEXT) \ + ioctl_kvm_run$(EXEEXT) ioctl_loop$(EXEEXT) ioctl_mtd$(EXEEXT) \ + ioctl_rtc$(EXEEXT) ioctl_perf$(EXEEXT) ioctl_ptp$(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) \ + ipc_msg$(EXEEXT) ipc_msg-Xabbrev$(EXEEXT) \ + ipc_msg-Xraw$(EXEEXT) ipc_msg-Xverbose$(EXEEXT) \ + ipc_msgbuf$(EXEEXT) ipc_msgbuf-Xabbrev$(EXEEXT) \ + ipc_msgbuf-Xraw$(EXEEXT) ipc_msgbuf-Xverbose$(EXEEXT) \ + ipc_sem$(EXEEXT) ipc_sem-Xabbrev$(EXEEXT) \ + ipc_sem-Xraw$(EXEEXT) ipc_sem-Xverbose$(EXEEXT) \ + ipc_shm$(EXEEXT) ipc_shm-Xabbrev$(EXEEXT) \ + ipc_shm-Xraw$(EXEEXT) ipc_shm-Xverbose$(EXEEXT) kcmp$(EXEEXT) \ + kcmp-y$(EXEEXT) kern_features$(EXEEXT) \ + kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) keyctl$(EXEEXT) \ + keyctl-Xabbrev$(EXEEXT) keyctl-Xraw$(EXEEXT) \ + keyctl-Xverbose$(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) \ + mmap-Xabbrev$(EXEEXT) mmap-Xraw$(EXEEXT) \ + mmap-Xverbose$(EXEEXT) mmap64$(EXEEXT) mmap64-Xabbrev$(EXEEXT) \ + mmap64-Xraw$(EXEEXT) mmap64-Xverbose$(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) \ + mount-Xabbrev$(EXEEXT) mount-Xraw$(EXEEXT) \ + mount-Xverbose$(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_af_spec$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \ + nlattr_ifla_linkinfo$(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) \ @@ -309,11 +338,14 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + old_mmap-P$(EXEEXT) old_mmap-v-none$(EXEEXT) \ + old_mmap-Xabbrev$(EXEEXT) old_mmap-Xraw$(EXEEXT) \ + old_mmap-Xverbose$(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) \ + personality-Xabbrev$(EXEEXT) personality-Xraw$(EXEEXT) \ + personality-Xverbose$(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) \ @@ -361,7 +393,10 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \ + so_peercred$(EXEEXT) so_peercred-Xabbrev$(EXEEXT) \ + so_peercred-Xraw$(EXEEXT) so_peercred-Xverbose$(EXEEXT) \ + sock_filter-v$(EXEEXT) sock_filter-v-Xabbrev$(EXEEXT) \ + sock_filter-v-Xraw$(EXEEXT) sock_filter-v-Xverbose$(EXEEXT) \ socketcall$(EXEEXT) sockopt-sol_netlink$(EXEEXT) \ splice$(EXEEXT) stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \ statfs64$(EXEEXT) statx$(EXEEXT) swap$(EXEEXT) \ @@ -418,6 +453,10 @@ aio_SOURCES = aio.c aio_OBJECTS = aio.$(OBJEXT) aio_LDADD = $(LDADD) aio_DEPENDENCIES = libtests.a +aio_pgetevents_SOURCES = aio_pgetevents.c +aio_pgetevents_OBJECTS = aio_pgetevents.$(OBJEXT) +aio_pgetevents_LDADD = $(LDADD) +aio_pgetevents_DEPENDENCIES = libtests.a alarm_SOURCES = alarm.c alarm_OBJECTS = alarm.$(OBJEXT) alarm_LDADD = $(LDADD) @@ -449,6 +488,33 @@ bpf_SOURCES = bpf.c bpf_OBJECTS = bpf.$(OBJEXT) bpf_LDADD = $(LDADD) bpf_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_SOURCES = bpf-obj_get_info_by_fd.c +bpf_obj_get_info_by_fd_OBJECTS = bpf-obj_get_info_by_fd.$(OBJEXT) +bpf_obj_get_info_by_fd_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_SOURCES = bpf-obj_get_info_by_fd-prog.c +bpf_obj_get_info_by_fd_prog_OBJECTS = \ + bpf-obj_get_info_by_fd-prog.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_prog_v_SOURCES = \ + bpf-obj_get_info_by_fd-prog-v.c +bpf_obj_get_info_by_fd_prog_v_OBJECTS = \ + bpf-obj_get_info_by_fd-prog-v.$(OBJEXT) +bpf_obj_get_info_by_fd_prog_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES = libtests.a +bpf_obj_get_info_by_fd_v_SOURCES = bpf-obj_get_info_by_fd-v.c +bpf_obj_get_info_by_fd_v_OBJECTS = bpf-obj_get_info_by_fd-v.$(OBJEXT) +bpf_obj_get_info_by_fd_v_LDADD = $(LDADD) +bpf_obj_get_info_by_fd_v_DEPENDENCIES = libtests.a +bpf_success_SOURCES = bpf-success.c +bpf_success_OBJECTS = bpf-success.$(OBJEXT) +bpf_success_LDADD = $(LDADD) +bpf_success_DEPENDENCIES = libtests.a +bpf_success_v_SOURCES = bpf-success-v.c +bpf_success_v_OBJECTS = bpf-success-v.$(OBJEXT) +bpf_success_v_LDADD = $(LDADD) +bpf_success_v_DEPENDENCIES = libtests.a bpf_v_SOURCES = bpf-v.c bpf_v_OBJECTS = bpf-v.$(OBJEXT) bpf_v_LDADD = $(LDADD) @@ -616,6 +682,18 @@ fanotify_mark_SOURCES = fanotify_mark.c fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT) fanotify_mark_LDADD = $(LDADD) fanotify_mark_DEPENDENCIES = libtests.a +fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c +fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) +fanotify_mark_Xabbrev_LDADD = $(LDADD) +fanotify_mark_Xabbrev_DEPENDENCIES = libtests.a +fanotify_mark_Xraw_SOURCES = fanotify_mark-Xraw.c +fanotify_mark_Xraw_OBJECTS = fanotify_mark-Xraw.$(OBJEXT) +fanotify_mark_Xraw_LDADD = $(LDADD) +fanotify_mark_Xraw_DEPENDENCIES = libtests.a +fanotify_mark_Xverbose_SOURCES = fanotify_mark-Xverbose.c +fanotify_mark_Xverbose_OBJECTS = fanotify_mark-Xverbose.$(OBJEXT) +fanotify_mark_Xverbose_LDADD = $(LDADD) +fanotify_mark_Xverbose_DEPENDENCIES = libtests.a fchdir_SOURCES = fchdir.c fchdir_OBJECTS = fchdir.$(OBJEXT) fchdir_LDADD = $(LDADD) @@ -895,6 +973,10 @@ 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_inotify_SOURCES = ioctl_inotify.c +ioctl_inotify_OBJECTS = ioctl_inotify.$(OBJEXT) +ioctl_inotify_LDADD = $(LDADD) +ioctl_inotify_DEPENDENCIES = libtests.a ioctl_kvm_run_SOURCES = ioctl_kvm_run.c ioctl_kvm_run_OBJECTS = ioctl_kvm_run.$(OBJEXT) ioctl_kvm_run_LDADD = $(LDADD) @@ -919,6 +1001,18 @@ ioctl_nsfs_SOURCES = ioctl_nsfs.c ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT) ioctl_nsfs_LDADD = $(LDADD) ioctl_nsfs_DEPENDENCIES = libtests.a +ioctl_perf_SOURCES = ioctl_perf.c +ioctl_perf_OBJECTS = ioctl_perf.$(OBJEXT) +ioctl_perf_LDADD = $(LDADD) +ioctl_perf_DEPENDENCIES = libtests.a +ioctl_perf_success_SOURCES = ioctl_perf-success.c +ioctl_perf_success_OBJECTS = ioctl_perf-success.$(OBJEXT) +ioctl_perf_success_LDADD = $(LDADD) +ioctl_perf_success_DEPENDENCIES = libtests.a +ioctl_ptp_SOURCES = ioctl_ptp.c +ioctl_ptp_OBJECTS = ioctl_ptp.$(OBJEXT) +ioctl_ptp_LDADD = $(LDADD) +ioctl_ptp_DEPENDENCIES = libtests.a ioctl_rtc_SOURCES = ioctl_rtc.c ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT) ioctl_rtc_LDADD = $(LDADD) @@ -975,18 +1069,66 @@ ipc_msg_SOURCES = ipc_msg.c ipc_msg_OBJECTS = ipc_msg.$(OBJEXT) ipc_msg_LDADD = $(LDADD) ipc_msg_DEPENDENCIES = libtests.a +ipc_msg_Xabbrev_SOURCES = ipc_msg-Xabbrev.c +ipc_msg_Xabbrev_OBJECTS = ipc_msg-Xabbrev.$(OBJEXT) +ipc_msg_Xabbrev_LDADD = $(LDADD) +ipc_msg_Xabbrev_DEPENDENCIES = libtests.a +ipc_msg_Xraw_SOURCES = ipc_msg-Xraw.c +ipc_msg_Xraw_OBJECTS = ipc_msg-Xraw.$(OBJEXT) +ipc_msg_Xraw_LDADD = $(LDADD) +ipc_msg_Xraw_DEPENDENCIES = libtests.a +ipc_msg_Xverbose_SOURCES = ipc_msg-Xverbose.c +ipc_msg_Xverbose_OBJECTS = ipc_msg-Xverbose.$(OBJEXT) +ipc_msg_Xverbose_LDADD = $(LDADD) +ipc_msg_Xverbose_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_msgbuf_Xabbrev_SOURCES = ipc_msgbuf-Xabbrev.c +ipc_msgbuf_Xabbrev_OBJECTS = ipc_msgbuf-Xabbrev.$(OBJEXT) +ipc_msgbuf_Xabbrev_LDADD = $(LDADD) +ipc_msgbuf_Xabbrev_DEPENDENCIES = libtests.a +ipc_msgbuf_Xraw_SOURCES = ipc_msgbuf-Xraw.c +ipc_msgbuf_Xraw_OBJECTS = ipc_msgbuf-Xraw.$(OBJEXT) +ipc_msgbuf_Xraw_LDADD = $(LDADD) +ipc_msgbuf_Xraw_DEPENDENCIES = libtests.a +ipc_msgbuf_Xverbose_SOURCES = ipc_msgbuf-Xverbose.c +ipc_msgbuf_Xverbose_OBJECTS = ipc_msgbuf-Xverbose.$(OBJEXT) +ipc_msgbuf_Xverbose_LDADD = $(LDADD) +ipc_msgbuf_Xverbose_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_sem_Xabbrev_SOURCES = ipc_sem-Xabbrev.c +ipc_sem_Xabbrev_OBJECTS = ipc_sem-Xabbrev.$(OBJEXT) +ipc_sem_Xabbrev_LDADD = $(LDADD) +ipc_sem_Xabbrev_DEPENDENCIES = libtests.a +ipc_sem_Xraw_SOURCES = ipc_sem-Xraw.c +ipc_sem_Xraw_OBJECTS = ipc_sem-Xraw.$(OBJEXT) +ipc_sem_Xraw_LDADD = $(LDADD) +ipc_sem_Xraw_DEPENDENCIES = libtests.a +ipc_sem_Xverbose_SOURCES = ipc_sem-Xverbose.c +ipc_sem_Xverbose_OBJECTS = ipc_sem-Xverbose.$(OBJEXT) +ipc_sem_Xverbose_LDADD = $(LDADD) +ipc_sem_Xverbose_DEPENDENCIES = libtests.a ipc_shm_SOURCES = ipc_shm.c ipc_shm_OBJECTS = ipc_shm.$(OBJEXT) ipc_shm_LDADD = $(LDADD) ipc_shm_DEPENDENCIES = libtests.a +ipc_shm_Xabbrev_SOURCES = ipc_shm-Xabbrev.c +ipc_shm_Xabbrev_OBJECTS = ipc_shm-Xabbrev.$(OBJEXT) +ipc_shm_Xabbrev_LDADD = $(LDADD) +ipc_shm_Xabbrev_DEPENDENCIES = libtests.a +ipc_shm_Xraw_SOURCES = ipc_shm-Xraw.c +ipc_shm_Xraw_OBJECTS = ipc_shm-Xraw.$(OBJEXT) +ipc_shm_Xraw_LDADD = $(LDADD) +ipc_shm_Xraw_DEPENDENCIES = libtests.a +ipc_shm_Xverbose_SOURCES = ipc_shm-Xverbose.c +ipc_shm_Xverbose_OBJECTS = ipc_shm-Xverbose.$(OBJEXT) +ipc_shm_Xverbose_LDADD = $(LDADD) +ipc_shm_Xverbose_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) @@ -1015,6 +1157,18 @@ keyctl_SOURCES = keyctl.c keyctl_OBJECTS = keyctl.$(OBJEXT) keyctl_LDADD = $(LDADD) keyctl_DEPENDENCIES = libtests.a +keyctl_Xabbrev_SOURCES = keyctl-Xabbrev.c +keyctl_Xabbrev_OBJECTS = keyctl-Xabbrev.$(OBJEXT) +keyctl_Xabbrev_LDADD = $(LDADD) +keyctl_Xabbrev_DEPENDENCIES = libtests.a +keyctl_Xraw_SOURCES = keyctl-Xraw.c +keyctl_Xraw_OBJECTS = keyctl-Xraw.$(OBJEXT) +keyctl_Xraw_LDADD = $(LDADD) +keyctl_Xraw_DEPENDENCIES = libtests.a +keyctl_Xverbose_SOURCES = keyctl-Xverbose.c +keyctl_Xverbose_OBJECTS = keyctl-Xverbose.$(OBJEXT) +keyctl_Xverbose_LDADD = $(LDADD) +keyctl_Xverbose_DEPENDENCIES = libtests.a kill_SOURCES = kill.c kill_OBJECTS = kill.$(OBJEXT) kill_LDADD = $(LDADD) @@ -1122,10 +1276,34 @@ mmap_SOURCES = mmap.c mmap_OBJECTS = mmap.$(OBJEXT) mmap_LDADD = $(LDADD) mmap_DEPENDENCIES = libtests.a +mmap_Xabbrev_SOURCES = mmap-Xabbrev.c +mmap_Xabbrev_OBJECTS = mmap-Xabbrev.$(OBJEXT) +mmap_Xabbrev_LDADD = $(LDADD) +mmap_Xabbrev_DEPENDENCIES = libtests.a +mmap_Xraw_SOURCES = mmap-Xraw.c +mmap_Xraw_OBJECTS = mmap-Xraw.$(OBJEXT) +mmap_Xraw_LDADD = $(LDADD) +mmap_Xraw_DEPENDENCIES = libtests.a +mmap_Xverbose_SOURCES = mmap-Xverbose.c +mmap_Xverbose_OBJECTS = mmap-Xverbose.$(OBJEXT) +mmap_Xverbose_LDADD = $(LDADD) +mmap_Xverbose_DEPENDENCIES = libtests.a mmap64_SOURCES = mmap64.c mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT) mmap64_LDADD = $(LDADD) mmap64_DEPENDENCIES = libtests.a +mmap64_Xabbrev_SOURCES = mmap64-Xabbrev.c +mmap64_Xabbrev_OBJECTS = mmap64_Xabbrev-mmap64-Xabbrev.$(OBJEXT) +mmap64_Xabbrev_LDADD = $(LDADD) +mmap64_Xabbrev_DEPENDENCIES = libtests.a +mmap64_Xraw_SOURCES = mmap64-Xraw.c +mmap64_Xraw_OBJECTS = mmap64_Xraw-mmap64-Xraw.$(OBJEXT) +mmap64_Xraw_LDADD = $(LDADD) +mmap64_Xraw_DEPENDENCIES = libtests.a +mmap64_Xverbose_SOURCES = mmap64-Xverbose.c +mmap64_Xverbose_OBJECTS = mmap64_Xverbose-mmap64-Xverbose.$(OBJEXT) +mmap64_Xverbose_LDADD = $(LDADD) +mmap64_Xverbose_DEPENDENCIES = libtests.a mmsg_SOURCES = mmsg.c mmsg_OBJECTS = mmsg.$(OBJEXT) mmsg_LDADD = $(LDADD) @@ -1150,6 +1328,18 @@ mount_SOURCES = mount.c mount_OBJECTS = mount.$(OBJEXT) mount_LDADD = $(LDADD) mount_DEPENDENCIES = libtests.a +mount_Xabbrev_SOURCES = mount-Xabbrev.c +mount_Xabbrev_OBJECTS = mount-Xabbrev.$(OBJEXT) +mount_Xabbrev_LDADD = $(LDADD) +mount_Xabbrev_DEPENDENCIES = libtests.a +mount_Xraw_SOURCES = mount-Xraw.c +mount_Xraw_OBJECTS = mount-Xraw.$(OBJEXT) +mount_Xraw_LDADD = $(LDADD) +mount_Xraw_DEPENDENCIES = libtests.a +mount_Xverbose_SOURCES = mount-Xverbose.c +mount_Xverbose_OBJECTS = mount-Xverbose.$(OBJEXT) +mount_Xverbose_LDADD = $(LDADD) +mount_Xverbose_DEPENDENCIES = libtests.a move_pages_SOURCES = move_pages.c move_pages_OBJECTS = move_pages.$(OBJEXT) move_pages_LDADD = $(LDADD) @@ -1353,10 +1543,18 @@ nlattr_ifinfomsg_SOURCES = nlattr_ifinfomsg.c nlattr_ifinfomsg_OBJECTS = nlattr_ifinfomsg.$(OBJEXT) nlattr_ifinfomsg_LDADD = $(LDADD) nlattr_ifinfomsg_DEPENDENCIES = libtests.a +nlattr_ifla_af_spec_SOURCES = nlattr_ifla_af_spec.c +nlattr_ifla_af_spec_OBJECTS = nlattr_ifla_af_spec.$(OBJEXT) +nlattr_ifla_af_spec_LDADD = $(LDADD) +nlattr_ifla_af_spec_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_linkinfo_SOURCES = nlattr_ifla_linkinfo.c +nlattr_ifla_linkinfo_OBJECTS = nlattr_ifla_linkinfo.$(OBJEXT) +nlattr_ifla_linkinfo_LDADD = $(LDADD) +nlattr_ifla_linkinfo_DEPENDENCIES = libtests.a nlattr_ifla_port_SOURCES = nlattr_ifla_port.c nlattr_ifla_port_OBJECTS = nlattr_ifla_port.$(OBJEXT) nlattr_ifla_port_LDADD = $(LDADD) @@ -1458,6 +1656,18 @@ 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_Xabbrev_SOURCES = old_mmap-Xabbrev.c +old_mmap_Xabbrev_OBJECTS = old_mmap-Xabbrev.$(OBJEXT) +old_mmap_Xabbrev_LDADD = $(LDADD) +old_mmap_Xabbrev_DEPENDENCIES = libtests.a +old_mmap_Xraw_SOURCES = old_mmap-Xraw.c +old_mmap_Xraw_OBJECTS = old_mmap-Xraw.$(OBJEXT) +old_mmap_Xraw_LDADD = $(LDADD) +old_mmap_Xraw_DEPENDENCIES = libtests.a +old_mmap_Xverbose_SOURCES = old_mmap-Xverbose.c +old_mmap_Xverbose_OBJECTS = old_mmap-Xverbose.$(OBJEXT) +old_mmap_Xverbose_LDADD = $(LDADD) +old_mmap_Xverbose_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) @@ -1526,6 +1736,18 @@ personality_SOURCES = personality.c personality_OBJECTS = personality.$(OBJEXT) personality_LDADD = $(LDADD) personality_DEPENDENCIES = libtests.a +personality_Xabbrev_SOURCES = personality-Xabbrev.c +personality_Xabbrev_OBJECTS = personality-Xabbrev.$(OBJEXT) +personality_Xabbrev_LDADD = $(LDADD) +personality_Xabbrev_DEPENDENCIES = libtests.a +personality_Xraw_SOURCES = personality-Xraw.c +personality_Xraw_OBJECTS = personality-Xraw.$(OBJEXT) +personality_Xraw_LDADD = $(LDADD) +personality_Xraw_DEPENDENCIES = libtests.a +personality_Xverbose_SOURCES = personality-Xverbose.c +personality_Xverbose_OBJECTS = personality-Xverbose.$(OBJEXT) +personality_Xverbose_LDADD = $(LDADD) +personality_Xverbose_DEPENDENCIES = libtests.a pipe_SOURCES = pipe.c pipe_OBJECTS = pipe.$(OBJEXT) pipe_LDADD = $(LDADD) @@ -1598,6 +1820,10 @@ prctl_securebits_SOURCES = prctl-securebits.c prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT) prctl_securebits_LDADD = $(LDADD) prctl_securebits_DEPENDENCIES = libtests.a +prctl_spec_inject_SOURCES = prctl-spec-inject.c +prctl_spec_inject_OBJECTS = prctl-spec-inject.$(OBJEXT) +prctl_spec_inject_LDADD = $(LDADD) +prctl_spec_inject_DEPENDENCIES = libtests.a prctl_tid_address_SOURCES = prctl-tid_address.c prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT) prctl_tid_address_LDADD = $(LDADD) @@ -2088,10 +2314,34 @@ so_peercred_SOURCES = so_peercred.c so_peercred_OBJECTS = so_peercred.$(OBJEXT) so_peercred_LDADD = $(LDADD) so_peercred_DEPENDENCIES = libtests.a +so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c +so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT) +so_peercred_Xabbrev_LDADD = $(LDADD) +so_peercred_Xabbrev_DEPENDENCIES = libtests.a +so_peercred_Xraw_SOURCES = so_peercred-Xraw.c +so_peercred_Xraw_OBJECTS = so_peercred-Xraw.$(OBJEXT) +so_peercred_Xraw_LDADD = $(LDADD) +so_peercred_Xraw_DEPENDENCIES = libtests.a +so_peercred_Xverbose_SOURCES = so_peercred-Xverbose.c +so_peercred_Xverbose_OBJECTS = so_peercred-Xverbose.$(OBJEXT) +so_peercred_Xverbose_LDADD = $(LDADD) +so_peercred_Xverbose_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 +sock_filter_v_Xabbrev_SOURCES = sock_filter-v-Xabbrev.c +sock_filter_v_Xabbrev_OBJECTS = sock_filter-v-Xabbrev.$(OBJEXT) +sock_filter_v_Xabbrev_LDADD = $(LDADD) +sock_filter_v_Xabbrev_DEPENDENCIES = libtests.a +sock_filter_v_Xraw_SOURCES = sock_filter-v-Xraw.c +sock_filter_v_Xraw_OBJECTS = sock_filter-v-Xraw.$(OBJEXT) +sock_filter_v_Xraw_LDADD = $(LDADD) +sock_filter_v_Xraw_DEPENDENCIES = libtests.a +sock_filter_v_Xverbose_SOURCES = sock_filter-v-Xverbose.c +sock_filter_v_Xverbose_OBJECTS = sock_filter-v-Xverbose.$(OBJEXT) +sock_filter_v_Xverbose_LDADD = $(LDADD) +sock_filter_v_Xverbose_DEPENDENCIES = libtests.a socketcall_SOURCES = socketcall.c socketcall_OBJECTS = socketcall.$(OBJEXT) socketcall_LDADD = $(LDADD) @@ -2402,45 +2652,58 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 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 \ + accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2456,59 +2719,64 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2526,44 +2794,57 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 \ + aio_pgetevents.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-obj_get_info_by_fd.c \ + bpf-obj_get_info_by_fd-prog.c bpf-obj_get_info_by_fd-prog-v.c \ + bpf-obj_get_info_by_fd-v.c bpf-success.c bpf-success-v.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 \ + fallocate.c fanotify_init.c fanotify_mark.c \ + fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ + fanotify_mark-Xverbose.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_evdev-v.c ioctl_inotify.c ioctl_kvm_run.c ioctl_loop.c \ + ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c ioctl_nsfs.c \ + ioctl_perf.c ioctl_perf-success.c ioctl_ptp.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 \ + iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c \ + ipc_msg-Xraw.c ipc_msg-Xverbose.c ipc_msgbuf.c \ + ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c \ + ipc_sem.c ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c \ + ipc_shm.c ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ + is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ + kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ + keyctl-Xraw.c keyctl-Xverbose.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 mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c \ + mmap64.c mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.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 \ + mount.c mount-Xabbrev.c mount-Xraw.c mount-Xverbose.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 \ @@ -2579,59 +2860,64 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 \ + nlattr_ifinfomsg.c nlattr_ifla_af_spec.c nlattr_ifla_brport.c \ + nlattr_ifla_linkinfo.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-Xabbrev.c old_mmap-Xraw.c \ + old_mmap-Xverbose.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 personality-Xabbrev.c \ + personality-Xraw.c personality-Xverbose.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 \ + prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.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 \ + so_peercred.c so_peercred-Xabbrev.c so_peercred-Xraw.c \ + so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ + sock_filter-v-Xraw.c sock_filter-v-Xverbose.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 \ @@ -2859,7 +3145,7 @@ am__set_TESTS_bases = \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck -@USE_LIBUNWIND_TRUE@am__EXEEXT_2 = strace-k.test $(am__append_1) +@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test $(am__append_1) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test am__test_logs1 = $(TESTS:=.log) @@ -3001,6 +3287,10 @@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ +libdw_CFLAGS = @libdw_CFLAGS@ +libdw_CPPFLAGS = @libdw_CPPFLAGS@ +libdw_LDFLAGS = @libdw_LDFLAGS@ +libdw_LIBS = @libdw_LIBS@ libexecdir = @libexecdir@ libiberty_CPPFLAGS = @libiberty_CPPFLAGS@ libiberty_LDFLAGS = @libiberty_LDFLAGS@ @@ -3095,9 +3385,14 @@ PURE_EXECUTABLES = \ add_key \ adjtimex \ aio \ + aio_pgetevents \ alarm \ bpf \ bpf-v \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ brk \ btrfs \ caps \ @@ -3130,6 +3425,9 @@ PURE_EXECUTABLES = \ fallocate \ fanotify_init \ fanotify_mark \ + fanotify_mark-Xabbrev \ + fanotify_mark-Xraw \ + fanotify_mark-Xverbose \ fchdir \ fchmod \ fchmodat \ @@ -3192,10 +3490,13 @@ PURE_EXECUTABLES = \ ioctl_block \ ioctl_dm \ ioctl_evdev \ + ioctl_inotify \ ioctl_kvm_run \ ioctl_loop \ ioctl_mtd \ ioctl_rtc \ + ioctl_perf \ + ioctl_ptp \ ioctl_scsi \ ioctl_sg_io_v3 \ ioctl_sg_io_v4 \ @@ -3208,15 +3509,30 @@ PURE_EXECUTABLES = \ ip_mreq \ ipc \ ipc_msg \ + ipc_msg-Xabbrev \ + ipc_msg-Xraw \ + ipc_msg-Xverbose \ ipc_msgbuf \ + ipc_msgbuf-Xabbrev \ + ipc_msgbuf-Xraw \ + ipc_msgbuf-Xverbose \ ipc_sem \ + ipc_sem-Xabbrev \ + ipc_sem-Xraw \ + ipc_sem-Xverbose \ ipc_shm \ + ipc_shm-Xabbrev \ + ipc_shm-Xraw \ + ipc_shm-Xverbose \ kcmp \ kcmp-y \ kern_features \ kexec_file_load \ kexec_load \ keyctl \ + keyctl-Xabbrev \ + keyctl-Xraw \ + keyctl-Xverbose \ kill \ lchown \ lchown32 \ @@ -3241,11 +3557,20 @@ PURE_EXECUTABLES = \ mlock2 \ mlockall \ mmap \ + mmap-Xabbrev \ + mmap-Xraw \ + mmap-Xverbose \ mmap64 \ + mmap64-Xabbrev \ + mmap64-Xraw \ + mmap64-Xverbose \ mmsg \ mmsg_name \ modify_ldt \ mount \ + mount-Xabbrev \ + mount-Xraw \ + mount-Xverbose \ move_pages \ mq \ mq_sendrecv \ @@ -3292,7 +3617,9 @@ PURE_EXECUTABLES = \ nlattr_ifaddrlblmsg \ nlattr_ifaddrmsg \ nlattr_ifinfomsg \ + nlattr_ifla_af_spec \ nlattr_ifla_brport \ + nlattr_ifla_linkinfo \ nlattr_ifla_port \ nlattr_ifla_xdp \ nlattr_inet_diag_msg \ @@ -3317,6 +3644,9 @@ PURE_EXECUTABLES = \ old_mmap \ old_mmap-P \ old_mmap-v-none \ + old_mmap-Xabbrev \ + old_mmap-Xraw \ + old_mmap-Xverbose \ oldfstat \ oldlstat \ oldselect \ @@ -3328,6 +3658,9 @@ PURE_EXECUTABLES = \ pause \ perf_event_open \ personality \ + personality-Xabbrev \ + personality-Xraw \ + personality-Xverbose \ pipe \ pipe2 \ pkey_alloc \ @@ -3444,7 +3777,13 @@ PURE_EXECUTABLES = \ sigsuspend \ so_linger \ so_peercred \ + so_peercred-Xabbrev \ + so_peercred-Xraw \ + so_peercred-Xverbose \ sock_filter-v \ + sock_filter-v-Xabbrev \ + sock_filter-v-Xraw \ + sock_filter-v-Xverbose \ socketcall \ sockopt-sol_netlink \ splice \ @@ -3515,6 +3854,9 @@ 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 +mmap64_Xabbrev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xraw_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 +mmap64_Xverbose_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) @@ -3539,10 +3881,14 @@ stack_fcall_mangled_SOURCES = stack-fcall-mangled.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 \ + add_key.gen.test adjtimex.gen.test aio.gen.test \ + aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ + bpf-v.gen.test bpf-obj_get_info_by_fd.gen.test \ + bpf-obj_get_info_by_fd-v.gen.test \ + bpf-obj_get_info_by_fd-prog.gen.test \ + bpf-obj_get_info_by_fd-prog-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 \ @@ -3550,70 +3896,85 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + fanotify_mark.gen.test fanotify_mark-Xabbrev.gen.test \ + fanotify_mark-Xraw.gen.test fanotify_mark-Xverbose.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_inotify.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 \ + ioctl_mtd.gen.test ioctl_nsfs.gen.test ioctl_perf.gen.test \ + ioctl_ptp.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_msg-Xabbrev.gen.test \ + ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \ + ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \ + ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \ + ipc_sem-Xabbrev.gen.test ipc_sem-Xraw.gen.test \ + ipc_sem-Xverbose.gen.test ipc_shm.gen.test \ + ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \ + ipc_shm-Xverbose.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 keyctl-Xabbrev.gen.test \ + keyctl-Xraw.gen.test keyctl-Xverbose.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 \ + mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ + mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \ + mmap64-Xraw.gen.test mmap64-Xverbose.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 mount-Xabbrev.gen.test \ + mount-Xraw.gen.test mount-Xverbose.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_af_spec.gen.test \ + nlattr_ifla_brport.gen.test nlattr_ifla_linkinfo.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 \ @@ -3625,16 +3986,19 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + old_mmap-P.gen.test old_mmap-v-none.gen.test \ + old_mmap-Xabbrev.gen.test old_mmap-Xraw.gen.test \ + old_mmap-Xverbose.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 \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.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 \ @@ -3675,22 +4039,29 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \ + so_linger.gen.test so_peercred.gen.test \ + so_peercred-Xabbrev.gen.test so_peercred-Xraw.gen.test \ + so_peercred-Xverbose.gen.test sock_filter-v.gen.test \ + sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \ + sock_filter-v-Xverbose.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_personality_32.gen.test \ + trace_personality_64.gen.test trace_personality_x32.gen.test \ + trace_personality_regex_32.gen.test \ + trace_personality_regex_64.gen.test \ + trace_personality_regex_x32.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 \ @@ -3700,13 +4071,20 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ xattr-strings.gen.test xet_robust_list.gen.test \ xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \ xettimeofday.gen.test -@USE_LIBUNWIND_FALSE@LIBUNWIND_TESTS = -@USE_LIBUNWIND_TRUE@LIBUNWIND_TESTS = strace-k.test $(am__append_1) +@ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = +@ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \ +@ENABLE_STACKTRACE_TRUE@ $(am__append_1) DECODER_TESTS = \ + bpf-success.test \ + bpf-success-v.test \ brk.test \ btrfs-v.test \ btrfs-vw.test \ + btrfs-vwX.test \ + btrfs-vX.test \ btrfs-w.test \ + btrfs-wX.test \ + btrfs-X.test \ caps-abbrev.test \ caps.test \ eventfd.test \ @@ -3716,6 +4094,7 @@ DECODER_TESTS = \ futex.test \ getuid.test \ ioctl.test \ + ioctl_perf-success.test \ ipc_msgbuf.test \ kern_features-fault.test \ llseek.test \ @@ -3742,6 +4121,7 @@ DECODER_TESTS = \ prctl-seccomp-filter-v.test \ prctl-seccomp-strict.test \ prctl-securebits.test \ + prctl-spec-inject.test \ prctl-tid_address.test \ prctl-tsc.test \ qual_fault-exit_group.test \ @@ -3790,9 +4170,13 @@ MISC_TESTS = \ printstrn-umoven-legacy.test \ qual_fault-syntax.test \ qual_fault.test \ + qual_fault-syscall.test \ qual_inject-error-signal.test \ + qual_inject-error-signal-syscall.test \ qual_inject-retval.test \ + qual_inject-retval-syscall.test \ qual_inject-signal.test \ + qual_inject-signal-syscall.test \ qual_inject-syntax.test \ qual_signal.test \ qual_syscall.test \ @@ -3816,8 +4200,8 @@ MISC_TESTS = \ # end of MISC_TESTS XFAIL_TESTS_ = -XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS) -XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS) +XFAIL_TESTS_m32 = $(STACKTRACE_TESTS) +XFAIL_TESTS_mx32 = $(STACKTRACE_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)) @@ -3838,6 +4222,7 @@ EXTRA_DIST = \ count-f.expected \ eventfd.expected \ fadvise.h \ + fcntl-common.c \ filter-unavailable.expected \ fstatat.c \ fstatx.c \ @@ -3848,12 +4233,12 @@ EXTRA_DIST = \ init.sh \ init_delete_module.h \ ipc.sh \ - ipc_msgbuf.expected \ ksysent.sed \ lstatx.c \ match.awk \ net.expected \ netlink_sock_diag-v.sh \ + nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ process_vm_readv_writev.c \ @@ -3861,6 +4246,8 @@ EXTRA_DIST = \ qual_fault-exit_group.expected \ qual_inject-error-signal.expected \ qual_inject-signal.expected \ + qualify_personality.sh \ + qualify_personality_empty.in \ quotactl.h \ regex.in \ rt_sigaction.awk \ @@ -3878,16 +4265,23 @@ EXTRA_DIST = \ strace-E.expected \ strace-T.expected \ strace-ff.expected \ + strace-k-demangle.expected \ strace-k-demangle.test \ + strace-k.expected \ 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_personality_32.in \ + trace_personality_64.in \ + trace_personality_x32.in \ + trace_personality_regex_32.in \ + trace_personality_regex_64.in \ + trace_personality_regex_x32.in \ trace_question.in \ trace_stat.in \ trace_stat_like.in \ @@ -4001,6 +4395,10 @@ aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES) @rm -f aio$(EXEEXT) $(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS) +aio_pgetevents$(EXEEXT): $(aio_pgetevents_OBJECTS) $(aio_pgetevents_DEPENDENCIES) $(EXTRA_aio_pgetevents_DEPENDENCIES) + @rm -f aio_pgetevents$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(aio_pgetevents_OBJECTS) $(aio_pgetevents_LDADD) $(LIBS) + alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES) @rm -f alarm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS) @@ -4033,6 +4431,30 @@ bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES) @rm -f bpf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS) +bpf-obj_get_info_by_fd$(EXEEXT): $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_OBJECTS) $(bpf_obj_get_info_by_fd_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_OBJECTS) $(bpf_obj_get_info_by_fd_prog_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-prog-v$(EXEEXT): $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_prog_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-prog-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_prog_v_OBJECTS) $(bpf_obj_get_info_by_fd_prog_v_LDADD) $(LIBS) + +bpf-obj_get_info_by_fd-v$(EXEEXT): $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_DEPENDENCIES) $(EXTRA_bpf_obj_get_info_by_fd_v_DEPENDENCIES) + @rm -f bpf-obj_get_info_by_fd-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_obj_get_info_by_fd_v_OBJECTS) $(bpf_obj_get_info_by_fd_v_LDADD) $(LIBS) + +bpf-success$(EXEEXT): $(bpf_success_OBJECTS) $(bpf_success_DEPENDENCIES) $(EXTRA_bpf_success_DEPENDENCIES) + @rm -f bpf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_OBJECTS) $(bpf_success_LDADD) $(LIBS) + +bpf-success-v$(EXEEXT): $(bpf_success_v_OBJECTS) $(bpf_success_v_DEPENDENCIES) $(EXTRA_bpf_success_v_DEPENDENCIES) + @rm -f bpf-success-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bpf_success_v_OBJECTS) $(bpf_success_v_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) @@ -4201,6 +4623,18 @@ fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $ @rm -f fanotify_mark$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS) +fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) + @rm -f fanotify_mark-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) + +fanotify_mark-Xraw$(EXEEXT): $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_DEPENDENCIES) $(EXTRA_fanotify_mark_Xraw_DEPENDENCIES) + @rm -f fanotify_mark-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xraw_OBJECTS) $(fanotify_mark_Xraw_LDADD) $(LIBS) + +fanotify_mark-Xverbose$(EXEEXT): $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_DEPENDENCIES) $(EXTRA_fanotify_mark_Xverbose_DEPENDENCIES) + @rm -f fanotify_mark-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xverbose_OBJECTS) $(fanotify_mark_Xverbose_LDADD) $(LIBS) + fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES) @rm -f fchdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS) @@ -4481,6 +4915,10 @@ ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $ @rm -f ioctl_evdev-v$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS) +ioctl_inotify$(EXEEXT): $(ioctl_inotify_OBJECTS) $(ioctl_inotify_DEPENDENCIES) $(EXTRA_ioctl_inotify_DEPENDENCIES) + @rm -f ioctl_inotify$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_inotify_OBJECTS) $(ioctl_inotify_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) @@ -4505,6 +4943,18 @@ ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_io @rm -f ioctl_nsfs$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_LDADD) $(LIBS) +ioctl_perf$(EXEEXT): $(ioctl_perf_OBJECTS) $(ioctl_perf_DEPENDENCIES) $(EXTRA_ioctl_perf_DEPENDENCIES) + @rm -f ioctl_perf$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_OBJECTS) $(ioctl_perf_LDADD) $(LIBS) + +ioctl_perf-success$(EXEEXT): $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_DEPENDENCIES) $(EXTRA_ioctl_perf_success_DEPENDENCIES) + @rm -f ioctl_perf-success$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_perf_success_OBJECTS) $(ioctl_perf_success_LDADD) $(LIBS) + +ioctl_ptp$(EXEEXT): $(ioctl_ptp_OBJECTS) $(ioctl_ptp_DEPENDENCIES) $(EXTRA_ioctl_ptp_DEPENDENCIES) + @rm -f ioctl_ptp$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ioctl_ptp_OBJECTS) $(ioctl_ptp_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) @@ -4561,18 +5011,66 @@ ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEP @rm -f ipc_msg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS) +ipc_msg-Xabbrev$(EXEEXT): $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msg_Xabbrev_DEPENDENCIES) + @rm -f ipc_msg-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xabbrev_OBJECTS) $(ipc_msg_Xabbrev_LDADD) $(LIBS) + +ipc_msg-Xraw$(EXEEXT): $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_DEPENDENCIES) $(EXTRA_ipc_msg_Xraw_DEPENDENCIES) + @rm -f ipc_msg-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xraw_OBJECTS) $(ipc_msg_Xraw_LDADD) $(LIBS) + +ipc_msg-Xverbose$(EXEEXT): $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msg_Xverbose_DEPENDENCIES) + @rm -f ipc_msg-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msg_Xverbose_OBJECTS) $(ipc_msg_Xverbose_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_msgbuf-Xabbrev$(EXEEXT): $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xabbrev_DEPENDENCIES) + @rm -f ipc_msgbuf-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xabbrev_OBJECTS) $(ipc_msgbuf_Xabbrev_LDADD) $(LIBS) + +ipc_msgbuf-Xraw$(EXEEXT): $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xraw_DEPENDENCIES) + @rm -f ipc_msgbuf-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xraw_OBJECTS) $(ipc_msgbuf_Xraw_LDADD) $(LIBS) + +ipc_msgbuf-Xverbose$(EXEEXT): $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_DEPENDENCIES) $(EXTRA_ipc_msgbuf_Xverbose_DEPENDENCIES) + @rm -f ipc_msgbuf-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_Xverbose_OBJECTS) $(ipc_msgbuf_Xverbose_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_sem-Xabbrev$(EXEEXT): $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_sem_Xabbrev_DEPENDENCIES) + @rm -f ipc_sem-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xabbrev_OBJECTS) $(ipc_sem_Xabbrev_LDADD) $(LIBS) + +ipc_sem-Xraw$(EXEEXT): $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_DEPENDENCIES) $(EXTRA_ipc_sem_Xraw_DEPENDENCIES) + @rm -f ipc_sem-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xraw_OBJECTS) $(ipc_sem_Xraw_LDADD) $(LIBS) + +ipc_sem-Xverbose$(EXEEXT): $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_DEPENDENCIES) $(EXTRA_ipc_sem_Xverbose_DEPENDENCIES) + @rm -f ipc_sem-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_sem_Xverbose_OBJECTS) $(ipc_sem_Xverbose_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) +ipc_shm-Xabbrev$(EXEEXT): $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_DEPENDENCIES) $(EXTRA_ipc_shm_Xabbrev_DEPENDENCIES) + @rm -f ipc_shm-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xabbrev_OBJECTS) $(ipc_shm_Xabbrev_LDADD) $(LIBS) + +ipc_shm-Xraw$(EXEEXT): $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_DEPENDENCIES) $(EXTRA_ipc_shm_Xraw_DEPENDENCIES) + @rm -f ipc_shm-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xraw_OBJECTS) $(ipc_shm_Xraw_LDADD) $(LIBS) + +ipc_shm-Xverbose$(EXEEXT): $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_DEPENDENCIES) $(EXTRA_ipc_shm_Xverbose_DEPENDENCIES) + @rm -f ipc_shm-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ipc_shm_Xverbose_OBJECTS) $(ipc_shm_Xverbose_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) @@ -4601,6 +5099,18 @@ keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDE @rm -f keyctl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS) +keyctl-Xabbrev$(EXEEXT): $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_DEPENDENCIES) $(EXTRA_keyctl_Xabbrev_DEPENDENCIES) + @rm -f keyctl-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xabbrev_OBJECTS) $(keyctl_Xabbrev_LDADD) $(LIBS) + +keyctl-Xraw$(EXEEXT): $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_DEPENDENCIES) $(EXTRA_keyctl_Xraw_DEPENDENCIES) + @rm -f keyctl-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xraw_OBJECTS) $(keyctl_Xraw_LDADD) $(LIBS) + +keyctl-Xverbose$(EXEEXT): $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_DEPENDENCIES) $(EXTRA_keyctl_Xverbose_DEPENDENCIES) + @rm -f keyctl-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(keyctl_Xverbose_OBJECTS) $(keyctl_Xverbose_LDADD) $(LIBS) + kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES) @rm -f kill$(EXEEXT) $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) @@ -4709,10 +5219,34 @@ mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES) @rm -f mmap$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS) +mmap-Xabbrev$(EXEEXT): $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_DEPENDENCIES) $(EXTRA_mmap_Xabbrev_DEPENDENCIES) + @rm -f mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xabbrev_OBJECTS) $(mmap_Xabbrev_LDADD) $(LIBS) + +mmap-Xraw$(EXEEXT): $(mmap_Xraw_OBJECTS) $(mmap_Xraw_DEPENDENCIES) $(EXTRA_mmap_Xraw_DEPENDENCIES) + @rm -f mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xraw_OBJECTS) $(mmap_Xraw_LDADD) $(LIBS) + +mmap-Xverbose$(EXEEXT): $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_DEPENDENCIES) $(EXTRA_mmap_Xverbose_DEPENDENCIES) + @rm -f mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap_Xverbose_OBJECTS) $(mmap_Xverbose_LDADD) $(LIBS) + mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES) @rm -f mmap64$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS) +mmap64-Xabbrev$(EXEEXT): $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_DEPENDENCIES) $(EXTRA_mmap64_Xabbrev_DEPENDENCIES) + @rm -f mmap64-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xabbrev_OBJECTS) $(mmap64_Xabbrev_LDADD) $(LIBS) + +mmap64-Xraw$(EXEEXT): $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_DEPENDENCIES) $(EXTRA_mmap64_Xraw_DEPENDENCIES) + @rm -f mmap64-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xraw_OBJECTS) $(mmap64_Xraw_LDADD) $(LIBS) + +mmap64-Xverbose$(EXEEXT): $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_DEPENDENCIES) $(EXTRA_mmap64_Xverbose_DEPENDENCIES) + @rm -f mmap64-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mmap64_Xverbose_OBJECTS) $(mmap64_Xverbose_LDADD) $(LIBS) + mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES) @rm -f mmsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS) @@ -4737,6 +5271,18 @@ mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIE @rm -f mount$(EXEEXT) $(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS) +mount-Xabbrev$(EXEEXT): $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_DEPENDENCIES) $(EXTRA_mount_Xabbrev_DEPENDENCIES) + @rm -f mount-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xabbrev_OBJECTS) $(mount_Xabbrev_LDADD) $(LIBS) + +mount-Xraw$(EXEEXT): $(mount_Xraw_OBJECTS) $(mount_Xraw_DEPENDENCIES) $(EXTRA_mount_Xraw_DEPENDENCIES) + @rm -f mount-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xraw_OBJECTS) $(mount_Xraw_LDADD) $(LIBS) + +mount-Xverbose$(EXEEXT): $(mount_Xverbose_OBJECTS) $(mount_Xverbose_DEPENDENCIES) $(EXTRA_mount_Xverbose_DEPENDENCIES) + @rm -f mount-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mount_Xverbose_OBJECTS) $(mount_Xverbose_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) @@ -4941,10 +5487,18 @@ nlattr_ifinfomsg$(EXEEXT): $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_DEPEND @rm -f nlattr_ifinfomsg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_LDADD) $(LIBS) +nlattr_ifla_af_spec$(EXEEXT): $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_DEPENDENCIES) $(EXTRA_nlattr_ifla_af_spec_DEPENDENCIES) + @rm -f nlattr_ifla_af_spec$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_af_spec_OBJECTS) $(nlattr_ifla_af_spec_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_linkinfo$(EXEEXT): $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_DEPENDENCIES) $(EXTRA_nlattr_ifla_linkinfo_DEPENDENCIES) + @rm -f nlattr_ifla_linkinfo$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(nlattr_ifla_linkinfo_OBJECTS) $(nlattr_ifla_linkinfo_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) @@ -5045,6 +5599,18 @@ old_mmap-P$(EXEEXT): $(old_mmap_P_OBJECTS) $(old_mmap_P_DEPENDENCIES) $(EXTRA_ol @rm -f old_mmap-P$(EXEEXT) $(AM_V_CCLD)$(LINK) $(old_mmap_P_OBJECTS) $(old_mmap_P_LDADD) $(LIBS) +old_mmap-Xabbrev$(EXEEXT): $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_DEPENDENCIES) $(EXTRA_old_mmap_Xabbrev_DEPENDENCIES) + @rm -f old_mmap-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xabbrev_OBJECTS) $(old_mmap_Xabbrev_LDADD) $(LIBS) + +old_mmap-Xraw$(EXEEXT): $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_DEPENDENCIES) $(EXTRA_old_mmap_Xraw_DEPENDENCIES) + @rm -f old_mmap-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xraw_OBJECTS) $(old_mmap_Xraw_LDADD) $(LIBS) + +old_mmap-Xverbose$(EXEEXT): $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_DEPENDENCIES) $(EXTRA_old_mmap_Xverbose_DEPENDENCIES) + @rm -f old_mmap-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(old_mmap_Xverbose_OBJECTS) $(old_mmap_Xverbose_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) @@ -5113,6 +5679,18 @@ personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA @rm -f personality$(EXEEXT) $(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS) +personality-Xabbrev$(EXEEXT): $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_DEPENDENCIES) $(EXTRA_personality_Xabbrev_DEPENDENCIES) + @rm -f personality-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xabbrev_OBJECTS) $(personality_Xabbrev_LDADD) $(LIBS) + +personality-Xraw$(EXEEXT): $(personality_Xraw_OBJECTS) $(personality_Xraw_DEPENDENCIES) $(EXTRA_personality_Xraw_DEPENDENCIES) + @rm -f personality-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xraw_OBJECTS) $(personality_Xraw_LDADD) $(LIBS) + +personality-Xverbose$(EXEEXT): $(personality_Xverbose_OBJECTS) $(personality_Xverbose_DEPENDENCIES) $(EXTRA_personality_Xverbose_DEPENDENCIES) + @rm -f personality-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(personality_Xverbose_OBJECTS) $(personality_Xverbose_LDADD) $(LIBS) + pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) @rm -f pipe$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS) @@ -5185,6 +5763,10 @@ prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPEND @rm -f prctl-securebits$(EXEEXT) $(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS) +prctl-spec-inject$(EXEEXT): $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_DEPENDENCIES) $(EXTRA_prctl_spec_inject_DEPENDENCIES) + @rm -f prctl-spec-inject$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(prctl_spec_inject_OBJECTS) $(prctl_spec_inject_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) @@ -5669,10 +6251,34 @@ so_peercred$(EXEEXT): $(so_peercred_OBJECTS) $(so_peercred_DEPENDENCIES) $(EXTRA @rm -f so_peercred$(EXEEXT) $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS) +so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) + @rm -f so_peercred-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS) + +so_peercred-Xraw$(EXEEXT): $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_DEPENDENCIES) $(EXTRA_so_peercred_Xraw_DEPENDENCIES) + @rm -f so_peercred-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xraw_OBJECTS) $(so_peercred_Xraw_LDADD) $(LIBS) + +so_peercred-Xverbose$(EXEEXT): $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_DEPENDENCIES) $(EXTRA_so_peercred_Xverbose_DEPENDENCIES) + @rm -f so_peercred-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(so_peercred_Xverbose_OBJECTS) $(so_peercred_Xverbose_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) +sock_filter-v-Xabbrev$(EXEEXT): $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_DEPENDENCIES) $(EXTRA_sock_filter_v_Xabbrev_DEPENDENCIES) + @rm -f sock_filter-v-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xabbrev_OBJECTS) $(sock_filter_v_Xabbrev_LDADD) $(LIBS) + +sock_filter-v-Xraw$(EXEEXT): $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_DEPENDENCIES) $(EXTRA_sock_filter_v_Xraw_DEPENDENCIES) + @rm -f sock_filter-v-Xraw$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xraw_OBJECTS) $(sock_filter_v_Xraw_LDADD) $(LIBS) + +sock_filter-v-Xverbose$(EXEEXT): $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_DEPENDENCIES) $(EXTRA_sock_filter_v_Xverbose_DEPENDENCIES) + @rm -f sock_filter-v-Xverbose$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(sock_filter_v_Xverbose_OBJECTS) $(sock_filter_v_Xverbose_LDADD) $(LIBS) + socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES) @rm -f socketcall$(EXEEXT) $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS) @@ -5960,6 +6566,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjtimex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aio.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aio_pgetevents.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alarm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/answer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-f-p-cmd.Po@am__quote@ @@ -5967,6 +6574,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-cmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-p.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/block_reset_raise_run.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd-prog-v.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd-prog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd-v.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-obj_get_info_by_fd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-success-v.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-success.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brk.Po@am__quote@ @@ -6009,6 +6622,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ @@ -6080,12 +6696,16 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_inotify.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_kvm_run.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop-nv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_mtd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_nsfs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_perf-success.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_perf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_ptp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_rtc-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_rtc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_scsi.Po@am__quote@ @@ -6099,9 +6719,21 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ip_mreq.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@ @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@ @@ -6109,6 +6741,9 @@ distclean-compile: @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-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ @@ -6162,13 +6797,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlock2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlockall.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64-mmap64.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg-silent.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg_name-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg_name.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modify_ldt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mq.Po@am__quote@ @@ -6221,7 +6865,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifaddrlblmsg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifaddrmsg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifinfomsg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_af_spec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_brport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_linkinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_port.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_ifla_xdp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_inet_diag_msg.Po@am__quote@ @@ -6246,6 +6892,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls-d.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-P.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap-v-none.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldfstat.Po@am__quote@ @@ -6263,6 +6912,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open_nonverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open_unabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@ @@ -6282,6 +6934,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-seccomp-filter-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-seccomp-strict.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-securebits.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-spec-inject.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-tid_address.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-tsc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po@am__quote@ @@ -6402,7 +7055,13 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigsuspend.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_linger.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v-Xabbrev.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v-Xraw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v-Xverbose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sock_filter-v.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socketcall.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockopt-sol_netlink.Po@am__quote@ @@ -6929,6 +7588,48 @@ mmap64-mmap64.obj: mmap64.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(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` +mmap64_Xabbrev-mmap64-Xabbrev.o: mmap64-Xabbrev.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.o -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.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) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.o `test -f 'mmap64-Xabbrev.c' || echo '$(srcdir)/'`mmap64-Xabbrev.c + +mmap64_Xabbrev-mmap64-Xabbrev.obj: mmap64-Xabbrev.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xabbrev-mmap64-Xabbrev.obj -MD -MP -MF $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Tpo $(DEPDIR)/mmap64_Xabbrev-mmap64-Xabbrev.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xabbrev.c' object='mmap64_Xabbrev-mmap64-Xabbrev.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) $(mmap64_Xabbrev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xabbrev-mmap64-Xabbrev.obj `if test -f 'mmap64-Xabbrev.c'; then $(CYGPATH_W) 'mmap64-Xabbrev.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xabbrev.c'; fi` + +mmap64_Xraw-mmap64-Xraw.o: mmap64-Xraw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.o -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.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) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.o `test -f 'mmap64-Xraw.c' || echo '$(srcdir)/'`mmap64-Xraw.c + +mmap64_Xraw-mmap64-Xraw.obj: mmap64-Xraw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xraw-mmap64-Xraw.obj -MD -MP -MF $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Tpo $(DEPDIR)/mmap64_Xraw-mmap64-Xraw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xraw.c' object='mmap64_Xraw-mmap64-Xraw.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) $(mmap64_Xraw_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xraw-mmap64-Xraw.obj `if test -f 'mmap64-Xraw.c'; then $(CYGPATH_W) 'mmap64-Xraw.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xraw.c'; fi` + +mmap64_Xverbose-mmap64-Xverbose.o: mmap64-Xverbose.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.o -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.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) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.o `test -f 'mmap64-Xverbose.c' || echo '$(srcdir)/'`mmap64-Xverbose.c + +mmap64_Xverbose-mmap64-Xverbose.obj: mmap64-Xverbose.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64_Xverbose-mmap64-Xverbose.obj -MD -MP -MF $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Tpo $(DEPDIR)/mmap64_Xverbose-mmap64-Xverbose.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap64-Xverbose.c' object='mmap64_Xverbose-mmap64-Xverbose.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) $(mmap64_Xverbose_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64_Xverbose-mmap64-Xverbose.obj `if test -f 'mmap64-Xverbose.c'; then $(CYGPATH_W) 'mmap64-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/mmap64-Xverbose.c'; fi` + newfstatat-newfstatat.o: newfstatat.c @am__fastdepCC_TRUE@ $(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__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po @@ -7480,6 +8181,9 @@ $(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/aio_pgetevents.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) $^ $@ @@ -7489,6 +8193,18 @@ $(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/bpf-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/bpf-obj_get_info_by_fd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog-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) $^ $@ @@ -7576,6 +8292,15 @@ $(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xverbose.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) $^ $@ @@ -7768,6 +8493,9 @@ $(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.i $(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_inotify.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) $^ $@ @@ -7786,6 +8514,12 @@ $(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ioctl_nsfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_perf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ioctl_ptp.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) $^ $@ @@ -7828,12 +8562,48 @@ $(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ipc_msg-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xverbose.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_sem-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xverbose.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)/ipc_shm-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xverbose.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) $^ $@ @@ -7852,6 +8622,15 @@ $(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/keyctl-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xverbose.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) $^ $@ @@ -7915,9 +8694,27 @@ $(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xverbose.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)/mmap64-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xverbose.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) $^ $@ @@ -7936,6 +8733,15 @@ $(srcdir)/modify_ldt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mount-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xverbose.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) $^ $@ @@ -8062,9 +8868,15 @@ $(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_te $(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/nlattr_ifla_af_spec.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_linkinfo.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) $^ $@ @@ -8137,6 +8949,15 @@ $(srcdir)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/old_mmap-v-none.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/old_mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xverbose.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) $^ $@ @@ -8179,6 +9000,15 @@ $(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcd $(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/personality-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xverbose.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) $^ $@ @@ -8509,9 +9339,27 @@ $(srcdir)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/so_peercred-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xverbose.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)/sock_filter-v-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xverbose.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) $^ $@ @@ -8593,6 +9441,24 @@ $(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/trace_personality_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_x32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_x32.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) $^ $@ diff --git a/tests/add_key.c b/tests/add_key.c index 999da035..9ad5e281 100644 --- a/tests/add_key.c +++ b/tests/add_key.c @@ -2,7 +2,7 @@ * Check decoding of add_key syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -102,7 +102,7 @@ main(void) { bogus_desc, NULL }, { ARG_STR("\25\26\27\30\31") }, { ARG_STR("desc") }, - { "overly long description", _STR("overly long ") "..." }, + { "overly long description", STRINGIFY("overly long ") "..." }, }; struct { @@ -113,10 +113,10 @@ main(void) { ARG_STR(NULL), 0 }, { bogus_payload + sizeof(unterminated3), NULL, (size_t) 0xdeadbeefbadc0dedULL }, - { bogus_payload, _STR(""), 0 }, - { bogus_payload, _STR("\16\17\20\21\22"), 5 }, + { bogus_payload, STRINGIFY(""), 0 }, + { bogus_payload, STRINGIFY("\16\17\20\21\22"), 5 }, { bogus_payload, NULL, 10 }, - { "overly long payload", _STR("overly long ") "...", 15 }, + { "overly long payload", STRINGIFY("overly long ") "...", 15 }, }; struct { diff --git a/tests/aio.c b/tests/aio.c index 335bb318..ea18700f 100644 --- a/tests/aio.c +++ b/tests/aio.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -335,7 +335,7 @@ main(void) "}, {aio_key=%u, aio_lio_opcode=IOCB_CMD_PWRITEV" ", aio_reqprio=%hd, aio_fildes=%d, aio_buf=%#" PRI__x64 ", aio_nbytes=%" PRI__u64 ", aio_offset=%" PRI__d64 - "}, {NULL}, {%#lx}, %p]) = %s\n", + "}, {NULL}, {%#lx}, ... /* %p */]) = %s\n", *ctx, 1057L, cbv2[0].aio_data, cbv2[0].aio_key, cbv2[0].aio_lio_opcode, cbv2[0].aio_fildes, diff --git a/tests/aio_pgetevents.c b/tests/aio_pgetevents.c new file mode 100644 index 00000000..ba5ac718 --- /dev/null +++ b/tests/aio_pgetevents.c @@ -0,0 +1,190 @@ +/* + * Check decoding of io_pgetevents syscall. + * + * Copyright (c) 2015-2016 Dmitry V. Levin + * 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 "tests.h" +#include +#include +#include "scno.h" + +#if defined __NR_io_setup && defined __NR_io_pgetevents + +# include +# include +# include +# include + +# include "nsig.h" + +# include + +# if !HAVE_STRUCT___AIO_SIGSET +struct __aio_sigset { + sigset_t *sigmask; + size_t sigsetsize; +}; +# endif + +static const char *errstr; + +static long +sys_io_pgetevents(const kernel_ulong_t ctx_id, + const kernel_long_t min_nr, + const kernel_long_t nr, + const kernel_ulong_t events, + const kernel_ulong_t timeout, + const kernel_ulong_t usig) +{ + long rc = syscall(__NR_io_pgetevents, ctx_id, min_nr, nr, + events, timeout, usig); + errstr = sprintrc(rc); + return rc; +} + +int +main(void) +{ + static const kernel_ulong_t bogus_ctx = + (kernel_ulong_t) 0xface1e55deadbeefLL; + static const kernel_long_t bogus_min_nr = + (kernel_long_t) 0xca7faceddeadf00dLL; + static const kernel_long_t bogus_nr = + (kernel_long_t) 0xba5e1e505ca571e0LL; + static const size_t bogus_sigsetsize = + (size_t) 0xdeadbeefbadcaffeULL; + + const unsigned int sizeof_data0 = 4096; + const unsigned int sizeof_data1 = 8192; + void *data0 = tail_alloc(sizeof_data0); + void *data1 = tail_alloc(sizeof_data1); + + const struct iocb proto_cb[] = { + { + .aio_data = (unsigned long) 0xfeedface11111111ULL, + .aio_reqprio = 11, + .aio_buf = (unsigned long) data0, + .aio_offset = (unsigned long) 0xdeface1facefeedULL, + .aio_nbytes = sizeof_data0 + }, + { + .aio_data = (unsigned long) 0xfeedface22222222ULL, + .aio_reqprio = 22, + .aio_buf = (unsigned long) data1, + .aio_offset = (unsigned long) 0xdeface2cafef00dULL, + .aio_nbytes = sizeof_data1 + } + }; + const struct iocb *cb = tail_memdup(proto_cb, sizeof(proto_cb)); + + const long proto_cbs[] = { + (long) &cb[0], (long) &cb[1] + }; + const long *cbs = tail_memdup(proto_cbs, sizeof(proto_cbs)); + + TAIL_ALLOC_OBJECT_CONST_PTR(unsigned long, ctx); + *ctx = 0; + + const unsigned int nr = ARRAY_SIZE(proto_cb); + + const struct io_event *ev = tail_alloc(nr * sizeof(struct io_event)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts); + TAIL_ALLOC_OBJECT_CONST_PTR(struct __aio_sigset, ss); + TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, sigs); + + (void) close(0); + if (open("/dev/zero", O_RDONLY)) + perror_msg_and_skip("open: %s", "/dev/zero"); + + if (syscall(__NR_io_setup, nr, ctx)) + perror_msg_and_skip("io_setup"); + + if (syscall(__NR_io_submit, *ctx, nr, cbs) != (long) nr) + perror_msg_and_skip("io_submit"); + + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + (uintptr_t) (ev + 1), 0, 0); + printf("io_pgetevents(%#jx, %ld, %ld, %p, NULL, NULL) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, ev + 1, errstr); + + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + 0, (uintptr_t) (ts + 1), 0); + printf("io_pgetevents(%#jx, %ld, %ld, NULL, %p, NULL) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, ts + 1, errstr); + + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + 0, 0, (uintptr_t) (ss + 1)); + printf("io_pgetevents(%#jx, %ld, %ld, NULL, NULL, %p) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, ss + 1, errstr); + + ss->sigmask = sigs + 1; + ss->sigsetsize = bogus_sigsetsize; + sys_io_pgetevents(bogus_ctx, bogus_min_nr, bogus_nr, + 0, 0, (uintptr_t) ss); + printf("io_pgetevents(%#jx, %ld, %ld, NULL, NULL" + ", {sigmask=%p, sigsetsize=%zu}) = %s\n", + (uintmax_t) bogus_ctx, (long) bogus_min_nr, + (long) bogus_nr, sigs + 1, bogus_sigsetsize, errstr); + + ts->tv_sec = 0xdeadbeefU; + ts->tv_nsec = 0xfacefeedU; + ss->sigmask = sigs; + ss->sigsetsize = NSIG_BYTES; + sys_io_pgetevents(bogus_ctx, 0, 0, 0, (uintptr_t) ts, (uintptr_t) ss); + printf("io_pgetevents(%#jx, 0, 0, NULL" + ", {tv_sec=%lld, tv_nsec=%llu}" + ", {sigmask=~[], sigsetsize=%u}) = %s\n", + (uintmax_t) bogus_ctx, (long long) ts->tv_sec, + zero_extend_signed_to_ull(ts->tv_nsec), NSIG_BYTES, + errstr); + + sigemptyset(sigs); + sigaddset(sigs, SIGSYS); + + ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL; + ts->tv_nsec = (long) 0xbadc0dedfacefeedLL; + sys_io_pgetevents(bogus_ctx, 0, 0, 0, (uintptr_t) ts, (uintptr_t) ss); + printf("io_pgetevents(%#jx, 0, 0, NULL" + ", {tv_sec=%lld, tv_nsec=%llu}" + ", {sigmask=[SYS], sigsetsize=%u}) = %s\n", + (uintmax_t) bogus_ctx, (long long) ts->tv_sec, + zero_extend_signed_to_ull(ts->tv_nsec), NSIG_BYTES, + errstr); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("__NR_io_setup && __NR_io_pgetevents") + +#endif diff --git a/tests/aio_pgetevents.gen.test b/tests/aio_pgetevents.gen.test new file mode 100755 index 00000000..7ea3874d --- /dev/null +++ b/tests/aio_pgetevents.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (aio_pgetevents -e trace=io_pgetevents); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=io_pgetevents diff --git a/tests/bpf-obj_get_info_by_fd-prog-v.c b/tests/bpf-obj_get_info_by_fd-prog-v.c new file mode 100644 index 00000000..d7e10b43 --- /dev/null +++ b/tests/bpf-obj_get_info_by_fd-prog-v.c @@ -0,0 +1,3 @@ +#define CHECK_OBJ_PROG 1 +#define VERBOSE 1 +#include "bpf-obj_get_info_by_fd.c" diff --git a/tests/bpf-obj_get_info_by_fd-prog-v.gen.test b/tests/bpf-obj_get_info_by_fd-prog-v.gen.test new file mode 100755 index 00000000..fcaa1d8b --- /dev/null +++ b/tests/bpf-obj_get_info_by_fd-prog-v.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd-prog-v -a20 -y -v -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -v -e trace=bpf diff --git a/tests/bpf-obj_get_info_by_fd-prog.c b/tests/bpf-obj_get_info_by_fd-prog.c new file mode 100644 index 00000000..19a5f75a --- /dev/null +++ b/tests/bpf-obj_get_info_by_fd-prog.c @@ -0,0 +1,2 @@ +#define CHECK_OBJ_PROG 1 +#include "bpf-obj_get_info_by_fd.c" diff --git a/tests/bpf-obj_get_info_by_fd-prog.gen.test b/tests/bpf-obj_get_info_by_fd-prog.gen.test new file mode 100755 index 00000000..8cbd7c04 --- /dev/null +++ b/tests/bpf-obj_get_info_by_fd-prog.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd-prog -a20 -y -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -e trace=bpf diff --git a/tests/bpf-obj_get_info_by_fd-v.c b/tests/bpf-obj_get_info_by_fd-v.c new file mode 100644 index 00000000..2debc5f1 --- /dev/null +++ b/tests/bpf-obj_get_info_by_fd-v.c @@ -0,0 +1,2 @@ +#define VERBOSE 1 +#include "bpf-obj_get_info_by_fd.c" diff --git a/tests/bpf-obj_get_info_by_fd-v.gen.test b/tests/bpf-obj_get_info_by_fd-v.gen.test new file mode 100755 index 00000000..255d91e9 --- /dev/null +++ b/tests/bpf-obj_get_info_by_fd-v.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd-v -a20 -y -v -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -v -e trace=bpf diff --git a/tests/bpf-obj_get_info_by_fd.c b/tests/bpf-obj_get_info_by_fd.c new file mode 100644 index 00000000..67b5122a --- /dev/null +++ b/tests/bpf-obj_get_info_by_fd.c @@ -0,0 +1,499 @@ +/* + * Check bpf(BPF_OBJ_GET_INFO_BY_FD) decoding. + * + * 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" + +#ifndef CHECK_OBJ_PROG +# define CHECK_OBJ_PROG 0 +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "print_fields.h" +#include "scno.h" + +#ifdef HAVE_LINUX_BPF_H +# include +#endif + +#include "bpf_attr.h" + +#include "xlat.h" +#include "xlat/bpf_map_flags.h" +#include "xlat/bpf_map_types.h" +#include "xlat/bpf_prog_types.h" + +#define XLAT_MACROS_ONLY +#include "xlat/bpf_commands.h" +#include "xlat/bpf_op_alu.h" +#include "xlat/bpf_op_jmp.h" +#include "xlat/bpf_size.h" +#include "xlat/bpf_src.h" +#include "xlat/ebpf_class.h" +#include "xlat/ebpf_mode.h" +#include "xlat/ebpf_op_alu.h" +#include "xlat/ebpf_regs.h" +#include "xlat/ebpf_size.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 + +static const char *errstr; + +static long +sys_bpf(kernel_ulong_t cmd, void *attr, kernel_ulong_t size) +{ + long rc = syscall(__NR_bpf, cmd, attr, size); + errstr = sprintrc(rc); + return rc; +} + +static void +print_map_create(void *attr_void, size_t size, long rc) +{ + /* struct BPF_MAP_CREATE_struct *attr = attr_void; */ + + printf("bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_ARRAY, key_size=4" + ", value_size=8, max_entries=1"); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_flags)) + printf(", map_flags=0"); + if (size > offsetof(struct BPF_MAP_CREATE_struct, inner_map_fd)) + printf(", inner_map_fd=0"); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_name)) + printf(", map_name=\"test_map\""); + if (size > offsetof(struct BPF_MAP_CREATE_struct, map_ifindex)) + printf(", map_ifindex=0"); + printf("}, %zu) = ", size); + if (rc >= 0) + printf("%ld\n", rc); + else + puts(errstr); +} + +#if CHECK_OBJ_PROG +static struct bpf_insn socket_prog[] = { + { /* 0 */ + .code = BPF_ALU64 | BPF_K | BPF_MOV, + .dst_reg = BPF_REG_1, + .imm = 0, + }, + { /* 1 */ + .code = BPF_STX | BPF_W | BPF_MEM, + .dst_reg = BPF_REG_10, + .src_reg = BPF_REG_1, + .off = -4, + }, + { /* 2 */ + .code = BPF_ALU64 | BPF_X | BPF_MOV, + .dst_reg = BPF_REG_2, + .src_reg = BPF_REG_10, + }, + { /* 3 */ + .code = BPF_ALU64 | BPF_K | BPF_ADD, + .dst_reg = BPF_REG_2, + .imm = -4, + }, + { /* 4 */ + .code = BPF_LD | BPF_DW | BPF_IMM, + .dst_reg = BPF_REG_1, + .src_reg = 1 /* BPF_PSEUDO_MAP_FD */, + .imm = 0, /* to be set to map fd */ + }, + { /* 5 */ + .imm = 0, + }, + { /* 6 */ + .code = BPF_JMP | BPF_K | BPF_CALL, + .imm = 0x1, /* BPF_FUNC_map_lookup_elem */ + }, + { /* 7 */ + .code = BPF_ALU64 | BPF_K | BPF_MOV, + .dst_reg = BPF_REG_0, + .imm = 0, + }, + { /* 8 */ + .code = BPF_JMP | BPF_K | BPF_EXIT, + }, +}; + +# if VERBOSE +static const char *socket_prog_fmt = + "[{code=BPF_ALU64|BPF_K|BPF_MOV" + ", dst_reg=BPF_REG_1, src_reg=BPF_REG_0, off=0, imm=0}" + ", {code=BPF_STX|BPF_W|BPF_MEM" + ", dst_reg=BPF_REG_10, src_reg=BPF_REG_1, off=-4, imm=0}" + ", {code=BPF_ALU64|BPF_X|BPF_MOV" + ", dst_reg=BPF_REG_2, src_reg=BPF_REG_10, off=0, imm=0}" + ", {code=BPF_ALU64|BPF_K|BPF_ADD" + ", dst_reg=BPF_REG_2, src_reg=BPF_REG_0, off=0, imm=0xfffffffc}" + ", {code=BPF_LD|BPF_DW|BPF_IMM" + ", dst_reg=BPF_REG_1, src_reg=BPF_REG_1, off=0, imm=%#x}" + ", {code=BPF_LD|BPF_W|BPF_IMM" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0}" + ", {code=BPF_JMP|BPF_K|BPF_CALL" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0x1}" + ", {code=BPF_ALU64|BPF_K|BPF_MOV" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0}" + ", {code=BPF_JMP|BPF_K|BPF_EXIT" + ", dst_reg=BPF_REG_0, src_reg=BPF_REG_0, off=0, imm=0}" + "]"; +# endif /* VERBOSE */ + +static const char *license = "BSD"; +static char log_buf[4096]; + +static void +print_prog_load(void *attr_void, size_t size, long rc) +{ + printf("bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER" + ", insn_cnt=%zu, insns=", ARRAY_SIZE(socket_prog)); +# if VERBOSE + printf(socket_prog_fmt, socket_prog[4].imm); +# else + printf("%p", socket_prog); +# endif + if (size > offsetof(struct BPF_PROG_LOAD_struct, license)) + printf(", license=\"BSD\""); + if (size > offsetof(struct BPF_PROG_LOAD_struct, log_buf)) + printf(", log_level=42, log_size=%zu, log_buf=\"\"", + sizeof(log_buf)); + if (size > offsetof(struct BPF_PROG_LOAD_struct, kern_version)) + printf(", kern_version=KERNEL_VERSION(57005, 192, 222)"); + if (size > offsetof(struct BPF_PROG_LOAD_struct, prog_flags)) + printf(", prog_flags=0"); + if (size > offsetof(struct BPF_PROG_LOAD_struct, prog_name)) + printf(", prog_name=\"test_prog\""); + if (size > offsetof(struct BPF_PROG_LOAD_struct, prog_ifindex)) + printf(", prog_ifindex=0"); + if (size > offsetof(struct BPF_PROG_LOAD_struct, expected_attach_type)) + printf(", expected_attach_type=BPF_CGROUP_INET_INGRESS"); + printf("}, %zu) = ", size); + if (rc >= 0) + printf("%ld\n", rc); + else + puts(errstr); +} +#endif /* CHECK_OBJ_PROG */ + +static long +try_bpf(kernel_ulong_t cmd, void (*printer)(void *attr, size_t size, long rc), + void *attr, size_t **sizes) +{ + long rc; + + for (rc = -1; **sizes; (*sizes)++) { + rc = sys_bpf(cmd, attr, **sizes); + printer(attr, **sizes, rc); + + if (rc >= 0) + break; + } + + return rc; +} + +int +main(void) +{ + struct BPF_MAP_CREATE_struct bpf_map_create_attr = { + .map_type = BPF_MAP_TYPE_ARRAY, + .key_size = 4, + .value_size = 8, + .max_entries = 1, + .map_name = "test_map", + }; + size_t bpf_map_create_attr_sizes[] = { + sizeof(bpf_map_create_attr), + offsetofend(struct BPF_MAP_CREATE_struct, max_entries), + 0, + }; + +#if CHECK_OBJ_PROG + struct BPF_PROG_LOAD_struct bpf_prog_load_attr = { + .prog_type = BPF_PROG_TYPE_SOCKET_FILTER, + .insn_cnt = ARRAY_SIZE(socket_prog), + .insns = (uintptr_t) socket_prog, + .license = (uintptr_t) license, + .log_level = 42, + .log_size = sizeof(log_buf), + .log_buf = (uintptr_t) log_buf, + .kern_version = 0xdeadc0de, + .prog_name = "test_prog", + }; + size_t bpf_prog_load_attr_sizes[] = { + sizeof(bpf_prog_load_attr), + offsetofend(struct BPF_PROG_LOAD_struct, prog_name), + offsetofend(struct BPF_PROG_LOAD_struct, prog_flags), + offsetofend(struct BPF_PROG_LOAD_struct, kern_version), + offsetofend(struct BPF_PROG_LOAD_struct, log_buf), + offsetofend(struct BPF_PROG_LOAD_struct, license), + offsetofend(struct BPF_PROG_LOAD_struct, insns), + 0, + }; +#endif /* CHECK_OBJ_PROG */ + + size_t *bpf_map_create_attr_size = bpf_map_create_attr_sizes; + int map_fd = try_bpf(BPF_MAP_CREATE, print_map_create, + &bpf_map_create_attr, &bpf_map_create_attr_size); + if (map_fd < 0) + perror_msg_and_skip("BPF_MAP_CREATE failed"); + +#if CHECK_OBJ_PROG + socket_prog[4].imm = map_fd; + + size_t *bpf_prog_load_attr_size = bpf_prog_load_attr_sizes; + int prog_fd = try_bpf(BPF_PROG_LOAD, print_prog_load, + &bpf_prog_load_attr, &bpf_prog_load_attr_size); + if (prog_fd < 0) + perror_msg_and_skip("BPF_PROG_LOAD failed (log: \"%s\")", + log_buf); +#endif /* CHECK_OBJ_PROG */ + + /* + * This has to be a macro, otherwise the compiler complains that + * initializer element is not constant. + */ + #define MAP_INFO_SZ (sizeof(*map_info) + 64) + struct bpf_map_info_struct *map_info = calloc(1, MAP_INFO_SZ); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_map_get_info_attr = { + .bpf_fd = map_fd, + .info_len = MAP_INFO_SZ, + .info = (uintptr_t) map_info, + }; + + int ret = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_map_get_info_attr, + sizeof(bpf_map_get_info_attr)); + if (ret < 0) + perror_msg_and_skip("BPF_OBJ_GET_INFO_BY_FD map failed"); + + printf("bpf(BPF_OBJ_GET_INFO_BY_FD" + ", {info={bpf_fd=%d, info_len=%zu", + map_fd, MAP_INFO_SZ); + if (bpf_map_get_info_attr.info_len != MAP_INFO_SZ) + printf(" => %u", bpf_map_get_info_attr.info_len); + + printf(", info="); +#if VERBOSE + printf("{type="); + printxval(bpf_map_types, map_info->type, "BPF_MAP_TYPE_???"); + PRINT_FIELD_U(", ", *map_info, id); + PRINT_FIELD_U(", ", *map_info, key_size); + PRINT_FIELD_U(", ", *map_info, value_size); + PRINT_FIELD_U(", ", *map_info, max_entries); + printf(", map_flags="); + printflags(bpf_map_flags, map_info->map_flags, "BPF_F_???"); + + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, name)) { + printf(", name="); + print_quoted_cstring(map_info->name, sizeof(map_info->name)); + } + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, ifindex)) + printf(", ifindex=%u", map_info->ifindex); + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, netns_dev)) + printf(", netns_dev=makedev(%u, %u)", + major(map_info->netns_dev), minor(map_info->netns_dev)); + if (bpf_map_get_info_attr.info_len > + offsetof(struct bpf_map_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, map_info->netns_ino); + printf("}"); +#else /* !VERBOSE */ + printf("%p", map_info); +#endif /* VERBOSE */ + printf("}}, %zu) = %s\n", sizeof(bpf_map_get_info_attr), errstr); + +#if CHECK_OBJ_PROG + /* + * This has to be a macro, otherwise the compiler complains that + * initializer element is not constant. + */ + #define PROG_INFO_SZ (sizeof(*prog_info) + 64) + struct bpf_prog_info_struct *prog_info = calloc(1, PROG_INFO_SZ); + struct bpf_insn *xlated_prog = tail_alloc(sizeof(*xlated_prog) * 42); + uint32_t *map_ids = tail_alloc(sizeof(*map_ids) * 2); + struct BPF_OBJ_GET_INFO_BY_FD_struct bpf_prog_get_info_attr = { + .bpf_fd = prog_fd, + .info_len = PROG_INFO_SZ, + .info = (uintptr_t) prog_info, + }; + size_t old_prog_info_len = PROG_INFO_SZ; + + for (unsigned int i = 0; i < 4; i++) { + prog_info->jited_prog_len = 0; + switch (i) { + case 1: + prog_info->xlated_prog_insns = + (uintptr_t) (xlated_prog + 42); + prog_info->xlated_prog_len = 336; + prog_info->map_ids = (uintptr_t) (map_ids + 2); + prog_info->nr_map_ids = 2; + break; + case 2: + prog_info->xlated_prog_insns = (uintptr_t) xlated_prog; + /* TODO: check xlated_prog output */ + prog_info->xlated_prog_len = 0; + prog_info->map_ids = (uintptr_t) map_ids; + prog_info->nr_map_ids = 0; + break; + case 3: + prog_info->xlated_prog_insns = (uintptr_t) xlated_prog; + prog_info->xlated_prog_len = 0; + prog_info->map_ids = (uintptr_t) map_ids; + prog_info->nr_map_ids = 2; + break; + } + + ret = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &bpf_prog_get_info_attr, + sizeof(bpf_prog_get_info_attr)); + if (i != 1 && ret < 0) + perror_msg_and_skip("BPF_OBJ_GET_INFO_BY_FD" + " prog %u failed", i); + + printf("bpf(BPF_OBJ_GET_INFO_BY_FD" + ", {info={bpf_fd=%d, info_len=%zu", + prog_fd, old_prog_info_len); + if (!i && bpf_prog_get_info_attr.info_len != PROG_INFO_SZ) + printf(" => %u", bpf_prog_get_info_attr.info_len); + old_prog_info_len = bpf_prog_get_info_attr.info_len; + + printf(", info="); +# if VERBOSE + printf("{type="); + printxval(bpf_prog_types, prog_info->type, "BPF_PROG_TYPE_???"); + PRINT_FIELD_U(", ", *prog_info, id); + printf(", tag="); + print_quoted_hex(prog_info->tag, sizeof(prog_info->tag)); + printf(", jited_prog_len=0"); + if (prog_info->jited_prog_len) + printf(" => %u", prog_info->jited_prog_len); + printf(", jited_prog_insns=NULL"); + switch (i) { + case 0: + printf(", xlated_prog_len=0"); + if (prog_info->xlated_prog_len) + printf(" => %u", prog_info->xlated_prog_len); + printf(", xlated_prog_insns=NULL"); + break; + case 1: + printf(", xlated_prog_len=336"); + if (prog_info->xlated_prog_len != 336) + printf(" => %u", prog_info->xlated_prog_len); + if (prog_info->xlated_prog_len) + printf(", xlated_prog_insns=%p", xlated_prog + 42); + else + printf(", xlated_prog_insns=[]"); + break; + case 2: + case 3: + printf(", xlated_prog_len=0"); + if (prog_info->xlated_prog_len) + printf(" => %u", prog_info->xlated_prog_len); + printf(", xlated_prog_insns=[]"); + break; + } + + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, load_time)) + printf(", load_time=%" PRIu64, prog_info->load_time); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, created_by_uid)) + printf(", created_by_uid=%u", + prog_info->created_by_uid); + + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, map_ids)) { + switch (i) { + case 0: + printf(", nr_map_ids=0"); + if (prog_info->nr_map_ids) + printf(" => 1"); + printf(", map_ids=NULL"); + break; + case 1: + printf(", nr_map_ids=2, map_ids=%p", + map_ids + 2); + break; + case 2: + printf(", nr_map_ids=0"); + if (prog_info->nr_map_ids) + printf(" => 1"); + printf(", map_ids=[]"); + break; + case 3: + printf(", nr_map_ids=2"); + if (prog_info->nr_map_ids != 2) + printf(" => 1"); + printf(", map_ids=[%u]", map_info->id); + break; + } + } + + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, name)) + printf(", name=\"test_prog\""); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, ifindex)) + printf(", ifindex=%u", prog_info->ifindex); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, netns_dev)) + printf(", netns_dev=makedev(%u, %u)", + major(prog_info->netns_dev), + minor(prog_info->netns_dev)); + if (bpf_prog_get_info_attr.info_len > + offsetof(struct bpf_prog_info_struct, netns_ino)) + printf(", netns_ino=%" PRIu64, prog_info->netns_ino); + + printf("}"); +# else /* !VERBOSE */ + printf("%p", prog_info); +# endif /* VERBOSE */ + printf("}}, %zu) = %s\n", + sizeof(bpf_prog_get_info_attr), errstr); + } +#endif /* CHECK_OBJ_PROG */ + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests/bpf-obj_get_info_by_fd.gen.test b/tests/bpf-obj_get_info_by_fd.gen.test new file mode 100755 index 00000000..0efa59a4 --- /dev/null +++ b/tests/bpf-obj_get_info_by_fd.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf-obj_get_info_by_fd -a20 -y -e trace=bpf); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a20 -y -e trace=bpf diff --git a/tests/bpf-success-v.c b/tests/bpf-success-v.c new file mode 100644 index 00000000..48c2a16d --- /dev/null +++ b/tests/bpf-success-v.c @@ -0,0 +1,2 @@ +#define INJECT_RETVAL 42 +#include "bpf-v.c" diff --git a/tests/bpf-success-v.test b/tests/bpf-success-v.test new file mode 100755 index 00000000..819afbbe --- /dev/null +++ b/tests/bpf-success-v.test @@ -0,0 +1,6 @@ +#!/bin/sh -efu + +. "${srcdir=.}/scno_tampering.sh" + +run_strace -a20 -v -e trace=bpf -e inject=bpf:retval=42 ../bpf-success-v > "$EXP" +match_diff "$LOG" "$EXP" diff --git a/tests/bpf-success.c b/tests/bpf-success.c new file mode 100644 index 00000000..06f46956 --- /dev/null +++ b/tests/bpf-success.c @@ -0,0 +1,2 @@ +#define INJECT_RETVAL 42 +#include "bpf.c" diff --git a/tests/bpf-success.test b/tests/bpf-success.test new file mode 100755 index 00000000..3cdfd35a --- /dev/null +++ b/tests/bpf-success.test @@ -0,0 +1,6 @@ +#!/bin/sh -efu + +. "${srcdir=.}/scno_tampering.sh" + +run_strace -a20 -e trace=bpf -e inject=bpf:retval=42 ../bpf-success > "$EXP" +match_diff "$LOG" "$EXP" diff --git a/tests/bpf.c b/tests/bpf.c index 72d7e8e5..15ce7132 100644 --- a/tests/bpf.c +++ b/tests/bpf.c @@ -49,6 +49,19 @@ #include "xlat.h" #include "xlat/bpf_commands.h" +#if defined MPERS_IS_m32 || SIZEOF_KERNEL_LONG_T > 4 +# define BIG_ADDR(addr64_, addr32_) addr64_ +# define BIG_ADDR_MAYBE(addr_) +#elif defined __arm__ || defined __i386__ || defined __mips__ \ + || defined __powerpc__ || defined __riscv__ || defined __s390__ \ + || defined __sparc__ || defined __tile__ +# define BIG_ADDR(addr64_, addr32_) addr64_ " or " addr32_ +# define BIG_ADDR_MAYBE(addr_) addr_ " or " +#else +# define BIG_ADDR(addr64_, addr32_) addr32_ +# define BIG_ADDR_MAYBE(addr_) +#endif + #ifndef HAVE_STRUCT_BPF_INSN struct bpf_insn { uint8_t code; @@ -76,6 +89,8 @@ union bpf_attr_data { 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); + BPF_ATTR_DATA_FIELD(BPF_PROG_QUERY); + BPF_ATTR_DATA_FIELD(BPF_RAW_TRACEPOINT_OPEN); char char_data[256]; }; @@ -105,7 +120,20 @@ static long sys_bpf(kernel_ulong_t cmd, kernel_ulong_t attr, kernel_ulong_t size) { long rc = syscall(__NR_bpf, cmd, attr, size); + errstr = sprintrc(rc); + +#ifdef INJECT_RETVAL + if (rc != INJECT_RETVAL) + error_msg_and_fail("Got a return value of %ld != %d", + rc, INJECT_RETVAL); + + static char inj_errstr[4096]; + + snprintf(inj_errstr, sizeof(inj_errstr), "%s (INJECTED)", errstr); + errstr = inj_errstr; +#endif + return rc; } @@ -232,36 +260,173 @@ test_bpf(const struct bpf_check *cmd_check) cmd_check->cmd_str, addr, page_size + 1, errstr); } -static const struct bpf_attr_check BPF_MAP_CREATE_checks[] = { +static void +init_BPF_MAP_CREATE_attr7(struct bpf_attr_check *check) +{ + struct BPF_MAP_CREATE_struct *attr = &check->data.BPF_MAP_CREATE_data; + attr->map_ifindex = ifindex_lo(); +} + +static 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" + ", max_entries=0" }, - { + { /* 1 */ .data = { .BPF_MAP_CREATE_data = { - .map_type = 1, + .map_type = 16, .key_size = 4, .value_size = 8, .max_entries = 256, - .map_flags = 7, + .map_flags = 63, .inner_map_fd = -1, - .numa_node = 42 + .numa_node = 3141592653, + .map_name = "0123456789abcde", } }, - .size = offsetofend(struct BPF_MAP_CREATE_struct, numa_node), - .str = "map_type=BPF_MAP_TYPE_HASH, key_size=4" + .size = offsetof(struct BPF_MAP_CREATE_struct, map_name) + 8, + .str = "map_type=BPF_MAP_TYPE_CPUMAP, 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" - } + "|BPF_F_NUMA_NODE|BPF_F_RDONLY|BPF_F_WRONLY" + "|BPF_F_STACK_BUILD_ID" + ", inner_map_fd=-1" + ", numa_node=3141592653" + ", map_name=\"0123456\"...", + + }, + { /* 2 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 17, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xffffffc0, + .inner_map_fd = 2718281828, + .numa_node = -1, + .map_name = "", + .map_ifindex = 3141592653, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_ifindex), + .str = "map_type=0x11 /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=0xffffffc0 /* BPF_F_??? */" + ", inner_map_fd=-1576685468" + ", map_name=\"\", map_ifindex=3141592653", + + }, + { /* 3 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_flags), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80", + }, + { /* 4 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, inner_map_fd), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468", + }, + { /* 5 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, numa_node), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468" + ", numa_node=4294967295 /* NUMA_NO_NODE */", + }, + { /* 6 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + .map_name = "fedcba9876543210", + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_name), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468" + ", numa_node=4294967295 /* NUMA_NO_NODE */" + ", map_name=\"fedcba987654321\"...", + }, + { /* 7 */ + .data = { .BPF_MAP_CREATE_data = { + .map_type = 0xdeadf00d, + .key_size = 0xface1e55, + .value_size = 0xbadc0ded, + .max_entries = 0xbeefcafe, + .map_flags = 0xc0dedead, + .inner_map_fd = 2718281828, + .numa_node = -1, + .map_name = "0123456789abcde", + } }, + .size = offsetofend(struct BPF_MAP_CREATE_struct, map_ifindex), + .str = "map_type=0xdeadf00d /* BPF_MAP_TYPE_??? */" + ", key_size=4207812181, value_size=3134983661" + ", max_entries=3203386110" + ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE" + "|BPF_F_RDONLY|BPF_F_STACK_BUILD_ID" + "|0xc0dede80" + ", inner_map_fd=-1576685468" + ", numa_node=4294967295 /* NUMA_NO_NODE */" + ", map_name=\"0123456789abcde\"" + ", map_ifindex=" IFINDEX_LO_STR, + .init_fn = init_BPF_MAP_CREATE_attr7, + }, }; 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" + .str = "map_fd=-1, key=NULL, value=NULL" }, { .data = { .BPF_MAP_LOOKUP_ELEM_data = { @@ -278,7 +443,7 @@ 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" + .str = "map_fd=-1, key=NULL, value=NULL, flags=BPF_ANY" }, { .data = { .BPF_MAP_UPDATE_ELEM_data = { @@ -297,7 +462,7 @@ 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" + .str = "map_fd=-1, key=NULL" }, { .data = { .BPF_MAP_DELETE_ELEM_data = { @@ -313,7 +478,7 @@ 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" + .str = "map_fd=-1, key=NULL, next_key=NULL" }, { .data = { .BPF_MAP_GET_NEXT_KEY_data = { @@ -327,30 +492,96 @@ static const struct bpf_attr_check BPF_MAP_GET_NEXT_KEY_checks[] = { }; static const struct bpf_insn insns[] = { - { .code = 0x95 } + { + .code = 0x95, + .dst_reg = 10, + .src_reg = 11, + .off = 0xdead, + .imm = 0xbadc0ded, + }, }; static const char license[] = "GPL"; -static char log_buf[4096]; static const char pathname[] = "/sys/fs/bpf/foo/bar"; +static char *log_buf; +/* + * This has to be a macro, otherwise the compiler complains that + * initializer element is not constant. + */ +#define log_buf_size 4096U + +static inline char * +get_log_buf(void) +{ + if (!log_buf) + log_buf = tail_alloc(log_buf_size); + return log_buf; +} + +static inline char * +get_log_buf_tail(void) +{ + return get_log_buf() + log_buf_size; +} + +#if VERBOSE +# define INSNS_FMT \ + "[{code=BPF_JMP|BPF_K|BPF_EXIT, dst_reg=BPF_REG_10" \ + ", src_reg=0xb /* BPF_REG_??? */, off=%d, imm=%#x}]" +# define INSNS_ARG insns[0].off, insns[0].imm +#else +# define INSNS_FMT "%p" +# define INSNS_ARG insns +#endif + static void -init_BPF_PROG_LOAD_attr(struct bpf_attr_check *check) +init_BPF_PROG_LOAD_attr3(struct bpf_attr_check *check) { 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; + attr->log_buf = (uintptr_t) get_log_buf_tail(); } static void -print_BPF_PROG_LOAD_attr(const struct bpf_attr_check *check, unsigned long addr) +print_BPF_PROG_LOAD_attr3(const struct bpf_attr_check *check, unsigned long addr) { - printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=%u, insns=%p" - ", license=\"%s\", log_level=42, log_size=4096, log_buf=%p" + printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=%u" + ", insns=" INSNS_FMT ", license=\"%s\", log_level=2718281828" + ", log_size=%u, log_buf=%p" ", kern_version=KERNEL_VERSION(51966, 240, 13)" - ", prog_flags=BPF_F_STRICT_ALIGNMENT", - (unsigned int) ARRAY_SIZE(insns), insns, - license, log_buf); + ", prog_flags=0x2 /* BPF_F_??? */" + ", prog_name=\"0123456789abcde\"..., prog_ifindex=3203399405", + (unsigned int) ARRAY_SIZE(insns), INSNS_ARG, license, + log_buf_size, get_log_buf_tail()); +} + +static void +init_BPF_PROG_LOAD_attr4(struct bpf_attr_check *check) +{ + 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) get_log_buf(); + attr->prog_ifindex = ifindex_lo(); + + strncpy(log_buf, "log test", 9); +} + +static void +print_BPF_PROG_LOAD_attr4(const struct bpf_attr_check *check, unsigned long addr) +{ + printf("prog_type=BPF_PROG_TYPE_UNSPEC, insn_cnt=%u, insns=" INSNS_FMT + ", license=\"%s\", log_level=2718281828, log_size=4" + ", log_buf=\"log \"..." + ", kern_version=KERNEL_VERSION(51966, 240, 13)" + ", prog_flags=BPF_F_STRICT_ALIGNMENT|0x2" + ", prog_name=\"0123456789abcde\"..., prog_ifindex=%s" + ", expected_attach_type=BPF_CGROUP_INET6_BIND", + (unsigned int) ARRAY_SIZE(insns), INSNS_ARG, + license, IFINDEX_LO_STR); } static struct bpf_attr_check BPF_PROG_LOAD_checks[] = { @@ -358,21 +589,82 @@ 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" + ", insn_cnt=0, insns=NULL, license=NULL" }, - { + { /* 1 */ .data = { .BPF_PROG_LOAD_data = { - .prog_type = 1, - .insn_cnt = ARRAY_SIZE(insns), + .prog_type = 18, + .insn_cnt = 0xbadc0ded, + .insns = 0, + .license = 0, .log_level = 42, - .log_size = sizeof(log_buf), + .log_size = 3141592653U, + .log_buf = 0, .kern_version = 0xcafef00d, - .prog_flags = 1 + .prog_flags = 0, } }, .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_flags), - .init_fn = init_BPF_PROG_LOAD_attr, - .print_fn = print_BPF_PROG_LOAD_attr - } + .str = "prog_type=0x12 /* BPF_PROG_TYPE_??? */" + ", insn_cnt=3134983661, insns=NULL, license=NULL" + ", log_level=42, log_size=3141592653, log_buf=NULL" + ", kern_version=KERNEL_VERSION(51966, 240, 13)" + ", prog_flags=0", + }, + { /* 2 */ + .data = { .BPF_PROG_LOAD_data = { + .prog_type = 17, + .insn_cnt = 0xbadc0ded, + .insns = 0xffffffff00000000, + .license = 0xffffffff00000000, + .log_level = 2718281828U, + .log_size = log_buf_size, + .log_buf = 0xffffffff00000000, + .kern_version = 0xcafef00d, + .prog_flags = 1, + .prog_name = "fedcba987654321", + } }, + .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_name), + .str = "prog_type=BPF_PROG_TYPE_RAW_TRACEPOINT" + ", insn_cnt=3134983661" + ", insns=" BIG_ADDR("0xffffffff00000000", "NULL") + ", license=" BIG_ADDR("0xffffffff00000000", "NULL") + ", log_level=2718281828, log_size=4096" + ", log_buf=" BIG_ADDR("0xffffffff00000000", "NULL") + ", kern_version=KERNEL_VERSION(51966, 240, 13)" + ", prog_flags=BPF_F_STRICT_ALIGNMENT" + ", prog_name=\"fedcba987654321\"", + }, + { /* 3 */ + .data = { .BPF_PROG_LOAD_data = { + .prog_type = 1, + .insn_cnt = ARRAY_SIZE(insns), + .log_level = 2718281828U, + .log_size = log_buf_size, + .kern_version = 0xcafef00d, + .prog_flags = 2, + .prog_name = "0123456789abcdef", + .prog_ifindex = 0xbeeffeed, + } }, + .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_ifindex), + .init_fn = init_BPF_PROG_LOAD_attr3, + .print_fn = print_BPF_PROG_LOAD_attr3 + }, + { /* 4 */ + .data = { .BPF_PROG_LOAD_data = { + .prog_type = 0, + .insn_cnt = ARRAY_SIZE(insns), + .log_level = 2718281828U, + .log_size = 4, + .kern_version = 0xcafef00d, + .prog_flags = 3, + .prog_name = "0123456789abcdef", + .expected_attach_type = 9, + } }, + .size = offsetofend(struct BPF_PROG_LOAD_struct, + expected_attach_type), + .init_fn = init_BPF_PROG_LOAD_attr4, + .print_fn = print_BPF_PROG_LOAD_attr4 + }, }; static void @@ -393,16 +685,7 @@ static struct bpf_attr_check BPF_OBJ_PIN_checks[] = { .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 + .str = "pathname=" BIG_ADDR("0xffffffffffffffff", "0xffffffff") ", bpf_fd=0", }, { @@ -468,7 +751,7 @@ 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" + ", data_size_out=0, data_in=NULL, data_out=NULL" ", repeat=0, duration=0}" }, { @@ -594,7 +877,7 @@ 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}" + .str = "info={bpf_fd=-1, info_len=0, info=NULL}" }, { .data = { .BPF_OBJ_GET_INFO_BY_FD_data = { @@ -608,6 +891,194 @@ static const struct bpf_attr_check BPF_OBJ_GET_INFO_BY_FD_checks[] = { } }; + +static uint32_t prog_load_ids[] = { 0, 1, 0xffffffff, 2718281828, }; +uint32_t *prog_load_ids_ptr; + +static void +init_BPF_PROG_QUERY_attr4(struct bpf_attr_check *check) +{ + struct BPF_PROG_QUERY_struct *attr = &check->data.BPF_PROG_QUERY_data; + + if (!prog_load_ids_ptr) + prog_load_ids_ptr = tail_memdup(prog_load_ids, + sizeof(prog_load_ids)); + + attr->prog_ids = (uintptr_t) prog_load_ids_ptr; + attr->prog_cnt = ARRAY_SIZE(prog_load_ids); +} + +static void +print_BPF_PROG_QUERY_attr4(const struct bpf_attr_check *check, unsigned long addr) +{ + printf("query={target_fd=-1153374643" + ", attach_type=0xfeedface /* BPF_??? */" + ", query_flags=BPF_F_QUERY_EFFECTIVE|0xdeadf00c" + ", attach_flags=BPF_F_ALLOW_MULTI|0xbeefcafc" +#if defined(INJECT_RETVAL) && INJECT_RETVAL > 0 + ", prog_ids=[0, 1, 4294967295, 2718281828], prog_cnt=4}" +#else + ", prog_ids=%p, prog_cnt=4}", prog_load_ids_ptr +#endif + ); +} + +static void +init_BPF_PROG_QUERY_attr5(struct bpf_attr_check *check) +{ + struct BPF_PROG_QUERY_struct *attr = &check->data.BPF_PROG_QUERY_data; + + if (!prog_load_ids_ptr) + prog_load_ids_ptr = tail_memdup(prog_load_ids, + sizeof(prog_load_ids)); + + attr->prog_ids = (uintptr_t) prog_load_ids_ptr; + attr->prog_cnt = ARRAY_SIZE(prog_load_ids) + 1; +} + +static void +print_BPF_PROG_QUERY_attr5(const struct bpf_attr_check *check, unsigned long addr) +{ + printf("query={target_fd=-1153374643" + ", attach_type=0xfeedface /* BPF_??? */" + ", query_flags=BPF_F_QUERY_EFFECTIVE|0xdeadf00c" + ", attach_flags=BPF_F_ALLOW_MULTI|0xbeefcafc" +#if defined(INJECT_RETVAL) && INJECT_RETVAL > 0 + ", prog_ids=[0, 1, 4294967295, 2718281828, ... /* %p */]" + ", prog_cnt=5}", + prog_load_ids_ptr + ARRAY_SIZE(prog_load_ids) +#else + ", prog_ids=%p, prog_cnt=5}", prog_load_ids_ptr +#endif + ); +} + +static struct bpf_attr_check BPF_PROG_QUERY_checks[] = { + { + .data = { .BPF_PROG_QUERY_data = { .target_fd = -1 } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, target_fd), + .str = "query={target_fd=-1" + ", attach_type=BPF_CGROUP_INET_INGRESS, query_flags=0" + ", attach_flags=0, prog_ids=NULL, prog_cnt=0}", + }, + { /* 1 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 13, + .query_flags = 1, + .attach_flags = 3, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, attach_flags), + .str = "query={target_fd=-1153374643" + ", attach_type=BPF_CGROUP_INET6_POST_BIND" + ", query_flags=BPF_F_QUERY_EFFECTIVE" + ", attach_flags=BPF_F_ALLOW_OVERRIDE|BPF_F_ALLOW_MULTI" + ", prog_ids=NULL, prog_cnt=0}", + }, + { /* 2 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 14, + .query_flags = 0xfffffffe, + .attach_flags = 0xfffffffc, + .prog_ids = 0xffffffffffffffffULL, + .prog_cnt = 2718281828, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .str = "query={target_fd=-1153374643" + ", attach_type=0xe /* BPF_??? */" + ", query_flags=0xfffffffe /* BPF_F_QUERY_??? */" + ", attach_flags=0xfffffffc /* BPF_F_??? */" + ", prog_ids=" + BIG_ADDR("0xffffffffffffffff", "0xffffffff") + ", prog_cnt=2718281828}", + }, + { /* 3 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 0xfeedface, + .query_flags = 0xdeadf00d, + .attach_flags = 0xbeefcafe, + .prog_ids = 0xffffffffffffffffULL, + .prog_cnt = 0, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .str = "query={target_fd=-1153374643" + ", attach_type=0xfeedface /* BPF_??? */" + ", query_flags=BPF_F_QUERY_EFFECTIVE|0xdeadf00c" + ", attach_flags=BPF_F_ALLOW_MULTI|0xbeefcafc" + ", prog_ids=" BIG_ADDR_MAYBE("0xffffffffffffffff") "[]" + ", prog_cnt=0}", + }, + { /* 4 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 0xfeedface, + .query_flags = 0xdeadf00d, + .attach_flags = 0xbeefcafe, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .init_fn = init_BPF_PROG_QUERY_attr4, + .print_fn = print_BPF_PROG_QUERY_attr4, + }, + { /* 5 */ + .data = { .BPF_PROG_QUERY_data = { + .target_fd = 3141592653U, + .attach_type = 0xfeedface, + .query_flags = 0xdeadf00d, + .attach_flags = 0xbeefcafe, + } }, + .size = offsetofend(struct BPF_PROG_QUERY_struct, prog_cnt), + .init_fn = init_BPF_PROG_QUERY_attr5, + .print_fn = print_BPF_PROG_QUERY_attr5, + }, +}; + + +static void +init_BPF_RAW_TRACEPOINT_attr2(struct bpf_attr_check *check) +{ + /* TODO: test the 128 byte limit */ + static const char tp_name[] = "0123456789qwertyuiop0123456789qwe"; + + struct BPF_RAW_TRACEPOINT_OPEN_struct *attr = + &check->data.BPF_RAW_TRACEPOINT_OPEN_data; + + attr->name = (uintptr_t) tp_name; +} + +static struct bpf_attr_check BPF_RAW_TRACEPOINT_OPEN_checks[] = { + { + .data = { .BPF_RAW_TRACEPOINT_OPEN_data = { .name = 0 } }, + .size = offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, + name), + .str = "raw_tracepoint={name=NULL, prog_fd=0}", + }, + { /* 1 */ + .data = { .BPF_RAW_TRACEPOINT_OPEN_data = { + .name = 0xffffffff00000000ULL, + .prog_fd = 0xdeadbeef, + } }, + .size = offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, + prog_fd), + .str = "raw_tracepoint=" + "{name=" BIG_ADDR("0xffffffff00000000", "NULL") + ", prog_fd=-559038737}", + }, + { + .data = { .BPF_RAW_TRACEPOINT_OPEN_data = { + .prog_fd = 0xdeadbeef, + } }, + .size = offsetofend(struct BPF_RAW_TRACEPOINT_OPEN_struct, + prog_fd), + .init_fn = init_BPF_RAW_TRACEPOINT_attr2, + .str = "raw_tracepoint=" + "{name=\"0123456789qwertyuiop0123456789qw\"..." + ", prog_fd=-559038737}", + } +}; + + #define CHK(cmd_) \ { \ cmd_, #cmd_, \ @@ -635,6 +1106,8 @@ main(void) CHK(BPF_PROG_GET_FD_BY_ID), CHK(BPF_MAP_GET_FD_BY_ID), CHK(BPF_OBJ_GET_INFO_BY_FD), + CHK(BPF_PROG_QUERY), + CHK(BPF_RAW_TRACEPOINT_OPEN), }; page_size = get_page_size(); diff --git a/tests/btrfs-X.test b/tests/btrfs-X.test new file mode 100755 index 00000000..c129be96 --- /dev/null +++ b/tests/btrfs-X.test @@ -0,0 +1,11 @@ +#!/bin/sh + +# Check verbose xlat decoding of btrfs ioctl + +. "${srcdir=.}/init.sh" + +check_prog grep +run_prog ../btrfs -X > /dev/null +run_strace -a16 -Xverbose -eioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests/btrfs-vX.test b/tests/btrfs-vX.test new file mode 100755 index 00000000..163b29fd --- /dev/null +++ b/tests/btrfs-vX.test @@ -0,0 +1,11 @@ +#!/bin/sh + +# Check verbose, verbose xlat decoding of btrfs ioctl + +. "${srcdir=.}/init.sh" + +check_prog grep +run_prog ../btrfs -v -X > /dev/null +run_strace -a16 -Xverbose -veioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests/btrfs-vwX.test b/tests/btrfs-vwX.test new file mode 100755 index 00000000..57c68915 --- /dev/null +++ b/tests/btrfs-vwX.test @@ -0,0 +1,25 @@ +#!/bin/sh + +# Check verbose, verbose xlat decoding of btrfs ioctl w/ live ioctls. + +# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM + +# Typical usage: +# mkfs.btrfs +# mount /mnt +# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-vwX" +# umount /mnt + +. "${srcdir=.}/init.sh" + +if [ -z "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT not set" +elif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT does not point to a directory" +fi + +check_prog grep +run_prog ../btrfs -v -w -X "${BTRFS_MOUNTPOINT}" > /dev/null +run_strace -a16 -Xverbose -veioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests/btrfs-wX.test b/tests/btrfs-wX.test new file mode 100755 index 00000000..5fb69499 --- /dev/null +++ b/tests/btrfs-wX.test @@ -0,0 +1,25 @@ +#!/bin/sh + +# Check verbose xlat decoding of btrfs ioctl w/ live ioctls. + +# WARNING: USE OF THIS TEST WILL MODIFY AN EXISTING BTRFS FILE SYSTEM + +# Typical usage: +# mkfs.btrfs +# mount /mnt +# BTRFS_MOUNTPOINT=/mnt make check TESTS="btrfs-wX" +# umount /mnt + +. "${srcdir=.}/init.sh" + +if [ -z "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT not set" +elif [ ! -d "${BTRFS_MOUNTPOINT}" ]; then + skip_ "\$BTRFS_MOUNTPOINT does not point to a directory" +fi + +check_prog grep +run_prog ../btrfs -w -X "${BTRFS_MOUNTPOINT}" > /dev/null +run_strace -a16 -Xverbose -eioctl $args > "$EXP" +grep -v '^ioctl([012],' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests/btrfs.c b/tests/btrfs.c index 415f6928..b44bc872 100644 --- a/tests/btrfs.c +++ b/tests/btrfs.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -23,6 +24,7 @@ #include "xlat/btrfs_balance_flags.h" #include "xlat/btrfs_balance_state.h" #include "xlat/btrfs_compress_types.h" +#include "xlat/btrfs_cont_reading_from_srcdev_mode.h" #include "xlat/btrfs_defrag_flags.h" #include "xlat/btrfs_dev_stats_values.h" #include "xlat/btrfs_dev_stats_flags.h" @@ -62,6 +64,11 @@ static const char *btrfs_test_root; static int btrfs_test_dir_fd; static bool verbose; static bool write_ok; +static bool verbose_xlat; + +static const char *path; +static const char dir_name_fmt[] = "strace-test-%d"; +static char dir_name[sizeof(dir_name_fmt) + sizeof(int) * 3]; const unsigned char uuid_reference[BTRFS_UUID_SIZE] = { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, @@ -152,11 +159,61 @@ struct btrfs_ioctl_search_args_v2 { static const char * -maybe_print_uint64max(uint64_t val) +sprint_xlat_(uint32_t val, const char *xlat) +{ + static char str[256]; + int ret; + + if (verbose_xlat) { + ret = snprintf(str, sizeof(str), "%#x /* %s */", val, xlat); + + if (ret < 0) + perror_msg_and_fail("sprint_ioc(%#x, %s)", val, xlat); + if ((unsigned) ret >= sizeof(str)) + error_msg_and_fail("sprint_ioc(%#x, %s): buffer " + "overflow", val, xlat); + + return str; + } + + return xlat; +} + +#define ioc(x_) sprint_xlat_(x_, #x_) + +void +prfl_btrfs(const struct xlat *xlat, const unsigned long long val, + const char *str) +{ + if (verbose_xlat && val) + printf("%#llx /* ", val); + printflags(xlat, val, str); + if (verbose_xlat && val) + printf(" */"); +} + +void +prxval_btrfs(const struct xlat *xlat, const unsigned long long val, + const char *str, bool known) +{ + if (verbose_xlat && known) + printf("%#llx /* ", val); + printxval(xlat, val, str); + if (verbose_xlat && known) + printf(" */"); +} + +static void +print_uint64(const char *prefix, uint64_t val) { - if (val == UINT64_MAX) - return " /* UINT64_MAX */"; - return ""; + if (val == UINT64_MAX) { + if (verbose_xlat) + printf("%s%" PRIu64 " /* UINT64_MAX */", prefix, val); + else + printf("%sUINT64_MAX", prefix); + } else { + printf("%s%" PRIu64, prefix, val); + } } /* takes highest valid flag bit */ @@ -182,10 +239,10 @@ static void btrfs_test_trans_ioctls(void) { ioctl(-1, BTRFS_IOC_TRANS_START, NULL); - printf("ioctl(-1, BTRFS_IOC_TRANS_START) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_TRANS_START)); ioctl(-1, BTRFS_IOC_TRANS_END, NULL); - printf("ioctl(-1, BTRFS_IOC_TRANS_END) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_TRANS_END)); } /* @@ -201,14 +258,15 @@ btrfs_test_sync_ioctls(void) uint64_t u64val = 0xdeadbeefbadc0dedULL; ioctl(-1, BTRFS_IOC_SYNC, NULL); - printf("ioctl(-1, BTRFS_IOC_SYNC) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SYNC)); ioctl(-1, BTRFS_IOC_WAIT_SYNC, NULL); - printf("ioctl(-1, BTRFS_IOC_WAIT_SYNC, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_WAIT_SYNC)); ioctl(-1, BTRFS_IOC_WAIT_SYNC, &u64val); - printf("ioctl(-1, BTRFS_IOC_WAIT_SYNC, [%" PRIu64 - "]) = -1 EBADF (%m)\n", u64val); + printf("ioctl(-1, %s, [%" PRIu64 "]) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_WAIT_SYNC), u64val); /* * The live test of BTRFS_IOC_SYNC happens as a part of the test @@ -220,24 +278,24 @@ static void btrfs_print_qgroup_inherit(struct btrfs_qgroup_inherit *inherit) { printf("{flags="); - printflags(btrfs_qgroup_inherit_flags, inherit->flags, + prfl_btrfs(btrfs_qgroup_inherit_flags, inherit->flags, "BTRFS_QGROUP_INHERIT_???"); printf(", num_qgroups=%" PRI__u64 ", num_ref_copies=%" PRI__u64 ", num_excl_copies=%" PRI__u64 ", lim={flags=", inherit->num_qgroups, inherit->num_ref_copies, inherit->num_excl_copies); - printflags(btrfs_qgroup_limit_flags, + prfl_btrfs(btrfs_qgroup_limit_flags, inherit->lim.flags, "BTRFS_QGROUP_LIMIT_???"); printf(", max_rfer=%" PRI__u64 ", max_excl=%" PRI__u64 ", rsv_rfer=%" PRI__u64 ", rsv_excl=%" PRI__u64 - "}, qgroups=", + "}, ", inherit->lim.max_rfer, inherit->lim.max_excl, inherit->lim.rsv_rfer, inherit->lim.rsv_excl); if (verbose) { unsigned int i; - printf("["); + printf("qgroups=["); for (i = 0; i < inherit->num_qgroups; i++) { if (i > 0) printf(", "); @@ -254,7 +312,7 @@ static void btrfs_print_vol_args_v2(struct btrfs_ioctl_vol_args_v2 *args, int print_qgroups) { printf("{fd=%d, flags=", (int) args->fd); - printflags(btrfs_snap_flags_v2, args->flags, "BTRFS_SUBVOL_???"); + prfl_btrfs(btrfs_snap_flags_v2, args->flags, "BTRFS_SUBVOL_???"); if (args->flags & BTRFS_SUBVOL_QGROUP_INHERIT) { printf(", size=%" PRI__u64 ", qgroup_inherit=", args->size); @@ -302,61 +360,64 @@ btrfs_test_subvol_ioctls(void) strcpy(vol_args.name, subvol_name); ioctl(-1, BTRFS_IOC_SNAP_CREATE, NULL); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE)); ioctl(-1, BTRFS_IOC_SNAP_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE, " - "{fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE, " - "{fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SUBVOL_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_DESTROY," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_DESTROY), vol_args.name); strncpy(vol_args.name, long_subvol_name, BTRFS_PATH_NAME_MAX); ioctl(-1, BTRFS_IOC_SNAP_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SUBVOL_CREATE), vol_args.name); ioctl(-1, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(-1, BTRFS_IOC_SNAP_DESTROY," - " {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", vol_args.name); + printf("ioctl(-1, %s, {fd=0, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_DESTROY), vol_args.name); long_subvol_name = realloc(long_subvol_name, BTRFS_SUBVOL_NAME_MAX); if (!long_subvol_name) perror_msg_and_fail("realloc failed"); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SNAP_CREATE_V2)); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); strcpy(vol_args_v2.name, subvol_name); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); strncpy(vol_args_v2.name, long_subvol_name, BTRFS_SUBVOL_NAME_MAX); - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); @@ -364,12 +425,12 @@ btrfs_test_subvol_ioctls(void) strcpy(vol_args_v2.name, subvol_name); vol_args_v2.qgroup_inherit = bad_pointer; - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 0); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 0); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); @@ -394,31 +455,33 @@ btrfs_test_subvol_ioctls(void) inherit->lim.rsv_excl = u64val; vol_args_v2.qgroup_inherit = inherit; - printf("ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SNAP_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, "); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); ioctl(-1, BTRFS_IOC_SUBVOL_CREATE_V2, &vol_args_v2); printf(") = -1 EBADF (%m)\n"); ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, NULL); - printf("ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEFAULT_SUBVOL)); ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, &u64val); - printf("ioctl(-1, BTRFS_IOC_DEFAULT_SUBVOL, [%" - PRIu64 "]) = -1 EBADF (%m)\n", u64val); + printf("ioctl(-1, %s, [%" PRIu64 "]) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEFAULT_SUBVOL), u64val); - printf("ioctl(-1, BTRFS_IOC_SUBVOL_SETFLAGS, "); - printflags(btrfs_snap_flags_v2, vol_args_v2.flags, + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_SUBVOL_SETFLAGS)); + prfl_btrfs(btrfs_snap_flags_v2, vol_args_v2.flags, "BTRFS_SUBVOL_???"); ioctl(-1, BTRFS_IOC_SUBVOL_SETFLAGS, &vol_args_v2.flags); printf(") = -1 EBADF (%m)\n"); if (write_ok) { struct btrfs_ioctl_vol_args_v2 args_passed; + long ret; /* * Returns transid if flags & BTRFS_SUBVOL_CREATE_ASYNC * - BTRFS_IOC_SNAP_CREATE_V2 @@ -432,11 +495,14 @@ btrfs_test_subvol_ioctls(void) vol_args_v2.size = 0; vol_args_v2.qgroup_inherit = NULL; args_passed = vol_args_v2; - printf("ioctl(%d, BTRFS_IOC_SUBVOL_CREATE_V2, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SUBVOL_CREATE_V2)); btrfs_print_vol_args_v2(&vol_args_v2, 1); - ioctl(btrfs_test_dir_fd, BTRFS_IOC_SUBVOL_CREATE_V2, + ret = ioctl(btrfs_test_dir_fd, BTRFS_IOC_SUBVOL_CREATE_V2, &args_passed); + if (ret < 0) + perror_msg_and_fail("ioctl(BTRFS_IOC_SUBVOL_CREATE_V2) " + "failed"); printf(" => {transid=%" PRI__u64 "}) = 0\n", args_passed.transid); @@ -448,8 +514,8 @@ btrfs_test_subvol_ioctls(void) strncpy(vol_args_v2.name, long_subvol_name, BTRFS_NAME_LEN); vol_args_v2.fd = subvolfd; args_passed = vol_args_v2; - printf("ioctl(%d, BTRFS_IOC_SNAP_CREATE_V2, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SNAP_CREATE_V2)); btrfs_print_vol_args_v2(&args_passed, 1); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_CREATE_V2, &args_passed); @@ -460,15 +526,15 @@ btrfs_test_subvol_ioctls(void) strncpy(vol_args.name, long_subvol_name, 255); vol_args.name[255] = 0; ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(%d, BTRFS_IOC_SNAP_DESTROY, " - "{fd=%d, name=\"%.*s\"}) = 0\n", - btrfs_test_dir_fd, (int) vol_args.fd, 255, long_subvol_name); + printf("ioctl(%d, %s, {fd=%d, name=\"%.*s\"}) = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SNAP_DESTROY), + (int) vol_args.fd, 255, long_subvol_name); strcpy(vol_args.name, subvol_name); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_DESTROY, &vol_args); - printf("ioctl(%d, BTRFS_IOC_SNAP_DESTROY, " - "{fd=%d, name=\"%s\"}) = 0\n", - btrfs_test_dir_fd, (int) vol_args.fd, subvol_name); + printf("ioctl(%d, %s, {fd=%d, name=\"%s\"}) = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SNAP_DESTROY), + (int) vol_args.fd, subvol_name); close(subvolfd); } @@ -479,19 +545,18 @@ static void btrfs_print_balance_args(struct btrfs_balance_args *args) { printf("{profiles="); - printflags(btrfs_space_info_flags, args->profiles, + prfl_btrfs(btrfs_space_info_flags, args->profiles, "BTRFS_BLOCK_GROUP_???"); - printf(", usage=%"PRI__u64 "%s, devid=%"PRI__u64 "%s, pstart=%"PRI__u64 - "%s, pend=%"PRI__u64 "%s, vstart=%"PRI__u64 "%s, vend=%"PRI__u64 - "%s, target=%"PRI__u64 "%s, flags=", - args->usage, maybe_print_uint64max(args->usage), - args->devid, maybe_print_uint64max(args->devid), - args->pstart, maybe_print_uint64max(args->pstart), - args->pend, maybe_print_uint64max(args->pend), - args->vstart, maybe_print_uint64max(args->vstart), - args->vend, maybe_print_uint64max(args->vend), - args->target, maybe_print_uint64max(args->target)); - printflags(btrfs_balance_args, args->flags, "BTRFS_BALANCE_ARGS_???"); + print_uint64(", usage=", args->usage); + printf(", devid=makedev(%u, %u)", + major(args->devid), minor(args->devid)); + print_uint64(", pstart=", args->pstart); + print_uint64(", pend=", args->pend); + print_uint64(", vstart=", args->vstart); + print_uint64(", vend=", args->vend); + print_uint64(", target=", args->target); + printf(", flags="); + prfl_btrfs(btrfs_balance_args, args->flags, "BTRFS_BALANCE_ARGS_???"); printf("}"); } @@ -531,25 +596,31 @@ btrfs_test_balance_ioctls(void) struct btrfs_ioctl_vol_args vol_args = {}; ioctl(-1, BTRFS_IOC_BALANCE_CTL, 1); - printf("ioctl(-1, BTRFS_IOC_BALANCE_CTL, " - "BTRFS_BALANCE_CTL_PAUSE) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, %sBTRFS_BALANCE_CTL_PAUSE%s) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_BALANCE_CTL), + verbose_xlat ? "0x1 /* " : "", + verbose_xlat ? " */" : ""); ioctl(-1, BTRFS_IOC_BALANCE_CTL, 2); - printf("ioctl(-1, BTRFS_IOC_BALANCE_CTL, " - "BTRFS_BALANCE_CTL_CANCEL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, " + "%sBTRFS_BALANCE_CTL_CANCEL%s) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_BALANCE_CTL), + verbose_xlat ? "0x2 /* " : "", + verbose_xlat ? " */" : ""); ioctl(-1, BTRFS_IOC_BALANCE, NULL); - printf("ioctl(-1, BTRFS_IOC_BALANCE) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_BALANCE)); ioctl(-1, BTRFS_IOC_BALANCE, &vol_args); - printf("ioctl(-1, BTRFS_IOC_BALANCE) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_BALANCE)); /* struct btrfs_ioctl_balance_args */ ioctl(-1, BTRFS_IOC_BALANCE_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_BALANCE_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_BALANCE_V2)); - printf("ioctl(-1, BTRFS_IOC_BALANCE_V2, {flags="); - printflags(btrfs_balance_flags, args.flags, "BTRFS_BALANCE_???"); + printf("ioctl(-1, %s, {flags=", ioc(BTRFS_IOC_BALANCE_V2)); + prfl_btrfs(btrfs_balance_flags, args.flags, "BTRFS_BALANCE_???"); printf(", data="); btrfs_print_balance_args(&args.data); printf(", meta="); @@ -560,6 +631,8 @@ btrfs_test_balance_ioctls(void) printf("}) = -1 EBADF (%m)\n"); if (write_ok) { + long ret; + args.flags = BTRFS_BALANCE_DATA | BTRFS_BALANCE_METADATA | BTRFS_BALANCE_SYSTEM; args.data.flags = 0; @@ -568,31 +641,43 @@ btrfs_test_balance_ioctls(void) args.meta.profiles = 0; args.sys.flags = 0; args.sys.profiles = 0; - printf("ioctl(%d, BTRFS_IOC_BALANCE_V2, {flags=", - btrfs_test_dir_fd); - printflags(btrfs_balance_flags, args.flags, - "BTRFS_BALANCE_???"); - printf(", data="); - btrfs_print_balance_args(&args.data); - printf(", meta="); - btrfs_print_balance_args(&args.meta); - printf(", sys="); - btrfs_print_balance_args(&args.sys); - ioctl(btrfs_test_dir_fd, BTRFS_IOC_BALANCE_V2, &args); - printf("} => {flags="); - printflags(btrfs_balance_flags, args.flags, + /* + * We should keep args the same for data in meta in case + * volume-under-tests uses mixed groups data and metadata. + */ + args.meta.pend = -1ULL; + args.meta.vend = -1ULL; + + printf("ioctl(%d, %s, {flags=", + btrfs_test_dir_fd, ioc(BTRFS_IOC_BALANCE_V2)); + + prfl_btrfs(btrfs_balance_flags, args.flags, "BTRFS_BALANCE_???"); - printf(", state="); - printflags(btrfs_balance_state, args.state, - "BTRFS_BALANCE_STATE_???"); printf(", data="); btrfs_print_balance_args(&args.data); printf(", meta="); btrfs_print_balance_args(&args.meta); printf(", sys="); btrfs_print_balance_args(&args.sys); - printf("}) = 0\n"); + ret = ioctl(btrfs_test_dir_fd, BTRFS_IOC_BALANCE_V2, &args); + if (ret < 0) { + printf("}) = %s\n", sprintrc(ret)); + } else { + printf("} => {flags="); + prfl_btrfs(btrfs_balance_flags, args.flags, + "BTRFS_BALANCE_???"); + printf(", state="); + prfl_btrfs(btrfs_balance_state, args.state, + "BTRFS_BALANCE_STATE_???"); + printf(", data="); + btrfs_print_balance_args(&args.data); + printf(", meta="); + btrfs_print_balance_args(&args.meta); + printf(", sys="); + btrfs_print_balance_args(&args.sys); + printf("}) = %ld\n", ret); + } } } @@ -615,38 +700,35 @@ btrfs_test_device_ioctls(void) }; ioctl(-1, BTRFS_IOC_RESIZE, NULL); - printf("ioctl(-1, BTRFS_IOC_RESIZE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_RESIZE)); strcpy(args.name, devid); ioctl(-1, BTRFS_IOC_RESIZE, &args); - printf("ioctl(-1, BTRFS_IOC_RESIZE, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_RESIZE), (int) args.fd, args.name); ioctl(-1, BTRFS_IOC_SCAN_DEV, NULL); - printf("ioctl(-1, BTRFS_IOC_SCAN_DEV, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCAN_DEV)); strcpy(args.name, devname); ioctl(-1, BTRFS_IOC_SCAN_DEV, &args); - printf("ioctl(-1, BTRFS_IOC_SCAN_DEV, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCAN_DEV), (int) args.fd, args.name); ioctl(-1, BTRFS_IOC_ADD_DEV, NULL); - printf("ioctl(-1, BTRFS_IOC_ADD_DEV, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_ADD_DEV)); ioctl(-1, BTRFS_IOC_ADD_DEV, &args); - printf("ioctl(-1, BTRFS_IOC_ADD_DEV, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_ADD_DEV), (int) args.fd, args.name); ioctl(-1, BTRFS_IOC_RM_DEV, NULL); - printf("ioctl(-1, BTRFS_IOC_RM_DEV, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_RM_DEV)); ioctl(-1, BTRFS_IOC_RM_DEV, &args); - printf("ioctl(-1, BTRFS_IOC_RM_DEV, " - "{fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", - (int) args.fd, args.name); + printf("ioctl(-1, %s, {fd=%d, name=\"%s\"}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_RM_DEV), (int) args.fd, args.name); } @@ -667,17 +749,21 @@ btrfs_test_clone_ioctls(void) }; ioctl(-1, BTRFS_IOC_CLONE, clone_fd); - printf("ioctl(-1, BTRFS_IOC_CLONE or FICLONE, %x) = -1 EBADF (%m)\n", - clone_fd); + printf("ioctl(-1, %s, %x) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_CLONE, "BTRFS_IOC_CLONE or FICLONE"), + clone_fd); ioctl(-1, BTRFS_IOC_CLONE_RANGE, NULL); - printf("ioctl(-1, BTRFS_IOC_CLONE_RANGE or FICLONERANGE, " - "NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_CLONE_RANGE, + "BTRFS_IOC_CLONE_RANGE or FICLONERANGE")); ioctl(-1, BTRFS_IOC_CLONE_RANGE, &args); - printf("ioctl(-1, BTRFS_IOC_CLONE_RANGE or FICLONERANGE, " + printf("ioctl(-1, %s, " "{src_fd=%d, src_offset=%" PRI__u64 ", src_length=%" PRI__u64 ", dest_offset=%" PRI__u64 "}) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_CLONE_RANGE, + "BTRFS_IOC_CLONE_RANGE or FICLONERANGE"), (int) args.src_fd, args.src_offset, args.src_length, args.dest_offset); } @@ -686,16 +772,17 @@ btrfs_test_clone_ioctls(void) #define BTRFS_INVALID_COMPRESS (BTRFS_COMPRESS_TYPES + 1) static void -btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args) +btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args, + bool compress_type_known) { - printf("{start=%" PRIu64 ", len=%" PRIu64 "%s, flags=", - (uint64_t) args->start, (uint64_t) args->len, - maybe_print_uint64max(args->len)); + printf("{start=%" PRIu64, (uint64_t) args->start); + print_uint64(", len=", args->len); - printflags(btrfs_defrag_flags, args->flags, "BTRFS_DEFRAG_RANGE_???"); + printf(", flags="); + prfl_btrfs(btrfs_defrag_flags, args->flags, "BTRFS_DEFRAG_RANGE_???"); printf(", extent_thresh=%u, compress_type=", args->extent_thresh); - printxval(btrfs_compress_types, args->compress_type, - "BTRFS_COMPRESS_???"); + prxval_btrfs(btrfs_compress_types, args->compress_type, + "BTRFS_COMPRESS_???", compress_type_known); printf("}"); } @@ -721,29 +808,30 @@ btrfs_test_defrag_ioctls(void) * actually consume it. */ ioctl(-1, BTRFS_IOC_DEFRAG, NULL); - printf("ioctl(-1, BTRFS_IOC_DEFRAG) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_DEFRAG)); ioctl(-1, BTRFS_IOC_DEFRAG, &vol_args); - printf("ioctl(-1, BTRFS_IOC_DEFRAG) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_DEFRAG)); /* struct btrfs_ioctl_defrag_range_args */ ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, NULL); - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEFRAG_RANGE)); - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, "); - btrfs_print_defrag_range_args(&args); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_DEFRAG_RANGE)); + btrfs_print_defrag_range_args(&args, true); ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, &args); printf(") = -1 EBADF (%m)\n"); args.compress_type = BTRFS_INVALID_COMPRESS; - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, "); - btrfs_print_defrag_range_args(&args); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_DEFRAG_RANGE)); + btrfs_print_defrag_range_args(&args, false); ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, &args); printf(") = -1 EBADF (%m)\n"); args.len--; - printf("ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, "); - btrfs_print_defrag_range_args(&args); + printf("ioctl(-1, %s, ", ioc(BTRFS_IOC_DEFRAG_RANGE)); + btrfs_print_defrag_range_args(&args, false); ioctl(-1, BTRFS_IOC_DEFRAG_RANGE, &args); printf(") = -1 EBADF (%m)\n"); } @@ -761,18 +849,28 @@ static void btrfs_print_objectid(uint64_t objectid) { const char *str = xlookup(btrfs_tree_objectids, objectid); - printf("%" PRIu64, objectid); - if (str) - printf(" /* %s */", str); + if (str) { + if (verbose_xlat) + printf("%" PRIu64 " /* %s */", objectid, str); + else + printf("%s", str); + } else { + printf("%" PRIu64, objectid); + } } static void btrfs_print_key_type(uint32_t type) { const char *str = xlookup(btrfs_key_types, type); - printf("%u", type); - if (str) - printf(" /* %s */", str); + if (str) { + if (verbose_xlat) + printf("%u /* %s */", type, str); + else + printf("%s", str); + } else { + printf("%u", type); + } } static void @@ -788,18 +886,10 @@ btrfs_print_search_key(struct btrfs_ioctl_search_key *key) printf(", max_objectid="); btrfs_print_objectid(key->max_objectid); } - if (key->min_offset) - printf(", min_offset=%" PRI__u64 "%s", - key->min_offset, maybe_print_uint64max(key->min_offset)); - if (key->max_offset) - 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, - maybe_print_uint64max(key->min_transid)); - if (key->max_transid) - printf(", max_transid=%" PRI__u64 "%s", key->max_transid, - maybe_print_uint64max(key->max_transid)); + print_uint64(", min_offset=", key->min_offset); + print_uint64(", max_offset=", key->max_offset); + print_uint64(", min_transid=", key->min_transid); + print_uint64(", max_transid=", key->max_transid); printf(", min_type="); btrfs_print_key_type(key->min_type); printf(", max_type="); @@ -814,7 +904,7 @@ btrfs_print_tree_search_buf(struct btrfs_ioctl_search_key *key, if (verbose) { uint64_t i; uint64_t off = 0; - printf("["); + printf("buf=["); for (i = 0; i < key->nr_items; i++) { struct btrfs_ioctl_search_header *sh; sh = (typeof(sh))(buf + off); @@ -859,19 +949,21 @@ btrfs_test_search_ioctls(void) }; ioctl(-1, BTRFS_IOC_TREE_SEARCH, NULL); - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_TREE_SEARCH)); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, NULL); - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_TREE_SEARCH_V2)); search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -880,13 +972,13 @@ btrfs_test_search_ioctls(void) key_reference.min_objectid = 6; key_reference.max_objectid = 7; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -895,13 +987,13 @@ btrfs_test_search_ioctls(void) key_reference.min_offset++; key_reference.max_offset--; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -910,13 +1002,13 @@ btrfs_test_search_ioctls(void) key_reference.min_transid++; key_reference.max_transid--; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -925,13 +1017,13 @@ btrfs_test_search_ioctls(void) key_reference.min_type = 1; key_reference.max_type = 12; search_args.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH, &search_args); printf("}) = -1 EBADF (%m)\n"); search_args_v2.key = key_reference; - printf("ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, {"); + printf("ioctl(-1, %s, {", ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&search_args_v2.key); ioctl(-1, BTRFS_IOC_TREE_SEARCH_V2, &search_args_v2); printf(", buf_size=%" PRIu64 "}) = -1 EBADF (%m)\n", @@ -950,11 +1042,11 @@ btrfs_test_search_ioctls(void) key_reference.max_offset = -1ULL; search_args.key = key_reference; - printf("ioctl(%d, BTRFS_IOC_TREE_SEARCH, {", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {", + btrfs_test_dir_fd, ioc(BTRFS_IOC_TREE_SEARCH)); btrfs_print_search_key(&search_args.key); ioctl(btrfs_test_dir_fd, BTRFS_IOC_TREE_SEARCH, &search_args); - printf("} => {key={nr_items=%u}, buf=", + printf("} => {key={nr_items=%u}, ", search_args.key.nr_items); btrfs_print_tree_search_buf(&search_args.key, search_args.buf, sizeof(search_args.buf)); @@ -966,12 +1058,12 @@ btrfs_test_search_ioctls(void) args->key = key_reference; args->buf_size = bufsize; - printf("ioctl(%d, BTRFS_IOC_TREE_SEARCH_V2, {", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {", + btrfs_test_dir_fd, ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&key_reference); printf(", buf_size=%" PRIu64 "}", (uint64_t) args->buf_size); ioctl(btrfs_test_dir_fd, BTRFS_IOC_TREE_SEARCH_V2, args); - printf(" => {key={nr_items=%u}, buf_size=%" PRIu64 ", buf=", + printf(" => {key={nr_items=%u}, buf_size=%" PRIu64 ", ", args->key.nr_items, (uint64_t)args->buf_size); btrfs_print_tree_search_buf(&args->key, args->buf, args->buf_size); @@ -979,8 +1071,8 @@ btrfs_test_search_ioctls(void) args->key = key_reference; args->buf_size = sizeof(struct btrfs_ioctl_search_header); - printf("ioctl(%d, BTRFS_IOC_TREE_SEARCH_V2, {", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {", + btrfs_test_dir_fd, ioc(BTRFS_IOC_TREE_SEARCH_V2)); btrfs_print_search_key(&args->key); printf(", buf_size=%" PRIu64 "}", (uint64_t)args->buf_size); ioctl(btrfs_test_dir_fd, BTRFS_IOC_TREE_SEARCH_V2, args); @@ -1003,9 +1095,10 @@ btrfs_test_ino_lookup_ioctl(void) }; ioctl(-1, BTRFS_IOC_INO_LOOKUP, NULL); - printf("ioctl(-1, BTRFS_IOC_INO_LOOKUP, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_INO_LOOKUP)); - printf("ioctl(-1, BTRFS_IOC_INO_LOOKUP, {treeid="); + printf("ioctl(-1, %s, {treeid=", ioc(BTRFS_IOC_INO_LOOKUP)); btrfs_print_objectid(args.treeid); printf(", objectid="); btrfs_print_objectid(args.objectid); @@ -1013,8 +1106,8 @@ btrfs_test_ino_lookup_ioctl(void) printf("}) = -1 EBADF (%m)\n"); if (btrfs_test_root) { - printf("ioctl(%d, BTRFS_IOC_INO_LOOKUP, {treeid=", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, {treeid=", + btrfs_test_dir_fd, ioc(BTRFS_IOC_INO_LOOKUP)); btrfs_print_objectid(args.treeid); printf(", objectid="); btrfs_print_objectid(args.objectid); @@ -1033,20 +1126,20 @@ btrfs_test_space_info_ioctl(void) struct btrfs_ioctl_space_args args = {}; ioctl(-1, BTRFS_IOC_SPACE_INFO, NULL); - printf("ioctl(-1, BTRFS_IOC_SPACE_INFO, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SPACE_INFO)); ioctl(-1, BTRFS_IOC_SPACE_INFO, &args); - printf("ioctl(-1, BTRFS_IOC_SPACE_INFO, " - "{space_slots=%" PRI__u64 "}) = -1 EBADF (%m)\n", - args.space_slots); + printf("ioctl(-1, %s, {space_slots=%" PRI__u64 "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SPACE_INFO), args.space_slots); if (btrfs_test_root) { struct btrfs_ioctl_space_args args_passed; struct btrfs_ioctl_space_args *argsp; args_passed = args; - printf("ioctl(%d, BTRFS_IOC_SPACE_INFO, " - "{space_slots=%" PRI__u64 "}", - btrfs_test_dir_fd, args_passed.space_slots); + printf("ioctl(%d, %s, {space_slots=%" PRI__u64 "}", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SPACE_INFO), + args_passed.space_slots); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SPACE_INFO, &args_passed); printf(" => {total_spaces=%" PRI__u64 "}) = 0\n", args_passed.total_spaces); @@ -1058,22 +1151,22 @@ btrfs_test_space_info_ioctl(void) *argsp = args; argsp->space_slots = args_passed.total_spaces; - printf("ioctl(%d, BTRFS_IOC_SPACE_INFO, " - "{space_slots=%" PRI__u64 "}", - btrfs_test_dir_fd, argsp->space_slots); + printf("ioctl(%d, %s, {space_slots=%" PRI__u64 "}", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SPACE_INFO), + argsp->space_slots); ioctl(btrfs_test_dir_fd, BTRFS_IOC_SPACE_INFO, argsp); - printf(" => {total_spaces=%" PRI__u64 ", spaces=", + printf(" => {total_spaces=%" PRI__u64 ", ", argsp->total_spaces); if (verbose) { unsigned int i; - printf("["); + printf("spaces=["); for (i = 0; i < argsp->total_spaces; i++) { struct btrfs_ioctl_space_info *info; info = &argsp->spaces[i]; if (i) printf(", "); printf("{flags="); - printflags(btrfs_space_info_flags, info->flags, + prfl_btrfs(btrfs_space_info_flags, info->flags, "BTRFS_SPACE_INFO_???"); printf(", total_bytes=%" PRI__u64 ", used_bytes=%" PRI__u64 "}", @@ -1106,25 +1199,28 @@ btrfs_test_scrub_ioctls(void) }; ioctl(-1, BTRFS_IOC_SCRUB, NULL); - printf("ioctl(-1, BTRFS_IOC_SCRUB, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SCRUB)); ioctl(-1, BTRFS_IOC_SCRUB_CANCEL, NULL); - printf("ioctl(-1, BTRFS_IOC_SCRUB_CANCEL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SCRUB_CANCEL)); - printf("ioctl(-1, BTRFS_IOC_SCRUB, {devid=%" PRI__u64 ", start=%" - 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_???"); + printf("ioctl(-1, %s, {devid=makedev(%u, %u)", + ioc(BTRFS_IOC_SCRUB), major(args.devid), minor(args.devid)); + print_uint64(", start=", args.start); + print_uint64(", end=", args.end); + printf(", flags="); + prfl_btrfs(btrfs_scrub_flags, args.flags, "BTRFS_SCRUB_???"); ioctl(-1, BTRFS_IOC_SCRUB, &args); printf("}) = -1 EBADF (%m)\n"); ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, NULL); - printf("ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCRUB_PROGRESS)); ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, &args); - printf("ioctl(-1, BTRFS_IOC_SCRUB_PROGRESS, " - "{devid=%" PRI__u64 "}) = -1 EBADF (%m)\n", args.devid); + printf("ioctl(-1, %s, {devid=makedev(%u, %u)}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SCRUB_PROGRESS), + major(args.devid), minor(args.devid)); } /* @@ -1140,12 +1236,14 @@ btrfs_test_dev_info_ioctl(void) memcpy(&args.uuid, uuid_reference, BTRFS_UUID_SIZE); ioctl(-1, BTRFS_IOC_DEV_INFO, NULL); - printf("ioctl(-1, BTRFS_IOC_DEV_INFO, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEV_INFO)); ioctl(-1, BTRFS_IOC_DEV_INFO, &args); - printf("ioctl(-1, BTRFS_IOC_DEV_INFO, " - "{devid=%" PRI__u64 ", uuid=%s}) = -1 EBADF (%m)\n", - args.devid, uuid_reference_string); + printf("ioctl(-1, %s, " + "{devid=makedev(%u, %u), uuid=%s}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEV_INFO), major(args.devid), minor(args.devid), + uuid_reference_string); } /* @@ -1177,32 +1275,32 @@ btrfs_test_ino_path_ioctls(void) ioctl(-1, BTRFS_IOC_INO_PATHS, NULL); - printf("ioctl(-1, BTRFS_IOC_INO_PATHS, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_INO_PATHS)); ioctl(-1, BTRFS_IOC_LOGICAL_INO, NULL); - printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_LOGICAL_INO)); ioctl(-1, BTRFS_IOC_INO_PATHS, &args); - printf("ioctl(-1, BTRFS_IOC_INO_PATHS, " - "{inum=%" PRI__u64 ", size=%" PRI__u64 + printf("ioctl(-1, %s, {inum=%" PRI__u64 ", size=%" PRI__u64 ", fspath=NULL}) = -1 EBADF (%m)\n", - args.inum, args.size); + ioc(BTRFS_IOC_INO_PATHS), 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 + printf("ioctl(-1, %s, {inum=%" PRI__u64 ", size=%" PRI__u64 ", fspath=0x%" PRI__x64 "}) = -1 EBADF (%m)\n", - args.inum, args.size, args.fspath); + ioc(BTRFS_IOC_INO_PATHS), 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 + printf("ioctl(-1, %s, {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); + ioc(BTRFS_IOC_LOGICAL_INO), args.inum, args.size); args.fspath = (uintptr_t) buf; args.reserved[0] = 0; @@ -1215,11 +1313,13 @@ btrfs_test_ino_path_ioctls(void) 1; ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args); - printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64 + printf("ioctl(-1, %s, {logical=%" PRI__u64 ", size=%" PRI__u64 ", reserved=[0, 0xdeadc0defacefeec, 0]" - ", flags=BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET" + ", flags=%sBTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET%s" ", inodes=0x%" PRI__x64 "}) = -1 EBADF (%m)\n", - args.inum, args.size, args.fspath); + ioc(BTRFS_IOC_LOGICAL_INO), args.inum, args.size, + verbose_xlat ? "0x1 /* " : "", verbose_xlat ? " */" : "", + args.fspath); args.reserved[1] = 0; #ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS @@ -1230,9 +1330,10 @@ btrfs_test_ino_path_ioctls(void) 0; ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args); - printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64 + printf("ioctl(-1, %s, {logical=%" PRI__u64 ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64 - "}) = -1 EBADF (%m)\n", args.inum, args.size, args.fspath); + "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_LOGICAL_INO), args.inum, args.size, args.fspath); #ifdef HAVE_LINUX_FIEMAP_H if (btrfs_test_root) { @@ -1248,17 +1349,16 @@ btrfs_test_ino_path_ioctls(void) perror_msg_and_fail("fstat failed"); args.inum = si.st_ino; - printf("ioctl(%d, BTRFS_IOC_INO_PATHS, " - "{inum=%" PRI__u64 ", size=%" PRI__u64 + printf("ioctl(%d, %s, {inum=%" PRI__u64 ", size=%" PRI__u64 ", fspath=0x%" PRI__x64 "}", - btrfs_test_dir_fd, args.inum, args.size, - args.fspath); + btrfs_test_dir_fd, ioc(BTRFS_IOC_INO_PATHS), + args.inum, args.size, args.fspath); ioctl(btrfs_test_dir_fd, BTRFS_IOC_INO_PATHS, &args); - printf(" => {fspath={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, val=", + printf(" => {fspath={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, ", data->bytes_left, data->bytes_missing, data->elem_cnt, data->elem_missed); if (verbose) { - printf("[\"strace-test\"]"); + printf("val=[\"%s\"]", dir_name); } else printf("..."); printf("}}) = 0\n"); @@ -1280,7 +1380,7 @@ btrfs_test_ino_path_ioctls(void) */ fsync(fd); ioctl(fd, BTRFS_IOC_SYNC, NULL); - printf("ioctl(%d, BTRFS_IOC_SYNC) = 0\n", fd); + printf("ioctl(%d, %s) = 0\n", fd, ioc(BTRFS_IOC_SYNC)); size = sizeof(*fiemap) + 2 * sizeof(fiemap->fm_extents[0]); fiemap = malloc(size); @@ -1292,18 +1392,19 @@ btrfs_test_ino_path_ioctls(void) fiemap->fm_extent_count = 2; /* This is also a live test for FIEMAP */ - printf("ioctl(%d, FS_IOC_FIEMAP, {fm_start=%" PRI__u64 + printf("ioctl(%d, %s, {fm_start=%" PRI__u64 ", fm_length=%" PRI__u64 ", fm_flags=", - fd, fiemap->fm_start, fiemap->fm_length); - printflags(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); + fd, ioc(FS_IOC_FIEMAP), + fiemap->fm_start, fiemap->fm_length); + prfl_btrfs(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); printf(", fm_extent_count=%u}", fiemap->fm_extent_count); ioctl(fd, FS_IOC_FIEMAP, fiemap); printf(" => {fm_flags="); - printflags(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); - printf(", fm_mapped_extents=%u, fm_extents=", + prfl_btrfs(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???"); + printf(", fm_mapped_extents=%u, ", fiemap->fm_mapped_extents); if (verbose) { - printf("["); + printf("fm_extents=["); unsigned int i; for (i = 0; i < fiemap->fm_mapped_extents; i++) { struct fiemap_extent *fe; @@ -1316,7 +1417,7 @@ btrfs_test_ino_path_ioctls(void) ", ", fe->fe_logical, fe->fe_physical, fe->fe_length); - printflags(fiemap_extent_flags, fe->fe_flags, + prfl_btrfs(fiemap_extent_flags, fe->fe_flags, "FIEMAP_EXTENT_???"); printf("}"); } @@ -1326,15 +1427,16 @@ btrfs_test_ino_path_ioctls(void) printf("}) = 0\n"); args.inum = fiemap->fm_extents[0].fe_physical; - printf("ioctl(%d, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64 + printf("ioctl(%d, %s, {logical=%" PRI__u64 ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64 "}", - fd, args.inum, args.size, args.fspath); + fd, ioc(BTRFS_IOC_LOGICAL_INO), + 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=", + printf(" => {inodes={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, ", data->bytes_left, data->bytes_missing, data->elem_cnt, data->elem_missed); if (verbose) { - printf("[{inum=%llu, offset=0, root=5}]", + printf("val=[{inum=%llu, offset=0, root=5}]", (unsigned long long) si.st_ino); } else printf("..."); @@ -1359,18 +1461,23 @@ btrfs_test_set_received_subvol_ioctl(void) .nsec = 12345, }, }; + int saved_errno; + memcpy(&args.uuid, uuid_reference, BTRFS_UUID_SIZE); ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, NULL); - printf("ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, " - "NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_RECEIVED_SUBVOL)); ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, &args); - printf("ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, " - "{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); + saved_errno = errno; + printf("ioctl(-1, %s, {uuid=%s, stransid=%" PRI__u64 + ", stime={sec=%" PRI__u64 ", nsec=%u}", + ioc(BTRFS_IOC_SET_RECEIVED_SUBVOL), uuid_reference_string, + args.stransid, args.stime.sec, args.stime.nsec); + print_time_t_nsec(args.stime.sec, args.stime.nsec, true); + errno = saved_errno; + printf(", flags=0}) = -1 EBADF (%m)\n"); } /* @@ -1388,29 +1495,25 @@ btrfs_test_send_ioctl(void) }; ioctl(-1, BTRFS_IOC_SEND, NULL); - printf("ioctl(-1, BTRFS_IOC_SEND, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_SEND)); - printf("ioctl(-1, BTRFS_IOC_SEND, " - "{send_fd=%d, clone_sources_count=%" PRI__u64 - ", clone_sources=", + printf("ioctl(-1, %s, {send_fd=%d, clone_sources_count=%" PRI__u64 + ", clone_sources=NULL", + ioc(BTRFS_IOC_SEND), (int) args.send_fd, args.clone_sources_count); - if (verbose) - printf("NULL"); - else - printf("..."); printf(", parent_root="); btrfs_print_objectid(args.parent_root); printf(", flags="); - printflags(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); + prfl_btrfs(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); ioctl(-1, BTRFS_IOC_SEND, &args); printf("}) = -1 EBADF (%m)\n"); args.clone_sources_count = 2; args.clone_sources = (__u64 *) (void *) u64_array; - printf("ioctl(-1, BTRFS_IOC_SEND, " - "{send_fd=%d, clone_sources_count=%" PRI__u64 + printf("ioctl(-1, %s, {send_fd=%d, clone_sources_count=%" PRI__u64 ", clone_sources=", + ioc(BTRFS_IOC_SEND), (int) args.send_fd, args.clone_sources_count); if (verbose) { printf("["); @@ -1419,11 +1522,11 @@ btrfs_test_send_ioctl(void) btrfs_print_objectid(u64_array[1]); printf("]"); } else - printf("..."); + printf("%p", args.clone_sources); printf(", parent_root="); btrfs_print_objectid(args.parent_root); printf(", flags="); - printflags(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); + prfl_btrfs(btrfs_send_flags, args.flags, "BTRFS_SEND_FLAGS_???"); ioctl(-1, BTRFS_IOC_SEND, &args); printf("}) = -1 EBADF (%m)\n"); } @@ -1440,26 +1543,37 @@ btrfs_test_quota_ctl_ioctl(void) }; ioctl(-1, BTRFS_IOC_QUOTA_CTL, NULL); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL)); ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "BTRFS_QUOTA_CTL_ENABLE}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {cmd=%sBTRFS_QUOTA_CTL_ENABLE%s}) " + "= -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL), + verbose_xlat ? "0x1 /* " : "", + verbose_xlat ? " */" : ""); args.cmd = 2; ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "BTRFS_QUOTA_CTL_DISABLE}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {cmd=%sBTRFS_QUOTA_CTL_DISABLE%s}) " + "= -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL), + verbose_xlat ? "0x2 /* " : "", + verbose_xlat ? " */" : ""); args.cmd = 3; ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "BTRFS_QUOTA_CTL_RESCAN__NOTUSED}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, " + "{cmd=%sBTRFS_QUOTA_CTL_RESCAN__NOTUSED%s}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL), + verbose_xlat ? "0x3 /* " : "", + verbose_xlat ? " */" : ""); args.cmd = 4; ioctl(-1, BTRFS_IOC_QUOTA_CTL, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_CTL, " - "0x4 /* BTRFS_QUOTA_CTL_??? */}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, " + "{cmd=0x4 /* BTRFS_QUOTA_CTL_??? */}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_CTL)); } /* @@ -1476,12 +1590,14 @@ btrfs_test_qgroup_assign_ioctl(void) }; ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, NULL); - printf("ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QGROUP_ASSIGN)); ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, &args); - printf("ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, " + printf("ioctl(-1, %s, " "{assign=%" PRI__u64 ", src=%" PRI__u64 ", dst=%" PRI__u64 - "}) = -1 EBADF (%m)\n", args.assign, args.src, args.dst); + "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QGROUP_ASSIGN), args.assign, args.src, args.dst); } /* @@ -1497,12 +1613,13 @@ btrfs_test_qgroup_create_ioctl(void) }; ioctl(-1, BTRFS_IOC_QGROUP_CREATE, NULL); - printf("ioctl(-1, BTRFS_IOC_QGROUP_CREATE, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_QGROUP_CREATE)); ioctl(-1, BTRFS_IOC_QGROUP_CREATE, &args); - printf("ioctl(-1, BTRFS_IOC_QGROUP_CREATE, " + printf("ioctl(-1, %s, " "{create=%" PRI__u64 ", qgroupid=%" PRI__u64 - "}) = -1 EBADF (%m)\n", args.create, args.qgroupid); + "}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QGROUP_CREATE), args.create, args.qgroupid); } /* @@ -1519,13 +1636,15 @@ btrfs_test_quota_rescan_ioctl(void) }; ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, NULL); - printf("ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_RESCAN)); ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, &args); - printf("ioctl(-1, BTRFS_IOC_QUOTA_RESCAN, " - "{flags=0}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {flags=0}) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_RESCAN)); ioctl(-1, BTRFS_IOC_QUOTA_RESCAN_WAIT, NULL); - printf("ioctl(-1, BTRFS_IOC_QUOTA_RESCAN_WAIT) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_QUOTA_RESCAN_WAIT)); } @@ -1542,20 +1661,21 @@ btrfs_test_label_ioctls(void) char label[BTRFS_LABEL_SIZE] = "btrfs-label"; ioctl(-1, BTRFS_IOC_SET_FSLABEL, NULL); - printf("ioctl(-1, BTRFS_IOC_SET_FSLABEL, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_FSLABEL)); ioctl(-1, BTRFS_IOC_SET_FSLABEL, label); - printf("ioctl(-1, BTRFS_IOC_SET_FSLABEL, \"%s\") = -1 EBADF (%m)\n", - label); + printf("ioctl(-1, %s, \"%s\") = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_FSLABEL), label); if (write_ok) { ioctl(btrfs_test_dir_fd, BTRFS_IOC_SET_FSLABEL, label); - printf("ioctl(%d, BTRFS_IOC_SET_FSLABEL, \"%s\") = 0\n", - btrfs_test_dir_fd, label); + printf("ioctl(%d, %s, \"%s\") = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_SET_FSLABEL), label); ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_FSLABEL, label); - printf("ioctl(%d, BTRFS_IOC_GET_FSLABEL, \"%s\") = 0\n", - btrfs_test_dir_fd, label); + printf("ioctl(%d, %s, \"%s\") = 0\n", + btrfs_test_dir_fd, ioc(BTRFS_IOC_GET_FSLABEL), label); } } @@ -1573,12 +1693,13 @@ btrfs_test_get_dev_stats_ioctl(void) }; ioctl(-1, BTRFS_IOC_GET_DEV_STATS, NULL); - printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_GET_DEV_STATS)); - printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64 - ", nr_items=%" PRI__u64 ", flags=", - args.devid, args.nr_items); - printflags(btrfs_dev_stats_flags, args.flags, + printf("ioctl(-1, %s, {devid=makedev(%u, %u)" + ", nr_items=%" PRI__u64 ", flags=", + ioc(BTRFS_IOC_GET_DEV_STATS), + major(args.devid), minor(args.devid), args.nr_items); + prfl_btrfs(btrfs_dev_stats_flags, args.flags, "BTRFS_DEV_STATS_???"); ioctl(-1, BTRFS_IOC_GET_DEV_STATS, &args); printf("}) = -1 EBADF (%m)\n"); @@ -1586,24 +1707,33 @@ btrfs_test_get_dev_stats_ioctl(void) if (write_ok) { unsigned int i; args.flags = BTRFS_DEV_STATS_RESET; - printf("ioctl(%d, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64 + printf("ioctl(%d, %s, {devid=makedev(%u, %u)" ", nr_items=%" PRI__u64 ", flags=", - btrfs_test_dir_fd, args.devid, args.nr_items); - printflags(btrfs_dev_stats_flags, args.flags, + btrfs_test_dir_fd, ioc(BTRFS_IOC_GET_DEV_STATS), + major(args.devid), minor(args.devid), args.nr_items); + prfl_btrfs(btrfs_dev_stats_flags, args.flags, "BTRFS_DEV_STATS_???"); ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_DEV_STATS, &args); printf("} => {nr_items=%" PRI__u64 ", flags=", args.nr_items); - printflags(btrfs_dev_stats_flags, args.flags, + prfl_btrfs(btrfs_dev_stats_flags, args.flags, "BTRFS_DEV_STATS_???"); printf(", ["); for (i = 0; i < args.nr_items; i++) { const char *name = xlookup(btrfs_dev_stats_values, i); if (i) printf(", "); + + if (name) { + if (verbose_xlat) + printf("[%u /* %s */] = ", i, name); + else + printf("[%s] = ", name); + } else { + printf("[%u] = ", i); + } + printf("%" PRI__u64, args.values[i]); - if (name) - printf(" /* %s */", name); } printf("]}) = 0\n"); } @@ -1627,22 +1757,38 @@ btrfs_test_dev_replace_ioctl(void) /* struct btrfs_ioctl_dev_replace_args */ ioctl(-1, BTRFS_IOC_DEV_REPLACE, NULL); - printf("ioctl(-1, BTRFS_IOC_DEV_REPLACE, NULL) = -1 EBADF (%m)\n"); - - 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 - ", srcdev_name=\"%s\", tgtdev_name=\"%s\"}}) = -1 EBADF (%m)\n", - args.start.srcdevid, - args.start.cont_reading_from_srcdev_mode, - (char *)args.start.srcdev_name, - (char *)args.start.tgtdev_name); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", ioc(BTRFS_IOC_DEV_REPLACE)); + + for (unsigned long i = 0; i < 3; i++) { + int saved_errno; + + args.start.cont_reading_from_srcdev_mode = i; + ioctl(-1, BTRFS_IOC_DEV_REPLACE, &args); + saved_errno = errno; + printf("ioctl(-1, %s, " + "{cmd=%sBTRFS_IOCTL_DEV_REPLACE_CMD_START%s" + ", start={srcdevid=makedev(%u, %u)" + ", cont_reading_from_srcdev_mode=", + ioc(BTRFS_IOC_DEV_REPLACE), + verbose_xlat ? "0 /* " : "", verbose_xlat ? " */" : "", + major(args.start.srcdevid), minor(args.start.srcdevid)); + prxval_btrfs(btrfs_cont_reading_from_srcdev_mode, + args.start.cont_reading_from_srcdev_mode, + "BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV" + "_MODE_???", i < 2); + errno = saved_errno; + printf(", srcdev_name=\"%s\", tgtdev_name=\"%s\"}}) " + "= -1 EBADF (%m)\n", + (char *)args.start.srcdev_name, + (char *)args.start.tgtdev_name); + } args.cmd = 1; ioctl(-1, BTRFS_IOC_DEV_REPLACE, &args); - printf("ioctl(-1, BTRFS_IOC_DEV_REPLACE, " - "{cmd=BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS}) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, {cmd=%sBTRFS_IOCTL_DEV_REPLACE_CMD_STATUS%s}) " + "= -1 EBADF (%m)\n", + ioc(BTRFS_IOC_DEV_REPLACE), + verbose_xlat ? "0x1 /* " : "", verbose_xlat ? " */" : ""); } static void @@ -1656,13 +1802,16 @@ btrfs_test_extent_same_ioctl(void) struct file_dedupe_range *argsp; ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME, NULL); - printf("ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " - "NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE")); - printf("ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " + printf("ioctl(-1, %s, " "{src_offset=%" PRIu64 ", src_length=%" PRIu64 ", dest_count=%hu, info=[]", + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE"), (uint64_t)args.src_offset, (uint64_t)args.src_length, args.dest_count); ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME, &args); @@ -1682,10 +1831,12 @@ btrfs_test_extent_same_ioctl(void) argsp->info[2].dest_fd = 2; argsp->info[2].dest_offset = 20480; - printf("ioctl(-1, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " + printf("ioctl(-1, %s, " "{src_offset=%" PRIu64 ", src_length=%" PRIu64 ", dest_count=%hu, info=", + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE"), (int64_t)argsp->src_offset, (uint64_t)argsp->src_length, argsp->dest_count); printf("[{dest_fd=%" PRId64 ", dest_offset=%" PRIu64 @@ -1744,9 +1895,12 @@ btrfs_test_extent_same_ioctl(void) argsp->info[2].dest_fd = fd2; argsp->info[2].dest_offset = 20480; - printf("ioctl(%d, BTRFS_IOC_FILE_EXTENT_SAME or FIDEDUPERANGE, " + printf("ioctl(%d, %s, " "{src_offset=%" PRIu64 ", src_length=%" PRIu64 ", dest_count=%hu, info=", fd1, + sprint_xlat_(BTRFS_IOC_FILE_EXTENT_SAME, + "BTRFS_IOC_FILE_EXTENT_SAME" + " or FIDEDUPERANGE"), (uint64_t)argsp->src_offset, (uint64_t)argsp->src_length, argsp->dest_count); printf("[{dest_fd=%" PRId64 ", dest_offset=%" PRIu64 @@ -1797,11 +1951,11 @@ btrfs_print_features(struct btrfs_ioctl_feature_flags *flags) "BTRFS_FEATURE_COMPAT_???"); printf(", compat_ro_flags="); - printflags(btrfs_features_compat_ro, flags->compat_ro_flags, + prfl_btrfs(btrfs_features_compat_ro, flags->compat_ro_flags, "BTRFS_FEATURE_COMPAT_RO_???"); printf(", incompat_flags="); - printflags(btrfs_features_incompat, flags->incompat_flags, + prfl_btrfs(btrfs_features_incompat, flags->incompat_flags, "BTRFS_FEATURE_INCOMPAT_???"); printf("}"); } @@ -1831,9 +1985,10 @@ btrfs_test_features_ioctls(void) struct btrfs_ioctl_feature_flags supported_features[3]; ioctl(-1, BTRFS_IOC_SET_FEATURES, NULL); - printf("ioctl(-1, BTRFS_IOC_SET_FEATURES, NULL) = -1 EBADF (%m)\n"); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + ioc(BTRFS_IOC_SET_FEATURES)); - printf("ioctl(-1, BTRFS_IOC_SET_FEATURES, ["); + printf("ioctl(-1, %s, [", ioc(BTRFS_IOC_SET_FEATURES)); btrfs_print_features(&args[0]); printf(", "); btrfs_print_features(&args[1]); @@ -1841,8 +1996,8 @@ btrfs_test_features_ioctls(void) printf("]) = -1 EBADF (%m)\n"); if (btrfs_test_root) { - printf("ioctl(%d, BTRFS_IOC_GET_FEATURES, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, ioc(BTRFS_IOC_GET_FEATURES)); ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_FEATURES, &supported_features); btrfs_print_features(&supported_features[0]); @@ -1850,8 +2005,9 @@ btrfs_test_features_ioctls(void) ioctl(btrfs_test_dir_fd, BTRFS_IOC_GET_SUPPORTED_FEATURES, &supported_features); - printf("ioctl(%d, BTRFS_IOC_GET_SUPPORTED_FEATURES, ", - btrfs_test_dir_fd); + printf("ioctl(%d, %s, ", + btrfs_test_dir_fd, + ioc(BTRFS_IOC_GET_SUPPORTED_FEATURES)); printf("["); btrfs_print_features(&supported_features[0]); printf(" /* supported */, "); @@ -1880,19 +2036,28 @@ btrfs_test_read_ioctls(void) unsigned int i; for (i = 0; i < ARRAY_SIZE(btrfs_read_cmd); ++i) { ioctl(-1, (unsigned long) btrfs_read_cmd[i].val, 0); - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", btrfs_read_cmd[i].str); + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + sprint_xlat_(btrfs_read_cmd[i].val, + btrfs_read_cmd[i].str)); } } +static void +rm_test_dir(void) +{ + int rootfd = open(path, O_RDONLY|O_DIRECTORY); + + unlinkat(rootfd, dir_name, AT_REMOVEDIR); +} + int main(int argc, char *argv[]) { int opt; int ret; - const char *path; - while ((opt = getopt(argc, argv, "wv")) != -1) { + while ((opt = getopt(argc, argv, "wvX")) != -1) { switch (opt) { case 'v': /* @@ -1904,11 +2069,18 @@ main(int argc, char *argv[]) case 'w': write_ok = true; break; + case 'X': + verbose_xlat = true; + break; default: - error_msg_and_fail("usage: btrfs [-v] [-w] [path]"); + error_msg_and_fail("usage: btrfs [-vwX] [path]"); } } + ret = snprintf(dir_name, sizeof(dir_name), dir_name_fmt, getpid()); + if (ret < 0) + perror_msg_and_fail("snprintf(dir_name)"); + /* * This will enable optional tests that require a valid file descriptor */ @@ -1930,14 +2102,18 @@ main(int argc, char *argv[]) if (rootfd < 0) perror_msg_and_fail("open(%s) failed", path); - ret = mkdirat(rootfd, "strace-test", 0755); + ret = mkdirat(rootfd, dir_name, 0755); if (ret < 0 && errno != EEXIST) - perror_msg_and_fail("mkdirat(strace-test) failed"); + perror_msg_and_fail("mkdirat(%s) failed", dir_name); + + /* Register removal of the created directory. */ + if (ret == 0) + atexit(rm_test_dir); - btrfs_test_dir_fd = openat(rootfd, "strace-test", + btrfs_test_dir_fd = openat(rootfd, dir_name, O_RDONLY|O_DIRECTORY); if (btrfs_test_dir_fd < 0) - perror_msg_and_fail("openat(strace-test) failed"); + perror_msg_and_fail("openat(%s) failed", dir_name); close(rootfd); } else write_ok = false; diff --git a/tests/execve.c b/tests/execve.c index da3bc520..c1dedfcc 100644 --- a/tests/execve.c +++ b/tests/execve.c @@ -2,7 +2,7 @@ * This file is part of execve strace test. * * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -59,17 +59,18 @@ main(void) execve(FILENAME, tail_argv, tail_envp); printf("execve(\"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #else ", %p /* 5 vars, unterminated */" #endif ") = -1 ENOENT (%m)\n", Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5] + argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv) #if VERBOSE - , q_envp[0], q_envp[1], envp[2], envp[3], envp[4] + , q_envp[0], q_envp[1], envp[2], envp[3], envp[4], + (char *) tail_envp + sizeof(envp) #else , tail_envp #endif diff --git a/tests/execveat.c b/tests/execveat.c index 566a59f9..853e26c4 100644 --- a/tests/execveat.c +++ b/tests/execveat.c @@ -2,7 +2,7 @@ * This file is part of execveat strace test. * * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -64,17 +64,18 @@ main(void) syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100); printf("execveat(AT_FDCWD, \"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ???]" + ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" #else ", %p /* 5 vars, unterminated */" #endif ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], + argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv), #if VERBOSE q_envp[0], q_envp[1], envp[2], envp[3], envp[4], + (char *) tail_envp + sizeof(envp), #else tail_envp, #endif diff --git a/tests/fanotify_mark-Xabbrev.c b/tests/fanotify_mark-Xabbrev.c new file mode 100644 index 00000000..2dc9fa12 --- /dev/null +++ b/tests/fanotify_mark-Xabbrev.c @@ -0,0 +1 @@ +#include "fanotify_mark.c" diff --git a/tests/fanotify_mark-Xabbrev.gen.test b/tests/fanotify_mark-Xabbrev.gen.test new file mode 100755 index 00000000..86c40340 --- /dev/null +++ b/tests/fanotify_mark-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a32 -Xabbrev -e trace=fanotify_mark diff --git a/tests/fanotify_mark-Xraw.c b/tests/fanotify_mark-Xraw.c new file mode 100644 index 00000000..f02c886a --- /dev/null +++ b/tests/fanotify_mark-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "fanotify_mark.c" diff --git a/tests/fanotify_mark-Xraw.gen.test b/tests/fanotify_mark-Xraw.gen.test new file mode 100755 index 00000000..5be964d0 --- /dev/null +++ b/tests/fanotify_mark-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a32 -Xraw -e trace=fanotify_mark diff --git a/tests/fanotify_mark-Xverbose.c b/tests/fanotify_mark-Xverbose.c new file mode 100644 index 00000000..b76f46f3 --- /dev/null +++ b/tests/fanotify_mark-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "fanotify_mark.c" diff --git a/tests/fanotify_mark-Xverbose.gen.test b/tests/fanotify_mark-Xverbose.gen.test new file mode 100755 index 00000000..ef1a99d6 --- /dev/null +++ b/tests/fanotify_mark-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a32 -Xverbose -e trace=fanotify_mark diff --git a/tests/fanotify_mark.c b/tests/fanotify_mark.c index 11cf7d0d..9509b837 100644 --- a/tests/fanotify_mark.c +++ b/tests/fanotify_mark.c @@ -3,7 +3,7 @@ * * Copyright (c) 2015-2016 Dmitry V. Levin * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -41,6 +41,20 @@ # include # include +#if XLAT_RAW +# define str_fan_mark_add "0x1" +# define str_fan_modify_ondir "0x40000002" +# define str_at_fdcwd "-100" +#elif XLAT_VERBOSE +# define str_fan_mark_add "0x1 /* FAN_MARK_ADD */" +# define str_fan_modify_ondir "0x40000002 /* FAN_MODIFY|FAN_ONDIR */" +# define str_at_fdcwd "-100 /* AT_FDCWD */" +#else +# define str_fan_mark_add "FAN_MARK_ADD" +# define str_fan_modify_ondir "FAN_MODIFY|FAN_ONDIR" +# define str_at_fdcwd "AT_FDCWD" +#endif + /* Performs fanotify_mark call via the syscall interface. */ static void do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str, @@ -97,26 +111,73 @@ main(void) static const struct strval flags[] = { { F8ILL_KULONG_MASK, "0" }, { (kernel_ulong_t) 0xdec0deddefaced00ULL, - "0xefaced00 /* FAN_MARK_??? */" }, + "0xefaced00" +#if !XLAT_RAW + " /* FAN_MARK_??? */" +#endif + }, { (kernel_ulong_t) 0xda7a105700000040ULL, - "FAN_MARK_IGNORED_SURV_MODIFY" }, +#if XLAT_RAW + "0x40" +#elif XLAT_VERBOSE + "0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */" +#else + "FAN_MARK_IGNORED_SURV_MODIFY" +#endif + }, { (kernel_ulong_t) 0xbadc0deddeadfeedULL, +#if XLAT_RAW || XLAT_VERBOSE + "0xdeadfeed" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW "FAN_MARK_ADD|FAN_MARK_DONT_FOLLOW|FAN_MARK_ONLYDIR|" "FAN_MARK_IGNORED_MASK|FAN_MARK_IGNORED_SURV_MODIFY|" - "FAN_MARK_FLUSH|0xdeadfe00" }, + "FAN_MARK_FLUSH|0xdeadfe00" +#endif +#if XLAT_VERBOSE + " */" +#endif + }, }; static const struct strval64 masks[] = { { ARG_ULL_STR(0) }, { 0xdeadfeedfacebeefULL, +#if XLAT_RAW || XLAT_VERBOSE + "0xdeadfeedfacebeef" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW "FAN_ACCESS|FAN_MODIFY|FAN_CLOSE_WRITE|FAN_OPEN|" "FAN_ACCESS_PERM|FAN_ONDIR|FAN_EVENT_ON_CHILD|" - "0xdeadfeedb2ccbec4" }, - { ARG_ULL_STR(0xffffffffb7fcbfc4) " /* FAN_??? */" }, + "0xdeadfeedb2ccbec4" +#endif +#if XLAT_VERBOSE + " */" +#endif + }, + { ARG_ULL_STR(0xffffffffb7fcbfc4) +#if !XLAT_RAW + " /* FAN_??? */" +#endif + }, }; static const struct strval dirfds[] = { { (kernel_ulong_t) 0xfacefeed00000001ULL, "1" }, - { (kernel_ulong_t) 0xdec0ded0ffffffffULL, "FAN_NOFD" }, - { (kernel_ulong_t) 0xbadfacedffffff9cULL, "AT_FDCWD" }, + { (kernel_ulong_t) 0xdec0ded0ffffffffULL, +#if XLAT_RAW + "-1" +#elif XLAT_VERBOSE + "-1 /* FAN_NOFD */" +#else + "FAN_NOFD" +#endif + }, + { (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd }, { (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" }, }; static const char str64[] = STR64; @@ -149,8 +210,9 @@ main(void) rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -100, "."); - printf("fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY|FAN_ONDIR" - ", AT_FDCWD, \".\") = %s\n", sprintrc(rc)); + printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n", + str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd, + sprintrc(rc)); for (i = 0; i < ARRAY_SIZE(fds); i++) { for (j = 0; j < ARRAY_SIZE(flags); j++) { diff --git a/tests/fcntl-common.c b/tests/fcntl-common.c new file mode 100644 index 00000000..a35a8372 --- /dev/null +++ b/tests/fcntl-common.c @@ -0,0 +1,267 @@ +/* + * Copyright (c) 2015-2016 Dmitry V. Levin + * 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 +#include +#include +#include +#include +#include "flock.h" + +#define FILE_LEN 4096 + +#define TEST_FLOCK_EINVAL(cmd) test_flock_einval(cmd, #cmd) +#define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) + +#ifdef HAVE_TYPEOF +# define TYPEOF_FLOCK_OFF_T typeof(((struct_kernel_flock *) NULL)->l_len) +#else +# define TYPEOF_FLOCK_OFF_T off_t +#endif + +static const char *errstr; + +static long +invoke_test_syscall(const unsigned int fd, const unsigned int cmd, void *const p) +{ + const kernel_ulong_t kfd = F8ILL_KULONG_MASK | fd; + const kernel_ulong_t op = F8ILL_KULONG_MASK | cmd; + + long rc = syscall(TEST_SYSCALL_NR, kfd, op, (uintptr_t) p); + errstr = sprintrc(rc); + return rc; +} + +static void +test_flock_einval(const int cmd, const char *name) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL; + fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; + + invoke_test_syscall(0, cmd, fl); + printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, + (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); + + void *const bad_addr = (void *) fl + 1; + invoke_test_syscall(0, cmd, bad_addr); + printf("%s(0, %s, %p) = %s\n", + TEST_SYSCALL_STR, name, bad_addr, errstr); +} + +/* + * This function is not declared static to avoid potential + * "defined but not used" warning when included by fcntl.c + */ +void +test_flock64_einval(const int cmd, const char *name) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock64, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL; + fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; + + invoke_test_syscall(0, cmd, fl); + printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, + (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); + + void *const bad_addr = (void *) fl + 1; + invoke_test_syscall(0, cmd, bad_addr); + printf("%s(0, %s, %p) = %s\n", + TEST_SYSCALL_STR, name, bad_addr, errstr); +} + +static void +test_flock(void) +{ + TEST_FLOCK_EINVAL(F_SETLK); + TEST_FLOCK_EINVAL(F_SETLKW); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_len = FILE_LEN; + + long rc = invoke_test_syscall(0, F_SETLK, fl); + printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = %s\n", + TEST_SYSCALL_STR, FILE_LEN, errstr); + if (rc) + return; + + invoke_test_syscall(0, F_GETLK, fl); + printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d, l_pid=0}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); + + invoke_test_syscall(0, F_SETLKW, fl); + printf("%s(0, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); +} + +static void +test_flock64_ofd(void) +{ +#if defined F_OFD_GETLK && defined F_OFD_SETLK && defined F_OFD_SETLKW + TEST_FLOCK64_EINVAL(F_OFD_SETLK); + TEST_FLOCK64_EINVAL(F_OFD_SETLKW); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock64, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_len = FILE_LEN; + + long rc = invoke_test_syscall(0, F_OFD_SETLK, fl); + printf("%s(0, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = %s\n", + TEST_SYSCALL_STR, FILE_LEN, errstr); + if (rc) + return; + + invoke_test_syscall(0, F_OFD_GETLK, fl); + printf("%s(0, F_OFD_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d, l_pid=0}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); + + invoke_test_syscall(0, F_OFD_SETLKW, fl); + printf("%s(0, F_OFD_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" + ", l_start=0, l_len=%d}) = 0\n", + TEST_SYSCALL_STR, FILE_LEN); +#endif /* F_OFD_GETLK && F_OFD_SETLK && F_OFD_SETLKW */ +} + +static void test_flock64_lk64(void); + +static void +test_flock64(void) +{ + test_flock64_ofd(); + test_flock64_lk64(); +} + +/* + * F_[GS]ETOWN_EX had conflicting values with F_[SG]ETLK64 + * in kernel revisions v2.6.32-rc1~96..v2.6.32-rc7~23. + */ +#undef TEST_F_OWNER_EX +#if defined F_GETOWN_EX && defined F_SETOWN_EX \ + && (F_GETOWN_EX != F_SETLK64) && (F_SETOWN_EX != F_GETLK64) +# define TEST_F_OWNER_EX +#endif + +#ifdef TEST_F_OWNER_EX +# include "f_owner_ex.h" + +static long +test_f_owner_ex_type_pid(const int cmd, const char *const cmd_name, + const int type, const char *const type_name, + pid_t pid) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_f_owner_ex, fo); + + fo->type = type; + fo->pid = pid; + long rc = invoke_test_syscall(0, cmd, fo); + printf("%s(0, %s, {type=%s, pid=%d}) = %s\n", + TEST_SYSCALL_STR, cmd_name, type_name, fo->pid, errstr); + + void *bad_addr = (void *) fo + 1; + invoke_test_syscall(0, cmd, bad_addr); + printf("%s(0, %s, %p) = %s\n", + TEST_SYSCALL_STR, cmd_name, bad_addr, errstr); + + return rc; +} + +static void +test_f_owner_ex_umove_or_printaddr(const int type, const char *const type_name, + pid_t pid) +{ + long rc = test_f_owner_ex_type_pid(ARG_STR(F_SETOWN_EX), + type, type_name, pid); + if (!rc) + test_f_owner_ex_type_pid(ARG_STR(F_GETOWN_EX), + type, type_name, pid); +} + +static void +test_f_owner_ex(void) +{ + static const struct { + int type; + const char *type_name; + pid_t pid[2]; + } a[] = { + { ARG_STR(F_OWNER_TID), { 1234567890, 20 } }, + { ARG_STR(F_OWNER_PID), { 1298126790, 30 } }, + { ARG_STR(F_OWNER_PGRP), { 1294567890, 40 } } + }; + + for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) { + for (unsigned int j = 0; j < ARRAY_SIZE(a[0].pid); j++) { + test_f_owner_ex_umove_or_printaddr(a[i].type, + a[i].type_name, + a[i].pid[j]); + } + } +} +#endif /* TEST_F_OWNER_EX */ + +static void +create_sample(void) +{ + char fname[] = TEST_SYSCALL_STR "_XXXXXX"; + + (void) close(0); + if (mkstemp(fname)) + perror_msg_and_fail("mkstemp: %s", fname); + if (unlink(fname)) + perror_msg_and_fail("unlink: %s", fname); + if (ftruncate(0, FILE_LEN)) + perror_msg_and_fail("ftruncate"); +} + +int +main(void) +{ + create_sample(); + test_flock(); + test_flock64(); +#ifdef TEST_F_OWNER_EX + test_f_owner_ex(); +#endif + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests/fcntl.c b/tests/fcntl.c index 4f62ca2a..7539f190 100644 --- a/tests/fcntl.c +++ b/tests/fcntl.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -33,51 +33,40 @@ # define TEST_SYSCALL_NR __NR_fcntl # define TEST_SYSCALL_STR "fcntl" -# include "struct_flock.c" - -# define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) +# include "fcntl-common.c" static void -test_flock64_einval(const int cmd, const char *name) +test_flock64_undecoded(const int cmd, const char *name) { struct_kernel_flock64 fl = { .l_type = F_RDLCK, .l_start = 0xdefaced1facefeedULL, .l_len = 0xdefaced2cafef00dULL }; - long rc = invoke_test_syscall(cmd, &fl); + invoke_test_syscall(0, cmd, &fl); printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, &fl, sprintrc(rc)); + TEST_SYSCALL_STR, name, &fl, errstr); } +#define TEST_FLOCK64_UNDECODED(cmd) test_flock64_undecoded(cmd, #cmd) + static void -test_flock64(void) +test_flock64_lk64(void) { /* * F_[GS]ETOWN_EX had conflicting values with F_[GS]ETLK64 * in kernel revisions v2.6.32-rc1~96..v2.6.32-rc7~23. */ -#if !defined(F_GETOWN_EX) || F_GETOWN_EX != F_SETLK64 - TEST_FLOCK64_EINVAL(F_SETLK64); -#endif +# if !defined(F_GETOWN_EX) || F_GETOWN_EX != F_SETLK64 + TEST_FLOCK64_UNDECODED(F_SETLK64); +# endif /* F_GETLK and F_SETLKW64 have conflicting values on mips64 */ -#if !defined(__mips64) || F_GETLK != F_SETLKW64 - TEST_FLOCK64_EINVAL(F_SETLKW64); -#endif -#if !defined(F_SETOWN_EX) || F_SETOWN_EX != F_GETLK64 - TEST_FLOCK64_EINVAL(F_GETLK64); -#endif -} - -int -main(void) -{ - create_sample(); - test_flock(); - test_flock64(); - - puts("+++ exited with 0 +++"); - return 0; +# if !defined(__mips64) || F_GETLK != F_SETLKW64 + TEST_FLOCK64_UNDECODED(F_SETLKW64); +# endif +# if !defined(F_SETOWN_EX) || F_SETOWN_EX != F_GETLK64 + TEST_FLOCK64_UNDECODED(F_GETLK64); +# endif } #else diff --git a/tests/fcntl64.c b/tests/fcntl64.c index 068956ed..f65f7cb5 100644 --- a/tests/fcntl64.c +++ b/tests/fcntl64.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -33,68 +33,38 @@ # define TEST_SYSCALL_NR __NR_fcntl64 # define TEST_SYSCALL_STR "fcntl64" -# include "struct_flock.c" - -# define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) - -static void -test_flock64_einval(const int cmd, const char *name) -{ - struct_kernel_flock64 fl = { - .l_type = F_RDLCK, - .l_start = 0xdefaced1facefeedULL, - .l_len = 0xdefaced2cafef00dULL - }; - long rc = invoke_test_syscall(cmd, &fl); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc)); -} +# include "fcntl-common.c" static void -test_flock64(void) +test_flock64_lk64(void) { TEST_FLOCK64_EINVAL(F_SETLK64); TEST_FLOCK64_EINVAL(F_SETLKW64); -# ifdef F_OFD_SETLK - TEST_FLOCK64_EINVAL(F_OFD_SETLK); - TEST_FLOCK64_EINVAL(F_OFD_SETLKW); -# endif - struct_kernel_flock64 fl = { - .l_type = F_RDLCK, - .l_len = FILE_LEN - }; - long rc = invoke_test_syscall(F_SETLK64, &fl); + TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_flock64, fl); + memset(fl, 0, sizeof(*fl)); + fl->l_type = F_RDLCK; + fl->l_len = FILE_LEN; + + long rc = invoke_test_syscall(0, F_SETLK64, fl); printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET" ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc)); + TEST_SYSCALL_STR, FILE_LEN, errstr); if (rc) return; - invoke_test_syscall(F_GETLK64, &fl); + invoke_test_syscall(0, F_GETLK64, fl); printf("%s(0, F_GETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET" ", l_start=0, l_len=%d, l_pid=0}) = 0\n", TEST_SYSCALL_STR, FILE_LEN); - invoke_test_syscall(F_SETLK64, &fl); - printf("%s(0, F_SETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET" + invoke_test_syscall(0, F_SETLKW64, fl); + printf("%s(0, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET" ", l_start=0, l_len=%d}) = 0\n", TEST_SYSCALL_STR, FILE_LEN); } -int -main(void) -{ - create_sample(); - test_flock(); - test_flock64(); - - puts("+++ exited with 0 +++"); - return 0; -} - #else SKIP_MAIN_UNDEFINED("__NR_fcntl64") diff --git a/tests/gen_tests.am b/tests/gen_tests.am index 2cd76bc2..5db83759 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 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 +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 aio_pgetevents.gen.test alarm.gen.test bpf.gen.test bpf-v.gen.test bpf-obj_get_info_by_fd.gen.test bpf-obj_get_info_by_fd-v.gen.test bpf-obj_get_info_by_fd-prog.gen.test bpf-obj_get_info_by_fd-prog-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 fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test fanotify_mark-Xverbose.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_inotify.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_perf.gen.test ioctl_ptp.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_msg-Xabbrev.gen.test ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test ipc_sem-Xabbrev.gen.test ipc_sem-Xraw.gen.test ipc_sem-Xverbose.gen.test ipc_shm.gen.test ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test ipc_shm-Xverbose.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 keyctl-Xabbrev.gen.test keyctl-Xraw.gen.test keyctl-Xverbose.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 mmap-Xabbrev.gen.test mmap-Xraw.gen.test mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test mmap64-Xraw.gen.test mmap64-Xverbose.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 mount-Xabbrev.gen.test mount-Xraw.gen.test mount-Xverbose.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_af_spec.gen.test nlattr_ifla_brport.gen.test nlattr_ifla_linkinfo.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 old_mmap-Xabbrev.gen.test old_mmap-Xraw.gen.test old_mmap-Xverbose.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 personality-Xabbrev.gen.test personality-Xraw.gen.test personality-Xverbose.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 so_peercred-Xabbrev.gen.test so_peercred-Xraw.gen.test so_peercred-Xverbose.gen.test sock_filter-v.gen.test sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test sock_filter-v-Xverbose.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_personality_32.gen.test trace_personality_64.gen.test trace_personality_x32.gen.test trace_personality_regex_32.gen.test trace_personality_regex_64.gen.test trace_personality_regex_x32.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) $^ $@ @@ -28,6 +28,9 @@ $(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/aio_pgetevents.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) $^ $@ @@ -37,6 +40,18 @@ $(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/bpf-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/bpf-obj_get_info_by_fd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/bpf-obj_get_info_by_fd-prog-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) $^ $@ @@ -124,6 +139,15 @@ $(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/fanotify_mark-Xverbose.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) $^ $@ @@ -316,6 +340,9 @@ $(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.i $(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_inotify.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) $^ $@ @@ -334,6 +361,12 @@ $(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ioctl_nsfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ioctl_perf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ioctl_ptp.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) $^ $@ @@ -376,12 +409,48 @@ $(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/ipc_msg-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msg-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_msgbuf-Xverbose.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_sem-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_sem-Xverbose.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)/ipc_shm-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/ipc_shm-Xverbose.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) $^ $@ @@ -400,6 +469,15 @@ $(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/keyctl-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/keyctl-Xverbose.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) $^ $@ @@ -463,9 +541,27 @@ $(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap-Xverbose.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)/mmap64-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mmap64-Xverbose.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) $^ $@ @@ -484,6 +580,15 @@ $(srcdir)/modify_ldt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/mount-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/mount-Xverbose.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) $^ $@ @@ -610,9 +715,15 @@ $(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_te $(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/nlattr_ifla_af_spec.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_linkinfo.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) $^ $@ @@ -685,6 +796,15 @@ $(srcdir)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/old_mmap-v-none.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/old_mmap-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/old_mmap-Xverbose.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) $^ $@ @@ -727,6 +847,15 @@ $(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcd $(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/personality-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/personality-Xverbose.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) $^ $@ @@ -1057,9 +1186,27 @@ $(srcdir)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/so_peercred-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/so_peercred-Xverbose.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)/sock_filter-v-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xraw.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/sock_filter-v-Xverbose.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) $^ $@ @@ -1141,6 +1288,24 @@ $(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests $(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/trace_personality_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_x32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +$(srcdir)/trace_personality_regex_x32.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) $^ $@ diff --git a/tests/gen_tests.in b/tests/gen_tests.in index a95ff3e2..24e0510e 100644 --- a/tests/gen_tests.in +++ b/tests/gen_tests.in @@ -34,9 +34,14 @@ acct -a20 add_key -a30 -s12 adjtimex -a15 aio -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy +aio_pgetevents -e trace=io_pgetevents alarm -a10 bpf -a20 bpf-v -a20 -v -e trace=bpf +bpf-obj_get_info_by_fd -a20 -y -e trace=bpf +bpf-obj_get_info_by_fd-v -a20 -y -v -e trace=bpf +bpf-obj_get_info_by_fd-prog -a20 -y -e trace=bpf +bpf-obj_get_info_by_fd-prog-v -a20 -y -v -e trace=bpf btrfs +ioctl.test chmod -a28 chown -a28 @@ -66,6 +71,9 @@ fadvise64_64 +fadvise64.test fallocate -a18 fanotify_init fanotify_mark -a32 +fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark +fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark +fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark fchdir -a11 fchmod -a15 fchmodat @@ -130,12 +138,15 @@ ioctl_dm +ioctl.test -s9 ioctl_dm-v +ioctl.test -v -s9 ioctl_evdev +ioctl.test ioctl_evdev-v +ioctl.test -v +ioctl_inotify +ioctl.test ioctl_kvm_run +ioctl.test -a36 -y ioctl_loop +ioctl.test ioctl_loop-nv +ioctl.test -a22 -e verbose=none ioctl_loop-v +ioctl.test -v ioctl_mtd +ioctl.test ioctl_nsfs +ioctl.test -esignal=none +ioctl_perf +ioctl.test +ioctl_ptp +ioctl.test ioctl_rtc +ioctl.test ioctl_rtc-v +ioctl.test -v ioctl_scsi +ioctl.test @@ -149,15 +160,30 @@ iopl -a8 ioprio -a18 -e trace=ioprio_get,ioprio_set ip_mreq -e trace=setsockopt ipc -a19 -ipc_msg +ipc.sh -ipc_sem +ipc.sh -ipc_shm +ipc.sh +ipc_msg +ipc.sh -a26 +ipc_msg-Xabbrev +ipc.sh -Xabbrev -a26 +ipc_msg-Xraw +ipc.sh -Xraw -a16 +ipc_msg-Xverbose +ipc.sh -Xverbose -a34 +ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22 +ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose +ipc_sem +ipc.sh -a29 +ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 +ipc_sem-Xraw +ipc.sh -Xraw -a19 +ipc_sem-Xverbose +ipc.sh -Xverbose -a36 +ipc_shm +ipc.sh -a29 +ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29 +ipc_shm-Xraw +ipc.sh -Xraw -a19 +ipc_shm-Xverbose +ipc.sh -Xverbose -a36 kcmp -a22 kcmp-y -a22 -y -e trace=kcmp kern_features -a16 kexec_file_load -s9 kexec_load -s9 keyctl -a31 -s10 +keyctl-Xabbrev -a31 -s10 -e trace=keyctl -Xabbrev +keyctl-Xraw -a13 -s10 -e trace=keyctl -Xraw +keyctl-Xverbose -a41 -s10 -e trace=keyctl -Xverbose kill -a12 -esignal=none lchown -a30 lchown32 -a32 @@ -179,13 +205,22 @@ mknodat -a35 mlock -a20 -e trace=mlock,munlock mlock2 mlockall -a12 +mmap-Xabbrev +mmap.test abbrev +mmap-Xraw +mmap.test raw 14 +mmap-Xverbose +mmap.test verbose mmap64 +mmap.test +mmap64-Xabbrev +mmap.test abbrev +mmap64-Xraw +mmap.test raw 14 +mmap64-Xverbose +mmap.test verbose mmsg -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg mmsg-silent -a25 -e verbose=none -e trace=sendmmsg,recvmmsg mmsg_name -a25 -e trace=sendmmsg,recvmmsg mmsg_name-v -v -a25 -e trace=sendmmsg,recvmmsg modify_ldt -a23 -mount +mount -a33 +mount-Xabbrev -a33 -e trace=mount -Xabbrev +mount-Xraw -a33 -e trace=mount -Xraw +mount-Xverbose -a33 -e trace=mount -Xverbose move_pages -s3 mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink @@ -228,7 +263,9 @@ nlattr_fib_rule_hdr +netlink_sock_diag.test nlattr_ifaddrlblmsg +netlink_sock_diag.test nlattr_ifaddrmsg +netlink_sock_diag.test nlattr_ifinfomsg +netlink_sock_diag.test +nlattr_ifla_af_spec +netlink_sock_diag.test nlattr_ifla_brport +netlink_sock_diag.test +nlattr_ifla_linkinfo +netlink_sock_diag.test nlattr_ifla_port +netlink_sock_diag.test nlattr_ifla_xdp +netlink_sock_diag.test nlattr_inet_diag_msg +netlink_sock_diag.test @@ -253,6 +290,9 @@ nlattr_unix_diag_msg +netlink_sock_diag.test old_mmap -a11 -e trace=mmap old_mmap-P -e trace=mmap -P "/dev/full" 9>>/dev/full old_mmap-v-none -a11 -e trace=mmap -e verbose=none +old_mmap-Xabbrev -a11 -e trace=mmap -Xabbrev +old_mmap-Xraw -a11 -e trace=mmap -Xraw +old_mmap-Xverbose -a11 -e trace=mmap -Xverbose oldfstat -a18 -v -P stat.sample oldlstat -a32 -v -P stat.sample -P /dev/full oldselect -a13 -e trace=select @@ -267,6 +307,9 @@ pause -a8 -esignal=none perf_event_open -a1 perf_event_open_nonverbose -a34 -e verbose=none -e trace=perf_event_open perf_event_open_unabbrev -a1 -v -e trace=perf_event_open +personality-Xabbrev +personality.test -Xabbrev +personality-Xraw +personality.test -a15 -Xraw +personality-Xverbose +personality.test -Xverbose pipe2 -a15 pkey_alloc -a17 pkey_free -a13 @@ -322,7 +365,7 @@ rt_tgsigqueueinfo -esignal=none s390_guarded_storage -a32 s390_guarded_storage-v -e trace=s390_guarded_storage -a32 -v s390_pci_mmio_read_write -e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30 -s390_runtime_instr -a50 +s390_runtime_instr -a44 s390_sthyi -a47 s390_sthyi-v -e trace=s390_sthyi -a47 -v sched test_trace_expr times -e/sched @@ -377,7 +420,13 @@ sigreturn -esignal='!USR1' sigsuspend -a19 -esignal=none so_linger -e trace=getsockopt,setsockopt so_peercred -e trace=getsockopt +so_peercred-Xabbrev -e trace=getsockopt -Xabbrev +so_peercred-Xraw -e trace=getsockopt -Xraw -a39 +so_peercred-Xverbose -e trace=getsockopt -Xverbose sock_filter-v -v -e trace=getsockopt,setsockopt +sock_filter-v-Xabbrev -v -e trace=getsockopt,setsockopt -X abbrev +sock_filter-v-Xraw -a 37 -v -e trace=getsockopt,setsockopt -X raw +sock_filter-v-Xverbose -v -e trace=getsockopt,setsockopt -X verbose socketcall -a20 sockopt-sol_netlink -e trace=getsockopt,setsockopt splice @@ -405,6 +454,12 @@ times-fail -a12 -e trace=times trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full trace_fstatfs test_trace_expr '' -e%fstatfs trace_lstat test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full +trace_personality_32 +qualify_personality.sh 32 'getcwd' 'fsync-y' +trace_personality_64 +qualify_personality.sh 64 'getcwd' 'fsync-y' +trace_personality_x32 +qualify_personality.sh x32 'getcwd' 'fsync-y' +trace_personality_regex_32 +qualify_personality.sh 32 '/clock.*' 'times|fcntl.*' +trace_personality_regex_64 +qualify_personality.sh 64 '/clock.*' 'times|fcntl.*' +trace_personality_regex_x32 +qualify_personality.sh x32 '/clock.*' 'times|fcntl.*' trace_question test_trace_expr '' -e?osf_utimes,?/^pkey_.* trace_stat test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full diff --git a/tests/init.sh b/tests/init.sh index dffbfceb..8861b70d 100644 --- a/tests/init.sh +++ b/tests/init.sh @@ -1,7 +1,7 @@ #!/bin/sh # # Copyright (c) 2011-2016 Dmitry V. Levin -# 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 @@ -230,6 +230,17 @@ run_strace_match_diff() match_diff "$LOG" "$EXP" } +# Usage: run_strace_match_grep [args to run_strace] +run_strace_match_grep() +{ + args="$*" + [ -n "$args" -a -z "${args##*-e trace=*}" ] || + set -- -e trace="$NAME" "$@" + run_prog > /dev/null + run_strace "$@" $args > "$EXP" + match_grep "$LOG" "$EXP" +} + # Print kernel version code. # usage: kernel_version_code $(uname -r) kernel_version_code() diff --git a/tests/ioctl_evdev.c b/tests/ioctl_evdev.c index 9d16cecf..5eacac02 100644 --- a/tests/ioctl_evdev.c +++ b/tests/ioctl_evdev.c @@ -2,7 +2,7 @@ * This file is part of ioctl_evdev strace test. * * Copyright (c) 2016 Dmitry V. Levin - * 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,6 +39,13 @@ # include # include +# ifndef EV_SW +# define EV_SW 5 +# endif +# ifndef ABS_MT_TOOL_Y +# define ABS_MT_TOOL_Y 0x3d +# endif + static const unsigned int magic = 0xdeadbeef; static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL; @@ -67,12 +74,14 @@ print_ffe_common(const struct ff_effect *const ffe, const char *const type_str) # endif /* VERBOSE */ } -# define TEST_NULL_ARG(cmd) \ +# define TEST_NULL_ARG_EX(cmd, str) \ do { \ ioctl(-1, cmd, 0); \ - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \ + printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", str); \ } while (0) +# define TEST_NULL_ARG(cmd) TEST_NULL_ARG_EX(cmd, #cmd) + int main(void) { @@ -117,14 +126,24 @@ main(void) TEST_NULL_ARG(EVIOCGABS(ABS_X)); TEST_NULL_ARG(EVIOCSABS(ABS_X)); + TEST_NULL_ARG_EX(EVIOCGABS(0xe), "EVIOCGABS(0xe /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0xe), "EVIOCSABS(0xe /* ABS_??? */)"); + + TEST_NULL_ARG(EVIOCGABS(ABS_MT_TOOL_Y)); + TEST_NULL_ARG(EVIOCSABS(ABS_MT_TOOL_Y)); + + TEST_NULL_ARG_EX(EVIOCGABS(0x3e), "EVIOCGABS(0x3e /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0x3e), "EVIOCSABS(0x3e /* ABS_??? */)"); + + TEST_NULL_ARG_EX(EVIOCGABS(0x3f), "EVIOCGABS(0x3f /* ABS_??? */)"); + TEST_NULL_ARG_EX(EVIOCSABS(0x3f), "EVIOCSABS(0x3f /* ABS_??? */)"); + TEST_NULL_ARG(EVIOCGBIT(EV_SYN, 0)); TEST_NULL_ARG(EVIOCGBIT(EV_KEY, 1)); TEST_NULL_ARG(EVIOCGBIT(EV_REL, 2)); TEST_NULL_ARG(EVIOCGBIT(EV_ABS, 3)); TEST_NULL_ARG(EVIOCGBIT(EV_MSC, 4)); -# ifdef EV_SW TEST_NULL_ARG(EVIOCGBIT(EV_SW, 5)); -# endif TEST_NULL_ARG(EVIOCGBIT(EV_LED, 6)); TEST_NULL_ARG(EVIOCGBIT(EV_SND, 7)); TEST_NULL_ARG(EVIOCGBIT(EV_REP, 8)); @@ -132,6 +151,12 @@ main(void) TEST_NULL_ARG(EVIOCGBIT(EV_PWR, 10)); TEST_NULL_ARG(EVIOCGBIT(EV_FF_STATUS, 11)); + TEST_NULL_ARG_EX(EVIOCGBIT(0x6, 12), "EVIOCGBIT(0x6 /* EV_??? */, 12)"); + TEST_NULL_ARG_EX(EVIOCGBIT(0x18, 13), + "EVIOCGBIT(0x18 /* EV_??? */, 13)"); + TEST_NULL_ARG_EX(EVIOCGBIT(0x1f, 14), + "EVIOCGBIT(0x1f /* EV_??? */, 14)"); + ioctl(-1, EVIOCGBIT(EV_MAX, 42), 0); printf("ioctl(-1, EVIOCGBIT(%#x /* EV_??? */, 42), NULL)" " = -1 EBADF (%m)\n", EV_MAX); diff --git a/tests/ioctl_inotify.c b/tests/ioctl_inotify.c new file mode 100644 index 00000000..0650c624 --- /dev/null +++ b/tests/ioctl_inotify.c @@ -0,0 +1,81 @@ +/* + * This file is part of ioctl_inotify strace test. + * + * 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 +#include +#include +#include +#include +#include + +#ifndef INOTIFY_IOC_SETNEXTWD +# define INOTIFY_IOC_SETNEXTWD _IOW('I', 0, int32_t) +#endif + +static long +sys_ioctl(kernel_long_t fd, kernel_ulong_t cmd, kernel_ulong_t arg) +{ + return syscall(__NR_ioctl, fd, cmd, arg); +} + +int +main(void) +{ + static const kernel_ulong_t unknown_inotify_cmd = + (kernel_ulong_t) 0xbadc0dedfeed49edULL; + static const kernel_ulong_t magic = + (kernel_ulong_t) 0xdeadbeefbadc0dedULL; + + /* Unknown inotify commands */ + sys_ioctl(-1, unknown_inotify_cmd, magic); + printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x49, %#x, %#x), " + "%#lx) = -1 EBADF (%m)\n", + _IOC_DIR((unsigned int) unknown_inotify_cmd) & _IOC_NONE ? + "|_IOC_NONE" : "", + _IOC_NR((unsigned int) unknown_inotify_cmd), + _IOC_SIZE((unsigned int) unknown_inotify_cmd), + (unsigned long) magic); + + sys_ioctl(-1, INOTIFY_IOC_SETNEXTWD + 1, magic); + printf("ioctl(-1, _IOC(_IOC_WRITE, 0x49, %#x, %#x), %#lx)" + " = -1 EBADF (%m)\n", + (unsigned int) _IOC_NR(INOTIFY_IOC_SETNEXTWD + 1), + (unsigned int) _IOC_SIZE(INOTIFY_IOC_SETNEXTWD + 1), + (unsigned long) magic); + + /* INOTIFY_IOC_SETNEXTWD */ + sys_ioctl(-1, INOTIFY_IOC_SETNEXTWD, magic); + printf("ioctl(-1, INOTIFY_IOC_SETNEXTWD, %d) = -1 EBADF (%m)\n", + (int) magic); + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests/ioctl_inotify.gen.test b/tests/ioctl_inotify.gen.test new file mode 100755 index 00000000..237a98b8 --- /dev/null +++ b/tests/ioctl_inotify.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_inotify +ioctl.test ); do not edit. +set -- +. "${srcdir=.}/ioctl.test" diff --git a/tests/ioctl_kvm_run.c b/tests/ioctl_kvm_run.c index 17946143..e1bef579 100644 --- a/tests/ioctl_kvm_run.c +++ b/tests/ioctl_kvm_run.c @@ -40,6 +40,7 @@ # include # include # include +# include # include static int @@ -56,7 +57,7 @@ kvm_ioctl(int fd, unsigned long cmd, const char *cmd_str, void *arg) static const char dev[] = "/dev/kvm"; static const char vm_dev[] = "anon_inode:kvm-vm"; -static const char vcpu_dev[] = "anon_inode:kvm-vcpu"; +static char vcpu_dev[] = "anon_inode:kvm-vcpu:0"; static size_t page_size; extern const char code[]; @@ -165,6 +166,23 @@ run_kvm(const int vcpu_fd, struct kvm_run *const run, const size_t mmap_size, } } +static int +vcpu_dev_should_have_cpuid(int fd) +{ + int r = 0; + char *filename = NULL; + char buf[sizeof(vcpu_dev)]; + + if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0) + error_msg_and_fail("asprintf"); + + if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1 + && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0)) + r = 1; + free(filename); + return r; +} + int main(void) { @@ -208,6 +226,15 @@ main(void) (unsigned long) page_size, (unsigned long) page_size, mem); int vcpu_fd = KVM_IOCTL(vm_fd, KVM_CREATE_VCPU, NULL); + if (!vcpu_dev_should_have_cpuid(vcpu_fd)) + /* + * This is an older kernel that doesn't place a cpuid + * at the end of the dentry associated with vcpu_fd. + * Trim the cpuid part of vcpu_dev like: + * "anon_inode:kvm-vcpu:0" -> "anon_inode:kvm-vcpu" + */ + vcpu_dev[strlen (vcpu_dev) - 2] = '\0'; + printf("ioctl(%d<%s>, KVM_CREATE_VCPU, 0) = %d<%s>\n", vm_fd, vm_dev, vcpu_fd, vcpu_dev); diff --git a/tests/ioctl_loop.c b/tests/ioctl_loop.c index bafbd378..10b7dc34 100644 --- a/tests/ioctl_loop.c +++ b/tests/ioctl_loop.c @@ -34,8 +34,10 @@ #include #include #include +#include #include #include +#include #include #include #include "print_fields.h" @@ -45,6 +47,12 @@ # define ABBREV 0 #endif +static long +sys_ioctl(kernel_long_t fd, kernel_ulong_t cmd, kernel_ulong_t arg) +{ + return syscall(__NR_ioctl, fd, cmd, arg); +} + static void print_loop_info(struct loop_info * const info, bool print_encrypt, const char *encrypt_type, const char *encrypt_key, @@ -178,7 +186,7 @@ main(void) TAIL_ALLOC_OBJECT_CONST_PTR(struct loop_info64, info64); /* Unknown loop commands */ - ioctl(-1, unknown_loop_cmd, magic); + sys_ioctl(-1, unknown_loop_cmd, magic); printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x4c, %#x, %#x), " "%#lx) = -1 EBADF (%m)\n", _IOC_DIR((unsigned int) unknown_loop_cmd) & _IOC_NONE ? @@ -187,14 +195,14 @@ main(void) _IOC_SIZE((unsigned int) unknown_loop_cmd), (unsigned long) magic); - ioctl(-1, LOOP_SET_BLOCK_SIZE + 1, magic); + sys_ioctl(-1, LOOP_SET_BLOCK_SIZE + 1, magic); printf("ioctl(-1, _IOC(0, 0x4c, %#x, %#x), %#lx) = " "-1 EBADF (%m)\n", _IOC_NR(LOOP_SET_BLOCK_SIZE + 1), _IOC_SIZE(LOOP_SET_BLOCK_SIZE + 1), (unsigned long) magic); - ioctl(-1, LOOP_CTL_GET_FREE + 1, magic); + sys_ioctl(-1, LOOP_CTL_GET_FREE + 1, magic); printf("ioctl(-1, _IOC(0, 0x4c, %#x, %#x), %#lx) = " "-1 EBADF (%m)\n", _IOC_NR(LOOP_CTL_GET_FREE + 1), @@ -202,7 +210,7 @@ main(void) (unsigned long) magic); /* LOOP_SET_FD */ - ioctl(-1, LOOP_SET_FD, magic); + sys_ioctl(-1, LOOP_SET_FD, magic); printf("ioctl(-1, LOOP_SET_FD, %d) = -1 EBADF (%m)\n", (unsigned int) magic); @@ -289,7 +297,7 @@ main(void) printf("ioctl(-1, LOOP_GET_STATUS64, %p) = -1 EBADF (%m)\n", info64); /* LOOP_CHANGE_FD */ - ioctl(-1, LOOP_CHANGE_FD, magic); + sys_ioctl(-1, LOOP_CHANGE_FD, magic); printf("ioctl(-1, LOOP_CHANGE_FD, %d) = -1 EBADF (%m)\n", (unsigned int) magic); @@ -298,22 +306,22 @@ main(void) printf("ioctl(-1, LOOP_SET_CAPACITY) = -1 EBADF (%m)\n"); /* LOOP_SET_DIRECT_IO */ - ioctl(-1, LOOP_SET_DIRECT_IO, magic); + sys_ioctl(-1, LOOP_SET_DIRECT_IO, magic); printf("ioctl(-1, LOOP_SET_DIRECT_IO, %lu) = -1 EBADF (%m)\n", (unsigned long) magic); /* LOOP_SET_BLOCK_SIZE */ - ioctl(-1, LOOP_SET_BLOCK_SIZE, magic); + sys_ioctl(-1, LOOP_SET_BLOCK_SIZE, magic); printf("ioctl(-1, LOOP_SET_BLOCK_SIZE, %lu) = -1 EBADF (%m)\n", (unsigned long) magic); /* LOOP_CTL_ADD */ - ioctl(-1, LOOP_CTL_ADD, magic); + sys_ioctl(-1, LOOP_CTL_ADD, magic); printf("ioctl(-1, LOOP_CTL_ADD, %d) = -1 EBADF (%m)\n", (unsigned int) magic); /* LOOP_CTL_REMOVE */ - ioctl(-1, LOOP_CTL_REMOVE, magic); + sys_ioctl(-1, LOOP_CTL_REMOVE, magic); printf("ioctl(-1, LOOP_CTL_REMOVE, %d) = -1 EBADF (%m)\n", (unsigned int) magic); diff --git a/tests/ioctl_perf-success.c b/tests/ioctl_perf-success.c new file mode 100644 index 00000000..9eade6a4 --- /dev/null +++ b/tests/ioctl_perf-success.c @@ -0,0 +1,165 @@ +/* + * Check decoding of successful PERF_EVENT_IOC_{ID,QUERY_BPF} ioctls. + * + * 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" + +#ifdef HAVE_LINUX_PERF_EVENT_H + +# include +# include +# include +# include +# include +# include +# include + +# ifndef PERF_EVENT_IOC_ID +# define PERF_EVENT_IOC_ID _IOR('$', 7, void *) +# endif + +# ifndef PERF_EVENT_IOC_QUERY_BPF +# define PERF_EVENT_IOC_QUERY_BPF _IOWR('$', 10, void *) + +struct perf_event_query_bpf { + uint32_t ids_len; + uint32_t prog_cnt; + uint32_t ids[0]; +}; +# endif + +int +main(int argc, char **argv) +{ + static const uint64_t magic64 = 0xfacefeeddeadc0deULL; + + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, u64_ptr); + uint64_t *const u64_efault = u64_ptr + 1; + uint32_t *const u32_arr = tail_alloc(sizeof(uint32_t) * 4); + uint32_t *const u32_efault = u32_arr + 4; + + unsigned long num_skip; + long inject_retval; + bool locked = false; + + *u64_ptr = magic64; + + if (argc == 1) + return 0; + + if (argc < 3) + error_msg_and_fail("Usage: %s NUM_SKIP INJECT_RETVAL", argv[0]); + + num_skip = strtoul(argv[1], NULL, 0); + inject_retval = strtol(argv[2], NULL, 0); + + if (inject_retval < 0) + error_msg_and_fail("Expected non-negative INJECT_RETVAL, " + "but got %ld", inject_retval); + + for (unsigned long i = 0; i < num_skip; i++) { + long ret = ioctl(-1, PERF_EVENT_IOC_ID, NULL); + + printf("ioctl(-1, PERF_EVENT_IOC_ID, NULL) = %s%s\n", + sprintrc(ret), + ret == inject_retval ? " (INJECTED)" : ""); + + if (ret != inject_retval) + continue; + + locked = true; + break; + } + + if (!locked) + error_msg_and_fail("Hasn't locked on ioctl(-1" + ", PERF_EVENT_IOC_ID, NULL) returning %lu", + inject_retval); + + /* PERF_EVENT_IOC_ID */ + assert(ioctl(-1, PERF_EVENT_IOC_ID, NULL) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_ID, NULL) = %ld (INJECTED)\n", + inject_retval); + + assert(ioctl(-1, PERF_EVENT_IOC_ID, u64_efault) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_ID, %p) = %ld (INJECTED)\n", + u64_efault, inject_retval); + + assert(ioctl(-1, PERF_EVENT_IOC_ID, u64_ptr) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_ID, [%" PRIu64 "]) = %ld (INJECTED)\n", + magic64, inject_retval); + + /* PERF_EVENT_IOC_QUERY_BPF */ + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL) = %ld (INJECTED)\n", + inject_retval); + + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_efault) + == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, %p) = %ld (INJECTED)\n", + u32_efault, inject_retval); + + u32_arr[3] = 0xdeadbeef; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr + 3) + == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3735928559, ...}) " + "= %ld (INJECTED)\n", + inject_retval); + + u32_arr[2] = 0xdecaffed; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr + 2) + == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3737845741" + ", prog_cnt=3735928559, ids=%p})" + " = %ld (INJECTED)\n", + u32_efault, inject_retval); + + u32_arr[0] = 0xbadc0ded; + u32_arr[1] = 5; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3134983661" + ", prog_cnt=5, ids=[3737845741, 3735928559, ... /* %p */]})" + " = %ld (INJECTED)\n", + u32_efault, inject_retval); + + u32_arr[1] = 2; + assert(ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr) == inject_retval); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3134983661" + ", prog_cnt=2, ids=[3737845741, 3735928559]})" + " = %ld (INJECTED)\n", + inject_retval); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("HAVE_LINUX_PERF_EVENT_H"); + +#endif diff --git a/tests/ioctl_perf-success.test b/tests/ioctl_perf-success.test new file mode 100755 index 00000000..779a2a9b --- /dev/null +++ b/tests/ioctl_perf-success.test @@ -0,0 +1,15 @@ +#!/bin/sh -efu + +# Check decoding of successful PERF_EVENT_IOC_{ID,QUERY_BPF} ioctls. + +. "${srcdir=.}/scno_tampering.sh" + +: ${IOCTL_INJECT_START=256} +: ${IOCTL_INJECT_RETVAL=42} + +run_prog +run_strace -a35 -e trace=ioctl \ + -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ + ../ioctl_perf-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}" > "$EXP" +grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" diff --git a/tests/ioctl_perf.c b/tests/ioctl_perf.c new file mode 100644 index 00000000..7db01dbc --- /dev/null +++ b/tests/ioctl_perf.c @@ -0,0 +1,238 @@ +/* + * Check decoding of PERF_EVENT_IOC_* commands of ioctl 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" + +#ifdef HAVE_LINUX_PERF_EVENT_H + +# include +# include +# include +# include +# include +# include +# include + +/* + * Workaround the bug in kernel UAPI that was fixed + * in Linux commit v2.6.33-rc1~48^2~288^2~19. + */ +# ifndef u64 +# define u64 uint64_t +# endif + +# define XLAT_MACROS_ONLY +# include "xlat/perf_ioctl_cmds.h" +# undef XLAT_MACROS_ONLY + +# define STR16 "0123456789abcdef" + +static long +sys_ioctl(kernel_long_t fd, kernel_ulong_t cmd, kernel_ulong_t arg) +{ + return syscall(__NR_ioctl, fd, cmd, arg); +} + +int +main(void) +{ + static const kernel_ulong_t unknown_perf_cmd = + (kernel_ulong_t) 0xbadc0dedfeed24edULL; + static const kernel_ulong_t magic = + (kernel_ulong_t) 0xdeadbeefbadc0dedULL; + static const uint64_t magic64 = 0xfacefeeddeadc0deULL; + static const char str[] = STR16 STR16 STR16 STR16; + + static struct { + unsigned int cmd; + const char *str; + } flag_iocs[] = { + { ARG_STR(PERF_EVENT_IOC_ENABLE) }, + { ARG_STR(PERF_EVENT_IOC_DISABLE) }, + { ARG_STR(PERF_EVENT_IOC_RESET) }, + }; + + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, u64_ptr); + uint64_t *const u64_efault = u64_ptr + 1; + uint32_t *const u32_arr = tail_alloc(sizeof(uint32_t) * 4); + uint32_t *const u32_efault = u32_arr + 4; + char *const str_ptr = tail_memdup(str, sizeof(str)); + char *const str_efault = str_ptr + sizeof(str); + TAIL_ALLOC_OBJECT_CONST_PTR(struct perf_event_attr, pea_ptr); + + *u64_ptr = magic64; + fill_memory_ex(pea_ptr, sizeof(*pea_ptr), 0xaa, 0x55); + + /* Unknown perf commands */ + sys_ioctl(-1, unknown_perf_cmd, magic); + printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x24, %#x, %#x), " + "%#lx) = -1 EBADF (%m)\n", + _IOC_DIR((unsigned int) unknown_perf_cmd) & _IOC_NONE ? + "|_IOC_NONE" : "", + _IOC_NR((unsigned int) unknown_perf_cmd), + _IOC_SIZE((unsigned int) unknown_perf_cmd), + (unsigned long) magic); + + sys_ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES + 1, magic); + printf("ioctl(-1, _IOC(_IOC_WRITE, 0x24, %#x, %#x), %#lx)" + " = -1 EBADF (%m)\n", + (unsigned int) _IOC_NR(PERF_EVENT_IOC_MODIFY_ATTRIBUTES + 1), + (unsigned int) _IOC_SIZE(PERF_EVENT_IOC_MODIFY_ATTRIBUTES + 1), + (unsigned long) magic); + + /* PERF_EVENT_IOC_{ENABLE,DISABLE,RESET} */ + for (unsigned i = 0; i < ARRAY_SIZE(flag_iocs); i++) { + ioctl(-1, flag_iocs[i].cmd, 0); + printf("ioctl(-1, %s, 0) = -1 EBADF (%m)\n", flag_iocs[i].str); + + ioctl(-1, flag_iocs[i].cmd, 1); + printf("ioctl(-1, %s, PERF_IOC_FLAG_GROUP) = -1 EBADF (%m)\n", + flag_iocs[i].str); + + ioctl(-1, flag_iocs[i].cmd, 2); + printf("ioctl(-1, %s, 0x2 /* PERF_IOC_FLAG_??? */) " + "= -1 EBADF (%m)\n", + flag_iocs[i].str); + + sys_ioctl(-1, flag_iocs[i].cmd, magic); + printf("ioctl(-1, %s, PERF_IOC_FLAG_GROUP|%#x) " + "= -1 EBADF (%m)\n", + flag_iocs[i].str, (unsigned int) magic & ~1U); + } + + /* PERF_EVENT_IOC_REFRESH */ + sys_ioctl(-1, PERF_EVENT_IOC_REFRESH, magic); + printf("ioctl(-1, PERF_EVENT_IOC_REFRESH, %d) = -1 EBADF (%m)\n", + (int) magic); + + /* PERF_EVENT_IOC_PERIOD */ + ioctl(-1, PERF_EVENT_IOC_PERIOD, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_PERIOD, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_PERIOD, u64_efault); + printf("ioctl(-1, PERF_EVENT_IOC_PERIOD, %p) = -1 EBADF (%m)\n", + u64_efault); + + ioctl(-1, PERF_EVENT_IOC_PERIOD, u64_ptr); + printf("ioctl(-1, PERF_EVENT_IOC_PERIOD, [%" PRIu64 "])" + " = -1 EBADF (%m)\n", + magic64); + + /* PERF_EVENT_IOC_SET_OUTPUT */ + sys_ioctl(-1, PERF_EVENT_IOC_SET_OUTPUT, magic); + printf("ioctl(-1, PERF_EVENT_IOC_SET_OUTPUT, %d) = -1 EBADF (%m)\n", + (int) magic); + + /* PERF_EVENT_IOC_SET_FILTER */ + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_efault); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, %p) = -1 EBADF (%m)\n", + str_efault); + + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_ptr); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, \"%.32s\"...)" + " = -1 EBADF (%m)\n", + str_ptr); + + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_ptr + 40); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, \"%.32s\")" + " = -1 EBADF (%m)\n", + str_ptr + 40); + + str_ptr[sizeof(str) - 1] = '0'; + ioctl(-1, PERF_EVENT_IOC_SET_FILTER, str_ptr + 40); + printf("ioctl(-1, PERF_EVENT_IOC_SET_FILTER, %p)" + " = -1 EBADF (%m)\n", + str_ptr + 40); + + /* PERF_EVENT_IOC_ID */ + ioctl(-1, PERF_EVENT_IOC_ID, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_ID, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_ID, u64_efault); + printf("ioctl(-1, PERF_EVENT_IOC_ID, %p) = -1 EBADF (%m)\n", + u64_efault); + + ioctl(-1, PERF_EVENT_IOC_ID, u64_ptr); + printf("ioctl(-1, PERF_EVENT_IOC_ID, %p) = -1 EBADF (%m)\n", + u64_ptr); + + /* PERF_EVENT_IOC_SET_BPF */ + sys_ioctl(-1, PERF_EVENT_IOC_SET_BPF, magic); + printf("ioctl(-1, PERF_EVENT_IOC_SET_BPF, %d) = -1 EBADF (%m)\n", + (int) magic); + + /* PERF_EVENT_IOC_PAUSE_OUTPUT */ + sys_ioctl(-1, PERF_EVENT_IOC_PAUSE_OUTPUT, magic); + printf("ioctl(-1, PERF_EVENT_IOC_PAUSE_OUTPUT, %lu) = -1 EBADF (%m)\n", + (unsigned long) magic); + + /* PERF_EVENT_IOC_QUERY_BPF */ + ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, NULL) = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_efault); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, %p) = -1 EBADF (%m)\n", + u32_efault); + + u32_arr[0] = 0xbadc0ded; + ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, u32_arr); + printf("ioctl(-1, PERF_EVENT_IOC_QUERY_BPF, {ids_len=3134983661, ...})" + " = -1 EBADF (%m)\n"); + + /* PERF_EVENT_IOC_MODIFY_ATTRIBUTES */ + ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, NULL); + printf("ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, NULL)" + " = -1 EBADF (%m)\n"); + + ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, pea_ptr + 1); + printf("ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, %p)" + " = -1 EBADF (%m)\n", + pea_ptr + 1); + + printf("ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES" + ", {type=%#x /* PERF_TYPE_??? */" + ", size=%#x /* PERF_ATTR_SIZE_??? */" + ", config=%#llx, ...}) = -1 EBADF (%m)\n", + (unsigned int) pea_ptr->type, + (unsigned int) pea_ptr->size, + (unsigned long long) pea_ptr->config); + ioctl(-1, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, pea_ptr); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("HAVE_LINUX_PERF_EVENT_H"); + +#endif diff --git a/tests/ioctl_perf.gen.test b/tests/ioctl_perf.gen.test new file mode 100755 index 00000000..0264f349 --- /dev/null +++ b/tests/ioctl_perf.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_perf +ioctl.test ); do not edit. +set -- +. "${srcdir=.}/ioctl.test" diff --git a/tests/ioctl_ptp.c b/tests/ioctl_ptp.c new file mode 100644 index 00000000..1c82919e --- /dev/null +++ b/tests/ioctl_ptp.c @@ -0,0 +1,131 @@ +/* + * Check decoding of PTP_* commands of ioctl syscall. + * + * Copyright (c) 2018 Harsha Sharma + * 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" + +#ifdef HAVE_STRUCT_PTP_SYS_OFFSET + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "xlat.h" +#include "xlat/ptp_flags_options.h" + +static void +test_no_device(void) +{ + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_clock_caps, caps); + fill_memory(caps, sizeof(*caps)); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_sys_offset, sysoff); + fill_memory(sysoff, sizeof(*sysoff)); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_extts_request, extts); + fill_memory(extts, sizeof(*extts)); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct ptp_perout_request, perout); + fill_memory(perout, sizeof(*perout)); + + int saved_errno; + + /* PTP_CLOCK_GETCAPS */ + ioctl(-1, PTP_CLOCK_GETCAPS, NULL); + printf("ioctl(-1, PTP_CLOCK_GETCAPS, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_CLOCK_GETCAPS, caps); + printf("ioctl(-1, PTP_CLOCK_GETCAPS, %p) = -1 EBADF (%m)\n", caps); + + /* PTP_SYS_OFFSET */ + ioctl(-1, PTP_SYS_OFFSET, NULL); + printf("ioctl(-1, PTP_SYS_OFFSET, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_SYS_OFFSET, sysoff); + printf("ioctl(-1, PTP_SYS_OFFSET, {n_samples=%u}) = -1 EBADF (%m)\n", + sysoff->n_samples); + + /* PTP_ENABLE_PPS */ + ioctl(-1, PTP_ENABLE_PPS, 0); + printf("ioctl(-1, PTP_ENABLE_PPS, 0) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_ENABLE_PPS, 1); + printf("ioctl(-1, PTP_ENABLE_PPS, 1) = -1 EBADF (%m)\n"); + + /* PTP_EXTTS_REQUEST */ + ioctl(-1, PTP_EXTTS_REQUEST, NULL); + printf("ioctl(-1, PTP_EXTTS_REQUEST, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_EXTTS_REQUEST, extts); + saved_errno = errno; + printf("ioctl(-1, PTP_EXTTS_REQUEST, {index=%d, flags=", extts->index); + printflags(ptp_flags_options, extts->flags, "PTP_???"); + errno = saved_errno; + printf("}) = -1 EBADF (%m)\n"); + + /* PTP_PEROUT_REQUEST */ + ioctl(-1, PTP_PEROUT_REQUEST, NULL); + printf("ioctl(-1, PTP_PEROUT_REQUEST, NULL) = -1 EBADF (%m)\n"); + ioctl(-1, PTP_PEROUT_REQUEST, perout); + saved_errno = errno; + printf("ioctl(-1, PTP_PEROUT_REQUEST, {start={sec=%" PRId64 + ", nsec=%" PRIu32 "}, period={sec=%" PRId64 ", nsec=%" 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_???"); + errno = saved_errno; + printf("}) = -1 EBADF (%m)\n"); + + /* unrecognized */ + ioctl(-1, _IOC(_IOC_READ, PTP_CLK_MAGIC, 0xff, 0xfe), 0); + printf("ioctl(-1, _IOC(_IOC_READ, %#x, 0xff, 0xfe), 0)" + " = -1 EBADF (%m)\n", PTP_CLK_MAGIC); + + const unsigned long arg = (unsigned long) 0xfacefeeddeadbeefULL; + ioctl(-1, _IOC(_IOC_WRITE, PTP_CLK_MAGIC, 0xfd, 0xfc), arg); + printf("ioctl(-1, _IOC(_IOC_WRITE, %#x, 0xfd, 0xfc), %#lx)" + " = -1 EBADF (%m)\n", PTP_CLK_MAGIC, arg); +} + +int +main(void) +{ + test_no_device(); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("HAVE_STRUCT_PTP_SYS_OFFSET") + +#endif /* HAVE_STRUCT_PTP_SYS_OFFSET */ diff --git a/tests/ioctl_ptp.gen.test b/tests/ioctl_ptp.gen.test new file mode 100755 index 00000000..6c0b0a92 --- /dev/null +++ b/tests/ioctl_ptp.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_ptp +ioctl.test ); do not edit. +set -- +. "${srcdir=.}/ioctl.test" diff --git a/tests/ioctl_v4l2.c b/tests/ioctl_v4l2.c index 2736b392..a7dcc494 100644 --- a/tests/ioctl_v4l2.c +++ b/tests/ioctl_v4l2.c @@ -842,6 +842,21 @@ main(void) printf("ioctl(-1, VIDIOC_S_EXT_CTRLS, {ctrl_class=V4L2_CTRL_CLASS_USER" ", count=%u}) = -1 EBADF (%m)\n", p_ext_controls->count); + p_ext_controls->ctrl_class = 0x00a30000; + p_ext_controls->count = magic; + ioctl(-1, VIDIOC_S_EXT_CTRLS, p_ext_controls); + printf("ioctl(-1, VIDIOC_S_EXT_CTRLS, {ctrl_class=V4L2_CTRL_CLASS_DETECT" + ", count=%u, controls=%p}) = -1 EBADF (%m)\n", + p_ext_controls->count, p_ext_controls->controls); + + p_ext_controls->ctrl_class = 0x00a40000; + p_ext_controls->count = magic; + ioctl(-1, VIDIOC_S_EXT_CTRLS, p_ext_controls); + printf("ioctl(-1, VIDIOC_S_EXT_CTRLS" + ", {ctrl_class=0xa40000 /* V4L2_CTRL_CLASS_??? */" + ", count=%u, controls=%p}) = -1 EBADF (%m)\n", + p_ext_controls->count, p_ext_controls->controls); + p_ext_controls->ctrl_class = V4L2_CTRL_CLASS_MPEG; p_ext_controls->count = magic; ioctl(-1, VIDIOC_S_EXT_CTRLS, p_ext_controls); @@ -883,7 +898,7 @@ main(void) ", {ctrl_class=V4L2_CTRL_CLASS_MPEG, count=%u, controls=" "[{id=V4L2_CID_BRIGHTNESS, size=0, value=%d, value64=%lld}" ", {id=V4L2_CID_CONTRAST, size=2, string=\"\\377\\377\"}" - ", %p]}) = -1 EBADF (%m)\n", + ", ... /* %p */]}) = -1 EBADF (%m)\n", p_ext_controls->count, p_ext_controls->controls[0].value, (long long) p_ext_controls->controls[0].value64, diff --git a/tests/ipc.sh b/tests/ipc.sh index 5943c1a7..ef550732 100644 --- a/tests/ipc.sh +++ b/tests/ipc.sh @@ -5,7 +5,7 @@ . "${srcdir=.}/init.sh" run_prog > /dev/null -run_strace -eipc $args > "$EXP" +run_strace -eipc "$@" $args > "$EXP" match_grep "$LOG" "$EXP" exit 0 diff --git a/tests/ipc_msg-Xabbrev.c b/tests/ipc_msg-Xabbrev.c new file mode 100644 index 00000000..f4535e8b --- /dev/null +++ b/tests/ipc_msg-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_msg.c" diff --git a/tests/ipc_msg-Xabbrev.gen.test b/tests/ipc_msg-Xabbrev.gen.test new file mode 100755 index 00000000..0969ee1e --- /dev/null +++ b/tests/ipc_msg-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg-Xabbrev +ipc.sh -Xabbrev -a26); do not edit. +set -- -Xabbrev -a26 +. "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_msg-Xraw.c b/tests/ipc_msg-Xraw.c new file mode 100644 index 00000000..9c016d30 --- /dev/null +++ b/tests/ipc_msg-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_msg.c" diff --git a/tests/ipc_msg-Xraw.gen.test b/tests/ipc_msg-Xraw.gen.test new file mode 100755 index 00000000..5d5d7322 --- /dev/null +++ b/tests/ipc_msg-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg-Xraw +ipc.sh -Xraw -a16); do not edit. +set -- -Xraw -a16 +. "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_msg-Xverbose.c b/tests/ipc_msg-Xverbose.c new file mode 100644 index 00000000..3f59f984 --- /dev/null +++ b/tests/ipc_msg-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_msg.c" diff --git a/tests/ipc_msg-Xverbose.gen.test b/tests/ipc_msg-Xverbose.gen.test new file mode 100755 index 00000000..88c79a00 --- /dev/null +++ b/tests/ipc_msg-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg-Xverbose +ipc.sh -Xverbose -a34); do not edit. +set -- -Xverbose -a34 +. "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c index b4938439..a74dba51 100644 --- a/tests/ipc_msg.c +++ b/tests/ipc_msg.c @@ -1,6 +1,7 @@ /* * Copyright (c) 2015 Elvira Khabirova * Copyright (c) 2015-2016 Dmitry V. Levin + * Copyright (c) 2015-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,6 +36,10 @@ #include "xlat.h" #include "xlat/resource_flags.h" +#ifndef MSG_STAT_ANY +# define MSG_STAT_ANY 13 +#endif + /* * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data * provided in third argument of msgctl call (in case of IPC_SET cmd) @@ -52,13 +57,50 @@ # define TEST_MSGCTL_BOGUS_ADDR 1 #endif +#if XLAT_RAW +# define str_ipc_excl_nowait "0xface1c00" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_set "0x1" +# define str_ipc_stat "0x2" +# define str_msg_stat "0xb" +# define str_msg_info "0xc" +# define str_msg_stat_any "0xd" +# define str_ipc_64 "0x100" +# define str_bogus_cmd "0xdeadbeef" +#elif XLAT_VERBOSE +# define str_ipc_excl_nowait \ + "0xface1c00 /\\* IPC_EXCL\\|IPC_NOWAIT\\|0xface1000 \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_set "0x1 /\\* IPC_SET \\*/" +# define str_ipc_stat "0x2 /\\* IPC_STAT \\*/" +# define str_msg_stat "0xb /\\* MSG_STAT \\*/" +# define str_msg_info "0xc /\\* MSG_INFO \\*/" +# define str_msg_stat_any "0xd /\\* MSG_STAT_ANY \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +# define str_bogus_cmd "0xdeadbeef /\\* MSG_\\?\\?\\? \\*/" +#else +# define str_ipc_excl_nowait "IPC_EXCL\\|IPC_NOWAIT\\|0xface1000" +# define str_ipc_private "IPC_PRIVATE" +# define str_ipc_rmid "IPC_RMID" +# define str_ipc_set "IPC_SET" +# define str_ipc_stat "IPC_STAT" +# define str_msg_stat "MSG_STAT" +# define str_msg_info "MSG_INFO" +# define str_msg_stat_any "MSG_STAT_ANY" +# define str_ipc_64 "IPC_64" +# define str_bogus_cmd "0xdeadbeef /\\* MSG_\\?\\?\\? \\*/" +#endif + static int id = -1; static void cleanup(void) { msgctl(id, IPC_RMID, NULL); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_RMID, NULL\\) += 0\n", id); + printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) += 0\n", + id, str_ipc_64, str_ipc_rmid); id = -1; } @@ -67,7 +109,7 @@ main(void) { static const key_t private_key = (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; + static const key_t bogus_key = (key_t) 0xeca86420fdb9f531ULL; static const int bogus_msgid = 0xfdb97531; static const int bogus_cmd = 0xdeadbeef; #if TEST_MSGCTL_BOGUS_ADDR @@ -79,37 +121,36 @@ main(void) struct msqid_ds ds; rc = msgget(bogus_key, bogus_flags); - printf("msgget\\(%#llx, %s%s%s%#x\\|%#04o\\) += %s\n", + printf("msgget\\(%#llx, %s\\|%#04o\\) = %s\n", zero_extend_signed_to_ull(bogus_key), - IPC_CREAT & bogus_flags ? "IPC_CREAT\\|" : "", - IPC_EXCL & bogus_flags ? "IPC_EXCL\\|" : "", - IPC_NOWAIT & bogus_flags ? "IPC_NOWAIT\\|" : "", - bogus_flags & ~(0777 | IPC_CREAT | IPC_EXCL | IPC_NOWAIT), + str_ipc_excl_nowait, bogus_flags & 0777, sprintrc_grep(rc)); id = msgget(private_key, 0600); if (id < 0) perror_msg_and_skip("msgget"); - printf("msgget\\(IPC_PRIVATE, 0600\\) += %d\n", id); + printf("msgget\\(%s, 0600\\) = %d\n", str_ipc_private, id); atexit(cleanup); rc = msgctl(bogus_msgid, bogus_cmd, NULL); - printf("msgctl\\(%d, (IPC_64\\|)?%#x /\\* MSG_\\?\\?\\? \\*/, NULL\\)" - " += %s\n", bogus_msgid, bogus_cmd, sprintrc_grep(rc)); + printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", + bogus_msgid, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); #if TEST_MSGCTL_BOGUS_ADDR rc = msgctl(bogus_msgid, IPC_SET, bogus_addr); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_SET, %p\\) += %s\n", - bogus_msgid, bogus_addr, sprintrc_grep(rc)); + printf("msgctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", + bogus_msgid, str_ipc_64, str_ipc_set, bogus_addr, + sprintrc_grep(rc)); #endif if (msgctl(id, IPC_STAT, &ds)) perror_msg_and_skip("msgctl IPC_STAT"); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_STAT, \\{msg_perm=\\{uid=%u" + printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u" ", gid=%u, mode=%#o, key=%u, cuid=%u, cgid=%u\\}, msg_stime=%u" ", msg_rtime=%u, msg_ctime=%u, msg_qnum=%u, msg_qbytes=%u" - ", msg_lspid=%u, msg_lrpid=%u\\}\\) += 0\n", - id, (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, + ", msg_lspid=%u, msg_lrpid=%u\\}\\) = 0\n", + id, str_ipc_64, str_ipc_stat, + (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, (unsigned) ds.msg_perm.mode, (unsigned) ds.msg_perm.__key, (unsigned) ds.msg_perm.cuid, (unsigned) ds.msg_perm.cgid, (unsigned) ds.msg_stime, (unsigned) ds.msg_rtime, @@ -119,18 +160,22 @@ main(void) if (msgctl(id, IPC_SET, &ds)) perror_msg_and_skip("msgctl IPC_SET"); - printf("msgctl\\(%d, (IPC_64\\|)?IPC_SET, \\{msg_perm=\\{uid=%u" - ", gid=%u, mode=%#o\\}, ...\\}\\) += 0\n", - id, (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, - (unsigned) ds.msg_perm.mode); + printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u" + ", gid=%u, mode=%#o\\}, ...\\}\\) = 0\n", + id, str_ipc_64, str_ipc_set, (unsigned) ds.msg_perm.uid, + (unsigned) ds.msg_perm.gid, (unsigned) ds.msg_perm.mode); rc = msgctl(0, MSG_INFO, &ds); - printf("msgctl\\(0, (IPC_64\\|)?MSG_INFO, %p\\) += %s\n", - &ds, sprintrc_grep(rc)); + printf("msgctl\\(0, (%s\\|)?%s, %p\\) = %s\n", + str_ipc_64, str_msg_info, &ds, sprintrc_grep(rc)); rc = msgctl(id, MSG_STAT, &ds); - printf("msgctl\\(%d, (IPC_64\\|)?MSG_STAT, %p\\) += %s\n", - id, &ds, sprintrc_grep(rc)); + printf("msgctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", + id, str_ipc_64, str_msg_stat, &ds, sprintrc_grep(rc)); + + rc = msgctl(id, MSG_STAT_ANY, &ds); + printf("msgctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", + id, str_ipc_64, str_msg_stat_any, &ds, sprintrc_grep(rc)); return 0; } diff --git a/tests/ipc_msg.gen.test b/tests/ipc_msg.gen.test index b1f1f7e8..82026198 100755 --- a/tests/ipc_msg.gen.test +++ b/tests/ipc_msg.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg +ipc.sh ); do not edit. -set -- +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg +ipc.sh -a26); do not edit. +set -- -a26 . "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_msgbuf-Xabbrev.c b/tests/ipc_msgbuf-Xabbrev.c new file mode 100644 index 00000000..e2f09eb1 --- /dev/null +++ b/tests/ipc_msgbuf-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_msgbuf.c" diff --git a/tests/ipc_msgbuf-Xabbrev.gen.test b/tests/ipc_msgbuf-Xabbrev.gen.test new file mode 100755 index 00000000..402d804e --- /dev/null +++ b/tests/ipc_msgbuf-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev); do not edit. +set -- -Xabbrev +. "${srcdir=.}/ipc_msgbuf.test" diff --git a/tests/ipc_msgbuf-Xraw.c b/tests/ipc_msgbuf-Xraw.c new file mode 100644 index 00000000..c6f8a31b --- /dev/null +++ b/tests/ipc_msgbuf-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_msgbuf.c" diff --git a/tests/ipc_msgbuf-Xraw.gen.test b/tests/ipc_msgbuf-Xraw.gen.test new file mode 100755 index 00000000..c1112cb6 --- /dev/null +++ b/tests/ipc_msgbuf-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22); do not edit. +set -- -Xraw -a22 +. "${srcdir=.}/ipc_msgbuf.test" diff --git a/tests/ipc_msgbuf-Xverbose.c b/tests/ipc_msgbuf-Xverbose.c new file mode 100644 index 00000000..ae09a4ad --- /dev/null +++ b/tests/ipc_msgbuf-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_msgbuf.c" diff --git a/tests/ipc_msgbuf-Xverbose.gen.test b/tests/ipc_msgbuf-Xverbose.gen.test new file mode 100755 index 00000000..2c72eb71 --- /dev/null +++ b/tests/ipc_msgbuf-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose); do not edit. +set -- -Xverbose +. "${srcdir=.}/ipc_msgbuf.test" diff --git a/tests/ipc_msgbuf.c b/tests/ipc_msgbuf.c index c4af1bef..e439c498 100644 --- a/tests/ipc_msgbuf.c +++ b/tests/ipc_msgbuf.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2015 Elvira Khabirova * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -28,7 +28,10 @@ */ #include "tests.h" +#include #include +#include +#include #include #include #include @@ -38,22 +41,54 @@ static int msqid = -1; +#if XLAT_RAW +# define str_ipc_creat "0x200" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_64 "0x100" +#elif XLAT_VERBOSE +# define str_ipc_creat "0x200 /\\* IPC_CREAT \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +#else +# define str_ipc_creat "IPC_CREAT" +# define str_ipc_private "IPC_PRIVATE" +# define str_ipc_rmid "IPC_RMID" +# define str_ipc_64 "IPC_64" +#endif + static int cleanup(void) { if (msqid != -1) { int rc = msgctl(msqid, IPC_RMID, 0); + printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = 0\n", + msqid, str_ipc_64, str_ipc_rmid); msqid = -1; if (rc == -1) return 77; + puts("\\+\\+\\+ exited with 0 \\+\\+\\+"); } return 0; } +int +sys_msgrcv(int msqid, void *msgp, size_t sz, kernel_long_t msgtyp, + int msgflg) +{ +#if defined __x86_64__ && defined __ILP32__ + return syscall(__NR_msgrcv, msqid, msgp, sz, msgtyp, msgflg); +#else + return msgrcv(msqid, msgp, sz, msgtyp, msgflg); +#endif +} + int main(void) { - const long mtype = 0xdefaced; + /* mtype has to be positive */ + const kernel_long_t mtype = (kernel_long_t) 0x7facefed5adc0dedULL; struct { kernel_long_t mtype; char mtext[msgsz]; @@ -64,11 +99,23 @@ main(void) msqid = msgget(IPC_PRIVATE, IPC_CREAT | S_IRWXU); if (msqid == -1) perror_msg_and_skip("msgget"); + printf("msgget\\(%s, %s\\|0700\\) = %d\n", + str_ipc_private, str_ipc_creat, msqid); + typedef void (*atexit_func)(void); atexit((atexit_func) cleanup); + + printf("msgsnd\\(%d, \\{%lld, \"" text_string "\\\\0\"\\}, 14, 0\\)" + " = 0\n", + msqid, (long long) mtype); if (msgsnd(msqid, &msg, msgsz, 0) == -1) perror_msg_and_skip("msgsnd"); - if (msgrcv(msqid, &msg, msgsz, mtype, 0) != msgsz) + + if (sys_msgrcv(msqid, &msg, msgsz, -mtype, 0) != msgsz) perror_msg_and_skip("msgrcv"); + printf("msgrcv\\(%d, \\{%lld, \"" text_string "\\\\0\"\\}, 14, %lld" + ", 0\\) = 14\n", + msqid, (long long) mtype, -(long long) mtype); + return cleanup(); } diff --git a/tests/ipc_msgbuf.test b/tests/ipc_msgbuf.test index d0b65d1a..9e787855 100755 --- a/tests/ipc_msgbuf.test +++ b/tests/ipc_msgbuf.test @@ -5,7 +5,7 @@ . "${srcdir=.}/init.sh" run_prog -run_strace -v -e msgget,msgsnd,msgrcv,msgctl $args -match_grep +run_strace -a26 -v -e msgget,msgsnd,msgrcv,msgctl "$@" $args > "$EXP" +match_grep "$LOG" "$EXP" exit 0 diff --git a/tests/ipc_sem-Xabbrev.c b/tests/ipc_sem-Xabbrev.c new file mode 100644 index 00000000..727005ad --- /dev/null +++ b/tests/ipc_sem-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_sem.c" diff --git a/tests/ipc_sem-Xabbrev.gen.test b/tests/ipc_sem-Xabbrev.gen.test new file mode 100755 index 00000000..0757a48b --- /dev/null +++ b/tests/ipc_sem-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29); do not edit. +set -- -Xabbrev -a29 +. "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_sem-Xraw.c b/tests/ipc_sem-Xraw.c new file mode 100644 index 00000000..0a57c0ac --- /dev/null +++ b/tests/ipc_sem-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_sem.c" diff --git a/tests/ipc_sem-Xraw.gen.test b/tests/ipc_sem-Xraw.gen.test new file mode 100755 index 00000000..07d59e51 --- /dev/null +++ b/tests/ipc_sem-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem-Xraw +ipc.sh -Xraw -a19); do not edit. +set -- -Xraw -a19 +. "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_sem-Xverbose.c b/tests/ipc_sem-Xverbose.c new file mode 100644 index 00000000..56e83806 --- /dev/null +++ b/tests/ipc_sem-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_sem.c" diff --git a/tests/ipc_sem-Xverbose.gen.test b/tests/ipc_sem-Xverbose.gen.test new file mode 100755 index 00000000..43a61d08 --- /dev/null +++ b/tests/ipc_sem-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem-Xverbose +ipc.sh -Xverbose -a36); do not edit. +set -- -Xverbose -a36 +. "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c index c8832726..8cbbfaaa 100644 --- a/tests/ipc_sem.c +++ b/tests/ipc_sem.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2015 Andreas Schwab * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -36,6 +36,43 @@ #include "xlat.h" #include "xlat/resource_flags.h" +#ifndef SEM_STAT_ANY +# define SEM_STAT_ANY 20 +#endif + +#if XLAT_RAW +# define str_ipc_flags "0xface1e00" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_stat "0x2" +# define str_sem_stat "0x12" +# define str_sem_info "0x13" +# define str_sem_stat_any "0x14" +# define str_ipc_64 "0x100" +# define str_bogus_cmd "0xdeadbeef" +#elif XLAT_VERBOSE +# define str_ipc_flags \ + "0xface1e00 /\\* IPC_CREAT\\|IPC_EXCL\\|IPC_NOWAIT\\|0xface1000 \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_stat "0x2 /\\* IPC_STAT \\*/" +# define str_sem_stat "0x12 /\\* SEM_STAT \\*/" +# define str_sem_info "0x13 /\\* SEM_INFO \\*/" +# define str_sem_stat_any "0x14 /\\* SEM_STAT_ANY \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +# define str_bogus_cmd "0xdeadbeef /\\* SEM_\\?\\?\\? \\*/" +#else +# define str_ipc_flags "IPC_CREAT\\|IPC_EXCL\\|IPC_NOWAIT\\|0xface1000" +# define str_ipc_private "IPC_PRIVATE" +# define str_ipc_rmid "IPC_RMID" +# define str_ipc_stat "IPC_STAT" +# define str_sem_stat "SEM_STAT" +# define str_sem_info "SEM_INFO" +# define str_sem_stat_any "SEM_STAT_ANY" +# define str_ipc_64 "IPC_64" +# define str_bogus_cmd "0xdeadbeef /\\* SEM_\\?\\?\\? \\*/" +#endif + union semun { int val; /* Value for SETVAL */ struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */ @@ -50,8 +87,8 @@ static void cleanup(void) { semctl(id, 0, IPC_RMID, 0); - printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, \\[?NULL\\]?\\) += 0\n", - id); + printf("semctl\\(%d, 0, (%s\\|)?%s, \\[?NULL\\]?\\) = 0\n", + id, str_ipc_64, str_ipc_rmid); id = -1; } @@ -75,42 +112,41 @@ main(void) struct seminfo info; rc = semget(bogus_key, bogus_size, bogus_flags); - printf("semget\\(%#llx, %d, %s%s%s%#x\\|%#04o\\) += %s\n", + printf("semget\\(%#llx, %d, %s\\|%#04o\\) = %s\n", zero_extend_signed_to_ull(bogus_key), bogus_size, - IPC_CREAT & bogus_flags ? "IPC_CREAT\\|" : "", - IPC_EXCL & bogus_flags ? "IPC_EXCL\\|" : "", - IPC_NOWAIT & bogus_flags ? "IPC_NOWAIT\\|" : "", - bogus_flags & ~(0777 | IPC_CREAT | IPC_EXCL | IPC_NOWAIT), - bogus_flags & 0777, sprintrc_grep(rc)); + str_ipc_flags, bogus_flags & 0777, sprintrc_grep(rc)); id = semget(private_key, 1, 0600); if (id < 0) perror_msg_and_skip("semget"); - printf("semget\\(IPC_PRIVATE, 1, 0600\\) += %d\n", id); + printf("semget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id); atexit(cleanup); rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg); #define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)" - printf("semctl\\(%d, %d, (IPC_64\\|)?%#x /\\* SEM_\\?\\?\\? \\*/" - ", " SEMCTL_BOGUS_ARG_FMT "\\) += %s\n", - bogus_semid, bogus_semnum, bogus_cmd, + printf("semctl\\(%d, %d, (%s\\|)?%s, " SEMCTL_BOGUS_ARG_FMT "\\) = %s\n", + bogus_semid, bogus_semnum, str_ipc_64, str_bogus_cmd, bogus_arg, bogus_arg, sprintrc_grep(rc)); un.buf = &ds; if (semctl(id, 0, IPC_STAT, un)) perror_msg_and_skip("semctl IPC_STAT"); - printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_STAT, \\[?%p\\]?\\) += 0\n", - id, &ds); + printf("semctl\\(%d, 0, (%s\\|)?%s, \\[?%p\\]?\\) = 0\n", + id, str_ipc_64, str_ipc_stat, &ds); un.__buf = &info; rc = semctl(0, 0, SEM_INFO, un); - printf("semctl\\(0, 0, (IPC_64\\|)?SEM_INFO, \\[?%p\\]?\\) += %s\n", - &info, sprintrc_grep(rc)); + printf("semctl\\(0, 0, (%s\\|)?%s, \\[?%p\\]?\\) = %s\n", + str_ipc_64, str_sem_info, &info, sprintrc_grep(rc)); un.buf = &ds; rc = semctl(id, 0, SEM_STAT, un); - printf("semctl\\(%d, 0, (IPC_64\\|)?SEM_STAT, \\[?%p\\]?\\) += %s\n", - id, &ds, sprintrc_grep(rc)); + printf("semctl\\(%d, 0, (%s\\|)?%s, \\[?%p\\]?\\) = %s\n", + id, str_ipc_64, str_sem_stat, &ds, sprintrc_grep(rc)); + + rc = semctl(id, 0, SEM_STAT_ANY, un); + printf("semctl\\(%d, 0, (%s\\|)?%s, (%p|\\[(%p|NULL)\\]|NULL)\\) = %s\n", + id, str_ipc_64, str_sem_stat_any, &ds, &ds, sprintrc_grep(rc)); return 0; } diff --git a/tests/ipc_sem.gen.test b/tests/ipc_sem.gen.test index a1c03d2b..173b3af3 100755 --- a/tests/ipc_sem.gen.test +++ b/tests/ipc_sem.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem +ipc.sh ); do not edit. -set -- +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem +ipc.sh -a29); do not edit. +set -- -a29 . "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_shm-Xabbrev.c b/tests/ipc_shm-Xabbrev.c new file mode 100644 index 00000000..c191aeaa --- /dev/null +++ b/tests/ipc_shm-Xabbrev.c @@ -0,0 +1 @@ +#include "ipc_shm.c" diff --git a/tests/ipc_shm-Xabbrev.gen.test b/tests/ipc_shm-Xabbrev.gen.test new file mode 100755 index 00000000..d68c2462 --- /dev/null +++ b/tests/ipc_shm-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29); do not edit. +set -- -Xabbrev -a29 +. "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_shm-Xraw.c b/tests/ipc_shm-Xraw.c new file mode 100644 index 00000000..08e09ac1 --- /dev/null +++ b/tests/ipc_shm-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "ipc_shm.c" diff --git a/tests/ipc_shm-Xraw.gen.test b/tests/ipc_shm-Xraw.gen.test new file mode 100755 index 00000000..071eef67 --- /dev/null +++ b/tests/ipc_shm-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm-Xraw +ipc.sh -Xraw -a19); do not edit. +set -- -Xraw -a19 +. "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_shm-Xverbose.c b/tests/ipc_shm-Xverbose.c new file mode 100644 index 00000000..b936785f --- /dev/null +++ b/tests/ipc_shm-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "ipc_shm.c" diff --git a/tests/ipc_shm-Xverbose.gen.test b/tests/ipc_shm-Xverbose.gen.test new file mode 100755 index 00000000..170adeee --- /dev/null +++ b/tests/ipc_shm-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm-Xverbose +ipc.sh -Xverbose -a36); do not edit. +set -- -Xverbose -a36 +. "${srcdir=.}/ipc.sh" diff --git a/tests/ipc_shm.c b/tests/ipc_shm.c index 6586c8af..f5802cc2 100644 --- a/tests/ipc_shm.c +++ b/tests/ipc_shm.c @@ -41,16 +41,62 @@ # define SHM_HUGE_MASK 0x3f #endif +#ifndef SHM_STAT_ANY +# define SHM_STAT_ANY 15 +#endif + #include "xlat.h" #include "xlat/shm_resource_flags.h" +#if XLAT_RAW +# define str_ipc_flags "0x2ce1e00" +# define str_shm_huge "21<<26" +# define str_ipc_private "0" +# define str_ipc_rmid "0" +# define str_ipc_set "0x1" +# define str_ipc_stat "0x2" +# define str_shm_stat "0xd" +# define str_shm_info "0xe" +# define str_shm_stat_any "0xf" +# define str_ipc_64 "0x100" +# define str_bogus_cmd "0xdefaced2" +#elif XLAT_VERBOSE +# define str_ipc_flags \ + "0x2ce1e00 /\\* IPC_CREAT\\|IPC_EXCL\\|SHM_HUGETLB\\|SHM_NORESERVE" \ + "\\|0x2ce0000 \\*/" +# define str_shm_huge "21<<26 /\\* SHM_HUGE_SHIFT \\*/" +# define str_ipc_private "0 /\\* IPC_PRIVATE \\*/" +# define str_ipc_rmid "0 /\\* IPC_RMID \\*/" +# define str_ipc_set "0x1 /\\* IPC_SET \\*/" +# define str_ipc_stat "0x2 /\\* IPC_STAT \\*/" +# define str_shm_stat "0xd /\\* SHM_STAT \\*/" +# define str_shm_info "0xe /\\* SHM_INFO \\*/" +# define str_shm_stat_any "0xf /\\* SHM_STAT_ANY \\*/" +# define str_ipc_64 "0x100 /\\* IPC_64 \\*/" +# define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/" +#else +# define str_ipc_flags \ + "IPC_CREAT\\|IPC_EXCL\\|SHM_HUGETLB\\|SHM_NORESERVE\\|0x2ce0000" +# define str_shm_huge "21< + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -167,7 +168,7 @@ main(void) int fd; unsigned i; - struct kcmp_epoll_slot *slot = tail_alloc(sizeof(*slot)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct kcmp_epoll_slot, slot); /* Open some files to test printpidfd */ fd = open(null_path, O_RDONLY); diff --git a/tests/kexec_load.c b/tests/kexec_load.c index 2a6b4418..ff4507c9 100644 --- a/tests/kexec_load.c +++ b/tests/kexec_load.c @@ -2,7 +2,7 @@ * Check decoding of kexec_load syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -129,7 +129,7 @@ main(void) printf("{buf=%p, bufsz=%zu, mem=%p, memsz=%zu}, ", segms[i].buf, segms[i].bufsz, segms[i].mem, segms[i].memsz); - printf("%p], %s%s) = %s\n", + printf("... /* %p */], %s%s) = %s\n", segms + NUM_SEGMS, sizeof(long) == 8 ? flags[0].str64 : flags[0].str32, flags[0].str, errstr); diff --git a/tests/keyctl-Xabbrev.c b/tests/keyctl-Xabbrev.c new file mode 100644 index 00000000..7b6b0dcc --- /dev/null +++ b/tests/keyctl-Xabbrev.c @@ -0,0 +1 @@ +#include "keyctl.c" diff --git a/tests/keyctl-Xabbrev.gen.test b/tests/keyctl-Xabbrev.gen.test new file mode 100755 index 00000000..0068a032 --- /dev/null +++ b/tests/keyctl-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl-Xabbrev -a31 -s10 -e trace=keyctl -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a31 -s10 -e trace=keyctl -Xabbrev diff --git a/tests/keyctl-Xraw.c b/tests/keyctl-Xraw.c new file mode 100644 index 00000000..202c22a9 --- /dev/null +++ b/tests/keyctl-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "keyctl.c" diff --git a/tests/keyctl-Xraw.gen.test b/tests/keyctl-Xraw.gen.test new file mode 100755 index 00000000..2d89ea79 --- /dev/null +++ b/tests/keyctl-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl-Xraw -a13 -s10 -e trace=keyctl -Xraw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a13 -s10 -e trace=keyctl -Xraw diff --git a/tests/keyctl-Xverbose.c b/tests/keyctl-Xverbose.c new file mode 100644 index 00000000..9f9d744a --- /dev/null +++ b/tests/keyctl-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "keyctl.c" diff --git a/tests/keyctl-Xverbose.gen.test b/tests/keyctl-Xverbose.gen.test new file mode 100755 index 00000000..a0cdd7de --- /dev/null +++ b/tests/keyctl-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl-Xverbose -a41 -s10 -e trace=keyctl -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a41 -s10 -e trace=keyctl -Xverbose diff --git a/tests/keyctl.c b/tests/keyctl.c index 5d46ab78..881f24b3 100644 --- a/tests/keyctl.c +++ b/tests/keyctl.c @@ -89,6 +89,14 @@ bool buf_in_arg; /* From ioctl_dm.c */ # define STR32 "AbCdEfGhIjKlMnOpQrStUvWxYz012345" +#if XLAT_RAW +# define XARG_STR(v_) (v_), STRINGIFY(v_) +#elif XLAT_VERBOSE +# define XARG_STR(v_) (v_), STRINGIFY(v_) " /* " #v_ " */" +#else +# define XARG_STR ARG_STR +#endif + /* * When this is called with positive size, the buffer provided is an "out" * argument and rc contains resulting size (globally defined nul_terminated_buf @@ -187,7 +195,13 @@ do_keyctl(kernel_ulong_t cmd, const char *cmd_str, ...) long rc = syscall(__NR_keyctl, cmd, args[0], args[1], args[2], args[3]); const char *errstr = sprintrc(rc); +#if XLAT_RAW + printf("keyctl(%#x", (unsigned) cmd); +#elif XLAT_VERBOSE + printf("keyctl(%#x /* %s */", (unsigned) cmd, cmd_str); +#else printf("keyctl(%s", cmd_str); +#endif for (i = 0; i < cnt; i++) { printf(", "); print_arg(args[i], arg_str[i], arg_fmt[i], arg_sz[i], rc); @@ -299,8 +313,20 @@ main(void) static const struct keyctl_dh_params kcdhp_data = { KEY_SPEC_GROUP_KEYRING, 1234567890, 3141592653U }; - static const char *kcdhp_str = "{private=KEY_SPEC_GROUP_KEYRING, " - "prime=1234567890, base=-1153374643}"; + static const char *kcdhp_str = "{private=" +#if XLAT_RAW || XLAT_VERBOSE + "-6" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW + "KEY_SPEC_GROUP_KEYRING" +#endif +#if XLAT_VERBOSE + " */" +#endif + ", prime=1234567890, base=-1153374643}"; /* * It's bigger than current hash name size limit, but since it's @@ -418,7 +444,15 @@ main(void) /* Invalid command */ do_keyctl((kernel_ulong_t) 0xbadc0dedfacefeedULL, - "0xfacefeed /* KEYCTL_??? */", +#if XLAT_VERBOSE + "KEYCTL_???" +#else + "0xfacefeed" +# if !XLAT_RAW + " /* KEYCTL_??? */" +# endif +#endif + , sizeof(kernel_ulong_t), (kernel_ulong_t) 0xdeadfee1badc0de5ULL, NULL, kulong_fmt, @@ -440,7 +474,7 @@ main(void) (kernel_ulong_t) 0xbadc0dedffffffffLLU, "-1", NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_KEYRING_ID), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), "%d", + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), "%d", sizeof(int), 3141592653U, NULL, "%d", NULL, 0UL); @@ -469,7 +503,7 @@ main(void) buf_in_arg = true; do_keyctl(ARG_STR(KEYCTL_UPDATE), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 0, NULL, ksize_fmt, 0UL); @@ -498,7 +532,7 @@ main(void) /* KEYCTL_REVOKE */ do_keyctl(ARG_STR(KEYCTL_REVOKE), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_REVOKE), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -513,7 +547,7 @@ main(void) /* KEYCTL_CHOWN */ do_keyctl(ARG_STR(KEYCTL_CHOWN), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(uid_t), ARG_STR(-1), NULL, sizeof(gid_t), ARG_STR(-1), NULL, 0UL); @@ -526,8 +560,15 @@ main(void) /* KEYCTL_SETPERM */ do_keyctl(ARG_STR(KEYCTL_SETPERM), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQKEY_AUTH_KEY), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQKEY_AUTH_KEY), NULL, sizeof(uint32_t), 0xffffffffU, +#if XLAT_RAW || XLAT_VERBOSE + "0xffffffff" +#endif +#if XLAT_VERBOSE + " /* " +#endif +#if !XLAT_RAW "KEY_POS_VIEW|KEY_POS_READ|KEY_POS_WRITE|" "KEY_POS_SEARCH|KEY_POS_LINK|KEY_POS_SETATTR|" "KEY_USR_VIEW|KEY_USR_READ|KEY_USR_WRITE|" @@ -536,7 +577,12 @@ main(void) "KEY_GRP_SEARCH|KEY_GRP_LINK|KEY_GRP_SETATTR|" "KEY_OTH_VIEW|KEY_OTH_READ|KEY_OTH_WRITE|" "KEY_OTH_SEARCH|KEY_OTH_LINK|KEY_OTH_SETATTR|" - "0xc0c0c0c0", NULL, + "0xc0c0c0c0" +#endif +#if XLAT_VERBOSE + " */" +#endif + , NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_SETPERM), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -544,7 +590,12 @@ main(void) 0UL); do_keyctl(ARG_STR(KEYCTL_SETPERM), sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL, - sizeof(uint32_t), 0xc0c0c0c0, "0xc0c0c0c0 /* KEY_??? */", + sizeof(uint32_t), 0xc0c0c0c0, + "0xc0c0c0c0" +#if !XLAT_RAW + " /* KEY_??? */" +#endif + , NULL, 0UL); @@ -563,17 +614,17 @@ main(void) (kernel_ulong_t) 0xfeedf157badc0dedLLU, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_DESCRIBE), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 9, (uintptr_t) bogus_buf1, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 9, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_DESCRIBE), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 256, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 256, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_DESCRIBE), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) -4, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) -4, NULL, ksize_fmt, 0UL); @@ -581,7 +632,7 @@ main(void) /* KEYCTL_CLEAR */ do_keyctl(ARG_STR(KEYCTL_CLEAR), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_CLEAR), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -597,14 +648,14 @@ main(void) /* KEYCTL_LINK */ do_keyctl(ARG_STR(KEYCTL_LINK), sizeof(int32_t), bogus_key1, NULL, "%d", - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_LINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(int32_t), bogus_key2, NULL, "%d", 0UL); do_keyctl(ARG_STR(KEYCTL_LINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL, 0UL); @@ -612,14 +663,14 @@ main(void) /* KEYCTL_UNLINK */ do_keyctl(ARG_STR(KEYCTL_UNLINK), sizeof(int32_t), bogus_key1, NULL, "%d", - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_UNLINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(int32_t), bogus_key2, NULL, "%d", 0UL); do_keyctl(ARG_STR(KEYCTL_UNLINK), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL, 0UL); @@ -628,7 +679,7 @@ main(void) buf_in_arg = true; do_keyctl(ARG_STR(KEYCTL_SEARCH), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(int32_t), 0, NULL, "%d"); @@ -636,7 +687,7 @@ main(void) sizeof(int32_t), bogus_key1, NULL, "%d", sizeof(char *), (char *) 0xfffffacefffffeedULL, NULL, ptr_fmt, sizeof(char *), (char *) 0xfffff00dfffff157ULL, NULL, ptr_fmt, - sizeof(int32_t), ARG_STR(KEY_SPEC_USER_SESSION_KEYRING), + sizeof(int32_t), XARG_STR(KEY_SPEC_USER_SESSION_KEYRING), NULL); do_keyctl(ARG_STR(KEYCTL_SEARCH), sizeof(int32_t), bogus_key2, NULL, "%d", @@ -657,7 +708,7 @@ main(void) /* KEYCTL_RESTRICT_KEYRING */ do_keyctl(ARG_STR(KEYCTL_RESTRICT_KEYRING), - sizeof(int32_t), ARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_REQUESTOR_KEYRING), NULL, sizeof(char *), ARG_STR(NULL), NULL, sizeof(char *), ARG_STR(NULL), NULL, NULL); @@ -705,17 +756,17 @@ main(void) (kernel_ulong_t) 0xfeedf157badc0dedLLU, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_READ), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 9, (uintptr_t) bogus_buf1, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 9, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_READ), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 256, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 256, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_READ), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) -4, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) -4, NULL, ksize_fmt, 0UL); @@ -751,11 +802,11 @@ main(void) ksize_fmt, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL); do_keyctl(ARG_STR(KEYCTL_INSTANTIATE), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, sizeof(long_type_str), long_desc, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) sizeof(long_type_str), NULL, ksize_fmt, - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); buf_in_arg = false; @@ -788,7 +839,7 @@ main(void) /* KEYCTL_SET_REQKEY_KEYRING */ do_keyctl(ARG_STR(KEYCTL_SET_REQKEY_KEYRING), - sizeof(int32_t), ARG_STR(KEY_REQKEY_DEFL_NO_CHANGE), NULL, + sizeof(int32_t), XARG_STR(KEY_REQKEY_DEFL_NO_CHANGE), NULL, 0UL); /* * Keep it commented out until proper way of faking syscalls is not @@ -796,11 +847,15 @@ main(void) */ /* do_keyctl(ARG_STR(KEYCTL_SET_REQKEY_KEYRING), sizeof(int32_t), - ARG_STR(KEY_REQKEY_DEFL_REQUESTOR_KEYRING), NULL, 0UL); */ + XARG_STR(KEY_REQKEY_DEFL_REQUESTOR_KEYRING), NULL, 0UL); */ do_keyctl(ARG_STR(KEYCTL_SET_REQKEY_KEYRING), sizeof(kernel_ulong_t), (kernel_ulong_t) 0xfeedf157badc0dedLLU, - "0xbadc0ded /* KEY_REQKEY_DEFL_??? */", NULL, 0UL); + "-1159983635" +#if !XLAT_RAW + " /* KEY_REQKEY_DEFL_??? */" +#endif + , NULL, 0UL); /* KEYCTL_SET_TIMEOUT */ @@ -822,7 +877,7 @@ main(void) /* KEYCTL_ASSUME_AUTHORITY */ do_keyctl(ARG_STR(KEYCTL_ASSUME_AUTHORITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_ASSUME_AUTHORITY), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -848,17 +903,17 @@ main(void) (kernel_ulong_t) 0xfeedf157badc0dedLLU, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_SECURITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 9, (uintptr_t) bogus_buf1, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 9, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_SECURITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) 256, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) 256, NULL, ksize_fmt, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_SECURITY), - sizeof(int32_t), ARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_THREAD_KEYRING), NULL, (size_t) -4, (uintptr_t) bogus_buf2, NULL, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) -4, NULL, ksize_fmt, 0UL); @@ -893,7 +948,7 @@ main(void) sizeof(kernel_ulong_t), (kernel_ulong_t) 0xfeedf157badc0dedLLU, "3134983661", NULL, - sizeof(uint32_t), ARG_STR(ENODEV), NULL, + sizeof(uint32_t), XARG_STR(ENODEV), NULL, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL); @@ -923,16 +978,16 @@ main(void) ksize_fmt, sizeof(kernel_ulong_t), bogus_key3, bogus_key3_str, NULL); do_keyctl(ARG_STR(KEYCTL_INSTANTIATE_IOV), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, sizeof(key_iov), key_iov, key_iov_str2, NULL, sizeof(kernel_ulong_t), (kernel_ulong_t) IOV_SIZE, NULL, ksize_fmt, - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL); /* KEYCTL_INVALIDATE */ do_keyctl(ARG_STR(KEYCTL_INVALIDATE), - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_INVALIDATE), sizeof(int32_t), bogus_key1, NULL, "%d", @@ -948,7 +1003,7 @@ main(void) /* KEYCTL_GET_PERSISTENT */ do_keyctl(ARG_STR(KEYCTL_GET_PERSISTENT), sizeof(uid_t), ARG_STR(-1), NULL, - sizeof(int32_t), ARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, + sizeof(int32_t), XARG_STR(KEY_SPEC_GROUP_KEYRING), NULL, 0UL); do_keyctl(ARG_STR(KEYCTL_GET_PERSISTENT), sizeof(uid_t), 2718281828U, NULL, "%u", diff --git a/tests/mknod.c b/tests/mknod.c index b3871499..4bcc2744 100644 --- a/tests/mknod.c +++ b/tests/mknod.c @@ -59,7 +59,7 @@ main(int ac, char **av) rc = call_mknod(mode, dev); printf("mknod(\"%s\", S_IFBLK|S_ISUID|S_ISGID|S_ISVTX|%#03ho" ", makedev(%u, %u)) = %ld %s (%m)\n", - sample, mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX), + sample, (short) (mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX)), major((unsigned) dev), minor((unsigned) dev), rc, errno2name()); diff --git a/tests/mknodat.c b/tests/mknodat.c index 756e2771..318dc5a6 100644 --- a/tests/mknodat.c +++ b/tests/mknodat.c @@ -59,7 +59,7 @@ main(void) rc = call_mknodat(mode, dev); printf("mknodat(-1, \"%s\", S_IFBLK|S_ISUID|S_ISGID|S_ISVTX|%#03ho" ", makedev(%u, %u)) = %ld %s (%m)\n", - sample, mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX), + sample, (short) (mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX)), major((unsigned) dev), minor((unsigned) dev), rc, errno2name()); diff --git a/tests/mmap-Xabbrev.c b/tests/mmap-Xabbrev.c new file mode 100644 index 00000000..b31ce427 --- /dev/null +++ b/tests/mmap-Xabbrev.c @@ -0,0 +1 @@ +#include "mmap.c" diff --git a/tests/mmap-Xabbrev.gen.test b/tests/mmap-Xabbrev.gen.test new file mode 100755 index 00000000..b11a84ff --- /dev/null +++ b/tests/mmap-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap-Xabbrev +mmap.test abbrev); do not edit. +set -- abbrev +. "${srcdir=.}/mmap.test" diff --git a/tests/mmap-Xraw.c b/tests/mmap-Xraw.c new file mode 100644 index 00000000..ef25c030 --- /dev/null +++ b/tests/mmap-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mmap.c" diff --git a/tests/mmap-Xraw.gen.test b/tests/mmap-Xraw.gen.test new file mode 100755 index 00000000..3caca91d --- /dev/null +++ b/tests/mmap-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap-Xraw +mmap.test raw 14); do not edit. +set -- raw 14 +. "${srcdir=.}/mmap.test" diff --git a/tests/mmap-Xverbose.c b/tests/mmap-Xverbose.c new file mode 100644 index 00000000..08e9e305 --- /dev/null +++ b/tests/mmap-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mmap.c" diff --git a/tests/mmap-Xverbose.gen.test b/tests/mmap-Xverbose.gen.test new file mode 100755 index 00000000..99b41c02 --- /dev/null +++ b/tests/mmap-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap-Xverbose +mmap.test verbose); do not edit. +set -- verbose +. "${srcdir=.}/mmap.test" diff --git a/tests/mmap.c b/tests/mmap.c index 0321bf52..e9f587ec 100644 --- a/tests/mmap.c +++ b/tests/mmap.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -58,25 +58,60 @@ main(int ac, char **av) (void) close(0); (void) close(0); +#if XLAT_RAW + printf("%s(NULL, 0, %#x, %#x, 0, 0) = -1 EBADF (%m)\n", + name, PROT_NONE, MAP_FILE); +#elif XLAT_VERBOSE + printf("%s(NULL, 0, %#x /* PROT_NONE */, %#x /* MAP_FILE */, 0, 0) " + "= -1 EBADF (%m)\n", + name, PROT_NONE, MAP_FILE); +#else printf("%s(NULL, 0, PROT_NONE, MAP_FILE, 0, 0) = -1 EBADF (%m)\n", name); +#endif mmap(NULL, 0, PROT_NONE, MAP_FILE, 0, 0); p = mmap(addr, length1, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, fd, offset); if (MAP_FAILED == p) perror_msg_and_fail("mmap"); +#if XLAT_RAW + printf("%s(%p, %lu, %#x, " + "%#x|%#x, %d, %#jx) = %p\n", + name, addr, length1, PROT_READ | PROT_WRITE, MAP_PRIVATE, + MAP_ANONYMOUS, fd, uoffset, p); +#elif XLAT_VERBOSE + printf("%s(%p, %lu, %#x /* PROT_READ|PROT_WRITE */, " + "%#x /* MAP_PRIVATE */|%#x /* MAP_ANONYMOUS */, %d, %#jx) " + "= %p\n", + name, addr, length1, PROT_READ | PROT_WRITE, MAP_PRIVATE, + MAP_ANONYMOUS, fd, uoffset, p); +#else printf("%s(%p, %lu, PROT_READ|PROT_WRITE, " "MAP_PRIVATE|MAP_ANONYMOUS, %d, %#jx) = %p\n", name, addr, length1, fd, uoffset, p); +#endif if (msync(p, length1, MS_SYNC)) perror_msg_and_fail("msync"); +#if XLAT_RAW + printf("msync(%p, %lu, %#x) = 0\n", p, length1, MS_SYNC); +#elif XLAT_VERBOSE + printf("msync(%p, %lu, %#x /* MS_SYNC */) = 0\n", p, length1, MS_SYNC); +#else printf("msync(%p, %lu, MS_SYNC) = 0\n", p, length1); +#endif if (mprotect(p, length1, PROT_NONE)) perror_msg_and_fail("mprotect"); +#if XLAT_RAW + printf("mprotect(%p, %lu, %#x) = 0\n", p, length1, PROT_NONE); +#elif XLAT_VERBOSE + printf("mprotect(%p, %lu, %#x /* PROT_NONE */) = 0\n", + p, length1, PROT_NONE); +#else printf("mprotect(%p, %lu, PROT_NONE) = 0\n", p, length1); +#endif addr = mremap(p, length1, length2, 0); if (MAP_FAILED == addr) @@ -87,8 +122,19 @@ main(int ac, char **av) addr + length2); if (MAP_FAILED == p) perror_msg_and_fail("mremap"); +#if XLAT_RAW + printf("mremap(%p, %lu, %lu, %#x, %p) = %p\n", + addr, length2, length3, MREMAP_MAYMOVE | MREMAP_FIXED, + addr + length2, p); +#elif XLAT_VERBOSE + printf("mremap(%p, %lu, %lu, %#x /* MREMAP_MAYMOVE|MREMAP_FIXED */" + ", %p) = %p\n", + addr, length2, length3, MREMAP_MAYMOVE | MREMAP_FIXED, + addr + length2, p); +#else printf("mremap(%p, %lu, %lu, MREMAP_MAYMOVE|MREMAP_FIXED" ", %p) = %p\n", addr, length2, length3, addr + length2, p); +#endif if (munmap(p, length3)) perror_msg_and_fail("munmap"); @@ -96,7 +142,13 @@ main(int ac, char **av) if (mlockall(MCL_FUTURE)) perror_msg_and_fail("mlockall"); +#if XLAT_RAW + printf("mlockall(%#x) = 0\n", MCL_FUTURE); +#elif XLAT_VERBOSE + printf("mlockall(%#x /* MCL_FUTURE */) = 0\n", MCL_FUTURE); +#else puts("mlockall(MCL_FUTURE) = 0"); +#endif puts("+++ exited with 0 +++"); return 0; diff --git a/tests/mmap.test b/tests/mmap.test index 7ba664ec..7fa2c704 100755 --- a/tests/mmap.test +++ b/tests/mmap.test @@ -4,7 +4,7 @@ # syscalls decoding. # # Copyright (c) 2015-2016 Dmitry V. Levin -# 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 @@ -35,15 +35,20 @@ check_prog grep check_prog sed run_prog > /dev/null +xlat_opt="" +[ "$#" -gt 0 ] && xlat_opt="-X$1" +align=20 +[ "$#" -gt 1 ] && align="$2" + syscall= for n in mmap mmap2; do $STRACE -e$n -h > /dev/null && syscall=$syscall,$n done run_strace -e$syscall $args > /dev/null -if grep '^mmap(NULL, 0, PROT_NONE,' < "$LOG" > /dev/null; then +if grep '^mmap(NULL, 0, \(0 /* PROT_NONE */\|0\|PROT_NONE\),' < "$LOG" > /dev/null; then mmap=mmap -elif grep '^mmap2(NULL, 0, PROT_NONE,' < "$LOG" > /dev/null; then +elif grep '^mmap2(NULL, 0, \(0 \/\* PROT_NONE \*\/\|0\|PROT_NONE\),' < "$LOG" > /dev/null; then mmap=mmap2 else dump_log_and_fail_with "mmap/mmap2 not found in $STRACE $args output" @@ -52,6 +57,6 @@ fi syscall=$mmap,madvise,mlockall,mprotect,mremap,msync,munmap run_prog "../$NAME" $mmap > /dev/null -run_strace -a20 -e$syscall $args > "$EXP" -sed -n "/^$mmap(NULL, 0, PROT_NONE,/,\$p" < "$LOG" > "$OUT" +run_strace -a$align -e$syscall $xlat_opt $args > "$EXP" +sed -n "/^$mmap(NULL, 0, \(0 \/\* PROT_NONE \*\/\|0\|PROT_NONE\),/,\$p" < "$LOG" > "$OUT" match_diff "$OUT" "$EXP" diff --git a/tests/mmap64-Xabbrev.c b/tests/mmap64-Xabbrev.c new file mode 100644 index 00000000..cbd77896 --- /dev/null +++ b/tests/mmap64-Xabbrev.c @@ -0,0 +1 @@ +#include "mmap64.c" diff --git a/tests/mmap64-Xabbrev.gen.test b/tests/mmap64-Xabbrev.gen.test new file mode 100755 index 00000000..3e2c94ba --- /dev/null +++ b/tests/mmap64-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64-Xabbrev +mmap.test abbrev); do not edit. +set -- abbrev +. "${srcdir=.}/mmap.test" diff --git a/tests/mmap64-Xraw.c b/tests/mmap64-Xraw.c new file mode 100644 index 00000000..f75f235f --- /dev/null +++ b/tests/mmap64-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mmap64.c" diff --git a/tests/mmap64-Xraw.gen.test b/tests/mmap64-Xraw.gen.test new file mode 100755 index 00000000..7aeed02f --- /dev/null +++ b/tests/mmap64-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64-Xraw +mmap.test raw 14); do not edit. +set -- raw 14 +. "${srcdir=.}/mmap.test" diff --git a/tests/mmap64-Xverbose.c b/tests/mmap64-Xverbose.c new file mode 100644 index 00000000..f72513e1 --- /dev/null +++ b/tests/mmap64-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mmap64.c" diff --git a/tests/mmap64-Xverbose.gen.test b/tests/mmap64-Xverbose.gen.test new file mode 100755 index 00000000..0d675d98 --- /dev/null +++ b/tests/mmap64-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64-Xverbose +mmap.test verbose); do not edit. +set -- verbose +. "${srcdir=.}/mmap.test" diff --git a/tests/mmsg_name.c b/tests/mmsg_name.c index 8c54a48b..c17b13d2 100644 --- a/tests/mmsg_name.c +++ b/tests/mmsg_name.c @@ -3,7 +3,7 @@ * of sendmmsg and recvmmsg syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -152,7 +152,7 @@ test_mmsg_name(const int send_fd, const int recv_fd) printf("sendmmsg(-1, [{msg_hdr="); print_msghdr(&send_mh[IOV_MAX].msg_hdr, 0); errno = saved_errno; - printf("}, %p], %u, MSG_DONTWAIT) = %d %s (%m)\n", + printf("}, ... /* %p */], %u, MSG_DONTWAIT) = %d %s (%m)\n", &send_mh[IOV_MAX1], 2, rc, errno2name()); rc = send_mmsg(send_fd, send_mh, IOV_MAX1, MSG_DONTWAIT); diff --git a/tests/modify_ldt.c b/tests/modify_ldt.c index 1e26bda4..2d527ac1 100644 --- a/tests/modify_ldt.c +++ b/tests/modify_ldt.c @@ -67,8 +67,8 @@ main(void) static const kernel_ulong_t bogus_bytecount = (kernel_ulong_t) 0xdeadfacefa57beefULL; - struct user_desc *us = tail_alloc(sizeof(*us)); - unsigned int *bogus_int = tail_alloc(sizeof(*bogus_int)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct user_desc, us); + TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, bogus_int); long rc; fill_memory(us, sizeof(*us)); diff --git a/tests/mount-Xabbrev.c b/tests/mount-Xabbrev.c new file mode 100644 index 00000000..0f6fecde --- /dev/null +++ b/tests/mount-Xabbrev.c @@ -0,0 +1 @@ +#include "mount.c" diff --git a/tests/mount-Xabbrev.gen.test b/tests/mount-Xabbrev.gen.test new file mode 100755 index 00000000..10e261ff --- /dev/null +++ b/tests/mount-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount-Xabbrev -a33 -e trace=mount -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a33 -e trace=mount -Xabbrev diff --git a/tests/mount-Xraw.c b/tests/mount-Xraw.c new file mode 100644 index 00000000..3aa1f084 --- /dev/null +++ b/tests/mount-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mount.c" diff --git a/tests/mount-Xraw.gen.test b/tests/mount-Xraw.gen.test new file mode 100755 index 00000000..ce852f88 --- /dev/null +++ b/tests/mount-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount-Xraw -a33 -e trace=mount -Xraw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a33 -e trace=mount -Xraw diff --git a/tests/mount-Xverbose.c b/tests/mount-Xverbose.c new file mode 100644 index 00000000..0b211c7a --- /dev/null +++ b/tests/mount-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mount.c" diff --git a/tests/mount-Xverbose.gen.test b/tests/mount-Xverbose.gen.test new file mode 100755 index 00000000..c780070e --- /dev/null +++ b/tests/mount-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount-Xverbose -a33 -e trace=mount -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a33 -e trace=mount -Xverbose diff --git a/tests/mount.c b/tests/mount.c index cbfe42f8..2e58571d 100644 --- a/tests/mount.c +++ b/tests/mount.c @@ -2,6 +2,7 @@ * Check decoding of mount syscall. * * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,7 +41,34 @@ # define MS_RELATIME (1ul << 21) #endif -#define str_ro_nosuid_nodev_noexec "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC" +#if XLAT_RAW +# define str_unknown "0x300" +# define str_submount_200 "0x4000200" +# define str_mgc_val "0xc0ed0000" +# define str_remount "0x20" +# define str_bind "0x1000" +# define str_ro_nosuid_nodev_noexec "0xf" +# define str_ro_nosuid_nodev_noexec_relatime "0x20000f" +#elif XLAT_VERBOSE +# define str_unknown "0x300 /* MS_??? */" +# define str_submount_200 "0x4000200 /* MS_SUBMOUNT|0x200 */" +# define str_mgc_val "0xc0ed0000 /* MS_MGC_VAL */" +# define str_remount "0x20 /* MS_REMOUNT */" +# define str_bind "0x1000 /* MS_BIND */" +# define str_ro_nosuid_nodev_noexec \ + "0xf /* MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC */" +# define str_ro_nosuid_nodev_noexec_relatime \ + "0x20000f /* MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_RELATIME */" +#else /* !XLAT_RAW && !XLAT_VERBOSE */ +# define str_unknown "0x300 /* MS_??? */" +# define str_submount_200 "MS_SUBMOUNT|0x200" +# define str_mgc_val "MS_MGC_VAL" +# define str_remount "MS_REMOUNT" +# define str_bind "MS_BIND" +# define str_ro_nosuid_nodev_noexec "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC" +# define str_ro_nosuid_nodev_noexec_relatime \ + "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_RELATIME" +#endif /* XLAT_RAW, XLAT_VERBOSE */ int main(void) @@ -49,35 +77,59 @@ main(void) static const char target[] = "mount_target"; static const char fstype[] = "mount_fstype"; static const char data[] = "mount_data"; + TAIL_ALLOC_OBJECT_CONST_PTR(char, bogus); - int rc = mount(source, target, fstype, 15, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", + bogus[0] = 'a'; + + int rc = mount(NULL, NULL, NULL, 0, NULL); + printf("mount(NULL, NULL, NULL, 0, NULL) = %s\n", + sprintrc(rc)); + + rc = mount(bogus, bogus, bogus, 768, bogus); + printf("mount(%p, %p, %p, %s, %p) = %s\n", + bogus, bogus, bogus, str_unknown, bogus, sprintrc(rc)); + + rc = mount(bogus + 1, bogus + 1, bogus + 1, 0x4000200, bogus + 1); + printf("mount(%p, %p, %p, %s, %p) = %s\n", + bogus + 1, bogus + 1, bogus + 1, str_submount_200, + bogus + 1, sprintrc(rc)); + + rc = mount(source, target, fstype, 15, data); + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", source, target, fstype, str_ro_nosuid_nodev_noexec, - data, rc, errno2name()); + data, sprintrc(rc)); rc = mount(source, target, fstype, MS_RELATIME | 15, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", source, target, fstype, - str_ro_nosuid_nodev_noexec "|MS_RELATIME", - data, rc, errno2name()); + str_ro_nosuid_nodev_noexec_relatime, + data, sprintrc(rc)); rc = mount(source, target, fstype, MS_MGC_VAL, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", - source, target, fstype, "MS_MGC_VAL", data, rc, errno2name()); + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", + source, target, fstype, str_mgc_val, data, sprintrc(rc)); rc = mount(source, target, fstype, MS_MGC_VAL | 15, data); - printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", + printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %s\n", source, target, fstype, - "MS_MGC_VAL|" str_ro_nosuid_nodev_noexec, - data, rc, errno2name()); + str_mgc_val "|" str_ro_nosuid_nodev_noexec, + data, sprintrc(rc)); + + rc = mount(source, target, NULL, MS_REMOUNT, data); + printf("mount(\"%s\", \"%s\", NULL, %s, \"%s\") = %s\n", + source, target, str_remount, data, sprintrc(rc)); rc = mount(source, target, fstype, MS_REMOUNT, data); - printf("mount(\"%s\", \"%s\", %p, %s, \"%s\") = %d %s (%m)\n", - source, target, fstype, "MS_REMOUNT", data, rc, errno2name()); + printf("mount(\"%s\", \"%s\", %p, %s, \"%s\") = %s\n", + source, target, fstype, str_remount, data, sprintrc(rc)); + + rc = mount(source, target, NULL, MS_BIND, data); + printf("mount(\"%s\", \"%s\", NULL, %s, %p) = %s\n", + source, target, str_bind, data, sprintrc(rc)); - rc = mount(source, target, fstype, MS_BIND, data); - printf("mount(\"%s\", \"%s\", %p, %s, %p) = %d %s (%m)\n", - source, target, fstype, "MS_BIND", data, rc, errno2name()); + rc = mount(source, target, fstype, MS_BIND, NULL); + printf("mount(\"%s\", \"%s\", %p, %s, NULL) = %s\n", + source, target, fstype, str_bind, sprintrc(rc)); puts("+++ exited with 0 +++"); return 0; diff --git a/tests/mount.gen.test b/tests/mount.gen.test index 69bc99be..2a3639c8 100755 --- a/tests/mount.gen.test +++ b/tests/mount.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount ); do not edit. +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount -a33 ); do not edit. . "${srcdir=.}/init.sh" -run_strace_match_diff +run_strace_match_diff -a33 diff --git a/tests/move_pages.c b/tests/move_pages.c index 5ec25aab..851a8c76 100644 --- a/tests/move_pages.c +++ b/tests/move_pages.c @@ -2,7 +2,7 @@ * Check decoding of move_pages syscall. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -63,7 +63,7 @@ print_page_array(const void **const pages, break; } } else { - printf("%p", pages + i); + printf("... /* %p */", pages + i); break; } const void *const addr = pages[i]; @@ -99,7 +99,7 @@ print_node_array(const int *const nodes, break; } } else { - printf("%p", nodes + i); + printf("... /* %p */", nodes + i); break; } printf("%d", nodes[i]); diff --git a/tests/msg_control.c b/tests/msg_control.c index 48b7347a..01786d7f 100644 --- a/tests/msg_control.c +++ b/tests/msg_control.c @@ -2,7 +2,7 @@ * Check decoding of struct msghdr ancillary data. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -132,7 +132,7 @@ test_scm_rights1(struct msghdr *const mh, print_fds(cmsg, src_len); printf("}"); if (aligned_cms_len < msg_controllen) - printf(", %p", (void *) cmsg + aligned_cms_len); + printf(", ... /* %p */", (void *) cmsg + aligned_cms_len); printf("]"); } @@ -195,7 +195,7 @@ test_scm_rights2(struct msghdr *const mh, print_fds(cmsg[1], src1_len); printf("}"); if (aligned_cms_len[1] < msg_controllen1) - printf(", %p", (void *) cmsg[1] + aligned_cms_len[1]); + printf(", ... /* %p */", (void *) cmsg[1] + aligned_cms_len[1]); printf("]"); errno = saved_errno; @@ -425,7 +425,7 @@ test_scm_security(struct msghdr *const mh, print_security(cmsg, src_len); printf("}"); if (aligned_cms_len < msg_controllen) - printf(", %p", (void *) cmsg + aligned_cms_len); + printf(", ... /* %p */", (void *) cmsg + aligned_cms_len); printf("]"); errno = saved_errno; diff --git a/tests/net-sockaddr.c b/tests/net-sockaddr.c index fe933d49..22cbb265 100644 --- a/tests/net-sockaddr.c +++ b/tests/net-sockaddr.c @@ -2,7 +2,7 @@ * Check decoding of sockaddr structures * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -436,25 +436,86 @@ check_l2(void) { const unsigned short h_psm = 12345; const unsigned short h_cid = 13579; - const struct sockaddr_l2 c_l2 = { + struct sockaddr_l2 c_l2 = { .l2_family = AF_BLUETOOTH, .l2_psm = htobs(h_psm), .l2_bdaddr.b = "abcdef", .l2_cid = htobs(h_cid), - .l2_bdaddr_type = 42 +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + .l2_bdaddr_type = 0xce, +#endif }; void *l2 = tail_memdup(&c_l2, sizeof(c_l2)); unsigned int len = sizeof(c_l2); + int ret = connect(-1, l2, len); printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(%hu)" + ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)" + ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" + ", l2_cid=htobs(L2CAP_CID_DYN_START + %hu)" +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + ", l2_bdaddr_type=0xce /* BDADDR_??? */" +#endif + "}, %u) = %d EBADF (%m)\n", + (short) (h_psm - 0x1001), + c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], + c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], + c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], + (short) (h_cid - 0x40), len, ret); + + c_l2.l2_psm = htobs(1); + c_l2.l2_cid = htobs(1); +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + c_l2.l2_bdaddr_type = BDADDR_LE_RANDOM; +#endif + memcpy(l2, &c_l2, sizeof(c_l2)); + ret = connect(-1, l2, len); + printf("connect(-1, {sa_family=AF_BLUETOOTH" + ", l2_psm=htobs(L2CAP_PSM_SDP)" + ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" + ", l2_cid=htobs(L2CAP_CID_SIGNALING)" +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + ", l2_bdaddr_type=BDADDR_LE_RANDOM" +#endif + "}, %u) = %d EBADF (%m)\n", + c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], + c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], + c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], + len, ret); + + c_l2.l2_psm = htobs(0xbad); + c_l2.l2_cid = htobs(8); +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + c_l2.l2_bdaddr_type = 3; +#endif + memcpy(l2, &c_l2, sizeof(c_l2)); + ret = connect(-1, l2, len); + printf("connect(-1, {sa_family=AF_BLUETOOTH" + ", l2_psm=htobs(0xbad /* L2CAP_PSM_??? */)" + ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" + ", l2_cid=htobs(0x8 /* L2CAP_CID_??? */)" +#ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE + ", l2_bdaddr_type=0x3 /* BDADDR_??? */" +#endif + "}, %u) = %d EBADF (%m)\n", + c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], + c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], + c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], + len, ret); + + c_l2.l2_psm = htobs(0x10ff); + c_l2.l2_cid = htobs(0xffff); + memcpy(l2, &c_l2, 12); + ret = connect(-1, l2, 12); + printf("connect(-1, {sa_family=AF_BLUETOOTH" + ", l2_psm=htobs(L2CAP_PSM_AUTO_END)" ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - ", l2_cid=htobs(%hu), l2_bdaddr_type=%u}" - ", %u) = %d EBADF (%m)\n", h_psm, + ", l2_cid=htobs(L2CAP_CID_DYN_END)" + "}, 12) = %d EBADF (%m)\n", c_l2.l2_bdaddr.b[0], c_l2.l2_bdaddr.b[1], c_l2.l2_bdaddr.b[2], c_l2.l2_bdaddr.b[3], c_l2.l2_bdaddr.b[4], c_l2.l2_bdaddr.b[5], - h_cid, c_l2.l2_bdaddr_type, len, ret); + ret); } #endif diff --git a/tests/netlink_crypto.c b/tests/netlink_crypto.c index d15c17cf..5c3dc046 100644 --- a/tests/netlink_crypto.c +++ b/tests/netlink_crypto.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -98,8 +98,6 @@ test_nlmsg_flags(const int fd) static void test_crypto_msg_newalg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - struct crypto_user_alg alg = { .cru_name = "abcd", .cru_driver_name = "efgh", @@ -109,6 +107,8 @@ test_crypto_msg_newalg(const int fd) .cru_refcnt = 0xbcacfacd, .cru_flags = 0xefacdbad }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(alg)); + TEST_NETLINK_OBJECT_EX(fd, nlh0, CRYPTO_MSG_NEWALG, NLM_F_REQUEST, alg, print_quoted_memory, @@ -149,7 +149,7 @@ test_crypto_msg_newalg(const int fd) static void test_crypto_msg_unspec(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, 4); TEST_NETLINK_(fd, nlh0, 0xffff, "0xffff /* CRYPTO_MSG_??? */", diff --git a/tests/netlink_kobject_uevent.c b/tests/netlink_kobject_uevent.c index 7edacd7d..b28af493 100644 --- a/tests/netlink_kobject_uevent.c +++ b/tests/netlink_kobject_uevent.c @@ -27,9 +27,12 @@ */ #include "tests.h" +#include #include #include +#include #include "netlink.h" +#include "netlink_kobject_uevent.h" static const char *errstr; @@ -41,6 +44,94 @@ sys_send(const int fd, const void *const buf, const size_t len) return rc; } +static void +test_nlmsg_type_udev(const int fd) +{ + static const char extra[] = "12345678"; + struct udev_monitor_netlink_header uh = { + .prefix = "libudev", + .magic = htonl(0xfeedcafe), + .header_size = sizeof(uh), + .properties_off = 40, + .properties_len = 299, + .filter_subsystem_hash = htonl(0xc370b302), + .filter_devtype_hash = htonl(0x10800000), + .filter_tag_bloom_hi = htonl(0x2000400), + .filter_tag_bloom_lo = htonl(0x10800000), + }; + const unsigned int extra_len = LENGTH_OF(extra); + const unsigned int uh_len = sizeof(uh); + + char *const buf = tail_alloc(uh_len + extra_len); + memcpy(buf + extra_len, &uh, uh_len); + + sys_send(fd, buf + extra_len, uh_len); + printf("sendto(%d, {{prefix=\"%s\", magic=htonl(%#x)" + ", header_size=%u, properties_off=%u, properties_len=%u" + ", filter_subsystem_hash=htonl(%#x)" + ", filter_devtype_hash=htonl(%#x)" + ", filter_tag_bloom_hi=htonl(%#x)" + ", filter_tag_bloom_lo=htonl(%#x)}}, %u, MSG_DONTWAIT, NULL, " + "0) = %s\n" + , fd, uh.prefix, + ntohl(uh.magic), uh.header_size, uh.properties_off, + uh.properties_len, ntohl(uh.filter_subsystem_hash), + ntohl(uh.filter_devtype_hash), ntohl(uh.filter_tag_bloom_hi), + ntohl(uh.filter_tag_bloom_lo), uh_len, errstr); + + memcpy(buf, &uh, uh_len); + memcpy(buf + uh_len, extra, extra_len); + sys_send(fd, buf, uh_len + extra_len); + printf("sendto(%d, {{prefix=\"%s\", magic=htonl(%#x)" + ", header_size=%u, properties_off=%u, properties_len=%u" + ", filter_subsystem_hash=htonl(%#x)" + ", filter_devtype_hash=htonl(%#x)" + ", filter_tag_bloom_hi=htonl(%#x)" + ", filter_tag_bloom_lo=htonl(%#x)}, " + , fd, uh.prefix, + ntohl(uh.magic), uh.header_size, uh.properties_off, + uh.properties_len, ntohl(uh.filter_subsystem_hash), + ntohl(uh.filter_devtype_hash), ntohl(uh.filter_tag_bloom_hi), + ntohl(uh.filter_tag_bloom_lo)); + print_quoted_memory(buf + uh_len, extra_len); + printf("}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", + uh_len + extra_len, errstr); + + memcpy(buf + extra_len + 1, &uh, uh_len - 1); + sys_send(fd, buf + extra_len + 1, uh_len); + printf("sendto(%d, ", fd); + print_quoted_memory(&uh, MIN(uh_len - 1, DEFAULT_STRLEN)); + printf("%s, %u, MSG_DONTWAIT, NULL, 0) = %s\n", + (uh_len - 1 > DEFAULT_STRLEN ? "..." : ""), + uh_len, errstr); +} + +static void +test_nlmsg_type_kernel(const int fd) +{ + struct udev_monitor_netlink_header uh = { + .prefix = "change@", + .magic = htonl(0xfeedcafe), + .header_size = sizeof(uh), + .properties_off = 10, + .properties_len = 299, + .filter_subsystem_hash = htonl(0xfffffff), + .filter_devtype_hash = htonl(0x10000000), + .filter_tag_bloom_hi = htonl(0x2000400), + }; + const unsigned int uh_len = sizeof(uh); + + TAIL_ALLOC_OBJECT_CONST_PTR(struct udev_monitor_netlink_header, p); + memcpy(p, &uh, uh_len); + + sys_send(fd, p, uh_len); + printf("sendto(%d, ", fd); + print_quoted_memory(&uh, MIN(uh_len, DEFAULT_STRLEN)); + printf("%s, %u, MSG_DONTWAIT, NULL, 0) = %s\n", + (uh_len > DEFAULT_STRLEN ? "..." : ""), + uh_len, errstr); +} + int main(void) { @@ -48,6 +139,8 @@ main(void) int fd = create_nl_socket(NETLINK_KOBJECT_UEVENT); + test_nlmsg_type_udev(fd); + test_nlmsg_type_kernel(fd); /* test using data that looks like a zero-length C string */ char *const buf = tail_alloc(DEFAULT_STRLEN + 1); buf[0] = '='; diff --git a/tests/netlink_netfilter.c b/tests/netlink_netfilter.c index 57532f52..2842e154 100644 --- a/tests/netlink_netfilter.c +++ b/tests/netlink_netfilter.c @@ -88,8 +88,8 @@ test_nlmsg_type(const int fd) static void test_nlmsg_done(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const int num = 0xabcdefad; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(num)); TEST_NETLINK(fd, nlh0, NLMSG_DONE, NLM_F_REQUEST, sizeof(num), &num, sizeof(num), @@ -99,13 +99,21 @@ test_nlmsg_done(const int fd) static void test_nfgenmsg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + static const struct nlattr nla = { + .nla_len = sizeof(nla), + .nla_type = 0x0bcd + }; struct nfgenmsg msg = { .nfgen_family = AF_UNIX, .version = NFNETLINK_V0, .res_id = NFNL_SUBSYS_NFTABLES }; + char str_buf[NLMSG_ALIGN(sizeof(msg)) + 4]; + char nla_buf[NLMSG_ALIGN(sizeof(msg)) + sizeof(nla)]; + + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, + MAX(sizeof(str_buf), sizeof(nla_buf))); TEST_NETLINK_OBJECT_EX_(fd, nlh0, NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE, @@ -150,8 +158,6 @@ test_nfgenmsg(const int fd) 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); @@ -165,12 +171,6 @@ test_nfgenmsg(const int fd) ", \"\\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)); diff --git a/tests/netlink_netlink_diag.c b/tests/netlink_netlink_diag.c index 855e404e..a682f7c6 100644 --- a/tests/netlink_netlink_diag.c +++ b/tests/netlink_netlink_diag.c @@ -3,7 +3,7 @@ * * Copyright (c) 2014-2016 Dmitry V. Levin * Copyright (c) 2016 Fabien Siron - * 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 @@ -55,8 +55,7 @@ send_query(const int fd) }, .ndr = { .sdiag_family = AF_NETLINK, - .sdiag_protocol = NDIAG_PROTO_ALL, - .ndiag_show = NDIAG_SHOW_MEMINFO + .sdiag_protocol = NDIAG_PROTO_ALL } }; struct iovec iov = { diff --git a/tests/netlink_protocol.c b/tests/netlink_protocol.c index be1a6528..47f0e921 100644 --- a/tests/netlink_protocol.c +++ b/tests/netlink_protocol.c @@ -3,6 +3,7 @@ * * Copyright (c) 2014-2017 Dmitry V. Levin * Copyright (c) 2016 Fabien Siron + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -125,7 +126,8 @@ send_query(const int fd) struct req req1; char padding[NLMSG_ALIGN(sizeof(struct req)) - sizeof(struct req)]; struct req req2; - } *const reqs = tail_alloc(sizeof(*reqs)); + }; + TAIL_ALLOC_OBJECT_CONST_PTR(struct reqs, reqs); memcpy(&reqs->req1, &c_req, sizeof(c_req)); memcpy(&reqs->req2, &c_req, sizeof(c_req)); @@ -144,7 +146,7 @@ send_query(const int fd) rc = sendto(fd, efault2, sizeof(*reqs), MSG_DONTWAIT, NULL, 0); printf("sendto(%d, [{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x" ", seq=0, pid=0}, \"\\x61\\x62\\x63\\x64\"}" - ", %p], %u, MSG_DONTWAIT, NULL, 0) = %s\n", + ", ... /* %p */], %u, MSG_DONTWAIT, NULL, 0) = %s\n", fd, reqs->req1.nlh.nlmsg_len, NLM_F_DUMP, &((struct reqs *) efault2)->req2, (unsigned) sizeof(*reqs), sprintrc(rc)); @@ -203,7 +205,7 @@ test_nlmsgerr(const int fd) { struct nlmsgerr *err; struct nlmsghdr *nlh; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(*err) + 4); long rc; /* error message without enough room for the error code */ @@ -318,9 +320,9 @@ static void test_nlmsg_done(const int fd) { struct nlmsghdr *nlh; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - long rc; const int num = 0xfacefeed; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(num)); + long rc; /* NLMSG_DONE message without enough room for an integer payload */ nlh = nlh0; diff --git a/tests/netlink_route.c b/tests/netlink_route.c index a1c7d1f8..a3fbac96 100644 --- a/tests/netlink_route.c +++ b/tests/netlink_route.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -143,8 +144,8 @@ test_nlmsg_flags(const int fd) static void test_nlmsg_done(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const int num = 0xabcdefad; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(num)); TEST_NETLINK(fd, nlh0, NLMSG_DONE, NLM_F_REQUEST, sizeof(num), &num, sizeof(num), @@ -154,10 +155,11 @@ test_nlmsg_done(const int fd) static void test_rtnl_unspec(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + uint8_t family = 0; + char buf[sizeof(family) + 4]; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(buf)); /* unspecified family only */ - uint8_t family = 0; TEST_NETLINK_(fd, nlh0, 0xffff, "0xffff /* RTM_??? */", NLM_F_REQUEST, "NLM_F_REQUEST", @@ -180,7 +182,6 @@ test_rtnl_unspec(const int fd) printf("%p", NLMSG_DATA(TEST_NETLINK_nlh))); /* unspecified family and string */ - char buf[sizeof(family) + 4]; family = 0; memcpy(buf, &family, sizeof(family)); memcpy(buf + sizeof(family), "1234", 4); @@ -204,7 +205,6 @@ test_rtnl_unspec(const int fd) static void test_rtnl_link(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ifinfomsg ifinfo = { .ifi_family = AF_UNIX, .ifi_type = ARPHRD_LOOPBACK, @@ -212,6 +212,7 @@ test_rtnl_link(const int fd) .ifi_flags = IFF_UP, .ifi_change = 0xfabcdeba }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(ifinfo)); TEST_NL_ROUTE(fd, nlh0, RTM_GETLINK, ifinfo, printf("{ifi_family=AF_UNIX"), @@ -225,7 +226,6 @@ test_rtnl_link(const int fd) static void test_rtnl_addr(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ifaddrmsg msg = { .ifa_family = AF_UNIX, .ifa_prefixlen = 0xde, @@ -233,6 +233,7 @@ test_rtnl_addr(const int fd) .ifa_scope = RT_SCOPE_UNIVERSE, .ifa_index = ifindex_lo() }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETADDR, msg, printf("{ifa_family=AF_UNIX"), @@ -246,7 +247,6 @@ test_rtnl_addr(const int fd) static void test_rtnl_route(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct rtmsg msg = { .rtm_family = AF_UNIX, .rtm_dst_len = 0xaf, @@ -258,6 +258,7 @@ test_rtnl_route(const int fd) .rtm_type = RTN_LOCAL, .rtm_flags = RTM_F_NOTIFY }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETROUTE, msg, printf("{rtm_family=AF_UNIX"), @@ -275,7 +276,6 @@ test_rtnl_route(const int fd) static void test_rtnl_rule(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct rtmsg msg = { .rtm_family = AF_UNIX, .rtm_dst_len = 0xaf, @@ -285,6 +285,7 @@ test_rtnl_rule(const int fd) .rtm_type = FR_ACT_TO_TBL, .rtm_flags = FIB_RULE_INVERT }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETRULE, msg, printf("{family=AF_UNIX"), @@ -301,7 +302,6 @@ test_rtnl_rule(const int fd) static void test_rtnl_neigh(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ndmsg msg = { .ndm_family = AF_UNIX, .ndm_ifindex = ifindex_lo(), @@ -309,6 +309,7 @@ test_rtnl_neigh(const int fd) .ndm_flags = NTF_PROXY, .ndm_type = RTN_UNSPEC }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETNEIGH, msg, printf("{ndm_family=AF_UNIX"), @@ -321,10 +322,10 @@ test_rtnl_neigh(const int fd) static void test_rtnl_neightbl(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct ndtmsg msg = { .ndtm_family = AF_NETLINK }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETNEIGHTBL, NLM_F_REQUEST, @@ -335,7 +336,6 @@ test_rtnl_neightbl(const int fd) static void test_rtnl_tc(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct tcmsg msg = { .tcm_family = AF_UNIX, .tcm_ifindex = ifindex_lo(), @@ -343,6 +343,7 @@ test_rtnl_tc(const int fd) .tcm_parent = 0xafbcadab, .tcm_info = 0xbcaedafa }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETQDISC, msg, printf("{tcm_family=AF_UNIX"), @@ -356,10 +357,10 @@ test_rtnl_tc(const int fd) static void test_rtnl_tca(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct tcamsg msg = { .tca_family = AF_INET }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETACTION, NLM_F_REQUEST, @@ -371,7 +372,6 @@ test_rtnl_tca(const int fd) static void test_rtnl_addrlabel(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct ifaddrlblmsg msg = { .ifal_family = AF_UNIX, .ifal_prefixlen = 0xaf, @@ -379,6 +379,7 @@ test_rtnl_addrlabel(const int fd) .ifal_index = ifindex_lo(), .ifal_seq = 0xfadcdafb }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETADDRLABEL, msg, printf("{ifal_family=AF_UNIX"), @@ -394,11 +395,11 @@ test_rtnl_addrlabel(const int fd) static void test_rtnl_dcb(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct dcbmsg msg = { .dcb_family = AF_UNIX, .cmd = DCB_CMD_UNDEFINED }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETDCB, msg, printf("{dcb_family=AF_UNIX"), @@ -410,10 +411,10 @@ test_rtnl_dcb(const int fd) static void test_rtnl_netconf(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct netconfmsg msg = { .ncm_family = AF_INET }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETNETCONF, NLM_F_REQUEST, @@ -426,11 +427,11 @@ test_rtnl_netconf(const int fd) static void test_rtnl_mdb(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); const struct br_port_msg msg = { .family = AF_UNIX, .ifindex = ifindex_lo() }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NL_ROUTE(fd, nlh0, RTM_GETMDB, msg, printf("{family=AF_UNIX"), @@ -442,10 +443,10 @@ test_rtnl_mdb(const int fd) static void test_rtnl_nsid(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct rtgenmsg msg = { .rtgen_family = AF_UNIX }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_NETLINK(fd, nlh0, RTM_GETNSID, NLM_F_REQUEST, diff --git a/tests/netlink_selinux.c b/tests/netlink_selinux.c index 2d768222..57cf8a55 100644 --- a/tests/netlink_selinux.c +++ b/tests/netlink_selinux.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -53,7 +54,7 @@ test_nlmsg_type(const int fd) static void test_selnl_msg_unspec(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, 4); TEST_NETLINK_(fd, nlh0, 0xffff, "0xffff /* SELNL_MSG_??? */", @@ -65,11 +66,11 @@ test_selnl_msg_unspec(const int fd) static void test_selnl_msg_setenforce(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - static const struct selnl_msg_setenforce msg = { .val = 0xfbdcdfab }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); + TEST_NETLINK_OBJECT(fd, nlh0, SELNL_MSG_SETENFORCE, NLM_F_REQUEST, msg, PRINT_FIELD_D("{", msg, val); @@ -79,11 +80,11 @@ test_selnl_msg_setenforce(const int fd) static void test_selnl_msg_policyload(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); - static const struct selnl_msg_policyload msg = { .seqno = 0xabdcfabc }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); + TEST_NETLINK_OBJECT(fd, nlh0, SELNL_MSG_POLICYLOAD, NLM_F_REQUEST, msg, PRINT_FIELD_U("{", msg, seqno); diff --git a/tests/netlink_sock_diag.c b/tests/netlink_sock_diag.c index c2ebf129..880069f3 100644 --- a/tests/netlink_sock_diag.c +++ b/tests/netlink_sock_diag.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2016 Fabien Siron * Copyright (c) 2017 JingPiao Chen - * 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 @@ -127,10 +127,11 @@ test_nlmsg_flags(const int fd) static void test_odd_family_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + uint8_t family = 0; + char buf[sizeof(family) + 4]; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(buf)); /* unspecified family only */ - uint8_t family = 0; TEST_NETLINK(fd, nlh0, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, @@ -153,7 +154,6 @@ test_odd_family_req(const int fd) printf("%p", NLMSG_DATA(TEST_NETLINK_nlh))); /* unspecified family and string */ - char buf[sizeof(family) + 4]; family = 0; memcpy(buf, &family, sizeof(family)); memcpy(buf + sizeof(family), "1234", 4); @@ -177,10 +177,11 @@ test_odd_family_req(const int fd) static void test_odd_family_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); + uint8_t family = 0; + char buf[sizeof(family) + 4]; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(buf)); /* unspecified family only */ - uint8_t family = 0; TEST_NETLINK(fd, nlh0, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, sizeof(family), &family, sizeof(family), @@ -200,7 +201,6 @@ test_odd_family_msg(const int fd) printf("%p", NLMSG_DATA(TEST_NETLINK_nlh))); /* unspecified family and string */ - char buf[sizeof(family) + 4]; family = 0; memcpy(buf, &family, sizeof(family)); memcpy(buf + sizeof(family), "1234", 4); @@ -222,7 +222,6 @@ test_odd_family_msg(const int fd) static void test_unix_diag_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct unix_diag_req req = { .sdiag_family = AF_UNIX, .sdiag_protocol = 253, @@ -231,6 +230,7 @@ test_unix_diag_req(const int fd) .udiag_show = UDIAG_SHOW_NAME, .udiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); TEST_SOCK_DIAG(fd, nlh0, AF_UNIX, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req, printf("{sdiag_family=AF_UNIX"), @@ -245,7 +245,6 @@ test_unix_diag_req(const int fd) static void test_unix_diag_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct unix_diag_msg msg = { .udiag_family = AF_UNIX, .udiag_type = SOCK_STREAM, @@ -253,6 +252,7 @@ test_unix_diag_msg(const int fd) .udiag_ino = 0xfacefeed, .udiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_SOCK_DIAG(fd, nlh0, AF_UNIX, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, msg, printf("{udiag_family=AF_UNIX"), @@ -266,7 +266,6 @@ test_unix_diag_msg(const int fd) static void test_netlink_diag_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct netlink_diag_req req = { .sdiag_family = AF_NETLINK, .sdiag_protocol = NDIAG_PROTO_ALL, @@ -274,6 +273,7 @@ test_netlink_diag_req(const int fd) .ndiag_show = NDIAG_SHOW_MEMINFO, .ndiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); TEST_SOCK_DIAG(fd, nlh0, AF_NETLINK, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req, printf("{sdiag_family=AF_NETLINK"), @@ -298,7 +298,6 @@ test_netlink_diag_req(const int fd) static void test_netlink_diag_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct netlink_diag_msg msg = { .ndiag_family = AF_NETLINK, .ndiag_type = SOCK_RAW, @@ -310,6 +309,7 @@ test_netlink_diag_msg(const int fd) .ndiag_ino = 0xdaeefacd, .ndiag_cookie = { 0xbadc0ded, 0xdeadbeef } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_SOCK_DIAG(fd, nlh0, AF_NETLINK, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, msg, printf("{ndiag_family=AF_NETLINK"), @@ -327,7 +327,6 @@ test_netlink_diag_msg(const int fd) static void test_packet_diag_req(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct packet_diag_req req = { .sdiag_family = AF_PACKET, .sdiag_protocol = ETH_P_LOOP, @@ -335,6 +334,7 @@ test_packet_diag_req(const int fd) .pdiag_show = PACKET_SHOW_INFO, .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); TEST_SOCK_DIAG(fd, nlh0, AF_PACKET, SOCK_DIAG_BY_FAMILY, NLM_F_REQUEST, req, printf("{sdiag_family=AF_PACKET"), @@ -348,7 +348,6 @@ test_packet_diag_req(const int fd) static void test_packet_diag_msg(const int fd) { - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); static const struct packet_diag_msg msg = { .pdiag_family = AF_PACKET, .pdiag_type = SOCK_STREAM, @@ -356,6 +355,7 @@ test_packet_diag_msg(const int fd) .pdiag_ino = 0xfacefeed, .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded } }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); TEST_SOCK_DIAG(fd, nlh0, AF_PACKET, SOCK_DIAG_BY_FAMILY, NLM_F_DUMP, msg, printf("{pdiag_family=AF_PACKET"), @@ -371,7 +371,6 @@ test_inet_diag_sockid(const int fd) { const char address[] = "12.34.56.78"; const char address6[] = "12:34:56:78:90:ab:cd:ef"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_req_v2 req = { .sdiag_family = AF_INET, .idiag_ext = 1 << (INET_DIAG_CONG - 1), @@ -384,6 +383,7 @@ test_inet_diag_sockid(const int fd) .idiag_cookie = { 0xdeadbeef, 0xbadc0ded } }, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -435,7 +435,6 @@ static void test_inet_diag_req(const int fd) { const char address[] = "12.34.56.78"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_req req = { .idiag_family = AF_INET, .idiag_src_len = 0xde, @@ -450,6 +449,7 @@ test_inet_diag_req(const int fd) .idiag_states = 1 << TCP_LAST_ACK, .idiag_dbs = 0xfacefeed, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -479,7 +479,6 @@ static void test_inet_diag_req_v2(const int fd) { const char address[] = "87.65.43.21"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_req_v2 req = { .sdiag_family = AF_INET, .idiag_ext = 1 << (INET_DIAG_CONG - 1), @@ -492,6 +491,7 @@ test_inet_diag_req_v2(const int fd) .idiag_cookie = { 0xdeadbeef, 0xbadc0ded } }, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -519,7 +519,6 @@ static void test_inet_diag_msg(const int fd) { const char address[] = "11.22.33.44"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct inet_diag_msg msg = { .idiag_family = AF_INET, .idiag_state = TCP_LISTEN, @@ -537,6 +536,7 @@ test_inet_diag_msg(const int fd) .idiag_uid = 0xdecefaeb, .idiag_inode = 0xbadc0ded, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); if (!inet_pton(AF_INET, address, &msg.id.idiag_src) || !inet_pton(AF_INET, address, &msg.id.idiag_dst)) @@ -570,7 +570,6 @@ static void test_smc_diag_req(const int fd) { const char address[] = "43.21.56.78"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct smc_diag_req req = { .diag_family = AF_SMC, .diag_ext = 1 << (SMC_DIAG_CONNINFO - 1), @@ -581,6 +580,7 @@ test_smc_diag_req(const int fd) .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }, }, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(req)); if (!inet_pton(AF_INET, address, &req.id.idiag_src) || !inet_pton(AF_INET, address, &req.id.idiag_dst)) @@ -606,7 +606,6 @@ static void test_smc_diag_msg(const int fd) { const char address[] = "34.87.12.90"; - void *const nlh0 = tail_alloc(NLMSG_HDRLEN); struct smc_diag_msg msg = { .diag_family = AF_SMC, .diag_state = SMC_ACTIVE, @@ -621,6 +620,7 @@ test_smc_diag_msg(const int fd) .diag_uid = 0xadcdfafc, .diag_inode = 0xbadc0ded, }; + void *const nlh0 = midtail_alloc(NLMSG_HDRLEN, sizeof(msg)); if (!inet_pton(AF_INET, address, &msg.id.idiag_src) || !inet_pton(AF_INET, address, &msg.id.idiag_dst)) diff --git a/tests/nlattr.c b/tests/nlattr.c index 41923c0a..8556f684 100644 --- a/tests/nlattr.c +++ b/tests/nlattr.c @@ -2,7 +2,7 @@ * Check decoding of netlink attribute. * * Copyright (c) 2017 JingPiao Chen - * 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 @@ -172,7 +172,7 @@ test_nlattr(const int fd) ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX" ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1" ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u" - ", nla_type=UNIX_DIAG_NAME}, %p]}, %u" + ", nla_type=UNIX_DIAG_NAME}, ... /* %p */]}, %u" ", MSG_DONTWAIT, NULL, 0) = %s\n", fd, msg_len, NLA_HDRLEN, nla + 1, msg_len, sprintrc(rc)); diff --git a/tests/nlattr_br_port_msg.c b/tests/nlattr_br_port_msg.c index a2a4792d..d339414f 100644 --- a/tests/nlattr_br_port_msg.c +++ b/tests/nlattr_br_port_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -69,7 +69,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct br_port_msg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_crypto_user_alg.c b/tests/nlattr_crypto_user_alg.c index 2482b33b..b8ceba66 100644 --- a/tests/nlattr_crypto_user_alg.c +++ b/tests/nlattr_crypto_user_alg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -72,7 +72,12 @@ main(void) const int fd = create_nl_socket(NETLINK_CRYPTO); const unsigned int hdrlen = sizeof(struct crypto_user_alg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + /* + * There are also other structures, but they are not bigger than + * DEFAULT_STRLEN so far. + */ + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + DEFAULT_STRLEN); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_dcbmsg.c b/tests/nlattr_dcbmsg.c index cd63bb60..b6eb772e 100644 --- a/tests/nlattr_dcbmsg.c +++ b/tests/nlattr_dcbmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -67,7 +67,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct dcbmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_fib_rule_hdr.c b/tests/nlattr_fib_rule_hdr.c index 394ab103..96ebadfb 100644 --- a/tests/nlattr_fib_rule_hdr.c +++ b/tests/nlattr_fib_rule_hdr.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -34,12 +34,24 @@ # include # include "test_nlattr.h" # include +# include # include # include #define FRA_TUN_ID 12 #define FRA_TABLE 15 #define FRA_UID_RANGE 20 +#define FRA_PROTOCOL 21 +#define FRA_IP_PROTO 22 +#define FRA_SPORT_RANGE 23 +#define FRA_DPORT_RANGE 24 + +# ifndef HAVE_STRUCT_FIB_RULE_PORT_RANGE +struct fib_rule_port_range { + uint16_t start; + uint16_t end; +}; +# endif /* HAVE_STRUCT_FIB_RULE_PORT_RANGE */ static void init_rtmsg(struct nlmsghdr *const nlh, const unsigned int msg_len) @@ -80,7 +92,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct rtmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 8); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); @@ -125,6 +137,62 @@ main(void) printf("htobe64(%" PRIu64 ")", be64toh(tun_id))); #endif + uint8_t proto; + + static const struct { + uint8_t arg; + const char *str; + } proto_args[] = { + { ARG_STR(RTPROT_UNSPEC) }, + { 5, "0x5 /* RTPROT_??? */" }, + { 17, "RTPROT_MROUTED" }, + { 42, "RTPROT_BABEL" }, + { 43, "0x2b /* RTPROT_??? */" }, + { ARG_STR(0xde) " /* RTPROT_??? */" }, + }; + + for (unsigned i = 0; i < ARRAY_SIZE(proto_args); i++) { + proto = proto_args[i].arg; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_PROTOCOL, pattern, proto, + printf("%s", proto_args[i].str)); + } + + static const struct { + uint8_t arg; + const char *str; + } ipproto_args[] = { + { ARG_STR(IPPROTO_TCP) }, + { 254, "0xfe /* IPPROTO_??? */" }, + { ARG_STR(IPPROTO_RAW) }, + }; + + for (unsigned i = 0; i < ARRAY_SIZE(ipproto_args); i++) { + proto = ipproto_args[i].arg; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_IP_PROTO, pattern, proto, + printf("%s", ipproto_args[i].str)); + } + + static const struct fib_rule_port_range prange = { + .start = 0xabcd, + .end = 0xfeed, + }; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_SPORT_RANGE, pattern, prange, + PRINT_FIELD_U("{", prange, start); + PRINT_FIELD_U(", ", prange, end); + printf("}")); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_rtmsg, print_rtmsg, + FRA_DPORT_RANGE, pattern, prange, + PRINT_FIELD_U("{", prange, start); + PRINT_FIELD_U(", ", prange, end); + printf("}")); + puts("+++ exited with 0 +++"); return 0; } diff --git a/tests/nlattr_ifaddrlblmsg.c b/tests/nlattr_ifaddrlblmsg.c index 60036340..53a928dd 100644 --- a/tests/nlattr_ifaddrlblmsg.c +++ b/tests/nlattr_ifaddrlblmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -69,7 +69,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ifaddrlblmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_ifaddrmsg.c b/tests/nlattr_ifaddrmsg.c index 93fbef1b..c71ebb1c 100644 --- a/tests/nlattr_ifaddrmsg.c +++ b/tests/nlattr_ifaddrmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -83,9 +83,23 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + static const char address4[] = "12.34.56.78"; + static const char address6[] = "12:34:56:78:90:ab:cd:ef"; + static const struct ifa_cacheinfo ci = { + .ifa_prefered = 0xabcdefac, + .ifa_valid = 0xbcdadbca, + .cstamp = 0xcdabedba, + .tstamp = 0xdebabdac + }; + + struct in_addr a4; + struct in6_addr a6; + const uint32_t ifa_flags = IFA_F_SECONDARY | IFA_F_PERMANENT; + const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ifaddrmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + MAX(sizeof(ci), sizeof(a6))); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); @@ -106,8 +120,6 @@ main(void) print_quoted_hex(pattern, 4)); SET_IFA_FAMILY(AF_INET); - static const char address4[] = "12.34.56.78"; - struct in_addr a4; if (!inet_pton(AF_INET, address4, &a4)) perror_msg_and_skip("inet_pton"); @@ -118,8 +130,6 @@ main(void) printf("%s", address4)); SET_IFA_FAMILY(AF_INET6); - static const char address6[] = "12:34:56:78:90:ab:cd:ef"; - struct in6_addr a6; if (!inet_pton(AF_INET6, address6, &a6)) perror_msg_and_skip("inet_pton"); @@ -129,12 +139,6 @@ main(void) IFA_ADDRESS, pattern, a6, printf("%s", address6)); - static const struct ifa_cacheinfo ci = { - .ifa_prefered = 0xabcdefac, - .ifa_valid = 0xbcdadbca, - .cstamp = 0xcdabedba, - .tstamp = 0xdebabdac - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifaddrmsg, print_ifaddrmsg, IFA_CACHEINFO, pattern, ci, @@ -144,7 +148,6 @@ main(void) PRINT_FIELD_U(", ", ci, tstamp); printf("}")); - const uint32_t ifa_flags = IFA_F_SECONDARY | IFA_F_PERMANENT; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifaddrmsg, print_ifaddrmsg, IFA_FLAGS, pattern, ifa_flags, diff --git a/tests/nlattr_ifinfomsg.c b/tests/nlattr_ifinfomsg.c index 1fff52ca..71b1babf 100644 --- a/tests/nlattr_ifinfomsg.c +++ b/tests/nlattr_ifinfomsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -46,6 +46,7 @@ # define IFLA_VF_PORTS 24 #endif #define IFLA_LINK_NETNSID 37 +#define IFLA_EVENT 44 #ifndef IFLA_INFO_KIND # define IFLA_INFO_KIND 1 @@ -89,28 +90,6 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - const int fd = create_nl_socket(NETLINK_ROUTE); - const unsigned int hdrlen = sizeof(struct ifinfomsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - - const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; - char nla_type_str[256]; - sprintf(nla_type_str, "%#x /* IFLA_??? */", nla_type); - TEST_NLATTR_(fd, nlh0, hdrlen, - init_ifinfomsg, print_ifinfomsg, - nla_type, nla_type_str, - 4, pattern, 4, - print_quoted_hex(pattern, 4)); - - const int32_t netnsid = 0xacbdabda; - TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, - init_ifinfomsg, print_ifinfomsg, - IFLA_LINK_NETNSID, pattern, netnsid, - printf("%d", netnsid)); - static const struct rtnl_link_stats st = { .rx_packets = 0xabcdefac, .tx_packets = 0xbcdacdab, @@ -136,6 +115,29 @@ main(void) .rx_compressed = 0xdeffadbd, .tx_compressed = 0xefdadfab }; + const int fd = create_nl_socket(NETLINK_ROUTE); + const unsigned int hdrlen = sizeof(struct ifinfomsg); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(st)); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; + char nla_type_str[256]; + sprintf(nla_type_str, "%#x /* IFLA_??? */", nla_type); + TEST_NLATTR_(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + nla_type, nla_type_str, + 4, pattern, 4, + print_quoted_hex(pattern, 4)); + + const int32_t netnsid = 0xacbdabda; + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_LINK_NETNSID, pattern, netnsid, + printf("%d", netnsid)); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_STATS, pattern, st, @@ -343,6 +345,22 @@ main(void) printf("{nla_len=%u, nla_type=IFLA_VF_PORT}", nla.nla_len)); + static const struct { + uint32_t val; + const char *str; + } ifla_events[] = { + { 0, "IFLA_EVENT_NONE" }, + { 6, "IFLA_EVENT_BONDING_OPTIONS" }, + { ARG_STR(0x7) " /* IFLA_EVENT_??? */" }, + { ARG_STR(0xdeadfeed) " /* IFLA_EVENT_??? */" }, + }; + for (size_t i = 0; i < ARRAY_SIZE(ifla_events); i++) { + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_EVENT, pattern, ifla_events[i].val, + printf("%s", ifla_events[i].str)); + } + puts("+++ exited with 0 +++"); return 0; } diff --git a/tests/nlattr_ifla.h b/tests/nlattr_ifla.h new file mode 100644 index 00000000..69892258 --- /dev/null +++ b/tests/nlattr_ifla.h @@ -0,0 +1,78 @@ +/* + * netlink attribute ifinfomsg common code. + * + * Copyright (c) 2017 JingPiao Chen + * Copyright (c) 2017-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_TESTS_NLATTR_IFLA_H +#define STRACE_TESTS_NLATTR_IFLA_H + +#include "tests.h" + +#ifndef IFLA_ATTR +# error "Please define IFLA_ATTR before including this file" +#endif + +static const unsigned int hdrlen = sizeof(struct ifinfomsg); + +static void +init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) +{ + SET_STRUCT(struct nlmsghdr, nlh, + .nlmsg_len = msg_len, + .nlmsg_type = RTM_GETLINK, + .nlmsg_flags = NLM_F_DUMP + ); + + struct ifinfomsg *const msg = NLMSG_DATA(nlh); + SET_STRUCT(struct ifinfomsg, msg, + .ifi_family = AF_UNIX, + .ifi_type = ARPHRD_LOOPBACK, + .ifi_index = ifindex_lo(), + .ifi_flags = IFF_UP, + ); + + struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); + SET_STRUCT(struct nlattr, nla, + .nla_len = msg_len - NLMSG_SPACE(hdrlen), + .nla_type = IFLA_ATTR + ); +} + +static void +print_ifinfomsg(const unsigned int msg_len) +{ + printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" + ", seq=0, pid=0}, {ifi_family=AF_UNIX" + ", ifi_type=ARPHRD_LOOPBACK" + ", ifi_index=" IFINDEX_LO_STR + ", ifi_flags=IFF_UP, ifi_change=0}" + ", {{nla_len=%u, nla_type=" STRINGIFY_VAL(IFLA_ATTR) "}", + msg_len, msg_len - NLMSG_SPACE(hdrlen)); +} + +#endif /* STRACE_TESTS_NLATTR_IFLA_H */ diff --git a/tests/nlattr_ifla_af_spec.c b/tests/nlattr_ifla_af_spec.c new file mode 100644 index 00000000..24f55af6 --- /dev/null +++ b/tests/nlattr_ifla_af_spec.c @@ -0,0 +1,322 @@ +/* + * IFLA_AF_SPEC netlink attribute decoding check. + * + * 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 +#include +#include +#include "test_nlattr.h" + +#include +#include +#ifdef HAVE_LINUX_IF_LINK_H +# include +#endif +#include + +#if !HAVE_DECL_IFLA_AF_SPEC +enum { IFLA_AF_SPEC = 26 }; +#endif + +#define XLAT_MACROS_ONLY +# include "xlat/rtnl_ifla_af_spec_inet_attrs.h" +# include "xlat/rtnl_ifla_af_spec_inet6_attrs.h" +#undef XLAT_MACROS_ONLY + +#ifndef HAVE_STRUCT_IFLA_CACHEINFO +struct ifla_cacheinfo { + uint32_t max_reasm_len; + uint32_t tstamp; + uint32_t reachable_time; + uint32_t retrans_time; +}; +#endif + +#define IFLA_ATTR IFLA_AF_SPEC +#include "nlattr_ifla.h" + +#define AF_SPEC_FUNCS(family_) \ + static void \ + init_##family_##_msg(struct nlmsghdr *const nlh, \ + const unsigned int msg_len) \ + { \ + init_ifinfomsg(nlh, msg_len); \ + \ + struct nlattr *nla = NLMSG_ATTR(nlh, hdrlen); \ + nla += 1; \ + SET_STRUCT(struct nlattr, nla, \ + .nla_len = msg_len - NLMSG_SPACE(hdrlen) \ + - NLA_HDRLEN, \ + .nla_type = family_, \ + ); \ + } \ + \ + static void \ + print_##family_##_msg(const unsigned int msg_len) \ + { \ + print_ifinfomsg(msg_len); \ + printf(", {{nla_len=%u, nla_type=" #family_ "}", \ + msg_len - NLMSG_SPACE(hdrlen) - NLA_HDRLEN); \ + } \ + /* end of AF_SPEC_FUNCS definition */ + +AF_SPEC_FUNCS(AF_INET) +AF_SPEC_FUNCS(AF_INET6) + +static void +print_arr_val(uint32_t *val, size_t idx, const char *idx_str) +{ + if (idx_str) + printf("[%s] = ", idx_str); + else + printf("[%zu] = ", idx); + + printf("%d", *val); +} + +static void +print_arr_uval(uint64_t *val, size_t idx, const char *idx_str) +{ + if (idx_str) + printf("[%s] = ", idx_str); + else + printf("[%zu] = ", idx); + + printf("%" PRIu64, *val); +} + +static void +print_inet_conf_val(uint32_t *val, size_t idx) +{ + static const char * const strs[] = { + "IPV4_DEVCONF_FORWARDING-1", + "IPV4_DEVCONF_MC_FORWARDING-1", + }; + + print_arr_val(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + + +static void +print_inet6_conf_val(uint32_t *val, size_t idx) +{ + static const char * const strs[] = { + "DEVCONF_FORWARDING", + "DEVCONF_HOPLIMIT", + }; + + print_arr_val(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + +static void +print_inet6_stats_val(uint64_t *val, size_t idx) +{ + static const char * const strs[] = { + "IPSTATS_MIB_NUM", + "IPSTATS_MIB_INPKTS", + }; + + print_arr_uval(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + +static void +print_icmp6_stats_val(uint64_t *val, size_t idx) +{ + static const char * const strs[] = { + "ICMP6_MIB_NUM", + "ICMP6_MIB_INMSGS", + "ICMP6_MIB_INERRORS", + "ICMP6_MIB_OUTMSGS", + "ICMP6_MIB_OUTERRORS", + "ICMP6_MIB_CSUMERRORS", + "6 /* ICMP6_MIB_??? */", + }; + + print_arr_uval(val, idx, idx < ARRAY_SIZE(strs) ? strs[idx] : NULL); +} + +int +main(void) +{ + static const uint8_t unknown_msg[] = { 0xab, 0xac, 0xdb, 0xcd }; + + skip_if_unavailable("/proc/self/fd/"); + + const int fd = create_nl_socket(NETLINK_ROUTE); + + const unsigned int hdrlen = sizeof(struct ifinfomsg); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), 3 * NLA_HDRLEN + 256); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + + /* unknown AF_* */ + TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + AF_UNIX, pattern, unknown_msg, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET_msg, print_AF_INET_msg, + 0, "IFLA_INET_UNSPEC", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET_msg, print_AF_INET_msg, + 2, "0x2 /* IFLA_INET_??? */", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET: IFLA_INET_CONF */ + uint32_t inet_conf_vals[] = { 0xdeadc0de, 0xda7aface }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET_msg, print_AF_INET_msg, + IFLA_INET_CONF, pattern, + inet_conf_vals, 2, print_inet_conf_val); + + /* AF_INET6 */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 0, "IFLA_INET6_UNSPEC", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 9, "0x9 /* IFLA_INET6_??? */", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET6: IFLA_INET6_FLAGS */ + static const struct { + uint32_t flags; + const char *str; + } inet6_flags[] = { + { 0xf, "0xf /* IF_??? */" }, + { 0x10, "IF_RS_SENT" }, + { 0xc0, "IF_RA_MANAGED|IF_RA_OTHERCONF" }, + { 0xdeadc0de, "IF_RS_SENT|IF_RA_MANAGED|IF_RA_OTHERCONF" + "|IF_READY|0x5eadc00e" }, + }; + + for (size_t i = 0; i < ARRAY_SIZE(inet6_flags); i++) { + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, + print_AF_INET6_msg, + 1, "IFLA_INET6_FLAGS", pattern, + inet6_flags[i].flags, + print_quoted_hex, 2, + printf("%s", inet6_flags[i].str)); + } + + /* AF_INET6: IFLA_INET6_CONF */ + uint32_t inet6_conf_vals[] = { 0xdeadc0de, 0xda7aface }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + IFLA_INET6_CONF, pattern, + inet6_conf_vals, 2, print_inet6_conf_val); + + /* AF_INET6: IFLA_INET6_STATS */ + uint64_t inet6_stats_vals[] = { 0xdeadc0deda7aface, 0xdec0deedbadc0ded }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + IFLA_INET6_STATS, pattern, + inet6_stats_vals, 2, print_inet6_stats_val); + + /* AF_INET6: IFLA_INET6_MCAST */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 4, "IFLA_INET6_MCAST", pattern, + unknown_msg, print_quoted_hex, 2, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + /* AF_INET6: IFLA_INET6_CACHEINFO */ + static const struct ifla_cacheinfo ci = { + 0xbadc0ded, 0xfacebeef, 0xdecafeed, 0xdeadfeed, + }; + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 5, "IFLA_INET6_CACHEINFO", pattern, + ci, print_quoted_hex, 2, + PRINT_FIELD_U("{", ci, max_reasm_len); + PRINT_FIELD_U(", ", ci, tstamp); + PRINT_FIELD_U(", ", ci, reachable_time); + PRINT_FIELD_U(", ", ci, retrans_time); + printf("}")); + + /* AF_INET6: IFLA_INET6_ICMP6STATS */ + uint64_t icmp6_stats_vals[] = { + 0xdeadc0deda7aface, 0xdec0deedbadc0ded, 0xfacebeefdeadfeed, + 0xdeadc0deda7afacd, 0xdec0deedbadc0dee, 0xfacebeefdeadfeef, + 0xdeadc0deda7afacc + }; + TEST_NESTED_NLATTR_ARRAY_EX(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + IFLA_INET6_ICMP6STATS, pattern, + icmp6_stats_vals, 2, print_icmp6_stats_val); + + /* AF_INET6: IFLA_INET6_TOKEN */ + uint8_t inet6_addr[16] = { + 0xba, 0xdc, 0x0d, 0xed, 0xfa, 0xce, 0xbe, 0xef, + 0xde, 0xca, 0xfe, 0xed, 0xde, 0xad, 0xfe, 0xed, + }; + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, print_AF_INET6_msg, + 7, "IFLA_INET6_TOKEN", pattern, + inet6_addr, print_quoted_hex, 2, + printf("badc:ded:face:beef:deca:feed" + ":dead:feed")); + + /* AF_INET6: IFLA_INET6_ */ + static const struct { + uint8_t flags; + const char *str; + } agms[] = { + { 0x0, "IN6_ADDR_GEN_MODE_EUI64" }, + { 0x3, "IN6_ADDR_GEN_MODE_RANDOM" }, + { 0x4, "0x4 /* IN6_ADDR_GEN_MODE_??? */" }, + { 0xff, "0xff /* IN6_ADDR_GEN_MODE_??? */" }, + }; + + for (size_t i = 0; i < ARRAY_SIZE(agms); i++) { + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_AF_INET6_msg, + print_AF_INET6_msg, + 8, "IFLA_INET6_ADDR_GEN_MODE", + pattern, agms[i].flags, + print_quoted_hex, 2, + printf("%s", agms[i].str)); + } + + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests/nlattr_ifla_af_spec.gen.test b/tests/nlattr_ifla_af_spec.gen.test new file mode 100755 index 00000000..601eeb22 --- /dev/null +++ b/tests/nlattr_ifla_af_spec.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_ifla_af_spec +netlink_sock_diag.test ); do not edit. +set -- +. "${srcdir=.}/netlink_sock_diag.test" diff --git a/tests/nlattr_ifla_brport.c b/tests/nlattr_ifla_brport.c index ae7c9da9..19684265 100644 --- a/tests/nlattr_ifla_brport.c +++ b/tests/nlattr_ifla_brport.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -38,65 +38,35 @@ #endif #include +#if !HAVE_DECL_IFLA_PROTINFO +enum { IFLA_PROTINFO = 12 }; +#endif + #define IFLA_BRPORT_PRIORITY 2 #define IFLA_BRPORT_MESSAGE_AGE_TIMER 21 -const unsigned int hdrlen = sizeof(struct ifinfomsg); - -static void -init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) -{ - SET_STRUCT(struct nlmsghdr, nlh, - .nlmsg_len = msg_len, - .nlmsg_type = RTM_GETLINK, - .nlmsg_flags = NLM_F_DUMP - ); - - struct ifinfomsg *const msg = NLMSG_DATA(nlh); - SET_STRUCT(struct ifinfomsg, msg, - .ifi_family = AF_UNIX, - .ifi_type = ARPHRD_LOOPBACK, - .ifi_index = ifindex_lo(), - .ifi_flags = IFF_UP, - ); - - struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); - SET_STRUCT(struct nlattr, nla, - .nla_len = msg_len - NLMSG_SPACE(hdrlen), - .nla_type = IFLA_PROTINFO - ); -} - -static void -print_ifinfomsg(const unsigned int msg_len) -{ - printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" - ", seq=0, pid=0}, {ifi_family=AF_UNIX" - ", ifi_type=ARPHRD_LOOPBACK" - ", ifi_index=" IFINDEX_LO_STR - ", ifi_flags=IFF_UP, ifi_change=0}" - ", {{nla_len=%u, nla_type=IFLA_PROTINFO}", - msg_len, msg_len - NLMSG_SPACE(hdrlen)); -} +#define IFLA_ATTR IFLA_PROTINFO +#include "nlattr_ifla.h" int main(void) { skip_if_unavailable("/proc/self/fd/"); + const uint16_t u16 = 0xabcd; + const uint64_t u64 = 0xabcdedeeefeafeab; const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN * 2 + sizeof(u64)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const uint16_t u16 = 0xabcd; TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_BRPORT_PRIORITY, pattern, u16, printf("%u", u16)); - const uint64_t u64 = 0xabcdedeeefeafeab; TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_BRPORT_MESSAGE_AGE_TIMER, pattern, u64, diff --git a/tests/nlattr_ifla_linkinfo.c b/tests/nlattr_ifla_linkinfo.c new file mode 100644 index 00000000..1bf1befa --- /dev/null +++ b/tests/nlattr_ifla_linkinfo.c @@ -0,0 +1,711 @@ +/* + * IFLA_LINKINFO netlink attribute decoding check. + * + * 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 +#include +#include +#include + +#include "test_nlattr.h" + +#include +#include +#ifdef HAVE_LINUX_IF_LINK_H +# include +#endif +#include + +#define XLAT_MACROS_ONLY +# include +# include +#undef XLAT_MACROS_ONLY + +#define IFLA_ATTR IFLA_LINKINFO +#include "nlattr_ifla.h" + +#define COMMA , +#define TEST_UNKNOWN_TUNNELS(fd_, nlh0_, objtype_, objtype_str_, \ + obj_, objsz_, arrstrs_, ...) \ + do { \ + /* 64 is guestimate for maximum unknown type len */ \ + char buf[8 * 2 + 64 + objsz_]; \ + const char **arrstrs[] = arrstrs_; \ + const char ***arrstrs_pos = arrstrs; \ + const char **arrstr = *arrstrs_pos; \ + const char *type = NULL; \ + \ + for (type = arrstr ? arrstr[0] : NULL; type && arrstr; \ + type = (++arrstr)[0] ? arrstr[0] \ + : (++arrstrs_pos)[0] \ + ? (arrstr = arrstrs_pos[0])[0] \ + : NULL) \ + { \ + size_t type_len = strlen(type) + 1; \ + \ + if (type_len > 64) \ + error_msg_and_fail("Unexpectedly long " \ + "unknown type: \"%s\" " \ + "(length is %zu)", \ + type, type_len); \ + \ + struct nlattr obj_nla = { \ + .nla_len = NLA_HDRLEN + (objsz_), \ + .nla_type = (objtype_), \ + }; \ + \ + char *pos = buf; \ + memcpy(pos, type, type_len); \ + pos += NLA_ALIGN(type_len); \ + memcpy(pos, &obj_nla, sizeof(obj_nla)); \ + pos += sizeof(obj_nla); \ + memcpy(pos, (obj_), (objsz_)); \ + \ + TEST_NLATTR_EX_((fd_), \ + (nlh0_) - hdrlen - (pos - buf), \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + type_len, objsz_ + (pos - buf), \ + buf, objsz_ + (pos - buf), \ + printf("\"%s\"}", type); \ + printf(", {{nla_len=%zu" \ + ", nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (objtype_str_)); \ + \ + { __VA_ARGS__; } \ + \ + printf("}")); \ + } \ + } while (0) + +#define TEST_LINKINFO_(fd_, nlh0_, nla_type_, nla_type_str_, tuntype_, \ + obj_, objsz_, pattern_, fallback_func_, ...) \ + do { \ + size_t tuntype_len = strlen(tuntype_) + 1; \ + char *buf = tail_alloc(NLA_ALIGN(tuntype_len) \ + + NLA_HDRLEN + (objsz_)); \ + char *pos = buf; \ + \ + struct nlattr obj_nla = { \ + .nla_len = NLA_HDRLEN + (objsz_), \ + .nla_type = (nla_type_), \ + }; \ + \ + memcpy(pos, (tuntype_), tuntype_len); \ + pos += NLA_ALIGN(tuntype_len); \ + memcpy(pos, &obj_nla, sizeof(obj_nla)); \ + pos += sizeof(obj_nla); \ + memcpy(pos, &(obj_), (objsz_)); \ + \ + if (fallback_func_ == print_quoted_hex) { \ + TEST_NLATTR_EX_((fd_), \ + (nlh0_) - NLA_HDRLEN, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, \ + objsz_ + (pos - buf) - 1, \ + buf, objsz_ + (pos - buf) - 1, \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu" \ + ", nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (nla_type_str_)); \ + (fallback_func_)((obj_), \ + (objsz_) - 1); \ + printf("}")); \ + } \ + \ + TEST_NLATTR_EX_((fd_), (nlh0_) - NLA_HDRLEN, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, objsz_ + (pos - buf), \ + buf, objsz_ + (pos - buf) - 1, \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu, nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (nla_type_str_)); \ + printf("%p}", \ + RTA_DATA(NLMSG_ATTR(nlh, \ + (hdrlen + NLA_HDRLEN + (pos - buf)))) \ + ) \ + ); \ + \ + TEST_NLATTR_EX_((fd_), (nlh0_) - NLA_HDRLEN, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, objsz_ + (pos - buf), \ + buf, objsz_ + (pos - buf), \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu, nla_type=%s}, ", \ + (objsz_) + NLA_HDRLEN, \ + (nla_type_str_)); \ + \ + { __VA_ARGS__; } \ + \ + printf("}")); \ + } while (0) + +#define TEST_LINKINFO(fd_, nlh0_, nla_type_, tuntype_, \ + obj_, pattern_, fallback_func_, ...) \ + TEST_LINKINFO_((fd_), (nlh0_), nla_type_, #nla_type_, (tuntype_), \ + (obj_), sizeof(obj_), pattern_, fallback_func_, \ + __VA_ARGS__) + +#define TEST_NESTED_LINKINFO(fd_, nlh0_, \ + nla_type_, nla_type_str_, tuntype_, \ + subnla_type_, subnla_type_str_, \ + obj_, pattern_, ...) \ + do { \ + size_t tuntype_len = strlen(tuntype_) + 1; \ + struct { \ + size_t sz; \ + const char *str; \ + } attrs[] = { __VA_ARGS__ }; \ + size_t tunhdrlen; \ + size_t buflen = NLA_ALIGN(tuntype_len) + NLA_HDRLEN; \ + size_t attrsz = 0; \ + \ + for (size_t i = 0; i < ARRAY_SIZE(attrs); i++) \ + attrsz += NLA_HDRLEN + NLA_ALIGN(attrs[i].sz); \ + \ + buflen += attrsz; \ + \ + char *buf = tail_alloc(buflen); \ + char *pos = buf; \ + \ + struct nlattr nla = { \ + .nla_len = NLA_HDRLEN + attrsz, \ + .nla_type = (nla_type_), \ + }; \ + \ + memcpy(pos, (tuntype_), tuntype_len); \ + pos += NLA_ALIGN(tuntype_len); \ + memcpy(pos, &nla, sizeof(nla)); \ + pos += sizeof(nla); \ + \ + tunhdrlen = pos - buf; \ + \ + nla.nla_type = subnla_type_; \ + \ + for (size_t i = 0; i < ARRAY_SIZE(attrs); i++) { \ + nla.nla_len = NLA_HDRLEN + attrs[i].sz; \ + memcpy(pos, &nla, sizeof(nla)); \ + pos += sizeof(nla); \ + \ + memcpy(pos, &(obj_), MIN(sizeof(obj_), attrs[i].sz)); \ + \ + if (attrs[i].sz > sizeof(obj_)) \ + memcpy(pos + sizeof(obj_), \ + &(pattern_), \ + attrs[i].sz - sizeof(obj_)); \ + \ + pos += NLA_ALIGN(attrs[i].sz); \ + } \ + \ + TEST_NLATTR_EX_((fd_), (nlh0_) - hdrlen - tunhdrlen, \ + hdrlen + NLA_HDRLEN, \ + init_ifinfomsg, print_ifinfomsg, \ + IFLA_INFO_KIND, "IFLA_INFO_KIND", \ + tuntype_len, buflen, \ + buf, buflen, \ + printf("\"%s\"}", (tuntype_)); \ + printf(", {{nla_len=%zu, nla_type=%s}, [", \ + attrsz + NLA_HDRLEN, \ + (nla_type_str_)); \ + \ + for (size_t i = 0; i < ARRAY_SIZE(attrs); i++) \ + printf("%s%s{nla_len=%zu" \ + ", nla_type=%s}%s%s%s", \ + i ? ", " : "", \ + attrs[i].str ? "{": "", \ + attrs[i].sz + NLA_HDRLEN, \ + subnla_type_str_, \ + attrs[i].str ? ", ": "", \ + attrs[i].str ?: "", \ + attrs[i].str ? "}" : ""); \ + \ + printf("]}")); \ + } while (0) + +int +main(void) +{ + static const uint8_t unknown_msg[] = { 0xab, 0xac, 0xdb, 0xcd }; + static const char *unsupported_tunnel_types[] = { + "batadv", "bond", + "caif", "cfhsi", + "dummy", + "erspan", + "geneve", "gre", "gretap", "gtp", + "hsr", + "ifb", "ip6erspan", "ip6gre", "ip6gretap", "ip6tnl", + "ipip", "ipoib", "ipvlan", "ipvtap", + "lowpan", + "macsec", "macvlan", "macvtap", + "netdevsim", "nlmon", + "openvswitch", + "ppp", + "rmnet", + "sit", + "team", + "vcan", "veth", "vlan", "vrf", "vsockmon", + "vti", "vti6", "vxcan", "vxlan", + NULL + }; + static const char *unsupported_xstats_types[] = { + "bridge", + "tun", + NULL + }; + static const char *unsupported_data_types[] = { + "can", + NULL + }; + + skip_if_unavailable("/proc/self/fd/"); + + const int fd = create_nl_socket(NETLINK_ROUTE); + + const unsigned int hdrlen = sizeof(struct ifinfomsg); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), 2 * NLA_HDRLEN + 256); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + + /* unknown AF_INFO_* type */ + TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_INFO_UNSPEC, pattern, unknown_msg, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + 6, "0x6 /* IFLA_INFO_??? */", pattern, + unknown_msg, print_quoted_hex, 1, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + /* IFLA_INFO_KIND */ + TEST_NESTED_NLATTR_OBJECT_EX_(fd, nlh0, hdrlen, + init_ifinfomsg, print_ifinfomsg, + IFLA_INFO_KIND, "IFLA_INFO_KIND", pattern, + unknown_msg, print_quoted_stringn, 1, + printf("\"\\253\\254\\333\\315\"...")); + + + /* IFLA_INFO_KIND + IFLA_INFO_UNSPEC */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_UNSPEC, "IFLA_INFO_UNSPEC", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + /* IFLA_INFO_KIND + IFLA_INFO_KIND */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_KIND, "IFLA_INFO_KIND", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\253\\254\\333\\315\"...")); + + + /* IFLA_INFO_KIND + IFLA_INFO_DATA */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_DATA, "IFLA_INFO_DATA", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + struct val_name { + unsigned int val; + const char *name; + }; + + static const uint64_t u64_val = 0xdeadc0defacefeedULL; + static const uint32_t u32_val = 0xbadc0dedU; + static const uint16_t u16_val = 0xdeed; + static const uint8_t u8_val = 0xa1; + + /* bridge attrs */ + static const struct val_name und_br_attrs[] = { + { 0, "IFLA_BR_UNSPEC" }, + { 20, "IFLA_BR_GROUP_ADDR" }, + { 21, "IFLA_BR_FDB_FLUSH" }, + { 40, "IFLA_BR_PAD" }, + { 45, "0x2d /* IFLA_BR_??? */" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(und_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + und_br_attrs[k].val, und_br_attrs[k].name, + unknown_msg, pattern, + { 2, "\"\\xab\\xac\"" }, + { 4, "\"\\xab\\xac\\xdb\\xcd\"" }, + { 6, + "\"\\xab\\xac\\xdb\\xcd\\x61\\x62\"" }, + { 8, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\"" }, + { 10, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\\x65\\x66\"" }); + } + + static const struct val_name u64_br_attrs[] = { + { 16, "IFLA_BR_HELLO_TIMER" }, + { 17, "IFLA_BR_TCN_TIMER" }, + { 18, "IFLA_BR_TOPOLOGY_CHANGE_TIMER" }, + { 19, "IFLA_BR_GC_TIMER" }, + { 30, "IFLA_BR_MCAST_LAST_MEMBER_INTVL" }, + { 31, "IFLA_BR_MCAST_MEMBERSHIP_INTVL" }, + { 32, "IFLA_BR_MCAST_QUERIER_INTVL" }, + { 33, "IFLA_BR_MCAST_QUERY_INTVL" }, + { 34, "IFLA_BR_MCAST_QUERY_RESPONSE_INTVL" }, + { 35, "IFLA_BR_MCAST_STARTUP_QUERY_INTVL" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u64_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u64_br_attrs[k].val, u64_br_attrs[k].name, + u64_val, pattern, + { 7, "\"" +#if WORDS_BIGENDIAN + "\\xde\\xad\\xc0\\xde\\xfa\\xce\\xfe" +#else + "\\xed\\xfe\\xce\\xfa\\xde\\xc0\\xad" +#endif + "\"" }, + { 8, "16045693111314087661" }, + { 9, "16045693111314087661" }); + } + + static const struct val_name u32_br_attrs[] = { + { 1, "IFLA_BR_FORWARD_DELAY" }, + { 2, "IFLA_BR_HELLO_TIME" }, + { 3, "IFLA_BR_MAX_AGE" }, + { 4, "IFLA_BR_AGEING_TIME" }, + { 5, "IFLA_BR_STP_STATE" }, + { 13, "IFLA_BR_ROOT_PATH_COST" }, + { 26, "IFLA_BR_MCAST_HASH_ELASTICITY" }, + { 27, "IFLA_BR_MCAST_HASH_MAX" }, + { 28, "IFLA_BR_MCAST_LAST_MEMBER_CNT" }, + { 29, "IFLA_BR_MCAST_STARTUP_QUERY_CNT" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u32_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u32_br_attrs[k].val, u32_br_attrs[k].name, + u32_val, pattern, + { 3, "\"" +#if WORDS_BIGENDIAN + "\\xba\\xdc\\x0d" +#else + "\\xed\\x0d\\xdc" +#endif + "\"" }, + { 4, "3134983661" }, + { 5, "3134983661" }); + } + + static const struct val_name u16_br_attrs[] = { + { 6, "IFLA_BR_PRIORITY" }, + { 12, "IFLA_BR_ROOT_PORT" }, + { 39, "IFLA_BR_VLAN_DEFAULT_PVID" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u16_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u16_br_attrs[k].val, u16_br_attrs[k].name, + u16_val, pattern, + { 1, "\"" +#if WORDS_BIGENDIAN + "\\xde" +#else + "\\xed" +#endif + "\"" }, + { 2, "57069" }, + { 3, "57069" }); + } + + + static const struct val_name x16_br_attrs[] = { + { 9, "IFLA_BR_GROUP_FWD_MASK" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(x16_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + x16_br_attrs[k].val, x16_br_attrs[k].name, + u16_val, pattern, + { 1, "\"" +#if WORDS_BIGENDIAN + "\\xde" +#else + "\\xed" +#endif + "\"" }, + { 2, "0xdeed" }, + { 3, "0xdeed" }); + } + + static const struct val_name u8_br_attrs[] = { + { 7, "IFLA_BR_VLAN_FILTERING" }, + { 14, "IFLA_BR_TOPOLOGY_CHANGE" }, + { 15, "IFLA_BR_TOPOLOGY_CHANGE_DETECTED" }, + { 22, "IFLA_BR_MCAST_ROUTER" }, + { 23, "IFLA_BR_MCAST_SNOOPING" }, + { 24, "IFLA_BR_MCAST_QUERY_USE_IFADDR" }, + { 25, "IFLA_BR_MCAST_QUERIER" }, + { 36, "IFLA_BR_NF_CALL_IPTABLES" }, + { 37, "IFLA_BR_NF_CALL_IP6TABLES" }, + { 38, "IFLA_BR_NF_CALL_ARPTABLES" }, + { 41, "IFLA_BR_VLAN_STATS_ENABLED" }, + { 42, "IFLA_BR_MCAST_STATS_ENABLED" }, + { 43, "IFLA_BR_MCAST_IGMP_VERSION" }, + { 44, "IFLA_BR_MCAST_MLD_VERSION" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u8_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + u8_br_attrs[k].val, u8_br_attrs[k].name, + u8_val, pattern, + { 0, NULL }, + { 1, "161" }, + { 2, "161" }); + } + + unsigned short eth_p = htons(0x88C7); + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + 8, "IFLA_BR_VLAN_PROTOCOL", + eth_p, pattern, + { 1, "\"\\x88\"" }, + { 2, "htons(ETH_P_PREAUTH)" }, + { 2, "htons(ETH_P_PREAUTH)" }); + + static const uint8_t bridge_id[] + = { 0xbe, 0xef, 0xfa, 0xce, 0xde, 0xc0, 0xde, 0xad }; + static const struct val_name br_id_attrs[] = { + { 10, "IFLA_BR_ROOT_ID" }, + { 11, "IFLA_BR_BRIDGE_ID" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(br_id_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + br_id_attrs[k].val, br_id_attrs[k].name, + bridge_id, pattern, + { 7, "\"\\xbe\\xef\\xfa\\xce" + "\\xde\\xc0\\xde\"" }, + { 8, "{prio=[190, 239]" + ", addr=fa:ce:de:c0:de:ad}" }, + { 9, "{prio=[190, 239]" + ", addr=fa:ce:de:c0:de:ad}" }); + } + + /* tun attrs */ + static const struct val_name u8_tun_attrs[] = { + { 4, "IFLA_TUN_PI" }, + { 5, "IFLA_TUN_VNET_HDR" }, + { 6, "IFLA_TUN_PERSIST" }, + { 7, "IFLA_TUN_MULTI_QUEUE" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u8_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + u8_tun_attrs[k].val, u8_tun_attrs[k].name, + u8_val, pattern, + { 0, NULL }, + { 1, "161" }, + { 2, "161" }); + } + + static const struct val_name u32_tun_attrs[] = { + { 8, "IFLA_TUN_NUM_QUEUES" }, + { 9, "IFLA_TUN_NUM_DISABLED_QUEUES" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(u32_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + u32_tun_attrs[k].val, + u32_tun_attrs[k].name, + u32_val, pattern, + { 3, "\"" +#if WORDS_BIGENDIAN + "\\xba\\xdc\\x0d" +#else + "\\xed\\x0d\\xdc" +#endif + "\"" }, + { 4, "3134983661" }, + { 5, "3134983661" }); + } + + static const struct val_name und_tun_attrs[] = { + { 0, "IFLA_TUN_UNSPEC" }, + { 10, "0xa /* IFLA_TUN_??? */" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(und_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + und_tun_attrs[k].val, + und_tun_attrs[k].name, + unknown_msg, pattern, + { 2, "\"\\xab\\xac\"" }, + { 4, "\"\\xab\\xac\\xdb\\xcd\"" }, + { 6, + "\"\\xab\\xac\\xdb\\xcd\\x61\\x62\"" }, + { 8, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\"" }, + { 10, "\"\\xab\\xac\\xdb\\xcd\\x61\\x62" + "\\x63\\x64\\x65\\x66\"" }); + } + + static const uint32_t minus_one = 0xffffffffU; + static const struct val_name uid_tun_attrs[] = { + { 1, "IFLA_TUN_OWNER" }, + { 2, "IFLA_TUN_GROUP" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(uid_tun_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + uid_tun_attrs[k].val, + uid_tun_attrs[k].name, + u32_val, pattern, + { 3, "\"" +#if WORDS_BIGENDIAN + "\\xba\\xdc\\x0d" +#else + "\\xed\\x0d\\xdc" +#endif + "\"" }, + { 4, "3134983661" }, + { 5, "3134983661" }); + + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + uid_tun_attrs[k].val, + uid_tun_attrs[k].name, + minus_one, pattern, + { 3, "\"\\xff\\xff\\xff\"" }, + { 4, "-1" }, + { 5, "-1" }); + } + + static const struct { + uint8_t val; + const char *str; + } tun_types[] = { + { 0, "0 /* IFF_??? */"}, + { 1, "IFF_TUN"}, + { 2, "IFF_TAP"}, + { 3, "0x3 /* IFF_??? */"}, + { 0xda, "0xda /* IFF_??? */"}, + }; + + for (size_t k = 0; k < ARRAY_SIZE(tun_types); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "tun", + 3, "IFLA_TUN_TYPE", + tun_types[k].val, pattern, + { 0, NULL }, + { 1, tun_types[k].str }, + { 2, tun_types[k].str }); + } + + + /* IFLA_INFO_KIND + IFLA_INFO_XSTATS */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, IFLA_INFO_XSTATS, "IFLA_INFO_XSTATS", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + /* + * can decoder decodes its data only if it's big + * enough. + */ + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + uint32_t can_stats_data[] = { + 0xbadc0de0, 0xbadc0de1, 0xbadc0de2, 0xbadc0de3, + 0xbadc0de4, 0xbadc0de5, + }; + + TEST_LINKINFO(fd, nlh0, IFLA_INFO_XSTATS, "can", + can_stats_data, pattern, print_quoted_hex, + printf("{bus_error=3134983648" + ", error_warning=3134983649" + ", error_passive=3134983650" + ", bus_off=3134983651" + ", arbitration_lost=3134983652" + ", restarts=3134983653}")); + + + /* IFLA_INFO_KIND + IFLA_INFO_SLVAE_KIND */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, + IFLA_INFO_SLAVE_KIND, "IFLA_INFO_SLAVE_KIND", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\253\\254\\333\\315\"...")); + + + /* IFLA_INFO_KIND + IFLA_INFO_SLAVE_DATA */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, + IFLA_INFO_SLAVE_DATA, "IFLA_INFO_SLAVE_DATA", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + /* IFLA_INFO_KIND + unknown type */ + TEST_UNKNOWN_TUNNELS(fd, nlh0, 6, "0x6 /* IFLA_INFO_??? */", + unknown_msg, sizeof(unknown_msg), + {unsupported_tunnel_types COMMA + unsupported_xstats_types COMMA + unsupported_data_types COMMA + NULL}, + printf("\"\\xab\\xac\\xdb\\xcd\"")); + + + puts("+++ exited with 0 +++"); + return 0; +} diff --git a/tests/nlattr_ifla_linkinfo.gen.test b/tests/nlattr_ifla_linkinfo.gen.test new file mode 100755 index 00000000..816ba99c --- /dev/null +++ b/tests/nlattr_ifla_linkinfo.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_ifla_linkinfo +netlink_sock_diag.test ); do not edit. +set -- +. "${srcdir=.}/netlink_sock_diag.test" diff --git a/tests/nlattr_ifla_port.c b/tests/nlattr_ifla_port.c index 61e90fe0..e6cb6a49 100644 --- a/tests/nlattr_ifla_port.c +++ b/tests/nlattr_ifla_port.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -37,50 +37,15 @@ #endif #include -#ifndef IFLA_PORT_SELF -# define IFLA_PORT_SELF 25 +#if !HAVE_DECL_IFLA_PORT_SELF +enum { IFLA_PORT_SELF = 25 }; #endif #ifndef IFLA_PORT_VF # define IFLA_PORT_VF 1 #endif -const unsigned int hdrlen = sizeof(struct ifinfomsg); - -static void -init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) -{ - SET_STRUCT(struct nlmsghdr, nlh, - .nlmsg_len = msg_len, - .nlmsg_type = RTM_GETLINK, - .nlmsg_flags = NLM_F_DUMP - ); - - struct ifinfomsg *const msg = NLMSG_DATA(nlh); - SET_STRUCT(struct ifinfomsg, msg, - .ifi_family = AF_UNIX, - .ifi_type = ARPHRD_LOOPBACK, - .ifi_index = ifindex_lo(), - .ifi_flags = IFF_UP, - ); - - struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); - SET_STRUCT(struct nlattr, nla, - .nla_len = msg_len - NLMSG_SPACE(hdrlen), - .nla_type = IFLA_PORT_SELF - ); -} - -static void -print_ifinfomsg(const unsigned int msg_len) -{ - printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" - ", seq=0, pid=0}, {ifi_family=AF_UNIX" - ", ifi_type=ARPHRD_LOOPBACK" - ", ifi_index=" IFINDEX_LO_STR - ", ifi_flags=IFF_UP, ifi_change=0}" - ", {{nla_len=%u, nla_type=IFLA_PORT_SELF}", - msg_len, msg_len - NLMSG_SPACE(hdrlen)); -} +#define IFLA_ATTR IFLA_PORT_SELF +#include "nlattr_ifla.h" int main(void) @@ -88,7 +53,7 @@ main(void) skip_if_unavailable("/proc/self/fd/"); const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), 2 * NLA_HDRLEN + 8); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_ifla_xdp.c b/tests/nlattr_ifla_xdp.c index cca5219e..93149fa9 100644 --- a/tests/nlattr_ifla_xdp.c +++ b/tests/nlattr_ifla_xdp.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -37,63 +37,29 @@ #endif #include -#ifndef IFLA_XDP -# define IFLA_XDP 43 +#if !HAVE_DECL_IFLA_XDP +enum { IFLA_XDP = 43 }; #endif #ifndef IFLA_XDP_FD # define IFLA_XDP_FD 1 #endif -const unsigned int hdrlen = sizeof(struct ifinfomsg); - -static void -init_ifinfomsg(struct nlmsghdr *const nlh, const unsigned int msg_len) -{ - SET_STRUCT(struct nlmsghdr, nlh, - .nlmsg_len = msg_len, - .nlmsg_type = RTM_GETLINK, - .nlmsg_flags = NLM_F_DUMP - ); - - struct ifinfomsg *const msg = NLMSG_DATA(nlh); - SET_STRUCT(struct ifinfomsg, msg, - .ifi_family = AF_UNIX, - .ifi_type = ARPHRD_LOOPBACK, - .ifi_index = ifindex_lo(), - .ifi_flags = IFF_UP, - ); - - struct nlattr *const nla = NLMSG_ATTR(nlh, sizeof(*msg)); - SET_STRUCT(struct nlattr, nla, - .nla_len = msg_len - NLMSG_SPACE(hdrlen), - .nla_type = IFLA_XDP - ); -} - -static void -print_ifinfomsg(const unsigned int msg_len) -{ - printf("{len=%u, type=RTM_GETLINK, flags=NLM_F_DUMP" - ", seq=0, pid=0}, {ifi_family=AF_UNIX" - ", ifi_type=ARPHRD_LOOPBACK" - ", ifi_index=" IFINDEX_LO_STR - ", ifi_flags=IFF_UP, ifi_change=0}" - ", {{nla_len=%u, nla_type=IFLA_XDP}", - msg_len, msg_len - NLMSG_SPACE(hdrlen)); -} +#define IFLA_ATTR IFLA_XDP +#include "nlattr_ifla.h" int main(void) { skip_if_unavailable("/proc/self/fd/"); + const int32_t num = 0xabacdbcd; const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(num)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const int32_t num = 0xabacdbcd; TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_ifinfomsg, print_ifinfomsg, IFLA_XDP_FD, pattern, num, diff --git a/tests/nlattr_inet_diag_msg.c b/tests/nlattr_inet_diag_msg.c index ccc62aed..5984ee26 100644 --- a/tests/nlattr_inet_diag_msg.c +++ b/tests/nlattr_inet_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -37,6 +37,18 @@ #include #include +static const char * const sk_meminfo_strs[] = { + "SK_MEMINFO_RMEM_ALLOC", + "SK_MEMINFO_RCVBUF", + "SK_MEMINFO_WMEM_ALLOC", + "SK_MEMINFO_SNDBUF", + "SK_MEMINFO_FWD_ALLOC", + "SK_MEMINFO_WMEM_QUEUED", + "SK_MEMINFO_OPTMEM", + "SK_MEMINFO_BACKLOG", + "SK_MEMINFO_DROPS", +}; + static const char address[] = "10.11.12.13"; static void @@ -77,9 +89,14 @@ print_inet_diag_msg(const unsigned int msg_len) } static void -print_uint(const unsigned int *p) +print_uint(const unsigned int *p, size_t i) { - printf("%u", *p); + if (i >= ARRAY_SIZE(sk_meminfo_strs)) + printf("[%zu /* SK_MEMINFO_??? */", i); + else + printf("[%s", sk_meminfo_strs[i]); + + printf("] = %u", *p); } int @@ -87,19 +104,46 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - const int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct inet_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct inet_diag_meminfo minfo = { .idiag_rmem = 0xfadcacdb, .idiag_wmem = 0xbdabcada, .idiag_fmem = 0xbadbfafb, .idiag_tmem = 0xfdacdadf }; + static const struct tcpvegas_info vegas = { + .tcpv_enabled = 0xfadcacdb, + .tcpv_rttcnt = 0xbdabcada, + .tcpv_rtt = 0xbadbfafb, + .tcpv_minrtt = 0xfdacdadf + }; + static const struct tcp_dctcp_info dctcp = { + .dctcp_enabled = 0xfdac, + .dctcp_ce_state = 0xfadc, + .dctcp_alpha = 0xbdabcada, + .dctcp_ab_ecn = 0xbadbfafb, + .dctcp_ab_tot = 0xfdacdadf + }; + static const struct tcp_bbr_info bbr = { + .bbr_bw_lo = 0xfdacdadf, + .bbr_bw_hi = 0xfadcacdb, + .bbr_min_rtt = 0xbdabcada, + .bbr_pacing_gain = 0xbadbfafb, + .bbr_cwnd_gain = 0xfdacdadf + }; + static const uint32_t mem[] = { 0xaffacbad, 0xffadbcab }; + static uint32_t bigmem[SK_MEMINFO_VARS + 1]; + static const uint32_t mark = 0xabdfadca; + static const uint8_t shutdown = 0xcd; + + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct inet_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + + MAX(sizeof(bigmem), DEFAULT_STRLEN)); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_MEMINFO, pattern, minfo, @@ -109,12 +153,6 @@ main(void) PRINT_FIELD_U(", ", minfo, idiag_tmem); printf("}")); - static const struct tcpvegas_info vegas = { - .tcpv_enabled = 0xfadcacdb, - .tcpv_rttcnt = 0xbdabcada, - .tcpv_rtt = 0xbadbfafb, - .tcpv_minrtt = 0xfdacdadf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_VEGASINFO, pattern, vegas, @@ -125,13 +163,6 @@ main(void) printf("}")); - static const struct tcp_dctcp_info dctcp = { - .dctcp_enabled = 0xfdac, - .dctcp_ce_state = 0xfadc, - .dctcp_alpha = 0xbdabcada, - .dctcp_ab_ecn = 0xbadbfafb, - .dctcp_ab_tot = 0xfdacdadf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_DCTCPINFO, pattern, dctcp, @@ -142,13 +173,6 @@ main(void) PRINT_FIELD_U(", ", dctcp, dctcp_ab_tot); printf("}")); - static const struct tcp_bbr_info bbr = { - .bbr_bw_lo = 0xfdacdadf, - .bbr_bw_hi = 0xfadcacdb, - .bbr_min_rtt = 0xbdabcada, - .bbr_pacing_gain = 0xbadbfafb, - .bbr_cwnd_gain = 0xfdacdadf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_BBRINFO, pattern, bbr, @@ -159,24 +183,16 @@ main(void) PRINT_FIELD_U(", ", bbr, bbr_cwnd_gain); printf("}")); - static const uint32_t mem[] = { 0xaffacbad, 0xffadbcab }; TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_SKMEMINFO, pattern, mem, print_uint); - static uint32_t bigmem[SK_MEMINFO_VARS + 1]; memcpy(bigmem, pattern, sizeof(bigmem)); - TEST_NLATTR(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, - INET_DIAG_SKMEMINFO, sizeof(bigmem), bigmem, sizeof(bigmem), - size_t i; - for (i = 0; i < SK_MEMINFO_VARS; ++i) { - printf(i ? ", " : "["); - print_uint(&bigmem[i]); - } - printf(", ...]")); + TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, + init_inet_diag_msg, print_inet_diag_msg, + INET_DIAG_SKMEMINFO, pattern, bigmem, print_uint); - static const uint32_t mark = 0xabdfadca; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_MARK, pattern, mark, @@ -187,7 +203,6 @@ main(void) INET_DIAG_CLASS_ID, pattern, mark, printf("%u", mark)); - static const uint8_t shutdown = 0xcd; TEST_NLATTR(fd, nlh0, hdrlen, init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_SHUTDOWN, sizeof(shutdown), &shutdown, sizeof(shutdown), diff --git a/tests/nlattr_inet_diag_req_compat.c b/tests/nlattr_inet_diag_req_compat.c index b0b21713..52fd53fa 100644 --- a/tests/nlattr_inet_diag_req_compat.c +++ b/tests/nlattr_inet_diag_req_compat.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -86,7 +86,7 @@ main(void) int fd = create_nl_socket(NETLINK_SOCK_DIAG); const unsigned int hdrlen = sizeof(struct inet_diag_req); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_inet_diag_req_v2.c b/tests/nlattr_inet_diag_req_v2.c index 1e09abe6..cf19c601 100644 --- a/tests/nlattr_inet_diag_req_v2.c +++ b/tests/nlattr_inet_diag_req_v2.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -407,7 +407,10 @@ main(void) skip_if_unavailable("/proc/self/fd/"); int fd = create_nl_socket(NETLINK_SOCK_DIAG); - nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + + sizeof(struct inet_diag_bc_op) + + sizeof(struct inet_diag_hostcond) + + sizeof(struct in6_addr) + DEFAULT_STRLEN); fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); test_inet_diag_bc_op(fd); diff --git a/tests/nlattr_mdba_mdb_entry.c b/tests/nlattr_mdba_mdb_entry.c index 124fe1d4..61bded2f 100644 --- a/tests/nlattr_mdba_mdb_entry.c +++ b/tests/nlattr_mdba_mdb_entry.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -99,7 +99,12 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4 +# ifdef HAVE_STRUCT_BR_MDB_ENTRY + - 4 + NLA_HDRLEN * 2 + sizeof(struct nlattr) + + sizeof(struct br_mdb_entry) +# endif + ); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_mdba_router_port.c b/tests/nlattr_mdba_router_port.c index af908cd8..a6621ca1 100644 --- a/tests/nlattr_mdba_router_port.c +++ b/tests/nlattr_mdba_router_port.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -87,25 +87,27 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + const uint32_t ifindex = ifindex_lo(); + const uint8_t type = MDB_RTR_TYPE_DISABLED; + static const struct nlattr nla = { + .nla_len = NLA_HDRLEN + sizeof(type), + .nla_type = MDBA_ROUTER_PATTR_TYPE + }; + char buf[NLMSG_ALIGN(ifindex) + NLA_HDRLEN + sizeof(type)]; + const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(buf)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const uint32_t ifindex = ifindex_lo(); TEST_NESTED_NLATTR_OBJECT(fd, nlh0, hdrlen, init_br_port_msg, print_br_port_msg, MDBA_ROUTER_PORT, pattern, ifindex, printf(IFINDEX_LO_STR)); - const uint8_t type = MDB_RTR_TYPE_DISABLED; - static const struct nlattr nla = { - .nla_len = NLA_HDRLEN + sizeof(type), - .nla_type = MDBA_ROUTER_PATTR_TYPE - }; - char buf[NLMSG_ALIGN(ifindex) + NLA_HDRLEN + sizeof(type)]; memcpy(buf, &ifindex, sizeof(ifindex)); memcpy(buf + NLMSG_ALIGN(ifindex), &nla, sizeof(nla)); memcpy(buf + NLMSG_ALIGN(ifindex) + NLA_HDRLEN, &type, sizeof(type)); diff --git a/tests/nlattr_ndmsg.c b/tests/nlattr_ndmsg.c index 8538a827..aa28a57f 100644 --- a/tests/nlattr_ndmsg.c +++ b/tests/nlattr_ndmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -77,7 +77,8 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ndmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(struct nda_cacheinfo)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_ndtmsg.c b/tests/nlattr_ndtmsg.c index d3f1bdb7..d1200598 100644 --- a/tests/nlattr_ndtmsg.c +++ b/tests/nlattr_ndtmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -68,7 +68,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct ndtmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 11 * 8); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_netconfmsg.c b/tests/nlattr_netconfmsg.c index 6866adc9..f5f59936 100644 --- a/tests/nlattr_netconfmsg.c +++ b/tests/nlattr_netconfmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -66,7 +66,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct netconfmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_netlink_diag_msg.c b/tests/nlattr_netlink_diag_msg.c index 76a2d19e..b5988990 100644 --- a/tests/nlattr_netlink_diag_msg.c +++ b/tests/nlattr_netlink_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -66,7 +66,7 @@ print_netlink_diag_msg(const unsigned int msg_len) } static void -print_xlong(const unsigned long *p) +print_xlong(const unsigned long *p, size_t i) { printf("%#lx", *p); } @@ -76,27 +76,32 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - const int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct netlink_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const unsigned long groups[] = { (unsigned long) 0xdeadbeefbadc0dedULL, (unsigned long) 0xdeadbeefbadc0dedULL }; - TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, - init_netlink_diag_msg, print_netlink_diag_msg, - NETLINK_DIAG_GROUPS, pattern, groups, print_xlong); - static const struct netlink_diag_ring ndr = { .ndr_block_size = 0xfabfabdc, .ndr_block_nr = 0xabcdabda, .ndr_frame_size = 0xcbadbafa, .ndr_frame_nr = 0xdbcafadb }; + static const uint32_t flags = + NDIAG_FLAG_CB_RUNNING | NDIAG_FLAG_PKTINFO; + + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct netlink_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + + MAX(sizeof(groups), sizeof(ndr))); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, + init_netlink_diag_msg, print_netlink_diag_msg, + NETLINK_DIAG_GROUPS, pattern, groups, print_xlong); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_netlink_diag_msg, print_netlink_diag_msg, NETLINK_DIAG_RX_RING, pattern, ndr, @@ -106,8 +111,6 @@ main(void) PRINT_FIELD_U(", ", ndr, ndr_frame_nr); printf("}")); - static const uint32_t flags = - NDIAG_FLAG_CB_RUNNING | NDIAG_FLAG_PKTINFO; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_netlink_diag_msg, print_netlink_diag_msg, NETLINK_DIAG_FLAGS, pattern, flags, diff --git a/tests/nlattr_nlmsgerr.c b/tests/nlattr_nlmsgerr.c index 837283c0..073fde28 100644 --- a/tests/nlattr_nlmsgerr.c +++ b/tests/nlattr_nlmsgerr.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -69,11 +69,13 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + static const uint8_t cookie[] = { 0xab, 0xfe }; + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); const unsigned int hdrlen = sizeof(struct nlmsgerr); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(cookie)); - static const uint8_t cookie[] = { 0xab, 0xfe }; TEST_NLATTR(fd, nlh0, hdrlen, init_nlmsgerr, print_nlmsgerr, NLMSGERR_ATTR_COOKIE, diff --git a/tests/nlattr_packet_diag_msg.c b/tests/nlattr_packet_diag_msg.c index 4211e201..016d052c 100644 --- a/tests/nlattr_packet_diag_msg.c +++ b/tests/nlattr_packet_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -67,7 +67,7 @@ print_packet_diag_msg(const unsigned int msg_len) } static void -print_packet_diag_mclist(const struct packet_diag_mclist *const dml) +print_packet_diag_mclist(const struct packet_diag_mclist *const dml, size_t i) { printf("{pdmc_index=" IFINDEX_LO_STR); PRINT_FIELD_U(", ", *dml, pdmc_count); @@ -84,7 +84,7 @@ static const struct sock_filter filter[] = { }; static void -print_sock_filter(const struct sock_filter *const f) +print_sock_filter(const struct sock_filter *const f, size_t i) { if (f == filter) printf("BPF_STMT(BPF_LD|BPF_B|BPF_ABS" @@ -98,13 +98,6 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); - int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct packet_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct packet_diag_info pinfo = { .pdi_index = 0xabcddafa, .pdi_version = 0xbabcdafb, @@ -113,16 +106,6 @@ main(void) .pdi_tstamp = 0xeafbaadf, .pdi_flags = PDI_RUNNING }; - TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, - init_packet_diag_msg, print_packet_diag_msg, - PACKET_DIAG_INFO, pattern, pinfo, - PRINT_FIELD_U("{", pinfo, pdi_index); - PRINT_FIELD_U(", ", pinfo, pdi_version); - PRINT_FIELD_U(", ", pinfo, pdi_reserve); - PRINT_FIELD_U(", ", pinfo, pdi_copy_thresh); - PRINT_FIELD_U(", ", pinfo, pdi_tstamp); - printf(", pdi_flags=PDI_RUNNING}")); - const struct packet_diag_mclist dml[] = { { .pdmc_index = ifindex_lo(), @@ -139,11 +122,6 @@ main(void) .pdmc_addr = "5678" } }; - TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, - init_packet_diag_msg, print_packet_diag_msg, - PACKET_DIAG_MCLIST, pattern, dml, - print_packet_diag_mclist); - static const struct packet_diag_ring pdr = { .pdr_block_size = 0xabcdafed, .pdr_block_nr = 0xbcadefae, @@ -153,6 +131,30 @@ main(void) .pdr_sizeof_priv = 0xfeadeacd, .pdr_features = 0xadebadea }; + + int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct packet_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(dml)); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); + + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, + init_packet_diag_msg, print_packet_diag_msg, + PACKET_DIAG_INFO, pattern, pinfo, + PRINT_FIELD_U("{", pinfo, pdi_index); + PRINT_FIELD_U(", ", pinfo, pdi_version); + PRINT_FIELD_U(", ", pinfo, pdi_reserve); + PRINT_FIELD_U(", ", pinfo, pdi_copy_thresh); + PRINT_FIELD_U(", ", pinfo, pdi_tstamp); + printf(", pdi_flags=PDI_RUNNING}")); + + TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, + init_packet_diag_msg, print_packet_diag_msg, + PACKET_DIAG_MCLIST, pattern, dml, + print_packet_diag_mclist); + TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_packet_diag_msg, print_packet_diag_msg, PACKET_DIAG_RX_RING, pattern, pdr, diff --git a/tests/nlattr_rtgenmsg.c b/tests/nlattr_rtgenmsg.c index ceb061df..bac21ef7 100644 --- a/tests/nlattr_rtgenmsg.c +++ b/tests/nlattr_rtgenmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -66,13 +66,14 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct rtgenmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; + char nla_type_str[256]; + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(nla_type_str)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; - char nla_type_str[256]; sprintf(nla_type_str, "%#x /* NETNSA_??? */", nla_type); TEST_NLATTR_(fd, nlh0, hdrlen, init_rtgenmsg, print_rtgenmsg, diff --git a/tests/nlattr_rtmsg.c b/tests/nlattr_rtmsg.c index 5f29f0c0..db02929d 100644 --- a/tests/nlattr_rtmsg.c +++ b/tests/nlattr_rtmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -81,13 +81,14 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct rtmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; + char nla_type_str[256]; + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(nla_type_str)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - const unsigned int nla_type = 0xffff & NLA_TYPE_MASK; - char nla_type_str[256]; sprintf(nla_type_str, "%#x /* RTA_??? */", nla_type); TEST_NLATTR_(fd, nlh0, hdrlen, init_rtmsg, print_rtmsg, diff --git a/tests/nlattr_smc_diag_msg.c b/tests/nlattr_smc_diag_msg.c index a06ad624..2e65ebd8 100644 --- a/tests/nlattr_smc_diag_msg.c +++ b/tests/nlattr_smc_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -97,13 +97,6 @@ int main(void) { skip_if_unavailable("/proc/self/fd/"); - int fd = create_nl_socket(NETLINK_SOCK_DIAG); - const unsigned int hdrlen = sizeof(struct smc_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); - - static char pattern[4096]; - fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct smc_diag_conninfo cinfo = { .token = 0xabcdefac, .sndbuf_size = 0xbcdaefad, @@ -149,6 +142,25 @@ int main(void) .count = 0xcdedbad7 } }; + static const struct smc_diag_lgrinfo linfo = { + .lnk[0] = { + .link_id = 0xaf, + .ibport = 0xfa, + .ibname = "123", + .gid = "456", + .peer_gid = "789" + }, + .role = SMC_CLNT + }; + + int fd = create_nl_socket(NETLINK_SOCK_DIAG); + const unsigned int hdrlen = sizeof(struct smc_diag_msg); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + + MAX(sizeof(cinfo), sizeof(linfo))); + + static char pattern[4096]; + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_smc_diag_msg, print_smc_diag_msg, @@ -170,16 +182,6 @@ int main(void) PRINT_FIELD_SMC_DIAG_CURSOR(", ", cinfo, tx_fin); printf("}")); - static const struct smc_diag_lgrinfo linfo = { - .lnk[0] = { - .link_id = 0xaf, - .ibport = 0xfa, - .ibname = "123", - .gid = "456", - .peer_gid = "789" - }, - .role = SMC_CLNT - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_smc_diag_msg, print_smc_diag_msg, SMC_DIAG_LGRINFO, pattern, linfo, diff --git a/tests/nlattr_tc_stats.c b/tests/nlattr_tc_stats.c index dd76cc7d..8003ed35 100644 --- a/tests/nlattr_tc_stats.c +++ b/tests/nlattr_tc_stats.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -77,7 +77,7 @@ main(void) skip_if_unavailable("/proc/self/fd/"); const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 8 * 5); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_tca_stab.c b/tests/nlattr_tca_stab.c index de6d3569..9889050a 100644 --- a/tests/nlattr_tca_stab.c +++ b/tests/nlattr_tca_stab.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -36,8 +36,8 @@ #ifndef TCA_STAB # define TCA_STAB 8 #endif -#ifndef TCA_STAB_DATA -# define TCA_STAB_DATA 2 +#if !HAVE_DECL_TCA_STAB_DATA +enum { TCA_STAB_DATA = 2 }; #endif const unsigned int hdrlen = sizeof(struct tcmsg); @@ -76,7 +76,7 @@ print_tcmsg(const unsigned int msg_len) } static void -print_uint16(const uint16_t *p) +print_uint16(const uint16_t *p, size_t idx) { printf("%u", *p); } @@ -87,7 +87,11 @@ main(void) skip_if_unavailable("/proc/self/fd/"); const int fd = create_nl_socket(NETLINK_ROUTE); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4 +#ifdef HAVE_STRUCT_TC_SIZESPEC + - 4 + sizeof(struct tc_sizespec) +#endif + ); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_tcamsg.c b/tests/nlattr_tcamsg.c index 7f611532..43715d20 100644 --- a/tests/nlattr_tcamsg.c +++ b/tests/nlattr_tcamsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -62,7 +62,7 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct tcamsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), NLA_HDRLEN + 4); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_tcmsg.c b/tests/nlattr_tcmsg.c index 32ce4790..da88a457 100644 --- a/tests/nlattr_tcmsg.c +++ b/tests/nlattr_tcmsg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -68,7 +68,8 @@ main(void) const int fd = create_nl_socket(NETLINK_ROUTE); const unsigned int hdrlen = sizeof(struct tcmsg); - void *nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(struct tc_stats)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); diff --git a/tests/nlattr_unix_diag_msg.c b/tests/nlattr_unix_diag_msg.c index 22954042..180b8cd6 100644 --- a/tests/nlattr_unix_diag_msg.c +++ b/tests/nlattr_unix_diag_msg.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2017 JingPiao Chen - * 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 @@ -65,7 +65,7 @@ print_unix_diag_msg(const unsigned int msg_len) } static void -print_uint(const unsigned int *p) +print_uint(const unsigned int *p, size_t i) { printf("%u", *p); } @@ -75,17 +75,24 @@ main(void) { skip_if_unavailable("/proc/self/fd/"); + static const struct unix_diag_vfs uv = { + .udiag_vfs_dev = 0xabcddafa, + .udiag_vfs_ino = 0xbafabcda + }; + static const struct unix_diag_rqlen rql = { + .udiag_rqueue = 0xfabdcdad, + .udiag_wqueue = 0xbacdadcf + }; + static const uint32_t inode[] = { 0xadbcadbc, 0xfabdcdac }; + const int fd = create_nl_socket(NETLINK_SOCK_DIAG); const unsigned int hdrlen = sizeof(struct unix_diag_msg); - void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen)); + void *const nlh0 = midtail_alloc(NLMSG_SPACE(hdrlen), + NLA_HDRLEN + sizeof(inode)); static char pattern[4096]; fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); - static const struct unix_diag_vfs uv = { - .udiag_vfs_dev = 0xabcddafa, - .udiag_vfs_ino = 0xbafabcda - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_unix_diag_msg, print_unix_diag_msg, UNIX_DIAG_VFS, pattern, uv, @@ -95,10 +102,6 @@ main(void) PRINT_FIELD_U(", ", uv, udiag_vfs_ino); printf("}")); - static const struct unix_diag_rqlen rql = { - .udiag_rqueue = 0xfabdcdad, - .udiag_wqueue = 0xbacdadcf - }; TEST_NLATTR_OBJECT(fd, nlh0, hdrlen, init_unix_diag_msg, print_unix_diag_msg, UNIX_DIAG_RQLEN, pattern, rql, @@ -106,7 +109,6 @@ main(void) PRINT_FIELD_U(", ", rql, udiag_wqueue); printf("}")); - static const uint32_t inode[] = { 0xadbcadbc, 0xfabdcdac }; TEST_NLATTR_ARRAY(fd, nlh0, hdrlen, init_unix_diag_msg, print_unix_diag_msg, UNIX_DIAG_ICONS, pattern, inode, print_uint); diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c index 9f748673..681fb315 100644 --- a/tests/nsyscalls.c +++ b/tests/nsyscalls.c @@ -86,14 +86,14 @@ test_syscall(const unsigned long nr) a[0], a[1], a[2], a[3], a[4], a[5], rc); #else printf("syscall_%#lx(%#llx, %#llx, %#llx, %#llx, %#llx, %#llx)" - " = %ld (errno %d)\n", nr | SYSCALL_BIT, + " = %ld ENOSYS (%m)\n", nr | SYSCALL_BIT, (unsigned long long) a[0], (unsigned long long) a[1], (unsigned long long) a[2], (unsigned long long) a[3], (unsigned long long) a[4], (unsigned long long) a[5], - rc, errno); + rc); #endif } diff --git a/tests/old_mmap-Xabbrev.c b/tests/old_mmap-Xabbrev.c new file mode 100644 index 00000000..033503cc --- /dev/null +++ b/tests/old_mmap-Xabbrev.c @@ -0,0 +1 @@ +#include "old_mmap.c" diff --git a/tests/old_mmap-Xabbrev.gen.test b/tests/old_mmap-Xabbrev.gen.test new file mode 100755 index 00000000..0ee5608e --- /dev/null +++ b/tests/old_mmap-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap-Xabbrev -a11 -e trace=mmap -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a11 -e trace=mmap -Xabbrev diff --git a/tests/old_mmap-Xraw.c b/tests/old_mmap-Xraw.c new file mode 100644 index 00000000..06de40b4 --- /dev/null +++ b/tests/old_mmap-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "old_mmap.c" diff --git a/tests/old_mmap-Xraw.gen.test b/tests/old_mmap-Xraw.gen.test new file mode 100755 index 00000000..6d7d3cf4 --- /dev/null +++ b/tests/old_mmap-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap-Xraw -a11 -e trace=mmap -Xraw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a11 -e trace=mmap -Xraw diff --git a/tests/old_mmap-Xverbose.c b/tests/old_mmap-Xverbose.c new file mode 100644 index 00000000..b141fec9 --- /dev/null +++ b/tests/old_mmap-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "old_mmap.c" diff --git a/tests/old_mmap-Xverbose.gen.test b/tests/old_mmap-Xverbose.gen.test new file mode 100755 index 00000000..6534a931 --- /dev/null +++ b/tests/old_mmap-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap-Xverbose -a11 -e trace=mmap -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a11 -e trace=mmap -Xverbose diff --git a/tests/old_mmap.c b/tests/old_mmap.c index 35ec4288..07d572cf 100644 --- a/tests/old_mmap.c +++ b/tests/old_mmap.c @@ -79,17 +79,41 @@ main(void) void *args = tail_memdup(args1_c, sizeof(args1_c)); rc = syscall(__NR_mmap, args); +# if XLAT_RAW + printf("mmap(%#lx, %lu, %#x, %#x|%#x, %d, %#lx) = %ld %s (%m)\n", + args1_c[0], args1_c[1], PROT_READ|PROT_EXEC, MAP_FILE, MAP_FIXED, + (int) args1_c[4], args1_c[5], rc, errno2name()); +# elif XLAT_VERBOSE + printf("mmap(%#lx, %lu, %#x /* PROT_READ|PROT_EXEC */" + ", %#x /* MAP_FILE */|%#x /* MAP_FIXED */" + ", %d, %#lx) = %ld %s (%m)\n", + args1_c[0], args1_c[1], PROT_READ|PROT_EXEC, MAP_FILE, MAP_FIXED, + (int) args1_c[4], args1_c[5], rc, errno2name()); +# else printf("mmap(%#lx, %lu, PROT_READ|PROT_EXEC, MAP_FILE|MAP_FIXED" ", %d, %#lx) = %ld %s (%m)\n", args1_c[0], args1_c[1], (int) args1_c[4], args1_c[5], rc, errno2name()); +# endif memcpy(args, args2_c, sizeof(args2_c)); rc = syscall(__NR_mmap, args); # ifndef PATH_TRACING +# if XLAT_RAW + printf("mmap(NULL, %lu, %#x, %#x|%#x, %d, %#lx) = %#lx\n", + args2_c[1], PROT_READ|PROT_WRITE, MAP_PRIVATE, MAP_ANONYMOUS, + (int) args2_c[4], args2_c[5], rc); +# elif XLAT_VERBOSE + printf("mmap(NULL, %lu, %#x /* PROT_READ|PROT_WRITE */" + ", %#x /* MAP_PRIVATE */|%#x /* MAP_ANONYMOUS */" + ", %d, %#lx) = %#lx\n", + args2_c[1], PROT_READ|PROT_WRITE, MAP_PRIVATE, MAP_ANONYMOUS, + (int) args2_c[4], args2_c[5], rc); +# else printf("mmap(NULL, %lu, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS" ", %d, %#lx) = %#lx\n", args2_c[1], (int) args2_c[4], args2_c[5], rc); +# endif # endif void *addr = (void *) rc; diff --git a/tests/opipe.test b/tests/opipe.test index f622045b..db449bb7 100755 --- a/tests/opipe.test +++ b/tests/opipe.test @@ -5,7 +5,7 @@ . "${srcdir=.}/init.sh" check_prog grep -run_prog grep chdir $srcdir/umovestr.expected > "$EXP" +grep chdir $srcdir/umovestr.expected > "$EXP" run_prog ../umovestr $STRACE -o "|cat > $LOG && $SLEEP_A_BIT && grep chdir < $LOG > $OUT" -e chdir $args || diff --git a/tests/options-syntax.test b/tests/options-syntax.test index af7002b2..1a290d01 100755 --- a/tests/options-syntax.test +++ b/tests/options-syntax.test @@ -56,6 +56,40 @@ check_h "invalid -O argument: '-42'" -O -42 check_h "invalid -s argument: '-42'" -s -42 check_h "invalid -s argument: '1073741824'" -s 1073741824 check_h "invalid -I argument: '5'" -I 5 +check_h "invalid -X argument: 'test'" -Xtest +check_h "invalid -X argument: 'a'" -Xa +check_h "invalid -X argument: 'abbreviated'" -X abbreviated + +check_h "incorrect personality designator '' in qualification 'getcwd@'" -e trace=getcwd@ +check_h "incorrect personality designator '42' in qualification 'getcwd@42'" -e trace=getcwd@42 +check_h "incorrect personality designator '42' in qualification 'getcwd@42'" -e trace=gettid,getcwd@42 +check_h "incorrect personality designator '42' in qualification '23@42'" -e trace=23@42,123 + +check_e "invalid system call '/getcwd@ohmy'" -e trace=/getcwd@ohmy + +case "$STRACE_NATIVE_ARCH" in +x86_64) + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@64 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@32 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@x32 + ;; +x32) + check_h "incorrect personality designator '64' in qualification 'getcwd@64'" -e trace=getcwd@64 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@32 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@x32 + ;; +aarch64|powerpc64|riscv|s390x|sparc64|tile) + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@64 + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@32 + check_h "incorrect personality designator 'x32' in qualification 'getcwd@x32'" -e trace=getcwd@x32 + ;; +*) + pers="$((SIZEOF_LONG * 8))" + inv_pers="$((96 - pers))" + check_h "must have PROG [ARGS] or -p PID" -e trace=getcwd@"$pers" + check_h "incorrect personality designator '$inv_pers' in qualification 'getcwd@$inv_pers'" -e trace=getcwd@"$inv_pers" + check_h "incorrect personality designator 'x32' in qualification 'getcwd@x32'" -e trace=getcwd@x32 +esac ../zeroargc "$STRACE_EXE" /bin/true 2> "$LOG" && dump_log_and_fail_with \ diff --git a/tests/personality-Xabbrev.c b/tests/personality-Xabbrev.c new file mode 100644 index 00000000..2e993dc1 --- /dev/null +++ b/tests/personality-Xabbrev.c @@ -0,0 +1 @@ +#include "personality.c" diff --git a/tests/personality-Xabbrev.gen.test b/tests/personality-Xabbrev.gen.test new file mode 100755 index 00000000..df93e6cb --- /dev/null +++ b/tests/personality-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (personality-Xabbrev +personality.test -Xabbrev); do not edit. +set -- -Xabbrev +. "${srcdir=.}/personality.test" diff --git a/tests/personality-Xraw.c b/tests/personality-Xraw.c new file mode 100644 index 00000000..59702f8b --- /dev/null +++ b/tests/personality-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "personality.c" diff --git a/tests/personality-Xraw.gen.test b/tests/personality-Xraw.gen.test new file mode 100755 index 00000000..559f0f3a --- /dev/null +++ b/tests/personality-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (personality-Xraw +personality.test -a15 -Xraw); do not edit. +set -- -a15 -Xraw +. "${srcdir=.}/personality.test" diff --git a/tests/personality-Xverbose.c b/tests/personality-Xverbose.c new file mode 100644 index 00000000..545ebe71 --- /dev/null +++ b/tests/personality-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "personality.c" diff --git a/tests/personality-Xverbose.gen.test b/tests/personality-Xverbose.gen.test new file mode 100755 index 00000000..b6ce2094 --- /dev/null +++ b/tests/personality-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (personality-Xverbose +personality.test -Xverbose); do not edit. +set -- -Xverbose +. "${srcdir=.}/personality.test" diff --git a/tests/personality.c b/tests/personality.c index 7a279a14..5d848078 100644 --- a/tests/personality.c +++ b/tests/personality.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2015 Dmitry V. Levin + * Copyright (c) 2015-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,51 +29,76 @@ #include #include +#if XLAT_RAW +# define linux_type_str "0" +# define good_type_str "0x6" +# define bad_type_str "0x1f" +# define good_flags_str "0x7000000" +# define bad_flags_str "0x10000" +# define good_bad_flags_str "0x7010000" +#elif XLAT_VERBOSE +# define linux_type_str "0 /\\* PER_LINUX \\*/" +# define good_type_str "0x6 /\\* PER_BSD \\*/" +# define bad_type_str "0x1f /\\* PER_\\?\\?\\? \\*/" +# define good_flags_str \ + "0x7000000 /\\* SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS \\*/" +# define bad_flags_str "0x10000" +# define good_bad_flags_str \ + "0x7010000 /\\* SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS" \ + "\\|0x10000 \\*/" +#else +# define linux_type_str "PER_LINUX" +# define good_type_str "PER_BSD" +# define bad_type_str "0x1f /\\* PER_\\?\\?\\? \\*/" +# define good_flags_str "SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS" +# define bad_flags_str "0x10000" +# define good_bad_flags_str \ + "SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS\\|0x10000" +#endif + int main(void) { const unsigned int good_type = PER_BSD; - const char *good_type_str = "PER_BSD"; const unsigned int bad_type = 0x1f; - const char *bad_type_str = "0x1f /\\* PER_\\?\\?\\? \\*/"; const unsigned int good_flags = SHORT_INODE | WHOLE_SECONDS | STICKY_TIMEOUTS; - const char *good_flags_str = - "SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS"; const unsigned int bad_flags = 0x10000; - const char *bad_flags_str = "0x10000"; const unsigned int saved_pers = personality(0xffffffff); printf("personality\\(0xffffffff\\) = %#x \\([^)]*\\)\n", saved_pers); /* PER_LINUX */ personality(PER_LINUX); - printf("personality\\(PER_LINUX\\) = %#x \\([^)]*\\)\n", saved_pers); + printf("personality\\(%s\\) = %#x \\([^)]*\\)\n", + linux_type_str, saved_pers); personality(0xffffffff); - puts("personality\\(0xffffffff\\) = 0 \\(PER_LINUX\\)"); + printf("personality\\(0xffffffff\\) = 0 \\(%s\\)\n", linux_type_str); personality(good_flags); - printf("personality\\(PER_LINUX\\|%s\\) = 0 \\(PER_LINUX\\)\n", - good_flags_str); + printf("personality\\(%s\\|%s\\) = 0 \\(%s\\)\n", + linux_type_str, good_flags_str, linux_type_str); personality(bad_flags); - printf("personality\\(PER_LINUX\\|%s\\)" - " = %#x \\(PER_LINUX\\|%s\\)\n", - bad_flags_str, good_flags, good_flags_str); + printf("personality\\(%s\\|%s\\)" + " = %#x \\(%s\\|%s\\)\n", + linux_type_str, bad_flags_str, + good_flags, linux_type_str, good_flags_str); personality(good_flags | bad_flags); - printf("personality\\(PER_LINUX\\|%s\\|%s\\)" - " = %#x \\(PER_LINUX\\|%s\\)\n", - good_flags_str, bad_flags_str, bad_flags, bad_flags_str); + printf("personality\\(%s\\|%s\\)" + " = %#x \\(%s\\|%s\\)\n", + linux_type_str, good_bad_flags_str, + bad_flags, linux_type_str, bad_flags_str); /* another valid type */ personality(good_type); - printf("personality\\(%s\\) = %#x \\(PER_LINUX\\|%s\\|%s\\)\n", + printf("personality\\(%s\\) = %#x \\(%s\\|%s\\)\n", good_type_str, good_flags | bad_flags, - good_flags_str, bad_flags_str); + linux_type_str, good_bad_flags_str); personality(good_type | good_flags); printf("personality\\(%s\\|%s\\) = %#x \\(%s\\)\n", @@ -84,16 +110,16 @@ int main(void) good_type_str, good_flags_str); personality(good_type | good_flags | bad_flags); - printf("personality\\(%s\\|%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", - good_type_str, good_flags_str, bad_flags_str, + printf("personality\\(%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", + good_type_str, good_bad_flags_str, good_type | bad_flags, good_type_str, bad_flags_str); /* invalid type */ personality(bad_type); - printf("personality\\(%s\\) = %#x \\(%s\\|%s\\|%s\\)\n", + printf("personality\\(%s\\) = %#x \\(%s\\|%s\\)\n", bad_type_str, good_type | good_flags | bad_flags, - good_type_str, good_flags_str, bad_flags_str); + good_type_str, good_bad_flags_str); personality(bad_type | good_flags); printf("personality\\(%s\\|%s\\) = %#x \\(%s\\)\n", @@ -105,14 +131,14 @@ int main(void) bad_type_str, good_flags_str); personality(bad_type | good_flags | bad_flags); - printf("personality\\(%s\\|%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", - bad_type_str, good_flags_str, bad_flags_str, + printf("personality\\(%s\\|%s\\) = %#x \\(%s\\|%s\\)\n", + bad_type_str, good_bad_flags_str, bad_type | bad_flags, bad_type_str, bad_flags_str); personality(saved_pers); - printf("personality\\([^)]*\\) = %#x \\(%s\\|%s\\|%s\\)\n", + printf("personality\\([^)]*\\) = %#x \\(%s\\|%s\\)\n", bad_type | good_flags | bad_flags, - bad_type_str, good_flags_str, bad_flags_str); + bad_type_str, good_bad_flags_str); return 0; } diff --git a/tests/personality.test b/tests/personality.test index ab2faf48..d279bd11 100755 --- a/tests/personality.test +++ b/tests/personality.test @@ -5,5 +5,5 @@ . "${srcdir=.}/init.sh" run_prog > /dev/null -run_strace -a20 -epersonality $args > "$EXP" +run_strace -a20 -epersonality "$@" $args > "$EXP" match_grep "$LOG" "$EXP" diff --git a/tests/poll.c b/tests/poll.c index c5930a3e..9624bd3c 100644 --- a/tests/poll.c +++ b/tests/poll.c @@ -95,7 +95,7 @@ print_pollfd_array_entering(const struct pollfd *const pfd, if (i) tprintf(", "); if (i >= valid) { - tprintf("%p", &pfd[i]); + tprintf("... /* %p */", &pfd[i]); break; } if (i >= abbrev) { diff --git a/tests/prctl-spec-inject.c b/tests/prctl-spec-inject.c new file mode 100644 index 00000000..593c3a60 --- /dev/null +++ b/tests/prctl-spec-inject.c @@ -0,0 +1,153 @@ +/* + * Check decoding of PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL + * prctl operations. + * + * 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 + +#ifdef __NR_prctl + +# include +# include +# include +# include + +static long injected_val; + +long +do_prctl(kernel_ulong_t cmd, kernel_ulong_t arg2, kernel_ulong_t arg3) +{ + long rc = syscall(__NR_prctl, cmd, arg2, arg3); + + if (rc != injected_val) + error_msg_and_fail("Return value (%ld) differs from expected " + "injected value (%ld)", + rc, injected_val); + + return rc; +} + +int +main(int argc, char **argv) +{ + static const kernel_ulong_t bogus_arg2 = + (kernel_ulong_t) 0xdeadfacebadc0dedULL; + static const kernel_ulong_t bogus_arg3 = + (kernel_ulong_t) 0xdecafeedbeefda7eULL; + static const struct { + long arg; + const char *str; + } get_strs[] = { + { -1, "" }, + { 0, " (PR_SPEC_NOT_AFFECTED)" }, + { 1, " (PR_SPEC_PRCTL)" }, + { 3, " (PR_SPEC_PRCTL|PR_SPEC_ENABLE)" }, + { 8, " (PR_SPEC_FORCE_DISABLE)" }, + { 16, " (0x10)" }, + { 42, " (PR_SPEC_ENABLE|PR_SPEC_FORCE_DISABLE|0x20)" }, + }; + static const struct { + kernel_ulong_t arg; + const char *str; + } set_strs[] = { + { 0, "0 /* PR_SPEC_??? */" }, + { 1, "0x1 /* PR_SPEC_??? */" }, + { 2, "PR_SPEC_ENABLE" }, + { 3, "0x3 /* PR_SPEC_??? */" }, + { 8, "PR_SPEC_FORCE_DISABLE" }, + { 16, "0x10 /* PR_SPEC_??? */" }, + { (kernel_ulong_t) 0xdecafeedbeefda7eULL, "0x" +# if SIZEOF_KERNEL_LONG_T == 8 + "decafeed" +# endif + "beefda7e /* PR_SPEC_??? */" }, + }; + + long rc; + const char *str = NULL; + + if (argc < 2) + error_msg_and_fail("Usage: %s INJECTED_VAL", argv[0]); + + injected_val = strtol(argv[1], NULL, 0); + + /* PR_GET_SPECULATION_CTRL */ + rc = do_prctl(52, 1, bogus_arg3); + printf("prctl(PR_GET_SPECULATION_CTRL, 0x1 /* PR_SPEC_??? */) " + "= %s (INJECTED)\n", sprintrc(rc)); + + rc = do_prctl(52, bogus_arg2, bogus_arg3); + printf("prctl(PR_GET_SPECULATION_CTRL, %#llx /* PR_SPEC_??? */) " + "= %s (INJECTED)\n", + (unsigned long long) bogus_arg2, sprintrc(rc)); + + rc = do_prctl(52, 0, bogus_arg3); + + for (unsigned i = 0; i < ARRAY_SIZE(get_strs); i++) { + if (get_strs[i].arg == rc) { + str = get_strs[i].str; + break; + } + } + if (!str) + error_msg_and_fail("Unknown return value: %ld", rc); + + printf("prctl(PR_GET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS) " + "= %s%s (INJECTED)\n", sprintrc(rc), str); + + + /* PR_SET_SPECULATION_CTRL*/ + rc = do_prctl(53, 1, bogus_arg3); + printf("prctl(PR_SET_SPECULATION_CTRL, 0x1 /* PR_SPEC_??? */, %#llx) " + "= %s (INJECTED)\n", + (unsigned long long) bogus_arg3, sprintrc(rc)); + + rc = do_prctl(53, bogus_arg2, bogus_arg3); + printf("prctl(PR_SET_SPECULATION_CTRL, %#llx /* PR_SPEC_??? */, %#llx) " + "= %s (INJECTED)\n", + (unsigned long long) bogus_arg2, + (unsigned long long) bogus_arg3, + sprintrc(rc)); + + for (unsigned i = 0; i < ARRAY_SIZE(set_strs); i++) { + rc = do_prctl(53, 0, set_strs[i].arg); + printf("prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS" + ", %s) = %s (INJECTED)\n", + set_strs[i].str, sprintrc(rc)); + } + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("__NR_prctl") + +#endif diff --git a/tests/prctl-spec-inject.test b/tests/prctl-spec-inject.test new file mode 100755 index 00000000..c8fbe97f --- /dev/null +++ b/tests/prctl-spec-inject.test @@ -0,0 +1,55 @@ +#!/bin/sh -efu +# +# Check decoding of PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL +# prctl operations. +# +# 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=.}/scno_tampering.sh" + +fault_args='-a53 -e trace=prctl -e inject=prctl:' +prog="../$NAME" + +test_run_rval() +{ + local run rval injexpr + run="$1"; shift + rval="$1"; shift + injexpr="$1"; shift + + run_strace $fault_args$injexpr $prog $rval > "$EXP" + LC_ALL=C grep -Ev '^prctl\(PR_[GS]ET_([^S][^P][^E][^C]])' \ + < "$LOG" > "$OUT" + match_diff "$OUT" "$EXP" +} + +test_run_rval 0 -1 "error=ENOTTY" +test_run_rval 1 0 "retval=0" +test_run_rval 2 1 "retval=1" +test_run_rval 3 3 "retval=3" +test_run_rval 4 8 "retval=8" +test_run_rval 5 16 "retval=16" +test_run_rval 6 42 "retval=42" diff --git a/tests/preadv-pwritev.c b/tests/preadv-pwritev.c index 44ed23a4..57a08ad1 100644 --- a/tests/preadv-pwritev.c +++ b/tests/preadv-pwritev.c @@ -2,7 +2,7 @@ * Check decoding of preadv and pwritev syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -99,7 +99,7 @@ main(void) tprintf("pwritev(1, [], 0, 0) = 0\n"); rc = pwritev(1, w_iov + ARRAY_SIZE(w_iov_) - 1, 2, 0); - tprintf("pwritev(1, [{iov_base=\"%s\", iov_len=%u}, %p], 2, 0)" + tprintf("pwritev(1, [{iov_base=\"%s\", iov_len=%u}, ... /* %p */], 2, 0)" " = %ld %s (%m)\n", w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_), rc, errno2name()); diff --git a/tests/preadv2-pwritev2.c b/tests/preadv2-pwritev2.c index 89f37dd6..7874b7a0 100644 --- a/tests/preadv2-pwritev2.c +++ b/tests/preadv2-pwritev2.c @@ -2,7 +2,7 @@ * Check decoding of preadv2 and pwritev2 syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -104,7 +104,7 @@ dumpio(void) tprintf("pwritev2(1, [], 0, 0, 0) = 0\n"); rc = pw(1, w_iov + ARRAY_SIZE(w_iov_) - 1, 2, 0); - tprintf("pwritev2(1, [{iov_base=\"%s\", iov_len=%u}, %p], 2, 0, 0)" + tprintf("pwritev2(1, [{iov_base=\"%s\", iov_len=%u}, ... /* %p */], 2, 0, 0)" " = %ld %s (%m)\n", w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_), rc, errno2name()); diff --git a/tests/print_quoted_string.c b/tests/print_quoted_string.c index 3ca56318..a58b69ac 100644 --- a/tests/print_quoted_string.c +++ b/tests/print_quoted_string.c @@ -33,6 +33,18 @@ print_quoted_cstring(const char *instr, const size_t size) } } +void +print_quoted_stringn(const char *instr, const size_t size) +{ + const size_t len = strnlen(instr, size); + if (len < size) { + print_quoted_memory(instr, len); + } else { + print_quoted_memory(instr, size); + printf("..."); + } +} + static void print_octal(unsigned char c, char next) { diff --git a/tests/process_vm_readv_writev.c b/tests/process_vm_readv_writev.c index 5ee801b0..328dc9f4 100644 --- a/tests/process_vm_readv_writev.c +++ b/tests/process_vm_readv_writev.c @@ -2,7 +2,7 @@ * Check decoding of process_vm_readv/process_vm_writev syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -135,7 +135,7 @@ print_iov(const struct iovec *iov, const void *arg_ptr, long rc) } if (arg->addr_term) - printf(", %p", iov + arg->count); + printf(", ... /* %p */", iov + arg->count); printf("]"); } diff --git a/tests/ptrace.c b/tests/ptrace.c index 5c09fa32..2ca9ceb3 100644 --- a/tests/ptrace.c +++ b/tests/ptrace.c @@ -60,10 +60,11 @@ test_peeksiginfo(unsigned long pid, const unsigned long bad_request) printf("ptrace(PTRACE_PEEKSIGINFO, %u, NULL, %#lx) = %s\n", (unsigned) pid, bad_request, errstr); - struct { + struct psi { unsigned long long off; unsigned int flags, nr; - } *const psi = tail_alloc(sizeof(*psi)); + }; + TAIL_ALLOC_OBJECT_CONST_PTR(struct psi, psi); psi->off = 0xdeadbeeffacefeedULL; psi->flags = 1; @@ -179,7 +180,7 @@ main(void) const unsigned long pid = (unsigned long) 0xdefaced00000000ULL | (unsigned) getpid(); - uint64_t *filter_off = tail_alloc(sizeof(*filter_off)); + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, filter_off); const unsigned int sigset_size = get_sigset_size(); diff --git a/tests/pure_executables.am b/tests/pure_executables.am index bbb3ad9f..c65f4cad 100644 --- a/tests/pure_executables.am +++ b/tests/pure_executables.am @@ -8,9 +8,14 @@ PURE_EXECUTABLES = \ add_key \ adjtimex \ aio \ + aio_pgetevents \ alarm \ bpf \ bpf-v \ + bpf-obj_get_info_by_fd \ + bpf-obj_get_info_by_fd-v \ + bpf-obj_get_info_by_fd-prog \ + bpf-obj_get_info_by_fd-prog-v \ brk \ btrfs \ caps \ @@ -43,6 +48,9 @@ PURE_EXECUTABLES = \ fallocate \ fanotify_init \ fanotify_mark \ + fanotify_mark-Xabbrev \ + fanotify_mark-Xraw \ + fanotify_mark-Xverbose \ fchdir \ fchmod \ fchmodat \ @@ -105,10 +113,13 @@ PURE_EXECUTABLES = \ ioctl_block \ ioctl_dm \ ioctl_evdev \ + ioctl_inotify \ ioctl_kvm_run \ ioctl_loop \ ioctl_mtd \ ioctl_rtc \ + ioctl_perf \ + ioctl_ptp \ ioctl_scsi \ ioctl_sg_io_v3 \ ioctl_sg_io_v4 \ @@ -121,15 +132,30 @@ PURE_EXECUTABLES = \ ip_mreq \ ipc \ ipc_msg \ + ipc_msg-Xabbrev \ + ipc_msg-Xraw \ + ipc_msg-Xverbose \ ipc_msgbuf \ + ipc_msgbuf-Xabbrev \ + ipc_msgbuf-Xraw \ + ipc_msgbuf-Xverbose \ ipc_sem \ + ipc_sem-Xabbrev \ + ipc_sem-Xraw \ + ipc_sem-Xverbose \ ipc_shm \ + ipc_shm-Xabbrev \ + ipc_shm-Xraw \ + ipc_shm-Xverbose \ kcmp \ kcmp-y \ kern_features \ kexec_file_load \ kexec_load \ keyctl \ + keyctl-Xabbrev \ + keyctl-Xraw \ + keyctl-Xverbose \ kill \ lchown \ lchown32 \ @@ -154,11 +180,20 @@ PURE_EXECUTABLES = \ mlock2 \ mlockall \ mmap \ + mmap-Xabbrev \ + mmap-Xraw \ + mmap-Xverbose \ mmap64 \ + mmap64-Xabbrev \ + mmap64-Xraw \ + mmap64-Xverbose \ mmsg \ mmsg_name \ modify_ldt \ mount \ + mount-Xabbrev \ + mount-Xraw \ + mount-Xverbose \ move_pages \ mq \ mq_sendrecv \ @@ -205,7 +240,9 @@ PURE_EXECUTABLES = \ nlattr_ifaddrlblmsg \ nlattr_ifaddrmsg \ nlattr_ifinfomsg \ + nlattr_ifla_af_spec \ nlattr_ifla_brport \ + nlattr_ifla_linkinfo \ nlattr_ifla_port \ nlattr_ifla_xdp \ nlattr_inet_diag_msg \ @@ -230,6 +267,9 @@ PURE_EXECUTABLES = \ old_mmap \ old_mmap-P \ old_mmap-v-none \ + old_mmap-Xabbrev \ + old_mmap-Xraw \ + old_mmap-Xverbose \ oldfstat \ oldlstat \ oldselect \ @@ -241,6 +281,9 @@ PURE_EXECUTABLES = \ pause \ perf_event_open \ personality \ + personality-Xabbrev \ + personality-Xraw \ + personality-Xverbose \ pipe \ pipe2 \ pkey_alloc \ @@ -357,7 +400,13 @@ PURE_EXECUTABLES = \ sigsuspend \ so_linger \ so_peercred \ + so_peercred-Xabbrev \ + so_peercred-Xraw \ + so_peercred-Xverbose \ sock_filter-v \ + sock_filter-v-Xabbrev \ + sock_filter-v-Xraw \ + sock_filter-v-Xverbose \ socketcall \ sockopt-sol_netlink \ splice \ diff --git a/tests/pure_executables.list b/tests/pure_executables.list index d78bd4d5..39565d0c 100755 --- a/tests/pure_executables.list +++ b/tests/pure_executables.list @@ -7,9 +7,14 @@ acct add_key adjtimex aio +aio_pgetevents alarm bpf bpf-v +bpf-obj_get_info_by_fd +bpf-obj_get_info_by_fd-v +bpf-obj_get_info_by_fd-prog +bpf-obj_get_info_by_fd-prog-v brk btrfs caps @@ -42,6 +47,9 @@ fadvise64_64 fallocate fanotify_init fanotify_mark +fanotify_mark-Xabbrev +fanotify_mark-Xraw +fanotify_mark-Xverbose fchdir fchmod fchmodat @@ -104,10 +112,13 @@ ioctl ioctl_block ioctl_dm ioctl_evdev +ioctl_inotify ioctl_kvm_run ioctl_loop ioctl_mtd ioctl_rtc +ioctl_perf +ioctl_ptp ioctl_scsi ioctl_sg_io_v3 ioctl_sg_io_v4 @@ -120,15 +131,30 @@ ioprio ip_mreq ipc ipc_msg +ipc_msg-Xabbrev +ipc_msg-Xraw +ipc_msg-Xverbose ipc_msgbuf +ipc_msgbuf-Xabbrev +ipc_msgbuf-Xraw +ipc_msgbuf-Xverbose ipc_sem +ipc_sem-Xabbrev +ipc_sem-Xraw +ipc_sem-Xverbose ipc_shm +ipc_shm-Xabbrev +ipc_shm-Xraw +ipc_shm-Xverbose kcmp kcmp-y kern_features kexec_file_load kexec_load keyctl +keyctl-Xabbrev +keyctl-Xraw +keyctl-Xverbose kill lchown lchown32 @@ -153,11 +179,20 @@ mlock mlock2 mlockall mmap +mmap-Xabbrev +mmap-Xraw +mmap-Xverbose mmap64 +mmap64-Xabbrev +mmap64-Xraw +mmap64-Xverbose mmsg mmsg_name modify_ldt mount +mount-Xabbrev +mount-Xraw +mount-Xverbose move_pages mq mq_sendrecv @@ -204,7 +239,9 @@ nlattr_fib_rule_hdr nlattr_ifaddrlblmsg nlattr_ifaddrmsg nlattr_ifinfomsg +nlattr_ifla_af_spec nlattr_ifla_brport +nlattr_ifla_linkinfo nlattr_ifla_port nlattr_ifla_xdp nlattr_inet_diag_msg @@ -229,6 +266,9 @@ nlattr_unix_diag_msg old_mmap old_mmap-P old_mmap-v-none +old_mmap-Xabbrev +old_mmap-Xraw +old_mmap-Xverbose oldfstat oldlstat oldselect @@ -240,6 +280,9 @@ osf_utimes pause perf_event_open personality +personality-Xabbrev +personality-Xraw +personality-Xverbose pipe pipe2 pkey_alloc @@ -356,7 +399,13 @@ sigreturn sigsuspend so_linger so_peercred +so_peercred-Xabbrev +so_peercred-Xraw +so_peercred-Xverbose sock_filter-v +sock_filter-v-Xabbrev +sock_filter-v-Xraw +sock_filter-v-Xverbose socketcall sockopt-sol_netlink splice diff --git a/tests/pwritev.c b/tests/pwritev.c index 58e5b41e..3c2bdb6f 100644 --- a/tests/pwritev.c +++ b/tests/pwritev.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2014-2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -65,7 +66,7 @@ print_iovec(const struct iovec *iov, unsigned int cnt, unsigned int size) if (i) fputs(", ", stdout); if (i == size) { - printf("%p", &iov[i]); + printf("... /* %p */", &iov[i]); break; } if (i == LIM) { diff --git a/tests/qual_fault-syntax.test b/tests/qual_fault-syntax.test index 43ade769..7f7a515c 100755 --- a/tests/qual_fault-syntax.test +++ b/tests/qual_fault-syntax.test @@ -86,6 +86,12 @@ for arg in chdir:42 \!chdir:42 \ chdir:retval=0 \ chdir:signal=1 \ chdir:error=1:error=2 \ + chdir:syscall=invalid \ + chdir:syscall=chdir \ + chdir:syscall=%file \ + chdir:syscall=-42 \ + chdir:syscall=42 \ + chdir:syscall=gettid:syscall=gettid \ ; do $STRACE -e fault="$arg" true 2> "$LOG" && fail_with "$arg" diff --git a/tests/qual_fault-syscall.test b/tests/qual_fault-syscall.test new file mode 100755 index 00000000..cae97f5e --- /dev/null +++ b/tests/qual_fault-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_fault +. "${srcdir=.}/qual_fault.test" diff --git a/tests/qual_fault.c b/tests/qual_fault.c index 670d9fe7..d5d78bcd 100644 --- a/tests/qual_fault.c +++ b/tests/qual_fault.c @@ -77,8 +77,9 @@ invoke(int fail) err, rc, errno); if (is_raw) - tprintf("writev(%#x, %p, 0x1) = -1 (errno %d)" - " (INJECTED)\n", got_fd, &io, err); + tprintf("writev(%#x, %p, 0x1)" + " = -1 %s (%m) (INJECTED)\n", + got_fd, &io, errstr); else tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)" " = -1 %s (%m) (INJECTED)\n", diff --git a/tests/qual_fault.test b/tests/qual_fault.test index 12b0a850..e166ffd0 100755 --- a/tests/qual_fault.test +++ b/tests/qual_fault.test @@ -1,9 +1,9 @@ -#!/bin/sh +#!/bin/sh -efu # # Check that fault injection works properly. # # Copyright (c) 2016 Dmitry V. Levin -# 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 @@ -37,6 +37,9 @@ N=100 +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + check_fault_injection() { local trace fault err first step procs extra @@ -79,7 +82,7 @@ check_fault_injection() outpid="$NAME.pid" run_strace -a11 -ff -e trace=$trace \ - "$@" -e fault=$fault$when$error $extra \ + "$@" -e fault=$fault$when$error$suffix $extra \ ../$NAME $raw "$err" "$first" "$step" $N \ "$procs" "$outexp" "$outgot" "$outout" "$outpid" @@ -87,8 +90,8 @@ check_fault_injection() do pid=$(cat "$outpid.$i") - match_diff "$outout.$i" "$LOG.$pid" - match_diff "$outexp.$i" "$outgot.$i" + match_diff "$LOG.$pid" "$outout.$i" + match_diff "$outgot.$i" "$outexp.$i" done } diff --git a/tests/qual_inject-error-signal-syscall.test b/tests/qual_inject-error-signal-syscall.test new file mode 100755 index 00000000..0adb35d7 --- /dev/null +++ b/tests/qual_inject-error-signal-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_inject-error-signal +. "${srcdir=.}/qual_inject-error-signal.test" diff --git a/tests/qual_inject-error-signal.test b/tests/qual_inject-error-signal.test index 1fe46126..93d8321d 100755 --- a/tests/qual_inject-error-signal.test +++ b/tests/qual_inject-error-signal.test @@ -3,6 +3,10 @@ # Check fault injection along with signal injection. . "${srcdir=.}/scno_tampering.sh" -run_strace -a12 -echdir,exit_group -einject=chdir:error=ENOENT:signal=USR1 \ +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + +run_strace -a12 -echdir,exit_group \ + -einject=chdir:error=ENOENT:signal=USR1"$suffix" \ "../$NAME" match_diff diff --git a/tests/qual_inject-retval-syscall.test b/tests/qual_inject-retval-syscall.test new file mode 100755 index 00000000..fca9354c --- /dev/null +++ b/tests/qual_inject-retval-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_inject-retval +. "${srcdir=.}/qual_inject-retval.test" diff --git a/tests/qual_inject-retval.test b/tests/qual_inject-retval.test index 5a4efd11..239ab0a4 100755 --- a/tests/qual_inject-retval.test +++ b/tests/qual_inject-retval.test @@ -4,6 +4,9 @@ . "${srcdir=.}/scno_tampering.sh" +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + check_injection() { local syscall rval @@ -11,7 +14,7 @@ check_injection() syscall=chdir rval="$1"; shift - run_strace -a12 -e$syscall -einject="$syscall:retval=$rval" "$@" \ + run_strace -a12 -e$syscall -einject="$syscall:retval=$rval$suffix" "$@" \ ../qual_inject-retval "$rval" > "$EXP" match_diff "$LOG" "$EXP" } diff --git a/tests/qual_inject-signal-syscall.test b/tests/qual_inject-signal-syscall.test new file mode 100755 index 00000000..42e9a268 --- /dev/null +++ b/tests/qual_inject-signal-syscall.test @@ -0,0 +1,3 @@ +suffix=:syscall=gettid +name_override=qual_inject-signal +. "${srcdir=.}/qual_inject-signal.test" diff --git a/tests/qual_inject-signal.test b/tests/qual_inject-signal.test index f17e5a01..7f75a8e7 100755 --- a/tests/qual_inject-signal.test +++ b/tests/qual_inject-signal.test @@ -3,6 +3,9 @@ # Check signal injection. . "${srcdir=.}/init.sh" -run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1 \ +: ${suffix=} +[ -z "${name_override-}" ] || NAME="$name_override" + +run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1"$suffix" \ ../$NAME match_diff diff --git a/tests/qual_inject-syntax.test b/tests/qual_inject-syntax.test index 20bc0c3b..a53b01c4 100755 --- a/tests/qual_inject-syntax.test +++ b/tests/qual_inject-syntax.test @@ -102,6 +102,12 @@ for arg in 42 chdir \ 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 \ + chdir:syscall=invalid \ + chdir:syscall=chdir \ + chdir:syscall=%file \ + chdir:syscall=-42 \ + chdir:syscall=42 \ + chdir:syscall=gettid:syscall=gettid \ ; do $STRACE -e inject="$arg" true 2> "$LOG" && fail_with "$arg" diff --git a/tests/qualify_personality.sh b/tests/qualify_personality.sh new file mode 100644 index 00000000..7b19a2e4 --- /dev/null +++ b/tests/qualify_personality.sh @@ -0,0 +1,94 @@ +#! /bin/sh -efu +# +# Common code for per-personality qualification tests +# +# 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" + +[ 2 -le "$#" ] || + fail_ 'No personality designation ("64", "32", "x32") specified' + +pers="$1" +shift +trace_expr="$1" +shift +skip="${1-}" + +case "$STRACE_NATIVE_ARCH" in +x86_64) + supported_pers='64 32 x32' + ;; +x32) + supported_pers='x32 32' + ;; +aarch64|powerpc64|riscv|s390x|sparc64|tile) + supported_pers='64 32' + ;; +*) + supported_pers="$(($SIZEOF_LONG * 8))" + ;; +esac + +# Detect current personality designation +if [ "x$STRACE_NATIVE_ARCH" = "x$STRACE_ARCH" ]; then + case "$STRACE_NATIVE_ARCH" in + x32) + cur_pers=x32 + ;; + *) + cur_pers="$(($SIZEOF_LONG * 8))" + ;; + esac +else + if [ "x$SIZEOF_KERNEL_LONG_T" = "x$SIZEOF_LONG" ]; then + [ 4 -eq "$SIZEOF_LONG" ] || + fail_ "sizeof(long) = $SIZEOF_LONG != 4" + cur_pers=32 + else + [ 8 -eq "$SIZEOF_KERNEL_LONG_T" ] || + fail_ "sizeof(kernel_long_t) = $SIZEOF_KERNEL_LONG_T != 8" + [ 4 -eq "$SIZEOF_LONG" ] || + fail_ "sizeof(long) = $SIZEOF_LONG != 4" + cur_pers=x32 + fi +fi + +pers_found=0 +set -- $supported_pers +for i; do + [ "x$pers" != "x$i" ] || pers_found=1 +done + +[ "$pers_found" = 1 ] || + skip_ "Personality '$pers' is not supported on architecture" \ + "'$STRACE_NATIVE_ARCH' (supported personalities: $supported_pers)" + +# If tested personality is not equivalent to current personality, reset $NAME, +# so "$NAME.in", which is used by test_trace_expr, points to an empty file. +[ "x$pers" = "x$cur_pers" ] || NAME=qualify_personality_empty + +test_trace_expr "$skip" -e trace="${trace_expr}@${pers}" diff --git a/tests/qualify_personality_empty.in b/tests/qualify_personality_empty.in new file mode 100644 index 00000000..e69de29b diff --git a/tests/readv.c b/tests/readv.c index 8430ca56..cae4e6bd 100644 --- a/tests/readv.c +++ b/tests/readv.c @@ -2,7 +2,7 @@ * Check decoding of readv and writev syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -89,7 +89,7 @@ main(void) fds[1], (long) writev(fds[1], w_iov, 0)); rc = writev(fds[1], w_iov + ARRAY_SIZE(w_iov_) - 1, 2); - tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%u}, %p], 2)" + tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%u}, ... /* %p */], 2)" " = %ld %s (%m)\n", fds[1], w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_), rc, errno2name()); diff --git a/tests/request_key.c b/tests/request_key.c index 866fe76e..ce9b7245 100644 --- a/tests/request_key.c +++ b/tests/request_key.c @@ -2,7 +2,7 @@ * Check decoding of request_key syscall. * * Copyright (c) 2016 Eugene Syromyatnikov - * 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 @@ -101,7 +101,7 @@ main(void) { bogus_desc, NULL }, { ARG_STR("\25\26\27\30\31") }, { ARG_STR("desc") }, - { "overly long description", _STR("overly long ") "..." }, + { "overly long description", STRINGIFY("overly long ") "..." }, }; struct { @@ -113,7 +113,7 @@ main(void) { bogus_info, NULL }, { ARG_STR("\32\33\34\35\36") }, { ARG_STR("info") }, - { "overly long info", _STR("overly long ") "..." }, + { "overly long info", STRINGIFY("overly long ") "..." }, }; struct { diff --git a/tests/s390_guarded_storage.c b/tests/s390_guarded_storage.c index 69ac166d..97475bbc 100644 --- a/tests/s390_guarded_storage.c +++ b/tests/s390_guarded_storage.c @@ -175,8 +175,8 @@ main(void) static const kernel_ulong_t bogus_addr = (kernel_ulong_t) 0xfacefeedac0ffeedULL; - struct gs_cb *gscb = tail_alloc(sizeof(*gscb)); - struct gs_epl *gsepl = tail_alloc(sizeof(*gsepl)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct gs_cb, gscb); + TAIL_ALLOC_OBJECT_CONST_PTR(struct gs_epl, gsepl); long rc; diff --git a/tests/s390_runtime_instr.c b/tests/s390_runtime_instr.c index 861bbd4a..5d368a1a 100644 --- a/tests/s390_runtime_instr.c +++ b/tests/s390_runtime_instr.c @@ -44,10 +44,11 @@ main(void) kernel_ulong_t cmd; const char * cmd_str; } cmd_args[] = { - { 0, "???" }, - { 4, "???" }, - { (kernel_ulong_t) 0xdeafbeefdeadc0deULL, "???" }, - { 2, "STOP", }, + { 0, "0 /* S390_RUNTIME_INSTR_??? */" }, + { 4, "4 /* S390_RUNTIME_INSTR_??? */" }, + { (kernel_ulong_t) 0xdeafbeefdeadc0deULL, + "-559038242 /* S390_RUNTIME_INSTR_??? */" }, + { 2, "S390_RUNTIME_INSTR_STOP" }, }; static struct { @@ -66,10 +67,8 @@ main(void) for (i = 0; i < ARRAY_SIZE(cmd_args); i++) { rc = syscall(__NR_s390_runtime_instr, cmd_args[i].cmd, 0xdead); - printf("s390_runtime_instr(%d /* S390_RUNTIME_INSTR_%s */) = " - "%s\n", - (int) cmd_args[i].cmd, cmd_args[i].cmd_str, - sprintrc(rc)); + printf("s390_runtime_instr(%s) = %s\n", + cmd_args[i].cmd_str, sprintrc(rc)); } for (i = 0; i < ARRAY_SIZE(start_sig_args); i++) { @@ -77,7 +76,7 @@ main(void) rc = syscall(__NR_s390_runtime_instr, 1, start_sig_args[i].sig); saved_errno = errno; - printf("s390_runtime_instr(1 /* S390_RUNTIME_INSTR_START */, "); + printf("s390_runtime_instr(S390_RUNTIME_INSTR_START, "); if (start_sig_args[i].sig_str) printf("%s", start_sig_args[i].sig_str); diff --git a/tests/s390_runtime_instr.gen.test b/tests/s390_runtime_instr.gen.test index 9197dc33..83e81502 100755 --- a/tests/s390_runtime_instr.gen.test +++ b/tests/s390_runtime_instr.gen.test @@ -1,4 +1,4 @@ #!/bin/sh -efu -# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (s390_runtime_instr -a50 ); do not edit. +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (s390_runtime_instr -a44 ); do not edit. . "${srcdir=.}/init.sh" -run_strace_match_diff -a50 +run_strace_match_diff -a44 diff --git a/tests/s390_sthyi.c b/tests/s390_sthyi.c index 8f6bbfb1..b7066e50 100644 --- a/tests/s390_sthyi.c +++ b/tests/s390_sthyi.c @@ -741,7 +741,7 @@ main(void) (kernel_ulong_t) 0xfee1deadfa57beefULL; unsigned char *buf = tail_alloc(PAGE_SIZE); - uint64_t *ret = tail_alloc(sizeof(*ret)); + TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, ret); long rc; diff --git a/tests/scno.h b/tests/scno.h index 7a055564..1912ef27 100644 --- a/tests/scno.h +++ b/tests/scno.h @@ -833,6 +833,9 @@ #ifndef __NR_statx # define __NR_statx (SYSCALL_BIT | 291) #endif +#ifndef __NR_io_pgetevents +# define __NR_io_pgetevents (SYSCALL_BIT | 292) +#endif #ifndef __NR_open # define __NR_open (SYSCALL_BIT | 1024) #endif diff --git a/tests/seccomp-filter-v.c b/tests/seccomp-filter-v.c index 34ab3b58..38def289 100644 --- a/tests/seccomp-filter-v.c +++ b/tests/seccomp-filter-v.c @@ -2,7 +2,7 @@ * Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER. * * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 @@ -118,7 +118,7 @@ main(void) prog->len = 3; syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, 0, prog); tprintf("seccomp(SECCOMP_SET_MODE_FILTER, 0, {len=%u" - ", filter=[%s, %p]}) = -1 EFAULT (%m)\n", + ", filter=[%s, ... /* %p */]}) = -1 EFAULT (%m)\n", prog->len, kill_stmt_txt, filter + ARRAY_SIZE(filter_c)); prog->len = 0; @@ -136,7 +136,8 @@ main(void) prog->filter = big_filter; prog->len = BPF_MAXINSNS + 1; tprintf("seccomp(SECCOMP_SET_MODE_FILTER, %s, {len=%u, filter=[", - "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|0xfffffffc", + "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|" + "SECCOMP_FILTER_FLAG_SPEC_ALLOW|0xfffffff8", prog->len); for (i = 0; i < BPF_MAXINSNS; ++i) { if (i) diff --git a/tests/seccomp-filter.c b/tests/seccomp-filter.c index 7bc76560..53f8363b 100644 --- a/tests/seccomp-filter.c +++ b/tests/seccomp-filter.c @@ -2,7 +2,7 @@ * Check decoding of seccomp SECCOMP_SET_MODE_FILTER. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -56,12 +56,13 @@ main(void) rc = syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, -1, prog); printf("seccomp(SECCOMP_SET_MODE_FILTER, %s, {len=%u, filter=%p})" " = %ld %s (%m)\n", - "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|0xfffffffc", + "SECCOMP_FILTER_FLAG_TSYNC|SECCOMP_FILTER_FLAG_LOG|" + "SECCOMP_FILTER_FLAG_SPEC_ALLOW|0xfffffff8", prog->len, prog->filter, rc, errno2name()); - rc = syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, -4L, efault); + rc = syscall(__NR_seccomp, SECCOMP_SET_MODE_FILTER, -8L, efault); printf("seccomp(SECCOMP_SET_MODE_FILTER, %s, %p) = %ld %s (%m)\n", - "0xfffffffc /* SECCOMP_FILTER_FLAG_??? */", + "0xfffffff8 /* SECCOMP_FILTER_FLAG_??? */", efault, rc, errno2name()); puts("+++ exited with 0 +++"); diff --git a/tests/semop.c b/tests/semop.c index 2366d385..4b14882c 100644 --- a/tests/semop.c +++ b/tests/semop.c @@ -64,11 +64,11 @@ main(void) sem_b2->sem_flg = 0xbeef; rc = semop(bogus_semid, sem_b2, 2); - printf("semop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u) = %s\n", + printf("semop(%d, [{%hu, %hd, %s%s%#hx}, ... /* %p */], %u) = %s\n", bogus_semid, sem_b2->sem_num, sem_b2->sem_op, sem_b2->sem_flg & SEM_UNDO ? "SEM_UNDO|" : "", sem_b2->sem_flg & IPC_NOWAIT ? "IPC_NOWAIT|" : "", - sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT), + (short) (sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT)), sem_b2 + 1, 2, sprintrc(rc)); if (semop(id, sem_b, 1)) @@ -91,12 +91,12 @@ main(void) ts->tv_sec = 1; ts->tv_nsec = 123456789; rc = semtimedop(bogus_semid, sem_b2, 2, ts); - printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u" + printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, ... /* %p */], %u" ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n", bogus_semid, sem_b2->sem_num, sem_b2->sem_op, sem_b2->sem_flg & SEM_UNDO ? "SEM_UNDO|" : "", sem_b2->sem_flg & IPC_NOWAIT ? "IPC_NOWAIT|" : "", - sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT), + (short) (sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT)), sem_b2 + 1, 2, (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc)); diff --git a/tests/set_mempolicy.c b/tests/set_mempolicy.c index f3261a09..96ad7dbc 100644 --- a/tests/set_mempolicy.c +++ b/tests/set_mempolicy.c @@ -2,6 +2,7 @@ * Check decoding of set_mempolicy syscall. * * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -76,7 +77,7 @@ print_nodes(const unsigned long maxnode, unsigned int offset) printf("%#0*lx", (int) sizeof(long) * 2 + 2, nodemask[i]); } else { - printf("%p", nodemask + i); + printf("... /* %p */", nodemask + i); break; } } diff --git a/tests/setgroups.c b/tests/setgroups.c index 5645c22b..a2851be6 100644 --- a/tests/setgroups.c +++ b/tests/setgroups.c @@ -2,7 +2,7 @@ * Check decoding of setgroups/setgroups32 syscalls. * * Copyright (c) 2016 Dmitry V. Levin - * 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 @@ -115,7 +115,7 @@ main(void) errstr = sprintrc(rc); printf("%s(2, [", SYSCALL_NAME); printuid(*g1); - printf(", %p]) = %s\n", g1 + 1, errstr); + printf(", ... /* %p */]) = %s\n", g1 + 1, errstr); g2[0] = -2; g2[1] = -3; @@ -133,7 +133,7 @@ main(void) printuid(g2[0]); printf(", "); printuid(g2[1]); - printf(", %p]) = %s\n", g2 + 2, errstr); + printf(", ... /* %p */]) = %s\n", g2 + 2, errstr); g3[0] = 0; g3[1] = 1; diff --git a/tests/signal_receive.c b/tests/signal_receive.c index 01c52e8c..a464b8c0 100644 --- a/tests/signal_receive.c +++ b/tests/signal_receive.c @@ -1,43 +1,127 @@ +/* + * Check decoding of signal delivery. + * + * 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 "tests.h" #include #include #include -void sig_print(const char *signame, const int pid, const int uid) -{ - printf("kill(%d, %s) = 0\n" - "--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d" - ", si_uid=%d} ---\n", - pid, signame, signame, signame, pid, uid); -} +static volatile int s_sig, s_code, s_pid, s_uid; static void -handler(int sig) +handler(int sig, siginfo_t *info, void *ucontext) { + s_sig = info->si_signo; + s_code = info->si_code; + s_pid = info->si_pid; + s_uid = info->si_uid; } int main(void) { - int sig, pid = getpid(), uid = getuid(); - const struct sigaction act = { .sa_handler = handler }; - sigset_t mask; - sigemptyset(&mask); - - for (sig = 1; sig <= 31; sig++) { - if (sig != SIGKILL && sig != SIGSTOP) { - sigaction(sig, &act, NULL); - sigaddset(&mask, sig); + static const char prefix[] = "KERNEL BUG"; + int printed = 0; + + const int pid = getpid(); + const int uid = geteuid(); + + for (int sig = 1; sig <= 31; ++sig) { + if (sig == SIGKILL || sig == SIGSTOP) + continue; + + sigset_t mask; + sigemptyset(&mask); + sigaddset(&mask, sig); + if (sigprocmask(SIG_UNBLOCK, &mask, NULL)) + perror_msg_and_fail("sigprocmask"); + + static const struct sigaction act = { + .sa_sigaction = handler, + .sa_flags = SA_SIGINFO + }; + if (sigaction(sig, &act, NULL)) + perror_msg_and_fail("sigaction: %d", sig); + + if (kill(pid, sig) != 0) + perror_msg_and_fail("kill: %d", sig); + +#ifdef MPERS_IS_m32 + /* + * The tracee has received a compat siginfo_t but + * the tracer has received a native siginfo_t. + */ + const int e_sig = sig; + const int e_pid = pid; + const int e_uid = uid; +#else + /* + * If the tracee is a native process, + * then the tracer is also native. + * If the tracee is a compat process, + * then the tracer is also compat. + * Anyway, both the tracee and the tracer + * have received the same siginfo_t. + */ + const int e_sig = s_sig; + const int e_pid = s_pid; + const int e_uid = s_uid; +#endif + printf("kill(%d, %s) = 0\n", pid, signal2name(sig)); + printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d" + ", si_uid=%d} ---\n", + signal2name(sig), signal2name(e_sig), e_pid, e_uid); + + if (s_code || sig != s_sig || pid != s_pid || uid != s_uid) { + /* + * The kernel has failed to initialize siginfo_t + * properly. There is nothing that could be done + * on the strace side to workaround the kernel bug, + * so just print some useful diagnostics. + */ + if (!printed) { + printed = 1; + fprintf(stderr, "%s: siginfo_t\n", prefix); + } + fprintf(stderr, + "%s: expected: si_signo=%d, si_code=%d" + ", si_pid=%d, si_uid=%d\n" + "%s: received: si_signo=%d, si_code=%d" + ", si_pid=%d, si_uid=%d\n", + prefix, sig, SI_USER, pid, uid, + prefix, sig, s_code, s_pid, s_uid); } } - sigprocmask(SIG_UNBLOCK, &mask, NULL); - for (sig = 1; sig <= 31; sig++) { - if (sig != SIGKILL && sig != SIGSTOP) { - if (kill(pid, sig) != 0) - perror_msg_and_fail("kill: %d", sig); - sig_print(signal2name(sig), pid, uid); - } + if (printed) { + fprintf(stderr, "%s: end of diagnostics\n" + "*** PLEASE FIX THE KERNEL ***\n", prefix); } puts("+++ exited with 0 +++"); diff --git a/tests/so_peercred-Xabbrev.c b/tests/so_peercred-Xabbrev.c new file mode 100644 index 00000000..a7056a66 --- /dev/null +++ b/tests/so_peercred-Xabbrev.c @@ -0,0 +1 @@ +#include "so_peercred.c" diff --git a/tests/so_peercred-Xabbrev.gen.test b/tests/so_peercred-Xabbrev.gen.test new file mode 100755 index 00000000..64a5538b --- /dev/null +++ b/tests/so_peercred-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (so_peercred-Xabbrev -e trace=getsockopt -Xabbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=getsockopt -Xabbrev diff --git a/tests/so_peercred-Xraw.c b/tests/so_peercred-Xraw.c new file mode 100644 index 00000000..e45f2df4 --- /dev/null +++ b/tests/so_peercred-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "so_peercred.c" diff --git a/tests/so_peercred-Xraw.gen.test b/tests/so_peercred-Xraw.gen.test new file mode 100755 index 00000000..471ae599 --- /dev/null +++ b/tests/so_peercred-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (so_peercred-Xraw -e trace=getsockopt -Xraw -a39); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=getsockopt -Xraw -a39 diff --git a/tests/so_peercred-Xverbose.c b/tests/so_peercred-Xverbose.c new file mode 100644 index 00000000..1bb47e98 --- /dev/null +++ b/tests/so_peercred-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "so_peercred.c" diff --git a/tests/so_peercred-Xverbose.gen.test b/tests/so_peercred-Xverbose.gen.test new file mode 100755 index 00000000..2926517b --- /dev/null +++ b/tests/so_peercred-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (so_peercred-Xverbose -e trace=getsockopt -Xverbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -e trace=getsockopt -Xverbose diff --git a/tests/so_peercred.c b/tests/so_peercred.c index 53bf0719..6eac8467 100644 --- a/tests/so_peercred.c +++ b/tests/so_peercred.c @@ -2,6 +2,7 @@ * Check decoding of SO_PEERCRED socket option. * * Copyright (c) 2017 Dmitry V. Levin + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -46,6 +47,28 @@ get_peercred(int fd, void *val, socklen_t *len) return rc; } +static const char * +so_str(void) +{ + static char buf[256]; + + if (!buf[0]) { +#if XLAT_RAW + snprintf(buf, sizeof(buf), + "%#x, %#x", SOL_SOCKET, SO_PEERCRED); +#elif XLAT_VERBOSE + snprintf(buf, sizeof(buf), + "%#x /* SOL_SOCKET */, %#x /* SO_PEERCRED */", + SOL_SOCKET, SO_PEERCRED); +#else + snprintf(buf, sizeof(buf), + "SOL_SOCKET, SO_PEERCRED"); +#endif + } + + return buf; +} + int main(void) { @@ -59,7 +82,7 @@ main(void) /* classic getsockopt */ *len = sizeof(*peercred); get_peercred(sv[0], peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", sv[0]); + printf("getsockopt(%d, %s", sv[0], so_str()); PRINT_FIELD_D(", {", *peercred, pid); PRINT_FIELD_UID(", ", *peercred, uid); PRINT_FIELD_UID(", ", *peercred, gid); @@ -72,7 +95,7 @@ main(void) /* getsockopt with optlen larger than necessary - shortened */ *len = sizeof(*peercred) + 1; get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", fd); + printf("getsockopt(%d, %s", fd, so_str()); PRINT_FIELD_D(", {", *peercred, pid); PRINT_FIELD_UID(", ", *peercred, uid); PRINT_FIELD_UID(", ", *peercred, gid); @@ -82,14 +105,14 @@ main(void) /* getsockopt with optlen smaller than usual - truncated to ucred.pid */ *len = sizeof(peercred->pid); get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", fd); + printf("getsockopt(%d, %s", fd, so_str()); PRINT_FIELD_D(", {", *peercred, pid); printf("}, [%d]) = %s\n", *len, errstr); /* getsockopt with optlen smaller than usual - truncated to ucred.uid */ *len = offsetof(struct ucred, gid); get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED", fd); + printf("getsockopt(%d, %s", fd, so_str()); PRINT_FIELD_D(", {", *peercred, pid); PRINT_FIELD_UID(", ", *peercred, uid); printf("}, [%d]) = %s\n", *len, errstr); @@ -97,20 +120,20 @@ main(void) /* getsockopt with optlen larger than usual - truncated to raw */ *len = sizeof(*peercred) - 1; get_peercred(fd, peercred, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED, ", fd); + printf("getsockopt(%d, %s, ", fd, so_str()); print_quoted_hex(peercred, *len); printf(", [%d]) = %s\n", *len, errstr); /* getsockopt optval EFAULT */ *len = sizeof(*peercred); get_peercred(fd, &peercred->uid, len); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED, %p, [%d]) = %s\n", - fd, &peercred->uid, *len, errstr); + printf("getsockopt(%d, %s, %p, [%d]) = %s\n", + fd, so_str(), &peercred->uid, *len, errstr); /* getsockopt optlen EFAULT */ get_peercred(fd, peercred, len + 1); - printf("getsockopt(%d, SOL_SOCKET, SO_PEERCRED, %p, %p) = %s\n", - fd, peercred, len + 1, errstr); + printf("getsockopt(%d, %s, %p, %p) = %s\n", + fd, so_str(), peercred, len + 1, errstr); puts("+++ exited with 0 +++"); return 0; diff --git a/tests/sock_filter-v-Xabbrev.c b/tests/sock_filter-v-Xabbrev.c new file mode 100644 index 00000000..ac680e2c --- /dev/null +++ b/tests/sock_filter-v-Xabbrev.c @@ -0,0 +1 @@ +#include "sock_filter-v.c" diff --git a/tests/sock_filter-v-Xabbrev.gen.test b/tests/sock_filter-v-Xabbrev.gen.test new file mode 100755 index 00000000..e52763fa --- /dev/null +++ b/tests/sock_filter-v-Xabbrev.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sock_filter-v-Xabbrev -v -e trace=getsockopt,setsockopt -X abbrev); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -v -e trace=getsockopt,setsockopt -X abbrev diff --git a/tests/sock_filter-v-Xraw.c b/tests/sock_filter-v-Xraw.c new file mode 100644 index 00000000..e85309c1 --- /dev/null +++ b/tests/sock_filter-v-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "sock_filter-v.c" diff --git a/tests/sock_filter-v-Xraw.gen.test b/tests/sock_filter-v-Xraw.gen.test new file mode 100755 index 00000000..3c7df814 --- /dev/null +++ b/tests/sock_filter-v-Xraw.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sock_filter-v-Xraw -a 37 -v -e trace=getsockopt,setsockopt -X raw); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -a 37 -v -e trace=getsockopt,setsockopt -X raw diff --git a/tests/sock_filter-v-Xverbose.c b/tests/sock_filter-v-Xverbose.c new file mode 100644 index 00000000..59d76bdf --- /dev/null +++ b/tests/sock_filter-v-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "sock_filter-v.c" diff --git a/tests/sock_filter-v-Xverbose.gen.test b/tests/sock_filter-v-Xverbose.gen.test new file mode 100755 index 00000000..b58c5b51 --- /dev/null +++ b/tests/sock_filter-v-Xverbose.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sock_filter-v-Xverbose -v -e trace=getsockopt,setsockopt -X verbose); do not edit. +. "${srcdir=.}/init.sh" +run_strace_match_diff -v -e trace=getsockopt,setsockopt -X verbose diff --git a/tests/sock_filter-v.c b/tests/sock_filter-v.c index 16d5c1cd..68297867 100644 --- a/tests/sock_filter-v.c +++ b/tests/sock_filter-v.c @@ -2,6 +2,7 @@ * Check decoding of socket filters. * * Copyright (c) 2017 Dmitry V. Levin + * Copyright (c) 2017-2018 The strace developers. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,16 +36,30 @@ #include #include -#define PRINT_STMT_SYM(pfx, code, k) PRINT_STMT_SYM_(pfx, #code, #k) -#define PRINT_STMT_SYM_(pfx, code, k) \ - printf("%sBPF_STMT(%s, %s)", pfx, code, k) -#define PRINT_STMT_VAL(pfx, code, k) PRINT_STMT_VAL_(pfx, #code, k) -#define PRINT_STMT_VAL_(pfx, code, k) \ - printf("%sBPF_STMT(%s, %#x)", pfx, code, k) +/* SO_GET_FILTER was introduced by Linux commit v3.8-rc1~139^2~518 */ +#ifndef SO_GET_FILTER +# define SO_GET_FILTER SO_ATTACH_FILTER +#endif + +#define HEX_FMT "%#x" + +#if XLAT_RAW +# define XLAT_FMT HEX_FMT +# define XLAT_ARGS(a_) (a_) +#elif XLAT_VERBOSE +# define XLAT_FMT HEX_FMT " /* %s */" +# define XLAT_ARGS(a_) (a_), #a_ +#else +# define XLAT_FMT "%s" +# define XLAT_ARGS(a_) #a_ +#endif -#define PRINT_JUMP(pfx, code, k, jt, jf) PRINT_JUMP_(pfx, #code, k, jt, jf) -#define PRINT_JUMP_(pfx, code, k, jt, jf) \ - printf("%sBPF_JUMP(%s, %#x, %#x, %#x)", pfx, code, k, jt, jf) +#define PRINT_STMT(pfx, code_fmt, k_fmt, ...) \ + printf("%sBPF_STMT(" code_fmt ", " k_fmt ")", pfx, __VA_ARGS__) + +#define PRINT_JUMP(pfx, code_fmt, k, jt, jf, ...) \ + printf("%sBPF_JUMP(" code_fmt ", %#x, %#x, %#x)", \ + pfx, __VA_ARGS__, k, jt, jf) static const struct sock_filter bpf_filter[] = { BPF_STMT(BPF_LD|BPF_B|BPF_ABS, SKF_LL_OFF+4), @@ -62,16 +77,43 @@ static const struct sock_filter bpf_filter[] = { static void print_filter(void) { - PRINT_STMT_SYM("[", BPF_LD|BPF_B|BPF_ABS, SKF_LL_OFF+4); - PRINT_STMT_SYM(", ", BPF_LD|BPF_B|BPF_ABS, SKF_NET_OFF+8); - PRINT_STMT_SYM(", ", BPF_LD|BPF_B|BPF_ABS, SKF_AD_OFF+SKF_AD_PROTOCOL); - PRINT_JUMP(", ", BPF_JMP|BPF_K|BPF_JEQ, IPPROTO_UDP, 0, 5); - PRINT_STMT_VAL(", ", BPF_LD|BPF_W|BPF_LEN, 0); - PRINT_JUMP(", ", BPF_JMP|BPF_K|BPF_JGE, 100, 0, 3); - PRINT_STMT_VAL(", ", BPF_LD|BPF_B|BPF_ABS, 42); - PRINT_JUMP(", ", BPF_JMP|BPF_K|BPF_JEQ, 'a', 0, 1); - PRINT_STMT_VAL(", ", BPF_RET|BPF_K, -1U); - PRINT_STMT_VAL(", ", BPF_RET|BPF_K, 0); + PRINT_STMT("[", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + XLAT_FMT "+4", + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + XLAT_ARGS(SKF_LL_OFF)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + XLAT_FMT "+8", + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + XLAT_ARGS(SKF_NET_OFF)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + XLAT_FMT "+" XLAT_FMT, + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + XLAT_ARGS(SKF_AD_OFF), XLAT_ARGS(SKF_AD_PROTOCOL)); + PRINT_JUMP(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + IPPROTO_UDP, 0, 5, + XLAT_ARGS(BPF_JMP), XLAT_ARGS(BPF_K), XLAT_ARGS(BPF_JEQ)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_W), XLAT_ARGS(BPF_LEN), + 0); + PRINT_JUMP(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + 100, 0, 3, + XLAT_ARGS(BPF_JMP), XLAT_ARGS(BPF_K), XLAT_ARGS(BPF_JGE)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_LD), XLAT_ARGS(BPF_B), XLAT_ARGS(BPF_ABS), + 42); + PRINT_JUMP(", ", XLAT_FMT "|" XLAT_FMT "|" XLAT_FMT, + 'a', 0, 1, + XLAT_ARGS(BPF_JMP), XLAT_ARGS(BPF_K), XLAT_ARGS(BPF_JEQ)); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_RET), XLAT_ARGS(BPF_K), + -1U); + PRINT_STMT(", ", XLAT_FMT "|" XLAT_FMT, + HEX_FMT, + XLAT_ARGS(BPF_RET), XLAT_ARGS(BPF_K), + 0); putchar(']'); } @@ -80,7 +122,7 @@ static const char *errstr; static int get_filter(int fd, void *val, socklen_t *len) { - int rc = getsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, val, len); + int rc = getsockopt(fd, SOL_SOCKET, SO_GET_FILTER, val, len); errstr = sprintrc(rc); return rc; } @@ -114,35 +156,41 @@ main(void) *len = BPF_MAXINSNS; rc = get_filter(fd, NULL, len); if (rc) - perror_msg_and_skip("getsockopt SOL_SOCKET SO_ATTACH_FILTER"); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER" - ", NULL, [%u->0]) = 0\n", fd, BPF_MAXINSNS); + perror_msg_and_skip("getsockopt SOL_SOCKET SO_GET_FILTER"); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", NULL, [%u->0]) " + "= 0\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), + BPF_MAXINSNS); /* getsockopt NULL optlen - EFAULT */ rc = get_filter(fd, NULL, NULL); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, NULL, NULL)" - " = %s\n", fd, errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", NULL, NULL) " + "= %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), errstr); /* attach a filter */ rc = set_filter(fd, prog, sizeof(*prog)); if (rc) perror_msg_and_skip("setsockopt SOL_SOCKET SO_ATTACH_FILTER"); - printf("setsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, {len=%u, filter=", - fd, prog->len); + printf("setsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", {len=%u, filter=", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_ATTACH_FILTER), + prog->len); print_filter(); printf("}, %u) = 0\n", (unsigned int) sizeof(*prog)); /* setsockopt optlen is too small - EINVAL */ rc = set_filter(fd, prog, sizeof(*prog) - 4); - printf("setsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p, %u) = %s\n", - fd, prog, (unsigned int) sizeof(*prog) - 4, errstr); + printf("setsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, %u) = %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_ATTACH_FILTER), prog, + (unsigned int) sizeof(*prog) - 4, errstr); #ifdef SO_ATTACH_REUSEPORT_CBPF rc = setsockopt(fd, SOL_SOCKET, SO_ATTACH_REUSEPORT_CBPF, prog, sizeof(*prog)); errstr = sprintrc(rc); - printf("setsockopt(%d, SOL_SOCKET, SO_ATTACH_REUSEPORT_CBPF" - ", {len=%u, filter=", fd, prog->len); + printf("setsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", {len=%u, filter=", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_ATTACH_REUSEPORT_CBPF), + prog->len); print_filter(); printf("}, %u) = %s\n", (unsigned int) sizeof(*prog), errstr); #endif @@ -150,28 +198,30 @@ main(void) /* query sock_filter program length -> ARRAY_SIZE(bpf_filter) */ *len = 0; rc = get_filter(fd, efault, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p" - ", [0->%u]) = %s\n", - fd, efault, (unsigned int) ARRAY_SIZE(bpf_filter), errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, [0->%u]) " + "= %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), efault, + (unsigned int) ARRAY_SIZE(bpf_filter), errstr); /* getsockopt optlen is too small - EINVAL */ *len = ARRAY_SIZE(bpf_filter) - 1; rc = get_filter(fd, efault, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p" - ", [%u]) = %s\n", - fd, efault, (unsigned int) ARRAY_SIZE(bpf_filter) - 1, errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, [%u]) = %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), efault, + (unsigned int) ARRAY_SIZE(bpf_filter) - 1, errstr); /* getsockopt optval EFAULT */ *len = ARRAY_SIZE(bpf_filter); rc = get_filter(fd, filter + 1, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, %p" - ", [%u]) = %s\n", fd, filter + 1, - (unsigned int) ARRAY_SIZE(bpf_filter), errstr); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", %p, [%u]) = %s\n", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER), + filter + 1, (unsigned int) ARRAY_SIZE(bpf_filter), errstr); /* getsockopt optlen is too large - truncated */ *len = ARRAY_SIZE(bpf_filter) + 1; rc = get_filter(fd, filter, len); - printf("getsockopt(%d, SOL_SOCKET, SO_ATTACH_FILTER, ", fd); + printf("getsockopt(%d, " XLAT_FMT ", " XLAT_FMT ", ", + fd, XLAT_ARGS(SOL_SOCKET), XLAT_ARGS(SO_GET_FILTER)); print_filter(); printf(", [%u->%d]) = %s\n", (unsigned int) ARRAY_SIZE(bpf_filter) + 1, *len, errstr); diff --git a/tests/strace-V.test b/tests/strace-V.test index eb05e865..a0274c28 100755 --- a/tests/strace-V.test +++ b/tests/strace-V.test @@ -38,7 +38,8 @@ config_year=$(getstr COPYRIGHT_YEAR) exit 1 } -option_unwind=$(getoption USE_LIBUNWIND " stack-unwind") +option_unwind=$(getoption ENABLE_STACKTRACE \ + " stack-trace=$(getstr USE_UNWINDER)") option_demangle=$(getoption USE_DEMANGLE " stack-demangle") option_m32= diff --git a/tests/strace-k-demangle.expected b/tests/strace-k-demangle.expected new file mode 100644 index 00000000..e42e78fc --- /dev/null +++ b/tests/strace-k-demangle.expected @@ -0,0 +1 @@ +(__kernel_vsyscall )?(__)?getpid ns::f3\(int\) ns::f2\(int\) ns::f1\(int\) ns::f0\(int\) main diff --git a/tests/strace-k-demangle.test b/tests/strace-k-demangle.test index 1616449f..106a7004 100755 --- a/tests/strace-k-demangle.test +++ b/tests/strace-k-demangle.test @@ -2,6 +2,5 @@ # Check strace -k symbol names demangling. test_prog=../stack-fcall-mangled -expected='getpid ns::f3(int) ns::f2(int) ns::f1(int) ns::f0(int) main ' . "${srcdir=.}"/strace-k.test diff --git a/tests/strace-k.expected b/tests/strace-k.expected new file mode 100644 index 00000000..840d648f --- /dev/null +++ b/tests/strace-k.expected @@ -0,0 +1 @@ +(__kernel_vsyscall )?(__)?getpid f3 f2 f1 f0 main diff --git a/tests/strace-k.test b/tests/strace-k.test index 2a21a9db..fb1e2b3e 100755 --- a/tests/strace-k.test +++ b/tests/strace-k.test @@ -4,7 +4,7 @@ # # Copyright (c) 2014 Masatake YAMATO # Copyright (c) 2014-2016 Dmitry V. Levin -# 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 @@ -35,20 +35,41 @@ [ -f /proc/self/maps ] || framework_skip_ '/proc/self/maps is not available' +check_prog grep check_prog sed check_prog tr -: ${test_prog=../stack-fcall} -: ${expected='getpid f3 f2 f1 f0 main '} - -run_prog "$test_prog" +run_prog "${test_prog=../stack-fcall}" run_strace -e getpid -k $args -result=$(sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | - tr '\n' ' ') +expected="$srcdir/$NAME.expected" +sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | + tr '\n' ' ' |sed 's/ $//' > "$OUT" + +LC_ALL=C grep -E -x -f "$expected" < "$OUT" > /dev/null || { + cat >&2 <<__EOF__ +Failed pattern of expected output: $(cat "$expected") +Actual output: $(cat "$OUT") +__EOF__ + + pattern= + case "$STRACE_ARCH" in + aarch64|i386|ppc*|s390*|sparc*|x32|x86*) + # These architectures are supported by elfutils libdw, + # see grep '\.*\' elfutils/backends + ;; + arm) pattern='No DWARF information found' + # This is also supported by elfutils libdw + # but the latter needs debuginfo for unwinding. + ;; + *) pattern='Unwinding not supported for this architecture' + ;; + esac + if [ -n "$pattern" ] && + LC_ALL=C grep -x " > $pattern" < "$LOG" > /dev/null; then + cat < "$LOG" >&2 + skip_ "stack tracing is not fully supported on $STRACE_ARCH yet" + fi -test "$result" = "$expected" || { - echo "expected: \"$expected\"" - echo "result: \"$result\"" dump_log_and_fail_with "$STRACE $args output mismatch" } diff --git a/tests/struct_flock.c b/tests/struct_flock.c deleted file mode 100644 index 428c038d..00000000 --- a/tests/struct_flock.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2015-2016 Dmitry V. Levin - * 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 -#include -#include -#include -#include "flock.h" - -#define FILE_LEN 4096 - -#define TEST_FLOCK_EINVAL(cmd) test_flock_einval(cmd, #cmd) - -#ifdef HAVE_TYPEOF -# define TYPEOF_FLOCK_OFF_T typeof(((struct_kernel_flock *) NULL)->l_len) -#else -# define TYPEOF_FLOCK_OFF_T off_t -#endif - -static long -invoke_test_syscall(const unsigned int cmd, void *const p) -{ - const kernel_ulong_t fd = F8ILL_KULONG_MASK; - const kernel_ulong_t op = F8ILL_KULONG_MASK | cmd; - - return syscall(TEST_SYSCALL_NR, fd, op, (unsigned long) p); -} - -static void -test_flock_einval(const int cmd, const char *name) -{ - struct_kernel_flock fl = { - .l_type = F_RDLCK, - .l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL, - .l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL - }; - long rc = invoke_test_syscall(cmd, &fl); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc)); -} - -static void -test_flock(void) -{ - TEST_FLOCK_EINVAL(F_SETLK); - TEST_FLOCK_EINVAL(F_SETLKW); - - struct_kernel_flock fl = { - .l_type = F_RDLCK, - .l_len = FILE_LEN - }; - long rc = invoke_test_syscall(F_SETLK, &fl); - printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc)); - if (rc) - return; - - invoke_test_syscall(F_GETLK, &fl); - printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(F_SETLK, &fl); - printf("%s(0, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -} - -static void -create_sample(void) -{ - char fname[] = TEST_SYSCALL_STR "_XXXXXX"; - - (void) close(0); - if (mkstemp(fname)) - perror_msg_and_fail("mkstemp: %s", fname); - if (unlink(fname)) - perror_msg_and_fail("unlink: %s", fname); - if (ftruncate(0, FILE_LEN)) - perror_msg_and_fail("ftruncate"); -} diff --git a/tests/test_nlattr.h b/tests/test_nlattr.h index 43f467ff..9038c0e2 100644 --- a/tests/test_nlattr.h +++ b/tests/test_nlattr.h @@ -1,5 +1,5 @@ /* - * 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 @@ -51,15 +51,17 @@ init_nlattr(struct nlattr *const nla, } static void -print_nlattr(const unsigned int nla_len, const char *const nla_type) +print_nlattr(const unsigned int nla_len, const char *const nla_type, bool add_data) { - printf(", {{nla_len=%u, nla_type=%s}, ", nla_len, nla_type); + printf(", %s{{nla_len=%u, nla_type=%s}, ", + add_data ? "[" : "", nla_len, nla_type); } -#define TEST_NLATTR_(fd_, nlh0_, hdrlen_, \ +#define TEST_NLATTR_EX_(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, nla_type_str_, \ - nla_data_len_, src_, slen_, ...) \ + nla_data_len_, nla_total_len_, \ + src_, slen_, ...) \ do { \ struct nlmsghdr *const nlh = \ (nlh0_) - (NLA_HDRLEN + (slen_)); \ @@ -68,7 +70,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) const unsigned int nla_len = \ NLA_HDRLEN + (nla_data_len_); \ const unsigned int msg_len = \ - NLMSG_SPACE(hdrlen_) + nla_len; \ + NLMSG_SPACE(hdrlen_) + NLA_HDRLEN + (nla_total_len_); \ \ (init_msg_)(nlh, msg_len); \ init_nlattr(TEST_NLATTR_nla, nla_len, (nla_type_), \ @@ -80,14 +82,28 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) \ printf("sendto(%d, {", (fd_)); \ (print_msg_)(msg_len); \ - print_nlattr(nla_len, (nla_type_str_)); \ + print_nlattr(nla_len, (nla_type_str_), \ + (nla_total_len_) > (nla_data_len_)); \ \ { __VA_ARGS__; } \ \ + if ((nla_total_len_) > (nla_data_len_)) \ + printf("]"); \ + \ printf("}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", \ msg_len, errstr); \ } while (0) +#define TEST_NLATTR_(fd_, nlh0_, hdrlen_, \ + init_msg_, print_msg_, \ + nla_type_, nla_type_str_, \ + nla_data_len_, src_, slen_, ...) \ + TEST_NLATTR_EX_((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + (nla_type_), (nla_type_str_), \ + (nla_data_len_), (nla_data_len_), \ + (src_), (slen_), __VA_ARGS__) + #define TEST_NLATTR(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, \ @@ -106,11 +122,12 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) sizeof(obj_) - 1 > DEFAULT_STRLEN \ ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \ /* len < sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ - (init_msg_), (print_msg_), \ - (nla_type_), (nla_type_str_), \ - plen, (pattern_), plen, \ - (fallback_func)((pattern_), plen)); \ + if (plen > 0) \ + TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + (nla_type_), (nla_type_str_), \ + plen, (pattern_), plen, \ + (fallback_func)((pattern_), plen)); \ /* short read of sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ @@ -170,7 +187,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ printf("]")); \ /* short read of sizeof(obj_) */ \ @@ -183,11 +200,11 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf(", %p]", \ + printf(", ... /* %p */]", \ RTA_DATA(NLMSG_ATTR(nlh, (hdrlen_))) \ - + sizeof((obj_)[0]))); \ + + sizeof(obj_) - sizeof((obj_)[0]))); \ /* sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ @@ -198,7 +215,7 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_); ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ printf("]")); \ } while (0) @@ -206,21 +223,23 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) #define TEST_NESTED_NLATTR_OBJECT_EX_(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ nla_type_, nla_type_str_, \ - pattern_, obj_, depth_, ...) \ + pattern_, obj_, fallback_func, \ + depth_, ...) \ do { \ const unsigned int plen = \ sizeof(obj_) - 1 > DEFAULT_STRLEN \ ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \ /* len < sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ - (hdrlen_) + NLA_HDRLEN * depth_, \ - (init_msg_), (print_msg_), \ - (nla_type_), (nla_type_str_), \ - plen, (pattern_), plen, \ - print_quoted_hex((pattern_), plen); \ - size_t i; \ - for (i = 0; i < depth_; ++i) \ - printf("}")); \ + if (plen > 0) \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ + (init_msg_), (print_msg_), \ + (nla_type_), (nla_type_str_), \ + plen, (pattern_), plen, \ + (fallback_func)((pattern_), plen); \ + size_t i; \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ /* short read of sizeof(obj_) */ \ TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ (hdrlen_) + NLA_HDRLEN * depth_, \ @@ -252,7 +271,8 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) TEST_NESTED_NLATTR_OBJECT_EX_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ - (pattern_), (obj_), (depth_), \ + (pattern_), (obj_), \ + print_quoted_hex, (depth_), \ __VA_ARGS__) #define TEST_NESTED_NLATTR_OBJECT(fd_, nlh0_, hdrlen_, \ @@ -261,27 +281,30 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) TEST_NESTED_NLATTR_OBJECT_EX_((fd_), (nlh0_), (hdrlen_), \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ - (pattern_), (obj_), 1, \ + (pattern_), (obj_), \ + print_quoted_hex, 1, \ __VA_ARGS__) -#define TEST_NESTED_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \ +#define TEST_NESTED_NLATTR_ARRAY_EX(fd_, nlh0_, hdrlen_, \ init_msg_, print_msg_, \ - nla_type_, pattern_, obj_, print_elem_)\ + nla_type_, pattern_, obj_, depth_, \ + print_elem_) \ do { \ const unsigned int plen = \ sizeof((obj_)[0]) - 1 > DEFAULT_STRLEN \ ? DEFAULT_STRLEN : (int) sizeof((obj_)[0]) - 1; \ /* len < sizeof((obj_)[0]) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ plen, (pattern_), plen, \ print_quoted_hex((pattern_), plen); \ - printf("}")); \ + for (size_t i = 0; i < depth_; ++i) \ + printf("}")); \ /* sizeof((obj_)[0]) < len < sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ sizeof(obj_) - 1, \ @@ -290,12 +313,14 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf("]}")); \ + printf("]"); \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ /* short read of sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ sizeof(obj_), \ @@ -304,14 +329,16 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf(", %p]}", \ + printf(", ... /* %p */]", \ RTA_DATA(TEST_NLATTR_nla) \ - + sizeof((obj_)[0]))); \ + + sizeof(obj_) - sizeof((obj_)[0])); \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ /* sizeof(obj_) */ \ - TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN, \ - (hdrlen_) + NLA_HDRLEN, \ + TEST_NLATTR_((fd_), (nlh0_) - NLA_HDRLEN * depth_, \ + (hdrlen_) + NLA_HDRLEN * depth_, \ (init_msg_), (print_msg_), \ (nla_type_), #nla_type_, \ sizeof(obj_), \ @@ -320,7 +347,17 @@ print_nlattr(const unsigned int nla_len, const char *const nla_type) size_t i; \ for (i = 0; i < ARRAY_SIZE(obj_); ++i) { \ if (i) printf(", "); \ - (print_elem_)(&(obj_)[i]); \ + (print_elem_)(&(obj_)[i], i); \ } \ - printf("]}")); \ + printf("]"); \ + for (i = 0; i < depth_; ++i) \ + printf("}")); \ } while (0) + +#define TEST_NESTED_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \ + init_msg_, print_msg_, \ + nla_type_, pattern_, obj_, print_elem_)\ + TEST_NESTED_NLATTR_ARRAY_EX((fd_), (nlh0_), (hdrlen_), \ + (init_msg_), (print_msg_), \ + nla_type_, (pattern_), (obj_), 1, \ + (print_elem_)) diff --git a/tests/tests.h b/tests/tests.h index 3bf454dd..248e341c 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -62,6 +62,14 @@ # define VERBOSE 0 #endif +/* xlat verbosity defaults */ +#ifndef XLAT_RAW +# define XLAT_RAW 0 +#endif +#ifndef XLAT_VERBOSE +# define XLAT_VERBOSE 0 +#endif + #ifndef DEFAULT_STRLEN /* Default maximum # of bytes printed in printstr et al. */ # define DEFAULT_STRLEN 32 @@ -109,6 +117,9 @@ void *tail_alloc(const size_t) void *tail_memdup(const void *, const size_t) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((2)); +#define midtail_alloc(after_, before_) \ + ((void *) ((char *) tail_alloc(((before_) + (after_))) + (before_))) + /* * Allocate an object of the specified type at the end * of a mapped memory region. @@ -163,6 +174,12 @@ void print_quoted_string(const char *); */ void print_quoted_cstring(const char *str, size_t size); +/* + * Print a NUL-terminated string `str' of length up to `size' + * in a quoted form. + */ +void print_quoted_stringn(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); @@ -277,7 +294,6 @@ f8ill_ptr_to_kulong(const void *const ptr) #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 diff --git a/tests/trace_personality_32.gen.test b/tests/trace_personality_32.gen.test new file mode 100755 index 00000000..a5f5c7d1 --- /dev/null +++ b/tests/trace_personality_32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_32 +qualify_personality.sh 32 'getcwd' 'fsync-y'); do not edit. +set -- 32 'getcwd' 'fsync-y' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests/trace_personality_32.in b/tests/trace_personality_32.in new file mode 100644 index 00000000..9da47c1a --- /dev/null +++ b/tests/trace_personality_32.in @@ -0,0 +1 @@ +getcwd -a18 diff --git a/tests/trace_personality_64.gen.test b/tests/trace_personality_64.gen.test new file mode 100755 index 00000000..5b961efa --- /dev/null +++ b/tests/trace_personality_64.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_64 +qualify_personality.sh 64 'getcwd' 'fsync-y'); do not edit. +set -- 64 'getcwd' 'fsync-y' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests/trace_personality_64.in b/tests/trace_personality_64.in new file mode 100644 index 00000000..9da47c1a --- /dev/null +++ b/tests/trace_personality_64.in @@ -0,0 +1 @@ +getcwd -a18 diff --git a/tests/trace_personality_regex_32.gen.test b/tests/trace_personality_regex_32.gen.test new file mode 100755 index 00000000..f2800d2a --- /dev/null +++ b/tests/trace_personality_regex_32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_regex_32 +qualify_personality.sh 32 '/clock.*' 'times|fcntl.*'); do not edit. +set -- 32 '/clock.*' 'times|fcntl.*' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests/trace_personality_regex_32.in b/tests/trace_personality_regex_32.in new file mode 100755 index 00000000..864de290 --- /dev/null +++ b/tests/trace_personality_regex_32.in @@ -0,0 +1,3 @@ +clock_adjtime -a37 +clock_nanosleep +clock_xettime -a36 diff --git a/tests/trace_personality_regex_64.gen.test b/tests/trace_personality_regex_64.gen.test new file mode 100755 index 00000000..4b19f1b0 --- /dev/null +++ b/tests/trace_personality_regex_64.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_regex_64 +qualify_personality.sh 64 '/clock.*' 'times|fcntl.*'); do not edit. +set -- 64 '/clock.*' 'times|fcntl.*' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests/trace_personality_regex_64.in b/tests/trace_personality_regex_64.in new file mode 100755 index 00000000..864de290 --- /dev/null +++ b/tests/trace_personality_regex_64.in @@ -0,0 +1,3 @@ +clock_adjtime -a37 +clock_nanosleep +clock_xettime -a36 diff --git a/tests/trace_personality_regex_x32.gen.test b/tests/trace_personality_regex_x32.gen.test new file mode 100755 index 00000000..7f416712 --- /dev/null +++ b/tests/trace_personality_regex_x32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_regex_x32 +qualify_personality.sh x32 '/clock.*' 'times|fcntl.*'); do not edit. +set -- x32 '/clock.*' 'times|fcntl.*' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests/trace_personality_regex_x32.in b/tests/trace_personality_regex_x32.in new file mode 100755 index 00000000..864de290 --- /dev/null +++ b/tests/trace_personality_regex_x32.in @@ -0,0 +1,3 @@ +clock_adjtime -a37 +clock_nanosleep +clock_xettime -a36 diff --git a/tests/trace_personality_x32.gen.test b/tests/trace_personality_x32.gen.test new file mode 100755 index 00000000..724499ae --- /dev/null +++ b/tests/trace_personality_x32.gen.test @@ -0,0 +1,4 @@ +#!/bin/sh -efu +# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_personality_x32 +qualify_personality.sh x32 'getcwd' 'fsync-y'); do not edit. +set -- x32 'getcwd' 'fsync-y' +. "${srcdir=.}/qualify_personality.sh" diff --git a/tests/trace_personality_x32.in b/tests/trace_personality_x32.in new file mode 100644 index 00000000..9da47c1a --- /dev/null +++ b/tests/trace_personality_x32.in @@ -0,0 +1 @@ +getcwd -a18 diff --git a/tests/xet_thread_area_x86.c b/tests/xet_thread_area_x86.c index 36591ec6..d5be69f7 100644 --- a/tests/xet_thread_area_x86.c +++ b/tests/xet_thread_area_x86.c @@ -152,9 +152,9 @@ get_thread_area(kernel_ulong_t ptr_val, const char *ptr_str, bool valid, int main(void) { - struct user_desc *ta1 = tail_alloc(sizeof(*ta1)); - struct user_desc *ta2 = tail_alloc(sizeof(*ta2)); - unsigned *bogus_entry_number = tail_alloc(sizeof(*bogus_entry_number)); + TAIL_ALLOC_OBJECT_CONST_PTR(struct user_desc, ta1); + TAIL_ALLOC_OBJECT_CONST_PTR(struct user_desc, ta2); + TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, bogus_entry_number); long set_rc = -1; diff --git a/time.c b/time.c index 038c32f8..1f44dca7 100644 --- a/time.c +++ b/time.c @@ -116,7 +116,8 @@ SYS_FUNC(nanosleep) SYS_FUNC(getitimer) { if (entering(tcp)) { - printxval(itimer_which, tcp->u_arg[0], "ITIMER_???"); + printxval_index(itimer_which, (unsigned int) tcp->u_arg[0], + "ITIMER_???"); tprints(", "); } else { print_itimerval(tcp, tcp->u_arg[1]); @@ -128,7 +129,8 @@ SYS_FUNC(getitimer) SYS_FUNC(osf_getitimer) { if (entering(tcp)) { - printxval(itimer_which, tcp->u_arg[0], "ITIMER_???"); + printxval_index(itimer_which, (unsigned int) tcp->u_arg[0], + "ITIMER_???"); tprints(", "); } else { print_itimerval32(tcp, tcp->u_arg[1]); @@ -140,7 +142,8 @@ SYS_FUNC(osf_getitimer) SYS_FUNC(setitimer) { if (entering(tcp)) { - printxval(itimer_which, tcp->u_arg[0], "ITIMER_???"); + printxval_index(itimer_which, (unsigned int) tcp->u_arg[0], + "ITIMER_???"); tprints(", "); print_itimerval(tcp, tcp->u_arg[1]); tprints(", "); @@ -154,7 +157,8 @@ SYS_FUNC(setitimer) SYS_FUNC(osf_setitimer) { if (entering(tcp)) { - printxval(itimer_which, tcp->u_arg[0], "ITIMER_???"); + printxval_index(itimer_which, (unsigned int) tcp->u_arg[0], + "ITIMER_???"); tprints(", "); print_itimerval32(tcp, tcp->u_arg[1]); tprints(", "); @@ -172,7 +176,8 @@ 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); + tcp->auxstr = xlat_idx(adjtimex_state, ARRAY_SIZE(adjtimex_state) - 1, + (kernel_ulong_t) tcp->u_rval); return RVAL_STR; } @@ -196,16 +201,19 @@ printclockname(int clockid) if ((clockid & CLOCKFD_MASK) == CLOCKFD) tprintf("FD_TO_CLOCKID(%d)", CLOCKID_TO_FD(clockid)); else { - if (CPUCLOCK_PERTHREAD(clockid)) - tprintf("MAKE_THREAD_CPUCLOCK(%d,", CPUCLOCK_PID(clockid)); - else - tprintf("MAKE_PROCESS_CPUCLOCK(%d,", CPUCLOCK_PID(clockid)); - printxval(cpuclocknames, clockid & CLOCKFD_MASK, "CPUCLOCK_???"); + tprintf("%s(%d,", + CPUCLOCK_PERTHREAD(clockid) ? + "MAKE_THREAD_CPUCLOCK" : + "MAKE_PROCESS_CPUCLOCK", + CPUCLOCK_PID(clockid)); + printxval_index(cpuclocknames, + (unsigned int) clockid & CLOCKFD_MASK, + "CPUCLOCK_???"); tprints(")"); } } else #endif - printxval(clocknames, clockid, "CLOCK_???"); + printxval_index(clocknames, clockid, "CLOCK_???"); } SYS_FUNC(clock_settime) diff --git a/uid.c b/uid.c index d8b169a4..c56bf179 100644 --- a/uid.c +++ b/uid.c @@ -180,7 +180,7 @@ print_groups(struct tcb *const tcp, const unsigned int len, uid_t gid; print_array(tcp, addr, len, &gid, sizeof(gid), - umoven_or_printaddr, print_gid, 0); + tfetch_mem, print_gid, 0); } SYS_FUNC(setgroups) diff --git a/unwind-libdw.c b/unwind-libdw.c new file mode 100644 index 00000000..60391465 --- /dev/null +++ b/unwind-libdw.c @@ -0,0 +1,211 @@ +/* + * This file is based on a patch submitted by Mark Wielaard + * to ltrace project: + * https://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=dfefa9f057857735a073ea655f5cb34351032c8e + * + * It was re-licensed for strace by the original author: + * https://lists.strace.io/pipermail/strace-devel/2018-March/008063.html + * + * Copyright (c) 2014-2018 Mark Wielaard + * Copyright (c) 2018 Masatake YAMATO + * 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 "unwind.h" +#include "mmap_notify.h" +#include + +struct ctx { + Dwfl *dwfl; + unsigned int last_proc_updating; +}; + +static unsigned int mapping_generation; + +static void +update_mapping_generation(struct tcb *tcp, void *unused) +{ + mapping_generation++; +} + +static void +init(void) +{ + mmap_notify_register_client(update_mapping_generation, NULL); +} + +static void * +tcb_init(struct tcb *tcp) +{ + static const Dwfl_Callbacks proc_callbacks = { + .find_elf = dwfl_linux_proc_find_elf, + .find_debuginfo = dwfl_standard_find_debuginfo + }; + + Dwfl *dwfl = dwfl_begin(&proc_callbacks); + if (dwfl == NULL) { + error_msg("dwfl_begin: %s", dwfl_errmsg(-1)); + return NULL; + } + + int r = dwfl_linux_proc_attach(dwfl, tcp->pid, true); + if (r) { + const char *msg = NULL; + + if (r < 0) + msg = dwfl_errmsg(-1); + else if (r > 0) + msg = strerror(r); + + error_msg("dwfl_linux_proc_attach returned an error" + " for process %d: %s", tcp->pid, msg); + dwfl_end(dwfl); + return NULL; + } + + struct ctx *ctx = xmalloc(sizeof(*ctx)); + ctx->dwfl = dwfl; + ctx->last_proc_updating = 0; + return ctx; +} + +static void +tcb_fin(struct tcb *tcp) +{ + struct ctx *ctx = tcp->unwind_ctx; + if (ctx) { + dwfl_end(ctx->dwfl); + free(ctx); + } +} + +static void +flush_cache_maybe(struct tcb *tcp) +{ + struct ctx *ctx = tcp->unwind_ctx; + if (!ctx) + return; + + if (ctx->last_proc_updating == mapping_generation) + return; + + int r = dwfl_linux_proc_report(ctx->dwfl, tcp->pid); + + if (r < 0) + error_msg("dwfl_linux_proc_report returned an error" + " for pid %d: %s", tcp->pid, dwfl_errmsg(-1)); + else if (r > 0) + error_msg("dwfl_linux_proc_report returned an error" + " for pid %d", tcp->pid); + else if (dwfl_report_end(ctx->dwfl, NULL, NULL) != 0) + error_msg("dwfl_report_end returned an error" + " for pid %d: %s", tcp->pid, dwfl_errmsg(-1)); + + ctx->last_proc_updating = mapping_generation; +} + +struct frame_user_data { + unwind_call_action_fn call_action; + unwind_error_action_fn error_action; + void *data; + int stack_depth; +}; + +static int +frame_callback(Dwfl_Frame *state, void *arg) +{ + struct frame_user_data *user_data = arg; + Dwarf_Addr pc; + bool isactivation; + + if (!dwfl_frame_pc(state, &pc, &isactivation)) { + /* Propagate the error to the caller. */ + return -1; + } + + if (!isactivation) + pc--; + + Dwfl *dwfl = dwfl_thread_dwfl(dwfl_frame_thread(state)); + Dwfl_Module *mod = dwfl_addrmodule(dwfl, pc); + GElf_Off off = 0; + + if (mod != NULL) { + const char *modname = NULL; + const char *symname = NULL; + GElf_Sym sym; + Dwarf_Addr true_offset = pc; + + modname = dwfl_module_info(mod, NULL, NULL, NULL, NULL, + NULL, NULL, NULL); + symname = dwfl_module_addrinfo(mod, pc, &off, &sym, + NULL, NULL, NULL); + dwfl_module_relocate_address(mod, &true_offset); + user_data->call_action(user_data->data, modname, symname, + off, true_offset); + } + /* Max number of frames to print reached? */ + if (user_data->stack_depth-- == 0) + return DWARF_CB_ABORT; + + return DWARF_CB_OK; +} + +static void +tcb_walk(struct tcb *tcp, + unwind_call_action_fn call_action, + unwind_error_action_fn error_action, + void *data) +{ + struct ctx *ctx = tcp->unwind_ctx; + if (!ctx) + return; + + struct frame_user_data user_data = { + .call_action = call_action, + .error_action = error_action, + .data = data, + .stack_depth = 256, + }; + + flush_cache_maybe(tcp); + + int r = dwfl_getthread_frames(ctx->dwfl, tcp->pid, frame_callback, + &user_data); + if (r) + error_action(data, + r < 0 ? dwfl_errmsg(-1) : "too many stack frames", + 0); +} + +const struct unwind_unwinder_t unwinder = { + .name = "libdw", + .init = init, + .tcb_init = tcb_init, + .tcb_fin = tcb_fin, + .tcb_walk = tcb_walk, +}; diff --git a/unwind-libunwind.c b/unwind-libunwind.c index 38b3e2c5..692f766d 100644 --- a/unwind-libunwind.c +++ b/unwind-libunwind.c @@ -36,6 +36,8 @@ static unw_addr_space_t libunwind_as; static void init(void) { + mmap_cache_enable(); + libunwind_as = unw_create_addr_space(&_UPT_accessors, 0); if (!libunwind_as) error_msg_and_die("failed to create address space" @@ -87,26 +89,25 @@ print_stack_frame(struct tcb *tcp, 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 + struct mmap_cache_entry_t *entry = mmap_cache_search(tcp, ip); + + if (entry /* ignore mappings that have no PROT_EXEC bit set */ - && (cur_mmap_cache->protections & MMAP_CACHE_PROT_EXECUTABLE)) { - unsigned long true_offset; + && (entry->protections & MMAP_CACHE_PROT_EXECUTABLE)) { 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; + unsigned long true_offset = + ip - entry->start_addr + entry->mmap_offset; call_action(data, - cur_mmap_cache->binary_filename, + entry->binary_filename, *symbol_name, function_offset, true_offset); @@ -125,10 +126,10 @@ print_stack_frame(struct tcb *tcp, } static void -tcb_walk(struct tcb *tcp, - unwind_call_action_fn call_action, - unwind_error_action_fn error_action, - void *data) +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; @@ -137,8 +138,6 @@ tcb_walk(struct tcb *tcp, 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); @@ -159,9 +158,27 @@ tcb_walk(struct tcb *tcp, } static void -tcb_flush_cache(struct tcb *tcp) +tcb_walk(struct tcb *tcp, + unwind_call_action_fn call_action, + unwind_error_action_fn error_action, + void *data) { - unw_flush_cache(libunwind_as, 0, 0); + switch (mmap_cache_rebuild_if_invalid(tcp, __func__)) { + case MMAP_CACHE_REBUILD_RENEWED: + /* + * Rebuild the unwinder internal cache. + * Called when mmap cache subsystem detects a + * change of tracee memory mapping. + */ + unw_flush_cache(libunwind_as, 0, 0); + ATTRIBUTE_FALLTHROUGH; + case MMAP_CACHE_REBUILD_READY: + walk(tcp, call_action, error_action, data); + break; + default: + /* Do nothing */ + ; + } } const struct unwind_unwinder_t unwinder = { @@ -170,5 +187,4 @@ const struct unwind_unwinder_t unwinder = { .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 41d0740d..e4c6623c 100644 --- a/unwind.c +++ b/unwind.c @@ -26,7 +26,6 @@ */ #include "defs.h" -#include "mmap_cache.h" #include "unwind.h" #ifdef USE_DEMANGLE @@ -59,7 +58,6 @@ unwind_init(void) { if (unwinder.init) unwinder.init(); - mmap_cache_enable(); } void @@ -78,6 +76,9 @@ unwind_tcb_init(struct tcb *tcp) void unwind_tcb_fin(struct tcb *tcp) { + if (!tcp->unwind_queue) + return; + queue_print(tcp->unwind_queue); free(tcp->unwind_queue); tcp->unwind_queue = NULL; @@ -293,19 +294,8 @@ unwind_tcb_print(struct tcb *tcp) 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 */ - ; - } + } else + unwinder.tcb_walk(tcp, print_call_cb, print_error_cb, NULL); } /* @@ -322,19 +312,10 @@ unwind_tcb_capture(struct tcb *tcp) #endif if (tcp->unwind_queue->head) error_msg_and_die("bug: unprinted entries in queue"); - - 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", + else { + debug_func_msg("walk: tcp=%p, queue=%p", tcp, tcp->unwind_queue->head); - break; - default: - /* Do nothing */ - ; + unwinder.tcb_walk(tcp, queue_put_call, queue_put_error, + tcp->unwind_queue); } } diff --git a/unwind.h b/unwind.h index 3a6065b4..678c561f 100644 --- a/unwind.h +++ b/unwind.h @@ -63,12 +63,6 @@ struct unwind_unwinder_t { 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; diff --git a/util.c b/util.c index ce516629..035f57bf 100644 --- a/util.c +++ b/util.c @@ -44,6 +44,7 @@ #include #include "largefile_wrappers.h" +#include "xlat.h" #include "xstring.h" int @@ -236,12 +237,6 @@ printaddr64(const uint64_t addr) tprintf("%#" PRIx64, addr); } -void -printaddr(const kernel_ulong_t addr) -{ - printaddr64(addr); -} - #define DEF_PRINTNUM(name, type) \ bool \ printnum_ ## name(struct tcb *const tcp, const kernel_ulong_t addr, \ @@ -693,7 +688,8 @@ print_quoted_string_ex(const char *str, unsigned int size, alloc_size = 4 * size; if (alloc_size / 4 != size) { - error_msg("Out of memory"); + error_func_msg("requested %u bytes exceeds %u bytes limit", + size, -1U / 4); tprints("???"); return -1; } @@ -706,7 +702,8 @@ print_quoted_string_ex(const char *str, unsigned int size, } else { outstr = buf = malloc(alloc_size); if (!buf) { - error_msg("Out of memory"); + error_func_msg("memory exhausted when tried to allocate" + " %u bytes", alloc_size); tprints("???"); return -1; } @@ -870,25 +867,30 @@ dumpiov_upto(struct tcb *const tcp, const int len, const kernel_ulong_t addr, } iovu; #define iov iovu.iov64 #define sizeof_iov \ - (current_wordsize == 4 ? sizeof(*iovu.iov32) : sizeof(*iovu.iov64)) + (current_wordsize == 4 ? (unsigned int) sizeof(*iovu.iov32) \ + : (unsigned int) sizeof(*iovu.iov64)) #define iov_iov_base(i) \ (current_wordsize == 4 ? (uint64_t) iovu.iov32[i].base : iovu.iov64[i].base) #define iov_iov_len(i) \ (current_wordsize == 4 ? (uint64_t) iovu.iov32[i].len : iovu.iov64[i].len) #else struct iovec *iov; -#define sizeof_iov sizeof(*iov) +#define sizeof_iov ((unsigned int) sizeof(*iov)) #define iov_iov_base(i) ptr_to_kulong(iov[i].iov_base) #define iov_iov_len(i) iov[i].iov_len #endif int i; - unsigned size; + unsigned int size = sizeof_iov * len; + if (size / sizeof_iov != (unsigned int) len) { + error_func_msg("requested %u iovec elements exceeds" + " %u iovec limit", len, -1U / sizeof_iov); + return; + } - size = sizeof_iov * len; - /* Assuming no sane program has millions of iovs */ - if ((unsigned)len > 1024*1024 /* insane or negative size? */ - || (iov = malloc(size)) == NULL) { - error_msg("Out of memory"); + iov = malloc(size); + if (!iov) { + error_func_msg("memory exhausted when tried to allocate" + " %u bytes", size); return; } if (umoven(tcp, addr, size, iov) >= 0) { @@ -928,6 +930,9 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, const int len) const unsigned char *src; int i; + if ((len < 0) || (len > INT_MAX - 16)) + return; + memset(outbuf, ' ', sizeof(outbuf)); if (strsize < len + 16) { @@ -935,7 +940,8 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, const int len) str = malloc(len + 16); if (!str) { strsize = -1; - error_msg("Out of memory"); + error_func_msg("memory exhausted when tried to allocate" + " %zu bytes", (size_t) (len + 16)); return; } strsize = len + 16; @@ -983,29 +989,70 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, const int len) } } +bool +tfetch_mem64(struct tcb *const tcp, const uint64_t addr, + const unsigned int len, void *const our_addr) +{ + return addr && verbose(tcp) && + (entering(tcp) || !syserror(tcp)) && + !umoven(tcp, addr, len, our_addr); +} + +bool +tfetch_mem64_ignore_syserror(struct tcb *const tcp, const uint64_t addr, + const unsigned int len, void *const our_addr) +{ + return addr && verbose(tcp) && + !umoven(tcp, addr, len, our_addr); +} + int -umoven_or_printaddr(struct tcb *const tcp, const kernel_ulong_t addr, - const unsigned int len, void *const our_addr) +umoven_or_printaddr64(struct tcb *const tcp, const uint64_t addr, + const unsigned int len, void *const our_addr) { - if (!addr || !verbose(tcp) || (exiting(tcp) && syserror(tcp)) || - umoven(tcp, addr, len, our_addr) < 0) { - printaddr(addr); - return -1; - } - return 0; + if (tfetch_mem64(tcp, addr, len, our_addr)) + return 0; + printaddr64(addr); + return -1; } int -umoven_or_printaddr_ignore_syserror(struct tcb *const tcp, - const kernel_ulong_t addr, - const unsigned int len, - void *const our_addr) +umoven_or_printaddr64_ignore_syserror(struct tcb *const tcp, + const uint64_t addr, + const unsigned int len, + void *const our_addr) { - if (!addr || !verbose(tcp) || umoven(tcp, addr, len, our_addr) < 0) { - printaddr(addr); - return -1; - } - return 0; + if (tfetch_mem64_ignore_syserror(tcp, addr, len, our_addr)) + return 0; + printaddr64(addr); + return -1; +} + +bool +print_int32_array_member(struct tcb *tcp, void *elem_buf, size_t elem_size, + void *data) +{ + tprintf("%" PRId32, *(int32_t *) elem_buf); + + return true; +} + +bool +print_uint32_array_member(struct tcb *tcp, void *elem_buf, size_t elem_size, + void *data) +{ + tprintf("%" PRIu32, *(uint32_t *) elem_buf); + + return true; +} + +bool +print_uint64_array_member(struct tcb *tcp, void *elem_buf, size_t elem_size, + void *data) +{ + tprintf("%" PRIu64, *(uint64_t *) elem_buf); + + return true; } /* @@ -1014,8 +1061,8 @@ umoven_or_printaddr_ignore_syserror(struct tcb *const tcp, * * Array elements are being fetched to the address specified by elem_buf. * - * The fetcher callback function specified by umoven_func should follow - * the same semantics as umoven_or_printaddr function. + * The fetcher callback function specified by tfetch_mem_func should follow + * the same semantics as tfetch_mem function. * * The printer callback function specified by print_func is expected * to print something; if it returns false, no more iterations will be made. @@ -1027,9 +1074,7 @@ umoven_or_printaddr_ignore_syserror(struct tcb *const tcp, * - "NULL", if start_addr is NULL; * - "[]", if nmemb is 0; * - start_addr, if nmemb * elem_size overflows or wraps around; - * - nothing, if the first element cannot be fetched - * (if umoven_func returns non-zero), but it is assumed that - * umoven_func has printed the address it failed to fetch data from; + * - start_addr, if the first tfetch_mem_func invocation returned false; * - elements of the array, delimited by ", ", with the array itself * enclosed with [] brackets. * @@ -1038,25 +1083,22 @@ umoven_or_printaddr_ignore_syserror(struct tcb *const tcp, * - "..." is printed instead of max_strlen+1 element * and no more iterations will be made. * - * This function returns true only if - * - umoven_func has been called at least once AND - * - umoven_func has not returned false. + * This function returns true only if tfetch_mem_func has returned true + * at least once. */ bool -print_array(struct tcb *const tcp, - const kernel_ulong_t start_addr, - const size_t nmemb, - void *const elem_buf, - const size_t elem_size, - int (*const umoven_func)(struct tcb *, - kernel_ulong_t, - unsigned int, - void *), - bool (*const print_func)(struct tcb *, - void *elem_buf, - size_t elem_size, - void *opaque_data), - void *const opaque_data) +print_array_ex(struct tcb *const tcp, + const kernel_ulong_t start_addr, + const size_t nmemb, + void *const elem_buf, + const size_t elem_size, + tfetch_mem_fn tfetch_mem_func, + print_fn print_func, + void *const opaque_data, + unsigned int flags, + const struct xlat *index_xlat, + size_t index_xlat_size, + const char *index_dflt) { if (!start_addr) { tprints("NULL"); @@ -1080,13 +1122,22 @@ print_array(struct tcb *const tcp, (abbrev(tcp) && max_strlen < nmemb) ? start_addr + elem_size * max_strlen : end_addr; kernel_ulong_t cur; + kernel_ulong_t idx = 0; + enum xlat_style xlat_style = flags & XLAT_STYLE_MASK; - for (cur = start_addr; cur < end_addr; cur += elem_size) { + for (cur = start_addr; cur < end_addr; cur += elem_size, idx++) { if (cur != start_addr) tprints(", "); - if (umoven_func(tcp, cur, elem_size, elem_buf)) + if (!tfetch_mem_func(tcp, cur, elem_size, elem_buf)) { + if (cur == start_addr) + printaddr(cur); + else { + tprints("..."); + printaddr_comment(cur); + } break; + } if (cur == start_addr) tprints("["); @@ -1097,6 +1148,25 @@ print_array(struct tcb *const tcp, break; } + if (flags & PAF_PRINT_INDICES) { + tprints("["); + + if (!index_xlat) { + print_xlat_ex(idx, NULL, xlat_style); + } else if (flags & PAF_INDEX_XLAT_VALUE_INDEXED) { + printxval_indexn_ex(index_xlat, + index_xlat_size, idx, + index_dflt, xlat_style); + } else { + printxvals_ex(idx, index_dflt, xlat_style, + (flags & PAF_INDEX_XLAT_SORTED) + && idx ? NULL : index_xlat, + NULL); + } + + tprints("] = "); + } + if (!print_func(tcp, elem_buf, elem_size, opaque_data)) { cur = end_addr; break; diff --git a/v4l2.c b/v4l2.c index 7081c81c..da1eb55a 100644 --- a/v4l2.c +++ b/v4l2.c @@ -64,17 +64,6 @@ typedef struct v4l2_standard struct_v4l2_standard; #include "print_fields.h" #include "xstring.h" -/* some historical constants */ -#ifndef V4L2_CID_HCENTER -#define V4L2_CID_HCENTER (V4L2_CID_BASE+22) -#endif -#ifndef V4L2_CID_VCENTER -#define V4L2_CID_VCENTER (V4L2_CID_BASE+23) -#endif -#ifndef V4L2_CID_BAND_STOP_FILTER -#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)) @@ -281,7 +270,7 @@ print_v4l2_format_fmt(struct tcb *const tcp, const char *prefix, tprintf(", chromakey=%#x, clips=", f->fmt.win.chromakey); ret = print_array(tcp, ptr_to_kulong(f->fmt.win.clips), f->fmt.win.clipcount, &clip, sizeof(clip), - umoven_or_printaddr, print_v4l2_clip, 0); + tfetch_mem, print_v4l2_clip, 0); tprintf(", clipcount=%u, bitmap=", f->fmt.win.clipcount); printaddr(ptr_to_kulong(f->fmt.win.bitmap)); #ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA @@ -624,6 +613,12 @@ print_v4l2_input(struct tcb *const tcp, const kernel_ulong_t arg) return RVAL_IOCTL_DECODED; } +/* + * We include it here and not before print_v4l2_ext_controls as we need + * V4L2_CTRL_CLASS_* definitions for V4L2_CID_*_BASE ones. + */ +#include "xlat/v4l2_control_classes.h" +#include "xlat/v4l2_control_id_bases.h" #include "xlat/v4l2_control_ids.h" static int @@ -729,7 +724,8 @@ print_v4l2_queryctrl(struct tcb *const tcp, const kernel_ulong_t arg) const unsigned long next = c.id & V4L2_CTRL_FLAG_NEXT_CTRL; set_tcb_priv_ulong(tcp, next); if (next) { - tprints("V4L2_CTRL_FLAG_NEXT_CTRL|"); + print_xlat(V4L2_CTRL_FLAG_NEXT_CTRL); + tprints("|"); c.id &= ~V4L2_CTRL_FLAG_NEXT_CTRL; } #endif @@ -824,8 +820,6 @@ print_v4l2_ext_control(struct tcb *tcp, void *elem_buf, size_t elem_size, void * return true; } -#include "xlat/v4l2_control_classes.h" - static int print_v4l2_ext_controls(struct tcb *const tcp, const kernel_ulong_t arg, const bool is_get) @@ -859,7 +853,7 @@ print_v4l2_ext_controls(struct tcb *const tcp, const kernel_ulong_t arg, struct_v4l2_ext_control ctrl; bool fail = !print_array(tcp, ptr_to_kulong(c.controls), c.count, &ctrl, sizeof(ctrl), - umoven_or_printaddr_ignore_syserror, + tfetch_mem_ignore_syserror, print_v4l2_ext_control, 0); if (exiting(tcp) && syserror(tcp)) diff --git a/xlat.c b/xlat.c index be58f72e..4614cef7 100644 --- a/xlat.c +++ b/xlat.c @@ -33,12 +33,54 @@ #include "xstring.h" #include +static inline enum xlat_style +get_xlat_style(enum xlat_style style) +{ + if (xlat_verbose(style) == XLAT_STYLE_DEFAULT) + return style | xlat_verbosity; + + return style; +} + +static inline const char * +sprint_xlat_val(uint64_t val, enum xlat_style style) +{ + static char buf[sizeof(val) * 3]; + + switch (xlat_format(style)) { + case XLAT_STYLE_FMT_D: + xsprintf(buf, "%" PRId64, val); + break; + + case XLAT_STYLE_FMT_U: + xsprintf(buf, "%" PRIu64, val); + break; + + case XLAT_STYLE_FMT_X: + xsprintf(buf, "%#" PRIx64, val); + break; + } + + return buf; +} + +static inline void +print_xlat_val(uint64_t val, enum xlat_style style) +{ + tprints(sprint_xlat_val(val, style)); +} + const char * xlookup(const struct xlat *xlat, const uint64_t val) { - for (; xlat->str != NULL; xlat++) - if (xlat->val == val) - return xlat->str; + static const struct xlat *pos; + + if (xlat) + pos = xlat; + + for (; pos->str != NULL; pos++) + if (pos->val == val) + return pos->str; return NULL; } @@ -53,59 +95,109 @@ xlat_bsearch_compare(const void *a, const void *b) const char * xlat_search(const struct xlat *xlat, const size_t nmemb, const uint64_t val) { + static const struct xlat *pos; + static size_t memb_left; + + if (xlat) { + pos = xlat; + memb_left = nmemb; + } + const struct xlat *e = bsearch((const void *) &val, - xlat, nmemb, sizeof(*xlat), xlat_bsearch_compare); + pos, memb_left, sizeof(*pos), xlat_bsearch_compare); - return e ? e->str : NULL; + if (e) { + memb_left -= e - pos; + return e->str; + } else { + return NULL; + } } /** * Print entry in struct xlat table, if there. * - * @param val Value to search a literal representation for. - * @param dflt String (abbreviated in comment syntax) which should be emitted - * if no appropriate xlat value has been found. - * @param xlat (And the following arguments) Pointers to arrays of xlat values. - * The last argument should be NULL. - * @return 1 if appropriate xlat value has been found, 0 otherwise. + * @param val Value to search a literal representation for. + * @param dflt String (abbreviated in comment syntax) which should be emitted + * if no appropriate xlat value has been found. + * @param style Style in which xlat value should be printed. + * @param xlat (And the following arguments) Pointers to arrays of xlat values. + * The last argument should be NULL. + * @return 1 if appropriate xlat value has been found, 0 otherwise. */ int -printxvals(const uint64_t val, const char *dflt, const struct xlat *xlat, ...) +printxvals_ex(const uint64_t val, const char *dflt, enum xlat_style style, + const struct xlat *xlat, ...) { + static const struct xlat *last; + + style = get_xlat_style(style); + + if (xlat_verbose(style) == XLAT_STYLE_RAW) { + print_xlat_val(val, style); + return 0; + } + + const char *str = NULL; va_list args; va_start(args, xlat); + + if (!xlat) + xlat = last; + for (; xlat; xlat = va_arg(args, const struct xlat *)) { - const char *str = xlookup(xlat, val); + last = xlat; + + str = xlookup(xlat, val); if (str) { - tprints(str); - va_end(args); - return 1; + if (xlat_verbose(style) == XLAT_STYLE_VERBOSE) { + print_xlat_val(val, style); + tprints_comment(str); + } else { + tprints(str); + } + + goto printxvals_ex_end; } } + /* No hits -- print raw # instead. */ - tprintf("%#" PRIx64, val); + print_xlat_val(val, style); tprints_comment(dflt); +printxvals_ex_end: va_end(args); - return 0; + return !!str; } int -sprintxval(char *const buf, const size_t size, const struct xlat *const x, - const unsigned int val, const char *const dflt) +sprintxval_ex(char *const buf, const size_t size, const struct xlat *const x, + const unsigned int val, const char *const dflt, + enum xlat_style style) { + style = get_xlat_style(style); + + if (xlat_verbose(style) == XLAT_STYLE_RAW) + return xsnprintf(buf, size, "%s", sprint_xlat_val(val, style)); + const char *const str = xlookup(x, val); - if (str) - return xsnprintf(buf, size, "%s", str); + if (str) { + if (xlat_verbose(style) == XLAT_STYLE_VERBOSE) + return xsnprintf(buf, size, "%s /* %s */", + sprint_xlat_val(val, style), str); + else + return xsnprintf(buf, size, "%s", str); + } if (dflt) - return xsnprintf(buf, size, "%#x /* %s */", val, dflt); + return xsnprintf(buf, size, "%s /* %s */", + sprint_xlat_val(val, style), dflt); - return xsnprintf(buf, size, "%#x", val); + return xsnprintf(buf, size, "%s", sprint_xlat_val(val, style)); } /** @@ -119,82 +211,227 @@ sprintxval(char *const buf, const size_t size, const struct xlat *const x, * @param val Value to search literal representation for. * @param dflt String (abbreviated in comment syntax) which should be * emitted if no appropriate xlat value has been found. + * @param style Style in which xlat value should be printed. + * @param fn Search function. * @return 1 if appropriate xlat value has been found, 0 * otherwise. */ -int -printxval_searchn(const struct xlat *xlat, size_t xlat_size, uint64_t val, - const char *dflt) +static int +printxval_sized(const struct xlat *xlat, size_t xlat_size, uint64_t val, + const char *dflt, enum xlat_style style, + const char *(* fn)(const struct xlat *, size_t, uint64_t)) { - const char *s = xlat_search(xlat, xlat_size, val); + style = get_xlat_style(style); + + if (xlat_verbose(style) == XLAT_STYLE_RAW) { + print_xlat_val(val, style); + return 0; + } + + const char *s = fn(xlat, xlat_size, val); if (s) { - tprints(s); + if (xlat_verbose(style) == XLAT_STYLE_VERBOSE) { + print_xlat_val(val, style); + tprints_comment(s); + } else { + tprints(s); + } return 1; } - tprintf("%#" PRIx64, val); + print_xlat_val(val, style); tprints_comment(dflt); return 0; } +int +printxval_searchn_ex(const struct xlat *xlat, size_t xlat_size, uint64_t val, + const char *dflt, enum xlat_style style) +{ + return printxval_sized(xlat, xlat_size, val, dflt, style, + xlat_search); +} + +const char * +xlat_idx(const struct xlat *xlat, size_t nmemb, uint64_t val) +{ + static const struct xlat *pos; + static size_t memb_left; + + if (xlat) { + pos = xlat; + memb_left = nmemb; + } + + if (val >= memb_left) + return NULL; + + if (val != pos[val].val) { + error_func_msg("Unexpected xlat value %" PRIu64 + " at index %" PRIu64, + pos[val].val, val); + return NULL; + } + + return pos[val].str; +} + +int +printxval_indexn_ex(const struct xlat *xlat, size_t xlat_size, uint64_t val, + const char *dflt, enum xlat_style style) +{ + return printxval_sized(xlat, xlat_size, val, dflt, style, xlat_idx); +} + /* * 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 * has the value of 0 (it should be the first in xlat table), return NULL. + * + * Expected output: + * +------------+------------+---------+------------+ + * | flags != 0 | xlat found | style | output | + * +------------+------------+---------+------------+ + * | false | (any) | raw | | + * | true | (any) | raw | VAL | + * +------------+------------+---------+------------+ + * | false | false | abbrev | | + * | true | false | abbrev | VAL | + * | (any) | true | abbrev | XLAT | + * +------------+------------+---------+------------+ + * | false | false | verbose | | + * | true | false | verbose | VAL | + * | (any) | true | verbose | VAL (XLAT) | + * +------------+------------+---------+------------+ */ const char * -sprintflags(const char *prefix, const struct xlat *xlat, uint64_t flags) +sprintflags_ex(const char *prefix, const struct xlat *xlat, uint64_t flags, + enum xlat_style style) { static char outstr[1024]; char *outptr; int found = 0; outptr = stpcpy(outstr, prefix); + style = get_xlat_style(style); + + if (xlat_verbose(style) == XLAT_STYLE_RAW) { + if (!flags) + return NULL; + + outptr = xappendstr(outstr, outptr, "%s", + sprint_xlat_val(flags, style)); + + return outstr; + } if (flags == 0 && xlat->val == 0 && xlat->str) { - strcpy(outptr, xlat->str); + if (xlat_verbose(style) == XLAT_STYLE_VERBOSE) { + outptr = xappendstr(outstr, outptr, "0 /* %s */", + xlat->str); + } else { + strcpy(outptr, xlat->str); + } + return outstr; } - for (; xlat->str; xlat++) { + if (xlat_verbose(style) == XLAT_STYLE_VERBOSE && flags) + outptr = xappendstr(outstr, outptr, "%s", + sprint_xlat_val(flags, style)); + + for (; flags && xlat->str; xlat++) { if (xlat->val && (flags & xlat->val) == xlat->val) { if (found) *outptr++ = '|'; + else if (xlat_verbose(style) == XLAT_STYLE_VERBOSE) + outptr = stpcpy(outptr, " /* "); + outptr = stpcpy(outptr, xlat->str); found = 1; flags &= ~xlat->val; - if (!flags) - break; } } if (flags) { if (found) *outptr++ = '|'; - outptr = xappendstr(outstr, outptr, "%#" PRIx64, flags); + if (found || xlat_verbose(style) != XLAT_STYLE_VERBOSE) + outptr = xappendstr(outstr, outptr, "%s", + sprint_xlat_val(flags, style)); } else { if (!found) return NULL; } + if (found && xlat_verbose(style) == XLAT_STYLE_VERBOSE) + outptr = stpcpy(outptr, " */"); + return outstr; } +/** + * Print flags from multiple xlat tables. + * + * Expected output: + * +------------+--------------+------------+---------+------------+ + * | flags != 0 | dflt != NULL | xlat found | style | output | + * +------------+--------------+------------+---------+------------+ + * | false | false | (any) | raw | | + * | false | true | (any) | raw | VAL | + * | true | (any) | (any) | raw | VAL | + * +------------+--------------+------------+---------+------------+ + * | false | false | false | abbrev | | + * | false | true | false | abbrev | VAL | + * | true | false | false | abbrev | VAL | + * | true | true | false | abbrev | VAL (DFLT) | + * | (any) | (any) | true | abbrev | XLAT | + * +------------+--------------+------------+---------+------------+ + * | false | false | false | verbose | | + * | false | true | false | verbose | VAL | + * | true | false | false | verbose | VAL | + * | true | true | false | verbose | VAL (DFLT) | + * | (any) | (any) | true | verbose | VAL (XLAT) | + * +------------+--------------+------------+---------+------------+ + */ int -printflags_ex(uint64_t flags, const char *dflt, const struct xlat *xlat, ...) +printflags_ex(uint64_t flags, const char *dflt, enum xlat_style style, + const struct xlat *xlat, ...) { + style = get_xlat_style(style); + + if (xlat_verbose(style) == XLAT_STYLE_RAW) { + if (flags || dflt) { + print_xlat_val(flags, style); + return 1; + } + + return 0; + } + + const char *init_sep = ""; unsigned int n = 0; va_list args; + if (xlat_verbose(style) == XLAT_STYLE_VERBOSE) { + init_sep = " /* "; + if (flags) + print_xlat_val(flags, style); + } + va_start(args, xlat); for (; xlat; xlat = va_arg(args, const struct xlat *)) { for (; (flags || !n) && xlat->str; ++xlat) { if ((flags == xlat->val) || (xlat->val && (flags & xlat->val) == xlat->val)) { - tprintf("%s%s", (n++ ? "|" : ""), xlat->str); + if (xlat_verbose(style) == XLAT_STYLE_VERBOSE + && !flags) + tprints("0"); + tprintf("%s%s", + (n++ ? "|" : init_sep), xlat->str); flags &= ~xlat->val; } if (!flags) @@ -205,12 +442,17 @@ printflags_ex(uint64_t flags, const char *dflt, const struct xlat *xlat, ...) if (n) { if (flags) { - tprintf("|%#" PRIx64, flags); + tprints("|"); + print_xlat_val(flags, style); n++; } + + if (xlat_verbose(style) == XLAT_STYLE_VERBOSE) + tprints(" */"); } else { if (flags) { - tprintf("%#" PRIx64, flags); + if (xlat_verbose(style) != XLAT_STYLE_VERBOSE) + print_xlat_val(flags, style); tprints_comment(dflt); } else { if (dflt) @@ -220,3 +462,50 @@ printflags_ex(uint64_t flags, const char *dflt, const struct xlat *xlat, ...) return n; } + +void +print_xlat_ex(const uint64_t val, const char *str, enum xlat_style style) +{ + style = get_xlat_style(style); + + switch (xlat_verbose(style)) { + case XLAT_STYLE_ABBREV: + if (str) { + tprints(str); + break; + } + ATTRIBUTE_FALLTHROUGH; + + case XLAT_STYLE_RAW: + print_xlat_val(val, style); + break; + + default: + error_func_msg("Unexpected style value of %#x", style); + ATTRIBUTE_FALLTHROUGH; + + case XLAT_STYLE_VERBOSE: + print_xlat_val(val, style); + tprints_comment(str); + } +} + +void +printxval_dispatch_ex(const struct xlat *xlat, size_t xlat_size, uint64_t val, + const char *dflt, enum xlat_type xt, + enum xlat_style style) +{ + switch (xt) { + case XT_NORMAL: + printxvals_ex(val, dflt, style, xlat, NULL); + break; + + case XT_SORTED: + printxval_searchn_ex(xlat, xlat_size, val, dflt, style); + break; + + case XT_INDEXED: + printxval_indexn_ex(xlat, xlat_size, val, dflt, style); + break; + } +} diff --git a/xlat.h b/xlat.h index aaa7aab0..e86df797 100644 --- a/xlat.h +++ b/xlat.h @@ -3,6 +3,44 @@ # include +enum xlat_type { + XT_NORMAL, + XT_SORTED, + XT_INDEXED, +}; + +enum xlat_style { + /** + * Special value that is used for passing to *print{xval,flags}*_ex + * routines that indicates that no overriding of user-supplied xlat + * verbosity/formatting configuration is intended. + */ + XLAT_STYLE_DEFAULT = 0, + + /** Print xlat value as is without xlat processing */ + XLAT_STYLE_RAW = 1 << 0, + /** + * Historic strace style, process xlat and print the result (xlat + * constant name/combination of flags), raw number only if nothing is + * found. + */ + XLAT_STYLE_ABBREV = 1 << 1, + /** Always print both raw number and xlat processing result. */ + XLAT_STYLE_VERBOSE = XLAT_STYLE_RAW | XLAT_STYLE_ABBREV, + +#define XLAT_STYLE_FORMAT_SHIFT 2 +#define XLAT_STYLE_VERBOSITY_MASK ((1 << XLAT_STYLE_FORMAT_SHIFT) - 1) + + XLAT_STYLE_FMT_X = 0 << XLAT_STYLE_FORMAT_SHIFT, + XLAT_STYLE_FMT_U = 1 << XLAT_STYLE_FORMAT_SHIFT, + XLAT_STYLE_FMT_D = 2 << XLAT_STYLE_FORMAT_SHIFT, + +#define XLAT_STYLE_FORMAT_MASK (3 << XLAT_STYLE_FORMAT_SHIFT) + +#define XLAT_STYLE_SPEC_BITS (XLAT_STYLE_FORMAT_SHIFT + 2) +#define XLAT_STYLE_MASK ((1 << XLAT_STYLE_SPEC_BITS) - 1) +}; + struct xlat { uint64_t val; const char *str; diff --git a/xlat/Makemodule.am b/xlat/Makemodule.am index 378c0473..cd7d3acc 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_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 +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/bdaddr_types.in xlat/blkpg_ops.in xlat/bluetooth_l2_cid.in xlat/bluetooth_l2_psm.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_query_flags.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_cont_reading_from_srcdev_mode.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/caif_protocols.in xlat/can_protocols.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/ebpf_class.in xlat/ebpf_mode.in xlat/ebpf_op_alu.in xlat/ebpf_op_jmp.in xlat/ebpf_regs.in xlat/ebpf_size.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/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/getsock_ip_options.in xlat/getsock_ipv6_options.in xlat/getsock_options.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/in6_addr_gen_mode.in xlat/inet6_devconf_indices.in xlat/inet6_if_flags.in xlat/inet_devconf_indices.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/ipc_private.in xlat/ipccalls.in xlat/irda_protocols.in xlat/isdn_protocols.in xlat/itimer_which.in xlat/kcm_protocols.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_sk_meminfo_indices.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/nfc_protocols.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/numa_node.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_ioctl_cmds.in xlat/perf_ioctl_flags.in xlat/perf_sw_ids.in xlat/perf_type_id.in xlat/personality_flags.in xlat/personality_types.in xlat/phonet_protocols.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_spec_cmds.in xlat/pr_spec_get_store_bypass_flags.in xlat/pr_spec_set_store_bypass_flags.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_af_spec_inet6_attrs.in xlat/rtnl_ifla_af_spec_inet_attrs.in xlat/rtnl_ifla_brport_attrs.in xlat/rtnl_ifla_events.in xlat/rtnl_ifla_info_attrs.in xlat/rtnl_ifla_info_data_bridge_attrs.in xlat/rtnl_ifla_info_data_tun_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/setsock_ip_options.in xlat/setsock_ipv6_options.in xlat/setsock_options.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/skf_off.in xlat/smc_diag_attrs.in xlat/smc_diag_extended_flags.in xlat/smc_link_group_roles.in xlat/smc_protocols.in xlat/smc_states.in xlat/snmp_icmp6_stats.in xlat/snmp_ip_stats.in xlat/sock_alg_options.in xlat/sock_bluetooth_options.in xlat/sock_caif_options.in xlat/sock_dccp_options.in xlat/sock_ip_options.in xlat/sock_ipv6_options.in xlat/sock_ipx_options.in xlat/sock_irda_options.in xlat/sock_iucv_options.in xlat/sock_kcm_options.in xlat/sock_llc_options.in xlat/sock_netlink_options.in xlat/sock_nfcllcp_options.in xlat/sock_options.in xlat/sock_packet_options.in xlat/sock_pnp_options.in xlat/sock_pppol2tp_options.in xlat/sock_raw_options.in xlat/sock_rds_options.in xlat/sock_rxrpc_options.in xlat/sock_sctp_options.in xlat/sock_tcp_options.in xlat/sock_tipc_options.in xlat/sock_tls_options.in xlat/sock_type_flags.in xlat/sock_udp_options.in xlat/socketcalls.in xlat/socketlayers.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/tun_device_types.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_id_bases.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/bdaddr_types.h xlat/blkpg_ops.h xlat/bluetooth_l2_cid.h xlat/bluetooth_l2_psm.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_query_flags.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_cont_reading_from_srcdev_mode.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/caif_protocols.h xlat/can_protocols.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/ebpf_class.h xlat/ebpf_mode.h xlat/ebpf_op_alu.h xlat/ebpf_op_jmp.h xlat/ebpf_regs.h xlat/ebpf_size.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/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/getsock_ip_options.h xlat/getsock_ipv6_options.h xlat/getsock_options.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/in6_addr_gen_mode.h xlat/inet6_devconf_indices.h xlat/inet6_if_flags.h xlat/inet_devconf_indices.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/ipc_private.h xlat/ipccalls.h xlat/irda_protocols.h xlat/isdn_protocols.h xlat/itimer_which.h xlat/kcm_protocols.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_sk_meminfo_indices.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/nfc_protocols.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/numa_node.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_ioctl_cmds.h xlat/perf_ioctl_flags.h xlat/perf_sw_ids.h xlat/perf_type_id.h xlat/personality_flags.h xlat/personality_types.h xlat/phonet_protocols.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_spec_cmds.h xlat/pr_spec_get_store_bypass_flags.h xlat/pr_spec_set_store_bypass_flags.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_af_spec_inet6_attrs.h xlat/rtnl_ifla_af_spec_inet_attrs.h xlat/rtnl_ifla_brport_attrs.h xlat/rtnl_ifla_events.h xlat/rtnl_ifla_info_attrs.h xlat/rtnl_ifla_info_data_bridge_attrs.h xlat/rtnl_ifla_info_data_tun_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/setsock_ip_options.h xlat/setsock_ipv6_options.h xlat/setsock_options.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/skf_off.h xlat/smc_diag_attrs.h xlat/smc_diag_extended_flags.h xlat/smc_link_group_roles.h xlat/smc_protocols.h xlat/smc_states.h xlat/snmp_icmp6_stats.h xlat/snmp_ip_stats.h xlat/sock_alg_options.h xlat/sock_bluetooth_options.h xlat/sock_caif_options.h xlat/sock_dccp_options.h xlat/sock_ip_options.h xlat/sock_ipv6_options.h xlat/sock_ipx_options.h xlat/sock_irda_options.h xlat/sock_iucv_options.h xlat/sock_kcm_options.h xlat/sock_llc_options.h xlat/sock_netlink_options.h xlat/sock_nfcllcp_options.h xlat/sock_options.h xlat/sock_packet_options.h xlat/sock_pnp_options.h xlat/sock_pppol2tp_options.h xlat/sock_raw_options.h xlat/sock_rds_options.h xlat/sock_rxrpc_options.h xlat/sock_sctp_options.h xlat/sock_tcp_options.h xlat/sock_tipc_options.h xlat/sock_tls_options.h xlat/sock_type_flags.h xlat/sock_udp_options.h xlat/socketcalls.h xlat/socketlayers.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/tun_device_types.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_id_bases.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 @@ -28,8 +28,14 @@ $(top_srcdir)/xlat/audit_arch.h: $(top_srcdir)/xlat/audit_arch.in $(top_srcdir)/ $(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/bdaddr_types.h: $(top_srcdir)/xlat/bdaddr_types.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/bluetooth_l2_cid.h: $(top_srcdir)/xlat/bluetooth_l2_cid.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/bluetooth_l2_psm.h: $(top_srcdir)/xlat/bluetooth_l2_psm.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 @@ -64,6 +70,8 @@ $(top_srcdir)/xlat/bpf_prog_flags.h: $(top_srcdir)/xlat/bpf_prog_flags.in $(top_ $(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_query_flags.h: $(top_srcdir)/xlat/bpf_query_flags.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 @@ -88,6 +96,8 @@ $(top_srcdir)/xlat/btrfs_balance_state.h: $(top_srcdir)/xlat/btrfs_balance_state $(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_cont_reading_from_srcdev_mode.h: $(top_srcdir)/xlat/btrfs_cont_reading_from_srcdev_mode.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 @@ -130,6 +140,10 @@ $(top_srcdir)/xlat/btrfs_tree_objectids.h: $(top_srcdir)/xlat/btrfs_tree_objecti $(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/caif_protocols.h: $(top_srcdir)/xlat/caif_protocols.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/can_protocols.h: $(top_srcdir)/xlat/can_protocols.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 @@ -156,6 +170,18 @@ $(top_srcdir)/xlat/dirent_types.h: $(top_srcdir)/xlat/dirent_types.in $(top_srcd $(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/ebpf_class.h: $(top_srcdir)/xlat/ebpf_class.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_mode.h: $(top_srcdir)/xlat/ebpf_mode.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_op_alu.h: $(top_srcdir)/xlat/ebpf_op_alu.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_op_jmp.h: $(top_srcdir)/xlat/ebpf_op_jmp.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_regs.h: $(top_srcdir)/xlat/ebpf_regs.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/ebpf_size.h: $(top_srcdir)/xlat/ebpf_size.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 @@ -208,8 +234,6 @@ $(top_srcdir)/xlat/fan_init_flags.h: $(top_srcdir)/xlat/fan_init_flags.in $(top_ $(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 @@ -234,9 +258,11 @@ $(top_srcdir)/xlat/futexwakeops.h: $(top_srcdir)/xlat/futexwakeops.in $(top_srcd $(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 +$(top_srcdir)/xlat/getsock_ip_options.h: $(top_srcdir)/xlat/getsock_ip_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/getsock_ipv6_options.h: $(top_srcdir)/xlat/getsock_ipv6_options.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 +$(top_srcdir)/xlat/getsock_options.h: $(top_srcdir)/xlat/getsock_options.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 $< $@ @@ -256,6 +282,14 @@ $(top_srcdir)/xlat/ifaddrflags.h: $(top_srcdir)/xlat/ifaddrflags.in $(top_srcdir $(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/in6_addr_gen_mode.h: $(top_srcdir)/xlat/in6_addr_gen_mode.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/inet6_devconf_indices.h: $(top_srcdir)/xlat/inet6_devconf_indices.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/inet6_if_flags.h: $(top_srcdir)/xlat/inet6_if_flags.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/inet_devconf_indices.h: $(top_srcdir)/xlat/inet_devconf_indices.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 @@ -282,10 +316,18 @@ $(top_srcdir)/xlat/ip_type_of_services.h: $(top_srcdir)/xlat/ip_type_of_services $(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/ipc_private.h: $(top_srcdir)/xlat/ipc_private.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/irda_protocols.h: $(top_srcdir)/xlat/irda_protocols.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/isdn_protocols.h: $(top_srcdir)/xlat/isdn_protocols.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/kcm_protocols.h: $(top_srcdir)/xlat/kcm_protocols.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 @@ -394,6 +436,8 @@ $(top_srcdir)/xlat/netlink_new_flags.h: $(top_srcdir)/xlat/netlink_new_flags.in $(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_sk_meminfo_indices.h: $(top_srcdir)/xlat/netlink_sk_meminfo_indices.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 @@ -422,6 +466,8 @@ $(top_srcdir)/xlat/nf_queue_msg_types.h: $(top_srcdir)/xlat/nf_queue_msg_types.i $(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/nfc_protocols.h: $(top_srcdir)/xlat/nfc_protocols.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 @@ -444,6 +490,8 @@ $(top_srcdir)/xlat/notifyflags.h: $(top_srcdir)/xlat/notifyflags.in $(top_srcdir $(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/numa_node.h: $(top_srcdir)/xlat/numa_node.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 @@ -474,6 +522,10 @@ $(top_srcdir)/xlat/perf_hw_cache_op_result_id.h: $(top_srcdir)/xlat/perf_hw_cach $(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_ioctl_cmds.h: $(top_srcdir)/xlat/perf_ioctl_cmds.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/perf_ioctl_flags.h: $(top_srcdir)/xlat/perf_ioctl_flags.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 @@ -482,6 +534,8 @@ $(top_srcdir)/xlat/personality_flags.h: $(top_srcdir)/xlat/personality_flags.in $(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/phonet_protocols.h: $(top_srcdir)/xlat/phonet_protocols.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 @@ -500,6 +554,12 @@ $(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_spec_cmds.h: $(top_srcdir)/xlat/pr_spec_cmds.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/pr_spec_get_store_bypass_flags.h: $(top_srcdir)/xlat/pr_spec_get_store_bypass_flags.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/pr_spec_set_store_bypass_flags.h: $(top_srcdir)/xlat/pr_spec_set_store_bypass_flags.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 @@ -552,12 +612,20 @@ $(top_srcdir)/xlat/rtnl_addrlabel_attrs.h: $(top_srcdir)/xlat/rtnl_addrlabel_att $(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_af_spec_inet6_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_af_spec_inet6_attrs.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/rtnl_ifla_af_spec_inet_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_af_spec_inet_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_info_data_bridge_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_info_data_bridge_attrs.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/rtnl_ifla_info_data_tun_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_info_data_tun_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 @@ -636,9 +704,11 @@ $(top_srcdir)/xlat/semop_flags.h: $(top_srcdir)/xlat/semop_flags.in $(top_srcdir $(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 +$(top_srcdir)/xlat/setsock_ip_options.h: $(top_srcdir)/xlat/setsock_ip_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/setsock_ipv6_options.h: $(top_srcdir)/xlat/setsock_ipv6_options.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 +$(top_srcdir)/xlat/setsock_options.h: $(top_srcdir)/xlat/setsock_options.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 $< $@ @@ -690,37 +760,77 @@ $(top_srcdir)/xlat/sigtrap_codes.h: $(top_srcdir)/xlat/sigtrap_codes.in $(top_sr $(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/skf_off.h: $(top_srcdir)/xlat/skf_off.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_protocols.h: $(top_srcdir)/xlat/smc_protocols.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 +$(top_srcdir)/xlat/snmp_icmp6_stats.h: $(top_srcdir)/xlat/snmp_icmp6_stats.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 +$(top_srcdir)/xlat/snmp_ip_stats.h: $(top_srcdir)/xlat/snmp_ip_stats.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 +$(top_srcdir)/xlat/sock_alg_options.h: $(top_srcdir)/xlat/sock_alg_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_bluetooth_options.h: $(top_srcdir)/xlat/sock_bluetooth_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_caif_options.h: $(top_srcdir)/xlat/sock_caif_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_dccp_options.h: $(top_srcdir)/xlat/sock_dccp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_ip_options.h: $(top_srcdir)/xlat/sock_ip_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_ipv6_options.h: $(top_srcdir)/xlat/sock_ipv6_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_ipx_options.h: $(top_srcdir)/xlat/sock_ipx_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_irda_options.h: $(top_srcdir)/xlat/sock_irda_options.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 +$(top_srcdir)/xlat/sock_iucv_options.h: $(top_srcdir)/xlat/sock_iucv_options.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 +$(top_srcdir)/xlat/sock_kcm_options.h: $(top_srcdir)/xlat/sock_kcm_options.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 +$(top_srcdir)/xlat/sock_llc_options.h: $(top_srcdir)/xlat/sock_llc_options.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 +$(top_srcdir)/xlat/sock_netlink_options.h: $(top_srcdir)/xlat/sock_netlink_options.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 +$(top_srcdir)/xlat/sock_nfcllcp_options.h: $(top_srcdir)/xlat/sock_nfcllcp_options.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 +$(top_srcdir)/xlat/sock_options.h: $(top_srcdir)/xlat/sock_options.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 +$(top_srcdir)/xlat/sock_packet_options.h: $(top_srcdir)/xlat/sock_packet_options.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 +$(top_srcdir)/xlat/sock_pnp_options.h: $(top_srcdir)/xlat/sock_pnp_options.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 +$(top_srcdir)/xlat/sock_pppol2tp_options.h: $(top_srcdir)/xlat/sock_pppol2tp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_raw_options.h: $(top_srcdir)/xlat/sock_raw_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_rds_options.h: $(top_srcdir)/xlat/sock_rds_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_rxrpc_options.h: $(top_srcdir)/xlat/sock_rxrpc_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_sctp_options.h: $(top_srcdir)/xlat/sock_sctp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_tcp_options.h: $(top_srcdir)/xlat/sock_tcp_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_tipc_options.h: $(top_srcdir)/xlat/sock_tipc_options.in $(top_srcdir)/xlat/gen.sh + $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ +$(top_srcdir)/xlat/sock_tls_options.h: $(top_srcdir)/xlat/sock_tls_options.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/sock_udp_options.h: $(top_srcdir)/xlat/sock_udp_options.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/socktypes.h: $(top_srcdir)/xlat/socktypes.in $(top_srcdir)/xlat/gen.sh $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ @@ -776,6 +886,8 @@ $(top_srcdir)/xlat/tcxonc_options.h: $(top_srcdir)/xlat/tcxonc_options.in $(top_ $(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/tun_device_types.h: $(top_srcdir)/xlat/tun_device_types.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 @@ -816,6 +928,8 @@ $(top_srcdir)/xlat/v4l2_control_classes.h: $(top_srcdir)/xlat/v4l2_control_class $(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_id_bases.h: $(top_srcdir)/xlat/v4l2_control_id_bases.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 diff --git a/xlat/access_flags.h b/xlat/access_flags.h index a30f082d..e12a08c3 100644 --- a/xlat/access_flags.h +++ b/xlat/access_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/access_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat access_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat access_flags in mpers mode + +# else static const struct xlat access_flags[] = { @@ -29,4 +35,6 @@ const struct xlat access_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/addrfams.h b/xlat/addrfams.h index 5dc4118b..95939360 100644 --- a/xlat/addrfams.h +++ b/xlat/addrfams.h @@ -1,185 +1,369 @@ /* Generated by ./xlat/gen.sh from ./xlat/addrfams.in; do not edit. */ -#if !(defined(AF_UNSPEC) || (defined(HAVE_DECL_AF_UNSPEC) && HAVE_DECL_AF_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(AF_UNSPEC) || (defined(HAVE_DECL_AF_UNSPEC) && HAVE_DECL_AF_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_UNSPEC) == (0), "AF_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_UNSPEC 0 #endif -#if !(defined(AF_UNIX) || (defined(HAVE_DECL_AF_UNIX) && HAVE_DECL_AF_UNIX)) +#if defined(AF_UNIX) || (defined(HAVE_DECL_AF_UNIX) && HAVE_DECL_AF_UNIX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_UNIX) == (1), "AF_UNIX != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_UNIX 1 #endif -#if !(defined(AF_INET) || (defined(HAVE_DECL_AF_INET) && HAVE_DECL_AF_INET)) +#if defined(AF_INET) || (defined(HAVE_DECL_AF_INET) && HAVE_DECL_AF_INET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_INET) == (2), "AF_INET != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_INET 2 #endif -#if !(defined(AF_AX25) || (defined(HAVE_DECL_AF_AX25) && HAVE_DECL_AF_AX25)) +#if defined(AF_AX25) || (defined(HAVE_DECL_AF_AX25) && HAVE_DECL_AF_AX25) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_AX25) == (3), "AF_AX25 != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_AX25 3 #endif -#if !(defined(AF_IPX) || (defined(HAVE_DECL_AF_IPX) && HAVE_DECL_AF_IPX)) +#if defined(AF_IPX) || (defined(HAVE_DECL_AF_IPX) && HAVE_DECL_AF_IPX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_IPX) == (4), "AF_IPX != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_IPX 4 #endif -#if !(defined(AF_APPLETALK) || (defined(HAVE_DECL_AF_APPLETALK) && HAVE_DECL_AF_APPLETALK)) +#if defined(AF_APPLETALK) || (defined(HAVE_DECL_AF_APPLETALK) && HAVE_DECL_AF_APPLETALK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_APPLETALK) == (5), "AF_APPLETALK != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_APPLETALK 5 #endif -#if !(defined(AF_NETROM) || (defined(HAVE_DECL_AF_NETROM) && HAVE_DECL_AF_NETROM)) +#if defined(AF_NETROM) || (defined(HAVE_DECL_AF_NETROM) && HAVE_DECL_AF_NETROM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_NETROM) == (6), "AF_NETROM != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_NETROM 6 #endif -#if !(defined(AF_BRIDGE) || (defined(HAVE_DECL_AF_BRIDGE) && HAVE_DECL_AF_BRIDGE)) +#if defined(AF_BRIDGE) || (defined(HAVE_DECL_AF_BRIDGE) && HAVE_DECL_AF_BRIDGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_BRIDGE) == (7), "AF_BRIDGE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_BRIDGE 7 #endif -#if !(defined(AF_ATMPVC) || (defined(HAVE_DECL_AF_ATMPVC) && HAVE_DECL_AF_ATMPVC)) +#if defined(AF_ATMPVC) || (defined(HAVE_DECL_AF_ATMPVC) && HAVE_DECL_AF_ATMPVC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_ATMPVC) == (8), "AF_ATMPVC != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_ATMPVC 8 #endif -#if !(defined(AF_X25) || (defined(HAVE_DECL_AF_X25) && HAVE_DECL_AF_X25)) +#if defined(AF_X25) || (defined(HAVE_DECL_AF_X25) && HAVE_DECL_AF_X25) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_X25) == (9), "AF_X25 != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_X25 9 #endif -#if !(defined(AF_INET6) || (defined(HAVE_DECL_AF_INET6) && HAVE_DECL_AF_INET6)) +#if defined(AF_INET6) || (defined(HAVE_DECL_AF_INET6) && HAVE_DECL_AF_INET6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_INET6) == (10), "AF_INET6 != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_INET6 10 #endif -#if !(defined(AF_ROSE) || (defined(HAVE_DECL_AF_ROSE) && HAVE_DECL_AF_ROSE)) +#if defined(AF_ROSE) || (defined(HAVE_DECL_AF_ROSE) && HAVE_DECL_AF_ROSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_ROSE) == (11), "AF_ROSE != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_ROSE 11 #endif -#if !(defined(AF_DECnet) || (defined(HAVE_DECL_AF_DECnet) && HAVE_DECL_AF_DECnet)) +#if defined(AF_DECnet) || (defined(HAVE_DECL_AF_DECnet) && HAVE_DECL_AF_DECnet) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_DECnet) == (12), "AF_DECnet != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_DECnet 12 #endif -#if !(defined(AF_NETBEUI) || (defined(HAVE_DECL_AF_NETBEUI) && HAVE_DECL_AF_NETBEUI)) +#if defined(AF_NETBEUI) || (defined(HAVE_DECL_AF_NETBEUI) && HAVE_DECL_AF_NETBEUI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_NETBEUI) == (13), "AF_NETBEUI != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_NETBEUI 13 #endif -#if !(defined(AF_SECURITY) || (defined(HAVE_DECL_AF_SECURITY) && HAVE_DECL_AF_SECURITY)) +#if defined(AF_SECURITY) || (defined(HAVE_DECL_AF_SECURITY) && HAVE_DECL_AF_SECURITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_SECURITY) == (14), "AF_SECURITY != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_SECURITY 14 #endif -#if !(defined(AF_KEY) || (defined(HAVE_DECL_AF_KEY) && HAVE_DECL_AF_KEY)) +#if defined(AF_KEY) || (defined(HAVE_DECL_AF_KEY) && HAVE_DECL_AF_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_KEY) == (15), "AF_KEY != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_KEY 15 #endif -#if !(defined(AF_NETLINK) || (defined(HAVE_DECL_AF_NETLINK) && HAVE_DECL_AF_NETLINK)) +#if defined(AF_NETLINK) || (defined(HAVE_DECL_AF_NETLINK) && HAVE_DECL_AF_NETLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_NETLINK) == (16), "AF_NETLINK != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_NETLINK 16 #endif -#if !(defined(AF_PACKET) || (defined(HAVE_DECL_AF_PACKET) && HAVE_DECL_AF_PACKET)) +#if defined(AF_PACKET) || (defined(HAVE_DECL_AF_PACKET) && HAVE_DECL_AF_PACKET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_PACKET) == (17), "AF_PACKET != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_PACKET 17 #endif -#if !(defined(AF_ASH) || (defined(HAVE_DECL_AF_ASH) && HAVE_DECL_AF_ASH)) +#if defined(AF_ASH) || (defined(HAVE_DECL_AF_ASH) && HAVE_DECL_AF_ASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_ASH) == (18), "AF_ASH != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_ASH 18 #endif -#if !(defined(AF_ECONET) || (defined(HAVE_DECL_AF_ECONET) && HAVE_DECL_AF_ECONET)) +#if defined(AF_ECONET) || (defined(HAVE_DECL_AF_ECONET) && HAVE_DECL_AF_ECONET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_ECONET) == (19), "AF_ECONET != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_ECONET 19 #endif -#if !(defined(AF_ATMSVC) || (defined(HAVE_DECL_AF_ATMSVC) && HAVE_DECL_AF_ATMSVC)) +#if defined(AF_ATMSVC) || (defined(HAVE_DECL_AF_ATMSVC) && HAVE_DECL_AF_ATMSVC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_ATMSVC) == (20), "AF_ATMSVC != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_ATMSVC 20 #endif -#if !(defined(AF_RDS) || (defined(HAVE_DECL_AF_RDS) && HAVE_DECL_AF_RDS)) +#if defined(AF_RDS) || (defined(HAVE_DECL_AF_RDS) && HAVE_DECL_AF_RDS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_RDS) == (21), "AF_RDS != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_RDS 21 #endif -#if !(defined(AF_SNA) || (defined(HAVE_DECL_AF_SNA) && HAVE_DECL_AF_SNA)) +#if defined(AF_SNA) || (defined(HAVE_DECL_AF_SNA) && HAVE_DECL_AF_SNA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_SNA) == (22), "AF_SNA != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_SNA 22 #endif -#if !(defined(AF_IRDA) || (defined(HAVE_DECL_AF_IRDA) && HAVE_DECL_AF_IRDA)) +#if defined(AF_IRDA) || (defined(HAVE_DECL_AF_IRDA) && HAVE_DECL_AF_IRDA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_IRDA) == (23), "AF_IRDA != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_IRDA 23 #endif -#if !(defined(AF_PPPOX) || (defined(HAVE_DECL_AF_PPPOX) && HAVE_DECL_AF_PPPOX)) +#if defined(AF_PPPOX) || (defined(HAVE_DECL_AF_PPPOX) && HAVE_DECL_AF_PPPOX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_PPPOX) == (24), "AF_PPPOX != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_PPPOX 24 #endif -#if !(defined(AF_WANPIPE) || (defined(HAVE_DECL_AF_WANPIPE) && HAVE_DECL_AF_WANPIPE)) +#if defined(AF_WANPIPE) || (defined(HAVE_DECL_AF_WANPIPE) && HAVE_DECL_AF_WANPIPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_WANPIPE) == (25), "AF_WANPIPE != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_WANPIPE 25 #endif -#if !(defined(AF_LLC) || (defined(HAVE_DECL_AF_LLC) && HAVE_DECL_AF_LLC)) +#if defined(AF_LLC) || (defined(HAVE_DECL_AF_LLC) && HAVE_DECL_AF_LLC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_LLC) == (26), "AF_LLC != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_LLC 26 #endif -#if !(defined(AF_IB) || (defined(HAVE_DECL_AF_IB) && HAVE_DECL_AF_IB)) +#if defined(AF_IB) || (defined(HAVE_DECL_AF_IB) && HAVE_DECL_AF_IB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_IB) == (27), "AF_IB != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_IB 27 #endif -#if !(defined(AF_MPLS) || (defined(HAVE_DECL_AF_MPLS) && HAVE_DECL_AF_MPLS)) +#if defined(AF_MPLS) || (defined(HAVE_DECL_AF_MPLS) && HAVE_DECL_AF_MPLS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_MPLS) == (28), "AF_MPLS != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_MPLS 28 #endif -#if !(defined(AF_CAN) || (defined(HAVE_DECL_AF_CAN) && HAVE_DECL_AF_CAN)) +#if defined(AF_CAN) || (defined(HAVE_DECL_AF_CAN) && HAVE_DECL_AF_CAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_CAN) == (29), "AF_CAN != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_CAN 29 #endif -#if !(defined(AF_TIPC) || (defined(HAVE_DECL_AF_TIPC) && HAVE_DECL_AF_TIPC)) +#if defined(AF_TIPC) || (defined(HAVE_DECL_AF_TIPC) && HAVE_DECL_AF_TIPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_TIPC) == (30), "AF_TIPC != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_TIPC 30 #endif -#if !(defined(AF_BLUETOOTH) || (defined(HAVE_DECL_AF_BLUETOOTH) && HAVE_DECL_AF_BLUETOOTH)) +#if defined(AF_BLUETOOTH) || (defined(HAVE_DECL_AF_BLUETOOTH) && HAVE_DECL_AF_BLUETOOTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_BLUETOOTH) == (31), "AF_BLUETOOTH != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_BLUETOOTH 31 #endif -#if !(defined(AF_IUCV) || (defined(HAVE_DECL_AF_IUCV) && HAVE_DECL_AF_IUCV)) +#if defined(AF_IUCV) || (defined(HAVE_DECL_AF_IUCV) && HAVE_DECL_AF_IUCV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_IUCV) == (32), "AF_IUCV != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_IUCV 32 #endif -#if !(defined(AF_RXRPC) || (defined(HAVE_DECL_AF_RXRPC) && HAVE_DECL_AF_RXRPC)) +#if defined(AF_RXRPC) || (defined(HAVE_DECL_AF_RXRPC) && HAVE_DECL_AF_RXRPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_RXRPC) == (33), "AF_RXRPC != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_RXRPC 33 #endif -#if !(defined(AF_ISDN) || (defined(HAVE_DECL_AF_ISDN) && HAVE_DECL_AF_ISDN)) +#if defined(AF_ISDN) || (defined(HAVE_DECL_AF_ISDN) && HAVE_DECL_AF_ISDN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_ISDN) == (34), "AF_ISDN != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_ISDN 34 #endif -#if !(defined(AF_PHONET) || (defined(HAVE_DECL_AF_PHONET) && HAVE_DECL_AF_PHONET)) +#if defined(AF_PHONET) || (defined(HAVE_DECL_AF_PHONET) && HAVE_DECL_AF_PHONET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_PHONET) == (35), "AF_PHONET != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_PHONET 35 #endif -#if !(defined(AF_IEEE802154) || (defined(HAVE_DECL_AF_IEEE802154) && HAVE_DECL_AF_IEEE802154)) +#if defined(AF_IEEE802154) || (defined(HAVE_DECL_AF_IEEE802154) && HAVE_DECL_AF_IEEE802154) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_IEEE802154) == (36), "AF_IEEE802154 != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_IEEE802154 36 #endif -#if !(defined(AF_CAIF) || (defined(HAVE_DECL_AF_CAIF) && HAVE_DECL_AF_CAIF)) +#if defined(AF_CAIF) || (defined(HAVE_DECL_AF_CAIF) && HAVE_DECL_AF_CAIF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_CAIF) == (37), "AF_CAIF != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_CAIF 37 #endif -#if !(defined(AF_ALG) || (defined(HAVE_DECL_AF_ALG) && HAVE_DECL_AF_ALG)) +#if defined(AF_ALG) || (defined(HAVE_DECL_AF_ALG) && HAVE_DECL_AF_ALG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_ALG) == (38), "AF_ALG != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_ALG 38 #endif -#if !(defined(AF_NFC) || (defined(HAVE_DECL_AF_NFC) && HAVE_DECL_AF_NFC)) +#if defined(AF_NFC) || (defined(HAVE_DECL_AF_NFC) && HAVE_DECL_AF_NFC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_NFC) == (39), "AF_NFC != 39"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_NFC 39 #endif -#if !(defined(AF_VSOCK) || (defined(HAVE_DECL_AF_VSOCK) && HAVE_DECL_AF_VSOCK)) +#if defined(AF_VSOCK) || (defined(HAVE_DECL_AF_VSOCK) && HAVE_DECL_AF_VSOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_VSOCK) == (40), "AF_VSOCK != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_VSOCK 40 #endif -#if !(defined(AF_KCM) || (defined(HAVE_DECL_AF_KCM) && HAVE_DECL_AF_KCM)) +#if defined(AF_KCM) || (defined(HAVE_DECL_AF_KCM) && HAVE_DECL_AF_KCM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_KCM) == (41), "AF_KCM != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_KCM 41 #endif -#if !(defined(AF_QIPCRTR) || (defined(HAVE_DECL_AF_QIPCRTR) && HAVE_DECL_AF_QIPCRTR)) +#if defined(AF_QIPCRTR) || (defined(HAVE_DECL_AF_QIPCRTR) && HAVE_DECL_AF_QIPCRTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_QIPCRTR) == (42), "AF_QIPCRTR != 42"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_QIPCRTR 42 #endif -#if !(defined(AF_SMC) || (defined(HAVE_DECL_AF_SMC) && HAVE_DECL_AF_SMC)) +#if defined(AF_SMC) || (defined(HAVE_DECL_AF_SMC) && HAVE_DECL_AF_SMC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AF_SMC) == (43), "AF_SMC != 43"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AF_SMC 43 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat addrfams[] = { - XLAT(AF_UNSPEC), - XLAT(AF_UNIX), - XLAT(AF_INET), - XLAT(AF_AX25), - XLAT(AF_IPX), - XLAT(AF_APPLETALK), - XLAT(AF_NETROM), - XLAT(AF_BRIDGE), - XLAT(AF_ATMPVC), - XLAT(AF_X25), - XLAT(AF_INET6), - XLAT(AF_ROSE), - XLAT(AF_DECnet), - XLAT(AF_NETBEUI), - XLAT(AF_SECURITY), - XLAT(AF_KEY), - XLAT(AF_NETLINK), - XLAT(AF_PACKET), - XLAT(AF_ASH), - XLAT(AF_ECONET), - XLAT(AF_ATMSVC), - XLAT(AF_RDS), - XLAT(AF_SNA), - XLAT(AF_IRDA), - XLAT(AF_PPPOX), - XLAT(AF_WANPIPE), - XLAT(AF_LLC), - XLAT(AF_IB), - XLAT(AF_MPLS), - XLAT(AF_CAN), - XLAT(AF_TIPC), - XLAT(AF_BLUETOOTH), - XLAT(AF_IUCV), - XLAT(AF_RXRPC), - XLAT(AF_ISDN), - XLAT(AF_PHONET), - XLAT(AF_IEEE802154), - XLAT(AF_CAIF), - XLAT(AF_ALG), - XLAT(AF_NFC), - XLAT(AF_VSOCK), - XLAT(AF_KCM), - XLAT(AF_QIPCRTR), - XLAT(AF_SMC), + [AF_UNSPEC] = XLAT(AF_UNSPEC), + [AF_UNIX] = XLAT(AF_UNIX), + [AF_INET] = XLAT(AF_INET), + [AF_AX25] = XLAT(AF_AX25), + [AF_IPX] = XLAT(AF_IPX), + [AF_APPLETALK] = XLAT(AF_APPLETALK), + [AF_NETROM] = XLAT(AF_NETROM), + [AF_BRIDGE] = XLAT(AF_BRIDGE), + [AF_ATMPVC] = XLAT(AF_ATMPVC), + [AF_X25] = XLAT(AF_X25), + [AF_INET6] = XLAT(AF_INET6), + [AF_ROSE] = XLAT(AF_ROSE), + [AF_DECnet] = XLAT(AF_DECnet), + [AF_NETBEUI] = XLAT(AF_NETBEUI), + [AF_SECURITY] = XLAT(AF_SECURITY), + [AF_KEY] = XLAT(AF_KEY), + [AF_NETLINK] = XLAT(AF_NETLINK), + [AF_PACKET] = XLAT(AF_PACKET), + [AF_ASH] = XLAT(AF_ASH), + [AF_ECONET] = XLAT(AF_ECONET), + [AF_ATMSVC] = XLAT(AF_ATMSVC), + [AF_RDS] = XLAT(AF_RDS), + [AF_SNA] = XLAT(AF_SNA), + [AF_IRDA] = XLAT(AF_IRDA), + [AF_PPPOX] = XLAT(AF_PPPOX), + [AF_WANPIPE] = XLAT(AF_WANPIPE), + [AF_LLC] = XLAT(AF_LLC), + [AF_IB] = XLAT(AF_IB), + [AF_MPLS] = XLAT(AF_MPLS), + [AF_CAN] = XLAT(AF_CAN), + [AF_TIPC] = XLAT(AF_TIPC), + [AF_BLUETOOTH] = XLAT(AF_BLUETOOTH), + [AF_IUCV] = XLAT(AF_IUCV), + [AF_RXRPC] = XLAT(AF_RXRPC), + [AF_ISDN] = XLAT(AF_ISDN), + [AF_PHONET] = XLAT(AF_PHONET), + [AF_IEEE802154] = XLAT(AF_IEEE802154), + [AF_CAIF] = XLAT(AF_CAIF), + [AF_ALG] = XLAT(AF_ALG), + [AF_NFC] = XLAT(AF_NFC), + [AF_VSOCK] = XLAT(AF_VSOCK), + [AF_KCM] = XLAT(AF_KCM), + [AF_QIPCRTR] = XLAT(AF_QIPCRTR), + [AF_SMC] = XLAT(AF_SMC), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/addrfams.in b/xlat/addrfams.in index 427d993b..5824c3b7 100644 --- a/xlat/addrfams.in +++ b/xlat/addrfams.in @@ -1,3 +1,4 @@ +#value_indexed AF_UNSPEC 0 AF_UNIX 1 AF_INET 2 diff --git a/xlat/adjtimex_modes.h b/xlat/adjtimex_modes.h index 7415fe8e..4c198f37 100644 --- a/xlat/adjtimex_modes.h +++ b/xlat/adjtimex_modes.h @@ -1,56 +1,128 @@ /* Generated by ./xlat/gen.sh from ./xlat/adjtimex_modes.in; do not edit. */ -#ifdef IN_MPERS - -extern const struct xlat adjtimex_modes[]; +#include "gcc_compat.h" +#include "static_assert.h" +#if defined(ADJ_OFFSET_SS_READ) || (defined(HAVE_DECL_ADJ_OFFSET_SS_READ) && HAVE_DECL_ADJ_OFFSET_SS_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_OFFSET_SS_READ) == (0xa001), "ADJ_OFFSET_SS_READ != 0xa001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else - -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) -static -# endif -const struct xlat adjtimex_modes[] = { - XLAT(0), +# define ADJ_OFFSET_SS_READ 0xa001 +#endif +#if defined(ADJ_OFFSET_SINGLESHOT) || (defined(HAVE_DECL_ADJ_OFFSET_SINGLESHOT) && HAVE_DECL_ADJ_OFFSET_SINGLESHOT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_OFFSET_SINGLESHOT) == (0x8001), "ADJ_OFFSET_SINGLESHOT != 0x8001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_OFFSET_SINGLESHOT 0x8001 +#endif #if defined(ADJ_OFFSET) || (defined(HAVE_DECL_ADJ_OFFSET) && HAVE_DECL_ADJ_OFFSET) - XLAT(ADJ_OFFSET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_OFFSET) == (0x0001), "ADJ_OFFSET != 0x0001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_OFFSET 0x0001 #endif #if defined(ADJ_FREQUENCY) || (defined(HAVE_DECL_ADJ_FREQUENCY) && HAVE_DECL_ADJ_FREQUENCY) - XLAT(ADJ_FREQUENCY), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_FREQUENCY) == (0x0002), "ADJ_FREQUENCY != 0x0002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_FREQUENCY 0x0002 #endif #if defined(ADJ_MAXERROR) || (defined(HAVE_DECL_ADJ_MAXERROR) && HAVE_DECL_ADJ_MAXERROR) - XLAT(ADJ_MAXERROR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_MAXERROR) == (0x0004), "ADJ_MAXERROR != 0x0004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_MAXERROR 0x0004 #endif #if defined(ADJ_ESTERROR) || (defined(HAVE_DECL_ADJ_ESTERROR) && HAVE_DECL_ADJ_ESTERROR) - XLAT(ADJ_ESTERROR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_ESTERROR) == (0x0008), "ADJ_ESTERROR != 0x0008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_ESTERROR 0x0008 #endif #if defined(ADJ_STATUS) || (defined(HAVE_DECL_ADJ_STATUS) && HAVE_DECL_ADJ_STATUS) - XLAT(ADJ_STATUS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_STATUS) == (0x0010), "ADJ_STATUS != 0x0010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_STATUS 0x0010 #endif #if defined(ADJ_TIMECONST) || (defined(HAVE_DECL_ADJ_TIMECONST) && HAVE_DECL_ADJ_TIMECONST) - XLAT(ADJ_TIMECONST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_TIMECONST) == (0x0020), "ADJ_TIMECONST != 0x0020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_TIMECONST 0x0020 #endif #if defined(ADJ_TAI) || (defined(HAVE_DECL_ADJ_TAI) && HAVE_DECL_ADJ_TAI) - XLAT(ADJ_TAI), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_TAI) == (0x0080), "ADJ_TAI != 0x0080"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_TAI 0x0080 #endif #if defined(ADJ_SETOFFSET) || (defined(HAVE_DECL_ADJ_SETOFFSET) && HAVE_DECL_ADJ_SETOFFSET) - XLAT(ADJ_SETOFFSET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_SETOFFSET) == (0x0100), "ADJ_SETOFFSET != 0x0100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_SETOFFSET 0x0100 #endif #if defined(ADJ_MICRO) || (defined(HAVE_DECL_ADJ_MICRO) && HAVE_DECL_ADJ_MICRO) - XLAT(ADJ_MICRO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_MICRO) == (0x1000), "ADJ_MICRO != 0x1000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_MICRO 0x1000 #endif #if defined(ADJ_NANO) || (defined(HAVE_DECL_ADJ_NANO) && HAVE_DECL_ADJ_NANO) - XLAT(ADJ_NANO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_NANO) == (0x2000), "ADJ_NANO != 0x2000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_NANO 0x2000 #endif #if defined(ADJ_TICK) || (defined(HAVE_DECL_ADJ_TICK) && HAVE_DECL_ADJ_TICK) - XLAT(ADJ_TICK), -#endif -#if defined(ADJ_OFFSET_SINGLESHOT) || (defined(HAVE_DECL_ADJ_OFFSET_SINGLESHOT) && HAVE_DECL_ADJ_OFFSET_SINGLESHOT) - XLAT(ADJ_OFFSET_SINGLESHOT), -#endif -#if defined(ADJ_OFFSET_SS_READ) || (defined(HAVE_DECL_ADJ_OFFSET_SS_READ) && HAVE_DECL_ADJ_OFFSET_SS_READ) - XLAT(ADJ_OFFSET_SS_READ), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADJ_TICK) == (0x4000), "ADJ_TICK != 0x4000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ADJ_TICK 0x4000 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +extern const struct xlat adjtimex_modes[]; + +# else + +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +static +# endif +const struct xlat adjtimex_modes[] = { + XLAT(ADJ_OFFSET_SS_READ), + XLAT(ADJ_OFFSET_SINGLESHOT), + XLAT(ADJ_OFFSET), + XLAT(ADJ_FREQUENCY), + XLAT(ADJ_MAXERROR), + XLAT(ADJ_ESTERROR), + XLAT(ADJ_STATUS), + XLAT(ADJ_TIMECONST), + XLAT(ADJ_TAI), + XLAT(ADJ_SETOFFSET), + XLAT(ADJ_MICRO), + XLAT(ADJ_NANO), + XLAT(ADJ_TICK), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/adjtimex_modes.in b/xlat/adjtimex_modes.in index e2ca6809..fa616e60 100644 --- a/xlat/adjtimex_modes.in +++ b/xlat/adjtimex_modes.in @@ -1,14 +1,13 @@ -0 -ADJ_OFFSET -ADJ_FREQUENCY -ADJ_MAXERROR -ADJ_ESTERROR -ADJ_STATUS -ADJ_TIMECONST -ADJ_TAI -ADJ_SETOFFSET -ADJ_MICRO -ADJ_NANO -ADJ_TICK -ADJ_OFFSET_SINGLESHOT -ADJ_OFFSET_SS_READ +ADJ_OFFSET_SS_READ 0xa001 +ADJ_OFFSET_SINGLESHOT 0x8001 +ADJ_OFFSET 0x0001 +ADJ_FREQUENCY 0x0002 +ADJ_MAXERROR 0x0004 +ADJ_ESTERROR 0x0008 +ADJ_STATUS 0x0010 +ADJ_TIMECONST 0x0020 +ADJ_TAI 0x0080 +ADJ_SETOFFSET 0x0100 +ADJ_MICRO 0x1000 +ADJ_NANO 0x2000 +ADJ_TICK 0x4000 diff --git a/xlat/adjtimex_state.h b/xlat/adjtimex_state.h index 888f1b6d..01b760c9 100644 --- a/xlat/adjtimex_state.h +++ b/xlat/adjtimex_state.h @@ -1,32 +1,70 @@ /* Generated by ./xlat/gen.sh from ./xlat/adjtimex_state.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat adjtimex_state in mpers mode - -#else - -static -const struct xlat adjtimex_state[] = { #if defined(TIME_OK) || (defined(HAVE_DECL_TIME_OK) && HAVE_DECL_TIME_OK) - XLAT(TIME_OK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIME_OK) == (0), "TIME_OK != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIME_OK 0 #endif #if defined(TIME_INS) || (defined(HAVE_DECL_TIME_INS) && HAVE_DECL_TIME_INS) - XLAT(TIME_INS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIME_INS) == (1), "TIME_INS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIME_INS 1 #endif #if defined(TIME_DEL) || (defined(HAVE_DECL_TIME_DEL) && HAVE_DECL_TIME_DEL) - XLAT(TIME_DEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIME_DEL) == (2), "TIME_DEL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIME_DEL 2 #endif #if defined(TIME_OOP) || (defined(HAVE_DECL_TIME_OOP) && HAVE_DECL_TIME_OOP) - XLAT(TIME_OOP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIME_OOP) == (3), "TIME_OOP != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIME_OOP 3 #endif #if defined(TIME_WAIT) || (defined(HAVE_DECL_TIME_WAIT) && HAVE_DECL_TIME_WAIT) - XLAT(TIME_WAIT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIME_WAIT) == (4), "TIME_WAIT != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIME_WAIT 4 #endif #if defined(TIME_ERROR) || (defined(HAVE_DECL_TIME_ERROR) && HAVE_DECL_TIME_ERROR) - XLAT(TIME_ERROR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIME_ERROR) == (5), "TIME_ERROR != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIME_ERROR 5 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat adjtimex_state in mpers mode + +# else + +static +const struct xlat adjtimex_state[] = { + [TIME_OK] = XLAT(TIME_OK), + [TIME_INS] = XLAT(TIME_INS), + [TIME_DEL] = XLAT(TIME_DEL), + [TIME_OOP] = XLAT(TIME_OOP), + [TIME_WAIT] = XLAT(TIME_WAIT), + [TIME_ERROR] = XLAT(TIME_ERROR), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/adjtimex_state.in b/xlat/adjtimex_state.in index 873b9a1e..c4ec23c4 100644 --- a/xlat/adjtimex_state.in +++ b/xlat/adjtimex_state.in @@ -1,6 +1,7 @@ -TIME_OK -TIME_INS -TIME_DEL -TIME_OOP -TIME_WAIT -TIME_ERROR +#value_indexed +TIME_OK 0 +TIME_INS 1 +TIME_DEL 2 +TIME_OOP 3 +TIME_WAIT 4 +TIME_ERROR 5 diff --git a/xlat/adjtimex_status.h b/xlat/adjtimex_status.h index 16e7811c..1c3084da 100644 --- a/xlat/adjtimex_status.h +++ b/xlat/adjtimex_status.h @@ -1,64 +1,152 @@ /* Generated by ./xlat/gen.sh from ./xlat/adjtimex_status.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -extern const struct xlat adjtimex_status[]; - -#else - -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) -static -# endif -const struct xlat adjtimex_status[] = { #if defined(STA_PLL) || (defined(HAVE_DECL_STA_PLL) && HAVE_DECL_STA_PLL) - XLAT(STA_PLL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_PLL) == (0x0001), "STA_PLL != 0x0001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_PLL 0x0001 #endif #if defined(STA_PPSFREQ) || (defined(HAVE_DECL_STA_PPSFREQ) && HAVE_DECL_STA_PPSFREQ) - XLAT(STA_PPSFREQ), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_PPSFREQ) == (0x0002), "STA_PPSFREQ != 0x0002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_PPSFREQ 0x0002 #endif #if defined(STA_PPSTIME) || (defined(HAVE_DECL_STA_PPSTIME) && HAVE_DECL_STA_PPSTIME) - XLAT(STA_PPSTIME), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_PPSTIME) == (0x0004), "STA_PPSTIME != 0x0004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_PPSTIME 0x0004 #endif #if defined(STA_FLL) || (defined(HAVE_DECL_STA_FLL) && HAVE_DECL_STA_FLL) - XLAT(STA_FLL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_FLL) == (0x0008), "STA_FLL != 0x0008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_FLL 0x0008 #endif #if defined(STA_INS) || (defined(HAVE_DECL_STA_INS) && HAVE_DECL_STA_INS) - XLAT(STA_INS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_INS) == (0x0010), "STA_INS != 0x0010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_INS 0x0010 #endif #if defined(STA_DEL) || (defined(HAVE_DECL_STA_DEL) && HAVE_DECL_STA_DEL) - XLAT(STA_DEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_DEL) == (0x0020), "STA_DEL != 0x0020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_DEL 0x0020 #endif #if defined(STA_UNSYNC) || (defined(HAVE_DECL_STA_UNSYNC) && HAVE_DECL_STA_UNSYNC) - XLAT(STA_UNSYNC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_UNSYNC) == (0x0040), "STA_UNSYNC != 0x0040"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_UNSYNC 0x0040 #endif #if defined(STA_FREQHOLD) || (defined(HAVE_DECL_STA_FREQHOLD) && HAVE_DECL_STA_FREQHOLD) - XLAT(STA_FREQHOLD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_FREQHOLD) == (0x0080), "STA_FREQHOLD != 0x0080"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_FREQHOLD 0x0080 #endif #if defined(STA_PPSSIGNAL) || (defined(HAVE_DECL_STA_PPSSIGNAL) && HAVE_DECL_STA_PPSSIGNAL) - XLAT(STA_PPSSIGNAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_PPSSIGNAL) == (0x0100), "STA_PPSSIGNAL != 0x0100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_PPSSIGNAL 0x0100 #endif #if defined(STA_PPSJITTER) || (defined(HAVE_DECL_STA_PPSJITTER) && HAVE_DECL_STA_PPSJITTER) - XLAT(STA_PPSJITTER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_PPSJITTER) == (0x0200), "STA_PPSJITTER != 0x0200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_PPSJITTER 0x0200 #endif #if defined(STA_PPSWANDER) || (defined(HAVE_DECL_STA_PPSWANDER) && HAVE_DECL_STA_PPSWANDER) - XLAT(STA_PPSWANDER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_PPSWANDER) == (0x0400), "STA_PPSWANDER != 0x0400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_PPSWANDER 0x0400 #endif #if defined(STA_PPSERROR) || (defined(HAVE_DECL_STA_PPSERROR) && HAVE_DECL_STA_PPSERROR) - XLAT(STA_PPSERROR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_PPSERROR) == (0x0800), "STA_PPSERROR != 0x0800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_PPSERROR 0x0800 #endif #if defined(STA_CLOCKERR) || (defined(HAVE_DECL_STA_CLOCKERR) && HAVE_DECL_STA_CLOCKERR) - XLAT(STA_CLOCKERR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_CLOCKERR) == (0x1000), "STA_CLOCKERR != 0x1000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_CLOCKERR 0x1000 #endif #if defined(STA_NANO) || (defined(HAVE_DECL_STA_NANO) && HAVE_DECL_STA_NANO) - XLAT(STA_NANO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_NANO) == (0x2000), "STA_NANO != 0x2000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_NANO 0x2000 #endif #if defined(STA_MODE) || (defined(HAVE_DECL_STA_MODE) && HAVE_DECL_STA_MODE) - XLAT(STA_MODE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_MODE) == (0x4000), "STA_MODE != 0x4000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_MODE 0x4000 #endif #if defined(STA_CLK) || (defined(HAVE_DECL_STA_CLK) && HAVE_DECL_STA_CLK) - XLAT(STA_CLK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STA_CLK) == (0x8000), "STA_CLK != 0x8000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define STA_CLK 0x8000 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +extern const struct xlat adjtimex_status[]; + +# else + +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +static +# endif +const struct xlat adjtimex_status[] = { + XLAT(STA_PLL), + XLAT(STA_PPSFREQ), + XLAT(STA_PPSTIME), + XLAT(STA_FLL), + XLAT(STA_INS), + XLAT(STA_DEL), + XLAT(STA_UNSYNC), + XLAT(STA_FREQHOLD), + XLAT(STA_PPSSIGNAL), + XLAT(STA_PPSJITTER), + XLAT(STA_PPSWANDER), + XLAT(STA_PPSERROR), + XLAT(STA_CLOCKERR), + XLAT(STA_NANO), + XLAT(STA_MODE), + XLAT(STA_CLK), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/adjtimex_status.in b/xlat/adjtimex_status.in index c6b62641..7b83da88 100644 --- a/xlat/adjtimex_status.in +++ b/xlat/adjtimex_status.in @@ -1,16 +1,16 @@ -STA_PLL -STA_PPSFREQ -STA_PPSTIME -STA_FLL -STA_INS -STA_DEL -STA_UNSYNC -STA_FREQHOLD -STA_PPSSIGNAL -STA_PPSJITTER -STA_PPSWANDER -STA_PPSERROR -STA_CLOCKERR -STA_NANO -STA_MODE -STA_CLK +STA_PLL 0x0001 +STA_PPSFREQ 0x0002 +STA_PPSTIME 0x0004 +STA_FLL 0x0008 +STA_INS 0x0010 +STA_DEL 0x0020 +STA_UNSYNC 0x0040 +STA_FREQHOLD 0x0080 +STA_PPSSIGNAL 0x0100 +STA_PPSJITTER 0x0200 +STA_PPSWANDER 0x0400 +STA_PPSERROR 0x0800 +STA_CLOCKERR 0x1000 +STA_NANO 0x2000 +STA_MODE 0x4000 +STA_CLK 0x8000 diff --git a/xlat/advise.h b/xlat/advise.h index 526219d1..cf525228 100644 --- a/xlat/advise.h +++ b/xlat/advise.h @@ -1,32 +1,92 @@ /* Generated by ./xlat/gen.sh from ./xlat/advise.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat advise in mpers mode - -#else - -static -const struct xlat advise[] = { #if defined(POSIX_FADV_NORMAL) || (defined(HAVE_DECL_POSIX_FADV_NORMAL) && HAVE_DECL_POSIX_FADV_NORMAL) - XLAT(POSIX_FADV_NORMAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POSIX_FADV_NORMAL) == (0), "POSIX_FADV_NORMAL != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define POSIX_FADV_NORMAL 0 #endif #if defined(POSIX_FADV_RANDOM) || (defined(HAVE_DECL_POSIX_FADV_RANDOM) && HAVE_DECL_POSIX_FADV_RANDOM) - XLAT(POSIX_FADV_RANDOM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POSIX_FADV_RANDOM) == (1), "POSIX_FADV_RANDOM != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define POSIX_FADV_RANDOM 1 #endif #if defined(POSIX_FADV_SEQUENTIAL) || (defined(HAVE_DECL_POSIX_FADV_SEQUENTIAL) && HAVE_DECL_POSIX_FADV_SEQUENTIAL) - XLAT(POSIX_FADV_SEQUENTIAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POSIX_FADV_SEQUENTIAL) == (2), "POSIX_FADV_SEQUENTIAL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define POSIX_FADV_SEQUENTIAL 2 #endif #if defined(POSIX_FADV_WILLNEED) || (defined(HAVE_DECL_POSIX_FADV_WILLNEED) && HAVE_DECL_POSIX_FADV_WILLNEED) - XLAT(POSIX_FADV_WILLNEED), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POSIX_FADV_WILLNEED) == (3), "POSIX_FADV_WILLNEED != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define POSIX_FADV_WILLNEED 3 #endif +#if defined __s390x__ #if defined(POSIX_FADV_DONTNEED) || (defined(HAVE_DECL_POSIX_FADV_DONTNEED) && HAVE_DECL_POSIX_FADV_DONTNEED) - XLAT(POSIX_FADV_DONTNEED), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POSIX_FADV_DONTNEED) == (6), "POSIX_FADV_DONTNEED != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define POSIX_FADV_DONTNEED 6 #endif #if defined(POSIX_FADV_NOREUSE) || (defined(HAVE_DECL_POSIX_FADV_NOREUSE) && HAVE_DECL_POSIX_FADV_NOREUSE) - XLAT(POSIX_FADV_NOREUSE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POSIX_FADV_NOREUSE) == (7), "POSIX_FADV_NOREUSE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define POSIX_FADV_NOREUSE 7 +#endif +#else +#if defined(POSIX_FADV_DONTNEED) || (defined(HAVE_DECL_POSIX_FADV_DONTNEED) && HAVE_DECL_POSIX_FADV_DONTNEED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POSIX_FADV_DONTNEED) == (4), "POSIX_FADV_DONTNEED != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define POSIX_FADV_DONTNEED 4 +#endif +#if defined(POSIX_FADV_NOREUSE) || (defined(HAVE_DECL_POSIX_FADV_NOREUSE) && HAVE_DECL_POSIX_FADV_NOREUSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POSIX_FADV_NOREUSE) == (5), "POSIX_FADV_NOREUSE != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define POSIX_FADV_NOREUSE 5 +#endif +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat advise in mpers mode + +# else + +static +const struct xlat advise[] = { + XLAT(POSIX_FADV_NORMAL), + XLAT(POSIX_FADV_RANDOM), + XLAT(POSIX_FADV_SEQUENTIAL), + XLAT(POSIX_FADV_WILLNEED), +#if defined __s390x__ + XLAT(POSIX_FADV_DONTNEED), + XLAT(POSIX_FADV_NOREUSE), +#else + XLAT(POSIX_FADV_DONTNEED), + XLAT(POSIX_FADV_NOREUSE), #endif XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/advise.in b/xlat/advise.in index 47540e08..5284335f 100644 --- a/xlat/advise.in +++ b/xlat/advise.in @@ -1,6 +1,11 @@ -POSIX_FADV_NORMAL -POSIX_FADV_RANDOM -POSIX_FADV_SEQUENTIAL -POSIX_FADV_WILLNEED -POSIX_FADV_DONTNEED -POSIX_FADV_NOREUSE +POSIX_FADV_NORMAL 0 +POSIX_FADV_RANDOM 1 +POSIX_FADV_SEQUENTIAL 2 +POSIX_FADV_WILLNEED 3 +#if defined __s390x__ +POSIX_FADV_DONTNEED 6 +POSIX_FADV_NOREUSE 7 +#else +POSIX_FADV_DONTNEED 4 +POSIX_FADV_NOREUSE 5 +#endif diff --git a/xlat/af_packet_types.h b/xlat/af_packet_types.h index 72bb4192..c104813d 100644 --- a/xlat/af_packet_types.h +++ b/xlat/af_packet_types.h @@ -1,35 +1,86 @@ /* Generated by ./xlat/gen.sh from ./xlat/af_packet_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat af_packet_types in mpers mode - -#else - -static -const struct xlat af_packet_types[] = { #if defined(PACKET_HOST) || (defined(HAVE_DECL_PACKET_HOST) && HAVE_DECL_PACKET_HOST) - XLAT(PACKET_HOST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PACKET_HOST) == (0), "PACKET_HOST != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PACKET_HOST 0 #endif #if defined(PACKET_BROADCAST) || (defined(HAVE_DECL_PACKET_BROADCAST) && HAVE_DECL_PACKET_BROADCAST) - XLAT(PACKET_BROADCAST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PACKET_BROADCAST) == (1), "PACKET_BROADCAST != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PACKET_BROADCAST 1 #endif #if defined(PACKET_MULTICAST) || (defined(HAVE_DECL_PACKET_MULTICAST) && HAVE_DECL_PACKET_MULTICAST) - XLAT(PACKET_MULTICAST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PACKET_MULTICAST) == (2), "PACKET_MULTICAST != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PACKET_MULTICAST 2 #endif #if defined(PACKET_OTHERHOST) || (defined(HAVE_DECL_PACKET_OTHERHOST) && HAVE_DECL_PACKET_OTHERHOST) - XLAT(PACKET_OTHERHOST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PACKET_OTHERHOST) == (3), "PACKET_OTHERHOST != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PACKET_OTHERHOST 3 #endif #if defined(PACKET_OUTGOING) || (defined(HAVE_DECL_PACKET_OUTGOING) && HAVE_DECL_PACKET_OUTGOING) - XLAT(PACKET_OUTGOING), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PACKET_OUTGOING) == (4), "PACKET_OUTGOING != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PACKET_OUTGOING 4 #endif #if defined(PACKET_LOOPBACK) || (defined(HAVE_DECL_PACKET_LOOPBACK) && HAVE_DECL_PACKET_LOOPBACK) - XLAT(PACKET_LOOPBACK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PACKET_LOOPBACK) == (5), "PACKET_LOOPBACK != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PACKET_LOOPBACK 5 #endif -#if defined(PACKET_FASTROUTE) || (defined(HAVE_DECL_PACKET_FASTROUTE) && HAVE_DECL_PACKET_FASTROUTE) - XLAT(PACKET_FASTROUTE), +#if defined(PACKET_USER) || (defined(HAVE_DECL_PACKET_USER) && HAVE_DECL_PACKET_USER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PACKET_USER) == (6), "PACKET_USER != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PACKET_USER 6 +#endif +#if defined(PACKET_KERNEL) || (defined(HAVE_DECL_PACKET_KERNEL) && HAVE_DECL_PACKET_KERNEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PACKET_KERNEL) == (7), "PACKET_KERNEL != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PACKET_KERNEL 7 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat af_packet_types in mpers mode + +# else + +static +const struct xlat af_packet_types[] = { + [PACKET_HOST] = XLAT(PACKET_HOST), + [PACKET_BROADCAST] = XLAT(PACKET_BROADCAST), + [PACKET_MULTICAST] = XLAT(PACKET_MULTICAST), + [PACKET_OTHERHOST] = XLAT(PACKET_OTHERHOST), + [PACKET_OUTGOING] = XLAT(PACKET_OUTGOING), + [PACKET_LOOPBACK] = XLAT(PACKET_LOOPBACK), + [PACKET_USER] = XLAT(PACKET_USER), + [PACKET_KERNEL] = XLAT(PACKET_KERNEL), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/af_packet_types.in b/xlat/af_packet_types.in index 18cf6558..68f75152 100644 --- a/xlat/af_packet_types.in +++ b/xlat/af_packet_types.in @@ -1,7 +1,9 @@ -PACKET_HOST -PACKET_BROADCAST -PACKET_MULTICAST -PACKET_OTHERHOST -PACKET_OUTGOING -PACKET_LOOPBACK -PACKET_FASTROUTE +#value_indexed +PACKET_HOST 0 +PACKET_BROADCAST 1 +PACKET_MULTICAST 2 +PACKET_OTHERHOST 3 +PACKET_OUTGOING 4 +PACKET_LOOPBACK 5 +PACKET_USER 6 +PACKET_KERNEL 7 diff --git a/xlat/archvals.h b/xlat/archvals.h index f8fb9c12..2e5264a8 100644 --- a/xlat/archvals.h +++ b/xlat/archvals.h @@ -1,37 +1,79 @@ /* Generated by ./xlat/gen.sh from ./xlat/archvals.in; do not edit. */ -#if !(defined(ARCH_SET_GS) || (defined(HAVE_DECL_ARCH_SET_GS) && HAVE_DECL_ARCH_SET_GS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(ARCH_SET_GS) || (defined(HAVE_DECL_ARCH_SET_GS) && HAVE_DECL_ARCH_SET_GS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARCH_SET_GS) == (0x1001), "ARCH_SET_GS != 0x1001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ARCH_SET_GS 0x1001 #endif -#if !(defined(ARCH_SET_FS) || (defined(HAVE_DECL_ARCH_SET_FS) && HAVE_DECL_ARCH_SET_FS)) +#if defined(ARCH_SET_FS) || (defined(HAVE_DECL_ARCH_SET_FS) && HAVE_DECL_ARCH_SET_FS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARCH_SET_FS) == (0x1002), "ARCH_SET_FS != 0x1002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ARCH_SET_FS 0x1002 #endif -#if !(defined(ARCH_GET_FS) || (defined(HAVE_DECL_ARCH_GET_FS) && HAVE_DECL_ARCH_GET_FS)) +#if defined(ARCH_GET_FS) || (defined(HAVE_DECL_ARCH_GET_FS) && HAVE_DECL_ARCH_GET_FS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARCH_GET_FS) == (0x1003), "ARCH_GET_FS != 0x1003"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ARCH_GET_FS 0x1003 #endif -#if !(defined(ARCH_GET_GS) || (defined(HAVE_DECL_ARCH_GET_GS) && HAVE_DECL_ARCH_GET_GS)) +#if defined(ARCH_GET_GS) || (defined(HAVE_DECL_ARCH_GET_GS) && HAVE_DECL_ARCH_GET_GS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARCH_GET_GS) == (0x1004), "ARCH_GET_GS != 0x1004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ARCH_GET_GS 0x1004 #endif -#if !(defined(ARCH_GET_CPUID) || (defined(HAVE_DECL_ARCH_GET_CPUID) && HAVE_DECL_ARCH_GET_CPUID)) +#if defined(ARCH_GET_CPUID) || (defined(HAVE_DECL_ARCH_GET_CPUID) && HAVE_DECL_ARCH_GET_CPUID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARCH_GET_CPUID) == (0x1011), "ARCH_GET_CPUID != 0x1011"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ARCH_GET_CPUID 0x1011 #endif -#if !(defined(ARCH_SET_CPUID) || (defined(HAVE_DECL_ARCH_SET_CPUID) && HAVE_DECL_ARCH_SET_CPUID)) +#if defined(ARCH_SET_CPUID) || (defined(HAVE_DECL_ARCH_SET_CPUID) && HAVE_DECL_ARCH_SET_CPUID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARCH_SET_CPUID) == (0x1012), "ARCH_SET_CPUID != 0x1012"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ARCH_SET_CPUID 0x1012 #endif -#if !(defined(ARCH_MAP_VDSO_X32) || (defined(HAVE_DECL_ARCH_MAP_VDSO_X32) && HAVE_DECL_ARCH_MAP_VDSO_X32)) +#if defined(ARCH_MAP_VDSO_X32) || (defined(HAVE_DECL_ARCH_MAP_VDSO_X32) && HAVE_DECL_ARCH_MAP_VDSO_X32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARCH_MAP_VDSO_X32) == (0x2001), "ARCH_MAP_VDSO_X32 != 0x2001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ARCH_MAP_VDSO_X32 0x2001 #endif -#if !(defined(ARCH_MAP_VDSO_32) || (defined(HAVE_DECL_ARCH_MAP_VDSO_32) && HAVE_DECL_ARCH_MAP_VDSO_32)) +#if defined(ARCH_MAP_VDSO_32) || (defined(HAVE_DECL_ARCH_MAP_VDSO_32) && HAVE_DECL_ARCH_MAP_VDSO_32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARCH_MAP_VDSO_32) == (0x2002), "ARCH_MAP_VDSO_32 != 0x2002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ARCH_MAP_VDSO_32 0x2002 #endif -#if !(defined(ARCH_MAP_VDSO_64) || (defined(HAVE_DECL_ARCH_MAP_VDSO_64) && HAVE_DECL_ARCH_MAP_VDSO_64)) +#if defined(ARCH_MAP_VDSO_64) || (defined(HAVE_DECL_ARCH_MAP_VDSO_64) && HAVE_DECL_ARCH_MAP_VDSO_64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARCH_MAP_VDSO_64) == (0x2003), "ARCH_MAP_VDSO_64 != 0x2003"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ARCH_MAP_VDSO_64 0x2003 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat archvals in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat archvals in mpers mode + +# else static const struct xlat archvals[] = { @@ -47,4 +89,6 @@ const struct xlat archvals[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/arp_hardware_types.h b/xlat/arp_hardware_types.h index 200456ef..3da3fc5a 100644 --- a/xlat/arp_hardware_types.h +++ b/xlat/arp_hardware_types.h @@ -1,207 +1,546 @@ /* Generated by ./xlat/gen.sh from ./xlat/arp_hardware_types.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -const struct xlat arp_hardware_types[] = { #if defined(ARPHRD_NETROM) || (defined(HAVE_DECL_ARPHRD_NETROM) && HAVE_DECL_ARPHRD_NETROM) - XLAT(ARPHRD_NETROM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_NETROM) == (0), "ARPHRD_NETROM != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_NETROM 0 #endif #if defined(ARPHRD_ETHER) || (defined(HAVE_DECL_ARPHRD_ETHER) && HAVE_DECL_ARPHRD_ETHER) - XLAT(ARPHRD_ETHER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_ETHER) == (1), "ARPHRD_ETHER != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_ETHER 1 #endif #if defined(ARPHRD_EETHER) || (defined(HAVE_DECL_ARPHRD_EETHER) && HAVE_DECL_ARPHRD_EETHER) - XLAT(ARPHRD_EETHER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_EETHER) == (2), "ARPHRD_EETHER != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_EETHER 2 #endif #if defined(ARPHRD_AX25) || (defined(HAVE_DECL_ARPHRD_AX25) && HAVE_DECL_ARPHRD_AX25) - XLAT(ARPHRD_AX25), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_AX25) == (3), "ARPHRD_AX25 != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_AX25 3 #endif #if defined(ARPHRD_PRONET) || (defined(HAVE_DECL_ARPHRD_PRONET) && HAVE_DECL_ARPHRD_PRONET) - XLAT(ARPHRD_PRONET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_PRONET) == (4), "ARPHRD_PRONET != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_PRONET 4 #endif #if defined(ARPHRD_CHAOS) || (defined(HAVE_DECL_ARPHRD_CHAOS) && HAVE_DECL_ARPHRD_CHAOS) - XLAT(ARPHRD_CHAOS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_CHAOS) == (5), "ARPHRD_CHAOS != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_CHAOS 5 #endif #if defined(ARPHRD_IEEE802) || (defined(HAVE_DECL_ARPHRD_IEEE802) && HAVE_DECL_ARPHRD_IEEE802) - XLAT(ARPHRD_IEEE802), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IEEE802) == (6), "ARPHRD_IEEE802 != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IEEE802 6 #endif #if defined(ARPHRD_ARCNET) || (defined(HAVE_DECL_ARPHRD_ARCNET) && HAVE_DECL_ARPHRD_ARCNET) - XLAT(ARPHRD_ARCNET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_ARCNET) == (7), "ARPHRD_ARCNET != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_ARCNET 7 #endif #if defined(ARPHRD_APPLETLK) || (defined(HAVE_DECL_ARPHRD_APPLETLK) && HAVE_DECL_ARPHRD_APPLETLK) - XLAT(ARPHRD_APPLETLK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_APPLETLK) == (8), "ARPHRD_APPLETLK != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_APPLETLK 8 #endif #if defined(ARPHRD_DLCI) || (defined(HAVE_DECL_ARPHRD_DLCI) && HAVE_DECL_ARPHRD_DLCI) - XLAT(ARPHRD_DLCI), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_DLCI) == (15), "ARPHRD_DLCI != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_DLCI 15 #endif #if defined(ARPHRD_ATM) || (defined(HAVE_DECL_ARPHRD_ATM) && HAVE_DECL_ARPHRD_ATM) - XLAT(ARPHRD_ATM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_ATM) == (19), "ARPHRD_ATM != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_ATM 19 #endif #if defined(ARPHRD_METRICOM) || (defined(HAVE_DECL_ARPHRD_METRICOM) && HAVE_DECL_ARPHRD_METRICOM) - XLAT(ARPHRD_METRICOM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_METRICOM) == (23), "ARPHRD_METRICOM != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_METRICOM 23 #endif #if defined(ARPHRD_IEEE1394) || (defined(HAVE_DECL_ARPHRD_IEEE1394) && HAVE_DECL_ARPHRD_IEEE1394) - XLAT(ARPHRD_IEEE1394), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IEEE1394) == (24), "ARPHRD_IEEE1394 != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IEEE1394 24 #endif #if defined(ARPHRD_EUI64) || (defined(HAVE_DECL_ARPHRD_EUI64) && HAVE_DECL_ARPHRD_EUI64) - XLAT(ARPHRD_EUI64), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_EUI64) == (27), "ARPHRD_EUI64 != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_EUI64 27 #endif #if defined(ARPHRD_INFINIBAND) || (defined(HAVE_DECL_ARPHRD_INFINIBAND) && HAVE_DECL_ARPHRD_INFINIBAND) - XLAT(ARPHRD_INFINIBAND), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_INFINIBAND) == (32), "ARPHRD_INFINIBAND != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_INFINIBAND 32 #endif #if defined(ARPHRD_SLIP) || (defined(HAVE_DECL_ARPHRD_SLIP) && HAVE_DECL_ARPHRD_SLIP) - XLAT(ARPHRD_SLIP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_SLIP) == (256), "ARPHRD_SLIP != 256"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_SLIP 256 #endif #if defined(ARPHRD_CSLIP) || (defined(HAVE_DECL_ARPHRD_CSLIP) && HAVE_DECL_ARPHRD_CSLIP) - XLAT(ARPHRD_CSLIP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_CSLIP) == (257), "ARPHRD_CSLIP != 257"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_CSLIP 257 #endif #if defined(ARPHRD_SLIP6) || (defined(HAVE_DECL_ARPHRD_SLIP6) && HAVE_DECL_ARPHRD_SLIP6) - XLAT(ARPHRD_SLIP6), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_SLIP6) == (258), "ARPHRD_SLIP6 != 258"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_SLIP6 258 #endif #if defined(ARPHRD_CSLIP6) || (defined(HAVE_DECL_ARPHRD_CSLIP6) && HAVE_DECL_ARPHRD_CSLIP6) - XLAT(ARPHRD_CSLIP6), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_CSLIP6) == (259), "ARPHRD_CSLIP6 != 259"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_CSLIP6 259 #endif #if defined(ARPHRD_RSRVD) || (defined(HAVE_DECL_ARPHRD_RSRVD) && HAVE_DECL_ARPHRD_RSRVD) - XLAT(ARPHRD_RSRVD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_RSRVD) == (260), "ARPHRD_RSRVD != 260"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_RSRVD 260 #endif #if defined(ARPHRD_ADAPT) || (defined(HAVE_DECL_ARPHRD_ADAPT) && HAVE_DECL_ARPHRD_ADAPT) - XLAT(ARPHRD_ADAPT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_ADAPT) == (264), "ARPHRD_ADAPT != 264"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_ADAPT 264 #endif #if defined(ARPHRD_ROSE) || (defined(HAVE_DECL_ARPHRD_ROSE) && HAVE_DECL_ARPHRD_ROSE) - XLAT(ARPHRD_ROSE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_ROSE) == (270), "ARPHRD_ROSE != 270"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_ROSE 270 #endif #if defined(ARPHRD_X25) || (defined(HAVE_DECL_ARPHRD_X25) && HAVE_DECL_ARPHRD_X25) - XLAT(ARPHRD_X25), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_X25) == (271), "ARPHRD_X25 != 271"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_X25 271 #endif #if defined(ARPHRD_HWX25) || (defined(HAVE_DECL_ARPHRD_HWX25) && HAVE_DECL_ARPHRD_HWX25) - XLAT(ARPHRD_HWX25), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_HWX25) == (272), "ARPHRD_HWX25 != 272"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_HWX25 272 #endif #if defined(ARPHRD_CAN) || (defined(HAVE_DECL_ARPHRD_CAN) && HAVE_DECL_ARPHRD_CAN) - XLAT(ARPHRD_CAN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_CAN) == (280), "ARPHRD_CAN != 280"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_CAN 280 #endif #if defined(ARPHRD_PPP) || (defined(HAVE_DECL_ARPHRD_PPP) && HAVE_DECL_ARPHRD_PPP) - XLAT(ARPHRD_PPP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_PPP) == (512), "ARPHRD_PPP != 512"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_PPP 512 #endif #if defined(ARPHRD_CISCO) || (defined(HAVE_DECL_ARPHRD_CISCO) && HAVE_DECL_ARPHRD_CISCO) - XLAT(ARPHRD_CISCO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_CISCO) == (513), "ARPHRD_CISCO != 513"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_CISCO 513 #endif #if defined(ARPHRD_LAPB) || (defined(HAVE_DECL_ARPHRD_LAPB) && HAVE_DECL_ARPHRD_LAPB) - XLAT(ARPHRD_LAPB), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_LAPB) == (516), "ARPHRD_LAPB != 516"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_LAPB 516 #endif #if defined(ARPHRD_DDCMP) || (defined(HAVE_DECL_ARPHRD_DDCMP) && HAVE_DECL_ARPHRD_DDCMP) - XLAT(ARPHRD_DDCMP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_DDCMP) == (517), "ARPHRD_DDCMP != 517"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_DDCMP 517 #endif #if defined(ARPHRD_RAWHDLC) || (defined(HAVE_DECL_ARPHRD_RAWHDLC) && HAVE_DECL_ARPHRD_RAWHDLC) - XLAT(ARPHRD_RAWHDLC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_RAWHDLC) == (518), "ARPHRD_RAWHDLC != 518"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_RAWHDLC 518 #endif #if defined(ARPHRD_RAWIP) || (defined(HAVE_DECL_ARPHRD_RAWIP) && HAVE_DECL_ARPHRD_RAWIP) - XLAT(ARPHRD_RAWIP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_RAWIP) == (519), "ARPHRD_RAWIP != 519"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_RAWIP 519 #endif #if defined(ARPHRD_TUNNEL) || (defined(HAVE_DECL_ARPHRD_TUNNEL) && HAVE_DECL_ARPHRD_TUNNEL) - XLAT(ARPHRD_TUNNEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_TUNNEL) == (768), "ARPHRD_TUNNEL != 768"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_TUNNEL 768 #endif #if defined(ARPHRD_TUNNEL6) || (defined(HAVE_DECL_ARPHRD_TUNNEL6) && HAVE_DECL_ARPHRD_TUNNEL6) - XLAT(ARPHRD_TUNNEL6), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_TUNNEL6) == (769), "ARPHRD_TUNNEL6 != 769"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_TUNNEL6 769 #endif #if defined(ARPHRD_FRAD) || (defined(HAVE_DECL_ARPHRD_FRAD) && HAVE_DECL_ARPHRD_FRAD) - XLAT(ARPHRD_FRAD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_FRAD) == (770), "ARPHRD_FRAD != 770"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_FRAD 770 #endif #if defined(ARPHRD_SKIP) || (defined(HAVE_DECL_ARPHRD_SKIP) && HAVE_DECL_ARPHRD_SKIP) - XLAT(ARPHRD_SKIP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_SKIP) == (771), "ARPHRD_SKIP != 771"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_SKIP 771 #endif #if defined(ARPHRD_LOOPBACK) || (defined(HAVE_DECL_ARPHRD_LOOPBACK) && HAVE_DECL_ARPHRD_LOOPBACK) - XLAT(ARPHRD_LOOPBACK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_LOOPBACK) == (772), "ARPHRD_LOOPBACK != 772"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_LOOPBACK 772 #endif #if defined(ARPHRD_LOCALTLK) || (defined(HAVE_DECL_ARPHRD_LOCALTLK) && HAVE_DECL_ARPHRD_LOCALTLK) - XLAT(ARPHRD_LOCALTLK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_LOCALTLK) == (773), "ARPHRD_LOCALTLK != 773"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_LOCALTLK 773 #endif #if defined(ARPHRD_FDDI) || (defined(HAVE_DECL_ARPHRD_FDDI) && HAVE_DECL_ARPHRD_FDDI) - XLAT(ARPHRD_FDDI), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_FDDI) == (774), "ARPHRD_FDDI != 774"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_FDDI 774 #endif #if defined(ARPHRD_BIF) || (defined(HAVE_DECL_ARPHRD_BIF) && HAVE_DECL_ARPHRD_BIF) - XLAT(ARPHRD_BIF), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_BIF) == (775), "ARPHRD_BIF != 775"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_BIF 775 #endif #if defined(ARPHRD_SIT) || (defined(HAVE_DECL_ARPHRD_SIT) && HAVE_DECL_ARPHRD_SIT) - XLAT(ARPHRD_SIT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_SIT) == (776), "ARPHRD_SIT != 776"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_SIT 776 #endif #if defined(ARPHRD_IPDDP) || (defined(HAVE_DECL_ARPHRD_IPDDP) && HAVE_DECL_ARPHRD_IPDDP) - XLAT(ARPHRD_IPDDP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IPDDP) == (777), "ARPHRD_IPDDP != 777"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IPDDP 777 #endif #if defined(ARPHRD_IPGRE) || (defined(HAVE_DECL_ARPHRD_IPGRE) && HAVE_DECL_ARPHRD_IPGRE) - XLAT(ARPHRD_IPGRE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IPGRE) == (778), "ARPHRD_IPGRE != 778"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IPGRE 778 #endif #if defined(ARPHRD_PIMREG) || (defined(HAVE_DECL_ARPHRD_PIMREG) && HAVE_DECL_ARPHRD_PIMREG) - XLAT(ARPHRD_PIMREG), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_PIMREG) == (779), "ARPHRD_PIMREG != 779"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_PIMREG 779 #endif #if defined(ARPHRD_HIPPI) || (defined(HAVE_DECL_ARPHRD_HIPPI) && HAVE_DECL_ARPHRD_HIPPI) - XLAT(ARPHRD_HIPPI), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_HIPPI) == (780), "ARPHRD_HIPPI != 780"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_HIPPI 780 #endif #if defined(ARPHRD_ASH) || (defined(HAVE_DECL_ARPHRD_ASH) && HAVE_DECL_ARPHRD_ASH) - XLAT(ARPHRD_ASH), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_ASH) == (781), "ARPHRD_ASH != 781"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_ASH 781 #endif #if defined(ARPHRD_ECONET) || (defined(HAVE_DECL_ARPHRD_ECONET) && HAVE_DECL_ARPHRD_ECONET) - XLAT(ARPHRD_ECONET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_ECONET) == (782), "ARPHRD_ECONET != 782"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_ECONET 782 #endif #if defined(ARPHRD_IRDA) || (defined(HAVE_DECL_ARPHRD_IRDA) && HAVE_DECL_ARPHRD_IRDA) - XLAT(ARPHRD_IRDA), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IRDA) == (783), "ARPHRD_IRDA != 783"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IRDA 783 #endif #if defined(ARPHRD_FCPP) || (defined(HAVE_DECL_ARPHRD_FCPP) && HAVE_DECL_ARPHRD_FCPP) - XLAT(ARPHRD_FCPP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_FCPP) == (784), "ARPHRD_FCPP != 784"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_FCPP 784 #endif #if defined(ARPHRD_FCAL) || (defined(HAVE_DECL_ARPHRD_FCAL) && HAVE_DECL_ARPHRD_FCAL) - XLAT(ARPHRD_FCAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_FCAL) == (785), "ARPHRD_FCAL != 785"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_FCAL 785 #endif #if defined(ARPHRD_FCPL) || (defined(HAVE_DECL_ARPHRD_FCPL) && HAVE_DECL_ARPHRD_FCPL) - XLAT(ARPHRD_FCPL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_FCPL) == (786), "ARPHRD_FCPL != 786"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_FCPL 786 #endif #if defined(ARPHRD_FCFABRIC) || (defined(HAVE_DECL_ARPHRD_FCFABRIC) && HAVE_DECL_ARPHRD_FCFABRIC) - XLAT(ARPHRD_FCFABRIC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_FCFABRIC) == (787), "ARPHRD_FCFABRIC != 787"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_FCFABRIC 787 #endif #if defined(ARPHRD_IEEE802_TR) || (defined(HAVE_DECL_ARPHRD_IEEE802_TR) && HAVE_DECL_ARPHRD_IEEE802_TR) - XLAT(ARPHRD_IEEE802_TR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IEEE802_TR) == (800), "ARPHRD_IEEE802_TR != 800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IEEE802_TR 800 #endif #if defined(ARPHRD_IEEE80211) || (defined(HAVE_DECL_ARPHRD_IEEE80211) && HAVE_DECL_ARPHRD_IEEE80211) - XLAT(ARPHRD_IEEE80211), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IEEE80211) == (801), "ARPHRD_IEEE80211 != 801"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IEEE80211 801 #endif #if defined(ARPHRD_IEEE80211_PRISM) || (defined(HAVE_DECL_ARPHRD_IEEE80211_PRISM) && HAVE_DECL_ARPHRD_IEEE80211_PRISM) - XLAT(ARPHRD_IEEE80211_PRISM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IEEE80211_PRISM) == (802), "ARPHRD_IEEE80211_PRISM != 802"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IEEE80211_PRISM 802 #endif #if defined(ARPHRD_IEEE80211_RADIOTAP) || (defined(HAVE_DECL_ARPHRD_IEEE80211_RADIOTAP) && HAVE_DECL_ARPHRD_IEEE80211_RADIOTAP) - XLAT(ARPHRD_IEEE80211_RADIOTAP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IEEE80211_RADIOTAP) == (803), "ARPHRD_IEEE80211_RADIOTAP != 803"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IEEE80211_RADIOTAP 803 #endif #if defined(ARPHRD_IEEE802154) || (defined(HAVE_DECL_ARPHRD_IEEE802154) && HAVE_DECL_ARPHRD_IEEE802154) - XLAT(ARPHRD_IEEE802154), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IEEE802154) == (804), "ARPHRD_IEEE802154 != 804"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IEEE802154 804 #endif #if defined(ARPHRD_IEEE802154_MONITOR) || (defined(HAVE_DECL_ARPHRD_IEEE802154_MONITOR) && HAVE_DECL_ARPHRD_IEEE802154_MONITOR) - XLAT(ARPHRD_IEEE802154_MONITOR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IEEE802154_MONITOR) == (805), "ARPHRD_IEEE802154_MONITOR != 805"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IEEE802154_MONITOR 805 #endif #if defined(ARPHRD_PHONET) || (defined(HAVE_DECL_ARPHRD_PHONET) && HAVE_DECL_ARPHRD_PHONET) - XLAT(ARPHRD_PHONET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_PHONET) == (820), "ARPHRD_PHONET != 820"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_PHONET 820 #endif #if defined(ARPHRD_PHONET_PIPE) || (defined(HAVE_DECL_ARPHRD_PHONET_PIPE) && HAVE_DECL_ARPHRD_PHONET_PIPE) - XLAT(ARPHRD_PHONET_PIPE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_PHONET_PIPE) == (821), "ARPHRD_PHONET_PIPE != 821"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_PHONET_PIPE 821 #endif #if defined(ARPHRD_CAIF) || (defined(HAVE_DECL_ARPHRD_CAIF) && HAVE_DECL_ARPHRD_CAIF) - XLAT(ARPHRD_CAIF), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_CAIF) == (822), "ARPHRD_CAIF != 822"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_CAIF 822 #endif #if defined(ARPHRD_IP6GRE) || (defined(HAVE_DECL_ARPHRD_IP6GRE) && HAVE_DECL_ARPHRD_IP6GRE) - XLAT(ARPHRD_IP6GRE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_IP6GRE) == (823), "ARPHRD_IP6GRE != 823"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_IP6GRE 823 #endif #if defined(ARPHRD_NETLINK) || (defined(HAVE_DECL_ARPHRD_NETLINK) && HAVE_DECL_ARPHRD_NETLINK) - XLAT(ARPHRD_NETLINK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_NETLINK) == (824), "ARPHRD_NETLINK != 824"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_NETLINK 824 #endif #if defined(ARPHRD_6LOWPAN) || (defined(HAVE_DECL_ARPHRD_6LOWPAN) && HAVE_DECL_ARPHRD_6LOWPAN) - XLAT(ARPHRD_6LOWPAN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_6LOWPAN) == (825), "ARPHRD_6LOWPAN != 825"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_6LOWPAN 825 #endif #if defined(ARPHRD_VSOCKMON) || (defined(HAVE_DECL_ARPHRD_VSOCKMON) && HAVE_DECL_ARPHRD_VSOCKMON) - XLAT(ARPHRD_VSOCKMON), -#endif -#if defined(ARPHRD_VOID) || (defined(HAVE_DECL_ARPHRD_VOID) && HAVE_DECL_ARPHRD_VOID) - XLAT(ARPHRD_VOID), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_VSOCKMON) == (826), "ARPHRD_VSOCKMON != 826"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_VSOCKMON 826 #endif #if defined(ARPHRD_NONE) || (defined(HAVE_DECL_ARPHRD_NONE) && HAVE_DECL_ARPHRD_NONE) - XLAT(ARPHRD_NONE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_NONE) == (0xFFFE), "ARPHRD_NONE != 0xFFFE"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_NONE 0xFFFE #endif +#if defined(ARPHRD_VOID) || (defined(HAVE_DECL_ARPHRD_VOID) && HAVE_DECL_ARPHRD_VOID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ARPHRD_VOID) == (0xFFFF), "ARPHRD_VOID != 0xFFFF"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ARPHRD_VOID 0xFFFF +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS + +const struct xlat arp_hardware_types[] = { + + XLAT(ARPHRD_NETROM), + XLAT(ARPHRD_ETHER), + XLAT(ARPHRD_EETHER), + XLAT(ARPHRD_AX25), + XLAT(ARPHRD_PRONET), + XLAT(ARPHRD_CHAOS), + XLAT(ARPHRD_IEEE802), + XLAT(ARPHRD_ARCNET), + XLAT(ARPHRD_APPLETLK), + XLAT(ARPHRD_DLCI), + XLAT(ARPHRD_ATM), + XLAT(ARPHRD_METRICOM), + XLAT(ARPHRD_IEEE1394), + XLAT(ARPHRD_EUI64), + XLAT(ARPHRD_INFINIBAND), + XLAT(ARPHRD_SLIP), + XLAT(ARPHRD_CSLIP), + XLAT(ARPHRD_SLIP6), + XLAT(ARPHRD_CSLIP6), + XLAT(ARPHRD_RSRVD), + XLAT(ARPHRD_ADAPT), + XLAT(ARPHRD_ROSE), + XLAT(ARPHRD_X25), + XLAT(ARPHRD_HWX25), + XLAT(ARPHRD_CAN), + XLAT(ARPHRD_PPP), + XLAT(ARPHRD_CISCO), + XLAT(ARPHRD_LAPB), + XLAT(ARPHRD_DDCMP), + XLAT(ARPHRD_RAWHDLC), + XLAT(ARPHRD_RAWIP), + XLAT(ARPHRD_TUNNEL), + XLAT(ARPHRD_TUNNEL6), + XLAT(ARPHRD_FRAD), + XLAT(ARPHRD_SKIP), + XLAT(ARPHRD_LOOPBACK), + XLAT(ARPHRD_LOCALTLK), + XLAT(ARPHRD_FDDI), + XLAT(ARPHRD_BIF), + XLAT(ARPHRD_SIT), + XLAT(ARPHRD_IPDDP), + XLAT(ARPHRD_IPGRE), + XLAT(ARPHRD_PIMREG), + XLAT(ARPHRD_HIPPI), + XLAT(ARPHRD_ASH), + XLAT(ARPHRD_ECONET), + XLAT(ARPHRD_IRDA), + XLAT(ARPHRD_FCPP), + XLAT(ARPHRD_FCAL), + XLAT(ARPHRD_FCPL), + XLAT(ARPHRD_FCFABRIC), + XLAT(ARPHRD_IEEE802_TR), + XLAT(ARPHRD_IEEE80211), + XLAT(ARPHRD_IEEE80211_PRISM), + XLAT(ARPHRD_IEEE80211_RADIOTAP), + XLAT(ARPHRD_IEEE802154), + XLAT(ARPHRD_IEEE802154_MONITOR), + XLAT(ARPHRD_PHONET), + XLAT(ARPHRD_PHONET_PIPE), + XLAT(ARPHRD_CAIF), + XLAT(ARPHRD_IP6GRE), + XLAT(ARPHRD_NETLINK), + XLAT(ARPHRD_6LOWPAN), + XLAT(ARPHRD_VSOCKMON), + XLAT(ARPHRD_NONE), + XLAT(ARPHRD_VOID), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/arp_hardware_types.in b/xlat/arp_hardware_types.in index e307455d..3d81314a 100644 --- a/xlat/arp_hardware_types.in +++ b/xlat/arp_hardware_types.in @@ -1,66 +1,67 @@ -ARPHRD_NETROM -ARPHRD_ETHER -ARPHRD_EETHER -ARPHRD_AX25 -ARPHRD_PRONET -ARPHRD_CHAOS -ARPHRD_IEEE802 -ARPHRD_ARCNET -ARPHRD_APPLETLK -ARPHRD_DLCI -ARPHRD_ATM -ARPHRD_METRICOM -ARPHRD_IEEE1394 -ARPHRD_EUI64 -ARPHRD_INFINIBAND -ARPHRD_SLIP -ARPHRD_CSLIP -ARPHRD_SLIP6 -ARPHRD_CSLIP6 -ARPHRD_RSRVD -ARPHRD_ADAPT -ARPHRD_ROSE -ARPHRD_X25 -ARPHRD_HWX25 -ARPHRD_CAN -ARPHRD_PPP -ARPHRD_CISCO -ARPHRD_LAPB -ARPHRD_DDCMP -ARPHRD_RAWHDLC -ARPHRD_RAWIP -ARPHRD_TUNNEL -ARPHRD_TUNNEL6 -ARPHRD_FRAD -ARPHRD_SKIP -ARPHRD_LOOPBACK -ARPHRD_LOCALTLK -ARPHRD_FDDI -ARPHRD_BIF -ARPHRD_SIT -ARPHRD_IPDDP -ARPHRD_IPGRE -ARPHRD_PIMREG -ARPHRD_HIPPI -ARPHRD_ASH -ARPHRD_ECONET -ARPHRD_IRDA -ARPHRD_FCPP -ARPHRD_FCAL -ARPHRD_FCPL -ARPHRD_FCFABRIC -ARPHRD_IEEE802_TR -ARPHRD_IEEE80211 -ARPHRD_IEEE80211_PRISM -ARPHRD_IEEE80211_RADIOTAP -ARPHRD_IEEE802154 -ARPHRD_IEEE802154_MONITOR -ARPHRD_PHONET -ARPHRD_PHONET_PIPE -ARPHRD_CAIF -ARPHRD_IP6GRE -ARPHRD_NETLINK -ARPHRD_6LOWPAN -ARPHRD_VSOCKMON -ARPHRD_VOID -ARPHRD_NONE +/* sort -k2,2g */ +ARPHRD_NETROM 0 +ARPHRD_ETHER 1 +ARPHRD_EETHER 2 +ARPHRD_AX25 3 +ARPHRD_PRONET 4 +ARPHRD_CHAOS 5 +ARPHRD_IEEE802 6 +ARPHRD_ARCNET 7 +ARPHRD_APPLETLK 8 +ARPHRD_DLCI 15 +ARPHRD_ATM 19 +ARPHRD_METRICOM 23 +ARPHRD_IEEE1394 24 +ARPHRD_EUI64 27 +ARPHRD_INFINIBAND 32 +ARPHRD_SLIP 256 +ARPHRD_CSLIP 257 +ARPHRD_SLIP6 258 +ARPHRD_CSLIP6 259 +ARPHRD_RSRVD 260 +ARPHRD_ADAPT 264 +ARPHRD_ROSE 270 +ARPHRD_X25 271 +ARPHRD_HWX25 272 +ARPHRD_CAN 280 +ARPHRD_PPP 512 +ARPHRD_CISCO 513 +ARPHRD_LAPB 516 +ARPHRD_DDCMP 517 +ARPHRD_RAWHDLC 518 +ARPHRD_RAWIP 519 +ARPHRD_TUNNEL 768 +ARPHRD_TUNNEL6 769 +ARPHRD_FRAD 770 +ARPHRD_SKIP 771 +ARPHRD_LOOPBACK 772 +ARPHRD_LOCALTLK 773 +ARPHRD_FDDI 774 +ARPHRD_BIF 775 +ARPHRD_SIT 776 +ARPHRD_IPDDP 777 +ARPHRD_IPGRE 778 +ARPHRD_PIMREG 779 +ARPHRD_HIPPI 780 +ARPHRD_ASH 781 +ARPHRD_ECONET 782 +ARPHRD_IRDA 783 +ARPHRD_FCPP 784 +ARPHRD_FCAL 785 +ARPHRD_FCPL 786 +ARPHRD_FCFABRIC 787 +ARPHRD_IEEE802_TR 800 +ARPHRD_IEEE80211 801 +ARPHRD_IEEE80211_PRISM 802 +ARPHRD_IEEE80211_RADIOTAP 803 +ARPHRD_IEEE802154 804 +ARPHRD_IEEE802154_MONITOR 805 +ARPHRD_PHONET 820 +ARPHRD_PHONET_PIPE 821 +ARPHRD_CAIF 822 +ARPHRD_IP6GRE 823 +ARPHRD_NETLINK 824 +ARPHRD_6LOWPAN 825 +ARPHRD_VSOCKMON 826 +ARPHRD_NONE 0xFFFE +ARPHRD_VOID 0xFFFF diff --git a/xlat/at_flags.h b/xlat/at_flags.h index 5bebc0bc..bb16a8ef 100644 --- a/xlat/at_flags.h +++ b/xlat/at_flags.h @@ -1,21 +1,47 @@ /* Generated by ./xlat/gen.sh from ./xlat/at_flags.in; do not edit. */ -#if !(defined(AT_SYMLINK_NOFOLLOW) || (defined(HAVE_DECL_AT_SYMLINK_NOFOLLOW) && HAVE_DECL_AT_SYMLINK_NOFOLLOW)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(AT_SYMLINK_NOFOLLOW) || (defined(HAVE_DECL_AT_SYMLINK_NOFOLLOW) && HAVE_DECL_AT_SYMLINK_NOFOLLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_SYMLINK_NOFOLLOW) == (0x100), "AT_SYMLINK_NOFOLLOW != 0x100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_SYMLINK_NOFOLLOW 0x100 #endif -#if !(defined(AT_REMOVEDIR) || (defined(HAVE_DECL_AT_REMOVEDIR) && HAVE_DECL_AT_REMOVEDIR)) +#if defined(AT_REMOVEDIR) || (defined(HAVE_DECL_AT_REMOVEDIR) && HAVE_DECL_AT_REMOVEDIR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_REMOVEDIR) == (0x200), "AT_REMOVEDIR != 0x200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_REMOVEDIR 0x200 #endif -#if !(defined(AT_SYMLINK_FOLLOW) || (defined(HAVE_DECL_AT_SYMLINK_FOLLOW) && HAVE_DECL_AT_SYMLINK_FOLLOW)) +#if defined(AT_SYMLINK_FOLLOW) || (defined(HAVE_DECL_AT_SYMLINK_FOLLOW) && HAVE_DECL_AT_SYMLINK_FOLLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_SYMLINK_FOLLOW) == (0x400), "AT_SYMLINK_FOLLOW != 0x400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_SYMLINK_FOLLOW 0x400 #endif -#if !(defined(AT_NO_AUTOMOUNT) || (defined(HAVE_DECL_AT_NO_AUTOMOUNT) && HAVE_DECL_AT_NO_AUTOMOUNT)) +#if defined(AT_NO_AUTOMOUNT) || (defined(HAVE_DECL_AT_NO_AUTOMOUNT) && HAVE_DECL_AT_NO_AUTOMOUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_NO_AUTOMOUNT) == (0x800), "AT_NO_AUTOMOUNT != 0x800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_NO_AUTOMOUNT 0x800 #endif -#if !(defined(AT_EMPTY_PATH) || (defined(HAVE_DECL_AT_EMPTY_PATH) && HAVE_DECL_AT_EMPTY_PATH)) +#if defined(AT_EMPTY_PATH) || (defined(HAVE_DECL_AT_EMPTY_PATH) && HAVE_DECL_AT_EMPTY_PATH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_EMPTY_PATH) == (0x1000), "AT_EMPTY_PATH != 0x1000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_EMPTY_PATH 0x1000 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat at_flags[] = { XLAT(AT_SYMLINK_NOFOLLOW), @@ -26,4 +52,6 @@ const struct xlat at_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/at_statx_sync_types.h b/xlat/at_statx_sync_types.h index 4babb01f..2850d53e 100644 --- a/xlat/at_statx_sync_types.h +++ b/xlat/at_statx_sync_types.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/at_statx_sync_types.in; do not edit. */ -#if !(defined(AT_STATX_SYNC_AS_STAT) || (defined(HAVE_DECL_AT_STATX_SYNC_AS_STAT) && HAVE_DECL_AT_STATX_SYNC_AS_STAT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(AT_STATX_SYNC_AS_STAT) || (defined(HAVE_DECL_AT_STATX_SYNC_AS_STAT) && HAVE_DECL_AT_STATX_SYNC_AS_STAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_STATX_SYNC_AS_STAT) == (0x0000), "AT_STATX_SYNC_AS_STAT != 0x0000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_STATX_SYNC_AS_STAT 0x0000 #endif -#if !(defined(AT_STATX_FORCE_SYNC) || (defined(HAVE_DECL_AT_STATX_FORCE_SYNC) && HAVE_DECL_AT_STATX_FORCE_SYNC)) +#if defined(AT_STATX_FORCE_SYNC) || (defined(HAVE_DECL_AT_STATX_FORCE_SYNC) && HAVE_DECL_AT_STATX_FORCE_SYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_STATX_FORCE_SYNC) == (0x2000), "AT_STATX_FORCE_SYNC != 0x2000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_STATX_FORCE_SYNC 0x2000 #endif -#if !(defined(AT_STATX_DONT_SYNC) || (defined(HAVE_DECL_AT_STATX_DONT_SYNC) && HAVE_DECL_AT_STATX_DONT_SYNC)) +#if defined(AT_STATX_DONT_SYNC) || (defined(HAVE_DECL_AT_STATX_DONT_SYNC) && HAVE_DECL_AT_STATX_DONT_SYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_STATX_DONT_SYNC) == (0x4000), "AT_STATX_DONT_SYNC != 0x4000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_STATX_DONT_SYNC 0x4000 #endif -#if !(defined(AT_STATX_SYNC_TYPE) || (defined(HAVE_DECL_AT_STATX_SYNC_TYPE) && HAVE_DECL_AT_STATX_SYNC_TYPE)) +#if defined(AT_STATX_SYNC_TYPE) || (defined(HAVE_DECL_AT_STATX_SYNC_TYPE) && HAVE_DECL_AT_STATX_SYNC_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_STATX_SYNC_TYPE) == (0x6000), "AT_STATX_SYNC_TYPE != 0x6000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_STATX_SYNC_TYPE 0x6000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat at_statx_sync_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat at_statx_sync_types in mpers mode + +# else static const struct xlat at_statx_sync_types[] = { @@ -28,4 +50,6 @@ const struct xlat at_statx_sync_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/atomic_ops.h b/xlat/atomic_ops.h index 224dfea1..17e0323d 100644 --- a/xlat/atomic_ops.h +++ b/xlat/atomic_ops.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/atomic_ops.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat atomic_ops in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat atomic_ops in mpers mode + +# else static const struct xlat atomic_ops[] = { @@ -20,4 +26,6 @@ const struct xlat atomic_ops[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/audit_arch.h b/xlat/audit_arch.h index 7883fa8a..13928d95 100644 --- a/xlat/audit_arch.h +++ b/xlat/audit_arch.h @@ -1,4 +1,8 @@ /* Generated by ./xlat/gen.sh from ./xlat/audit_arch.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + #ifdef EM_ARM #endif #ifdef EM_FRV @@ -8,15 +12,17 @@ #ifdef EM_OPENRISC #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat audit_arch[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat audit_arch[] = { #if defined(AUDIT_ARCH_AARCH64) || (defined(HAVE_DECL_AUDIT_ARCH_AARCH64) && HAVE_DECL_AUDIT_ARCH_AARCH64) @@ -126,4 +132,6 @@ const struct xlat audit_arch[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/baud_options.h b/xlat/baud_options.h index 0ea7336f..62e706f3 100644 --- a/xlat/baud_options.h +++ b/xlat/baud_options.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/baud_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat baud_options in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat baud_options in mpers mode + +# else static const struct xlat baud_options[] = { @@ -110,4 +116,6 @@ const struct xlat baud_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bdaddr_types.h b/xlat/bdaddr_types.h new file mode 100644 index 00000000..110ee4d3 --- /dev/null +++ b/xlat/bdaddr_types.h @@ -0,0 +1,46 @@ +/* Generated by ./xlat/gen.sh from ./xlat/bdaddr_types.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BDADDR_BREDR) || (defined(HAVE_DECL_BDADDR_BREDR) && HAVE_DECL_BDADDR_BREDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BDADDR_BREDR) == (0), "BDADDR_BREDR != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BDADDR_BREDR 0 +#endif +#if defined(BDADDR_LE_PUBLIC) || (defined(HAVE_DECL_BDADDR_LE_PUBLIC) && HAVE_DECL_BDADDR_LE_PUBLIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BDADDR_LE_PUBLIC) == (1), "BDADDR_LE_PUBLIC != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BDADDR_LE_PUBLIC 1 +#endif +#if defined(BDADDR_LE_RANDOM) || (defined(HAVE_DECL_BDADDR_LE_RANDOM) && HAVE_DECL_BDADDR_LE_RANDOM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BDADDR_LE_RANDOM) == (2), "BDADDR_LE_RANDOM != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BDADDR_LE_RANDOM 2 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bdaddr_types in mpers mode + +# else + +static +const struct xlat bdaddr_types[] = { + [BDADDR_BREDR] = XLAT(BDADDR_BREDR), + [BDADDR_LE_PUBLIC] = XLAT(BDADDR_LE_PUBLIC), + [BDADDR_LE_RANDOM] = XLAT(BDADDR_LE_RANDOM), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bdaddr_types.in b/xlat/bdaddr_types.in new file mode 100644 index 00000000..b81b6fc3 --- /dev/null +++ b/xlat/bdaddr_types.in @@ -0,0 +1,4 @@ +#value_indexed +BDADDR_BREDR 0 +BDADDR_LE_PUBLIC 1 +BDADDR_LE_RANDOM 2 diff --git a/xlat/blkpg_ops.h b/xlat/blkpg_ops.h index bc36705e..81171dcf 100644 --- a/xlat/blkpg_ops.h +++ b/xlat/blkpg_ops.h @@ -1,23 +1,41 @@ /* Generated by ./xlat/gen.sh from ./xlat/blkpg_ops.in; do not edit. */ -#if !(defined(BLKPG_ADD_PARTITION) || (defined(HAVE_DECL_BLKPG_ADD_PARTITION) && HAVE_DECL_BLKPG_ADD_PARTITION)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BLKPG_ADD_PARTITION) || (defined(HAVE_DECL_BLKPG_ADD_PARTITION) && HAVE_DECL_BLKPG_ADD_PARTITION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BLKPG_ADD_PARTITION) == (1), "BLKPG_ADD_PARTITION != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BLKPG_ADD_PARTITION 1 #endif -#if !(defined(BLKPG_DEL_PARTITION) || (defined(HAVE_DECL_BLKPG_DEL_PARTITION) && HAVE_DECL_BLKPG_DEL_PARTITION)) +#if defined(BLKPG_DEL_PARTITION) || (defined(HAVE_DECL_BLKPG_DEL_PARTITION) && HAVE_DECL_BLKPG_DEL_PARTITION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BLKPG_DEL_PARTITION) == (2), "BLKPG_DEL_PARTITION != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BLKPG_DEL_PARTITION 2 #endif -#if !(defined(BLKPG_RESIZE_PARTITION) || (defined(HAVE_DECL_BLKPG_RESIZE_PARTITION) && HAVE_DECL_BLKPG_RESIZE_PARTITION)) +#if defined(BLKPG_RESIZE_PARTITION) || (defined(HAVE_DECL_BLKPG_RESIZE_PARTITION) && HAVE_DECL_BLKPG_RESIZE_PARTITION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BLKPG_RESIZE_PARTITION) == (3), "BLKPG_RESIZE_PARTITION != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BLKPG_RESIZE_PARTITION 3 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat blkpg_ops[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat blkpg_ops[] = { XLAT(BLKPG_ADD_PARTITION), XLAT(BLKPG_DEL_PARTITION), @@ -25,4 +43,6 @@ const struct xlat blkpg_ops[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bluetooth_l2_cid.h b/xlat/bluetooth_l2_cid.h new file mode 100644 index 00000000..654e5aad --- /dev/null +++ b/xlat/bluetooth_l2_cid.h @@ -0,0 +1,103 @@ +/* Generated by ./xlat/gen.sh from ./xlat/bluetooth_l2_cid.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(L2CAP_CID_SIGNALING) || (defined(HAVE_DECL_L2CAP_CID_SIGNALING) && HAVE_DECL_L2CAP_CID_SIGNALING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_SIGNALING) == (0x0001), "L2CAP_CID_SIGNALING != 0x0001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_SIGNALING 0x0001 +#endif +#if defined(L2CAP_CID_CONN_LESS) || (defined(HAVE_DECL_L2CAP_CID_CONN_LESS) && HAVE_DECL_L2CAP_CID_CONN_LESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_CONN_LESS) == (0x0002), "L2CAP_CID_CONN_LESS != 0x0002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_CONN_LESS 0x0002 +#endif +#if defined(L2CAP_CID_A2MP) || (defined(HAVE_DECL_L2CAP_CID_A2MP) && HAVE_DECL_L2CAP_CID_A2MP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_A2MP) == (0x0003), "L2CAP_CID_A2MP != 0x0003"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_A2MP 0x0003 +#endif +#if defined(L2CAP_CID_ATT) || (defined(HAVE_DECL_L2CAP_CID_ATT) && HAVE_DECL_L2CAP_CID_ATT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_ATT) == (0x0004), "L2CAP_CID_ATT != 0x0004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_ATT 0x0004 +#endif +#if defined(L2CAP_CID_LE_SIGNALING) || (defined(HAVE_DECL_L2CAP_CID_LE_SIGNALING) && HAVE_DECL_L2CAP_CID_LE_SIGNALING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_LE_SIGNALING) == (0x0005), "L2CAP_CID_LE_SIGNALING != 0x0005"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_LE_SIGNALING 0x0005 +#endif +#if defined(L2CAP_CID_SMP) || (defined(HAVE_DECL_L2CAP_CID_SMP) && HAVE_DECL_L2CAP_CID_SMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_SMP) == (0x0006), "L2CAP_CID_SMP != 0x0006"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_SMP 0x0006 +#endif +#if defined(L2CAP_CID_SMP_BREDR) || (defined(HAVE_DECL_L2CAP_CID_SMP_BREDR) && HAVE_DECL_L2CAP_CID_SMP_BREDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_SMP_BREDR) == (0x0007), "L2CAP_CID_SMP_BREDR != 0x0007"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_SMP_BREDR 0x0007 +#endif +#if defined(L2CAP_CID_DYN_START) || (defined(HAVE_DECL_L2CAP_CID_DYN_START) && HAVE_DECL_L2CAP_CID_DYN_START) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_DYN_START) == (0x0040), "L2CAP_CID_DYN_START != 0x0040"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_DYN_START 0x0040 +#endif +#if defined(L2CAP_CID_LE_DYN_END) || (defined(HAVE_DECL_L2CAP_CID_LE_DYN_END) && HAVE_DECL_L2CAP_CID_LE_DYN_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_LE_DYN_END) == (0x007f), "L2CAP_CID_LE_DYN_END != 0x007f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_LE_DYN_END 0x007f +#endif +#if defined(L2CAP_CID_DYN_END) || (defined(HAVE_DECL_L2CAP_CID_DYN_END) && HAVE_DECL_L2CAP_CID_DYN_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_CID_DYN_END) == (0xffff), "L2CAP_CID_DYN_END != 0xffff"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_CID_DYN_END 0xffff +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bluetooth_l2_cid in mpers mode + +# else + +static +const struct xlat bluetooth_l2_cid[] = { + + XLAT(L2CAP_CID_SIGNALING), + XLAT(L2CAP_CID_CONN_LESS), + XLAT(L2CAP_CID_A2MP), + XLAT(L2CAP_CID_ATT), + XLAT(L2CAP_CID_LE_SIGNALING), + XLAT(L2CAP_CID_SMP), + XLAT(L2CAP_CID_SMP_BREDR), + XLAT(L2CAP_CID_DYN_START), + XLAT(L2CAP_CID_LE_DYN_END), + XLAT(L2CAP_CID_DYN_END), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bluetooth_l2_cid.in b/xlat/bluetooth_l2_cid.in new file mode 100644 index 00000000..5fd8fd17 --- /dev/null +++ b/xlat/bluetooth_l2_cid.in @@ -0,0 +1,11 @@ +/* sort -k2,2 */ +L2CAP_CID_SIGNALING 0x0001 +L2CAP_CID_CONN_LESS 0x0002 +L2CAP_CID_A2MP 0x0003 +L2CAP_CID_ATT 0x0004 +L2CAP_CID_LE_SIGNALING 0x0005 +L2CAP_CID_SMP 0x0006 +L2CAP_CID_SMP_BREDR 0x0007 +L2CAP_CID_DYN_START 0x0040 +L2CAP_CID_LE_DYN_END 0x007f +L2CAP_CID_DYN_END 0xffff diff --git a/xlat/bluetooth_l2_psm.h b/xlat/bluetooth_l2_psm.h new file mode 100644 index 00000000..358316a5 --- /dev/null +++ b/xlat/bluetooth_l2_psm.h @@ -0,0 +1,95 @@ +/* Generated by ./xlat/gen.sh from ./xlat/bluetooth_l2_psm.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(L2CAP_PSM_SDP) || (defined(HAVE_DECL_L2CAP_PSM_SDP) && HAVE_DECL_L2CAP_PSM_SDP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_PSM_SDP) == (0x0001), "L2CAP_PSM_SDP != 0x0001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_PSM_SDP 0x0001 +#endif +#if defined(L2CAP_PSM_RFCOMM) || (defined(HAVE_DECL_L2CAP_PSM_RFCOMM) && HAVE_DECL_L2CAP_PSM_RFCOMM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_PSM_RFCOMM) == (0x0003), "L2CAP_PSM_RFCOMM != 0x0003"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_PSM_RFCOMM 0x0003 +#endif +#if defined(L2CAP_PSM_3DSP) || (defined(HAVE_DECL_L2CAP_PSM_3DSP) && HAVE_DECL_L2CAP_PSM_3DSP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_PSM_3DSP) == (0x0021), "L2CAP_PSM_3DSP != 0x0021"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_PSM_3DSP 0x0021 +#endif +#if defined(L2CAP_PSM_IPSP) || (defined(HAVE_DECL_L2CAP_PSM_IPSP) && HAVE_DECL_L2CAP_PSM_IPSP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_PSM_IPSP) == (0x0023), "L2CAP_PSM_IPSP != 0x0023"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_PSM_IPSP 0x0023 +#endif +#if defined(L2CAP_PSM_LE_DYN_START) || (defined(HAVE_DECL_L2CAP_PSM_LE_DYN_START) && HAVE_DECL_L2CAP_PSM_LE_DYN_START) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_PSM_LE_DYN_START) == (0x0080), "L2CAP_PSM_LE_DYN_START != 0x0080"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_PSM_LE_DYN_START 0x0080 +#endif +#if defined(L2CAP_PSM_LE_DYN_END) || (defined(HAVE_DECL_L2CAP_PSM_LE_DYN_END) && HAVE_DECL_L2CAP_PSM_LE_DYN_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_PSM_LE_DYN_END) == (0x00ff), "L2CAP_PSM_LE_DYN_END != 0x00ff"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_PSM_LE_DYN_END 0x00ff +#endif +#if defined(L2CAP_PSM_DYN_START) || (defined(HAVE_DECL_L2CAP_PSM_DYN_START) && HAVE_DECL_L2CAP_PSM_DYN_START) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_PSM_DYN_START) == (0x1001), "L2CAP_PSM_DYN_START != 0x1001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_PSM_DYN_START 0x1001 +#endif +#if defined(L2CAP_PSM_AUTO_END) || (defined(HAVE_DECL_L2CAP_PSM_AUTO_END) && HAVE_DECL_L2CAP_PSM_AUTO_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_PSM_AUTO_END) == (0x10ff), "L2CAP_PSM_AUTO_END != 0x10ff"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_PSM_AUTO_END 0x10ff +#endif +#if defined(L2CAP_PSM_DYN_END) || (defined(HAVE_DECL_L2CAP_PSM_DYN_END) && HAVE_DECL_L2CAP_PSM_DYN_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((L2CAP_PSM_DYN_END) == (0xffff), "L2CAP_PSM_DYN_END != 0xffff"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define L2CAP_PSM_DYN_END 0xffff +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bluetooth_l2_psm in mpers mode + +# else + +static +const struct xlat bluetooth_l2_psm[] = { + + XLAT(L2CAP_PSM_SDP), + XLAT(L2CAP_PSM_RFCOMM), + XLAT(L2CAP_PSM_3DSP), + XLAT(L2CAP_PSM_IPSP), + XLAT(L2CAP_PSM_LE_DYN_START), + XLAT(L2CAP_PSM_LE_DYN_END), + XLAT(L2CAP_PSM_DYN_START), + XLAT(L2CAP_PSM_AUTO_END), + XLAT(L2CAP_PSM_DYN_END), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bluetooth_l2_psm.in b/xlat/bluetooth_l2_psm.in new file mode 100644 index 00000000..afac026a --- /dev/null +++ b/xlat/bluetooth_l2_psm.in @@ -0,0 +1,10 @@ +/* sort -k2,2 */ +L2CAP_PSM_SDP 0x0001 +L2CAP_PSM_RFCOMM 0x0003 +L2CAP_PSM_3DSP 0x0021 +L2CAP_PSM_IPSP 0x0023 +L2CAP_PSM_LE_DYN_START 0x0080 +L2CAP_PSM_LE_DYN_END 0x00ff +L2CAP_PSM_DYN_START 0x1001 +L2CAP_PSM_AUTO_END 0x10ff +L2CAP_PSM_DYN_END 0xffff diff --git a/xlat/bootflags1.h b/xlat/bootflags1.h index fb271408..d868f9c8 100644 --- a/xlat/bootflags1.h +++ b/xlat/bootflags1.h @@ -1,13 +1,23 @@ /* Generated by ./xlat/gen.sh from ./xlat/bootflags1.in; do not edit. */ -#if !(defined(LINUX_REBOOT_MAGIC1) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC1) && HAVE_DECL_LINUX_REBOOT_MAGIC1)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(LINUX_REBOOT_MAGIC1) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC1) && HAVE_DECL_LINUX_REBOOT_MAGIC1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_MAGIC1) == (0xfee1dead), "LINUX_REBOOT_MAGIC1 != 0xfee1dead"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_MAGIC1 0xfee1dead #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bootflags1 in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bootflags1 in mpers mode + +# else static const struct xlat bootflags1[] = { @@ -15,4 +25,6 @@ const struct xlat bootflags1[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bootflags2.h b/xlat/bootflags2.h index 612aae18..6560af3e 100644 --- a/xlat/bootflags2.h +++ b/xlat/bootflags2.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/bootflags2.in; do not edit. */ -#if !(defined(LINUX_REBOOT_MAGIC2) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2) && HAVE_DECL_LINUX_REBOOT_MAGIC2)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(LINUX_REBOOT_MAGIC2) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2) && HAVE_DECL_LINUX_REBOOT_MAGIC2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_MAGIC2) == (672274793), "LINUX_REBOOT_MAGIC2 != 672274793"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_MAGIC2 672274793 #endif -#if !(defined(LINUX_REBOOT_MAGIC2A) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2A) && HAVE_DECL_LINUX_REBOOT_MAGIC2A)) +#if defined(LINUX_REBOOT_MAGIC2A) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2A) && HAVE_DECL_LINUX_REBOOT_MAGIC2A) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_MAGIC2A) == (85072278), "LINUX_REBOOT_MAGIC2A != 85072278"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_MAGIC2A 85072278 #endif -#if !(defined(LINUX_REBOOT_MAGIC2B) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2B) && HAVE_DECL_LINUX_REBOOT_MAGIC2B)) +#if defined(LINUX_REBOOT_MAGIC2B) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2B) && HAVE_DECL_LINUX_REBOOT_MAGIC2B) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_MAGIC2B) == (369367448), "LINUX_REBOOT_MAGIC2B != 369367448"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_MAGIC2B 369367448 #endif -#if !(defined(LINUX_REBOOT_MAGIC2C) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2C) && HAVE_DECL_LINUX_REBOOT_MAGIC2C)) +#if defined(LINUX_REBOOT_MAGIC2C) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2C) && HAVE_DECL_LINUX_REBOOT_MAGIC2C) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_MAGIC2C) == (537993216), "LINUX_REBOOT_MAGIC2C != 537993216"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_MAGIC2C 537993216 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bootflags2 in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bootflags2 in mpers mode + +# else static const struct xlat bootflags2[] = { @@ -27,4 +49,6 @@ const struct xlat bootflags2[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bootflags3.h b/xlat/bootflags3.h index 47ea9cf2..e11a06f6 100644 --- a/xlat/bootflags3.h +++ b/xlat/bootflags3.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/bootflags3.in; do not edit. */ -#if !(defined(LINUX_REBOOT_CMD_RESTART) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_RESTART) && HAVE_DECL_LINUX_REBOOT_CMD_RESTART)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(LINUX_REBOOT_CMD_RESTART) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_RESTART) && HAVE_DECL_LINUX_REBOOT_CMD_RESTART) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_CMD_RESTART) == (0x01234567), "LINUX_REBOOT_CMD_RESTART != 0x01234567"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_CMD_RESTART 0x01234567 #endif -#if !(defined(LINUX_REBOOT_CMD_HALT) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_HALT) && HAVE_DECL_LINUX_REBOOT_CMD_HALT)) +#if defined(LINUX_REBOOT_CMD_HALT) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_HALT) && HAVE_DECL_LINUX_REBOOT_CMD_HALT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_CMD_HALT) == (0xCDEF0123), "LINUX_REBOOT_CMD_HALT != 0xCDEF0123"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_CMD_HALT 0xCDEF0123 #endif -#if !(defined(LINUX_REBOOT_CMD_CAD_ON) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_CAD_ON) && HAVE_DECL_LINUX_REBOOT_CMD_CAD_ON)) +#if defined(LINUX_REBOOT_CMD_CAD_ON) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_CAD_ON) && HAVE_DECL_LINUX_REBOOT_CMD_CAD_ON) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_CMD_CAD_ON) == (0x89ABCDEF), "LINUX_REBOOT_CMD_CAD_ON != 0x89ABCDEF"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_CMD_CAD_ON 0x89ABCDEF #endif -#if !(defined(LINUX_REBOOT_CMD_CAD_OFF) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_CAD_OFF) && HAVE_DECL_LINUX_REBOOT_CMD_CAD_OFF)) +#if defined(LINUX_REBOOT_CMD_CAD_OFF) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_CAD_OFF) && HAVE_DECL_LINUX_REBOOT_CMD_CAD_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_CMD_CAD_OFF) == (0x00000000), "LINUX_REBOOT_CMD_CAD_OFF != 0x00000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_CMD_CAD_OFF 0x00000000 #endif -#if !(defined(LINUX_REBOOT_CMD_POWER_OFF) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_POWER_OFF) && HAVE_DECL_LINUX_REBOOT_CMD_POWER_OFF)) +#if defined(LINUX_REBOOT_CMD_POWER_OFF) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_POWER_OFF) && HAVE_DECL_LINUX_REBOOT_CMD_POWER_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_CMD_POWER_OFF) == (0x4321FEDC), "LINUX_REBOOT_CMD_POWER_OFF != 0x4321FEDC"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_CMD_POWER_OFF 0x4321FEDC #endif -#if !(defined(LINUX_REBOOT_CMD_RESTART2) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_RESTART2) && HAVE_DECL_LINUX_REBOOT_CMD_RESTART2)) +#if defined(LINUX_REBOOT_CMD_RESTART2) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_RESTART2) && HAVE_DECL_LINUX_REBOOT_CMD_RESTART2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_CMD_RESTART2) == (0xA1B2C3D4), "LINUX_REBOOT_CMD_RESTART2 != 0xA1B2C3D4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4 #endif -#if !(defined(LINUX_REBOOT_CMD_SW_SUSPEND) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_SW_SUSPEND) && HAVE_DECL_LINUX_REBOOT_CMD_SW_SUSPEND)) +#if defined(LINUX_REBOOT_CMD_SW_SUSPEND) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_SW_SUSPEND) && HAVE_DECL_LINUX_REBOOT_CMD_SW_SUSPEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_CMD_SW_SUSPEND) == (0xD000FCE2), "LINUX_REBOOT_CMD_SW_SUSPEND != 0xD000FCE2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_CMD_SW_SUSPEND 0xD000FCE2 #endif -#if !(defined(LINUX_REBOOT_CMD_KEXEC) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_KEXEC) && HAVE_DECL_LINUX_REBOOT_CMD_KEXEC)) +#if defined(LINUX_REBOOT_CMD_KEXEC) || (defined(HAVE_DECL_LINUX_REBOOT_CMD_KEXEC) && HAVE_DECL_LINUX_REBOOT_CMD_KEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LINUX_REBOOT_CMD_KEXEC) == (0x45584543), "LINUX_REBOOT_CMD_KEXEC != 0x45584543"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LINUX_REBOOT_CMD_KEXEC 0x45584543 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bootflags3 in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bootflags3 in mpers mode + +# else static const struct xlat bootflags3[] = { @@ -43,4 +81,6 @@ const struct xlat bootflags3[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_attach_flags.h b/xlat/bpf_attach_flags.h index 15438608..753d8f16 100644 --- a/xlat/bpf_attach_flags.h +++ b/xlat/bpf_attach_flags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_attach_flags.in; do not edit. */ -#if !(defined(BPF_F_ALLOW_OVERRIDE) || (defined(HAVE_DECL_BPF_F_ALLOW_OVERRIDE) && HAVE_DECL_BPF_F_ALLOW_OVERRIDE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_F_ALLOW_OVERRIDE) || (defined(HAVE_DECL_BPF_F_ALLOW_OVERRIDE) && HAVE_DECL_BPF_F_ALLOW_OVERRIDE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_ALLOW_OVERRIDE) == (1), "BPF_F_ALLOW_OVERRIDE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(BPF_F_ALLOW_MULTI) || (defined(HAVE_DECL_BPF_F_ALLOW_MULTI) && HAVE_DECL_BPF_F_ALLOW_MULTI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_ALLOW_MULTI) == (2), "BPF_F_ALLOW_MULTI != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_F_ALLOW_MULTI 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bpf_attach_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bpf_attach_flags in mpers mode + +# else static const struct xlat bpf_attach_flags[] = { @@ -19,4 +33,6 @@ const struct xlat bpf_attach_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_attach_type.h b/xlat/bpf_attach_type.h index dac8f1ea..aa83f4a3 100644 --- a/xlat/bpf_attach_type.h +++ b/xlat/bpf_attach_type.h @@ -1,42 +1,134 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_attach_type.in; do not edit. */ -#if !(defined(BPF_CGROUP_INET_INGRESS) || (defined(HAVE_DECL_BPF_CGROUP_INET_INGRESS) && HAVE_DECL_BPF_CGROUP_INET_INGRESS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_CGROUP_INET_INGRESS) || (defined(HAVE_DECL_BPF_CGROUP_INET_INGRESS) && HAVE_DECL_BPF_CGROUP_INET_INGRESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_INET_INGRESS) == (0), "BPF_CGROUP_INET_INGRESS != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_CGROUP_INET_INGRESS 0 #endif -#if !(defined(BPF_CGROUP_INET_EGRESS) || (defined(HAVE_DECL_BPF_CGROUP_INET_EGRESS) && HAVE_DECL_BPF_CGROUP_INET_EGRESS)) +#if defined(BPF_CGROUP_INET_EGRESS) || (defined(HAVE_DECL_BPF_CGROUP_INET_EGRESS) && HAVE_DECL_BPF_CGROUP_INET_EGRESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_INET_EGRESS) == (1), "BPF_CGROUP_INET_EGRESS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_CGROUP_INET_EGRESS 1 #endif -#if !(defined(BPF_CGROUP_INET_SOCK_CREATE) || (defined(HAVE_DECL_BPF_CGROUP_INET_SOCK_CREATE) && HAVE_DECL_BPF_CGROUP_INET_SOCK_CREATE)) +#if defined(BPF_CGROUP_INET_SOCK_CREATE) || (defined(HAVE_DECL_BPF_CGROUP_INET_SOCK_CREATE) && HAVE_DECL_BPF_CGROUP_INET_SOCK_CREATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_INET_SOCK_CREATE) == (2), "BPF_CGROUP_INET_SOCK_CREATE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_CGROUP_INET_SOCK_CREATE 2 #endif -#if !(defined(BPF_CGROUP_SOCK_OPS) || (defined(HAVE_DECL_BPF_CGROUP_SOCK_OPS) && HAVE_DECL_BPF_CGROUP_SOCK_OPS)) +#if defined(BPF_CGROUP_SOCK_OPS) || (defined(HAVE_DECL_BPF_CGROUP_SOCK_OPS) && HAVE_DECL_BPF_CGROUP_SOCK_OPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_SOCK_OPS) == (3), "BPF_CGROUP_SOCK_OPS != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_CGROUP_SOCK_OPS 3 #endif -#if !(defined(BPF_SK_SKB_STREAM_PARSER) || (defined(HAVE_DECL_BPF_SK_SKB_STREAM_PARSER) && HAVE_DECL_BPF_SK_SKB_STREAM_PARSER)) +#if defined(BPF_SK_SKB_STREAM_PARSER) || (defined(HAVE_DECL_BPF_SK_SKB_STREAM_PARSER) && HAVE_DECL_BPF_SK_SKB_STREAM_PARSER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_SK_SKB_STREAM_PARSER) == (4), "BPF_SK_SKB_STREAM_PARSER != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_SK_SKB_STREAM_PARSER 4 #endif -#if !(defined(BPF_SK_SKB_STREAM_VERDICT) || (defined(HAVE_DECL_BPF_SK_SKB_STREAM_VERDICT) && HAVE_DECL_BPF_SK_SKB_STREAM_VERDICT)) +#if defined(BPF_SK_SKB_STREAM_VERDICT) || (defined(HAVE_DECL_BPF_SK_SKB_STREAM_VERDICT) && HAVE_DECL_BPF_SK_SKB_STREAM_VERDICT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_SK_SKB_STREAM_VERDICT) == (5), "BPF_SK_SKB_STREAM_VERDICT != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_SK_SKB_STREAM_VERDICT 5 #endif -#if !(defined(BPF_CGROUP_DEVICE) || (defined(HAVE_DECL_BPF_CGROUP_DEVICE) && HAVE_DECL_BPF_CGROUP_DEVICE)) +#if defined(BPF_CGROUP_DEVICE) || (defined(HAVE_DECL_BPF_CGROUP_DEVICE) && HAVE_DECL_BPF_CGROUP_DEVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_DEVICE) == (6), "BPF_CGROUP_DEVICE != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_CGROUP_DEVICE 6 #endif +#if defined(BPF_SK_MSG_VERDICT) || (defined(HAVE_DECL_BPF_SK_MSG_VERDICT) && HAVE_DECL_BPF_SK_MSG_VERDICT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_SK_MSG_VERDICT) == (7), "BPF_SK_MSG_VERDICT != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_SK_MSG_VERDICT 7 +#endif +#if defined(BPF_CGROUP_INET4_BIND) || (defined(HAVE_DECL_BPF_CGROUP_INET4_BIND) && HAVE_DECL_BPF_CGROUP_INET4_BIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_INET4_BIND) == (8), "BPF_CGROUP_INET4_BIND != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_CGROUP_INET4_BIND 8 +#endif +#if defined(BPF_CGROUP_INET6_BIND) || (defined(HAVE_DECL_BPF_CGROUP_INET6_BIND) && HAVE_DECL_BPF_CGROUP_INET6_BIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_INET6_BIND) == (9), "BPF_CGROUP_INET6_BIND != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_CGROUP_INET6_BIND 9 +#endif +#if defined(BPF_CGROUP_INET4_CONNECT) || (defined(HAVE_DECL_BPF_CGROUP_INET4_CONNECT) && HAVE_DECL_BPF_CGROUP_INET4_CONNECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_INET4_CONNECT) == (10), "BPF_CGROUP_INET4_CONNECT != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_CGROUP_INET4_CONNECT 10 +#endif +#if defined(BPF_CGROUP_INET6_CONNECT) || (defined(HAVE_DECL_BPF_CGROUP_INET6_CONNECT) && HAVE_DECL_BPF_CGROUP_INET6_CONNECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_INET6_CONNECT) == (11), "BPF_CGROUP_INET6_CONNECT != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_CGROUP_INET6_CONNECT 11 +#endif +#if defined(BPF_CGROUP_INET4_POST_BIND) || (defined(HAVE_DECL_BPF_CGROUP_INET4_POST_BIND) && HAVE_DECL_BPF_CGROUP_INET4_POST_BIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_INET4_POST_BIND) == (12), "BPF_CGROUP_INET4_POST_BIND != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_CGROUP_INET4_POST_BIND 12 +#endif +#if defined(BPF_CGROUP_INET6_POST_BIND) || (defined(HAVE_DECL_BPF_CGROUP_INET6_POST_BIND) && HAVE_DECL_BPF_CGROUP_INET6_POST_BIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CGROUP_INET6_POST_BIND) == (13), "BPF_CGROUP_INET6_POST_BIND != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_CGROUP_INET6_POST_BIND 13 +#endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bpf_attach_type in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bpf_attach_type in mpers mode + +# else static const struct xlat bpf_attach_type[] = { - XLAT(BPF_CGROUP_INET_INGRESS), - XLAT(BPF_CGROUP_INET_EGRESS), - XLAT(BPF_CGROUP_INET_SOCK_CREATE), - XLAT(BPF_CGROUP_SOCK_OPS), - XLAT(BPF_SK_SKB_STREAM_PARSER), - XLAT(BPF_SK_SKB_STREAM_VERDICT), - XLAT(BPF_CGROUP_DEVICE), + [BPF_CGROUP_INET_INGRESS] = XLAT(BPF_CGROUP_INET_INGRESS), + [BPF_CGROUP_INET_EGRESS] = XLAT(BPF_CGROUP_INET_EGRESS), + [BPF_CGROUP_INET_SOCK_CREATE] = XLAT(BPF_CGROUP_INET_SOCK_CREATE), + [BPF_CGROUP_SOCK_OPS] = XLAT(BPF_CGROUP_SOCK_OPS), + [BPF_SK_SKB_STREAM_PARSER] = XLAT(BPF_SK_SKB_STREAM_PARSER), + [BPF_SK_SKB_STREAM_VERDICT] = XLAT(BPF_SK_SKB_STREAM_VERDICT), + [BPF_CGROUP_DEVICE] = XLAT(BPF_CGROUP_DEVICE), + [BPF_SK_MSG_VERDICT] = XLAT(BPF_SK_MSG_VERDICT), + [BPF_CGROUP_INET4_BIND] = XLAT(BPF_CGROUP_INET4_BIND), + [BPF_CGROUP_INET6_BIND] = XLAT(BPF_CGROUP_INET6_BIND), + [BPF_CGROUP_INET4_CONNECT] = XLAT(BPF_CGROUP_INET4_CONNECT), + [BPF_CGROUP_INET6_CONNECT] = XLAT(BPF_CGROUP_INET6_CONNECT), + [BPF_CGROUP_INET4_POST_BIND] = XLAT(BPF_CGROUP_INET4_POST_BIND), + [BPF_CGROUP_INET6_POST_BIND] = XLAT(BPF_CGROUP_INET6_POST_BIND), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_attach_type.in b/xlat/bpf_attach_type.in index ad912b7f..9438107c 100644 --- a/xlat/bpf_attach_type.in +++ b/xlat/bpf_attach_type.in @@ -1,3 +1,4 @@ +#value_indexed BPF_CGROUP_INET_INGRESS 0 BPF_CGROUP_INET_EGRESS 1 BPF_CGROUP_INET_SOCK_CREATE 2 @@ -5,3 +6,10 @@ BPF_CGROUP_SOCK_OPS 3 BPF_SK_SKB_STREAM_PARSER 4 BPF_SK_SKB_STREAM_VERDICT 5 BPF_CGROUP_DEVICE 6 +BPF_SK_MSG_VERDICT 7 +BPF_CGROUP_INET4_BIND 8 +BPF_CGROUP_INET6_BIND 9 +BPF_CGROUP_INET4_CONNECT 10 +BPF_CGROUP_INET6_CONNECT 11 +BPF_CGROUP_INET4_POST_BIND 12 +BPF_CGROUP_INET6_POST_BIND 13 diff --git a/xlat/bpf_class.h b/xlat/bpf_class.h index bdabc9a3..a45ebd7f 100644 --- a/xlat/bpf_class.h +++ b/xlat/bpf_class.h @@ -1,38 +1,86 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_class.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bpf_class in mpers mode - -#else - -static -const struct xlat bpf_class[] = { #if defined(BPF_LD) || (defined(HAVE_DECL_BPF_LD) && HAVE_DECL_BPF_LD) - XLAT(BPF_LD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_LD) == (0x0), "BPF_LD != 0x0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_LD 0x0 #endif #if defined(BPF_LDX) || (defined(HAVE_DECL_BPF_LDX) && HAVE_DECL_BPF_LDX) - XLAT(BPF_LDX), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_LDX) == (0x1), "BPF_LDX != 0x1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_LDX 0x1 #endif #if defined(BPF_ST) || (defined(HAVE_DECL_BPF_ST) && HAVE_DECL_BPF_ST) - XLAT(BPF_ST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ST) == (0x2), "BPF_ST != 0x2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ST 0x2 #endif #if defined(BPF_STX) || (defined(HAVE_DECL_BPF_STX) && HAVE_DECL_BPF_STX) - XLAT(BPF_STX), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_STX) == (0x3), "BPF_STX != 0x3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_STX 0x3 #endif #if defined(BPF_ALU) || (defined(HAVE_DECL_BPF_ALU) && HAVE_DECL_BPF_ALU) - XLAT(BPF_ALU), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ALU) == (0x4), "BPF_ALU != 0x4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ALU 0x4 #endif #if defined(BPF_JMP) || (defined(HAVE_DECL_BPF_JMP) && HAVE_DECL_BPF_JMP) - XLAT(BPF_JMP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JMP) == (0x5), "BPF_JMP != 0x5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JMP 0x5 #endif #if defined(BPF_RET) || (defined(HAVE_DECL_BPF_RET) && HAVE_DECL_BPF_RET) - XLAT(BPF_RET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_RET) == (0x6), "BPF_RET != 0x6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_RET 0x6 #endif #if defined(BPF_MISC) || (defined(HAVE_DECL_BPF_MISC) && HAVE_DECL_BPF_MISC) - XLAT(BPF_MISC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MISC) == (0x7), "BPF_MISC != 0x7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_MISC 0x7 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bpf_class in mpers mode + +# else + +static +const struct xlat bpf_class[] = { + [BPF_LD] = XLAT(BPF_LD), + [BPF_LDX] = XLAT(BPF_LDX), + [BPF_ST] = XLAT(BPF_ST), + [BPF_STX] = XLAT(BPF_STX), + [BPF_ALU] = XLAT(BPF_ALU), + [BPF_JMP] = XLAT(BPF_JMP), + [BPF_RET] = XLAT(BPF_RET), + [BPF_MISC] = XLAT(BPF_MISC), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_class.in b/xlat/bpf_class.in index f8bd3d7f..69f6d166 100644 --- a/xlat/bpf_class.in +++ b/xlat/bpf_class.in @@ -1,8 +1,9 @@ -BPF_LD -BPF_LDX -BPF_ST -BPF_STX -BPF_ALU -BPF_JMP -BPF_RET -BPF_MISC +#value_indexed +BPF_LD 0x0 +BPF_LDX 0x1 +BPF_ST 0x2 +BPF_STX 0x3 +BPF_ALU 0x4 +BPF_JMP 0x5 +BPF_RET 0x6 +BPF_MISC 0x7 diff --git a/xlat/bpf_commands.h b/xlat/bpf_commands.h index d51ab1dc..d0653b33 100644 --- a/xlat/bpf_commands.h +++ b/xlat/bpf_commands.h @@ -1,78 +1,166 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_commands.in; do not edit. */ -#if !(defined(BPF_MAP_CREATE) || (defined(HAVE_DECL_BPF_MAP_CREATE) && HAVE_DECL_BPF_MAP_CREATE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_MAP_CREATE) || (defined(HAVE_DECL_BPF_MAP_CREATE) && HAVE_DECL_BPF_MAP_CREATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_CREATE) == (0), "BPF_MAP_CREATE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_CREATE 0 #endif -#if !(defined(BPF_MAP_LOOKUP_ELEM) || (defined(HAVE_DECL_BPF_MAP_LOOKUP_ELEM) && HAVE_DECL_BPF_MAP_LOOKUP_ELEM)) +#if defined(BPF_MAP_LOOKUP_ELEM) || (defined(HAVE_DECL_BPF_MAP_LOOKUP_ELEM) && HAVE_DECL_BPF_MAP_LOOKUP_ELEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_LOOKUP_ELEM) == (1), "BPF_MAP_LOOKUP_ELEM != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_LOOKUP_ELEM 1 #endif -#if !(defined(BPF_MAP_UPDATE_ELEM) || (defined(HAVE_DECL_BPF_MAP_UPDATE_ELEM) && HAVE_DECL_BPF_MAP_UPDATE_ELEM)) +#if defined(BPF_MAP_UPDATE_ELEM) || (defined(HAVE_DECL_BPF_MAP_UPDATE_ELEM) && HAVE_DECL_BPF_MAP_UPDATE_ELEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_UPDATE_ELEM) == (2), "BPF_MAP_UPDATE_ELEM != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_UPDATE_ELEM 2 #endif -#if !(defined(BPF_MAP_DELETE_ELEM) || (defined(HAVE_DECL_BPF_MAP_DELETE_ELEM) && HAVE_DECL_BPF_MAP_DELETE_ELEM)) +#if defined(BPF_MAP_DELETE_ELEM) || (defined(HAVE_DECL_BPF_MAP_DELETE_ELEM) && HAVE_DECL_BPF_MAP_DELETE_ELEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_DELETE_ELEM) == (3), "BPF_MAP_DELETE_ELEM != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_DELETE_ELEM 3 #endif -#if !(defined(BPF_MAP_GET_NEXT_KEY) || (defined(HAVE_DECL_BPF_MAP_GET_NEXT_KEY) && HAVE_DECL_BPF_MAP_GET_NEXT_KEY)) +#if defined(BPF_MAP_GET_NEXT_KEY) || (defined(HAVE_DECL_BPF_MAP_GET_NEXT_KEY) && HAVE_DECL_BPF_MAP_GET_NEXT_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_GET_NEXT_KEY) == (4), "BPF_MAP_GET_NEXT_KEY != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_GET_NEXT_KEY 4 #endif -#if !(defined(BPF_PROG_LOAD) || (defined(HAVE_DECL_BPF_PROG_LOAD) && HAVE_DECL_BPF_PROG_LOAD)) +#if defined(BPF_PROG_LOAD) || (defined(HAVE_DECL_BPF_PROG_LOAD) && HAVE_DECL_BPF_PROG_LOAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_LOAD) == (5), "BPF_PROG_LOAD != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_LOAD 5 #endif -#if !(defined(BPF_OBJ_PIN) || (defined(HAVE_DECL_BPF_OBJ_PIN) && HAVE_DECL_BPF_OBJ_PIN)) +#if defined(BPF_OBJ_PIN) || (defined(HAVE_DECL_BPF_OBJ_PIN) && HAVE_DECL_BPF_OBJ_PIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_OBJ_PIN) == (6), "BPF_OBJ_PIN != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_OBJ_PIN 6 #endif -#if !(defined(BPF_OBJ_GET) || (defined(HAVE_DECL_BPF_OBJ_GET) && HAVE_DECL_BPF_OBJ_GET)) +#if defined(BPF_OBJ_GET) || (defined(HAVE_DECL_BPF_OBJ_GET) && HAVE_DECL_BPF_OBJ_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_OBJ_GET) == (7), "BPF_OBJ_GET != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_OBJ_GET 7 #endif -#if !(defined(BPF_PROG_ATTACH) || (defined(HAVE_DECL_BPF_PROG_ATTACH) && HAVE_DECL_BPF_PROG_ATTACH)) +#if defined(BPF_PROG_ATTACH) || (defined(HAVE_DECL_BPF_PROG_ATTACH) && HAVE_DECL_BPF_PROG_ATTACH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_ATTACH) == (8), "BPF_PROG_ATTACH != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_ATTACH 8 #endif -#if !(defined(BPF_PROG_DETACH) || (defined(HAVE_DECL_BPF_PROG_DETACH) && HAVE_DECL_BPF_PROG_DETACH)) +#if defined(BPF_PROG_DETACH) || (defined(HAVE_DECL_BPF_PROG_DETACH) && HAVE_DECL_BPF_PROG_DETACH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_DETACH) == (9), "BPF_PROG_DETACH != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_DETACH 9 #endif -#if !(defined(BPF_PROG_TEST_RUN) || (defined(HAVE_DECL_BPF_PROG_TEST_RUN) && HAVE_DECL_BPF_PROG_TEST_RUN)) +#if defined(BPF_PROG_TEST_RUN) || (defined(HAVE_DECL_BPF_PROG_TEST_RUN) && HAVE_DECL_BPF_PROG_TEST_RUN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TEST_RUN) == (10), "BPF_PROG_TEST_RUN != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TEST_RUN 10 #endif -#if !(defined(BPF_PROG_GET_NEXT_ID) || (defined(HAVE_DECL_BPF_PROG_GET_NEXT_ID) && HAVE_DECL_BPF_PROG_GET_NEXT_ID)) +#if defined(BPF_PROG_GET_NEXT_ID) || (defined(HAVE_DECL_BPF_PROG_GET_NEXT_ID) && HAVE_DECL_BPF_PROG_GET_NEXT_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_GET_NEXT_ID) == (11), "BPF_PROG_GET_NEXT_ID != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_GET_NEXT_ID 11 #endif -#if !(defined(BPF_MAP_GET_NEXT_ID) || (defined(HAVE_DECL_BPF_MAP_GET_NEXT_ID) && HAVE_DECL_BPF_MAP_GET_NEXT_ID)) +#if defined(BPF_MAP_GET_NEXT_ID) || (defined(HAVE_DECL_BPF_MAP_GET_NEXT_ID) && HAVE_DECL_BPF_MAP_GET_NEXT_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_GET_NEXT_ID) == (12), "BPF_MAP_GET_NEXT_ID != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_GET_NEXT_ID 12 #endif -#if !(defined(BPF_PROG_GET_FD_BY_ID) || (defined(HAVE_DECL_BPF_PROG_GET_FD_BY_ID) && HAVE_DECL_BPF_PROG_GET_FD_BY_ID)) +#if defined(BPF_PROG_GET_FD_BY_ID) || (defined(HAVE_DECL_BPF_PROG_GET_FD_BY_ID) && HAVE_DECL_BPF_PROG_GET_FD_BY_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_GET_FD_BY_ID) == (13), "BPF_PROG_GET_FD_BY_ID != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_GET_FD_BY_ID 13 #endif -#if !(defined(BPF_MAP_GET_FD_BY_ID) || (defined(HAVE_DECL_BPF_MAP_GET_FD_BY_ID) && HAVE_DECL_BPF_MAP_GET_FD_BY_ID)) +#if defined(BPF_MAP_GET_FD_BY_ID) || (defined(HAVE_DECL_BPF_MAP_GET_FD_BY_ID) && HAVE_DECL_BPF_MAP_GET_FD_BY_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_GET_FD_BY_ID) == (14), "BPF_MAP_GET_FD_BY_ID != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_GET_FD_BY_ID 14 #endif -#if !(defined(BPF_OBJ_GET_INFO_BY_FD) || (defined(HAVE_DECL_BPF_OBJ_GET_INFO_BY_FD) && HAVE_DECL_BPF_OBJ_GET_INFO_BY_FD)) +#if defined(BPF_OBJ_GET_INFO_BY_FD) || (defined(HAVE_DECL_BPF_OBJ_GET_INFO_BY_FD) && HAVE_DECL_BPF_OBJ_GET_INFO_BY_FD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_OBJ_GET_INFO_BY_FD) == (15), "BPF_OBJ_GET_INFO_BY_FD != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_OBJ_GET_INFO_BY_FD 15 #endif +#if defined(BPF_PROG_QUERY) || (defined(HAVE_DECL_BPF_PROG_QUERY) && HAVE_DECL_BPF_PROG_QUERY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_QUERY) == (16), "BPF_PROG_QUERY != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_PROG_QUERY 16 +#endif +#if defined(BPF_RAW_TRACEPOINT_OPEN) || (defined(HAVE_DECL_BPF_RAW_TRACEPOINT_OPEN) && HAVE_DECL_BPF_RAW_TRACEPOINT_OPEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_RAW_TRACEPOINT_OPEN) == (17), "BPF_RAW_TRACEPOINT_OPEN != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_RAW_TRACEPOINT_OPEN 17 +#endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bpf_commands in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bpf_commands in mpers mode + +# else static const struct xlat bpf_commands[] = { - XLAT(BPF_MAP_CREATE), - XLAT(BPF_MAP_LOOKUP_ELEM), - XLAT(BPF_MAP_UPDATE_ELEM), - XLAT(BPF_MAP_DELETE_ELEM), - XLAT(BPF_MAP_GET_NEXT_KEY), - XLAT(BPF_PROG_LOAD), - XLAT(BPF_OBJ_PIN), - XLAT(BPF_OBJ_GET), - XLAT(BPF_PROG_ATTACH), - XLAT(BPF_PROG_DETACH), - XLAT(BPF_PROG_TEST_RUN), - XLAT(BPF_PROG_GET_NEXT_ID), - XLAT(BPF_MAP_GET_NEXT_ID), - XLAT(BPF_PROG_GET_FD_BY_ID), - XLAT(BPF_MAP_GET_FD_BY_ID), - XLAT(BPF_OBJ_GET_INFO_BY_FD), + [BPF_MAP_CREATE] = XLAT(BPF_MAP_CREATE), + [BPF_MAP_LOOKUP_ELEM] = XLAT(BPF_MAP_LOOKUP_ELEM), + [BPF_MAP_UPDATE_ELEM] = XLAT(BPF_MAP_UPDATE_ELEM), + [BPF_MAP_DELETE_ELEM] = XLAT(BPF_MAP_DELETE_ELEM), + [BPF_MAP_GET_NEXT_KEY] = XLAT(BPF_MAP_GET_NEXT_KEY), + [BPF_PROG_LOAD] = XLAT(BPF_PROG_LOAD), + [BPF_OBJ_PIN] = XLAT(BPF_OBJ_PIN), + [BPF_OBJ_GET] = XLAT(BPF_OBJ_GET), + [BPF_PROG_ATTACH] = XLAT(BPF_PROG_ATTACH), + [BPF_PROG_DETACH] = XLAT(BPF_PROG_DETACH), + [BPF_PROG_TEST_RUN] = XLAT(BPF_PROG_TEST_RUN), + [BPF_PROG_GET_NEXT_ID] = XLAT(BPF_PROG_GET_NEXT_ID), + [BPF_MAP_GET_NEXT_ID] = XLAT(BPF_MAP_GET_NEXT_ID), + [BPF_PROG_GET_FD_BY_ID] = XLAT(BPF_PROG_GET_FD_BY_ID), + [BPF_MAP_GET_FD_BY_ID] = XLAT(BPF_MAP_GET_FD_BY_ID), + [BPF_OBJ_GET_INFO_BY_FD] = XLAT(BPF_OBJ_GET_INFO_BY_FD), + [BPF_PROG_QUERY] = XLAT(BPF_PROG_QUERY), + [BPF_RAW_TRACEPOINT_OPEN] = XLAT(BPF_RAW_TRACEPOINT_OPEN), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_commands.in b/xlat/bpf_commands.in index cb7403de..54fd7ad5 100644 --- a/xlat/bpf_commands.in +++ b/xlat/bpf_commands.in @@ -1,3 +1,4 @@ +#value_indexed BPF_MAP_CREATE 0 BPF_MAP_LOOKUP_ELEM 1 BPF_MAP_UPDATE_ELEM 2 @@ -14,3 +15,5 @@ BPF_MAP_GET_NEXT_ID 12 BPF_PROG_GET_FD_BY_ID 13 BPF_MAP_GET_FD_BY_ID 14 BPF_OBJ_GET_INFO_BY_FD 15 +BPF_PROG_QUERY 16 +BPF_RAW_TRACEPOINT_OPEN 17 diff --git a/xlat/bpf_file_mode_flags.h b/xlat/bpf_file_mode_flags.h index 22f88b41..3a6baf54 100644 --- a/xlat/bpf_file_mode_flags.h +++ b/xlat/bpf_file_mode_flags.h @@ -1,16 +1,30 @@ /* 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)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_F_RDONLY) || (defined(HAVE_DECL_BPF_F_RDONLY) && HAVE_DECL_BPF_F_RDONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_RDONLY) == ((1U << 3)), "BPF_F_RDONLY != (1U << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_F_RDONLY (1U << 3) #endif -#if !(defined(BPF_F_WRONLY) || (defined(HAVE_DECL_BPF_F_WRONLY) && HAVE_DECL_BPF_F_WRONLY)) +#if defined(BPF_F_WRONLY) || (defined(HAVE_DECL_BPF_F_WRONLY) && HAVE_DECL_BPF_F_WRONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_WRONLY) == ((1U << 4)), "BPF_F_WRONLY != (1U << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_F_WRONLY (1U << 4) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bpf_file_mode_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bpf_file_mode_flags in mpers mode + +# else static const struct xlat bpf_file_mode_flags[] = { @@ -19,4 +33,6 @@ const struct xlat bpf_file_mode_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_map_flags.h b/xlat/bpf_map_flags.h index 7ec7f9b6..5d02440d 100644 --- a/xlat/bpf_map_flags.h +++ b/xlat/bpf_map_flags.h @@ -1,26 +1,70 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_map_flags.in; do not edit. */ -#if !(defined(BPF_F_NO_PREALLOC) || (defined(HAVE_DECL_BPF_F_NO_PREALLOC) && HAVE_DECL_BPF_F_NO_PREALLOC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_F_NO_PREALLOC) || (defined(HAVE_DECL_BPF_F_NO_PREALLOC) && HAVE_DECL_BPF_F_NO_PREALLOC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_NO_PREALLOC) == (1), "BPF_F_NO_PREALLOC != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_F_NO_PREALLOC 1 #endif -#if !(defined(BPF_F_NO_COMMON_LRU) || (defined(HAVE_DECL_BPF_F_NO_COMMON_LRU) && HAVE_DECL_BPF_F_NO_COMMON_LRU)) +#if defined(BPF_F_NO_COMMON_LRU) || (defined(HAVE_DECL_BPF_F_NO_COMMON_LRU) && HAVE_DECL_BPF_F_NO_COMMON_LRU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_NO_COMMON_LRU) == (2), "BPF_F_NO_COMMON_LRU != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_F_NO_COMMON_LRU 2 #endif -#if !(defined(BPF_F_NUMA_NODE) || (defined(HAVE_DECL_BPF_F_NUMA_NODE) && HAVE_DECL_BPF_F_NUMA_NODE)) +#if defined(BPF_F_NUMA_NODE) || (defined(HAVE_DECL_BPF_F_NUMA_NODE) && HAVE_DECL_BPF_F_NUMA_NODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_NUMA_NODE) == (4), "BPF_F_NUMA_NODE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_F_NUMA_NODE 4 #endif +#if defined(BPF_F_RDONLY) || (defined(HAVE_DECL_BPF_F_RDONLY) && HAVE_DECL_BPF_F_RDONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_RDONLY) == ((1U << 3)), "BPF_F_RDONLY != (1U << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_F_RDONLY (1U << 3) +#endif +#if defined(BPF_F_WRONLY) || (defined(HAVE_DECL_BPF_F_WRONLY) && HAVE_DECL_BPF_F_WRONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_WRONLY) == ((1U << 4)), "BPF_F_WRONLY != (1U << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_F_WRONLY (1U << 4) +#endif +#if defined(BPF_F_STACK_BUILD_ID) || (defined(HAVE_DECL_BPF_F_STACK_BUILD_ID) && HAVE_DECL_BPF_F_STACK_BUILD_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_STACK_BUILD_ID) == ((1U << 5)), "BPF_F_STACK_BUILD_ID != (1U << 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_F_STACK_BUILD_ID (1U << 5) +#endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bpf_map_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bpf_map_flags in mpers mode + +# else static const struct xlat bpf_map_flags[] = { XLAT(BPF_F_NO_PREALLOC), XLAT(BPF_F_NO_COMMON_LRU), XLAT(BPF_F_NUMA_NODE), + XLAT(BPF_F_RDONLY), + XLAT(BPF_F_WRONLY), + XLAT(BPF_F_STACK_BUILD_ID), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_map_flags.in b/xlat/bpf_map_flags.in index 3137be4e..a8f405b3 100644 --- a/xlat/bpf_map_flags.in +++ b/xlat/bpf_map_flags.in @@ -1,3 +1,6 @@ BPF_F_NO_PREALLOC 1 BPF_F_NO_COMMON_LRU 2 BPF_F_NUMA_NODE 4 +BPF_F_RDONLY (1U << 3) +BPF_F_WRONLY (1U << 4) +BPF_F_STACK_BUILD_ID (1U << 5) diff --git a/xlat/bpf_map_types.h b/xlat/bpf_map_types.h index 24363e29..28a21917 100644 --- a/xlat/bpf_map_types.h +++ b/xlat/bpf_map_types.h @@ -1,82 +1,158 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_map_types.in; do not edit. */ -#if !(defined(BPF_MAP_TYPE_UNSPEC) || (defined(HAVE_DECL_BPF_MAP_TYPE_UNSPEC) && HAVE_DECL_BPF_MAP_TYPE_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_MAP_TYPE_UNSPEC) || (defined(HAVE_DECL_BPF_MAP_TYPE_UNSPEC) && HAVE_DECL_BPF_MAP_TYPE_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_UNSPEC) == (0), "BPF_MAP_TYPE_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_UNSPEC 0 #endif -#if !(defined(BPF_MAP_TYPE_HASH) || (defined(HAVE_DECL_BPF_MAP_TYPE_HASH) && HAVE_DECL_BPF_MAP_TYPE_HASH)) +#if defined(BPF_MAP_TYPE_HASH) || (defined(HAVE_DECL_BPF_MAP_TYPE_HASH) && HAVE_DECL_BPF_MAP_TYPE_HASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_HASH) == (1), "BPF_MAP_TYPE_HASH != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_HASH 1 #endif -#if !(defined(BPF_MAP_TYPE_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_ARRAY)) +#if defined(BPF_MAP_TYPE_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_ARRAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_ARRAY) == (2), "BPF_MAP_TYPE_ARRAY != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_ARRAY 2 #endif -#if !(defined(BPF_MAP_TYPE_PROG_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_PROG_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_PROG_ARRAY)) +#if defined(BPF_MAP_TYPE_PROG_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_PROG_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_PROG_ARRAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_PROG_ARRAY) == (3), "BPF_MAP_TYPE_PROG_ARRAY != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_PROG_ARRAY 3 #endif -#if !(defined(BPF_MAP_TYPE_PERF_EVENT_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_PERF_EVENT_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_PERF_EVENT_ARRAY)) +#if defined(BPF_MAP_TYPE_PERF_EVENT_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_PERF_EVENT_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_PERF_EVENT_ARRAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_PERF_EVENT_ARRAY) == (4), "BPF_MAP_TYPE_PERF_EVENT_ARRAY != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_PERF_EVENT_ARRAY 4 #endif -#if !(defined(BPF_MAP_TYPE_PERCPU_HASH) || (defined(HAVE_DECL_BPF_MAP_TYPE_PERCPU_HASH) && HAVE_DECL_BPF_MAP_TYPE_PERCPU_HASH)) +#if defined(BPF_MAP_TYPE_PERCPU_HASH) || (defined(HAVE_DECL_BPF_MAP_TYPE_PERCPU_HASH) && HAVE_DECL_BPF_MAP_TYPE_PERCPU_HASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_PERCPU_HASH) == (5), "BPF_MAP_TYPE_PERCPU_HASH != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_PERCPU_HASH 5 #endif -#if !(defined(BPF_MAP_TYPE_PERCPU_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_PERCPU_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_PERCPU_ARRAY)) +#if defined(BPF_MAP_TYPE_PERCPU_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_PERCPU_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_PERCPU_ARRAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_PERCPU_ARRAY) == (6), "BPF_MAP_TYPE_PERCPU_ARRAY != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_PERCPU_ARRAY 6 #endif -#if !(defined(BPF_MAP_TYPE_STACK_TRACE) || (defined(HAVE_DECL_BPF_MAP_TYPE_STACK_TRACE) && HAVE_DECL_BPF_MAP_TYPE_STACK_TRACE)) +#if defined(BPF_MAP_TYPE_STACK_TRACE) || (defined(HAVE_DECL_BPF_MAP_TYPE_STACK_TRACE) && HAVE_DECL_BPF_MAP_TYPE_STACK_TRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_STACK_TRACE) == (7), "BPF_MAP_TYPE_STACK_TRACE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_STACK_TRACE 7 #endif -#if !(defined(BPF_MAP_TYPE_CGROUP_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_CGROUP_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_CGROUP_ARRAY)) +#if defined(BPF_MAP_TYPE_CGROUP_ARRAY) || (defined(HAVE_DECL_BPF_MAP_TYPE_CGROUP_ARRAY) && HAVE_DECL_BPF_MAP_TYPE_CGROUP_ARRAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_CGROUP_ARRAY) == (8), "BPF_MAP_TYPE_CGROUP_ARRAY != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_CGROUP_ARRAY 8 #endif -#if !(defined(BPF_MAP_TYPE_LRU_HASH) || (defined(HAVE_DECL_BPF_MAP_TYPE_LRU_HASH) && HAVE_DECL_BPF_MAP_TYPE_LRU_HASH)) +#if defined(BPF_MAP_TYPE_LRU_HASH) || (defined(HAVE_DECL_BPF_MAP_TYPE_LRU_HASH) && HAVE_DECL_BPF_MAP_TYPE_LRU_HASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_LRU_HASH) == (9), "BPF_MAP_TYPE_LRU_HASH != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_LRU_HASH 9 #endif -#if !(defined(BPF_MAP_TYPE_LRU_PERCPU_HASH) || (defined(HAVE_DECL_BPF_MAP_TYPE_LRU_PERCPU_HASH) && HAVE_DECL_BPF_MAP_TYPE_LRU_PERCPU_HASH)) +#if defined(BPF_MAP_TYPE_LRU_PERCPU_HASH) || (defined(HAVE_DECL_BPF_MAP_TYPE_LRU_PERCPU_HASH) && HAVE_DECL_BPF_MAP_TYPE_LRU_PERCPU_HASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_LRU_PERCPU_HASH) == (10), "BPF_MAP_TYPE_LRU_PERCPU_HASH != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_LRU_PERCPU_HASH 10 #endif -#if !(defined(BPF_MAP_TYPE_LPM_TRIE) || (defined(HAVE_DECL_BPF_MAP_TYPE_LPM_TRIE) && HAVE_DECL_BPF_MAP_TYPE_LPM_TRIE)) +#if defined(BPF_MAP_TYPE_LPM_TRIE) || (defined(HAVE_DECL_BPF_MAP_TYPE_LPM_TRIE) && HAVE_DECL_BPF_MAP_TYPE_LPM_TRIE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_LPM_TRIE) == (11), "BPF_MAP_TYPE_LPM_TRIE != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_LPM_TRIE 11 #endif -#if !(defined(BPF_MAP_TYPE_ARRAY_OF_MAPS) || (defined(HAVE_DECL_BPF_MAP_TYPE_ARRAY_OF_MAPS) && HAVE_DECL_BPF_MAP_TYPE_ARRAY_OF_MAPS)) +#if defined(BPF_MAP_TYPE_ARRAY_OF_MAPS) || (defined(HAVE_DECL_BPF_MAP_TYPE_ARRAY_OF_MAPS) && HAVE_DECL_BPF_MAP_TYPE_ARRAY_OF_MAPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_ARRAY_OF_MAPS) == (12), "BPF_MAP_TYPE_ARRAY_OF_MAPS != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_ARRAY_OF_MAPS 12 #endif -#if !(defined(BPF_MAP_TYPE_HASH_OF_MAPS) || (defined(HAVE_DECL_BPF_MAP_TYPE_HASH_OF_MAPS) && HAVE_DECL_BPF_MAP_TYPE_HASH_OF_MAPS)) +#if defined(BPF_MAP_TYPE_HASH_OF_MAPS) || (defined(HAVE_DECL_BPF_MAP_TYPE_HASH_OF_MAPS) && HAVE_DECL_BPF_MAP_TYPE_HASH_OF_MAPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_HASH_OF_MAPS) == (13), "BPF_MAP_TYPE_HASH_OF_MAPS != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_HASH_OF_MAPS 13 #endif -#if !(defined(BPF_MAP_TYPE_DEVMAP) || (defined(HAVE_DECL_BPF_MAP_TYPE_DEVMAP) && HAVE_DECL_BPF_MAP_TYPE_DEVMAP)) +#if defined(BPF_MAP_TYPE_DEVMAP) || (defined(HAVE_DECL_BPF_MAP_TYPE_DEVMAP) && HAVE_DECL_BPF_MAP_TYPE_DEVMAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_DEVMAP) == (14), "BPF_MAP_TYPE_DEVMAP != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_DEVMAP 14 #endif -#if !(defined(BPF_MAP_TYPE_SOCKMAP) || (defined(HAVE_DECL_BPF_MAP_TYPE_SOCKMAP) && HAVE_DECL_BPF_MAP_TYPE_SOCKMAP)) +#if defined(BPF_MAP_TYPE_SOCKMAP) || (defined(HAVE_DECL_BPF_MAP_TYPE_SOCKMAP) && HAVE_DECL_BPF_MAP_TYPE_SOCKMAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_SOCKMAP) == (15), "BPF_MAP_TYPE_SOCKMAP != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(BPF_MAP_TYPE_CPUMAP) || (defined(HAVE_DECL_BPF_MAP_TYPE_CPUMAP) && HAVE_DECL_BPF_MAP_TYPE_CPUMAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MAP_TYPE_CPUMAP) == (16), "BPF_MAP_TYPE_CPUMAP != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_MAP_TYPE_CPUMAP 16 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bpf_map_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bpf_map_types in mpers mode + +# else static const struct xlat bpf_map_types[] = { - XLAT(BPF_MAP_TYPE_UNSPEC), - XLAT(BPF_MAP_TYPE_HASH), - XLAT(BPF_MAP_TYPE_ARRAY), - XLAT(BPF_MAP_TYPE_PROG_ARRAY), - XLAT(BPF_MAP_TYPE_PERF_EVENT_ARRAY), - XLAT(BPF_MAP_TYPE_PERCPU_HASH), - XLAT(BPF_MAP_TYPE_PERCPU_ARRAY), - XLAT(BPF_MAP_TYPE_STACK_TRACE), - XLAT(BPF_MAP_TYPE_CGROUP_ARRAY), - XLAT(BPF_MAP_TYPE_LRU_HASH), - XLAT(BPF_MAP_TYPE_LRU_PERCPU_HASH), - XLAT(BPF_MAP_TYPE_LPM_TRIE), - XLAT(BPF_MAP_TYPE_ARRAY_OF_MAPS), - XLAT(BPF_MAP_TYPE_HASH_OF_MAPS), - XLAT(BPF_MAP_TYPE_DEVMAP), - XLAT(BPF_MAP_TYPE_SOCKMAP), - XLAT(BPF_MAP_TYPE_CPUMAP), + [BPF_MAP_TYPE_UNSPEC] = XLAT(BPF_MAP_TYPE_UNSPEC), + [BPF_MAP_TYPE_HASH] = XLAT(BPF_MAP_TYPE_HASH), + [BPF_MAP_TYPE_ARRAY] = XLAT(BPF_MAP_TYPE_ARRAY), + [BPF_MAP_TYPE_PROG_ARRAY] = XLAT(BPF_MAP_TYPE_PROG_ARRAY), + [BPF_MAP_TYPE_PERF_EVENT_ARRAY] = XLAT(BPF_MAP_TYPE_PERF_EVENT_ARRAY), + [BPF_MAP_TYPE_PERCPU_HASH] = XLAT(BPF_MAP_TYPE_PERCPU_HASH), + [BPF_MAP_TYPE_PERCPU_ARRAY] = XLAT(BPF_MAP_TYPE_PERCPU_ARRAY), + [BPF_MAP_TYPE_STACK_TRACE] = XLAT(BPF_MAP_TYPE_STACK_TRACE), + [BPF_MAP_TYPE_CGROUP_ARRAY] = XLAT(BPF_MAP_TYPE_CGROUP_ARRAY), + [BPF_MAP_TYPE_LRU_HASH] = XLAT(BPF_MAP_TYPE_LRU_HASH), + [BPF_MAP_TYPE_LRU_PERCPU_HASH] = XLAT(BPF_MAP_TYPE_LRU_PERCPU_HASH), + [BPF_MAP_TYPE_LPM_TRIE] = XLAT(BPF_MAP_TYPE_LPM_TRIE), + [BPF_MAP_TYPE_ARRAY_OF_MAPS] = XLAT(BPF_MAP_TYPE_ARRAY_OF_MAPS), + [BPF_MAP_TYPE_HASH_OF_MAPS] = XLAT(BPF_MAP_TYPE_HASH_OF_MAPS), + [BPF_MAP_TYPE_DEVMAP] = XLAT(BPF_MAP_TYPE_DEVMAP), + [BPF_MAP_TYPE_SOCKMAP] = XLAT(BPF_MAP_TYPE_SOCKMAP), + [BPF_MAP_TYPE_CPUMAP] = XLAT(BPF_MAP_TYPE_CPUMAP), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_map_types.in b/xlat/bpf_map_types.in index 3f74d2a8..99b08c82 100644 --- a/xlat/bpf_map_types.in +++ b/xlat/bpf_map_types.in @@ -1,3 +1,4 @@ +#value_indexed BPF_MAP_TYPE_UNSPEC 0 BPF_MAP_TYPE_HASH 1 BPF_MAP_TYPE_ARRAY 2 diff --git a/xlat/bpf_map_update_elem_flags.h b/xlat/bpf_map_update_elem_flags.h index 038863e6..4ec5d178 100644 --- a/xlat/bpf_map_update_elem_flags.h +++ b/xlat/bpf_map_update_elem_flags.h @@ -1,26 +1,46 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_map_update_elem_flags.in; do not edit. */ -#if !(defined(BPF_ANY) || (defined(HAVE_DECL_BPF_ANY) && HAVE_DECL_BPF_ANY)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_ANY) || (defined(HAVE_DECL_BPF_ANY) && HAVE_DECL_BPF_ANY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ANY) == (0), "BPF_ANY != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_ANY 0 #endif -#if !(defined(BPF_NOEXIST) || (defined(HAVE_DECL_BPF_NOEXIST) && HAVE_DECL_BPF_NOEXIST)) +#if defined(BPF_NOEXIST) || (defined(HAVE_DECL_BPF_NOEXIST) && HAVE_DECL_BPF_NOEXIST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_NOEXIST) == (1), "BPF_NOEXIST != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_NOEXIST 1 #endif -#if !(defined(BPF_EXIST) || (defined(HAVE_DECL_BPF_EXIST) && HAVE_DECL_BPF_EXIST)) +#if defined(BPF_EXIST) || (defined(HAVE_DECL_BPF_EXIST) && HAVE_DECL_BPF_EXIST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_EXIST) == (2), "BPF_EXIST != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_EXIST 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bpf_map_update_elem_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bpf_map_update_elem_flags in mpers mode + +# else static const struct xlat bpf_map_update_elem_flags[] = { - XLAT(BPF_ANY), - XLAT(BPF_NOEXIST), - XLAT(BPF_EXIST), + [BPF_ANY] = XLAT(BPF_ANY), + [BPF_NOEXIST] = XLAT(BPF_NOEXIST), + [BPF_EXIST] = XLAT(BPF_EXIST), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_map_update_elem_flags.in b/xlat/bpf_map_update_elem_flags.in index 6b1d61fc..e9322ea6 100644 --- a/xlat/bpf_map_update_elem_flags.in +++ b/xlat/bpf_map_update_elem_flags.in @@ -1,3 +1,4 @@ +#value_indexed BPF_ANY 0 BPF_NOEXIST 1 BPF_EXIST 2 diff --git a/xlat/bpf_miscop.h b/xlat/bpf_miscop.h index bedf35b6..3a930e65 100644 --- a/xlat/bpf_miscop.h +++ b/xlat/bpf_miscop.h @@ -1,20 +1,38 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_miscop.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bpf_miscop in mpers mode - -#else - -static -const struct xlat bpf_miscop[] = { #if defined(BPF_TAX) || (defined(HAVE_DECL_BPF_TAX) && HAVE_DECL_BPF_TAX) - XLAT(BPF_TAX), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_TAX) == (0x00), "BPF_TAX != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_TAX 0x00 #endif #if defined(BPF_TXA) || (defined(HAVE_DECL_BPF_TXA) && HAVE_DECL_BPF_TXA) - XLAT(BPF_TXA), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_TXA) == (0x80), "BPF_TXA != 0x80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_TXA 0x80 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bpf_miscop in mpers mode + +# else + +static +const struct xlat bpf_miscop[] = { + XLAT(BPF_TAX), + XLAT(BPF_TXA), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_miscop.in b/xlat/bpf_miscop.in index c9703b1d..6df47b3a 100644 --- a/xlat/bpf_miscop.in +++ b/xlat/bpf_miscop.in @@ -1,2 +1,2 @@ -BPF_TAX -BPF_TXA +BPF_TAX 0x00 +BPF_TXA 0x80 diff --git a/xlat/bpf_mode.h b/xlat/bpf_mode.h index 0e3c862e..5cb73d6b 100644 --- a/xlat/bpf_mode.h +++ b/xlat/bpf_mode.h @@ -1,35 +1,78 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_mode.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bpf_mode in mpers mode - -#else - -static -const struct xlat bpf_mode[] = { #if defined(BPF_IMM) || (defined(HAVE_DECL_BPF_IMM) && HAVE_DECL_BPF_IMM) - XLAT(BPF_IMM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_IMM) == (0x00), "BPF_IMM != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_IMM 0x00 #endif #if defined(BPF_ABS) || (defined(HAVE_DECL_BPF_ABS) && HAVE_DECL_BPF_ABS) - XLAT(BPF_ABS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ABS) == (0x20), "BPF_ABS != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ABS 0x20 #endif #if defined(BPF_IND) || (defined(HAVE_DECL_BPF_IND) && HAVE_DECL_BPF_IND) - XLAT(BPF_IND), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_IND) == (0x40), "BPF_IND != 0x40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_IND 0x40 #endif #if defined(BPF_MEM) || (defined(HAVE_DECL_BPF_MEM) && HAVE_DECL_BPF_MEM) - XLAT(BPF_MEM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MEM) == (0x60), "BPF_MEM != 0x60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_MEM 0x60 #endif #if defined(BPF_LEN) || (defined(HAVE_DECL_BPF_LEN) && HAVE_DECL_BPF_LEN) - XLAT(BPF_LEN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_LEN) == (0x80), "BPF_LEN != 0x80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_LEN 0x80 #endif #if defined(BPF_MSH) || (defined(HAVE_DECL_BPF_MSH) && HAVE_DECL_BPF_MSH) - XLAT(BPF_MSH), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MSH) == (0xa0), "BPF_MSH != 0xa0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_MSH 0xa0 #endif #if defined(BPF_XADD) || (defined(HAVE_DECL_BPF_XADD) && HAVE_DECL_BPF_XADD) - XLAT(BPF_XADD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_XADD) == (0xc0), "BPF_XADD != 0xc0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_XADD 0xc0 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bpf_mode in mpers mode + +# else + +static +const struct xlat bpf_mode[] = { + XLAT(BPF_IMM), + XLAT(BPF_ABS), + XLAT(BPF_IND), + XLAT(BPF_MEM), + XLAT(BPF_LEN), + XLAT(BPF_MSH), + XLAT(BPF_XADD), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_mode.in b/xlat/bpf_mode.in index 10adecdd..a412c0ed 100644 --- a/xlat/bpf_mode.in +++ b/xlat/bpf_mode.in @@ -1,7 +1,7 @@ -BPF_IMM -BPF_ABS -BPF_IND -BPF_MEM -BPF_LEN -BPF_MSH -BPF_XADD +BPF_IMM 0x00 +BPF_ABS 0x20 +BPF_IND 0x40 +BPF_MEM 0x60 +BPF_LEN 0x80 +BPF_MSH 0xa0 +BPF_XADD 0xc0 diff --git a/xlat/bpf_op_alu.h b/xlat/bpf_op_alu.h index 047dbe2a..96be4230 100644 --- a/xlat/bpf_op_alu.h +++ b/xlat/bpf_op_alu.h @@ -1,56 +1,134 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_op_alu.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bpf_op_alu in mpers mode - -#else - -static -const struct xlat bpf_op_alu[] = { #if defined(BPF_ADD) || (defined(HAVE_DECL_BPF_ADD) && HAVE_DECL_BPF_ADD) - XLAT(BPF_ADD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ADD) == (0x00), "BPF_ADD != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ADD 0x00 #endif #if defined(BPF_SUB) || (defined(HAVE_DECL_BPF_SUB) && HAVE_DECL_BPF_SUB) - XLAT(BPF_SUB), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_SUB) == (0x10), "BPF_SUB != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_SUB 0x10 #endif #if defined(BPF_MUL) || (defined(HAVE_DECL_BPF_MUL) && HAVE_DECL_BPF_MUL) - XLAT(BPF_MUL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MUL) == (0x20), "BPF_MUL != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_MUL 0x20 #endif #if defined(BPF_DIV) || (defined(HAVE_DECL_BPF_DIV) && HAVE_DECL_BPF_DIV) - XLAT(BPF_DIV), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_DIV) == (0x30), "BPF_DIV != 0x30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_DIV 0x30 #endif #if defined(BPF_OR) || (defined(HAVE_DECL_BPF_OR) && HAVE_DECL_BPF_OR) - XLAT(BPF_OR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_OR) == (0x40), "BPF_OR != 0x40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_OR 0x40 #endif #if defined(BPF_AND) || (defined(HAVE_DECL_BPF_AND) && HAVE_DECL_BPF_AND) - XLAT(BPF_AND), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_AND) == (0x50), "BPF_AND != 0x50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_AND 0x50 #endif #if defined(BPF_LSH) || (defined(HAVE_DECL_BPF_LSH) && HAVE_DECL_BPF_LSH) - XLAT(BPF_LSH), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_LSH) == (0x60), "BPF_LSH != 0x60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_LSH 0x60 #endif #if defined(BPF_RSH) || (defined(HAVE_DECL_BPF_RSH) && HAVE_DECL_BPF_RSH) - XLAT(BPF_RSH), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_RSH) == (0x70), "BPF_RSH != 0x70"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_RSH 0x70 #endif #if defined(BPF_NEG) || (defined(HAVE_DECL_BPF_NEG) && HAVE_DECL_BPF_NEG) - XLAT(BPF_NEG), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_NEG) == (0x80), "BPF_NEG != 0x80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_NEG 0x80 #endif #if defined(BPF_MOD) || (defined(HAVE_DECL_BPF_MOD) && HAVE_DECL_BPF_MOD) - XLAT(BPF_MOD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MOD) == (0x90), "BPF_MOD != 0x90"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_MOD 0x90 #endif #if defined(BPF_XOR) || (defined(HAVE_DECL_BPF_XOR) && HAVE_DECL_BPF_XOR) - XLAT(BPF_XOR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_XOR) == (0xa0), "BPF_XOR != 0xa0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_XOR 0xa0 #endif #if defined(BPF_MOV) || (defined(HAVE_DECL_BPF_MOV) && HAVE_DECL_BPF_MOV) - XLAT(BPF_MOV), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MOV) == (0xb0), "BPF_MOV != 0xb0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_MOV 0xb0 #endif #if defined(BPF_ARSH) || (defined(HAVE_DECL_BPF_ARSH) && HAVE_DECL_BPF_ARSH) - XLAT(BPF_ARSH), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ARSH) == (0xc0), "BPF_ARSH != 0xc0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ARSH 0xc0 #endif #if defined(BPF_END) || (defined(HAVE_DECL_BPF_END) && HAVE_DECL_BPF_END) - XLAT(BPF_END), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_END) == (0xd0), "BPF_END != 0xd0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_END 0xd0 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bpf_op_alu in mpers mode + +# else + +static +const struct xlat bpf_op_alu[] = { + XLAT(BPF_ADD), + XLAT(BPF_SUB), + XLAT(BPF_MUL), + XLAT(BPF_DIV), + XLAT(BPF_OR), + XLAT(BPF_AND), + XLAT(BPF_LSH), + XLAT(BPF_RSH), + XLAT(BPF_NEG), + XLAT(BPF_MOD), + XLAT(BPF_XOR), + XLAT(BPF_MOV), + XLAT(BPF_ARSH), + XLAT(BPF_END), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_op_alu.in b/xlat/bpf_op_alu.in index 580b68bc..5016a46e 100644 --- a/xlat/bpf_op_alu.in +++ b/xlat/bpf_op_alu.in @@ -1,14 +1,14 @@ -BPF_ADD -BPF_SUB -BPF_MUL -BPF_DIV -BPF_OR -BPF_AND -BPF_LSH -BPF_RSH -BPF_NEG -BPF_MOD -BPF_XOR -BPF_MOV -BPF_ARSH -BPF_END +BPF_ADD 0x00 +BPF_SUB 0x10 +BPF_MUL 0x20 +BPF_DIV 0x30 +BPF_OR 0x40 +BPF_AND 0x50 +BPF_LSH 0x60 +BPF_RSH 0x70 +BPF_NEG 0x80 +BPF_MOD 0x90 +BPF_XOR 0xa0 +BPF_MOV 0xb0 +BPF_ARSH 0xc0 +BPF_END 0xd0 diff --git a/xlat/bpf_op_jmp.h b/xlat/bpf_op_jmp.h index 9bb2acdc..56d1a42b 100644 --- a/xlat/bpf_op_jmp.h +++ b/xlat/bpf_op_jmp.h @@ -1,56 +1,134 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_op_jmp.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bpf_op_jmp in mpers mode - -#else - -static -const struct xlat bpf_op_jmp[] = { #if defined(BPF_JA) || (defined(HAVE_DECL_BPF_JA) && HAVE_DECL_BPF_JA) - XLAT(BPF_JA), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JA) == (0x00), "BPF_JA != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JA 0x00 #endif #if defined(BPF_JEQ) || (defined(HAVE_DECL_BPF_JEQ) && HAVE_DECL_BPF_JEQ) - XLAT(BPF_JEQ), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JEQ) == (0x10), "BPF_JEQ != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JEQ 0x10 #endif #if defined(BPF_JGT) || (defined(HAVE_DECL_BPF_JGT) && HAVE_DECL_BPF_JGT) - XLAT(BPF_JGT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JGT) == (0x20), "BPF_JGT != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JGT 0x20 #endif #if defined(BPF_JGE) || (defined(HAVE_DECL_BPF_JGE) && HAVE_DECL_BPF_JGE) - XLAT(BPF_JGE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JGE) == (0x30), "BPF_JGE != 0x30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JGE 0x30 #endif #if defined(BPF_JSET) || (defined(HAVE_DECL_BPF_JSET) && HAVE_DECL_BPF_JSET) - XLAT(BPF_JSET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JSET) == (0x40), "BPF_JSET != 0x40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JSET 0x40 #endif #if defined(BPF_JNE) || (defined(HAVE_DECL_BPF_JNE) && HAVE_DECL_BPF_JNE) - XLAT(BPF_JNE), -#endif -#if defined(BPF_JLT) || (defined(HAVE_DECL_BPF_JLT) && HAVE_DECL_BPF_JLT) - XLAT(BPF_JLT), -#endif -#if defined(BPF_JLE) || (defined(HAVE_DECL_BPF_JLE) && HAVE_DECL_BPF_JLE) - XLAT(BPF_JLE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JNE) == (0x50), "BPF_JNE != 0x50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JNE 0x50 #endif #if defined(BPF_JSGT) || (defined(HAVE_DECL_BPF_JSGT) && HAVE_DECL_BPF_JSGT) - XLAT(BPF_JSGT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JSGT) == (0x60), "BPF_JSGT != 0x60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JSGT 0x60 #endif #if defined(BPF_JSGE) || (defined(HAVE_DECL_BPF_JSGE) && HAVE_DECL_BPF_JSGE) - XLAT(BPF_JSGE), -#endif -#if defined(BPF_JSLT) || (defined(HAVE_DECL_BPF_JSLT) && HAVE_DECL_BPF_JSLT) - XLAT(BPF_JSLT), -#endif -#if defined(BPF_JSLE) || (defined(HAVE_DECL_BPF_JSLE) && HAVE_DECL_BPF_JSLE) - XLAT(BPF_JSLE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JSGE) == (0x70), "BPF_JSGE != 0x70"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JSGE 0x70 #endif #if defined(BPF_CALL) || (defined(HAVE_DECL_BPF_CALL) && HAVE_DECL_BPF_CALL) - XLAT(BPF_CALL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CALL) == (0x80), "BPF_CALL != 0x80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_CALL 0x80 #endif #if defined(BPF_EXIT) || (defined(HAVE_DECL_BPF_EXIT) && HAVE_DECL_BPF_EXIT) - XLAT(BPF_EXIT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_EXIT) == (0x90), "BPF_EXIT != 0x90"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_EXIT 0x90 +#endif +#if defined(BPF_JLT) || (defined(HAVE_DECL_BPF_JLT) && HAVE_DECL_BPF_JLT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JLT) == (0xa0), "BPF_JLT != 0xa0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JLT 0xa0 #endif +#if defined(BPF_JLE) || (defined(HAVE_DECL_BPF_JLE) && HAVE_DECL_BPF_JLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JLE) == (0xb0), "BPF_JLE != 0xb0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JLE 0xb0 +#endif +#if defined(BPF_JSLT) || (defined(HAVE_DECL_BPF_JSLT) && HAVE_DECL_BPF_JSLT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JSLT) == (0xc0), "BPF_JSLT != 0xc0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JSLT 0xc0 +#endif +#if defined(BPF_JSLE) || (defined(HAVE_DECL_BPF_JSLE) && HAVE_DECL_BPF_JSLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JSLE) == (0xd0), "BPF_JSLE != 0xd0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JSLE 0xd0 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bpf_op_jmp in mpers mode + +# else + +static +const struct xlat bpf_op_jmp[] = { + XLAT(BPF_JA), + XLAT(BPF_JEQ), + XLAT(BPF_JGT), + XLAT(BPF_JGE), + XLAT(BPF_JSET), + XLAT(BPF_JNE), + XLAT(BPF_JSGT), + XLAT(BPF_JSGE), + XLAT(BPF_CALL), + XLAT(BPF_EXIT), + XLAT(BPF_JLT), + XLAT(BPF_JLE), + XLAT(BPF_JSLT), + XLAT(BPF_JSLE), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_op_jmp.in b/xlat/bpf_op_jmp.in index 48fcb075..1e9b6f70 100644 --- a/xlat/bpf_op_jmp.in +++ b/xlat/bpf_op_jmp.in @@ -1,14 +1,14 @@ -BPF_JA -BPF_JEQ -BPF_JGT -BPF_JGE -BPF_JSET -BPF_JNE -BPF_JLT -BPF_JLE -BPF_JSGT -BPF_JSGE -BPF_JSLT -BPF_JSLE -BPF_CALL -BPF_EXIT +BPF_JA 0x00 +BPF_JEQ 0x10 +BPF_JGT 0x20 +BPF_JGE 0x30 +BPF_JSET 0x40 +BPF_JNE 0x50 +BPF_JSGT 0x60 +BPF_JSGE 0x70 +BPF_CALL 0x80 +BPF_EXIT 0x90 +BPF_JLT 0xa0 +BPF_JLE 0xb0 +BPF_JSLT 0xc0 +BPF_JSLE 0xd0 diff --git a/xlat/bpf_prog_flags.h b/xlat/bpf_prog_flags.h index 076f374b..94436310 100644 --- a/xlat/bpf_prog_flags.h +++ b/xlat/bpf_prog_flags.h @@ -1,13 +1,23 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_prog_flags.in; do not edit. */ -#if !(defined(BPF_F_STRICT_ALIGNMENT) || (defined(HAVE_DECL_BPF_F_STRICT_ALIGNMENT) && HAVE_DECL_BPF_F_STRICT_ALIGNMENT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_F_STRICT_ALIGNMENT) || (defined(HAVE_DECL_BPF_F_STRICT_ALIGNMENT) && HAVE_DECL_BPF_F_STRICT_ALIGNMENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_STRICT_ALIGNMENT) == (1), "BPF_F_STRICT_ALIGNMENT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_F_STRICT_ALIGNMENT 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bpf_prog_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bpf_prog_flags in mpers mode + +# else static const struct xlat bpf_prog_flags[] = { @@ -15,4 +25,6 @@ const struct xlat bpf_prog_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_prog_types.h b/xlat/bpf_prog_types.h index 63e0daee..efaae9e8 100644 --- a/xlat/bpf_prog_types.h +++ b/xlat/bpf_prog_types.h @@ -1,78 +1,166 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_prog_types.in; do not edit. */ -#if !(defined(BPF_PROG_TYPE_UNSPEC) || (defined(HAVE_DECL_BPF_PROG_TYPE_UNSPEC) && HAVE_DECL_BPF_PROG_TYPE_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_PROG_TYPE_UNSPEC) || (defined(HAVE_DECL_BPF_PROG_TYPE_UNSPEC) && HAVE_DECL_BPF_PROG_TYPE_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_UNSPEC) == (0), "BPF_PROG_TYPE_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_UNSPEC 0 #endif -#if !(defined(BPF_PROG_TYPE_SOCKET_FILTER) || (defined(HAVE_DECL_BPF_PROG_TYPE_SOCKET_FILTER) && HAVE_DECL_BPF_PROG_TYPE_SOCKET_FILTER)) +#if defined(BPF_PROG_TYPE_SOCKET_FILTER) || (defined(HAVE_DECL_BPF_PROG_TYPE_SOCKET_FILTER) && HAVE_DECL_BPF_PROG_TYPE_SOCKET_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_SOCKET_FILTER) == (1), "BPF_PROG_TYPE_SOCKET_FILTER != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_SOCKET_FILTER 1 #endif -#if !(defined(BPF_PROG_TYPE_KPROBE) || (defined(HAVE_DECL_BPF_PROG_TYPE_KPROBE) && HAVE_DECL_BPF_PROG_TYPE_KPROBE)) +#if defined(BPF_PROG_TYPE_KPROBE) || (defined(HAVE_DECL_BPF_PROG_TYPE_KPROBE) && HAVE_DECL_BPF_PROG_TYPE_KPROBE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_KPROBE) == (2), "BPF_PROG_TYPE_KPROBE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_KPROBE 2 #endif -#if !(defined(BPF_PROG_TYPE_SCHED_CLS) || (defined(HAVE_DECL_BPF_PROG_TYPE_SCHED_CLS) && HAVE_DECL_BPF_PROG_TYPE_SCHED_CLS)) +#if defined(BPF_PROG_TYPE_SCHED_CLS) || (defined(HAVE_DECL_BPF_PROG_TYPE_SCHED_CLS) && HAVE_DECL_BPF_PROG_TYPE_SCHED_CLS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_SCHED_CLS) == (3), "BPF_PROG_TYPE_SCHED_CLS != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_SCHED_CLS 3 #endif -#if !(defined(BPF_PROG_TYPE_SCHED_ACT) || (defined(HAVE_DECL_BPF_PROG_TYPE_SCHED_ACT) && HAVE_DECL_BPF_PROG_TYPE_SCHED_ACT)) +#if defined(BPF_PROG_TYPE_SCHED_ACT) || (defined(HAVE_DECL_BPF_PROG_TYPE_SCHED_ACT) && HAVE_DECL_BPF_PROG_TYPE_SCHED_ACT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_SCHED_ACT) == (4), "BPF_PROG_TYPE_SCHED_ACT != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_SCHED_ACT 4 #endif -#if !(defined(BPF_PROG_TYPE_TRACEPOINT) || (defined(HAVE_DECL_BPF_PROG_TYPE_TRACEPOINT) && HAVE_DECL_BPF_PROG_TYPE_TRACEPOINT)) +#if defined(BPF_PROG_TYPE_TRACEPOINT) || (defined(HAVE_DECL_BPF_PROG_TYPE_TRACEPOINT) && HAVE_DECL_BPF_PROG_TYPE_TRACEPOINT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_TRACEPOINT) == (5), "BPF_PROG_TYPE_TRACEPOINT != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_TRACEPOINT 5 #endif -#if !(defined(BPF_PROG_TYPE_XDP) || (defined(HAVE_DECL_BPF_PROG_TYPE_XDP) && HAVE_DECL_BPF_PROG_TYPE_XDP)) +#if defined(BPF_PROG_TYPE_XDP) || (defined(HAVE_DECL_BPF_PROG_TYPE_XDP) && HAVE_DECL_BPF_PROG_TYPE_XDP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_XDP) == (6), "BPF_PROG_TYPE_XDP != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_XDP 6 #endif -#if !(defined(BPF_PROG_TYPE_PERF_EVENT) || (defined(HAVE_DECL_BPF_PROG_TYPE_PERF_EVENT) && HAVE_DECL_BPF_PROG_TYPE_PERF_EVENT)) +#if defined(BPF_PROG_TYPE_PERF_EVENT) || (defined(HAVE_DECL_BPF_PROG_TYPE_PERF_EVENT) && HAVE_DECL_BPF_PROG_TYPE_PERF_EVENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_PERF_EVENT) == (7), "BPF_PROG_TYPE_PERF_EVENT != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_PERF_EVENT 7 #endif -#if !(defined(BPF_PROG_TYPE_CGROUP_SKB) || (defined(HAVE_DECL_BPF_PROG_TYPE_CGROUP_SKB) && HAVE_DECL_BPF_PROG_TYPE_CGROUP_SKB)) +#if defined(BPF_PROG_TYPE_CGROUP_SKB) || (defined(HAVE_DECL_BPF_PROG_TYPE_CGROUP_SKB) && HAVE_DECL_BPF_PROG_TYPE_CGROUP_SKB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_CGROUP_SKB) == (8), "BPF_PROG_TYPE_CGROUP_SKB != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_CGROUP_SKB 8 #endif -#if !(defined(BPF_PROG_TYPE_CGROUP_SOCK) || (defined(HAVE_DECL_BPF_PROG_TYPE_CGROUP_SOCK) && HAVE_DECL_BPF_PROG_TYPE_CGROUP_SOCK)) +#if defined(BPF_PROG_TYPE_CGROUP_SOCK) || (defined(HAVE_DECL_BPF_PROG_TYPE_CGROUP_SOCK) && HAVE_DECL_BPF_PROG_TYPE_CGROUP_SOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_CGROUP_SOCK) == (9), "BPF_PROG_TYPE_CGROUP_SOCK != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_CGROUP_SOCK 9 #endif -#if !(defined(BPF_PROG_TYPE_LWT_IN) || (defined(HAVE_DECL_BPF_PROG_TYPE_LWT_IN) && HAVE_DECL_BPF_PROG_TYPE_LWT_IN)) +#if defined(BPF_PROG_TYPE_LWT_IN) || (defined(HAVE_DECL_BPF_PROG_TYPE_LWT_IN) && HAVE_DECL_BPF_PROG_TYPE_LWT_IN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_LWT_IN) == (10), "BPF_PROG_TYPE_LWT_IN != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_LWT_IN 10 #endif -#if !(defined(BPF_PROG_TYPE_LWT_OUT) || (defined(HAVE_DECL_BPF_PROG_TYPE_LWT_OUT) && HAVE_DECL_BPF_PROG_TYPE_LWT_OUT)) +#if defined(BPF_PROG_TYPE_LWT_OUT) || (defined(HAVE_DECL_BPF_PROG_TYPE_LWT_OUT) && HAVE_DECL_BPF_PROG_TYPE_LWT_OUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_LWT_OUT) == (11), "BPF_PROG_TYPE_LWT_OUT != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_LWT_OUT 11 #endif -#if !(defined(BPF_PROG_TYPE_LWT_XMIT) || (defined(HAVE_DECL_BPF_PROG_TYPE_LWT_XMIT) && HAVE_DECL_BPF_PROG_TYPE_LWT_XMIT)) +#if defined(BPF_PROG_TYPE_LWT_XMIT) || (defined(HAVE_DECL_BPF_PROG_TYPE_LWT_XMIT) && HAVE_DECL_BPF_PROG_TYPE_LWT_XMIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_LWT_XMIT) == (12), "BPF_PROG_TYPE_LWT_XMIT != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_LWT_XMIT 12 #endif -#if !(defined(BPF_PROG_TYPE_SOCK_OPS) || (defined(HAVE_DECL_BPF_PROG_TYPE_SOCK_OPS) && HAVE_DECL_BPF_PROG_TYPE_SOCK_OPS)) +#if defined(BPF_PROG_TYPE_SOCK_OPS) || (defined(HAVE_DECL_BPF_PROG_TYPE_SOCK_OPS) && HAVE_DECL_BPF_PROG_TYPE_SOCK_OPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_SOCK_OPS) == (13), "BPF_PROG_TYPE_SOCK_OPS != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_SOCK_OPS 13 #endif -#if !(defined(BPF_PROG_TYPE_SK_SKB) || (defined(HAVE_DECL_BPF_PROG_TYPE_SK_SKB) && HAVE_DECL_BPF_PROG_TYPE_SK_SKB)) +#if defined(BPF_PROG_TYPE_SK_SKB) || (defined(HAVE_DECL_BPF_PROG_TYPE_SK_SKB) && HAVE_DECL_BPF_PROG_TYPE_SK_SKB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_SK_SKB) == (14), "BPF_PROG_TYPE_SK_SKB != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(BPF_PROG_TYPE_CGROUP_DEVICE) || (defined(HAVE_DECL_BPF_PROG_TYPE_CGROUP_DEVICE) && HAVE_DECL_BPF_PROG_TYPE_CGROUP_DEVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_CGROUP_DEVICE) == (15), "BPF_PROG_TYPE_CGROUP_DEVICE != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BPF_PROG_TYPE_CGROUP_DEVICE 15 #endif +#if defined(BPF_PROG_TYPE_SK_MSG) || (defined(HAVE_DECL_BPF_PROG_TYPE_SK_MSG) && HAVE_DECL_BPF_PROG_TYPE_SK_MSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_SK_MSG) == (16), "BPF_PROG_TYPE_SK_MSG != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_PROG_TYPE_SK_MSG 16 +#endif +#if defined(BPF_PROG_TYPE_RAW_TRACEPOINT) || (defined(HAVE_DECL_BPF_PROG_TYPE_RAW_TRACEPOINT) && HAVE_DECL_BPF_PROG_TYPE_RAW_TRACEPOINT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_PROG_TYPE_RAW_TRACEPOINT) == (17), "BPF_PROG_TYPE_RAW_TRACEPOINT != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_PROG_TYPE_RAW_TRACEPOINT 17 +#endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bpf_prog_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bpf_prog_types in mpers mode + +# else static const struct xlat bpf_prog_types[] = { - XLAT(BPF_PROG_TYPE_UNSPEC), - XLAT(BPF_PROG_TYPE_SOCKET_FILTER), - XLAT(BPF_PROG_TYPE_KPROBE), - XLAT(BPF_PROG_TYPE_SCHED_CLS), - XLAT(BPF_PROG_TYPE_SCHED_ACT), - XLAT(BPF_PROG_TYPE_TRACEPOINT), - XLAT(BPF_PROG_TYPE_XDP), - XLAT(BPF_PROG_TYPE_PERF_EVENT), - XLAT(BPF_PROG_TYPE_CGROUP_SKB), - XLAT(BPF_PROG_TYPE_CGROUP_SOCK), - XLAT(BPF_PROG_TYPE_LWT_IN), - XLAT(BPF_PROG_TYPE_LWT_OUT), - XLAT(BPF_PROG_TYPE_LWT_XMIT), - XLAT(BPF_PROG_TYPE_SOCK_OPS), - XLAT(BPF_PROG_TYPE_SK_SKB), - XLAT(BPF_PROG_TYPE_CGROUP_DEVICE), + [BPF_PROG_TYPE_UNSPEC] = XLAT(BPF_PROG_TYPE_UNSPEC), + [BPF_PROG_TYPE_SOCKET_FILTER] = XLAT(BPF_PROG_TYPE_SOCKET_FILTER), + [BPF_PROG_TYPE_KPROBE] = XLAT(BPF_PROG_TYPE_KPROBE), + [BPF_PROG_TYPE_SCHED_CLS] = XLAT(BPF_PROG_TYPE_SCHED_CLS), + [BPF_PROG_TYPE_SCHED_ACT] = XLAT(BPF_PROG_TYPE_SCHED_ACT), + [BPF_PROG_TYPE_TRACEPOINT] = XLAT(BPF_PROG_TYPE_TRACEPOINT), + [BPF_PROG_TYPE_XDP] = XLAT(BPF_PROG_TYPE_XDP), + [BPF_PROG_TYPE_PERF_EVENT] = XLAT(BPF_PROG_TYPE_PERF_EVENT), + [BPF_PROG_TYPE_CGROUP_SKB] = XLAT(BPF_PROG_TYPE_CGROUP_SKB), + [BPF_PROG_TYPE_CGROUP_SOCK] = XLAT(BPF_PROG_TYPE_CGROUP_SOCK), + [BPF_PROG_TYPE_LWT_IN] = XLAT(BPF_PROG_TYPE_LWT_IN), + [BPF_PROG_TYPE_LWT_OUT] = XLAT(BPF_PROG_TYPE_LWT_OUT), + [BPF_PROG_TYPE_LWT_XMIT] = XLAT(BPF_PROG_TYPE_LWT_XMIT), + [BPF_PROG_TYPE_SOCK_OPS] = XLAT(BPF_PROG_TYPE_SOCK_OPS), + [BPF_PROG_TYPE_SK_SKB] = XLAT(BPF_PROG_TYPE_SK_SKB), + [BPF_PROG_TYPE_CGROUP_DEVICE] = XLAT(BPF_PROG_TYPE_CGROUP_DEVICE), + [BPF_PROG_TYPE_SK_MSG] = XLAT(BPF_PROG_TYPE_SK_MSG), + [BPF_PROG_TYPE_RAW_TRACEPOINT] = XLAT(BPF_PROG_TYPE_RAW_TRACEPOINT), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_prog_types.in b/xlat/bpf_prog_types.in index 8038c9ec..7fee390b 100644 --- a/xlat/bpf_prog_types.in +++ b/xlat/bpf_prog_types.in @@ -1,3 +1,4 @@ +#value_indexed BPF_PROG_TYPE_UNSPEC 0 BPF_PROG_TYPE_SOCKET_FILTER 1 BPF_PROG_TYPE_KPROBE 2 @@ -14,3 +15,5 @@ BPF_PROG_TYPE_LWT_XMIT 12 BPF_PROG_TYPE_SOCK_OPS 13 BPF_PROG_TYPE_SK_SKB 14 BPF_PROG_TYPE_CGROUP_DEVICE 15 +BPF_PROG_TYPE_SK_MSG 16 +BPF_PROG_TYPE_RAW_TRACEPOINT 17 diff --git a/xlat/bpf_query_flags.h b/xlat/bpf_query_flags.h new file mode 100644 index 00000000..38f84b4d --- /dev/null +++ b/xlat/bpf_query_flags.h @@ -0,0 +1,30 @@ +/* Generated by ./xlat/gen.sh from ./xlat/bpf_query_flags.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_F_QUERY_EFFECTIVE) || (defined(HAVE_DECL_BPF_F_QUERY_EFFECTIVE) && HAVE_DECL_BPF_F_QUERY_EFFECTIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_F_QUERY_EFFECTIVE) == ((1U << 0)), "BPF_F_QUERY_EFFECTIVE != (1U << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_F_QUERY_EFFECTIVE (1U << 0) +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bpf_query_flags in mpers mode + +# else + +static +const struct xlat bpf_query_flags[] = { + XLAT(BPF_F_QUERY_EFFECTIVE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_query_flags.in b/xlat/bpf_query_flags.in new file mode 100644 index 00000000..b380ac1b --- /dev/null +++ b/xlat/bpf_query_flags.in @@ -0,0 +1 @@ +BPF_F_QUERY_EFFECTIVE (1U << 0) diff --git a/xlat/bpf_rval.h b/xlat/bpf_rval.h index 8f84f03f..85a11c1a 100644 --- a/xlat/bpf_rval.h +++ b/xlat/bpf_rval.h @@ -1,23 +1,46 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_rval.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bpf_rval in mpers mode - -#else - -static -const struct xlat bpf_rval[] = { #if defined(BPF_K) || (defined(HAVE_DECL_BPF_K) && HAVE_DECL_BPF_K) - XLAT(BPF_K), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_K) == (0x00), "BPF_K != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_K 0x00 #endif #if defined(BPF_X) || (defined(HAVE_DECL_BPF_X) && HAVE_DECL_BPF_X) - XLAT(BPF_X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_X) == (0x08), "BPF_X != 0x08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_X 0x08 #endif #if defined(BPF_A) || (defined(HAVE_DECL_BPF_A) && HAVE_DECL_BPF_A) - XLAT(BPF_A), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_A) == (0x10), "BPF_A != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_A 0x10 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bpf_rval in mpers mode + +# else + +static +const struct xlat bpf_rval[] = { + XLAT(BPF_K), + XLAT(BPF_X), + XLAT(BPF_A), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_rval.in b/xlat/bpf_rval.in index 44e137ec..37073bd2 100644 --- a/xlat/bpf_rval.in +++ b/xlat/bpf_rval.in @@ -1,3 +1,3 @@ -BPF_K -BPF_X -BPF_A +BPF_K 0x00 +BPF_X 0x08 +BPF_A 0x10 diff --git a/xlat/bpf_size.h b/xlat/bpf_size.h index f07bc9ca..51aa5399 100644 --- a/xlat/bpf_size.h +++ b/xlat/bpf_size.h @@ -1,26 +1,54 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_size.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bpf_size in mpers mode - -#else - -static -const struct xlat bpf_size[] = { #if defined(BPF_W) || (defined(HAVE_DECL_BPF_W) && HAVE_DECL_BPF_W) - XLAT(BPF_W), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_W) == (0x00), "BPF_W != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_W 0x00 #endif #if defined(BPF_H) || (defined(HAVE_DECL_BPF_H) && HAVE_DECL_BPF_H) - XLAT(BPF_H), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_H) == (0x08), "BPF_H != 0x08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_H 0x08 #endif #if defined(BPF_B) || (defined(HAVE_DECL_BPF_B) && HAVE_DECL_BPF_B) - XLAT(BPF_B), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_B) == (0x10), "BPF_B != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_B 0x10 #endif #if defined(BPF_DW) || (defined(HAVE_DECL_BPF_DW) && HAVE_DECL_BPF_DW) - XLAT(BPF_DW), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_DW) == (0x18), "BPF_DW != 0x18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_DW 0x18 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bpf_size in mpers mode + +# else + +static +const struct xlat bpf_size[] = { + XLAT(BPF_W), + XLAT(BPF_H), + XLAT(BPF_B), + XLAT(BPF_DW), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_size.in b/xlat/bpf_size.in index 5e0a5085..104428fc 100644 --- a/xlat/bpf_size.in +++ b/xlat/bpf_size.in @@ -1,4 +1,4 @@ -BPF_W -BPF_H -BPF_B -BPF_DW +BPF_W 0x00 +BPF_H 0x08 +BPF_B 0x10 +BPF_DW 0x18 diff --git a/xlat/bpf_src.h b/xlat/bpf_src.h index c063e75d..eee32dda 100644 --- a/xlat/bpf_src.h +++ b/xlat/bpf_src.h @@ -1,20 +1,38 @@ /* Generated by ./xlat/gen.sh from ./xlat/bpf_src.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bpf_src in mpers mode - -#else - -static -const struct xlat bpf_src[] = { #if defined(BPF_K) || (defined(HAVE_DECL_BPF_K) && HAVE_DECL_BPF_K) - XLAT(BPF_K), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_K) == (0x00), "BPF_K != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_K 0x00 #endif #if defined(BPF_X) || (defined(HAVE_DECL_BPF_X) && HAVE_DECL_BPF_X) - XLAT(BPF_X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_X) == (0x08), "BPF_X != 0x08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_X 0x08 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bpf_src in mpers mode + +# else + +static +const struct xlat bpf_src[] = { + XLAT(BPF_K), + XLAT(BPF_X), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bpf_src.in b/xlat/bpf_src.in index ede6abb9..46237178 100644 --- a/xlat/bpf_src.in +++ b/xlat/bpf_src.in @@ -1,2 +1,2 @@ -BPF_K -BPF_X +BPF_K 0x00 +BPF_X 0x08 diff --git a/xlat/bsg_flags.h b/xlat/bsg_flags.h index c5f28d9a..fc0f083b 100644 --- a/xlat/bsg_flags.h +++ b/xlat/bsg_flags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/bsg_flags.in; do not edit. */ -#if !(defined(BSG_FLAG_Q_AT_TAIL) || (defined(HAVE_DECL_BSG_FLAG_Q_AT_TAIL) && HAVE_DECL_BSG_FLAG_Q_AT_TAIL)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BSG_FLAG_Q_AT_TAIL) || (defined(HAVE_DECL_BSG_FLAG_Q_AT_TAIL) && HAVE_DECL_BSG_FLAG_Q_AT_TAIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BSG_FLAG_Q_AT_TAIL) == (0x10), "BSG_FLAG_Q_AT_TAIL != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BSG_FLAG_Q_AT_TAIL 0x10 #endif -#if !(defined(BSG_FLAG_Q_AT_HEAD) || (defined(HAVE_DECL_BSG_FLAG_Q_AT_HEAD) && HAVE_DECL_BSG_FLAG_Q_AT_HEAD)) +#if defined(BSG_FLAG_Q_AT_HEAD) || (defined(HAVE_DECL_BSG_FLAG_Q_AT_HEAD) && HAVE_DECL_BSG_FLAG_Q_AT_HEAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BSG_FLAG_Q_AT_HEAD) == (0x20), "BSG_FLAG_Q_AT_HEAD != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BSG_FLAG_Q_AT_HEAD 0x20 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat bsg_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat bsg_flags in mpers mode + +# else static const struct xlat bsg_flags[] = { @@ -19,4 +33,6 @@ const struct xlat bsg_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bsg_protocol.h b/xlat/bsg_protocol.h index 541085da..fba6c1e5 100644 --- a/xlat/bsg_protocol.h +++ b/xlat/bsg_protocol.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/bsg_protocol.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bsg_protocol in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bsg_protocol in mpers mode + +# else static const struct xlat bsg_protocol[] = { @@ -14,4 +20,6 @@ const struct xlat bsg_protocol[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bsg_subprotocol.h b/xlat/bsg_subprotocol.h index 80732138..20752c44 100644 --- a/xlat/bsg_subprotocol.h +++ b/xlat/bsg_subprotocol.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/bsg_subprotocol.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bsg_subprotocol in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bsg_subprotocol in mpers mode + +# else static const struct xlat bsg_subprotocol[] = { @@ -20,4 +26,6 @@ const struct xlat bsg_subprotocol[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bt_protocols.h b/xlat/bt_protocols.h index 7b0e1645..bd2db019 100644 --- a/xlat/bt_protocols.h +++ b/xlat/bt_protocols.h @@ -1,38 +1,86 @@ /* Generated by ./xlat/gen.sh from ./xlat/bt_protocols.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat bt_protocols in mpers mode - -#else - -static -const struct xlat bt_protocols[] = { #if defined(BTPROTO_L2CAP) || (defined(HAVE_DECL_BTPROTO_L2CAP) && HAVE_DECL_BTPROTO_L2CAP) - XLAT(BTPROTO_L2CAP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTPROTO_L2CAP) == (0), "BTPROTO_L2CAP != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTPROTO_L2CAP 0 #endif #if defined(BTPROTO_HCI) || (defined(HAVE_DECL_BTPROTO_HCI) && HAVE_DECL_BTPROTO_HCI) - XLAT(BTPROTO_HCI), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTPROTO_HCI) == (1), "BTPROTO_HCI != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTPROTO_HCI 1 #endif #if defined(BTPROTO_SCO) || (defined(HAVE_DECL_BTPROTO_SCO) && HAVE_DECL_BTPROTO_SCO) - XLAT(BTPROTO_SCO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTPROTO_SCO) == (2), "BTPROTO_SCO != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTPROTO_SCO 2 #endif #if defined(BTPROTO_RFCOMM) || (defined(HAVE_DECL_BTPROTO_RFCOMM) && HAVE_DECL_BTPROTO_RFCOMM) - XLAT(BTPROTO_RFCOMM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTPROTO_RFCOMM) == (3), "BTPROTO_RFCOMM != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTPROTO_RFCOMM 3 #endif #if defined(BTPROTO_BNEP) || (defined(HAVE_DECL_BTPROTO_BNEP) && HAVE_DECL_BTPROTO_BNEP) - XLAT(BTPROTO_BNEP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTPROTO_BNEP) == (4), "BTPROTO_BNEP != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTPROTO_BNEP 4 #endif #if defined(BTPROTO_CMTP) || (defined(HAVE_DECL_BTPROTO_CMTP) && HAVE_DECL_BTPROTO_CMTP) - XLAT(BTPROTO_CMTP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTPROTO_CMTP) == (5), "BTPROTO_CMTP != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTPROTO_CMTP 5 #endif #if defined(BTPROTO_HIDP) || (defined(HAVE_DECL_BTPROTO_HIDP) && HAVE_DECL_BTPROTO_HIDP) - XLAT(BTPROTO_HIDP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTPROTO_HIDP) == (6), "BTPROTO_HIDP != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTPROTO_HIDP 6 #endif #if defined(BTPROTO_AVDTP) || (defined(HAVE_DECL_BTPROTO_AVDTP) && HAVE_DECL_BTPROTO_AVDTP) - XLAT(BTPROTO_AVDTP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTPROTO_AVDTP) == (7), "BTPROTO_AVDTP != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTPROTO_AVDTP 7 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat bt_protocols in mpers mode + +# else + +static +const struct xlat bt_protocols[] = { + [BTPROTO_L2CAP] = XLAT(BTPROTO_L2CAP), + [BTPROTO_HCI] = XLAT(BTPROTO_HCI), + [BTPROTO_SCO] = XLAT(BTPROTO_SCO), + [BTPROTO_RFCOMM] = XLAT(BTPROTO_RFCOMM), + [BTPROTO_BNEP] = XLAT(BTPROTO_BNEP), + [BTPROTO_CMTP] = XLAT(BTPROTO_CMTP), + [BTPROTO_HIDP] = XLAT(BTPROTO_HIDP), + [BTPROTO_AVDTP] = XLAT(BTPROTO_AVDTP), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/bt_protocols.in b/xlat/bt_protocols.in index 1f7f3485..a0ad0565 100644 --- a/xlat/bt_protocols.in +++ b/xlat/bt_protocols.in @@ -1,8 +1,9 @@ -BTPROTO_L2CAP -BTPROTO_HCI -BTPROTO_SCO -BTPROTO_RFCOMM -BTPROTO_BNEP -BTPROTO_CMTP -BTPROTO_HIDP -BTPROTO_AVDTP +#value_indexed +BTPROTO_L2CAP 0 +BTPROTO_HCI 1 +BTPROTO_SCO 2 +BTPROTO_RFCOMM 3 +BTPROTO_BNEP 4 +BTPROTO_CMTP 5 +BTPROTO_HIDP 6 +BTPROTO_AVDTP 7 diff --git a/xlat/btrfs_balance_args.h b/xlat/btrfs_balance_args.h index d1f10918..11eced64 100644 --- a/xlat/btrfs_balance_args.h +++ b/xlat/btrfs_balance_args.h @@ -1,47 +1,97 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_balance_args.in; do not edit. */ -#if !(defined(BTRFS_BALANCE_ARGS_PROFILES) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_PROFILES) && HAVE_DECL_BTRFS_BALANCE_ARGS_PROFILES)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_BALANCE_ARGS_PROFILES) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_PROFILES) && HAVE_DECL_BTRFS_BALANCE_ARGS_PROFILES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_PROFILES) == ((1ULL << 0)), "BTRFS_BALANCE_ARGS_PROFILES != (1ULL << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_PROFILES (1ULL << 0) #endif -#if !(defined(BTRFS_BALANCE_ARGS_USAGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE)) +#if defined(BTRFS_BALANCE_ARGS_USAGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_USAGE) == ((1ULL << 1)), "BTRFS_BALANCE_ARGS_USAGE != (1ULL << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_USAGE (1ULL << 1) #endif -#if !(defined(BTRFS_BALANCE_ARGS_DEVID) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_DEVID) && HAVE_DECL_BTRFS_BALANCE_ARGS_DEVID)) +#if defined(BTRFS_BALANCE_ARGS_DEVID) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_DEVID) && HAVE_DECL_BTRFS_BALANCE_ARGS_DEVID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_DEVID) == ((1ULL << 2)), "BTRFS_BALANCE_ARGS_DEVID != (1ULL << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_DEVID (1ULL << 2) #endif -#if !(defined(BTRFS_BALANCE_ARGS_DRANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_DRANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_DRANGE)) +#if defined(BTRFS_BALANCE_ARGS_DRANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_DRANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_DRANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_DRANGE) == ((1ULL << 3)), "BTRFS_BALANCE_ARGS_DRANGE != (1ULL << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_DRANGE (1ULL << 3) #endif -#if !(defined(BTRFS_BALANCE_ARGS_VRANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_VRANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_VRANGE)) +#if defined(BTRFS_BALANCE_ARGS_VRANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_VRANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_VRANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_VRANGE) == ((1ULL << 4)), "BTRFS_BALANCE_ARGS_VRANGE != (1ULL << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_VRANGE (1ULL << 4) #endif -#if !(defined(BTRFS_BALANCE_ARGS_LIMIT) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT) && HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT)) +#if defined(BTRFS_BALANCE_ARGS_LIMIT) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT) && HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_LIMIT) == ((1ULL << 5)), "BTRFS_BALANCE_ARGS_LIMIT != (1ULL << 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_LIMIT (1ULL << 5) #endif -#if !(defined(BTRFS_BALANCE_ARGS_LIMIT_RANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT_RANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT_RANGE)) +#if defined(BTRFS_BALANCE_ARGS_LIMIT_RANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT_RANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_LIMIT_RANGE) == ((1ULL << 6)), "BTRFS_BALANCE_ARGS_LIMIT_RANGE != (1ULL << 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_LIMIT_RANGE (1ULL << 6) #endif -#if !(defined(BTRFS_BALANCE_ARGS_STRIPES_RANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_STRIPES_RANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_STRIPES_RANGE)) +#if defined(BTRFS_BALANCE_ARGS_STRIPES_RANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_STRIPES_RANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_STRIPES_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_STRIPES_RANGE) == ((1ULL << 7)), "BTRFS_BALANCE_ARGS_STRIPES_RANGE != (1ULL << 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_STRIPES_RANGE (1ULL << 7) #endif -#if !(defined(BTRFS_BALANCE_ARGS_CONVERT) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_CONVERT) && HAVE_DECL_BTRFS_BALANCE_ARGS_CONVERT)) +#if defined(BTRFS_BALANCE_ARGS_CONVERT) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_CONVERT) && HAVE_DECL_BTRFS_BALANCE_ARGS_CONVERT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_CONVERT) == ((1ULL << 8)), "BTRFS_BALANCE_ARGS_CONVERT != (1ULL << 8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_CONVERT (1ULL << 8) #endif -#if !(defined(BTRFS_BALANCE_ARGS_SOFT) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_SOFT) && HAVE_DECL_BTRFS_BALANCE_ARGS_SOFT)) +#if defined(BTRFS_BALANCE_ARGS_SOFT) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_SOFT) && HAVE_DECL_BTRFS_BALANCE_ARGS_SOFT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_SOFT) == ((1ULL << 9)), "BTRFS_BALANCE_ARGS_SOFT != (1ULL << 9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_SOFT (1ULL << 9) #endif -#if !(defined(BTRFS_BALANCE_ARGS_USAGE_RANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE_RANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE_RANGE)) +#if defined(BTRFS_BALANCE_ARGS_USAGE_RANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE_RANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ARGS_USAGE_RANGE) == ((1ULL << 10)), "BTRFS_BALANCE_ARGS_USAGE_RANGE != (1ULL << 10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ARGS_USAGE_RANGE (1ULL << 10) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_balance_args[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_balance_args[] = { XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_PROFILES), XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_USAGE), @@ -57,4 +107,6 @@ const struct xlat btrfs_balance_args[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_balance_ctl_cmds.h b/xlat/btrfs_balance_ctl_cmds.h index 9bdc820e..a7c0040e 100644 --- a/xlat/btrfs_balance_ctl_cmds.h +++ b/xlat/btrfs_balance_ctl_cmds.h @@ -1,24 +1,40 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_balance_ctl_cmds.in; do not edit. */ -#if !(defined(BTRFS_BALANCE_CTL_PAUSE) || (defined(HAVE_DECL_BTRFS_BALANCE_CTL_PAUSE) && HAVE_DECL_BTRFS_BALANCE_CTL_PAUSE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_BALANCE_CTL_PAUSE) || (defined(HAVE_DECL_BTRFS_BALANCE_CTL_PAUSE) && HAVE_DECL_BTRFS_BALANCE_CTL_PAUSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_CTL_PAUSE) == (1), "BTRFS_BALANCE_CTL_PAUSE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_CTL_PAUSE 1 #endif -#if !(defined(BTRFS_BALANCE_CTL_CANCEL) || (defined(HAVE_DECL_BTRFS_BALANCE_CTL_CANCEL) && HAVE_DECL_BTRFS_BALANCE_CTL_CANCEL)) +#if defined(BTRFS_BALANCE_CTL_CANCEL) || (defined(HAVE_DECL_BTRFS_BALANCE_CTL_CANCEL) && HAVE_DECL_BTRFS_BALANCE_CTL_CANCEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_CTL_CANCEL) == (2), "BTRFS_BALANCE_CTL_CANCEL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_CTL_CANCEL 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_balance_ctl_cmds[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_balance_ctl_cmds[] = { XLAT(BTRFS_BALANCE_CTL_PAUSE), XLAT(BTRFS_BALANCE_CTL_CANCEL), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_balance_flags.h b/xlat/btrfs_balance_flags.h index c071b6e1..87537552 100644 --- a/xlat/btrfs_balance_flags.h +++ b/xlat/btrfs_balance_flags.h @@ -1,29 +1,55 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_balance_flags.in; do not edit. */ -#if !(defined(BTRFS_BALANCE_DATA) || (defined(HAVE_DECL_BTRFS_BALANCE_DATA) && HAVE_DECL_BTRFS_BALANCE_DATA)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_BALANCE_DATA) || (defined(HAVE_DECL_BTRFS_BALANCE_DATA) && HAVE_DECL_BTRFS_BALANCE_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_DATA) == ((1ULL << 0)), "BTRFS_BALANCE_DATA != (1ULL << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_DATA (1ULL << 0) #endif -#if !(defined(BTRFS_BALANCE_SYSTEM) || (defined(HAVE_DECL_BTRFS_BALANCE_SYSTEM) && HAVE_DECL_BTRFS_BALANCE_SYSTEM)) +#if defined(BTRFS_BALANCE_SYSTEM) || (defined(HAVE_DECL_BTRFS_BALANCE_SYSTEM) && HAVE_DECL_BTRFS_BALANCE_SYSTEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_SYSTEM) == ((1ULL << 1)), "BTRFS_BALANCE_SYSTEM != (1ULL << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_SYSTEM (1ULL << 1) #endif -#if !(defined(BTRFS_BALANCE_METADATA) || (defined(HAVE_DECL_BTRFS_BALANCE_METADATA) && HAVE_DECL_BTRFS_BALANCE_METADATA)) +#if defined(BTRFS_BALANCE_METADATA) || (defined(HAVE_DECL_BTRFS_BALANCE_METADATA) && HAVE_DECL_BTRFS_BALANCE_METADATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_METADATA) == ((1ULL << 2)), "BTRFS_BALANCE_METADATA != (1ULL << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_METADATA (1ULL << 2) #endif -#if !(defined(BTRFS_BALANCE_FORCE) || (defined(HAVE_DECL_BTRFS_BALANCE_FORCE) && HAVE_DECL_BTRFS_BALANCE_FORCE)) +#if defined(BTRFS_BALANCE_FORCE) || (defined(HAVE_DECL_BTRFS_BALANCE_FORCE) && HAVE_DECL_BTRFS_BALANCE_FORCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_FORCE) == ((1ULL << 3)), "BTRFS_BALANCE_FORCE != (1ULL << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_FORCE (1ULL << 3) #endif -#if !(defined(BTRFS_BALANCE_RESUME) || (defined(HAVE_DECL_BTRFS_BALANCE_RESUME) && HAVE_DECL_BTRFS_BALANCE_RESUME)) +#if defined(BTRFS_BALANCE_RESUME) || (defined(HAVE_DECL_BTRFS_BALANCE_RESUME) && HAVE_DECL_BTRFS_BALANCE_RESUME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_RESUME) == ((1ULL << 4)), "BTRFS_BALANCE_RESUME != (1ULL << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_RESUME (1ULL << 4) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_balance_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_balance_flags[] = { XLAT_TYPE(uint64_t, BTRFS_BALANCE_DATA), XLAT_TYPE(uint64_t, BTRFS_BALANCE_SYSTEM), @@ -33,4 +59,6 @@ const struct xlat btrfs_balance_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_balance_state.h b/xlat/btrfs_balance_state.h index 64c8511c..1a14a03d 100644 --- a/xlat/btrfs_balance_state.h +++ b/xlat/btrfs_balance_state.h @@ -1,23 +1,41 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_balance_state.in; do not edit. */ -#if !(defined(BTRFS_BALANCE_STATE_RUNNING) || (defined(HAVE_DECL_BTRFS_BALANCE_STATE_RUNNING) && HAVE_DECL_BTRFS_BALANCE_STATE_RUNNING)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_BALANCE_STATE_RUNNING) || (defined(HAVE_DECL_BTRFS_BALANCE_STATE_RUNNING) && HAVE_DECL_BTRFS_BALANCE_STATE_RUNNING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_STATE_RUNNING) == ((1ULL << 0)), "BTRFS_BALANCE_STATE_RUNNING != (1ULL << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_STATE_RUNNING (1ULL << 0) #endif -#if !(defined(BTRFS_BALANCE_STATE_PAUSE_REQ) || (defined(HAVE_DECL_BTRFS_BALANCE_STATE_PAUSE_REQ) && HAVE_DECL_BTRFS_BALANCE_STATE_PAUSE_REQ)) +#if defined(BTRFS_BALANCE_STATE_PAUSE_REQ) || (defined(HAVE_DECL_BTRFS_BALANCE_STATE_PAUSE_REQ) && HAVE_DECL_BTRFS_BALANCE_STATE_PAUSE_REQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_STATE_PAUSE_REQ) == ((1ULL << 1)), "BTRFS_BALANCE_STATE_PAUSE_REQ != (1ULL << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_STATE_PAUSE_REQ (1ULL << 1) #endif -#if !(defined(BTRFS_BALANCE_STATE_CANCEL_REQ) || (defined(HAVE_DECL_BTRFS_BALANCE_STATE_CANCEL_REQ) && HAVE_DECL_BTRFS_BALANCE_STATE_CANCEL_REQ)) +#if defined(BTRFS_BALANCE_STATE_CANCEL_REQ) || (defined(HAVE_DECL_BTRFS_BALANCE_STATE_CANCEL_REQ) && HAVE_DECL_BTRFS_BALANCE_STATE_CANCEL_REQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_STATE_CANCEL_REQ) == ((1ULL << 2)), "BTRFS_BALANCE_STATE_CANCEL_REQ != (1ULL << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_STATE_CANCEL_REQ (1ULL << 2) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_balance_state[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_balance_state[] = { XLAT(BTRFS_BALANCE_STATE_RUNNING), XLAT(BTRFS_BALANCE_STATE_PAUSE_REQ), @@ -25,4 +43,6 @@ const struct xlat btrfs_balance_state[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_compress_types.h b/xlat/btrfs_compress_types.h index dd89c637..50fa15fc 100644 --- a/xlat/btrfs_compress_types.h +++ b/xlat/btrfs_compress_types.h @@ -1,23 +1,41 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_compress_types.in; do not edit. */ -#if !(defined(BTRFS_COMPRESS_NONE) || (defined(HAVE_DECL_BTRFS_COMPRESS_NONE) && HAVE_DECL_BTRFS_COMPRESS_NONE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_COMPRESS_NONE) || (defined(HAVE_DECL_BTRFS_COMPRESS_NONE) && HAVE_DECL_BTRFS_COMPRESS_NONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_COMPRESS_NONE) == (0), "BTRFS_COMPRESS_NONE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_COMPRESS_NONE 0 #endif -#if !(defined(BTRFS_COMPRESS_ZLIB) || (defined(HAVE_DECL_BTRFS_COMPRESS_ZLIB) && HAVE_DECL_BTRFS_COMPRESS_ZLIB)) +#if defined(BTRFS_COMPRESS_ZLIB) || (defined(HAVE_DECL_BTRFS_COMPRESS_ZLIB) && HAVE_DECL_BTRFS_COMPRESS_ZLIB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_COMPRESS_ZLIB) == (1), "BTRFS_COMPRESS_ZLIB != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_COMPRESS_ZLIB 1 #endif -#if !(defined(BTRFS_COMPRESS_LZO) || (defined(HAVE_DECL_BTRFS_COMPRESS_LZO) && HAVE_DECL_BTRFS_COMPRESS_LZO)) +#if defined(BTRFS_COMPRESS_LZO) || (defined(HAVE_DECL_BTRFS_COMPRESS_LZO) && HAVE_DECL_BTRFS_COMPRESS_LZO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_COMPRESS_LZO) == (2), "BTRFS_COMPRESS_LZO != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_COMPRESS_LZO 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_compress_types[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_compress_types[] = { XLAT(BTRFS_COMPRESS_NONE), XLAT(BTRFS_COMPRESS_ZLIB), @@ -25,4 +43,6 @@ const struct xlat btrfs_compress_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_cont_reading_from_srcdev_mode.h b/xlat/btrfs_cont_reading_from_srcdev_mode.h new file mode 100644 index 00000000..4904e933 --- /dev/null +++ b/xlat/btrfs_cont_reading_from_srcdev_mode.h @@ -0,0 +1,40 @@ +/* Generated by ./xlat/gen.sh from ./xlat/btrfs_cont_reading_from_srcdev_mode.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS) || (defined(HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS) && HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS) == (0), "BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0 +#endif +#if defined(BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID) || (defined(HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID) && HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID) == (1), "BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID 1 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +extern const struct xlat btrfs_cont_reading_from_srcdev_mode[]; + +# else + +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +static +# endif +const struct xlat btrfs_cont_reading_from_srcdev_mode[] = { + XLAT(BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS), + XLAT(BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_cont_reading_from_srcdev_mode.in b/xlat/btrfs_cont_reading_from_srcdev_mode.in new file mode 100644 index 00000000..0a1decfb --- /dev/null +++ b/xlat/btrfs_cont_reading_from_srcdev_mode.in @@ -0,0 +1,2 @@ +BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0 +BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID 1 diff --git a/xlat/btrfs_defrag_flags.h b/xlat/btrfs_defrag_flags.h index 2990b21d..7fac3a4f 100644 --- a/xlat/btrfs_defrag_flags.h +++ b/xlat/btrfs_defrag_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_defrag_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_defrag_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_defrag_flags[] = { #if defined(BTRFS_DEFRAG_RANGE_COMPRESS) || (defined(HAVE_DECL_BTRFS_DEFRAG_RANGE_COMPRESS) && HAVE_DECL_BTRFS_DEFRAG_RANGE_COMPRESS) XLAT_TYPE(uint64_t, BTRFS_DEFRAG_RANGE_COMPRESS), @@ -19,4 +25,6 @@ const struct xlat btrfs_defrag_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_dev_replace_cmds.h b/xlat/btrfs_dev_replace_cmds.h index 83bd044e..f612ebdf 100644 --- a/xlat/btrfs_dev_replace_cmds.h +++ b/xlat/btrfs_dev_replace_cmds.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_dev_replace_cmds.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_dev_replace_cmds[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_dev_replace_cmds[] = { #if defined(BTRFS_IOCTL_DEV_REPLACE_CMD_START) || (defined(HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_CMD_START) && HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_CMD_START) XLAT_TYPE(uint64_t, BTRFS_IOCTL_DEV_REPLACE_CMD_START), @@ -22,4 +28,6 @@ const struct xlat btrfs_dev_replace_cmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_dev_replace_results.h b/xlat/btrfs_dev_replace_results.h index 62fe4f8e..cf96f4f4 100644 --- a/xlat/btrfs_dev_replace_results.h +++ b/xlat/btrfs_dev_replace_results.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_dev_replace_results.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_dev_replace_results[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_dev_replace_results[] = { #if defined(BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR) || (defined(HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR) && HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR) XLAT_TYPE(uint64_t, BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR), @@ -25,4 +31,6 @@ const struct xlat btrfs_dev_replace_results[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_dev_replace_state.h b/xlat/btrfs_dev_replace_state.h index 7095c1af..de5cf7bf 100644 --- a/xlat/btrfs_dev_replace_state.h +++ b/xlat/btrfs_dev_replace_state.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_dev_replace_state.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_dev_replace_state[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_dev_replace_state[] = { #if defined(BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED) || (defined(HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED) && HAVE_DECL_BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED) XLAT_TYPE(uint64_t, BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED), @@ -28,4 +34,6 @@ const struct xlat btrfs_dev_replace_state[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_dev_stats_flags.h b/xlat/btrfs_dev_stats_flags.h index 7bfbb092..29793e5f 100644 --- a/xlat/btrfs_dev_stats_flags.h +++ b/xlat/btrfs_dev_stats_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_dev_stats_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_dev_stats_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_dev_stats_flags[] = { #if defined(BTRFS_DEV_STATS_RESET) || (defined(HAVE_DECL_BTRFS_DEV_STATS_RESET) && HAVE_DECL_BTRFS_DEV_STATS_RESET) XLAT_TYPE(uint64_t, BTRFS_DEV_STATS_RESET), @@ -16,4 +22,6 @@ const struct xlat btrfs_dev_stats_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_dev_stats_values.h b/xlat/btrfs_dev_stats_values.h index eaaeff0c..07150711 100644 --- a/xlat/btrfs_dev_stats_values.h +++ b/xlat/btrfs_dev_stats_values.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_dev_stats_values.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_dev_stats_values[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_dev_stats_values[] = { XLAT_TYPE(uint64_t, BTRFS_DEV_STAT_WRITE_ERRS), XLAT_TYPE(uint64_t, BTRFS_DEV_STAT_READ_ERRS), @@ -18,4 +24,6 @@ const struct xlat btrfs_dev_stats_values[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_features_compat.h b/xlat/btrfs_features_compat.h index d1e61d8e..754dc9e1 100644 --- a/xlat/btrfs_features_compat.h +++ b/xlat/btrfs_features_compat.h @@ -1,16 +1,24 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_features_compat.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_features_compat[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_features_compat[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_features_compat_ro.h b/xlat/btrfs_features_compat_ro.h index 324324a2..348782ba 100644 --- a/xlat/btrfs_features_compat_ro.h +++ b/xlat/btrfs_features_compat_ro.h @@ -1,24 +1,40 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_features_compat_ro.in; do not edit. */ -#if !(defined(BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE) || (defined(HAVE_DECL_BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE) && HAVE_DECL_BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE) || (defined(HAVE_DECL_BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE) && HAVE_DECL_BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE) == ((1ULL << 0)), "BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE != (1ULL << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE (1ULL << 0) #endif -#if !(defined(BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID) || (defined(HAVE_DECL_BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID) && HAVE_DECL_BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID)) +#if defined(BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID) || (defined(HAVE_DECL_BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID) && HAVE_DECL_BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID) == ((1ULL << 1)), "BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID != (1ULL << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_features_compat_ro[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_features_compat_ro[] = { XLAT_TYPE(uint64_t, BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE), XLAT_TYPE(uint64_t, BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_features_incompat.h b/xlat/btrfs_features_incompat.h index b012f412..e7f5c980 100644 --- a/xlat/btrfs_features_incompat.h +++ b/xlat/btrfs_features_incompat.h @@ -1,44 +1,90 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_features_incompat.in; do not edit. */ -#if !(defined(BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF) == ((1ULL << 0)), "BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF != (1ULL << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) #endif -#if !(defined(BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL)) +#if defined(BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL) == ((1ULL << 1)), "BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL != (1ULL << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) #endif -#if !(defined(BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS)) +#if defined(BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS) == ((1ULL << 2)), "BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS != (1ULL << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2) #endif -#if !(defined(BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO)) +#if defined(BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO) == ((1ULL << 3)), "BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO != (1ULL << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO (1ULL << 3) #endif -#if !(defined(BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2)) +#if defined(BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2) == ((1ULL << 4)), "BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2 != (1ULL << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2 (1ULL << 4) #endif -#if !(defined(BTRFS_FEATURE_INCOMPAT_BIG_METADATA) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_BIG_METADATA) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_BIG_METADATA)) +#if defined(BTRFS_FEATURE_INCOMPAT_BIG_METADATA) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_BIG_METADATA) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_BIG_METADATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_BIG_METADATA) == ((1ULL << 5)), "BTRFS_FEATURE_INCOMPAT_BIG_METADATA != (1ULL << 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_BIG_METADATA (1ULL << 5) #endif -#if !(defined(BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF)) +#if defined(BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF) == ((1ULL << 6)), "BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF != (1ULL << 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF (1ULL << 6) #endif -#if !(defined(BTRFS_FEATURE_INCOMPAT_RAID56) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_RAID56) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_RAID56)) +#if defined(BTRFS_FEATURE_INCOMPAT_RAID56) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_RAID56) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_RAID56) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_RAID56) == ((1ULL << 7)), "BTRFS_FEATURE_INCOMPAT_RAID56 != (1ULL << 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_RAID56 (1ULL << 7) #endif -#if !(defined(BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA)) +#if defined(BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA) == ((1ULL << 8)), "BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA != (1ULL << 8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA (1ULL << 8) #endif -#if !(defined(BTRFS_FEATURE_INCOMPAT_NO_HOLES) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_NO_HOLES) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_NO_HOLES)) +#if defined(BTRFS_FEATURE_INCOMPAT_NO_HOLES) || (defined(HAVE_DECL_BTRFS_FEATURE_INCOMPAT_NO_HOLES) && HAVE_DECL_BTRFS_FEATURE_INCOMPAT_NO_HOLES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FEATURE_INCOMPAT_NO_HOLES) == ((1ULL << 9)), "BTRFS_FEATURE_INCOMPAT_NO_HOLES != (1ULL << 9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FEATURE_INCOMPAT_NO_HOLES (1ULL << 9) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_features_incompat[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_features_incompat[] = { XLAT_TYPE(uint64_t, BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF), XLAT_TYPE(uint64_t, BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL), @@ -53,4 +99,6 @@ const struct xlat btrfs_features_incompat[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_key_types.h b/xlat/btrfs_key_types.h index 1a72165e..71fcaba0 100644 --- a/xlat/btrfs_key_types.h +++ b/xlat/btrfs_key_types.h @@ -1,137 +1,307 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_key_types.in; do not edit. */ -#if !(defined(BTRFS_INODE_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_INODE_ITEM_KEY) && HAVE_DECL_BTRFS_INODE_ITEM_KEY)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_INODE_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_INODE_ITEM_KEY) && HAVE_DECL_BTRFS_INODE_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_INODE_ITEM_KEY) == (1), "BTRFS_INODE_ITEM_KEY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_INODE_ITEM_KEY 1 #endif -#if !(defined(BTRFS_INODE_REF_KEY) || (defined(HAVE_DECL_BTRFS_INODE_REF_KEY) && HAVE_DECL_BTRFS_INODE_REF_KEY)) +#if defined(BTRFS_INODE_REF_KEY) || (defined(HAVE_DECL_BTRFS_INODE_REF_KEY) && HAVE_DECL_BTRFS_INODE_REF_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_INODE_REF_KEY) == (12), "BTRFS_INODE_REF_KEY != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_INODE_REF_KEY 12 #endif -#if !(defined(BTRFS_INODE_EXTREF_KEY) || (defined(HAVE_DECL_BTRFS_INODE_EXTREF_KEY) && HAVE_DECL_BTRFS_INODE_EXTREF_KEY)) +#if defined(BTRFS_INODE_EXTREF_KEY) || (defined(HAVE_DECL_BTRFS_INODE_EXTREF_KEY) && HAVE_DECL_BTRFS_INODE_EXTREF_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_INODE_EXTREF_KEY) == (13), "BTRFS_INODE_EXTREF_KEY != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_INODE_EXTREF_KEY 13 #endif -#if !(defined(BTRFS_XATTR_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_XATTR_ITEM_KEY) && HAVE_DECL_BTRFS_XATTR_ITEM_KEY)) +#if defined(BTRFS_XATTR_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_XATTR_ITEM_KEY) && HAVE_DECL_BTRFS_XATTR_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_XATTR_ITEM_KEY) == (24), "BTRFS_XATTR_ITEM_KEY != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_XATTR_ITEM_KEY 24 #endif -#if !(defined(BTRFS_ORPHAN_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_ORPHAN_ITEM_KEY) && HAVE_DECL_BTRFS_ORPHAN_ITEM_KEY)) +#if defined(BTRFS_ORPHAN_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_ORPHAN_ITEM_KEY) && HAVE_DECL_BTRFS_ORPHAN_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_ORPHAN_ITEM_KEY) == (48), "BTRFS_ORPHAN_ITEM_KEY != 48"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_ORPHAN_ITEM_KEY 48 #endif -#if !(defined(BTRFS_DIR_LOG_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_DIR_LOG_ITEM_KEY) && HAVE_DECL_BTRFS_DIR_LOG_ITEM_KEY)) +#if defined(BTRFS_DIR_LOG_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_DIR_LOG_ITEM_KEY) && HAVE_DECL_BTRFS_DIR_LOG_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_DIR_LOG_ITEM_KEY) == (60), "BTRFS_DIR_LOG_ITEM_KEY != 60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_DIR_LOG_ITEM_KEY 60 #endif -#if !(defined(BTRFS_DIR_LOG_INDEX_KEY) || (defined(HAVE_DECL_BTRFS_DIR_LOG_INDEX_KEY) && HAVE_DECL_BTRFS_DIR_LOG_INDEX_KEY)) +#if defined(BTRFS_DIR_LOG_INDEX_KEY) || (defined(HAVE_DECL_BTRFS_DIR_LOG_INDEX_KEY) && HAVE_DECL_BTRFS_DIR_LOG_INDEX_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_DIR_LOG_INDEX_KEY) == (72), "BTRFS_DIR_LOG_INDEX_KEY != 72"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_DIR_LOG_INDEX_KEY 72 #endif -#if !(defined(BTRFS_DIR_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_DIR_ITEM_KEY) && HAVE_DECL_BTRFS_DIR_ITEM_KEY)) +#if defined(BTRFS_DIR_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_DIR_ITEM_KEY) && HAVE_DECL_BTRFS_DIR_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_DIR_ITEM_KEY) == (84), "BTRFS_DIR_ITEM_KEY != 84"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_DIR_ITEM_KEY 84 #endif -#if !(defined(BTRFS_DIR_INDEX_KEY) || (defined(HAVE_DECL_BTRFS_DIR_INDEX_KEY) && HAVE_DECL_BTRFS_DIR_INDEX_KEY)) +#if defined(BTRFS_DIR_INDEX_KEY) || (defined(HAVE_DECL_BTRFS_DIR_INDEX_KEY) && HAVE_DECL_BTRFS_DIR_INDEX_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_DIR_INDEX_KEY) == (96), "BTRFS_DIR_INDEX_KEY != 96"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_DIR_INDEX_KEY 96 #endif -#if !(defined(BTRFS_EXTENT_DATA_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_DATA_KEY) && HAVE_DECL_BTRFS_EXTENT_DATA_KEY)) +#if defined(BTRFS_EXTENT_DATA_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_DATA_KEY) && HAVE_DECL_BTRFS_EXTENT_DATA_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_EXTENT_DATA_KEY) == (108), "BTRFS_EXTENT_DATA_KEY != 108"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_EXTENT_DATA_KEY 108 #endif -#if !(defined(BTRFS_EXTENT_CSUM_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_CSUM_KEY) && HAVE_DECL_BTRFS_EXTENT_CSUM_KEY)) +#if defined(BTRFS_EXTENT_CSUM_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_CSUM_KEY) && HAVE_DECL_BTRFS_EXTENT_CSUM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_EXTENT_CSUM_KEY) == (128), "BTRFS_EXTENT_CSUM_KEY != 128"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_EXTENT_CSUM_KEY 128 #endif -#if !(defined(BTRFS_ROOT_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_ROOT_ITEM_KEY) && HAVE_DECL_BTRFS_ROOT_ITEM_KEY)) +#if defined(BTRFS_ROOT_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_ROOT_ITEM_KEY) && HAVE_DECL_BTRFS_ROOT_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_ROOT_ITEM_KEY) == (132), "BTRFS_ROOT_ITEM_KEY != 132"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_ROOT_ITEM_KEY 132 #endif -#if !(defined(BTRFS_ROOT_BACKREF_KEY) || (defined(HAVE_DECL_BTRFS_ROOT_BACKREF_KEY) && HAVE_DECL_BTRFS_ROOT_BACKREF_KEY)) +#if defined(BTRFS_ROOT_BACKREF_KEY) || (defined(HAVE_DECL_BTRFS_ROOT_BACKREF_KEY) && HAVE_DECL_BTRFS_ROOT_BACKREF_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_ROOT_BACKREF_KEY) == (144), "BTRFS_ROOT_BACKREF_KEY != 144"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_ROOT_BACKREF_KEY 144 #endif -#if !(defined(BTRFS_ROOT_REF_KEY) || (defined(HAVE_DECL_BTRFS_ROOT_REF_KEY) && HAVE_DECL_BTRFS_ROOT_REF_KEY)) +#if defined(BTRFS_ROOT_REF_KEY) || (defined(HAVE_DECL_BTRFS_ROOT_REF_KEY) && HAVE_DECL_BTRFS_ROOT_REF_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_ROOT_REF_KEY) == (156), "BTRFS_ROOT_REF_KEY != 156"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_ROOT_REF_KEY 156 #endif -#if !(defined(BTRFS_EXTENT_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_ITEM_KEY) && HAVE_DECL_BTRFS_EXTENT_ITEM_KEY)) +#if defined(BTRFS_EXTENT_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_ITEM_KEY) && HAVE_DECL_BTRFS_EXTENT_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_EXTENT_ITEM_KEY) == (168), "BTRFS_EXTENT_ITEM_KEY != 168"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_EXTENT_ITEM_KEY 168 #endif -#if !(defined(BTRFS_METADATA_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_METADATA_ITEM_KEY) && HAVE_DECL_BTRFS_METADATA_ITEM_KEY)) +#if defined(BTRFS_METADATA_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_METADATA_ITEM_KEY) && HAVE_DECL_BTRFS_METADATA_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_METADATA_ITEM_KEY) == (169), "BTRFS_METADATA_ITEM_KEY != 169"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_METADATA_ITEM_KEY 169 #endif -#if !(defined(BTRFS_TREE_BLOCK_REF_KEY) || (defined(HAVE_DECL_BTRFS_TREE_BLOCK_REF_KEY) && HAVE_DECL_BTRFS_TREE_BLOCK_REF_KEY)) +#if defined(BTRFS_TREE_BLOCK_REF_KEY) || (defined(HAVE_DECL_BTRFS_TREE_BLOCK_REF_KEY) && HAVE_DECL_BTRFS_TREE_BLOCK_REF_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_TREE_BLOCK_REF_KEY) == (176), "BTRFS_TREE_BLOCK_REF_KEY != 176"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_TREE_BLOCK_REF_KEY 176 #endif -#if !(defined(BTRFS_EXTENT_DATA_REF_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_DATA_REF_KEY) && HAVE_DECL_BTRFS_EXTENT_DATA_REF_KEY)) +#if defined(BTRFS_EXTENT_DATA_REF_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_DATA_REF_KEY) && HAVE_DECL_BTRFS_EXTENT_DATA_REF_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_EXTENT_DATA_REF_KEY) == (178), "BTRFS_EXTENT_DATA_REF_KEY != 178"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_EXTENT_DATA_REF_KEY 178 #endif -#if !(defined(BTRFS_EXTENT_REF_V0_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_REF_V0_KEY) && HAVE_DECL_BTRFS_EXTENT_REF_V0_KEY)) +#if defined(BTRFS_EXTENT_REF_V0_KEY) || (defined(HAVE_DECL_BTRFS_EXTENT_REF_V0_KEY) && HAVE_DECL_BTRFS_EXTENT_REF_V0_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_EXTENT_REF_V0_KEY) == (180), "BTRFS_EXTENT_REF_V0_KEY != 180"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_EXTENT_REF_V0_KEY 180 #endif -#if !(defined(BTRFS_SHARED_BLOCK_REF_KEY) || (defined(HAVE_DECL_BTRFS_SHARED_BLOCK_REF_KEY) && HAVE_DECL_BTRFS_SHARED_BLOCK_REF_KEY)) +#if defined(BTRFS_SHARED_BLOCK_REF_KEY) || (defined(HAVE_DECL_BTRFS_SHARED_BLOCK_REF_KEY) && HAVE_DECL_BTRFS_SHARED_BLOCK_REF_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_SHARED_BLOCK_REF_KEY) == (182), "BTRFS_SHARED_BLOCK_REF_KEY != 182"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_SHARED_BLOCK_REF_KEY 182 #endif -#if !(defined(BTRFS_SHARED_DATA_REF_KEY) || (defined(HAVE_DECL_BTRFS_SHARED_DATA_REF_KEY) && HAVE_DECL_BTRFS_SHARED_DATA_REF_KEY)) +#if defined(BTRFS_SHARED_DATA_REF_KEY) || (defined(HAVE_DECL_BTRFS_SHARED_DATA_REF_KEY) && HAVE_DECL_BTRFS_SHARED_DATA_REF_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_SHARED_DATA_REF_KEY) == (184), "BTRFS_SHARED_DATA_REF_KEY != 184"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_SHARED_DATA_REF_KEY 184 #endif -#if !(defined(BTRFS_BLOCK_GROUP_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_ITEM_KEY) && HAVE_DECL_BTRFS_BLOCK_GROUP_ITEM_KEY)) +#if defined(BTRFS_BLOCK_GROUP_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_ITEM_KEY) && HAVE_DECL_BTRFS_BLOCK_GROUP_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_ITEM_KEY) == (192), "BTRFS_BLOCK_GROUP_ITEM_KEY != 192"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_ITEM_KEY 192 #endif -#if !(defined(BTRFS_FREE_SPACE_INFO_KEY) || (defined(HAVE_DECL_BTRFS_FREE_SPACE_INFO_KEY) && HAVE_DECL_BTRFS_FREE_SPACE_INFO_KEY)) +#if defined(BTRFS_FREE_SPACE_INFO_KEY) || (defined(HAVE_DECL_BTRFS_FREE_SPACE_INFO_KEY) && HAVE_DECL_BTRFS_FREE_SPACE_INFO_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FREE_SPACE_INFO_KEY) == (198), "BTRFS_FREE_SPACE_INFO_KEY != 198"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FREE_SPACE_INFO_KEY 198 #endif -#if !(defined(BTRFS_FREE_SPACE_EXTENT_KEY) || (defined(HAVE_DECL_BTRFS_FREE_SPACE_EXTENT_KEY) && HAVE_DECL_BTRFS_FREE_SPACE_EXTENT_KEY)) +#if defined(BTRFS_FREE_SPACE_EXTENT_KEY) || (defined(HAVE_DECL_BTRFS_FREE_SPACE_EXTENT_KEY) && HAVE_DECL_BTRFS_FREE_SPACE_EXTENT_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FREE_SPACE_EXTENT_KEY) == (199), "BTRFS_FREE_SPACE_EXTENT_KEY != 199"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FREE_SPACE_EXTENT_KEY 199 #endif -#if !(defined(BTRFS_FREE_SPACE_BITMAP_KEY) || (defined(HAVE_DECL_BTRFS_FREE_SPACE_BITMAP_KEY) && HAVE_DECL_BTRFS_FREE_SPACE_BITMAP_KEY)) +#if defined(BTRFS_FREE_SPACE_BITMAP_KEY) || (defined(HAVE_DECL_BTRFS_FREE_SPACE_BITMAP_KEY) && HAVE_DECL_BTRFS_FREE_SPACE_BITMAP_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FREE_SPACE_BITMAP_KEY) == (200), "BTRFS_FREE_SPACE_BITMAP_KEY != 200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FREE_SPACE_BITMAP_KEY 200 #endif -#if !(defined(BTRFS_DEV_EXTENT_KEY) || (defined(HAVE_DECL_BTRFS_DEV_EXTENT_KEY) && HAVE_DECL_BTRFS_DEV_EXTENT_KEY)) +#if defined(BTRFS_DEV_EXTENT_KEY) || (defined(HAVE_DECL_BTRFS_DEV_EXTENT_KEY) && HAVE_DECL_BTRFS_DEV_EXTENT_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_DEV_EXTENT_KEY) == (204), "BTRFS_DEV_EXTENT_KEY != 204"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_DEV_EXTENT_KEY 204 #endif -#if !(defined(BTRFS_DEV_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_DEV_ITEM_KEY) && HAVE_DECL_BTRFS_DEV_ITEM_KEY)) +#if defined(BTRFS_DEV_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_DEV_ITEM_KEY) && HAVE_DECL_BTRFS_DEV_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_DEV_ITEM_KEY) == (216), "BTRFS_DEV_ITEM_KEY != 216"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_DEV_ITEM_KEY 216 #endif -#if !(defined(BTRFS_CHUNK_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_CHUNK_ITEM_KEY) && HAVE_DECL_BTRFS_CHUNK_ITEM_KEY)) +#if defined(BTRFS_CHUNK_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_CHUNK_ITEM_KEY) && HAVE_DECL_BTRFS_CHUNK_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_CHUNK_ITEM_KEY) == (228), "BTRFS_CHUNK_ITEM_KEY != 228"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_CHUNK_ITEM_KEY 228 #endif -#if !(defined(BTRFS_QGROUP_STATUS_KEY) || (defined(HAVE_DECL_BTRFS_QGROUP_STATUS_KEY) && HAVE_DECL_BTRFS_QGROUP_STATUS_KEY)) +#if defined(BTRFS_QGROUP_STATUS_KEY) || (defined(HAVE_DECL_BTRFS_QGROUP_STATUS_KEY) && HAVE_DECL_BTRFS_QGROUP_STATUS_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_STATUS_KEY) == (240), "BTRFS_QGROUP_STATUS_KEY != 240"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_STATUS_KEY 240 #endif -#if !(defined(BTRFS_QGROUP_INFO_KEY) || (defined(HAVE_DECL_BTRFS_QGROUP_INFO_KEY) && HAVE_DECL_BTRFS_QGROUP_INFO_KEY)) +#if defined(BTRFS_QGROUP_INFO_KEY) || (defined(HAVE_DECL_BTRFS_QGROUP_INFO_KEY) && HAVE_DECL_BTRFS_QGROUP_INFO_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_INFO_KEY) == (242), "BTRFS_QGROUP_INFO_KEY != 242"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_INFO_KEY 242 #endif -#if !(defined(BTRFS_QGROUP_LIMIT_KEY) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_KEY) && HAVE_DECL_BTRFS_QGROUP_LIMIT_KEY)) +#if defined(BTRFS_QGROUP_LIMIT_KEY) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_KEY) && HAVE_DECL_BTRFS_QGROUP_LIMIT_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_LIMIT_KEY) == (244), "BTRFS_QGROUP_LIMIT_KEY != 244"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_LIMIT_KEY 244 #endif -#if !(defined(BTRFS_QGROUP_RELATION_KEY) || (defined(HAVE_DECL_BTRFS_QGROUP_RELATION_KEY) && HAVE_DECL_BTRFS_QGROUP_RELATION_KEY)) +#if defined(BTRFS_QGROUP_RELATION_KEY) || (defined(HAVE_DECL_BTRFS_QGROUP_RELATION_KEY) && HAVE_DECL_BTRFS_QGROUP_RELATION_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_RELATION_KEY) == (246), "BTRFS_QGROUP_RELATION_KEY != 246"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_RELATION_KEY 246 #endif -#if !(defined(BTRFS_BALANCE_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_BALANCE_ITEM_KEY) && HAVE_DECL_BTRFS_BALANCE_ITEM_KEY)) +#if defined(BTRFS_BALANCE_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_BALANCE_ITEM_KEY) && HAVE_DECL_BTRFS_BALANCE_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BALANCE_ITEM_KEY) == (248), "BTRFS_BALANCE_ITEM_KEY != 248"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BALANCE_ITEM_KEY 248 #endif -#if !(defined(BTRFS_TEMPORARY_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_TEMPORARY_ITEM_KEY) && HAVE_DECL_BTRFS_TEMPORARY_ITEM_KEY)) +#if defined(BTRFS_TEMPORARY_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_TEMPORARY_ITEM_KEY) && HAVE_DECL_BTRFS_TEMPORARY_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_TEMPORARY_ITEM_KEY) == (248), "BTRFS_TEMPORARY_ITEM_KEY != 248"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_TEMPORARY_ITEM_KEY 248 #endif -#if !(defined(BTRFS_DEV_STATS_KEY) || (defined(HAVE_DECL_BTRFS_DEV_STATS_KEY) && HAVE_DECL_BTRFS_DEV_STATS_KEY)) +#if defined(BTRFS_DEV_STATS_KEY) || (defined(HAVE_DECL_BTRFS_DEV_STATS_KEY) && HAVE_DECL_BTRFS_DEV_STATS_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_DEV_STATS_KEY) == (249), "BTRFS_DEV_STATS_KEY != 249"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_DEV_STATS_KEY 249 #endif -#if !(defined(BTRFS_PERSISTENT_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_PERSISTENT_ITEM_KEY) && HAVE_DECL_BTRFS_PERSISTENT_ITEM_KEY)) +#if defined(BTRFS_PERSISTENT_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_PERSISTENT_ITEM_KEY) && HAVE_DECL_BTRFS_PERSISTENT_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_PERSISTENT_ITEM_KEY) == (249), "BTRFS_PERSISTENT_ITEM_KEY != 249"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_PERSISTENT_ITEM_KEY 249 #endif -#if !(defined(BTRFS_DEV_REPLACE_KEY) || (defined(HAVE_DECL_BTRFS_DEV_REPLACE_KEY) && HAVE_DECL_BTRFS_DEV_REPLACE_KEY)) +#if defined(BTRFS_DEV_REPLACE_KEY) || (defined(HAVE_DECL_BTRFS_DEV_REPLACE_KEY) && HAVE_DECL_BTRFS_DEV_REPLACE_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_DEV_REPLACE_KEY) == (250), "BTRFS_DEV_REPLACE_KEY != 250"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_DEV_REPLACE_KEY 250 #endif -#if !(defined(BTRFS_UUID_KEY_SUBVOL) || (defined(HAVE_DECL_BTRFS_UUID_KEY_SUBVOL) && HAVE_DECL_BTRFS_UUID_KEY_SUBVOL)) +#if defined(BTRFS_UUID_KEY_SUBVOL) || (defined(HAVE_DECL_BTRFS_UUID_KEY_SUBVOL) && HAVE_DECL_BTRFS_UUID_KEY_SUBVOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_UUID_KEY_SUBVOL) == (251), "BTRFS_UUID_KEY_SUBVOL != 251"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_UUID_KEY_SUBVOL 251 #endif -#if !(defined(BTRFS_UUID_KEY_RECEIVED_SUBVOL) || (defined(HAVE_DECL_BTRFS_UUID_KEY_RECEIVED_SUBVOL) && HAVE_DECL_BTRFS_UUID_KEY_RECEIVED_SUBVOL)) +#if defined(BTRFS_UUID_KEY_RECEIVED_SUBVOL) || (defined(HAVE_DECL_BTRFS_UUID_KEY_RECEIVED_SUBVOL) && HAVE_DECL_BTRFS_UUID_KEY_RECEIVED_SUBVOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_UUID_KEY_RECEIVED_SUBVOL) == (252), "BTRFS_UUID_KEY_RECEIVED_SUBVOL != 252"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_UUID_KEY_RECEIVED_SUBVOL 252 #endif -#if !(defined(BTRFS_STRING_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_STRING_ITEM_KEY) && HAVE_DECL_BTRFS_STRING_ITEM_KEY)) +#if defined(BTRFS_STRING_ITEM_KEY) || (defined(HAVE_DECL_BTRFS_STRING_ITEM_KEY) && HAVE_DECL_BTRFS_STRING_ITEM_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_STRING_ITEM_KEY) == (253), "BTRFS_STRING_ITEM_KEY != 253"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_STRING_ITEM_KEY 253 #endif -#if !(defined(UINT32_MAX) || (defined(HAVE_DECL_UINT32_MAX) && HAVE_DECL_UINT32_MAX)) +#if defined(UINT32_MAX) || (defined(HAVE_DECL_UINT32_MAX) && HAVE_DECL_UINT32_MAX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((UINT32_MAX) == (-1U), "UINT32_MAX != -1U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define UINT32_MAX -1U #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_key_types[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_key_types[] = { XLAT_TYPE(uint64_t, BTRFS_INODE_ITEM_KEY), XLAT_TYPE(uint64_t, BTRFS_INODE_REF_KEY), @@ -177,4 +347,6 @@ const struct xlat btrfs_key_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_logical_ino_args_flags.h b/xlat/btrfs_logical_ino_args_flags.h index 440e45e9..ca969b76 100644 --- a/xlat/btrfs_logical_ino_args_flags.h +++ b/xlat/btrfs_logical_ino_args_flags.h @@ -1,20 +1,32 @@ /* 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)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET) == ((1ULL << 0)), "BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET != (1ULL << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET (1ULL << 0) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_logical_ino_args_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_logical_ino_args_flags[] = { XLAT(BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_qgroup_ctl_cmds.h b/xlat/btrfs_qgroup_ctl_cmds.h index 25bdce2f..932f7274 100644 --- a/xlat/btrfs_qgroup_ctl_cmds.h +++ b/xlat/btrfs_qgroup_ctl_cmds.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_qgroup_ctl_cmds.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_qgroup_ctl_cmds[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_qgroup_ctl_cmds[] = { #if defined(BTRFS_QUOTA_CTL_ENABLE) || (defined(HAVE_DECL_BTRFS_QUOTA_CTL_ENABLE) && HAVE_DECL_BTRFS_QUOTA_CTL_ENABLE) XLAT_TYPE(uint64_t, BTRFS_QUOTA_CTL_ENABLE), @@ -22,4 +28,6 @@ const struct xlat btrfs_qgroup_ctl_cmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_qgroup_inherit_flags.h b/xlat/btrfs_qgroup_inherit_flags.h index ead56ea2..5f8d2f2d 100644 --- a/xlat/btrfs_qgroup_inherit_flags.h +++ b/xlat/btrfs_qgroup_inherit_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_qgroup_inherit_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_qgroup_inherit_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_qgroup_inherit_flags[] = { #if defined(BTRFS_QGROUP_INHERIT_SET_LIMITS) || (defined(HAVE_DECL_BTRFS_QGROUP_INHERIT_SET_LIMITS) && HAVE_DECL_BTRFS_QGROUP_INHERIT_SET_LIMITS) XLAT_TYPE(uint64_t, BTRFS_QGROUP_INHERIT_SET_LIMITS), @@ -16,4 +22,6 @@ const struct xlat btrfs_qgroup_inherit_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_qgroup_limit_flags.h b/xlat/btrfs_qgroup_limit_flags.h index 114c8760..5932d120 100644 --- a/xlat/btrfs_qgroup_limit_flags.h +++ b/xlat/btrfs_qgroup_limit_flags.h @@ -1,32 +1,62 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_qgroup_limit_flags.in; do not edit. */ -#if !(defined(BTRFS_QGROUP_LIMIT_MAX_RFER) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_MAX_RFER) && HAVE_DECL_BTRFS_QGROUP_LIMIT_MAX_RFER)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_QGROUP_LIMIT_MAX_RFER) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_MAX_RFER) && HAVE_DECL_BTRFS_QGROUP_LIMIT_MAX_RFER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_LIMIT_MAX_RFER) == ((1ULL << 0)), "BTRFS_QGROUP_LIMIT_MAX_RFER != (1ULL << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_LIMIT_MAX_RFER (1ULL << 0) #endif -#if !(defined(BTRFS_QGROUP_LIMIT_MAX_EXCL) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_MAX_EXCL) && HAVE_DECL_BTRFS_QGROUP_LIMIT_MAX_EXCL)) +#if defined(BTRFS_QGROUP_LIMIT_MAX_EXCL) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_MAX_EXCL) && HAVE_DECL_BTRFS_QGROUP_LIMIT_MAX_EXCL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_LIMIT_MAX_EXCL) == ((1ULL << 1)), "BTRFS_QGROUP_LIMIT_MAX_EXCL != (1ULL << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_LIMIT_MAX_EXCL (1ULL << 1) #endif -#if !(defined(BTRFS_QGROUP_LIMIT_RSV_RFER) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_RSV_RFER) && HAVE_DECL_BTRFS_QGROUP_LIMIT_RSV_RFER)) +#if defined(BTRFS_QGROUP_LIMIT_RSV_RFER) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_RSV_RFER) && HAVE_DECL_BTRFS_QGROUP_LIMIT_RSV_RFER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_LIMIT_RSV_RFER) == ((1ULL << 2)), "BTRFS_QGROUP_LIMIT_RSV_RFER != (1ULL << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_LIMIT_RSV_RFER (1ULL << 2) #endif -#if !(defined(BTRFS_QGROUP_LIMIT_RSV_EXCL) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_RSV_EXCL) && HAVE_DECL_BTRFS_QGROUP_LIMIT_RSV_EXCL)) +#if defined(BTRFS_QGROUP_LIMIT_RSV_EXCL) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_RSV_EXCL) && HAVE_DECL_BTRFS_QGROUP_LIMIT_RSV_EXCL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_LIMIT_RSV_EXCL) == ((1ULL << 3)), "BTRFS_QGROUP_LIMIT_RSV_EXCL != (1ULL << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_LIMIT_RSV_EXCL (1ULL << 3) #endif -#if !(defined(BTRFS_QGROUP_LIMIT_RFER_CMPR) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_RFER_CMPR) && HAVE_DECL_BTRFS_QGROUP_LIMIT_RFER_CMPR)) +#if defined(BTRFS_QGROUP_LIMIT_RFER_CMPR) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_RFER_CMPR) && HAVE_DECL_BTRFS_QGROUP_LIMIT_RFER_CMPR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_LIMIT_RFER_CMPR) == ((1ULL << 4)), "BTRFS_QGROUP_LIMIT_RFER_CMPR != (1ULL << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_LIMIT_RFER_CMPR (1ULL << 4) #endif -#if !(defined(BTRFS_QGROUP_LIMIT_EXCL_CMPR) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_EXCL_CMPR) && HAVE_DECL_BTRFS_QGROUP_LIMIT_EXCL_CMPR)) +#if defined(BTRFS_QGROUP_LIMIT_EXCL_CMPR) || (defined(HAVE_DECL_BTRFS_QGROUP_LIMIT_EXCL_CMPR) && HAVE_DECL_BTRFS_QGROUP_LIMIT_EXCL_CMPR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_LIMIT_EXCL_CMPR) == ((1ULL << 5)), "BTRFS_QGROUP_LIMIT_EXCL_CMPR != (1ULL << 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_LIMIT_EXCL_CMPR (1ULL << 5) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_qgroup_limit_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_qgroup_limit_flags[] = { XLAT_TYPE(uint64_t, BTRFS_QGROUP_LIMIT_MAX_RFER), XLAT_TYPE(uint64_t, BTRFS_QGROUP_LIMIT_MAX_EXCL), @@ -37,4 +67,6 @@ const struct xlat btrfs_qgroup_limit_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_qgroup_status_flags.h b/xlat/btrfs_qgroup_status_flags.h index d02a86bd..252ef61e 100644 --- a/xlat/btrfs_qgroup_status_flags.h +++ b/xlat/btrfs_qgroup_status_flags.h @@ -1,24 +1,40 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_qgroup_status_flags.in; do not edit. */ -#if !(defined(BTRFS_QGROUP_STATUS_FLAG_ON) || (defined(HAVE_DECL_BTRFS_QGROUP_STATUS_FLAG_ON) && HAVE_DECL_BTRFS_QGROUP_STATUS_FLAG_ON)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_QGROUP_STATUS_FLAG_ON) || (defined(HAVE_DECL_BTRFS_QGROUP_STATUS_FLAG_ON) && HAVE_DECL_BTRFS_QGROUP_STATUS_FLAG_ON) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_STATUS_FLAG_ON) == ((1ULL << 0)), "BTRFS_QGROUP_STATUS_FLAG_ON != (1ULL << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_STATUS_FLAG_ON (1ULL << 0) #endif -#if !(defined(BTRFS_QGROUP_STATUS_FLAG_RESCAN) || (defined(HAVE_DECL_BTRFS_QGROUP_STATUS_FLAG_RESCAN) && HAVE_DECL_BTRFS_QGROUP_STATUS_FLAG_RESCAN)) +#if defined(BTRFS_QGROUP_STATUS_FLAG_RESCAN) || (defined(HAVE_DECL_BTRFS_QGROUP_STATUS_FLAG_RESCAN) && HAVE_DECL_BTRFS_QGROUP_STATUS_FLAG_RESCAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QGROUP_STATUS_FLAG_RESCAN) == ((1ULL << 1)), "BTRFS_QGROUP_STATUS_FLAG_RESCAN != (1ULL << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QGROUP_STATUS_FLAG_RESCAN (1ULL << 1) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_qgroup_status_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_qgroup_status_flags[] = { XLAT_TYPE(uint64_t, BTRFS_QGROUP_STATUS_FLAG_ON), XLAT_TYPE(uint64_t, BTRFS_QGROUP_STATUS_FLAG_RESCAN), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_scrub_flags.h b/xlat/btrfs_scrub_flags.h index 5823e347..b5964763 100644 --- a/xlat/btrfs_scrub_flags.h +++ b/xlat/btrfs_scrub_flags.h @@ -1,20 +1,32 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_scrub_flags.in; do not edit. */ -#if !(defined(BTRFS_SCRUB_READONLY) || (defined(HAVE_DECL_BTRFS_SCRUB_READONLY) && HAVE_DECL_BTRFS_SCRUB_READONLY)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_SCRUB_READONLY) || (defined(HAVE_DECL_BTRFS_SCRUB_READONLY) && HAVE_DECL_BTRFS_SCRUB_READONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_SCRUB_READONLY) == (1), "BTRFS_SCRUB_READONLY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_SCRUB_READONLY 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_scrub_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_scrub_flags[] = { XLAT_TYPE(uint64_t, BTRFS_SCRUB_READONLY), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_send_flags.h b/xlat/btrfs_send_flags.h index be2b02a6..a357f71e 100644 --- a/xlat/btrfs_send_flags.h +++ b/xlat/btrfs_send_flags.h @@ -1,23 +1,41 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_send_flags.in; do not edit. */ -#if !(defined(BTRFS_SEND_FLAG_NO_FILE_DATA) || (defined(HAVE_DECL_BTRFS_SEND_FLAG_NO_FILE_DATA) && HAVE_DECL_BTRFS_SEND_FLAG_NO_FILE_DATA)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_SEND_FLAG_NO_FILE_DATA) || (defined(HAVE_DECL_BTRFS_SEND_FLAG_NO_FILE_DATA) && HAVE_DECL_BTRFS_SEND_FLAG_NO_FILE_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_SEND_FLAG_NO_FILE_DATA) == (0x1), "BTRFS_SEND_FLAG_NO_FILE_DATA != 0x1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_SEND_FLAG_NO_FILE_DATA 0x1 #endif -#if !(defined(BTRFS_SEND_FLAG_OMIT_STREAM_HEADER) || (defined(HAVE_DECL_BTRFS_SEND_FLAG_OMIT_STREAM_HEADER) && HAVE_DECL_BTRFS_SEND_FLAG_OMIT_STREAM_HEADER)) +#if defined(BTRFS_SEND_FLAG_OMIT_STREAM_HEADER) || (defined(HAVE_DECL_BTRFS_SEND_FLAG_OMIT_STREAM_HEADER) && HAVE_DECL_BTRFS_SEND_FLAG_OMIT_STREAM_HEADER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_SEND_FLAG_OMIT_STREAM_HEADER) == (0x2), "BTRFS_SEND_FLAG_OMIT_STREAM_HEADER != 0x2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_SEND_FLAG_OMIT_STREAM_HEADER 0x2 #endif -#if !(defined(BTRFS_SEND_FLAG_OMIT_END_CMD) || (defined(HAVE_DECL_BTRFS_SEND_FLAG_OMIT_END_CMD) && HAVE_DECL_BTRFS_SEND_FLAG_OMIT_END_CMD)) +#if defined(BTRFS_SEND_FLAG_OMIT_END_CMD) || (defined(HAVE_DECL_BTRFS_SEND_FLAG_OMIT_END_CMD) && HAVE_DECL_BTRFS_SEND_FLAG_OMIT_END_CMD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_SEND_FLAG_OMIT_END_CMD) == (0x4), "BTRFS_SEND_FLAG_OMIT_END_CMD != 0x4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_SEND_FLAG_OMIT_END_CMD 0x4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_send_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_send_flags[] = { XLAT(BTRFS_SEND_FLAG_NO_FILE_DATA), XLAT(BTRFS_SEND_FLAG_OMIT_STREAM_HEADER), @@ -25,4 +43,6 @@ const struct xlat btrfs_send_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_snap_flags_v2.h b/xlat/btrfs_snap_flags_v2.h index 42088520..00fd6809 100644 --- a/xlat/btrfs_snap_flags_v2.h +++ b/xlat/btrfs_snap_flags_v2.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_snap_flags_v2.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_snap_flags_v2[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_snap_flags_v2[] = { #if defined(BTRFS_SUBVOL_CREATE_ASYNC) || (defined(HAVE_DECL_BTRFS_SUBVOL_CREATE_ASYNC) && HAVE_DECL_BTRFS_SUBVOL_CREATE_ASYNC) XLAT_TYPE(uint64_t, BTRFS_SUBVOL_CREATE_ASYNC), @@ -22,4 +28,6 @@ const struct xlat btrfs_snap_flags_v2[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_space_info_flags.h b/xlat/btrfs_space_info_flags.h index 7dcf06c4..665612db 100644 --- a/xlat/btrfs_space_info_flags.h +++ b/xlat/btrfs_space_info_flags.h @@ -1,47 +1,97 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_space_info_flags.in; do not edit. */ -#if !(defined(BTRFS_BLOCK_GROUP_DATA) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_DATA) && HAVE_DECL_BTRFS_BLOCK_GROUP_DATA)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_BLOCK_GROUP_DATA) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_DATA) && HAVE_DECL_BTRFS_BLOCK_GROUP_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_DATA) == ((1ULL << 0)), "BTRFS_BLOCK_GROUP_DATA != (1ULL << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_DATA (1ULL << 0) #endif -#if !(defined(BTRFS_BLOCK_GROUP_SYSTEM) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_SYSTEM) && HAVE_DECL_BTRFS_BLOCK_GROUP_SYSTEM)) +#if defined(BTRFS_BLOCK_GROUP_SYSTEM) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_SYSTEM) && HAVE_DECL_BTRFS_BLOCK_GROUP_SYSTEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_SYSTEM) == ((1ULL << 1)), "BTRFS_BLOCK_GROUP_SYSTEM != (1ULL << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_SYSTEM (1ULL << 1) #endif -#if !(defined(BTRFS_BLOCK_GROUP_METADATA) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_METADATA) && HAVE_DECL_BTRFS_BLOCK_GROUP_METADATA)) +#if defined(BTRFS_BLOCK_GROUP_METADATA) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_METADATA) && HAVE_DECL_BTRFS_BLOCK_GROUP_METADATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_METADATA) == ((1ULL << 2)), "BTRFS_BLOCK_GROUP_METADATA != (1ULL << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_METADATA (1ULL << 2) #endif -#if !(defined(BTRFS_BLOCK_GROUP_RAID0) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID0) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID0)) +#if defined(BTRFS_BLOCK_GROUP_RAID0) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID0) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_RAID0) == ((1ULL << 3)), "BTRFS_BLOCK_GROUP_RAID0 != (1ULL << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_RAID0 (1ULL << 3) #endif -#if !(defined(BTRFS_BLOCK_GROUP_RAID1) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID1) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID1)) +#if defined(BTRFS_BLOCK_GROUP_RAID1) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID1) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_RAID1) == ((1ULL << 4)), "BTRFS_BLOCK_GROUP_RAID1 != (1ULL << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_RAID1 (1ULL << 4) #endif -#if !(defined(BTRFS_BLOCK_GROUP_DUP) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_DUP) && HAVE_DECL_BTRFS_BLOCK_GROUP_DUP)) +#if defined(BTRFS_BLOCK_GROUP_DUP) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_DUP) && HAVE_DECL_BTRFS_BLOCK_GROUP_DUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_DUP) == ((1ULL << 5)), "BTRFS_BLOCK_GROUP_DUP != (1ULL << 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_DUP (1ULL << 5) #endif -#if !(defined(BTRFS_BLOCK_GROUP_RAID10) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID10) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID10)) +#if defined(BTRFS_BLOCK_GROUP_RAID10) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID10) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_RAID10) == ((1ULL << 6)), "BTRFS_BLOCK_GROUP_RAID10 != (1ULL << 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_RAID10 (1ULL << 6) #endif -#if !(defined(BTRFS_BLOCK_GROUP_RAID5) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID5) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID5)) +#if defined(BTRFS_BLOCK_GROUP_RAID5) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID5) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_RAID5) == ((1ULL << 7)), "BTRFS_BLOCK_GROUP_RAID5 != (1ULL << 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_RAID5 (1ULL << 7) #endif -#if !(defined(BTRFS_BLOCK_GROUP_RAID6) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID6) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID6)) +#if defined(BTRFS_BLOCK_GROUP_RAID6) || (defined(HAVE_DECL_BTRFS_BLOCK_GROUP_RAID6) && HAVE_DECL_BTRFS_BLOCK_GROUP_RAID6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_BLOCK_GROUP_RAID6) == ((1ULL << 8)), "BTRFS_BLOCK_GROUP_RAID6 != (1ULL << 8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_BLOCK_GROUP_RAID6 (1ULL << 8) #endif -#if !(defined(BTRFS_AVAIL_ALLOC_BIT_SINGLE) || (defined(HAVE_DECL_BTRFS_AVAIL_ALLOC_BIT_SINGLE) && HAVE_DECL_BTRFS_AVAIL_ALLOC_BIT_SINGLE)) +#if defined(BTRFS_AVAIL_ALLOC_BIT_SINGLE) || (defined(HAVE_DECL_BTRFS_AVAIL_ALLOC_BIT_SINGLE) && HAVE_DECL_BTRFS_AVAIL_ALLOC_BIT_SINGLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_AVAIL_ALLOC_BIT_SINGLE) == ((1ULL << 48)), "BTRFS_AVAIL_ALLOC_BIT_SINGLE != (1ULL << 48)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_AVAIL_ALLOC_BIT_SINGLE (1ULL << 48) #endif -#if !(defined(BTRFS_SPACE_INFO_GLOBAL_RSV) || (defined(HAVE_DECL_BTRFS_SPACE_INFO_GLOBAL_RSV) && HAVE_DECL_BTRFS_SPACE_INFO_GLOBAL_RSV)) +#if defined(BTRFS_SPACE_INFO_GLOBAL_RSV) || (defined(HAVE_DECL_BTRFS_SPACE_INFO_GLOBAL_RSV) && HAVE_DECL_BTRFS_SPACE_INFO_GLOBAL_RSV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_SPACE_INFO_GLOBAL_RSV) == ((1ULL << 49)), "BTRFS_SPACE_INFO_GLOBAL_RSV != (1ULL << 49)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_SPACE_INFO_GLOBAL_RSV (1ULL << 49) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_space_info_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_space_info_flags[] = { XLAT_TYPE(uint64_t, BTRFS_BLOCK_GROUP_DATA), XLAT_TYPE(uint64_t, BTRFS_BLOCK_GROUP_SYSTEM), @@ -57,4 +107,6 @@ const struct xlat btrfs_space_info_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/btrfs_tree_objectids.h b/xlat/btrfs_tree_objectids.h index f96ee7f0..5acf1096 100644 --- a/xlat/btrfs_tree_objectids.h +++ b/xlat/btrfs_tree_objectids.h @@ -1,53 +1,111 @@ /* Generated by ./xlat/gen.sh from ./xlat/btrfs_tree_objectids.in; do not edit. */ -#if !(defined(BTRFS_ROOT_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_ROOT_TREE_OBJECTID) && HAVE_DECL_BTRFS_ROOT_TREE_OBJECTID)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BTRFS_ROOT_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_ROOT_TREE_OBJECTID) && HAVE_DECL_BTRFS_ROOT_TREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_ROOT_TREE_OBJECTID) == (1ULL), "BTRFS_ROOT_TREE_OBJECTID != 1ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_ROOT_TREE_OBJECTID 1ULL #endif -#if !(defined(BTRFS_EXTENT_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_EXTENT_TREE_OBJECTID) && HAVE_DECL_BTRFS_EXTENT_TREE_OBJECTID)) +#if defined(BTRFS_EXTENT_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_EXTENT_TREE_OBJECTID) && HAVE_DECL_BTRFS_EXTENT_TREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_EXTENT_TREE_OBJECTID) == (2ULL), "BTRFS_EXTENT_TREE_OBJECTID != 2ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_EXTENT_TREE_OBJECTID 2ULL #endif -#if !(defined(BTRFS_CHUNK_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_CHUNK_TREE_OBJECTID) && HAVE_DECL_BTRFS_CHUNK_TREE_OBJECTID)) +#if defined(BTRFS_CHUNK_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_CHUNK_TREE_OBJECTID) && HAVE_DECL_BTRFS_CHUNK_TREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_CHUNK_TREE_OBJECTID) == (3ULL), "BTRFS_CHUNK_TREE_OBJECTID != 3ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_CHUNK_TREE_OBJECTID 3ULL #endif -#if !(defined(BTRFS_DEV_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_DEV_TREE_OBJECTID) && HAVE_DECL_BTRFS_DEV_TREE_OBJECTID)) +#if defined(BTRFS_DEV_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_DEV_TREE_OBJECTID) && HAVE_DECL_BTRFS_DEV_TREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_DEV_TREE_OBJECTID) == (4ULL), "BTRFS_DEV_TREE_OBJECTID != 4ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_DEV_TREE_OBJECTID 4ULL #endif -#if !(defined(BTRFS_FS_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_FS_TREE_OBJECTID) && HAVE_DECL_BTRFS_FS_TREE_OBJECTID)) +#if defined(BTRFS_FS_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_FS_TREE_OBJECTID) && HAVE_DECL_BTRFS_FS_TREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FS_TREE_OBJECTID) == (5ULL), "BTRFS_FS_TREE_OBJECTID != 5ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FS_TREE_OBJECTID 5ULL #endif -#if !(defined(BTRFS_ROOT_TREE_DIR_OBJECTID) || (defined(HAVE_DECL_BTRFS_ROOT_TREE_DIR_OBJECTID) && HAVE_DECL_BTRFS_ROOT_TREE_DIR_OBJECTID)) +#if defined(BTRFS_ROOT_TREE_DIR_OBJECTID) || (defined(HAVE_DECL_BTRFS_ROOT_TREE_DIR_OBJECTID) && HAVE_DECL_BTRFS_ROOT_TREE_DIR_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_ROOT_TREE_DIR_OBJECTID) == (6ULL), "BTRFS_ROOT_TREE_DIR_OBJECTID != 6ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_ROOT_TREE_DIR_OBJECTID 6ULL #endif -#if !(defined(BTRFS_CSUM_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_CSUM_TREE_OBJECTID) && HAVE_DECL_BTRFS_CSUM_TREE_OBJECTID)) +#if defined(BTRFS_CSUM_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_CSUM_TREE_OBJECTID) && HAVE_DECL_BTRFS_CSUM_TREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_CSUM_TREE_OBJECTID) == (7ULL), "BTRFS_CSUM_TREE_OBJECTID != 7ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_CSUM_TREE_OBJECTID 7ULL #endif -#if !(defined(BTRFS_QUOTA_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_QUOTA_TREE_OBJECTID) && HAVE_DECL_BTRFS_QUOTA_TREE_OBJECTID)) +#if defined(BTRFS_QUOTA_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_QUOTA_TREE_OBJECTID) && HAVE_DECL_BTRFS_QUOTA_TREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_QUOTA_TREE_OBJECTID) == (8ULL), "BTRFS_QUOTA_TREE_OBJECTID != 8ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_QUOTA_TREE_OBJECTID 8ULL #endif -#if !(defined(BTRFS_UUID_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_UUID_TREE_OBJECTID) && HAVE_DECL_BTRFS_UUID_TREE_OBJECTID)) +#if defined(BTRFS_UUID_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_UUID_TREE_OBJECTID) && HAVE_DECL_BTRFS_UUID_TREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_UUID_TREE_OBJECTID) == (9ULL), "BTRFS_UUID_TREE_OBJECTID != 9ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_UUID_TREE_OBJECTID 9ULL #endif -#if !(defined(BTRFS_FREE_SPACE_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_FREE_SPACE_TREE_OBJECTID) && HAVE_DECL_BTRFS_FREE_SPACE_TREE_OBJECTID)) +#if defined(BTRFS_FREE_SPACE_TREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_FREE_SPACE_TREE_OBJECTID) && HAVE_DECL_BTRFS_FREE_SPACE_TREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FREE_SPACE_TREE_OBJECTID) == (10ULL), "BTRFS_FREE_SPACE_TREE_OBJECTID != 10ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FREE_SPACE_TREE_OBJECTID 10ULL #endif -#if !(defined(BTRFS_FIRST_FREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_FIRST_FREE_OBJECTID) && HAVE_DECL_BTRFS_FIRST_FREE_OBJECTID)) +#if defined(BTRFS_FIRST_FREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_FIRST_FREE_OBJECTID) && HAVE_DECL_BTRFS_FIRST_FREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_FIRST_FREE_OBJECTID) == (256ULL), "BTRFS_FIRST_FREE_OBJECTID != 256ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_FIRST_FREE_OBJECTID 256ULL #endif -#if !(defined(BTRFS_LAST_FREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_LAST_FREE_OBJECTID) && HAVE_DECL_BTRFS_LAST_FREE_OBJECTID)) +#if defined(BTRFS_LAST_FREE_OBJECTID) || (defined(HAVE_DECL_BTRFS_LAST_FREE_OBJECTID) && HAVE_DECL_BTRFS_LAST_FREE_OBJECTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTRFS_LAST_FREE_OBJECTID) == (-256ULL), "BTRFS_LAST_FREE_OBJECTID != -256ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTRFS_LAST_FREE_OBJECTID -256ULL #endif -#if !(defined(UINT64_MAX) || (defined(HAVE_DECL_UINT64_MAX) && HAVE_DECL_UINT64_MAX)) +#if defined(UINT64_MAX) || (defined(HAVE_DECL_UINT64_MAX) && HAVE_DECL_UINT64_MAX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((UINT64_MAX) == (-1ULL), "UINT64_MAX != -1ULL"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define UINT64_MAX -1ULL #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat btrfs_tree_objectids[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat btrfs_tree_objectids[] = { XLAT_TYPE(uint64_t, BTRFS_ROOT_TREE_OBJECTID), XLAT_TYPE(uint64_t, BTRFS_EXTENT_TREE_OBJECTID), @@ -65,4 +123,6 @@ const struct xlat btrfs_tree_objectids[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/cacheflush_scope.h b/xlat/cacheflush_scope.h index 48597741..eac973e3 100644 --- a/xlat/cacheflush_scope.h +++ b/xlat/cacheflush_scope.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/cacheflush_scope.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat cacheflush_scope in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat cacheflush_scope in mpers mode + +# else static const struct xlat cacheflush_scope[] = { @@ -20,4 +26,6 @@ const struct xlat cacheflush_scope[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/caif_protocols.h b/xlat/caif_protocols.h new file mode 100644 index 00000000..5c193a12 --- /dev/null +++ b/xlat/caif_protocols.h @@ -0,0 +1,70 @@ +/* Generated by ./xlat/gen.sh from ./xlat/caif_protocols.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(CAIFPROTO_AT) || (defined(HAVE_DECL_CAIFPROTO_AT) && HAVE_DECL_CAIFPROTO_AT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAIFPROTO_AT) == (0), "CAIFPROTO_AT != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAIFPROTO_AT 0 +#endif +#if defined(CAIFPROTO_DATAGRAM) || (defined(HAVE_DECL_CAIFPROTO_DATAGRAM) && HAVE_DECL_CAIFPROTO_DATAGRAM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAIFPROTO_DATAGRAM) == (1), "CAIFPROTO_DATAGRAM != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAIFPROTO_DATAGRAM 1 +#endif +#if defined(CAIFPROTO_DATAGRAM_LOOP) || (defined(HAVE_DECL_CAIFPROTO_DATAGRAM_LOOP) && HAVE_DECL_CAIFPROTO_DATAGRAM_LOOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAIFPROTO_DATAGRAM_LOOP) == (2), "CAIFPROTO_DATAGRAM_LOOP != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAIFPROTO_DATAGRAM_LOOP 2 +#endif +#if defined(CAIFPROTO_UTIL) || (defined(HAVE_DECL_CAIFPROTO_UTIL) && HAVE_DECL_CAIFPROTO_UTIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAIFPROTO_UTIL) == (3), "CAIFPROTO_UTIL != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAIFPROTO_UTIL 3 +#endif +#if defined(CAIFPROTO_RFM) || (defined(HAVE_DECL_CAIFPROTO_RFM) && HAVE_DECL_CAIFPROTO_RFM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAIFPROTO_RFM) == (4), "CAIFPROTO_RFM != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAIFPROTO_RFM 4 +#endif +#if defined(CAIFPROTO_DEBUG) || (defined(HAVE_DECL_CAIFPROTO_DEBUG) && HAVE_DECL_CAIFPROTO_DEBUG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAIFPROTO_DEBUG) == (5), "CAIFPROTO_DEBUG != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAIFPROTO_DEBUG 5 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat caif_protocols in mpers mode + +# else + +static +const struct xlat caif_protocols[] = { + [CAIFPROTO_AT] = XLAT(CAIFPROTO_AT), + [CAIFPROTO_DATAGRAM] = XLAT(CAIFPROTO_DATAGRAM), + [CAIFPROTO_DATAGRAM_LOOP] = XLAT(CAIFPROTO_DATAGRAM_LOOP), + [CAIFPROTO_UTIL] = XLAT(CAIFPROTO_UTIL), + [CAIFPROTO_RFM] = XLAT(CAIFPROTO_RFM), + [CAIFPROTO_DEBUG] = XLAT(CAIFPROTO_DEBUG), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/caif_protocols.in b/xlat/caif_protocols.in new file mode 100644 index 00000000..76ba8960 --- /dev/null +++ b/xlat/caif_protocols.in @@ -0,0 +1,7 @@ +#value_indexed +CAIFPROTO_AT 0 +CAIFPROTO_DATAGRAM 1 +CAIFPROTO_DATAGRAM_LOOP 2 +CAIFPROTO_UTIL 3 +CAIFPROTO_RFM 4 +CAIFPROTO_DEBUG 5 diff --git a/xlat/can_protocols.h b/xlat/can_protocols.h new file mode 100644 index 00000000..3e207f7d --- /dev/null +++ b/xlat/can_protocols.h @@ -0,0 +1,70 @@ +/* Generated by ./xlat/gen.sh from ./xlat/can_protocols.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(CAN_RAW) || (defined(HAVE_DECL_CAN_RAW) && HAVE_DECL_CAN_RAW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAN_RAW) == (1), "CAN_RAW != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAN_RAW 1 +#endif +#if defined(CAN_BCM) || (defined(HAVE_DECL_CAN_BCM) && HAVE_DECL_CAN_BCM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAN_BCM) == (2), "CAN_BCM != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAN_BCM 2 +#endif +#if defined(CAN_TP16) || (defined(HAVE_DECL_CAN_TP16) && HAVE_DECL_CAN_TP16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAN_TP16) == (3), "CAN_TP16 != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAN_TP16 3 +#endif +#if defined(CAN_TP20) || (defined(HAVE_DECL_CAN_TP20) && HAVE_DECL_CAN_TP20) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAN_TP20) == (4), "CAN_TP20 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAN_TP20 4 +#endif +#if defined(CAN_MCNET) || (defined(HAVE_DECL_CAN_MCNET) && HAVE_DECL_CAN_MCNET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAN_MCNET) == (5), "CAN_MCNET != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAN_MCNET 5 +#endif +#if defined(CAN_ISOTP) || (defined(HAVE_DECL_CAN_ISOTP) && HAVE_DECL_CAN_ISOTP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAN_ISOTP) == (6), "CAN_ISOTP != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAN_ISOTP 6 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat can_protocols in mpers mode + +# else + +static +const struct xlat can_protocols[] = { + [CAN_RAW] = XLAT(CAN_RAW), + [CAN_BCM] = XLAT(CAN_BCM), + [CAN_TP16] = XLAT(CAN_TP16), + [CAN_TP20] = XLAT(CAN_TP20), + [CAN_MCNET] = XLAT(CAN_MCNET), + [CAN_ISOTP] = XLAT(CAN_ISOTP), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/can_protocols.in b/xlat/can_protocols.in new file mode 100644 index 00000000..f74caa73 --- /dev/null +++ b/xlat/can_protocols.in @@ -0,0 +1,7 @@ +#value_indexed +CAN_RAW 1 +CAN_BCM 2 +CAN_TP16 3 +CAN_TP20 4 +CAN_MCNET 5 +CAN_ISOTP 6 diff --git a/xlat/cap.h b/xlat/cap.h index fb50990e..c8205f70 100644 --- a/xlat/cap.h +++ b/xlat/cap.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/cap.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat cap in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat cap in mpers mode + +# else static const struct xlat cap[] = { @@ -49,4 +55,6 @@ const struct xlat cap[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/cap_mask0.h b/xlat/cap_mask0.h index 4402dc22..84d529f2 100644 --- a/xlat/cap_mask0.h +++ b/xlat/cap_mask0.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/cap_mask0.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat cap_mask0 in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat cap_mask0 in mpers mode + +# else static const struct xlat cap_mask0[] = { @@ -43,4 +49,6 @@ const struct xlat cap_mask0[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/cap_mask1.h b/xlat/cap_mask1.h index 074f5c62..c32c0196 100644 --- a/xlat/cap_mask1.h +++ b/xlat/cap_mask1.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/cap_mask1.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat cap_mask1 in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat cap_mask1 in mpers mode + +# else static const struct xlat cap_mask1[] = { @@ -17,4 +23,6 @@ const struct xlat cap_mask1[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/cap_version.h b/xlat/cap_version.h index 35c9189c..69ca874a 100644 --- a/xlat/cap_version.h +++ b/xlat/cap_version.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/cap_version.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat cap_version in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat cap_version in mpers mode + +# else static const struct xlat cap_version[] = { @@ -14,4 +20,6 @@ const struct xlat cap_version[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/clockflags.h b/xlat/clockflags.h index d24419d3..4f343a1c 100644 --- a/xlat/clockflags.h +++ b/xlat/clockflags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/clockflags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat clockflags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat clockflags in mpers mode + +# else static const struct xlat clockflags[] = { @@ -14,4 +20,6 @@ const struct xlat clockflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/clocknames.h b/xlat/clocknames.h index da082e80..a2932f91 100644 --- a/xlat/clocknames.h +++ b/xlat/clocknames.h @@ -1,57 +1,113 @@ /* Generated by ./xlat/gen.sh from ./xlat/clocknames.in; do not edit. */ -#if !(defined(CLOCK_REALTIME) || (defined(HAVE_DECL_CLOCK_REALTIME) && HAVE_DECL_CLOCK_REALTIME)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(CLOCK_REALTIME) || (defined(HAVE_DECL_CLOCK_REALTIME) && HAVE_DECL_CLOCK_REALTIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_REALTIME) == (0), "CLOCK_REALTIME != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_REALTIME 0 #endif -#if !(defined(CLOCK_MONOTONIC) || (defined(HAVE_DECL_CLOCK_MONOTONIC) && HAVE_DECL_CLOCK_MONOTONIC)) +#if defined(CLOCK_MONOTONIC) || (defined(HAVE_DECL_CLOCK_MONOTONIC) && HAVE_DECL_CLOCK_MONOTONIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_MONOTONIC) == (1), "CLOCK_MONOTONIC != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_MONOTONIC 1 #endif -#if !(defined(CLOCK_PROCESS_CPUTIME_ID) || (defined(HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID) && HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID)) +#if defined(CLOCK_PROCESS_CPUTIME_ID) || (defined(HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID) && HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_PROCESS_CPUTIME_ID) == (2), "CLOCK_PROCESS_CPUTIME_ID != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_PROCESS_CPUTIME_ID 2 #endif -#if !(defined(CLOCK_THREAD_CPUTIME_ID) || (defined(HAVE_DECL_CLOCK_THREAD_CPUTIME_ID) && HAVE_DECL_CLOCK_THREAD_CPUTIME_ID)) +#if defined(CLOCK_THREAD_CPUTIME_ID) || (defined(HAVE_DECL_CLOCK_THREAD_CPUTIME_ID) && HAVE_DECL_CLOCK_THREAD_CPUTIME_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_THREAD_CPUTIME_ID) == (3), "CLOCK_THREAD_CPUTIME_ID != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_THREAD_CPUTIME_ID 3 #endif -#if !(defined(CLOCK_MONOTONIC_RAW) || (defined(HAVE_DECL_CLOCK_MONOTONIC_RAW) && HAVE_DECL_CLOCK_MONOTONIC_RAW)) +#if defined(CLOCK_MONOTONIC_RAW) || (defined(HAVE_DECL_CLOCK_MONOTONIC_RAW) && HAVE_DECL_CLOCK_MONOTONIC_RAW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_MONOTONIC_RAW) == (4), "CLOCK_MONOTONIC_RAW != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_MONOTONIC_RAW 4 #endif -#if !(defined(CLOCK_REALTIME_COARSE) || (defined(HAVE_DECL_CLOCK_REALTIME_COARSE) && HAVE_DECL_CLOCK_REALTIME_COARSE)) +#if defined(CLOCK_REALTIME_COARSE) || (defined(HAVE_DECL_CLOCK_REALTIME_COARSE) && HAVE_DECL_CLOCK_REALTIME_COARSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_REALTIME_COARSE) == (5), "CLOCK_REALTIME_COARSE != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_REALTIME_COARSE 5 #endif -#if !(defined(CLOCK_MONOTONIC_COARSE) || (defined(HAVE_DECL_CLOCK_MONOTONIC_COARSE) && HAVE_DECL_CLOCK_MONOTONIC_COARSE)) +#if defined(CLOCK_MONOTONIC_COARSE) || (defined(HAVE_DECL_CLOCK_MONOTONIC_COARSE) && HAVE_DECL_CLOCK_MONOTONIC_COARSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_MONOTONIC_COARSE) == (6), "CLOCK_MONOTONIC_COARSE != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_MONOTONIC_COARSE 6 #endif -#if !(defined(CLOCK_BOOTTIME) || (defined(HAVE_DECL_CLOCK_BOOTTIME) && HAVE_DECL_CLOCK_BOOTTIME)) +#if defined(CLOCK_BOOTTIME) || (defined(HAVE_DECL_CLOCK_BOOTTIME) && HAVE_DECL_CLOCK_BOOTTIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_BOOTTIME) == (7), "CLOCK_BOOTTIME != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_BOOTTIME 7 #endif -#if !(defined(CLOCK_REALTIME_ALARM) || (defined(HAVE_DECL_CLOCK_REALTIME_ALARM) && HAVE_DECL_CLOCK_REALTIME_ALARM)) +#if defined(CLOCK_REALTIME_ALARM) || (defined(HAVE_DECL_CLOCK_REALTIME_ALARM) && HAVE_DECL_CLOCK_REALTIME_ALARM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_REALTIME_ALARM) == (8), "CLOCK_REALTIME_ALARM != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_REALTIME_ALARM 8 #endif -#if !(defined(CLOCK_BOOTTIME_ALARM) || (defined(HAVE_DECL_CLOCK_BOOTTIME_ALARM) && HAVE_DECL_CLOCK_BOOTTIME_ALARM)) +#if defined(CLOCK_BOOTTIME_ALARM) || (defined(HAVE_DECL_CLOCK_BOOTTIME_ALARM) && HAVE_DECL_CLOCK_BOOTTIME_ALARM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_BOOTTIME_ALARM) == (9), "CLOCK_BOOTTIME_ALARM != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_BOOTTIME_ALARM 9 #endif -#if !(defined(CLOCK_SGI_CYCLE) || (defined(HAVE_DECL_CLOCK_SGI_CYCLE) && HAVE_DECL_CLOCK_SGI_CYCLE)) +#if defined(CLOCK_SGI_CYCLE) || (defined(HAVE_DECL_CLOCK_SGI_CYCLE) && HAVE_DECL_CLOCK_SGI_CYCLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_SGI_CYCLE) == (10), "CLOCK_SGI_CYCLE != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_SGI_CYCLE 10 #endif -#if !(defined(CLOCK_TAI) || (defined(HAVE_DECL_CLOCK_TAI) && HAVE_DECL_CLOCK_TAI)) +#if defined(CLOCK_TAI) || (defined(HAVE_DECL_CLOCK_TAI) && HAVE_DECL_CLOCK_TAI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLOCK_TAI) == (11), "CLOCK_TAI != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLOCK_TAI 11 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat clocknames[] = { - XLAT(CLOCK_REALTIME), - XLAT(CLOCK_MONOTONIC), - XLAT(CLOCK_PROCESS_CPUTIME_ID), - XLAT(CLOCK_THREAD_CPUTIME_ID), - XLAT(CLOCK_MONOTONIC_RAW), - XLAT(CLOCK_REALTIME_COARSE), - XLAT(CLOCK_MONOTONIC_COARSE), - XLAT(CLOCK_BOOTTIME), - XLAT(CLOCK_REALTIME_ALARM), - XLAT(CLOCK_BOOTTIME_ALARM), - XLAT(CLOCK_SGI_CYCLE), - XLAT(CLOCK_TAI), + [CLOCK_REALTIME] = XLAT(CLOCK_REALTIME), + [CLOCK_MONOTONIC] = XLAT(CLOCK_MONOTONIC), + [CLOCK_PROCESS_CPUTIME_ID] = XLAT(CLOCK_PROCESS_CPUTIME_ID), + [CLOCK_THREAD_CPUTIME_ID] = XLAT(CLOCK_THREAD_CPUTIME_ID), + [CLOCK_MONOTONIC_RAW] = XLAT(CLOCK_MONOTONIC_RAW), + [CLOCK_REALTIME_COARSE] = XLAT(CLOCK_REALTIME_COARSE), + [CLOCK_MONOTONIC_COARSE] = XLAT(CLOCK_MONOTONIC_COARSE), + [CLOCK_BOOTTIME] = XLAT(CLOCK_BOOTTIME), + [CLOCK_REALTIME_ALARM] = XLAT(CLOCK_REALTIME_ALARM), + [CLOCK_BOOTTIME_ALARM] = XLAT(CLOCK_BOOTTIME_ALARM), + [CLOCK_SGI_CYCLE] = XLAT(CLOCK_SGI_CYCLE), + [CLOCK_TAI] = XLAT(CLOCK_TAI), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/clocknames.in b/xlat/clocknames.in index 1d0d3727..207ade8e 100644 --- a/xlat/clocknames.in +++ b/xlat/clocknames.in @@ -1,3 +1,4 @@ +#value_indexed CLOCK_REALTIME 0 CLOCK_MONOTONIC 1 CLOCK_PROCESS_CPUTIME_ID 2 diff --git a/xlat/clone_flags.h b/xlat/clone_flags.h index a7e4c4bd..d2d939fd 100644 --- a/xlat/clone_flags.h +++ b/xlat/clone_flags.h @@ -1,79 +1,177 @@ /* Generated by ./xlat/gen.sh from ./xlat/clone_flags.in; do not edit. */ -#if !(defined(CLONE_VM) || (defined(HAVE_DECL_CLONE_VM) && HAVE_DECL_CLONE_VM)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(CLONE_VM) || (defined(HAVE_DECL_CLONE_VM) && HAVE_DECL_CLONE_VM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_VM) == (0x00000100), "CLONE_VM != 0x00000100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_VM 0x00000100 #endif -#if !(defined(CLONE_FS) || (defined(HAVE_DECL_CLONE_FS) && HAVE_DECL_CLONE_FS)) +#if defined(CLONE_FS) || (defined(HAVE_DECL_CLONE_FS) && HAVE_DECL_CLONE_FS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_FS) == (0x00000200), "CLONE_FS != 0x00000200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_FS 0x00000200 #endif -#if !(defined(CLONE_FILES) || (defined(HAVE_DECL_CLONE_FILES) && HAVE_DECL_CLONE_FILES)) +#if defined(CLONE_FILES) || (defined(HAVE_DECL_CLONE_FILES) && HAVE_DECL_CLONE_FILES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_FILES) == (0x00000400), "CLONE_FILES != 0x00000400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_FILES 0x00000400 #endif -#if !(defined(CLONE_SIGHAND) || (defined(HAVE_DECL_CLONE_SIGHAND) && HAVE_DECL_CLONE_SIGHAND)) +#if defined(CLONE_SIGHAND) || (defined(HAVE_DECL_CLONE_SIGHAND) && HAVE_DECL_CLONE_SIGHAND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_SIGHAND) == (0x00000800), "CLONE_SIGHAND != 0x00000800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_SIGHAND 0x00000800 #endif -#if !(defined(CLONE_IDLETASK) || (defined(HAVE_DECL_CLONE_IDLETASK) && HAVE_DECL_CLONE_IDLETASK)) +#if defined(CLONE_IDLETASK) || (defined(HAVE_DECL_CLONE_IDLETASK) && HAVE_DECL_CLONE_IDLETASK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_IDLETASK) == (0x00001000), "CLONE_IDLETASK != 0x00001000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_IDLETASK 0x00001000 #endif -#if !(defined(CLONE_PTRACE) || (defined(HAVE_DECL_CLONE_PTRACE) && HAVE_DECL_CLONE_PTRACE)) +#if defined(CLONE_PTRACE) || (defined(HAVE_DECL_CLONE_PTRACE) && HAVE_DECL_CLONE_PTRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_PTRACE) == (0x00002000), "CLONE_PTRACE != 0x00002000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_PTRACE 0x00002000 #endif -#if !(defined(CLONE_VFORK) || (defined(HAVE_DECL_CLONE_VFORK) && HAVE_DECL_CLONE_VFORK)) +#if defined(CLONE_VFORK) || (defined(HAVE_DECL_CLONE_VFORK) && HAVE_DECL_CLONE_VFORK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_VFORK) == (0x00004000), "CLONE_VFORK != 0x00004000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_VFORK 0x00004000 #endif -#if !(defined(CLONE_PARENT) || (defined(HAVE_DECL_CLONE_PARENT) && HAVE_DECL_CLONE_PARENT)) +#if defined(CLONE_PARENT) || (defined(HAVE_DECL_CLONE_PARENT) && HAVE_DECL_CLONE_PARENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_PARENT) == (0x00008000), "CLONE_PARENT != 0x00008000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_PARENT 0x00008000 #endif -#if !(defined(CLONE_THREAD) || (defined(HAVE_DECL_CLONE_THREAD) && HAVE_DECL_CLONE_THREAD)) +#if defined(CLONE_THREAD) || (defined(HAVE_DECL_CLONE_THREAD) && HAVE_DECL_CLONE_THREAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_THREAD) == (0x00010000), "CLONE_THREAD != 0x00010000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_THREAD 0x00010000 #endif -#if !(defined(CLONE_NEWNS) || (defined(HAVE_DECL_CLONE_NEWNS) && HAVE_DECL_CLONE_NEWNS)) +#if defined(CLONE_NEWNS) || (defined(HAVE_DECL_CLONE_NEWNS) && HAVE_DECL_CLONE_NEWNS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWNS) == (0x00020000), "CLONE_NEWNS != 0x00020000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWNS 0x00020000 #endif -#if !(defined(CLONE_SYSVSEM) || (defined(HAVE_DECL_CLONE_SYSVSEM) && HAVE_DECL_CLONE_SYSVSEM)) +#if defined(CLONE_SYSVSEM) || (defined(HAVE_DECL_CLONE_SYSVSEM) && HAVE_DECL_CLONE_SYSVSEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_SYSVSEM) == (0x00040000), "CLONE_SYSVSEM != 0x00040000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_SYSVSEM 0x00040000 #endif -#if !(defined(CLONE_SETTLS) || (defined(HAVE_DECL_CLONE_SETTLS) && HAVE_DECL_CLONE_SETTLS)) +#if defined(CLONE_SETTLS) || (defined(HAVE_DECL_CLONE_SETTLS) && HAVE_DECL_CLONE_SETTLS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_SETTLS) == (0x00080000), "CLONE_SETTLS != 0x00080000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_SETTLS 0x00080000 #endif -#if !(defined(CLONE_PARENT_SETTID) || (defined(HAVE_DECL_CLONE_PARENT_SETTID) && HAVE_DECL_CLONE_PARENT_SETTID)) +#if defined(CLONE_PARENT_SETTID) || (defined(HAVE_DECL_CLONE_PARENT_SETTID) && HAVE_DECL_CLONE_PARENT_SETTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_PARENT_SETTID) == (0x00100000), "CLONE_PARENT_SETTID != 0x00100000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_PARENT_SETTID 0x00100000 #endif -#if !(defined(CLONE_CHILD_CLEARTID) || (defined(HAVE_DECL_CLONE_CHILD_CLEARTID) && HAVE_DECL_CLONE_CHILD_CLEARTID)) +#if defined(CLONE_CHILD_CLEARTID) || (defined(HAVE_DECL_CLONE_CHILD_CLEARTID) && HAVE_DECL_CLONE_CHILD_CLEARTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_CHILD_CLEARTID) == (0x00200000), "CLONE_CHILD_CLEARTID != 0x00200000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_CHILD_CLEARTID 0x00200000 #endif -#if !(defined(CLONE_UNTRACED) || (defined(HAVE_DECL_CLONE_UNTRACED) && HAVE_DECL_CLONE_UNTRACED)) +#if defined(CLONE_UNTRACED) || (defined(HAVE_DECL_CLONE_UNTRACED) && HAVE_DECL_CLONE_UNTRACED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_UNTRACED) == (0x00800000), "CLONE_UNTRACED != 0x00800000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_UNTRACED 0x00800000 #endif -#if !(defined(CLONE_CHILD_SETTID) || (defined(HAVE_DECL_CLONE_CHILD_SETTID) && HAVE_DECL_CLONE_CHILD_SETTID)) +#if defined(CLONE_CHILD_SETTID) || (defined(HAVE_DECL_CLONE_CHILD_SETTID) && HAVE_DECL_CLONE_CHILD_SETTID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_CHILD_SETTID) == (0x01000000), "CLONE_CHILD_SETTID != 0x01000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_CHILD_SETTID 0x01000000 #endif -#if !(defined(CLONE_NEWCGROUP) || (defined(HAVE_DECL_CLONE_NEWCGROUP) && HAVE_DECL_CLONE_NEWCGROUP)) +#if defined(CLONE_NEWCGROUP) || (defined(HAVE_DECL_CLONE_NEWCGROUP) && HAVE_DECL_CLONE_NEWCGROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWCGROUP) == (0x02000000), "CLONE_NEWCGROUP != 0x02000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWCGROUP 0x02000000 #endif -#if !(defined(CLONE_NEWUTS) || (defined(HAVE_DECL_CLONE_NEWUTS) && HAVE_DECL_CLONE_NEWUTS)) +#if defined(CLONE_NEWUTS) || (defined(HAVE_DECL_CLONE_NEWUTS) && HAVE_DECL_CLONE_NEWUTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWUTS) == (0x04000000), "CLONE_NEWUTS != 0x04000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWUTS 0x04000000 #endif -#if !(defined(CLONE_NEWIPC) || (defined(HAVE_DECL_CLONE_NEWIPC) && HAVE_DECL_CLONE_NEWIPC)) +#if defined(CLONE_NEWIPC) || (defined(HAVE_DECL_CLONE_NEWIPC) && HAVE_DECL_CLONE_NEWIPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWIPC) == (0x08000000), "CLONE_NEWIPC != 0x08000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWIPC 0x08000000 #endif -#if !(defined(CLONE_NEWUSER) || (defined(HAVE_DECL_CLONE_NEWUSER) && HAVE_DECL_CLONE_NEWUSER)) +#if defined(CLONE_NEWUSER) || (defined(HAVE_DECL_CLONE_NEWUSER) && HAVE_DECL_CLONE_NEWUSER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWUSER) == (0x10000000), "CLONE_NEWUSER != 0x10000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWUSER 0x10000000 #endif -#if !(defined(CLONE_NEWPID) || (defined(HAVE_DECL_CLONE_NEWPID) && HAVE_DECL_CLONE_NEWPID)) +#if defined(CLONE_NEWPID) || (defined(HAVE_DECL_CLONE_NEWPID) && HAVE_DECL_CLONE_NEWPID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWPID) == (0x20000000), "CLONE_NEWPID != 0x20000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWPID 0x20000000 #endif -#if !(defined(CLONE_NEWNET) || (defined(HAVE_DECL_CLONE_NEWNET) && HAVE_DECL_CLONE_NEWNET)) +#if defined(CLONE_NEWNET) || (defined(HAVE_DECL_CLONE_NEWNET) && HAVE_DECL_CLONE_NEWNET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWNET) == (0x40000000), "CLONE_NEWNET != 0x40000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWNET 0x40000000 #endif -#if !(defined(CLONE_IO) || (defined(HAVE_DECL_CLONE_IO) && HAVE_DECL_CLONE_IO)) +#if defined(CLONE_IO) || (defined(HAVE_DECL_CLONE_IO) && HAVE_DECL_CLONE_IO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_IO) == (0x80000000), "CLONE_IO != 0x80000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_IO 0x80000000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat clone_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat clone_flags in mpers mode + +# else static const struct xlat clone_flags[] = { @@ -103,4 +201,6 @@ const struct xlat clone_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/cpuclocknames.h b/xlat/cpuclocknames.h index 89751590..93331c93 100644 --- a/xlat/cpuclocknames.h +++ b/xlat/cpuclocknames.h @@ -1,23 +1,46 @@ /* Generated by ./xlat/gen.sh from ./xlat/cpuclocknames.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat cpuclocknames in mpers mode - -#else - -static -const struct xlat cpuclocknames[] = { #if defined(CPUCLOCK_PROF) || (defined(HAVE_DECL_CPUCLOCK_PROF) && HAVE_DECL_CPUCLOCK_PROF) - XLAT(CPUCLOCK_PROF), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CPUCLOCK_PROF) == (0), "CPUCLOCK_PROF != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CPUCLOCK_PROF 0 #endif #if defined(CPUCLOCK_VIRT) || (defined(HAVE_DECL_CPUCLOCK_VIRT) && HAVE_DECL_CPUCLOCK_VIRT) - XLAT(CPUCLOCK_VIRT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CPUCLOCK_VIRT) == (1), "CPUCLOCK_VIRT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CPUCLOCK_VIRT 1 #endif #if defined(CPUCLOCK_SCHED) || (defined(HAVE_DECL_CPUCLOCK_SCHED) && HAVE_DECL_CPUCLOCK_SCHED) - XLAT(CPUCLOCK_SCHED), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CPUCLOCK_SCHED) == (2), "CPUCLOCK_SCHED != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CPUCLOCK_SCHED 2 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat cpuclocknames in mpers mode + +# else + +static +const struct xlat cpuclocknames[] = { + [CPUCLOCK_PROF] = XLAT(CPUCLOCK_PROF), + [CPUCLOCK_VIRT] = XLAT(CPUCLOCK_VIRT), + [CPUCLOCK_SCHED] = XLAT(CPUCLOCK_SCHED), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/cpuclocknames.in b/xlat/cpuclocknames.in index e61fa8f6..b7b9a828 100644 --- a/xlat/cpuclocknames.in +++ b/xlat/cpuclocknames.in @@ -1,3 +1,4 @@ -CPUCLOCK_PROF -CPUCLOCK_VIRT -CPUCLOCK_SCHED +#value_indexed +CPUCLOCK_PROF 0 +CPUCLOCK_VIRT 1 +CPUCLOCK_SCHED 2 diff --git a/xlat/crypto_nl_attrs.h b/xlat/crypto_nl_attrs.h index aebd38a5..46fbcb8e 100644 --- a/xlat/crypto_nl_attrs.h +++ b/xlat/crypto_nl_attrs.h @@ -1,46 +1,100 @@ /* Generated by ./xlat/gen.sh from ./xlat/crypto_nl_attrs.in; do not edit. */ -#if !(defined(CRYPTOCFGA_UNSPEC) || (defined(HAVE_DECL_CRYPTOCFGA_UNSPEC) && HAVE_DECL_CRYPTOCFGA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(CRYPTOCFGA_UNSPEC) || (defined(HAVE_DECL_CRYPTOCFGA_UNSPEC) && HAVE_DECL_CRYPTOCFGA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_UNSPEC) == (0), "CRYPTOCFGA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_UNSPEC 0 #endif -#if !(defined(CRYPTOCFGA_PRIORITY_VAL) || (defined(HAVE_DECL_CRYPTOCFGA_PRIORITY_VAL) && HAVE_DECL_CRYPTOCFGA_PRIORITY_VAL)) +#if defined(CRYPTOCFGA_PRIORITY_VAL) || (defined(HAVE_DECL_CRYPTOCFGA_PRIORITY_VAL) && HAVE_DECL_CRYPTOCFGA_PRIORITY_VAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_PRIORITY_VAL) == (1), "CRYPTOCFGA_PRIORITY_VAL != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_PRIORITY_VAL 1 #endif -#if !(defined(CRYPTOCFGA_REPORT_LARVAL) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_LARVAL) && HAVE_DECL_CRYPTOCFGA_REPORT_LARVAL)) +#if defined(CRYPTOCFGA_REPORT_LARVAL) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_LARVAL) && HAVE_DECL_CRYPTOCFGA_REPORT_LARVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_LARVAL) == (2), "CRYPTOCFGA_REPORT_LARVAL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_LARVAL 2 #endif -#if !(defined(CRYPTOCFGA_REPORT_HASH) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_HASH) && HAVE_DECL_CRYPTOCFGA_REPORT_HASH)) +#if defined(CRYPTOCFGA_REPORT_HASH) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_HASH) && HAVE_DECL_CRYPTOCFGA_REPORT_HASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_HASH) == (3), "CRYPTOCFGA_REPORT_HASH != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_HASH 3 #endif -#if !(defined(CRYPTOCFGA_REPORT_BLKCIPHER) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_BLKCIPHER) && HAVE_DECL_CRYPTOCFGA_REPORT_BLKCIPHER)) +#if defined(CRYPTOCFGA_REPORT_BLKCIPHER) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_BLKCIPHER) && HAVE_DECL_CRYPTOCFGA_REPORT_BLKCIPHER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_BLKCIPHER) == (4), "CRYPTOCFGA_REPORT_BLKCIPHER != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_BLKCIPHER 4 #endif -#if !(defined(CRYPTOCFGA_REPORT_AEAD) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_AEAD) && HAVE_DECL_CRYPTOCFGA_REPORT_AEAD)) +#if defined(CRYPTOCFGA_REPORT_AEAD) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_AEAD) && HAVE_DECL_CRYPTOCFGA_REPORT_AEAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_AEAD) == (5), "CRYPTOCFGA_REPORT_AEAD != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_AEAD 5 #endif -#if !(defined(CRYPTOCFGA_REPORT_COMPRESS) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_COMPRESS) && HAVE_DECL_CRYPTOCFGA_REPORT_COMPRESS)) +#if defined(CRYPTOCFGA_REPORT_COMPRESS) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_COMPRESS) && HAVE_DECL_CRYPTOCFGA_REPORT_COMPRESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_COMPRESS) == (6), "CRYPTOCFGA_REPORT_COMPRESS != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_COMPRESS 6 #endif -#if !(defined(CRYPTOCFGA_REPORT_RNG) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_RNG) && HAVE_DECL_CRYPTOCFGA_REPORT_RNG)) +#if defined(CRYPTOCFGA_REPORT_RNG) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_RNG) && HAVE_DECL_CRYPTOCFGA_REPORT_RNG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_RNG) == (7), "CRYPTOCFGA_REPORT_RNG != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_RNG 7 #endif -#if !(defined(CRYPTOCFGA_REPORT_CIPHER) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_CIPHER) && HAVE_DECL_CRYPTOCFGA_REPORT_CIPHER)) +#if defined(CRYPTOCFGA_REPORT_CIPHER) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_CIPHER) && HAVE_DECL_CRYPTOCFGA_REPORT_CIPHER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_CIPHER) == (8), "CRYPTOCFGA_REPORT_CIPHER != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_CIPHER 8 #endif -#if !(defined(CRYPTOCFGA_REPORT_AKCIPHER) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_AKCIPHER) && HAVE_DECL_CRYPTOCFGA_REPORT_AKCIPHER)) +#if defined(CRYPTOCFGA_REPORT_AKCIPHER) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_AKCIPHER) && HAVE_DECL_CRYPTOCFGA_REPORT_AKCIPHER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_AKCIPHER) == (9), "CRYPTOCFGA_REPORT_AKCIPHER != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_AKCIPHER 9 #endif -#if !(defined(CRYPTOCFGA_REPORT_KPP) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_KPP) && HAVE_DECL_CRYPTOCFGA_REPORT_KPP)) +#if defined(CRYPTOCFGA_REPORT_KPP) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_KPP) && HAVE_DECL_CRYPTOCFGA_REPORT_KPP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_KPP) == (10), "CRYPTOCFGA_REPORT_KPP != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_KPP 10 #endif -#if !(defined(CRYPTOCFGA_REPORT_ACOMP) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_ACOMP) && HAVE_DECL_CRYPTOCFGA_REPORT_ACOMP)) +#if defined(CRYPTOCFGA_REPORT_ACOMP) || (defined(HAVE_DECL_CRYPTOCFGA_REPORT_ACOMP) && HAVE_DECL_CRYPTOCFGA_REPORT_ACOMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTOCFGA_REPORT_ACOMP) == (11), "CRYPTOCFGA_REPORT_ACOMP != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTOCFGA_REPORT_ACOMP 11 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat crypto_nl_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat crypto_nl_attrs in mpers mode + +# else static const struct xlat crypto_nl_attrs[] = { @@ -59,4 +113,6 @@ const struct xlat crypto_nl_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/dcb_commands.h b/xlat/dcb_commands.h index a6fe22cf..768dbc13 100644 --- a/xlat/dcb_commands.h +++ b/xlat/dcb_commands.h @@ -1,94 +1,212 @@ /* Generated by ./xlat/gen.sh from ./xlat/dcb_commands.in; do not edit. */ -#if !(defined(DCB_CMD_UNDEFINED) || (defined(HAVE_DECL_DCB_CMD_UNDEFINED) && HAVE_DECL_DCB_CMD_UNDEFINED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(DCB_CMD_UNDEFINED) || (defined(HAVE_DECL_DCB_CMD_UNDEFINED) && HAVE_DECL_DCB_CMD_UNDEFINED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_UNDEFINED) == (0), "DCB_CMD_UNDEFINED != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_UNDEFINED 0 #endif -#if !(defined(DCB_CMD_GSTATE) || (defined(HAVE_DECL_DCB_CMD_GSTATE) && HAVE_DECL_DCB_CMD_GSTATE)) +#if defined(DCB_CMD_GSTATE) || (defined(HAVE_DECL_DCB_CMD_GSTATE) && HAVE_DECL_DCB_CMD_GSTATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_GSTATE) == (1), "DCB_CMD_GSTATE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_GSTATE 1 #endif -#if !(defined(DCB_CMD_SSTATE) || (defined(HAVE_DECL_DCB_CMD_SSTATE) && HAVE_DECL_DCB_CMD_SSTATE)) +#if defined(DCB_CMD_SSTATE) || (defined(HAVE_DECL_DCB_CMD_SSTATE) && HAVE_DECL_DCB_CMD_SSTATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_SSTATE) == (2), "DCB_CMD_SSTATE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_SSTATE 2 #endif -#if !(defined(DCB_CMD_PGTX_GCFG) || (defined(HAVE_DECL_DCB_CMD_PGTX_GCFG) && HAVE_DECL_DCB_CMD_PGTX_GCFG)) +#if defined(DCB_CMD_PGTX_GCFG) || (defined(HAVE_DECL_DCB_CMD_PGTX_GCFG) && HAVE_DECL_DCB_CMD_PGTX_GCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_PGTX_GCFG) == (3), "DCB_CMD_PGTX_GCFG != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_PGTX_GCFG 3 #endif -#if !(defined(DCB_CMD_PGTX_SCFG) || (defined(HAVE_DECL_DCB_CMD_PGTX_SCFG) && HAVE_DECL_DCB_CMD_PGTX_SCFG)) +#if defined(DCB_CMD_PGTX_SCFG) || (defined(HAVE_DECL_DCB_CMD_PGTX_SCFG) && HAVE_DECL_DCB_CMD_PGTX_SCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_PGTX_SCFG) == (4), "DCB_CMD_PGTX_SCFG != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_PGTX_SCFG 4 #endif -#if !(defined(DCB_CMD_PGRX_GCFG) || (defined(HAVE_DECL_DCB_CMD_PGRX_GCFG) && HAVE_DECL_DCB_CMD_PGRX_GCFG)) +#if defined(DCB_CMD_PGRX_GCFG) || (defined(HAVE_DECL_DCB_CMD_PGRX_GCFG) && HAVE_DECL_DCB_CMD_PGRX_GCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_PGRX_GCFG) == (5), "DCB_CMD_PGRX_GCFG != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_PGRX_GCFG 5 #endif -#if !(defined(DCB_CMD_PGRX_SCFG) || (defined(HAVE_DECL_DCB_CMD_PGRX_SCFG) && HAVE_DECL_DCB_CMD_PGRX_SCFG)) +#if defined(DCB_CMD_PGRX_SCFG) || (defined(HAVE_DECL_DCB_CMD_PGRX_SCFG) && HAVE_DECL_DCB_CMD_PGRX_SCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_PGRX_SCFG) == (6), "DCB_CMD_PGRX_SCFG != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_PGRX_SCFG 6 #endif -#if !(defined(DCB_CMD_PFC_GCFG) || (defined(HAVE_DECL_DCB_CMD_PFC_GCFG) && HAVE_DECL_DCB_CMD_PFC_GCFG)) +#if defined(DCB_CMD_PFC_GCFG) || (defined(HAVE_DECL_DCB_CMD_PFC_GCFG) && HAVE_DECL_DCB_CMD_PFC_GCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_PFC_GCFG) == (7), "DCB_CMD_PFC_GCFG != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_PFC_GCFG 7 #endif -#if !(defined(DCB_CMD_PFC_SCFG) || (defined(HAVE_DECL_DCB_CMD_PFC_SCFG) && HAVE_DECL_DCB_CMD_PFC_SCFG)) +#if defined(DCB_CMD_PFC_SCFG) || (defined(HAVE_DECL_DCB_CMD_PFC_SCFG) && HAVE_DECL_DCB_CMD_PFC_SCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_PFC_SCFG) == (8), "DCB_CMD_PFC_SCFG != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_PFC_SCFG 8 #endif -#if !(defined(DCB_CMD_SET_ALL) || (defined(HAVE_DECL_DCB_CMD_SET_ALL) && HAVE_DECL_DCB_CMD_SET_ALL)) +#if defined(DCB_CMD_SET_ALL) || (defined(HAVE_DECL_DCB_CMD_SET_ALL) && HAVE_DECL_DCB_CMD_SET_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_SET_ALL) == (9), "DCB_CMD_SET_ALL != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_SET_ALL 9 #endif -#if !(defined(DCB_CMD_GPERM_HWADDR) || (defined(HAVE_DECL_DCB_CMD_GPERM_HWADDR) && HAVE_DECL_DCB_CMD_GPERM_HWADDR)) +#if defined(DCB_CMD_GPERM_HWADDR) || (defined(HAVE_DECL_DCB_CMD_GPERM_HWADDR) && HAVE_DECL_DCB_CMD_GPERM_HWADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_GPERM_HWADDR) == (10), "DCB_CMD_GPERM_HWADDR != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_GPERM_HWADDR 10 #endif -#if !(defined(DCB_CMD_GCAP) || (defined(HAVE_DECL_DCB_CMD_GCAP) && HAVE_DECL_DCB_CMD_GCAP)) +#if defined(DCB_CMD_GCAP) || (defined(HAVE_DECL_DCB_CMD_GCAP) && HAVE_DECL_DCB_CMD_GCAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_GCAP) == (11), "DCB_CMD_GCAP != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_GCAP 11 #endif -#if !(defined(DCB_CMD_GNUMTCS) || (defined(HAVE_DECL_DCB_CMD_GNUMTCS) && HAVE_DECL_DCB_CMD_GNUMTCS)) +#if defined(DCB_CMD_GNUMTCS) || (defined(HAVE_DECL_DCB_CMD_GNUMTCS) && HAVE_DECL_DCB_CMD_GNUMTCS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_GNUMTCS) == (12), "DCB_CMD_GNUMTCS != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_GNUMTCS 12 #endif -#if !(defined(DCB_CMD_SNUMTCS) || (defined(HAVE_DECL_DCB_CMD_SNUMTCS) && HAVE_DECL_DCB_CMD_SNUMTCS)) +#if defined(DCB_CMD_SNUMTCS) || (defined(HAVE_DECL_DCB_CMD_SNUMTCS) && HAVE_DECL_DCB_CMD_SNUMTCS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_SNUMTCS) == (13), "DCB_CMD_SNUMTCS != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_SNUMTCS 13 #endif -#if !(defined(DCB_CMD_PFC_GSTATE) || (defined(HAVE_DECL_DCB_CMD_PFC_GSTATE) && HAVE_DECL_DCB_CMD_PFC_GSTATE)) +#if defined(DCB_CMD_PFC_GSTATE) || (defined(HAVE_DECL_DCB_CMD_PFC_GSTATE) && HAVE_DECL_DCB_CMD_PFC_GSTATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_PFC_GSTATE) == (14), "DCB_CMD_PFC_GSTATE != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_PFC_GSTATE 14 #endif -#if !(defined(DCB_CMD_PFC_SSTATE) || (defined(HAVE_DECL_DCB_CMD_PFC_SSTATE) && HAVE_DECL_DCB_CMD_PFC_SSTATE)) +#if defined(DCB_CMD_PFC_SSTATE) || (defined(HAVE_DECL_DCB_CMD_PFC_SSTATE) && HAVE_DECL_DCB_CMD_PFC_SSTATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_PFC_SSTATE) == (15), "DCB_CMD_PFC_SSTATE != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_PFC_SSTATE 15 #endif -#if !(defined(DCB_CMD_BCN_GCFG) || (defined(HAVE_DECL_DCB_CMD_BCN_GCFG) && HAVE_DECL_DCB_CMD_BCN_GCFG)) +#if defined(DCB_CMD_BCN_GCFG) || (defined(HAVE_DECL_DCB_CMD_BCN_GCFG) && HAVE_DECL_DCB_CMD_BCN_GCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_BCN_GCFG) == (16), "DCB_CMD_BCN_GCFG != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_BCN_GCFG 16 #endif -#if !(defined(DCB_CMD_BCN_SCFG) || (defined(HAVE_DECL_DCB_CMD_BCN_SCFG) && HAVE_DECL_DCB_CMD_BCN_SCFG)) +#if defined(DCB_CMD_BCN_SCFG) || (defined(HAVE_DECL_DCB_CMD_BCN_SCFG) && HAVE_DECL_DCB_CMD_BCN_SCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_BCN_SCFG) == (17), "DCB_CMD_BCN_SCFG != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_BCN_SCFG 17 #endif -#if !(defined(DCB_CMD_GAPP) || (defined(HAVE_DECL_DCB_CMD_GAPP) && HAVE_DECL_DCB_CMD_GAPP)) +#if defined(DCB_CMD_GAPP) || (defined(HAVE_DECL_DCB_CMD_GAPP) && HAVE_DECL_DCB_CMD_GAPP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_GAPP) == (18), "DCB_CMD_GAPP != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_GAPP 18 #endif -#if !(defined(DCB_CMD_SAPP) || (defined(HAVE_DECL_DCB_CMD_SAPP) && HAVE_DECL_DCB_CMD_SAPP)) +#if defined(DCB_CMD_SAPP) || (defined(HAVE_DECL_DCB_CMD_SAPP) && HAVE_DECL_DCB_CMD_SAPP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_SAPP) == (19), "DCB_CMD_SAPP != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_SAPP 19 #endif -#if !(defined(DCB_CMD_IEEE_SET) || (defined(HAVE_DECL_DCB_CMD_IEEE_SET) && HAVE_DECL_DCB_CMD_IEEE_SET)) +#if defined(DCB_CMD_IEEE_SET) || (defined(HAVE_DECL_DCB_CMD_IEEE_SET) && HAVE_DECL_DCB_CMD_IEEE_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_IEEE_SET) == (20), "DCB_CMD_IEEE_SET != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_IEEE_SET 20 #endif -#if !(defined(DCB_CMD_IEEE_GET) || (defined(HAVE_DECL_DCB_CMD_IEEE_GET) && HAVE_DECL_DCB_CMD_IEEE_GET)) +#if defined(DCB_CMD_IEEE_GET) || (defined(HAVE_DECL_DCB_CMD_IEEE_GET) && HAVE_DECL_DCB_CMD_IEEE_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_IEEE_GET) == (21), "DCB_CMD_IEEE_GET != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_IEEE_GET 21 #endif -#if !(defined(DCB_CMD_GDCBX) || (defined(HAVE_DECL_DCB_CMD_GDCBX) && HAVE_DECL_DCB_CMD_GDCBX)) +#if defined(DCB_CMD_GDCBX) || (defined(HAVE_DECL_DCB_CMD_GDCBX) && HAVE_DECL_DCB_CMD_GDCBX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_GDCBX) == (22), "DCB_CMD_GDCBX != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_GDCBX 22 #endif -#if !(defined(DCB_CMD_SDCBX) || (defined(HAVE_DECL_DCB_CMD_SDCBX) && HAVE_DECL_DCB_CMD_SDCBX)) +#if defined(DCB_CMD_SDCBX) || (defined(HAVE_DECL_DCB_CMD_SDCBX) && HAVE_DECL_DCB_CMD_SDCBX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_SDCBX) == (23), "DCB_CMD_SDCBX != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_SDCBX 23 #endif -#if !(defined(DCB_CMD_GFEATCFG) || (defined(HAVE_DECL_DCB_CMD_GFEATCFG) && HAVE_DECL_DCB_CMD_GFEATCFG)) +#if defined(DCB_CMD_GFEATCFG) || (defined(HAVE_DECL_DCB_CMD_GFEATCFG) && HAVE_DECL_DCB_CMD_GFEATCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_GFEATCFG) == (24), "DCB_CMD_GFEATCFG != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_GFEATCFG 24 #endif -#if !(defined(DCB_CMD_SFEATCFG) || (defined(HAVE_DECL_DCB_CMD_SFEATCFG) && HAVE_DECL_DCB_CMD_SFEATCFG)) +#if defined(DCB_CMD_SFEATCFG) || (defined(HAVE_DECL_DCB_CMD_SFEATCFG) && HAVE_DECL_DCB_CMD_SFEATCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_SFEATCFG) == (25), "DCB_CMD_SFEATCFG != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_SFEATCFG 25 #endif -#if !(defined(DCB_CMD_CEE_GET) || (defined(HAVE_DECL_DCB_CMD_CEE_GET) && HAVE_DECL_DCB_CMD_CEE_GET)) +#if defined(DCB_CMD_CEE_GET) || (defined(HAVE_DECL_DCB_CMD_CEE_GET) && HAVE_DECL_DCB_CMD_CEE_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_CEE_GET) == (26), "DCB_CMD_CEE_GET != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_CEE_GET 26 #endif -#if !(defined(DCB_CMD_IEEE_DEL) || (defined(HAVE_DECL_DCB_CMD_IEEE_DEL) && HAVE_DECL_DCB_CMD_IEEE_DEL)) +#if defined(DCB_CMD_IEEE_DEL) || (defined(HAVE_DECL_DCB_CMD_IEEE_DEL) && HAVE_DECL_DCB_CMD_IEEE_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_CMD_IEEE_DEL) == (27), "DCB_CMD_IEEE_DEL != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_CMD_IEEE_DEL 27 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat dcb_commands in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat dcb_commands in mpers mode + +# else static const struct xlat dcb_commands[] = { @@ -123,4 +241,6 @@ const struct xlat dcb_commands[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/delete_module_flags.h b/xlat/delete_module_flags.h index 279c45ab..8c09810a 100644 --- a/xlat/delete_module_flags.h +++ b/xlat/delete_module_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/delete_module_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat delete_module_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat delete_module_flags in mpers mode + +# else static const struct xlat delete_module_flags[] = { @@ -17,4 +23,6 @@ const struct xlat delete_module_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/dirent_types.h b/xlat/dirent_types.h index 42df495e..0d21f501 100644 --- a/xlat/dirent_types.h +++ b/xlat/dirent_types.h @@ -1,6 +1,12 @@ /* Generated by ./xlat/gen.sh from ./xlat/dirent_types.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat dirent_types[] = { #if defined(DT_UNKNOWN) || (defined(HAVE_DECL_DT_UNKNOWN) && HAVE_DECL_DT_UNKNOWN) @@ -33,4 +39,6 @@ const struct xlat dirent_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/dm_flags.h b/xlat/dm_flags.h index 5573856d..88b508cb 100644 --- a/xlat/dm_flags.h +++ b/xlat/dm_flags.h @@ -1,64 +1,142 @@ /* Generated by ./xlat/gen.sh from ./xlat/dm_flags.in; do not edit. */ -#if !(defined(DM_READONLY_FLAG) || (defined(HAVE_DECL_DM_READONLY_FLAG) && HAVE_DECL_DM_READONLY_FLAG)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(DM_READONLY_FLAG) || (defined(HAVE_DECL_DM_READONLY_FLAG) && HAVE_DECL_DM_READONLY_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_READONLY_FLAG) == ((1 << 0)), "DM_READONLY_FLAG != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_READONLY_FLAG (1 << 0) #endif -#if !(defined(DM_SUSPEND_FLAG) || (defined(HAVE_DECL_DM_SUSPEND_FLAG) && HAVE_DECL_DM_SUSPEND_FLAG)) +#if defined(DM_SUSPEND_FLAG) || (defined(HAVE_DECL_DM_SUSPEND_FLAG) && HAVE_DECL_DM_SUSPEND_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_SUSPEND_FLAG) == ((1 << 1)), "DM_SUSPEND_FLAG != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_SUSPEND_FLAG (1 << 1) #endif -#if !(defined(DM_EXISTS_FLAG) || (defined(HAVE_DECL_DM_EXISTS_FLAG) && HAVE_DECL_DM_EXISTS_FLAG)) +#if defined(DM_EXISTS_FLAG) || (defined(HAVE_DECL_DM_EXISTS_FLAG) && HAVE_DECL_DM_EXISTS_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_EXISTS_FLAG) == ((1 << 2)), "DM_EXISTS_FLAG != (1 << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_EXISTS_FLAG (1 << 2) #endif -#if !(defined(DM_PERSISTENT_DEV_FLAG) || (defined(HAVE_DECL_DM_PERSISTENT_DEV_FLAG) && HAVE_DECL_DM_PERSISTENT_DEV_FLAG)) +#if defined(DM_PERSISTENT_DEV_FLAG) || (defined(HAVE_DECL_DM_PERSISTENT_DEV_FLAG) && HAVE_DECL_DM_PERSISTENT_DEV_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_PERSISTENT_DEV_FLAG) == ((1 << 3)), "DM_PERSISTENT_DEV_FLAG != (1 << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_PERSISTENT_DEV_FLAG (1 << 3) #endif -#if !(defined(DM_STATUS_TABLE_FLAG) || (defined(HAVE_DECL_DM_STATUS_TABLE_FLAG) && HAVE_DECL_DM_STATUS_TABLE_FLAG)) +#if defined(DM_STATUS_TABLE_FLAG) || (defined(HAVE_DECL_DM_STATUS_TABLE_FLAG) && HAVE_DECL_DM_STATUS_TABLE_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_STATUS_TABLE_FLAG) == ((1 << 4)), "DM_STATUS_TABLE_FLAG != (1 << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_STATUS_TABLE_FLAG (1 << 4) #endif -#if !(defined(DM_ACTIVE_PRESENT_FLAG) || (defined(HAVE_DECL_DM_ACTIVE_PRESENT_FLAG) && HAVE_DECL_DM_ACTIVE_PRESENT_FLAG)) +#if defined(DM_ACTIVE_PRESENT_FLAG) || (defined(HAVE_DECL_DM_ACTIVE_PRESENT_FLAG) && HAVE_DECL_DM_ACTIVE_PRESENT_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_ACTIVE_PRESENT_FLAG) == ((1 << 5)), "DM_ACTIVE_PRESENT_FLAG != (1 << 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_ACTIVE_PRESENT_FLAG (1 << 5) #endif -#if !(defined(DM_INACTIVE_PRESENT_FLAG) || (defined(HAVE_DECL_DM_INACTIVE_PRESENT_FLAG) && HAVE_DECL_DM_INACTIVE_PRESENT_FLAG)) +#if defined(DM_INACTIVE_PRESENT_FLAG) || (defined(HAVE_DECL_DM_INACTIVE_PRESENT_FLAG) && HAVE_DECL_DM_INACTIVE_PRESENT_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_INACTIVE_PRESENT_FLAG) == ((1 << 6)), "DM_INACTIVE_PRESENT_FLAG != (1 << 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_INACTIVE_PRESENT_FLAG (1 << 6) #endif -#if !(defined(DM_BUFFER_FULL_FLAG) || (defined(HAVE_DECL_DM_BUFFER_FULL_FLAG) && HAVE_DECL_DM_BUFFER_FULL_FLAG)) +#if defined(DM_BUFFER_FULL_FLAG) || (defined(HAVE_DECL_DM_BUFFER_FULL_FLAG) && HAVE_DECL_DM_BUFFER_FULL_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_BUFFER_FULL_FLAG) == ((1 << 8)), "DM_BUFFER_FULL_FLAG != (1 << 8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_BUFFER_FULL_FLAG (1 << 8) #endif -#if !(defined(DM_SKIP_BDGET_FLAG) || (defined(HAVE_DECL_DM_SKIP_BDGET_FLAG) && HAVE_DECL_DM_SKIP_BDGET_FLAG)) +#if defined(DM_SKIP_BDGET_FLAG) || (defined(HAVE_DECL_DM_SKIP_BDGET_FLAG) && HAVE_DECL_DM_SKIP_BDGET_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_SKIP_BDGET_FLAG) == ((1 << 9)), "DM_SKIP_BDGET_FLAG != (1 << 9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_SKIP_BDGET_FLAG (1 << 9) #endif -#if !(defined(DM_SKIP_LOCKFS_FLAG) || (defined(HAVE_DECL_DM_SKIP_LOCKFS_FLAG) && HAVE_DECL_DM_SKIP_LOCKFS_FLAG)) +#if defined(DM_SKIP_LOCKFS_FLAG) || (defined(HAVE_DECL_DM_SKIP_LOCKFS_FLAG) && HAVE_DECL_DM_SKIP_LOCKFS_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_SKIP_LOCKFS_FLAG) == ((1 << 10)), "DM_SKIP_LOCKFS_FLAG != (1 << 10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_SKIP_LOCKFS_FLAG (1 << 10) #endif -#if !(defined(DM_NOFLUSH_FLAG) || (defined(HAVE_DECL_DM_NOFLUSH_FLAG) && HAVE_DECL_DM_NOFLUSH_FLAG)) +#if defined(DM_NOFLUSH_FLAG) || (defined(HAVE_DECL_DM_NOFLUSH_FLAG) && HAVE_DECL_DM_NOFLUSH_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_NOFLUSH_FLAG) == ((1 << 11)), "DM_NOFLUSH_FLAG != (1 << 11)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_NOFLUSH_FLAG (1 << 11) #endif -#if !(defined(DM_QUERY_INACTIVE_TABLE_FLAG) || (defined(HAVE_DECL_DM_QUERY_INACTIVE_TABLE_FLAG) && HAVE_DECL_DM_QUERY_INACTIVE_TABLE_FLAG)) +#if defined(DM_QUERY_INACTIVE_TABLE_FLAG) || (defined(HAVE_DECL_DM_QUERY_INACTIVE_TABLE_FLAG) && HAVE_DECL_DM_QUERY_INACTIVE_TABLE_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_QUERY_INACTIVE_TABLE_FLAG) == ((1 << 12)), "DM_QUERY_INACTIVE_TABLE_FLAG != (1 << 12)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_QUERY_INACTIVE_TABLE_FLAG (1 << 12) #endif -#if !(defined(DM_UEVENT_GENERATED_FLAG) || (defined(HAVE_DECL_DM_UEVENT_GENERATED_FLAG) && HAVE_DECL_DM_UEVENT_GENERATED_FLAG)) +#if defined(DM_UEVENT_GENERATED_FLAG) || (defined(HAVE_DECL_DM_UEVENT_GENERATED_FLAG) && HAVE_DECL_DM_UEVENT_GENERATED_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_UEVENT_GENERATED_FLAG) == ((1 << 13)), "DM_UEVENT_GENERATED_FLAG != (1 << 13)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_UEVENT_GENERATED_FLAG (1 << 13) #endif -#if !(defined(DM_UUID_FLAG) || (defined(HAVE_DECL_DM_UUID_FLAG) && HAVE_DECL_DM_UUID_FLAG)) +#if defined(DM_UUID_FLAG) || (defined(HAVE_DECL_DM_UUID_FLAG) && HAVE_DECL_DM_UUID_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_UUID_FLAG) == ((1 << 14)), "DM_UUID_FLAG != (1 << 14)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_UUID_FLAG (1 << 14) #endif -#if !(defined(DM_SECURE_DATA_FLAG) || (defined(HAVE_DECL_DM_SECURE_DATA_FLAG) && HAVE_DECL_DM_SECURE_DATA_FLAG)) +#if defined(DM_SECURE_DATA_FLAG) || (defined(HAVE_DECL_DM_SECURE_DATA_FLAG) && HAVE_DECL_DM_SECURE_DATA_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_SECURE_DATA_FLAG) == ((1 << 15)), "DM_SECURE_DATA_FLAG != (1 << 15)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_SECURE_DATA_FLAG (1 << 15) #endif -#if !(defined(DM_DATA_OUT_FLAG) || (defined(HAVE_DECL_DM_DATA_OUT_FLAG) && HAVE_DECL_DM_DATA_OUT_FLAG)) +#if defined(DM_DATA_OUT_FLAG) || (defined(HAVE_DECL_DM_DATA_OUT_FLAG) && HAVE_DECL_DM_DATA_OUT_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_DATA_OUT_FLAG) == ((1 << 16)), "DM_DATA_OUT_FLAG != (1 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_DATA_OUT_FLAG (1 << 16) #endif -#if !(defined(DM_DEFERRED_REMOVE) || (defined(HAVE_DECL_DM_DEFERRED_REMOVE) && HAVE_DECL_DM_DEFERRED_REMOVE)) +#if defined(DM_DEFERRED_REMOVE) || (defined(HAVE_DECL_DM_DEFERRED_REMOVE) && HAVE_DECL_DM_DEFERRED_REMOVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_DEFERRED_REMOVE) == ((1 << 17)), "DM_DEFERRED_REMOVE != (1 << 17)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_DEFERRED_REMOVE (1 << 17) #endif -#if !(defined(DM_INTERNAL_SUSPEND_FLAG) || (defined(HAVE_DECL_DM_INTERNAL_SUSPEND_FLAG) && HAVE_DECL_DM_INTERNAL_SUSPEND_FLAG)) +#if defined(DM_INTERNAL_SUSPEND_FLAG) || (defined(HAVE_DECL_DM_INTERNAL_SUSPEND_FLAG) && HAVE_DECL_DM_INTERNAL_SUSPEND_FLAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DM_INTERNAL_SUSPEND_FLAG) == ((1 << 18)), "DM_INTERNAL_SUSPEND_FLAG != (1 << 18)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DM_INTERNAL_SUSPEND_FLAG (1 << 18) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat dm_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat dm_flags in mpers mode + +# else static const struct xlat dm_flags[] = { @@ -84,4 +162,6 @@ const struct xlat dm_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ebpf_class.h b/xlat/ebpf_class.h new file mode 100644 index 00000000..9dfcd84c --- /dev/null +++ b/xlat/ebpf_class.h @@ -0,0 +1,78 @@ +/* Generated by ./xlat/gen.sh from ./xlat/ebpf_class.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_LD) || (defined(HAVE_DECL_BPF_LD) && HAVE_DECL_BPF_LD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_LD) == (0x0), "BPF_LD != 0x0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_LD 0x0 +#endif +#if defined(BPF_LDX) || (defined(HAVE_DECL_BPF_LDX) && HAVE_DECL_BPF_LDX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_LDX) == (0x1), "BPF_LDX != 0x1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_LDX 0x1 +#endif +#if defined(BPF_ST) || (defined(HAVE_DECL_BPF_ST) && HAVE_DECL_BPF_ST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ST) == (0x2), "BPF_ST != 0x2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ST 0x2 +#endif +#if defined(BPF_STX) || (defined(HAVE_DECL_BPF_STX) && HAVE_DECL_BPF_STX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_STX) == (0x3), "BPF_STX != 0x3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_STX 0x3 +#endif +#if defined(BPF_ALU) || (defined(HAVE_DECL_BPF_ALU) && HAVE_DECL_BPF_ALU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ALU) == (0x4), "BPF_ALU != 0x4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ALU 0x4 +#endif +#if defined(BPF_JMP) || (defined(HAVE_DECL_BPF_JMP) && HAVE_DECL_BPF_JMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JMP) == (0x5), "BPF_JMP != 0x5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JMP 0x5 +#endif +#if defined(BPF_ALU64) || (defined(HAVE_DECL_BPF_ALU64) && HAVE_DECL_BPF_ALU64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ALU64) == (0x7), "BPF_ALU64 != 0x7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ALU64 0x7 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ebpf_class in mpers mode + +# else + +static +const struct xlat ebpf_class[] = { + [BPF_LD] = XLAT(BPF_LD), + [BPF_LDX] = XLAT(BPF_LDX), + [BPF_ST] = XLAT(BPF_ST), + [BPF_STX] = XLAT(BPF_STX), + [BPF_ALU] = XLAT(BPF_ALU), + [BPF_JMP] = XLAT(BPF_JMP), + [BPF_ALU64] = XLAT(BPF_ALU64), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ebpf_class.in b/xlat/ebpf_class.in new file mode 100644 index 00000000..c1a82fc2 --- /dev/null +++ b/xlat/ebpf_class.in @@ -0,0 +1,8 @@ +#value_indexed +BPF_LD 0x0 +BPF_LDX 0x1 +BPF_ST 0x2 +BPF_STX 0x3 +BPF_ALU 0x4 +BPF_JMP 0x5 +BPF_ALU64 0x7 diff --git a/xlat/ebpf_mode.h b/xlat/ebpf_mode.h new file mode 100644 index 00000000..5fddcfb6 --- /dev/null +++ b/xlat/ebpf_mode.h @@ -0,0 +1,62 @@ +/* Generated by ./xlat/gen.sh from ./xlat/ebpf_mode.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_IMM) || (defined(HAVE_DECL_BPF_IMM) && HAVE_DECL_BPF_IMM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_IMM) == (0x00), "BPF_IMM != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_IMM 0x00 +#endif +#if defined(BPF_ABS) || (defined(HAVE_DECL_BPF_ABS) && HAVE_DECL_BPF_ABS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ABS) == (0x20), "BPF_ABS != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ABS 0x20 +#endif +#if defined(BPF_IND) || (defined(HAVE_DECL_BPF_IND) && HAVE_DECL_BPF_IND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_IND) == (0x40), "BPF_IND != 0x40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_IND 0x40 +#endif +#if defined(BPF_MEM) || (defined(HAVE_DECL_BPF_MEM) && HAVE_DECL_BPF_MEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MEM) == (0x60), "BPF_MEM != 0x60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_MEM 0x60 +#endif +#if defined(BPF_XADD) || (defined(HAVE_DECL_BPF_XADD) && HAVE_DECL_BPF_XADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_XADD) == (0xc0), "BPF_XADD != 0xc0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_XADD 0xc0 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ebpf_mode in mpers mode + +# else + +static +const struct xlat ebpf_mode[] = { + XLAT(BPF_IMM), + XLAT(BPF_ABS), + XLAT(BPF_IND), + XLAT(BPF_MEM), + XLAT(BPF_XADD), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ebpf_mode.in b/xlat/ebpf_mode.in new file mode 100644 index 00000000..d8a65b6d --- /dev/null +++ b/xlat/ebpf_mode.in @@ -0,0 +1,5 @@ +BPF_IMM 0x00 +BPF_ABS 0x20 +BPF_IND 0x40 +BPF_MEM 0x60 +BPF_XADD 0xc0 diff --git a/xlat/ebpf_op_alu.h b/xlat/ebpf_op_alu.h new file mode 100644 index 00000000..2a5151c3 --- /dev/null +++ b/xlat/ebpf_op_alu.h @@ -0,0 +1,46 @@ +/* Generated by ./xlat/gen.sh from ./xlat/ebpf_op_alu.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_MOV) || (defined(HAVE_DECL_BPF_MOV) && HAVE_DECL_BPF_MOV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_MOV) == (0xb0), "BPF_MOV != 0xb0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_MOV 0xb0 +#endif +#if defined(BPF_ARSH) || (defined(HAVE_DECL_BPF_ARSH) && HAVE_DECL_BPF_ARSH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_ARSH) == (0xc0), "BPF_ARSH != 0xc0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_ARSH 0xc0 +#endif +#if defined(BPF_END) || (defined(HAVE_DECL_BPF_END) && HAVE_DECL_BPF_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_END) == (0xd0), "BPF_END != 0xd0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_END 0xd0 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ebpf_op_alu in mpers mode + +# else + +static +const struct xlat ebpf_op_alu[] = { + XLAT(BPF_MOV), + XLAT(BPF_ARSH), + XLAT(BPF_END), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ebpf_op_alu.in b/xlat/ebpf_op_alu.in new file mode 100644 index 00000000..2b46f200 --- /dev/null +++ b/xlat/ebpf_op_alu.in @@ -0,0 +1,3 @@ +BPF_MOV 0xb0 +BPF_ARSH 0xc0 +BPF_END 0xd0 diff --git a/xlat/ebpf_op_jmp.h b/xlat/ebpf_op_jmp.h new file mode 100644 index 00000000..d1feb21c --- /dev/null +++ b/xlat/ebpf_op_jmp.h @@ -0,0 +1,94 @@ +/* Generated by ./xlat/gen.sh from ./xlat/ebpf_op_jmp.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_JNE) || (defined(HAVE_DECL_BPF_JNE) && HAVE_DECL_BPF_JNE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JNE) == (0x50), "BPF_JNE != 0x50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JNE 0x50 +#endif +#if defined(BPF_JSGT) || (defined(HAVE_DECL_BPF_JSGT) && HAVE_DECL_BPF_JSGT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JSGT) == (0x60), "BPF_JSGT != 0x60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JSGT 0x60 +#endif +#if defined(BPF_JSGE) || (defined(HAVE_DECL_BPF_JSGE) && HAVE_DECL_BPF_JSGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JSGE) == (0x70), "BPF_JSGE != 0x70"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JSGE 0x70 +#endif +#if defined(BPF_CALL) || (defined(HAVE_DECL_BPF_CALL) && HAVE_DECL_BPF_CALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_CALL) == (0x80), "BPF_CALL != 0x80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_CALL 0x80 +#endif +#if defined(BPF_EXIT) || (defined(HAVE_DECL_BPF_EXIT) && HAVE_DECL_BPF_EXIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_EXIT) == (0x90), "BPF_EXIT != 0x90"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_EXIT 0x90 +#endif +#if defined(BPF_JLT) || (defined(HAVE_DECL_BPF_JLT) && HAVE_DECL_BPF_JLT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JLT) == (0xa0), "BPF_JLT != 0xa0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JLT 0xa0 +#endif +#if defined(BPF_JLE) || (defined(HAVE_DECL_BPF_JLE) && HAVE_DECL_BPF_JLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JLE) == (0xb0), "BPF_JLE != 0xb0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JLE 0xb0 +#endif +#if defined(BPF_JSLT) || (defined(HAVE_DECL_BPF_JSLT) && HAVE_DECL_BPF_JSLT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JSLT) == (0xc0), "BPF_JSLT != 0xc0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JSLT 0xc0 +#endif +#if defined(BPF_JSLE) || (defined(HAVE_DECL_BPF_JSLE) && HAVE_DECL_BPF_JSLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_JSLE) == (0xd0), "BPF_JSLE != 0xd0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_JSLE 0xd0 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ebpf_op_jmp in mpers mode + +# else + +static +const struct xlat ebpf_op_jmp[] = { + XLAT(BPF_JNE), + XLAT(BPF_JSGT), + XLAT(BPF_JSGE), + XLAT(BPF_CALL), + XLAT(BPF_EXIT), + XLAT(BPF_JLT), + XLAT(BPF_JLE), + XLAT(BPF_JSLT), + XLAT(BPF_JSLE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ebpf_op_jmp.in b/xlat/ebpf_op_jmp.in new file mode 100644 index 00000000..8d49cf67 --- /dev/null +++ b/xlat/ebpf_op_jmp.in @@ -0,0 +1,9 @@ +BPF_JNE 0x50 +BPF_JSGT 0x60 +BPF_JSGE 0x70 +BPF_CALL 0x80 +BPF_EXIT 0x90 +BPF_JLT 0xa0 +BPF_JLE 0xb0 +BPF_JSLT 0xc0 +BPF_JSLE 0xd0 diff --git a/xlat/ebpf_regs.h b/xlat/ebpf_regs.h new file mode 100644 index 00000000..67985169 --- /dev/null +++ b/xlat/ebpf_regs.h @@ -0,0 +1,110 @@ +/* Generated by ./xlat/gen.sh from ./xlat/ebpf_regs.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_REG_0) || (defined(HAVE_DECL_BPF_REG_0) && HAVE_DECL_BPF_REG_0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_0) == (0), "BPF_REG_0 != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_0 0 +#endif +#if defined(BPF_REG_1) || (defined(HAVE_DECL_BPF_REG_1) && HAVE_DECL_BPF_REG_1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_1) == (1), "BPF_REG_1 != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_1 1 +#endif +#if defined(BPF_REG_2) || (defined(HAVE_DECL_BPF_REG_2) && HAVE_DECL_BPF_REG_2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_2) == (2), "BPF_REG_2 != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_2 2 +#endif +#if defined(BPF_REG_3) || (defined(HAVE_DECL_BPF_REG_3) && HAVE_DECL_BPF_REG_3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_3) == (3), "BPF_REG_3 != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_3 3 +#endif +#if defined(BPF_REG_4) || (defined(HAVE_DECL_BPF_REG_4) && HAVE_DECL_BPF_REG_4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_4) == (4), "BPF_REG_4 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_4 4 +#endif +#if defined(BPF_REG_5) || (defined(HAVE_DECL_BPF_REG_5) && HAVE_DECL_BPF_REG_5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_5) == (5), "BPF_REG_5 != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_5 5 +#endif +#if defined(BPF_REG_6) || (defined(HAVE_DECL_BPF_REG_6) && HAVE_DECL_BPF_REG_6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_6) == (6), "BPF_REG_6 != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_6 6 +#endif +#if defined(BPF_REG_7) || (defined(HAVE_DECL_BPF_REG_7) && HAVE_DECL_BPF_REG_7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_7) == (7), "BPF_REG_7 != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_7 7 +#endif +#if defined(BPF_REG_8) || (defined(HAVE_DECL_BPF_REG_8) && HAVE_DECL_BPF_REG_8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_8) == (8), "BPF_REG_8 != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_8 8 +#endif +#if defined(BPF_REG_9) || (defined(HAVE_DECL_BPF_REG_9) && HAVE_DECL_BPF_REG_9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_9) == (9), "BPF_REG_9 != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_9 9 +#endif +#if defined(BPF_REG_10) || (defined(HAVE_DECL_BPF_REG_10) && HAVE_DECL_BPF_REG_10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_REG_10) == (10), "BPF_REG_10 != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_REG_10 10 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ebpf_regs in mpers mode + +# else + +static +const struct xlat ebpf_regs[] = { + [BPF_REG_0] = XLAT(BPF_REG_0), + [BPF_REG_1] = XLAT(BPF_REG_1), + [BPF_REG_2] = XLAT(BPF_REG_2), + [BPF_REG_3] = XLAT(BPF_REG_3), + [BPF_REG_4] = XLAT(BPF_REG_4), + [BPF_REG_5] = XLAT(BPF_REG_5), + [BPF_REG_6] = XLAT(BPF_REG_6), + [BPF_REG_7] = XLAT(BPF_REG_7), + [BPF_REG_8] = XLAT(BPF_REG_8), + [BPF_REG_9] = XLAT(BPF_REG_9), + [BPF_REG_10] = XLAT(BPF_REG_10), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ebpf_regs.in b/xlat/ebpf_regs.in new file mode 100644 index 00000000..9db066ef --- /dev/null +++ b/xlat/ebpf_regs.in @@ -0,0 +1,12 @@ +#value_indexed +BPF_REG_0 0 +BPF_REG_1 1 +BPF_REG_2 2 +BPF_REG_3 3 +BPF_REG_4 4 +BPF_REG_5 5 +BPF_REG_6 6 +BPF_REG_7 7 +BPF_REG_8 8 +BPF_REG_9 9 +BPF_REG_10 10 diff --git a/xlat/ebpf_size.h b/xlat/ebpf_size.h new file mode 100644 index 00000000..b3d32d2d --- /dev/null +++ b/xlat/ebpf_size.h @@ -0,0 +1,30 @@ +/* Generated by ./xlat/gen.sh from ./xlat/ebpf_size.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BPF_DW) || (defined(HAVE_DECL_BPF_DW) && HAVE_DECL_BPF_DW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BPF_DW) == (0x18), "BPF_DW != 0x18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BPF_DW 0x18 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ebpf_size in mpers mode + +# else + +static +const struct xlat ebpf_size[] = { + XLAT(BPF_DW), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ebpf_size.in b/xlat/ebpf_size.in new file mode 100644 index 00000000..5f9afa38 --- /dev/null +++ b/xlat/ebpf_size.in @@ -0,0 +1 @@ +BPF_DW 0x18 diff --git a/xlat/efd_flags.h b/xlat/efd_flags.h index 641f1169..e61316ad 100644 --- a/xlat/efd_flags.h +++ b/xlat/efd_flags.h @@ -1,21 +1,39 @@ /* Generated by ./xlat/gen.sh from ./xlat/efd_flags.in; do not edit. */ -#if !(defined(EFD_SEMAPHORE) || (defined(HAVE_DECL_EFD_SEMAPHORE) && HAVE_DECL_EFD_SEMAPHORE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(EFD_SEMAPHORE) || (defined(HAVE_DECL_EFD_SEMAPHORE) && HAVE_DECL_EFD_SEMAPHORE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EFD_SEMAPHORE) == (1), "EFD_SEMAPHORE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define EFD_SEMAPHORE 1 #endif #if defined EFD_CLOEXEC || defined O_CLOEXEC -#if !(defined(EFD_CLOEXEC) || (defined(HAVE_DECL_EFD_CLOEXEC) && HAVE_DECL_EFD_CLOEXEC)) +#if defined(EFD_CLOEXEC) || (defined(HAVE_DECL_EFD_CLOEXEC) && HAVE_DECL_EFD_CLOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EFD_CLOEXEC) == (O_CLOEXEC), "EFD_CLOEXEC != O_CLOEXEC"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define EFD_CLOEXEC O_CLOEXEC #endif #endif -#if !(defined(EFD_NONBLOCK) || (defined(HAVE_DECL_EFD_NONBLOCK) && HAVE_DECL_EFD_NONBLOCK)) +#if defined(EFD_NONBLOCK) || (defined(HAVE_DECL_EFD_NONBLOCK) && HAVE_DECL_EFD_NONBLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EFD_NONBLOCK) == (O_NONBLOCK), "EFD_NONBLOCK != O_NONBLOCK"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define EFD_NONBLOCK O_NONBLOCK #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat efd_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat efd_flags in mpers mode + +# else static const struct xlat efd_flags[] = { @@ -27,4 +45,6 @@ const struct xlat efd_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/epollctls.h b/xlat/epollctls.h index 6b06d8c7..a3b7419b 100644 --- a/xlat/epollctls.h +++ b/xlat/epollctls.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/epollctls.in; do not edit. */ -#if !(defined(EPOLL_CTL_ADD) || (defined(HAVE_DECL_EPOLL_CTL_ADD) && HAVE_DECL_EPOLL_CTL_ADD)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(EPOLL_CTL_ADD) || (defined(HAVE_DECL_EPOLL_CTL_ADD) && HAVE_DECL_EPOLL_CTL_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EPOLL_CTL_ADD) == (1), "EPOLL_CTL_ADD != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define EPOLL_CTL_ADD 1 #endif -#if !(defined(EPOLL_CTL_DEL) || (defined(HAVE_DECL_EPOLL_CTL_DEL) && HAVE_DECL_EPOLL_CTL_DEL)) +#if defined(EPOLL_CTL_DEL) || (defined(HAVE_DECL_EPOLL_CTL_DEL) && HAVE_DECL_EPOLL_CTL_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EPOLL_CTL_DEL) == (2), "EPOLL_CTL_DEL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define EPOLL_CTL_DEL 2 #endif -#if !(defined(EPOLL_CTL_MOD) || (defined(HAVE_DECL_EPOLL_CTL_MOD) && HAVE_DECL_EPOLL_CTL_MOD)) +#if defined(EPOLL_CTL_MOD) || (defined(HAVE_DECL_EPOLL_CTL_MOD) && HAVE_DECL_EPOLL_CTL_MOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EPOLL_CTL_MOD) == (3), "EPOLL_CTL_MOD != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define EPOLL_CTL_MOD 3 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat epollctls in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat epollctls in mpers mode + +# else static const struct xlat epollctls[] = { @@ -23,4 +41,6 @@ const struct xlat epollctls[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/epollevents.h b/xlat/epollevents.h index 3b98b6d3..b82e1739 100644 --- a/xlat/epollevents.h +++ b/xlat/epollevents.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/epollevents.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat epollevents in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat epollevents in mpers mode + +# else static const struct xlat epollevents[] = { @@ -56,4 +62,6 @@ const struct xlat epollevents[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/epollflags.h b/xlat/epollflags.h index cae4fe91..faf4b0ca 100644 --- a/xlat/epollflags.h +++ b/xlat/epollflags.h @@ -1,15 +1,25 @@ /* Generated by ./xlat/gen.sh from ./xlat/epollflags.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + #if defined EPOLL_CLOEXEC || defined O_CLOEXEC -#if !(defined(EPOLL_CLOEXEC) || (defined(HAVE_DECL_EPOLL_CLOEXEC) && HAVE_DECL_EPOLL_CLOEXEC)) +#if defined(EPOLL_CLOEXEC) || (defined(HAVE_DECL_EPOLL_CLOEXEC) && HAVE_DECL_EPOLL_CLOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EPOLL_CLOEXEC) == (O_CLOEXEC), "EPOLL_CLOEXEC != O_CLOEXEC"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define EPOLL_CLOEXEC O_CLOEXEC #endif #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat epollflags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat epollflags in mpers mode + +# else static const struct xlat epollflags[] = { @@ -19,4 +29,6 @@ const struct xlat epollflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ethernet_protocols.h b/xlat/ethernet_protocols.h index 3849e0ef..67c64cbe 100644 --- a/xlat/ethernet_protocols.h +++ b/xlat/ethernet_protocols.h @@ -1,276 +1,649 @@ /* Generated by ./xlat/gen.sh from ./xlat/ethernet_protocols.in; do not edit. */ -#if !(defined(ETH_P_802_3) || (defined(HAVE_DECL_ETH_P_802_3) && HAVE_DECL_ETH_P_802_3)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(ETH_P_802_3) || (defined(HAVE_DECL_ETH_P_802_3) && HAVE_DECL_ETH_P_802_3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_802_3) == (0x0001), "ETH_P_802_3 != 0x0001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_802_3 0x0001 #endif -#if !(defined(ETH_P_AX25) || (defined(HAVE_DECL_ETH_P_AX25) && HAVE_DECL_ETH_P_AX25)) +#if defined(ETH_P_AX25) || (defined(HAVE_DECL_ETH_P_AX25) && HAVE_DECL_ETH_P_AX25) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_AX25) == (0x0002), "ETH_P_AX25 != 0x0002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_AX25 0x0002 #endif -#if !(defined(ETH_P_ALL) || (defined(HAVE_DECL_ETH_P_ALL) && HAVE_DECL_ETH_P_ALL)) +#if defined(ETH_P_ALL) || (defined(HAVE_DECL_ETH_P_ALL) && HAVE_DECL_ETH_P_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_ALL) == (0x0003), "ETH_P_ALL != 0x0003"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_ALL 0x0003 #endif -#if !(defined(ETH_P_802_2) || (defined(HAVE_DECL_ETH_P_802_2) && HAVE_DECL_ETH_P_802_2)) +#if defined(ETH_P_802_2) || (defined(HAVE_DECL_ETH_P_802_2) && HAVE_DECL_ETH_P_802_2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_802_2) == (0x0004), "ETH_P_802_2 != 0x0004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_802_2 0x0004 #endif -#if !(defined(ETH_P_SNAP) || (defined(HAVE_DECL_ETH_P_SNAP) && HAVE_DECL_ETH_P_SNAP)) +#if defined(ETH_P_SNAP) || (defined(HAVE_DECL_ETH_P_SNAP) && HAVE_DECL_ETH_P_SNAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_SNAP) == (0x0005), "ETH_P_SNAP != 0x0005"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_SNAP 0x0005 #endif -#if !(defined(ETH_P_DDCMP) || (defined(HAVE_DECL_ETH_P_DDCMP) && HAVE_DECL_ETH_P_DDCMP)) +#if defined(ETH_P_DDCMP) || (defined(HAVE_DECL_ETH_P_DDCMP) && HAVE_DECL_ETH_P_DDCMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_DDCMP) == (0x0006), "ETH_P_DDCMP != 0x0006"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_DDCMP 0x0006 #endif -#if !(defined(ETH_P_WAN_PPP) || (defined(HAVE_DECL_ETH_P_WAN_PPP) && HAVE_DECL_ETH_P_WAN_PPP)) +#if defined(ETH_P_WAN_PPP) || (defined(HAVE_DECL_ETH_P_WAN_PPP) && HAVE_DECL_ETH_P_WAN_PPP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_WAN_PPP) == (0x0007), "ETH_P_WAN_PPP != 0x0007"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_WAN_PPP 0x0007 #endif -#if !(defined(ETH_P_PPP_MP) || (defined(HAVE_DECL_ETH_P_PPP_MP) && HAVE_DECL_ETH_P_PPP_MP)) +#if defined(ETH_P_PPP_MP) || (defined(HAVE_DECL_ETH_P_PPP_MP) && HAVE_DECL_ETH_P_PPP_MP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PPP_MP) == (0x0008), "ETH_P_PPP_MP != 0x0008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PPP_MP 0x0008 #endif -#if !(defined(ETH_P_LOCALTALK) || (defined(HAVE_DECL_ETH_P_LOCALTALK) && HAVE_DECL_ETH_P_LOCALTALK)) +#if defined(ETH_P_LOCALTALK) || (defined(HAVE_DECL_ETH_P_LOCALTALK) && HAVE_DECL_ETH_P_LOCALTALK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_LOCALTALK) == (0x0009), "ETH_P_LOCALTALK != 0x0009"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_LOCALTALK 0x0009 #endif -#if !(defined(ETH_P_CAN) || (defined(HAVE_DECL_ETH_P_CAN) && HAVE_DECL_ETH_P_CAN)) +#if defined(ETH_P_CAN) || (defined(HAVE_DECL_ETH_P_CAN) && HAVE_DECL_ETH_P_CAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_CAN) == (0x000C), "ETH_P_CAN != 0x000C"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_CAN 0x000C #endif -#if !(defined(ETH_P_CANFD) || (defined(HAVE_DECL_ETH_P_CANFD) && HAVE_DECL_ETH_P_CANFD)) +#if defined(ETH_P_CANFD) || (defined(HAVE_DECL_ETH_P_CANFD) && HAVE_DECL_ETH_P_CANFD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_CANFD) == (0x000D), "ETH_P_CANFD != 0x000D"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_CANFD 0x000D #endif -#if !(defined(ETH_P_PPPTALK) || (defined(HAVE_DECL_ETH_P_PPPTALK) && HAVE_DECL_ETH_P_PPPTALK)) +#if defined(ETH_P_PPPTALK) || (defined(HAVE_DECL_ETH_P_PPPTALK) && HAVE_DECL_ETH_P_PPPTALK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PPPTALK) == (0x0010), "ETH_P_PPPTALK != 0x0010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PPPTALK 0x0010 #endif -#if !(defined(ETH_P_TR_802_2) || (defined(HAVE_DECL_ETH_P_TR_802_2) && HAVE_DECL_ETH_P_TR_802_2)) +#if defined(ETH_P_TR_802_2) || (defined(HAVE_DECL_ETH_P_TR_802_2) && HAVE_DECL_ETH_P_TR_802_2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_TR_802_2) == (0x0011), "ETH_P_TR_802_2 != 0x0011"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_TR_802_2 0x0011 #endif -#if !(defined(ETH_P_MOBITEX) || (defined(HAVE_DECL_ETH_P_MOBITEX) && HAVE_DECL_ETH_P_MOBITEX)) +#if defined(ETH_P_MOBITEX) || (defined(HAVE_DECL_ETH_P_MOBITEX) && HAVE_DECL_ETH_P_MOBITEX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_MOBITEX) == (0x0015), "ETH_P_MOBITEX != 0x0015"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_MOBITEX 0x0015 #endif -#if !(defined(ETH_P_CONTROL) || (defined(HAVE_DECL_ETH_P_CONTROL) && HAVE_DECL_ETH_P_CONTROL)) +#if defined(ETH_P_CONTROL) || (defined(HAVE_DECL_ETH_P_CONTROL) && HAVE_DECL_ETH_P_CONTROL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_CONTROL) == (0x0016), "ETH_P_CONTROL != 0x0016"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_CONTROL 0x0016 #endif -#if !(defined(ETH_P_IRDA) || (defined(HAVE_DECL_ETH_P_IRDA) && HAVE_DECL_ETH_P_IRDA)) +#if defined(ETH_P_IRDA) || (defined(HAVE_DECL_ETH_P_IRDA) && HAVE_DECL_ETH_P_IRDA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_IRDA) == (0x0017), "ETH_P_IRDA != 0x0017"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_IRDA 0x0017 #endif -#if !(defined(ETH_P_ECONET) || (defined(HAVE_DECL_ETH_P_ECONET) && HAVE_DECL_ETH_P_ECONET)) +#if defined(ETH_P_ECONET) || (defined(HAVE_DECL_ETH_P_ECONET) && HAVE_DECL_ETH_P_ECONET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_ECONET) == (0x0018), "ETH_P_ECONET != 0x0018"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_ECONET 0x0018 #endif -#if !(defined(ETH_P_HDLC) || (defined(HAVE_DECL_ETH_P_HDLC) && HAVE_DECL_ETH_P_HDLC)) +#if defined(ETH_P_HDLC) || (defined(HAVE_DECL_ETH_P_HDLC) && HAVE_DECL_ETH_P_HDLC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_HDLC) == (0x0019), "ETH_P_HDLC != 0x0019"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_HDLC 0x0019 #endif -#if !(defined(ETH_P_ARCNET) || (defined(HAVE_DECL_ETH_P_ARCNET) && HAVE_DECL_ETH_P_ARCNET)) +#if defined(ETH_P_ARCNET) || (defined(HAVE_DECL_ETH_P_ARCNET) && HAVE_DECL_ETH_P_ARCNET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_ARCNET) == (0x001A), "ETH_P_ARCNET != 0x001A"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_ARCNET 0x001A #endif -#if !(defined(ETH_P_DSA) || (defined(HAVE_DECL_ETH_P_DSA) && HAVE_DECL_ETH_P_DSA)) +#if defined(ETH_P_DSA) || (defined(HAVE_DECL_ETH_P_DSA) && HAVE_DECL_ETH_P_DSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_DSA) == (0x001B), "ETH_P_DSA != 0x001B"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_DSA 0x001B #endif -#if !(defined(ETH_P_TRAILER) || (defined(HAVE_DECL_ETH_P_TRAILER) && HAVE_DECL_ETH_P_TRAILER)) +#if defined(ETH_P_TRAILER) || (defined(HAVE_DECL_ETH_P_TRAILER) && HAVE_DECL_ETH_P_TRAILER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_TRAILER) == (0x001C), "ETH_P_TRAILER != 0x001C"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_TRAILER 0x001C #endif -#if !(defined(ETH_P_LOOP) || (defined(HAVE_DECL_ETH_P_LOOP) && HAVE_DECL_ETH_P_LOOP)) +#if defined(ETH_P_LOOP) || (defined(HAVE_DECL_ETH_P_LOOP) && HAVE_DECL_ETH_P_LOOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_LOOP) == (0x0060), "ETH_P_LOOP != 0x0060"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_LOOP 0x0060 #endif -#if !(defined(ETH_P_PHONET) || (defined(HAVE_DECL_ETH_P_PHONET) && HAVE_DECL_ETH_P_PHONET)) +#if defined(ETH_P_PHONET) || (defined(HAVE_DECL_ETH_P_PHONET) && HAVE_DECL_ETH_P_PHONET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PHONET) == (0x00F5), "ETH_P_PHONET != 0x00F5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PHONET 0x00F5 #endif -#if !(defined(ETH_P_IEEE802154) || (defined(HAVE_DECL_ETH_P_IEEE802154) && HAVE_DECL_ETH_P_IEEE802154)) +#if defined(ETH_P_IEEE802154) || (defined(HAVE_DECL_ETH_P_IEEE802154) && HAVE_DECL_ETH_P_IEEE802154) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_IEEE802154) == (0x00F6), "ETH_P_IEEE802154 != 0x00F6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_IEEE802154 0x00F6 #endif -#if !(defined(ETH_P_CAIF) || (defined(HAVE_DECL_ETH_P_CAIF) && HAVE_DECL_ETH_P_CAIF)) +#if defined(ETH_P_CAIF) || (defined(HAVE_DECL_ETH_P_CAIF) && HAVE_DECL_ETH_P_CAIF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_CAIF) == (0x00F7), "ETH_P_CAIF != 0x00F7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_CAIF 0x00F7 #endif -#if !(defined(ETH_P_XDSA) || (defined(HAVE_DECL_ETH_P_XDSA) && HAVE_DECL_ETH_P_XDSA)) +#if defined(ETH_P_XDSA) || (defined(HAVE_DECL_ETH_P_XDSA) && HAVE_DECL_ETH_P_XDSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_XDSA) == (0x00F8), "ETH_P_XDSA != 0x00F8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_XDSA 0x00F8 #endif -#if !(defined(ETH_P_MAP) || (defined(HAVE_DECL_ETH_P_MAP) && HAVE_DECL_ETH_P_MAP)) +#if defined(ETH_P_MAP) || (defined(HAVE_DECL_ETH_P_MAP) && HAVE_DECL_ETH_P_MAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_MAP) == (0x00F9), "ETH_P_MAP != 0x00F9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_MAP 0x00F9 #endif -#if !(defined(ETH_P_PUP) || (defined(HAVE_DECL_ETH_P_PUP) && HAVE_DECL_ETH_P_PUP)) +#if defined(ETH_P_PUP) || (defined(HAVE_DECL_ETH_P_PUP) && HAVE_DECL_ETH_P_PUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PUP) == (0x0200), "ETH_P_PUP != 0x0200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PUP 0x0200 #endif -#if !(defined(ETH_P_PUPAT) || (defined(HAVE_DECL_ETH_P_PUPAT) && HAVE_DECL_ETH_P_PUPAT)) +#if defined(ETH_P_PUPAT) || (defined(HAVE_DECL_ETH_P_PUPAT) && HAVE_DECL_ETH_P_PUPAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PUPAT) == (0x0201), "ETH_P_PUPAT != 0x0201"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PUPAT 0x0201 #endif -#if !(defined(ETH_P_802_3_MIN) || (defined(HAVE_DECL_ETH_P_802_3_MIN) && HAVE_DECL_ETH_P_802_3_MIN)) +#if defined(ETH_P_802_3_MIN) || (defined(HAVE_DECL_ETH_P_802_3_MIN) && HAVE_DECL_ETH_P_802_3_MIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_802_3_MIN) == (0x0600), "ETH_P_802_3_MIN != 0x0600"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_802_3_MIN 0x0600 #endif -#if !(defined(ETH_P_IP) || (defined(HAVE_DECL_ETH_P_IP) && HAVE_DECL_ETH_P_IP)) +#if defined(ETH_P_IP) || (defined(HAVE_DECL_ETH_P_IP) && HAVE_DECL_ETH_P_IP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_IP) == (0x0800), "ETH_P_IP != 0x0800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_IP 0x0800 #endif -#if !(defined(ETH_P_X25) || (defined(HAVE_DECL_ETH_P_X25) && HAVE_DECL_ETH_P_X25)) +#if defined(ETH_P_X25) || (defined(HAVE_DECL_ETH_P_X25) && HAVE_DECL_ETH_P_X25) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_X25) == (0x0805), "ETH_P_X25 != 0x0805"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_X25 0x0805 #endif -#if !(defined(ETH_P_ARP) || (defined(HAVE_DECL_ETH_P_ARP) && HAVE_DECL_ETH_P_ARP)) +#if defined(ETH_P_ARP) || (defined(HAVE_DECL_ETH_P_ARP) && HAVE_DECL_ETH_P_ARP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_ARP) == (0x0806), "ETH_P_ARP != 0x0806"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_ARP 0x0806 #endif -#if !(defined(ETH_P_BPQ) || (defined(HAVE_DECL_ETH_P_BPQ) && HAVE_DECL_ETH_P_BPQ)) +#if defined(ETH_P_BPQ) || (defined(HAVE_DECL_ETH_P_BPQ) && HAVE_DECL_ETH_P_BPQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_BPQ) == (0x08FF), "ETH_P_BPQ != 0x08FF"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_BPQ 0x08FF #endif -#if !(defined(ETH_P_IEEEPUP) || (defined(HAVE_DECL_ETH_P_IEEEPUP) && HAVE_DECL_ETH_P_IEEEPUP)) +#if defined(ETH_P_IEEEPUP) || (defined(HAVE_DECL_ETH_P_IEEEPUP) && HAVE_DECL_ETH_P_IEEEPUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_IEEEPUP) == (0x0a00), "ETH_P_IEEEPUP != 0x0a00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_IEEEPUP 0x0a00 #endif -#if !(defined(ETH_P_IEEEPUPAT) || (defined(HAVE_DECL_ETH_P_IEEEPUPAT) && HAVE_DECL_ETH_P_IEEEPUPAT)) +#if defined(ETH_P_IEEEPUPAT) || (defined(HAVE_DECL_ETH_P_IEEEPUPAT) && HAVE_DECL_ETH_P_IEEEPUPAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_IEEEPUPAT) == (0x0a01), "ETH_P_IEEEPUPAT != 0x0a01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_IEEEPUPAT 0x0a01 #endif -#if !(defined(ETH_P_ERSPAN2) || (defined(HAVE_DECL_ETH_P_ERSPAN2) && HAVE_DECL_ETH_P_ERSPAN2)) +#if defined(ETH_P_ERSPAN2) || (defined(HAVE_DECL_ETH_P_ERSPAN2) && HAVE_DECL_ETH_P_ERSPAN2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_ERSPAN2) == (0x22EB), "ETH_P_ERSPAN2 != 0x22EB"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_ERSPAN2 0x22EB #endif -#if !(defined(ETH_P_TSN) || (defined(HAVE_DECL_ETH_P_TSN) && HAVE_DECL_ETH_P_TSN)) +#if defined(ETH_P_TSN) || (defined(HAVE_DECL_ETH_P_TSN) && HAVE_DECL_ETH_P_TSN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_TSN) == (0x22F0), "ETH_P_TSN != 0x22F0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_TSN 0x22F0 #endif -#if !(defined(ETH_P_BATMAN) || (defined(HAVE_DECL_ETH_P_BATMAN) && HAVE_DECL_ETH_P_BATMAN)) +#if defined(ETH_P_BATMAN) || (defined(HAVE_DECL_ETH_P_BATMAN) && HAVE_DECL_ETH_P_BATMAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_BATMAN) == (0x4305), "ETH_P_BATMAN != 0x4305"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_BATMAN 0x4305 #endif -#if !(defined(ETH_P_DEC) || (defined(HAVE_DECL_ETH_P_DEC) && HAVE_DECL_ETH_P_DEC)) +#if defined(ETH_P_DEC) || (defined(HAVE_DECL_ETH_P_DEC) && HAVE_DECL_ETH_P_DEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_DEC) == (0x6000), "ETH_P_DEC != 0x6000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_DEC 0x6000 #endif -#if !(defined(ETH_P_DNA_DL) || (defined(HAVE_DECL_ETH_P_DNA_DL) && HAVE_DECL_ETH_P_DNA_DL)) +#if defined(ETH_P_DNA_DL) || (defined(HAVE_DECL_ETH_P_DNA_DL) && HAVE_DECL_ETH_P_DNA_DL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_DNA_DL) == (0x6001), "ETH_P_DNA_DL != 0x6001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_DNA_DL 0x6001 #endif -#if !(defined(ETH_P_DNA_RC) || (defined(HAVE_DECL_ETH_P_DNA_RC) && HAVE_DECL_ETH_P_DNA_RC)) +#if defined(ETH_P_DNA_RC) || (defined(HAVE_DECL_ETH_P_DNA_RC) && HAVE_DECL_ETH_P_DNA_RC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_DNA_RC) == (0x6002), "ETH_P_DNA_RC != 0x6002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_DNA_RC 0x6002 #endif -#if !(defined(ETH_P_DNA_RT) || (defined(HAVE_DECL_ETH_P_DNA_RT) && HAVE_DECL_ETH_P_DNA_RT)) +#if defined(ETH_P_DNA_RT) || (defined(HAVE_DECL_ETH_P_DNA_RT) && HAVE_DECL_ETH_P_DNA_RT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_DNA_RT) == (0x6003), "ETH_P_DNA_RT != 0x6003"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_DNA_RT 0x6003 #endif -#if !(defined(ETH_P_LAT) || (defined(HAVE_DECL_ETH_P_LAT) && HAVE_DECL_ETH_P_LAT)) +#if defined(ETH_P_LAT) || (defined(HAVE_DECL_ETH_P_LAT) && HAVE_DECL_ETH_P_LAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_LAT) == (0x6004), "ETH_P_LAT != 0x6004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_LAT 0x6004 #endif -#if !(defined(ETH_P_DIAG) || (defined(HAVE_DECL_ETH_P_DIAG) && HAVE_DECL_ETH_P_DIAG)) +#if defined(ETH_P_DIAG) || (defined(HAVE_DECL_ETH_P_DIAG) && HAVE_DECL_ETH_P_DIAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_DIAG) == (0x6005), "ETH_P_DIAG != 0x6005"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_DIAG 0x6005 #endif -#if !(defined(ETH_P_CUST) || (defined(HAVE_DECL_ETH_P_CUST) && HAVE_DECL_ETH_P_CUST)) +#if defined(ETH_P_CUST) || (defined(HAVE_DECL_ETH_P_CUST) && HAVE_DECL_ETH_P_CUST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_CUST) == (0x6006), "ETH_P_CUST != 0x6006"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_CUST 0x6006 #endif -#if !(defined(ETH_P_SCA) || (defined(HAVE_DECL_ETH_P_SCA) && HAVE_DECL_ETH_P_SCA)) +#if defined(ETH_P_SCA) || (defined(HAVE_DECL_ETH_P_SCA) && HAVE_DECL_ETH_P_SCA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_SCA) == (0x6007), "ETH_P_SCA != 0x6007"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_SCA 0x6007 #endif -#if !(defined(ETH_P_TEB) || (defined(HAVE_DECL_ETH_P_TEB) && HAVE_DECL_ETH_P_TEB)) +#if defined(ETH_P_TEB) || (defined(HAVE_DECL_ETH_P_TEB) && HAVE_DECL_ETH_P_TEB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_TEB) == (0x6558), "ETH_P_TEB != 0x6558"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_TEB 0x6558 #endif -#if !(defined(ETH_P_RARP) || (defined(HAVE_DECL_ETH_P_RARP) && HAVE_DECL_ETH_P_RARP)) +#if defined(ETH_P_RARP) || (defined(HAVE_DECL_ETH_P_RARP) && HAVE_DECL_ETH_P_RARP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_RARP) == (0x8035), "ETH_P_RARP != 0x8035"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_RARP 0x8035 #endif -#if !(defined(ETH_P_ATALK) || (defined(HAVE_DECL_ETH_P_ATALK) && HAVE_DECL_ETH_P_ATALK)) +#if defined(ETH_P_ATALK) || (defined(HAVE_DECL_ETH_P_ATALK) && HAVE_DECL_ETH_P_ATALK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_ATALK) == (0x809B), "ETH_P_ATALK != 0x809B"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_ATALK 0x809B #endif -#if !(defined(ETH_P_AARP) || (defined(HAVE_DECL_ETH_P_AARP) && HAVE_DECL_ETH_P_AARP)) +#if defined(ETH_P_AARP) || (defined(HAVE_DECL_ETH_P_AARP) && HAVE_DECL_ETH_P_AARP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_AARP) == (0x80F3), "ETH_P_AARP != 0x80F3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_AARP 0x80F3 #endif -#if !(defined(ETH_P_8021Q) || (defined(HAVE_DECL_ETH_P_8021Q) && HAVE_DECL_ETH_P_8021Q)) +#if defined(ETH_P_8021Q) || (defined(HAVE_DECL_ETH_P_8021Q) && HAVE_DECL_ETH_P_8021Q) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_8021Q) == (0x8100), "ETH_P_8021Q != 0x8100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_8021Q 0x8100 #endif -#if !(defined(ETH_P_IPX) || (defined(HAVE_DECL_ETH_P_IPX) && HAVE_DECL_ETH_P_IPX)) +#if defined(ETH_P_IPX) || (defined(HAVE_DECL_ETH_P_IPX) && HAVE_DECL_ETH_P_IPX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_IPX) == (0x8137), "ETH_P_IPX != 0x8137"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_IPX 0x8137 #endif -#if !(defined(ETH_P_IPV6) || (defined(HAVE_DECL_ETH_P_IPV6) && HAVE_DECL_ETH_P_IPV6)) +#if defined(ETH_P_IPV6) || (defined(HAVE_DECL_ETH_P_IPV6) && HAVE_DECL_ETH_P_IPV6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_IPV6) == (0x86DD), "ETH_P_IPV6 != 0x86DD"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_IPV6 0x86DD #endif -#if !(defined(ETH_P_PAUSE) || (defined(HAVE_DECL_ETH_P_PAUSE) && HAVE_DECL_ETH_P_PAUSE)) +#if defined(ETH_P_PAUSE) || (defined(HAVE_DECL_ETH_P_PAUSE) && HAVE_DECL_ETH_P_PAUSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PAUSE) == (0x8808), "ETH_P_PAUSE != 0x8808"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PAUSE 0x8808 #endif -#if !(defined(ETH_P_SLOW) || (defined(HAVE_DECL_ETH_P_SLOW) && HAVE_DECL_ETH_P_SLOW)) +#if defined(ETH_P_SLOW) || (defined(HAVE_DECL_ETH_P_SLOW) && HAVE_DECL_ETH_P_SLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_SLOW) == (0x8809), "ETH_P_SLOW != 0x8809"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_SLOW 0x8809 #endif -#if !(defined(ETH_P_WCCP) || (defined(HAVE_DECL_ETH_P_WCCP) && HAVE_DECL_ETH_P_WCCP)) +#if defined(ETH_P_WCCP) || (defined(HAVE_DECL_ETH_P_WCCP) && HAVE_DECL_ETH_P_WCCP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_WCCP) == (0x883E), "ETH_P_WCCP != 0x883E"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_WCCP 0x883E #endif -#if !(defined(ETH_P_MPLS_UC) || (defined(HAVE_DECL_ETH_P_MPLS_UC) && HAVE_DECL_ETH_P_MPLS_UC)) +#if defined(ETH_P_MPLS_UC) || (defined(HAVE_DECL_ETH_P_MPLS_UC) && HAVE_DECL_ETH_P_MPLS_UC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_MPLS_UC) == (0x8847), "ETH_P_MPLS_UC != 0x8847"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_MPLS_UC 0x8847 #endif -#if !(defined(ETH_P_MPLS_MC) || (defined(HAVE_DECL_ETH_P_MPLS_MC) && HAVE_DECL_ETH_P_MPLS_MC)) +#if defined(ETH_P_MPLS_MC) || (defined(HAVE_DECL_ETH_P_MPLS_MC) && HAVE_DECL_ETH_P_MPLS_MC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_MPLS_MC) == (0x8848), "ETH_P_MPLS_MC != 0x8848"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_MPLS_MC 0x8848 #endif -#if !(defined(ETH_P_ATMMPOA) || (defined(HAVE_DECL_ETH_P_ATMMPOA) && HAVE_DECL_ETH_P_ATMMPOA)) +#if defined(ETH_P_ATMMPOA) || (defined(HAVE_DECL_ETH_P_ATMMPOA) && HAVE_DECL_ETH_P_ATMMPOA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_ATMMPOA) == (0x884c), "ETH_P_ATMMPOA != 0x884c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_ATMMPOA 0x884c #endif -#if !(defined(ETH_P_PPP_DISC) || (defined(HAVE_DECL_ETH_P_PPP_DISC) && HAVE_DECL_ETH_P_PPP_DISC)) +#if defined(ETH_P_PPP_DISC) || (defined(HAVE_DECL_ETH_P_PPP_DISC) && HAVE_DECL_ETH_P_PPP_DISC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PPP_DISC) == (0x8863), "ETH_P_PPP_DISC != 0x8863"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PPP_DISC 0x8863 #endif -#if !(defined(ETH_P_PPP_SES) || (defined(HAVE_DECL_ETH_P_PPP_SES) && HAVE_DECL_ETH_P_PPP_SES)) +#if defined(ETH_P_PPP_SES) || (defined(HAVE_DECL_ETH_P_PPP_SES) && HAVE_DECL_ETH_P_PPP_SES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PPP_SES) == (0x8864), "ETH_P_PPP_SES != 0x8864"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PPP_SES 0x8864 #endif -#if !(defined(ETH_P_LINK_CTL) || (defined(HAVE_DECL_ETH_P_LINK_CTL) && HAVE_DECL_ETH_P_LINK_CTL)) +#if defined(ETH_P_LINK_CTL) || (defined(HAVE_DECL_ETH_P_LINK_CTL) && HAVE_DECL_ETH_P_LINK_CTL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_LINK_CTL) == (0x886c), "ETH_P_LINK_CTL != 0x886c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_LINK_CTL 0x886c #endif -#if !(defined(ETH_P_ATMFATE) || (defined(HAVE_DECL_ETH_P_ATMFATE) && HAVE_DECL_ETH_P_ATMFATE)) +#if defined(ETH_P_ATMFATE) || (defined(HAVE_DECL_ETH_P_ATMFATE) && HAVE_DECL_ETH_P_ATMFATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_ATMFATE) == (0x8884), "ETH_P_ATMFATE != 0x8884"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_ATMFATE 0x8884 #endif -#if !(defined(ETH_P_PAE) || (defined(HAVE_DECL_ETH_P_PAE) && HAVE_DECL_ETH_P_PAE)) +#if defined(ETH_P_PAE) || (defined(HAVE_DECL_ETH_P_PAE) && HAVE_DECL_ETH_P_PAE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PAE) == (0x888E), "ETH_P_PAE != 0x888E"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PAE 0x888E #endif -#if !(defined(ETH_P_AOE) || (defined(HAVE_DECL_ETH_P_AOE) && HAVE_DECL_ETH_P_AOE)) +#if defined(ETH_P_AOE) || (defined(HAVE_DECL_ETH_P_AOE) && HAVE_DECL_ETH_P_AOE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_AOE) == (0x88A2), "ETH_P_AOE != 0x88A2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_AOE 0x88A2 #endif -#if !(defined(ETH_P_8021AD) || (defined(HAVE_DECL_ETH_P_8021AD) && HAVE_DECL_ETH_P_8021AD)) +#if defined(ETH_P_8021AD) || (defined(HAVE_DECL_ETH_P_8021AD) && HAVE_DECL_ETH_P_8021AD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_8021AD) == (0x88A8), "ETH_P_8021AD != 0x88A8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_8021AD 0x88A8 #endif -#if !(defined(ETH_P_802_EX1) || (defined(HAVE_DECL_ETH_P_802_EX1) && HAVE_DECL_ETH_P_802_EX1)) +#if defined(ETH_P_802_EX1) || (defined(HAVE_DECL_ETH_P_802_EX1) && HAVE_DECL_ETH_P_802_EX1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_802_EX1) == (0x88B5), "ETH_P_802_EX1 != 0x88B5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_802_EX1 0x88B5 #endif -#if !(defined(ETH_P_ERSPAN) || (defined(HAVE_DECL_ETH_P_ERSPAN) && HAVE_DECL_ETH_P_ERSPAN)) +#if defined(ETH_P_ERSPAN) || (defined(HAVE_DECL_ETH_P_ERSPAN) && HAVE_DECL_ETH_P_ERSPAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_ERSPAN) == (0x88BE), "ETH_P_ERSPAN != 0x88BE"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_ERSPAN 0x88BE #endif -#if !(defined(ETH_P_TIPC) || (defined(HAVE_DECL_ETH_P_TIPC) && HAVE_DECL_ETH_P_TIPC)) +#if defined(ETH_P_PREAUTH) || (defined(HAVE_DECL_ETH_P_PREAUTH) && HAVE_DECL_ETH_P_PREAUTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PREAUTH) == (0x88C7), "ETH_P_PREAUTH != 0x88C7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ETH_P_PREAUTH 0x88C7 +#endif +#if defined(ETH_P_TIPC) || (defined(HAVE_DECL_ETH_P_TIPC) && HAVE_DECL_ETH_P_TIPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_TIPC) == (0x88CA), "ETH_P_TIPC != 0x88CA"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_TIPC 0x88CA #endif -#if !(defined(ETH_P_MACSEC) || (defined(HAVE_DECL_ETH_P_MACSEC) && HAVE_DECL_ETH_P_MACSEC)) +#if defined(ETH_P_MACSEC) || (defined(HAVE_DECL_ETH_P_MACSEC) && HAVE_DECL_ETH_P_MACSEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_MACSEC) == (0x88E5), "ETH_P_MACSEC != 0x88E5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_MACSEC 0x88E5 #endif -#if !(defined(ETH_P_8021AH) || (defined(HAVE_DECL_ETH_P_8021AH) && HAVE_DECL_ETH_P_8021AH)) +#if defined(ETH_P_8021AH) || (defined(HAVE_DECL_ETH_P_8021AH) && HAVE_DECL_ETH_P_8021AH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_8021AH) == (0x88E7), "ETH_P_8021AH != 0x88E7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_8021AH 0x88E7 #endif -#if !(defined(ETH_P_MVRP) || (defined(HAVE_DECL_ETH_P_MVRP) && HAVE_DECL_ETH_P_MVRP)) +#if defined(ETH_P_MVRP) || (defined(HAVE_DECL_ETH_P_MVRP) && HAVE_DECL_ETH_P_MVRP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_MVRP) == (0x88F5), "ETH_P_MVRP != 0x88F5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_MVRP 0x88F5 #endif -#if !(defined(ETH_P_1588) || (defined(HAVE_DECL_ETH_P_1588) && HAVE_DECL_ETH_P_1588)) +#if defined(ETH_P_1588) || (defined(HAVE_DECL_ETH_P_1588) && HAVE_DECL_ETH_P_1588) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_1588) == (0x88F7), "ETH_P_1588 != 0x88F7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_1588 0x88F7 #endif -#if !(defined(ETH_P_NCSI) || (defined(HAVE_DECL_ETH_P_NCSI) && HAVE_DECL_ETH_P_NCSI)) +#if defined(ETH_P_NCSI) || (defined(HAVE_DECL_ETH_P_NCSI) && HAVE_DECL_ETH_P_NCSI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_NCSI) == (0x88F8), "ETH_P_NCSI != 0x88F8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_NCSI 0x88F8 #endif -#if !(defined(ETH_P_PRP) || (defined(HAVE_DECL_ETH_P_PRP) && HAVE_DECL_ETH_P_PRP)) +#if defined(ETH_P_PRP) || (defined(HAVE_DECL_ETH_P_PRP) && HAVE_DECL_ETH_P_PRP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_PRP) == (0x88FB), "ETH_P_PRP != 0x88FB"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_PRP 0x88FB #endif -#if !(defined(ETH_P_FCOE) || (defined(HAVE_DECL_ETH_P_FCOE) && HAVE_DECL_ETH_P_FCOE)) +#if defined(ETH_P_FCOE) || (defined(HAVE_DECL_ETH_P_FCOE) && HAVE_DECL_ETH_P_FCOE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_FCOE) == (0x8906), "ETH_P_FCOE != 0x8906"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_FCOE 0x8906 #endif -#if !(defined(ETH_P_TDLS) || (defined(HAVE_DECL_ETH_P_TDLS) && HAVE_DECL_ETH_P_TDLS)) +#if defined(ETH_P_TDLS) || (defined(HAVE_DECL_ETH_P_TDLS) && HAVE_DECL_ETH_P_TDLS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_TDLS) == (0x890D), "ETH_P_TDLS != 0x890D"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_TDLS 0x890D #endif -#if !(defined(ETH_P_FIP) || (defined(HAVE_DECL_ETH_P_FIP) && HAVE_DECL_ETH_P_FIP)) +#if defined(ETH_P_FIP) || (defined(HAVE_DECL_ETH_P_FIP) && HAVE_DECL_ETH_P_FIP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_FIP) == (0x8914), "ETH_P_FIP != 0x8914"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_FIP 0x8914 #endif -#if !(defined(ETH_P_IBOE) || (defined(HAVE_DECL_ETH_P_IBOE) && HAVE_DECL_ETH_P_IBOE)) +#if defined(ETH_P_IBOE) || (defined(HAVE_DECL_ETH_P_IBOE) && HAVE_DECL_ETH_P_IBOE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_IBOE) == (0x8915), "ETH_P_IBOE != 0x8915"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_IBOE 0x8915 #endif -#if !(defined(ETH_P_80221) || (defined(HAVE_DECL_ETH_P_80221) && HAVE_DECL_ETH_P_80221)) +#if defined(ETH_P_80221) || (defined(HAVE_DECL_ETH_P_80221) && HAVE_DECL_ETH_P_80221) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_80221) == (0x8917), "ETH_P_80221 != 0x8917"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_80221 0x8917 #endif -#if !(defined(ETH_P_HSR) || (defined(HAVE_DECL_ETH_P_HSR) && HAVE_DECL_ETH_P_HSR)) +#if defined(ETH_P_HSR) || (defined(HAVE_DECL_ETH_P_HSR) && HAVE_DECL_ETH_P_HSR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_HSR) == (0x892F), "ETH_P_HSR != 0x892F"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_HSR 0x892F #endif -#if !(defined(ETH_P_NSH) || (defined(HAVE_DECL_ETH_P_NSH) && HAVE_DECL_ETH_P_NSH)) +#if defined(ETH_P_NSH) || (defined(HAVE_DECL_ETH_P_NSH) && HAVE_DECL_ETH_P_NSH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_NSH) == (0x894F), "ETH_P_NSH != 0x894F"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_NSH 0x894F #endif -#if !(defined(ETH_P_LOOPBACK) || (defined(HAVE_DECL_ETH_P_LOOPBACK) && HAVE_DECL_ETH_P_LOOPBACK)) +#if defined(ETH_P_LOOPBACK) || (defined(HAVE_DECL_ETH_P_LOOPBACK) && HAVE_DECL_ETH_P_LOOPBACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_LOOPBACK) == (0x9000), "ETH_P_LOOPBACK != 0x9000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_LOOPBACK 0x9000 #endif -#if !(defined(ETH_P_QINQ1) || (defined(HAVE_DECL_ETH_P_QINQ1) && HAVE_DECL_ETH_P_QINQ1)) +#if defined(ETH_P_QINQ1) || (defined(HAVE_DECL_ETH_P_QINQ1) && HAVE_DECL_ETH_P_QINQ1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_QINQ1) == (0x9100), "ETH_P_QINQ1 != 0x9100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_QINQ1 0x9100 #endif -#if !(defined(ETH_P_QINQ2) || (defined(HAVE_DECL_ETH_P_QINQ2) && HAVE_DECL_ETH_P_QINQ2)) +#if defined(ETH_P_QINQ2) || (defined(HAVE_DECL_ETH_P_QINQ2) && HAVE_DECL_ETH_P_QINQ2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_QINQ2) == (0x9200), "ETH_P_QINQ2 != 0x9200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_QINQ2 0x9200 #endif -#if !(defined(ETH_P_QINQ3) || (defined(HAVE_DECL_ETH_P_QINQ3) && HAVE_DECL_ETH_P_QINQ3)) +#if defined(ETH_P_QINQ3) || (defined(HAVE_DECL_ETH_P_QINQ3) && HAVE_DECL_ETH_P_QINQ3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_QINQ3) == (0x9300), "ETH_P_QINQ3 != 0x9300"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_QINQ3 0x9300 #endif -#if !(defined(ETH_P_EDSA) || (defined(HAVE_DECL_ETH_P_EDSA) && HAVE_DECL_ETH_P_EDSA)) +#if defined(ETH_P_EDSA) || (defined(HAVE_DECL_ETH_P_EDSA) && HAVE_DECL_ETH_P_EDSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_EDSA) == (0xDADA), "ETH_P_EDSA != 0xDADA"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_EDSA 0xDADA #endif -#if !(defined(ETH_P_IFE) || (defined(HAVE_DECL_ETH_P_IFE) && HAVE_DECL_ETH_P_IFE)) +#if defined(ETH_P_IFE) || (defined(HAVE_DECL_ETH_P_IFE) && HAVE_DECL_ETH_P_IFE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_IFE) == (0xED3E), "ETH_P_IFE != 0xED3E"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_IFE 0xED3E #endif -#if !(defined(ETH_P_AF_IUCV) || (defined(HAVE_DECL_ETH_P_AF_IUCV) && HAVE_DECL_ETH_P_AF_IUCV)) +#if defined(ETH_P_AF_IUCV) || (defined(HAVE_DECL_ETH_P_AF_IUCV) && HAVE_DECL_ETH_P_AF_IUCV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ETH_P_AF_IUCV) == (0xFBFB), "ETH_P_AF_IUCV != 0xFBFB"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ETH_P_AF_IUCV 0xFBFB #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat ethernet_protocols[] = { @@ -343,6 +716,7 @@ const struct xlat ethernet_protocols[] = { XLAT(ETH_P_8021AD), XLAT(ETH_P_802_EX1), XLAT(ETH_P_ERSPAN), + XLAT(ETH_P_PREAUTH), XLAT(ETH_P_TIPC), XLAT(ETH_P_MACSEC), XLAT(ETH_P_8021AH), @@ -367,4 +741,6 @@ const struct xlat ethernet_protocols[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ethernet_protocols.in b/xlat/ethernet_protocols.in index 1e30f77e..80c52a96 100644 --- a/xlat/ethernet_protocols.in +++ b/xlat/ethernet_protocols.in @@ -68,6 +68,7 @@ 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_PREAUTH 0x88C7 /* 802.11 Preauthentication */ ETH_P_TIPC 0x88CA /* TIPC */ ETH_P_MACSEC 0x88E5 /* 802.1ae MACsec */ ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */ diff --git a/xlat/evdev_abs.h b/xlat/evdev_abs.h index 3edd1f3a..5aa92efd 100644 --- a/xlat/evdev_abs.h +++ b/xlat/evdev_abs.h @@ -1,132 +1,345 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_abs.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -const struct xlat evdev_abs[] = { #if defined(ABS_X) || (defined(HAVE_DECL_ABS_X) && HAVE_DECL_ABS_X) - XLAT(ABS_X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_X) == (0x00), "ABS_X != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_X 0x00 #endif #if defined(ABS_Y) || (defined(HAVE_DECL_ABS_Y) && HAVE_DECL_ABS_Y) - XLAT(ABS_Y), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_Y) == (0x01), "ABS_Y != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_Y 0x01 #endif #if defined(ABS_Z) || (defined(HAVE_DECL_ABS_Z) && HAVE_DECL_ABS_Z) - XLAT(ABS_Z), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_Z) == (0x02), "ABS_Z != 0x02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_Z 0x02 #endif #if defined(ABS_RX) || (defined(HAVE_DECL_ABS_RX) && HAVE_DECL_ABS_RX) - XLAT(ABS_RX), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_RX) == (0x03), "ABS_RX != 0x03"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_RX 0x03 #endif #if defined(ABS_RY) || (defined(HAVE_DECL_ABS_RY) && HAVE_DECL_ABS_RY) - XLAT(ABS_RY), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_RY) == (0x04), "ABS_RY != 0x04"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_RY 0x04 #endif #if defined(ABS_RZ) || (defined(HAVE_DECL_ABS_RZ) && HAVE_DECL_ABS_RZ) - XLAT(ABS_RZ), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_RZ) == (0x05), "ABS_RZ != 0x05"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_RZ 0x05 #endif #if defined(ABS_THROTTLE) || (defined(HAVE_DECL_ABS_THROTTLE) && HAVE_DECL_ABS_THROTTLE) - XLAT(ABS_THROTTLE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_THROTTLE) == (0x06), "ABS_THROTTLE != 0x06"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_THROTTLE 0x06 #endif #if defined(ABS_RUDDER) || (defined(HAVE_DECL_ABS_RUDDER) && HAVE_DECL_ABS_RUDDER) - XLAT(ABS_RUDDER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_RUDDER) == (0x07), "ABS_RUDDER != 0x07"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_RUDDER 0x07 #endif #if defined(ABS_WHEEL) || (defined(HAVE_DECL_ABS_WHEEL) && HAVE_DECL_ABS_WHEEL) - XLAT(ABS_WHEEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_WHEEL) == (0x08), "ABS_WHEEL != 0x08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_WHEEL 0x08 #endif #if defined(ABS_GAS) || (defined(HAVE_DECL_ABS_GAS) && HAVE_DECL_ABS_GAS) - XLAT(ABS_GAS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_GAS) == (0x09), "ABS_GAS != 0x09"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_GAS 0x09 #endif #if defined(ABS_BRAKE) || (defined(HAVE_DECL_ABS_BRAKE) && HAVE_DECL_ABS_BRAKE) - XLAT(ABS_BRAKE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_BRAKE) == (0x0a), "ABS_BRAKE != 0x0a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_BRAKE 0x0a #endif #if defined(ABS_HAT0X) || (defined(HAVE_DECL_ABS_HAT0X) && HAVE_DECL_ABS_HAT0X) - XLAT(ABS_HAT0X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_HAT0X) == (0x10), "ABS_HAT0X != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_HAT0X 0x10 #endif #if defined(ABS_HAT0Y) || (defined(HAVE_DECL_ABS_HAT0Y) && HAVE_DECL_ABS_HAT0Y) - XLAT(ABS_HAT0Y), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_HAT0Y) == (0x11), "ABS_HAT0Y != 0x11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_HAT0Y 0x11 #endif #if defined(ABS_HAT1X) || (defined(HAVE_DECL_ABS_HAT1X) && HAVE_DECL_ABS_HAT1X) - XLAT(ABS_HAT1X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_HAT1X) == (0x12), "ABS_HAT1X != 0x12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_HAT1X 0x12 #endif #if defined(ABS_HAT1Y) || (defined(HAVE_DECL_ABS_HAT1Y) && HAVE_DECL_ABS_HAT1Y) - XLAT(ABS_HAT1Y), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_HAT1Y) == (0x13), "ABS_HAT1Y != 0x13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_HAT1Y 0x13 #endif #if defined(ABS_HAT2X) || (defined(HAVE_DECL_ABS_HAT2X) && HAVE_DECL_ABS_HAT2X) - XLAT(ABS_HAT2X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_HAT2X) == (0x14), "ABS_HAT2X != 0x14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_HAT2X 0x14 #endif #if defined(ABS_HAT2Y) || (defined(HAVE_DECL_ABS_HAT2Y) && HAVE_DECL_ABS_HAT2Y) - XLAT(ABS_HAT2Y), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_HAT2Y) == (0x15), "ABS_HAT2Y != 0x15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_HAT2Y 0x15 #endif #if defined(ABS_HAT3X) || (defined(HAVE_DECL_ABS_HAT3X) && HAVE_DECL_ABS_HAT3X) - XLAT(ABS_HAT3X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_HAT3X) == (0x16), "ABS_HAT3X != 0x16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_HAT3X 0x16 #endif #if defined(ABS_HAT3Y) || (defined(HAVE_DECL_ABS_HAT3Y) && HAVE_DECL_ABS_HAT3Y) - XLAT(ABS_HAT3Y), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_HAT3Y) == (0x17), "ABS_HAT3Y != 0x17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_HAT3Y 0x17 #endif #if defined(ABS_PRESSURE) || (defined(HAVE_DECL_ABS_PRESSURE) && HAVE_DECL_ABS_PRESSURE) - XLAT(ABS_PRESSURE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_PRESSURE) == (0x18), "ABS_PRESSURE != 0x18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_PRESSURE 0x18 #endif #if defined(ABS_DISTANCE) || (defined(HAVE_DECL_ABS_DISTANCE) && HAVE_DECL_ABS_DISTANCE) - XLAT(ABS_DISTANCE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_DISTANCE) == (0x19), "ABS_DISTANCE != 0x19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_DISTANCE 0x19 #endif #if defined(ABS_TILT_X) || (defined(HAVE_DECL_ABS_TILT_X) && HAVE_DECL_ABS_TILT_X) - XLAT(ABS_TILT_X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_TILT_X) == (0x1a), "ABS_TILT_X != 0x1a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_TILT_X 0x1a #endif #if defined(ABS_TILT_Y) || (defined(HAVE_DECL_ABS_TILT_Y) && HAVE_DECL_ABS_TILT_Y) - XLAT(ABS_TILT_Y), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_TILT_Y) == (0x1b), "ABS_TILT_Y != 0x1b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_TILT_Y 0x1b #endif #if defined(ABS_TOOL_WIDTH) || (defined(HAVE_DECL_ABS_TOOL_WIDTH) && HAVE_DECL_ABS_TOOL_WIDTH) - XLAT(ABS_TOOL_WIDTH), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_TOOL_WIDTH) == (0x1c), "ABS_TOOL_WIDTH != 0x1c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_TOOL_WIDTH 0x1c #endif #if defined(ABS_VOLUME) || (defined(HAVE_DECL_ABS_VOLUME) && HAVE_DECL_ABS_VOLUME) - XLAT(ABS_VOLUME), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_VOLUME) == (0x20), "ABS_VOLUME != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_VOLUME 0x20 #endif #if defined(ABS_MISC) || (defined(HAVE_DECL_ABS_MISC) && HAVE_DECL_ABS_MISC) - XLAT(ABS_MISC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MISC) == (0x28), "ABS_MISC != 0x28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MISC 0x28 #endif #if defined(ABS_MT_SLOT) || (defined(HAVE_DECL_ABS_MT_SLOT) && HAVE_DECL_ABS_MT_SLOT) - XLAT(ABS_MT_SLOT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_SLOT) == (0x2f), "ABS_MT_SLOT != 0x2f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_SLOT 0x2f #endif #if defined(ABS_MT_TOUCH_MAJOR) || (defined(HAVE_DECL_ABS_MT_TOUCH_MAJOR) && HAVE_DECL_ABS_MT_TOUCH_MAJOR) - XLAT(ABS_MT_TOUCH_MAJOR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_TOUCH_MAJOR) == (0x30), "ABS_MT_TOUCH_MAJOR != 0x30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_TOUCH_MAJOR 0x30 #endif #if defined(ABS_MT_TOUCH_MINOR) || (defined(HAVE_DECL_ABS_MT_TOUCH_MINOR) && HAVE_DECL_ABS_MT_TOUCH_MINOR) - XLAT(ABS_MT_TOUCH_MINOR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_TOUCH_MINOR) == (0x31), "ABS_MT_TOUCH_MINOR != 0x31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_TOUCH_MINOR 0x31 #endif #if defined(ABS_MT_WIDTH_MAJOR) || (defined(HAVE_DECL_ABS_MT_WIDTH_MAJOR) && HAVE_DECL_ABS_MT_WIDTH_MAJOR) - XLAT(ABS_MT_WIDTH_MAJOR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_WIDTH_MAJOR) == (0x32), "ABS_MT_WIDTH_MAJOR != 0x32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_WIDTH_MAJOR 0x32 #endif #if defined(ABS_MT_WIDTH_MINOR) || (defined(HAVE_DECL_ABS_MT_WIDTH_MINOR) && HAVE_DECL_ABS_MT_WIDTH_MINOR) - XLAT(ABS_MT_WIDTH_MINOR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_WIDTH_MINOR) == (0x33), "ABS_MT_WIDTH_MINOR != 0x33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_WIDTH_MINOR 0x33 #endif #if defined(ABS_MT_ORIENTATION) || (defined(HAVE_DECL_ABS_MT_ORIENTATION) && HAVE_DECL_ABS_MT_ORIENTATION) - XLAT(ABS_MT_ORIENTATION), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_ORIENTATION) == (0x34), "ABS_MT_ORIENTATION != 0x34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_ORIENTATION 0x34 #endif #if defined(ABS_MT_POSITION_X) || (defined(HAVE_DECL_ABS_MT_POSITION_X) && HAVE_DECL_ABS_MT_POSITION_X) - XLAT(ABS_MT_POSITION_X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_POSITION_X) == (0x35), "ABS_MT_POSITION_X != 0x35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_POSITION_X 0x35 #endif #if defined(ABS_MT_POSITION_Y) || (defined(HAVE_DECL_ABS_MT_POSITION_Y) && HAVE_DECL_ABS_MT_POSITION_Y) - XLAT(ABS_MT_POSITION_Y), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_POSITION_Y) == (0x36), "ABS_MT_POSITION_Y != 0x36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_POSITION_Y 0x36 #endif #if defined(ABS_MT_TOOL_TYPE) || (defined(HAVE_DECL_ABS_MT_TOOL_TYPE) && HAVE_DECL_ABS_MT_TOOL_TYPE) - XLAT(ABS_MT_TOOL_TYPE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_TOOL_TYPE) == (0x37), "ABS_MT_TOOL_TYPE != 0x37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_TOOL_TYPE 0x37 #endif #if defined(ABS_MT_BLOB_ID) || (defined(HAVE_DECL_ABS_MT_BLOB_ID) && HAVE_DECL_ABS_MT_BLOB_ID) - XLAT(ABS_MT_BLOB_ID), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_BLOB_ID) == (0x38), "ABS_MT_BLOB_ID != 0x38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_BLOB_ID 0x38 #endif #if defined(ABS_MT_TRACKING_ID) || (defined(HAVE_DECL_ABS_MT_TRACKING_ID) && HAVE_DECL_ABS_MT_TRACKING_ID) - XLAT(ABS_MT_TRACKING_ID), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_TRACKING_ID) == (0x39), "ABS_MT_TRACKING_ID != 0x39"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_TRACKING_ID 0x39 #endif #if defined(ABS_MT_PRESSURE) || (defined(HAVE_DECL_ABS_MT_PRESSURE) && HAVE_DECL_ABS_MT_PRESSURE) - XLAT(ABS_MT_PRESSURE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_PRESSURE) == (0x3a), "ABS_MT_PRESSURE != 0x3a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_PRESSURE 0x3a #endif #if defined(ABS_MT_DISTANCE) || (defined(HAVE_DECL_ABS_MT_DISTANCE) && HAVE_DECL_ABS_MT_DISTANCE) - XLAT(ABS_MT_DISTANCE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_DISTANCE) == (0x3b), "ABS_MT_DISTANCE != 0x3b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_DISTANCE 0x3b #endif #if defined(ABS_MT_TOOL_X) || (defined(HAVE_DECL_ABS_MT_TOOL_X) && HAVE_DECL_ABS_MT_TOOL_X) - XLAT(ABS_MT_TOOL_X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_TOOL_X) == (0x3c), "ABS_MT_TOOL_X != 0x3c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_TOOL_X 0x3c #endif #if defined(ABS_MT_TOOL_Y) || (defined(HAVE_DECL_ABS_MT_TOOL_Y) && HAVE_DECL_ABS_MT_TOOL_Y) - XLAT(ABS_MT_TOOL_Y), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ABS_MT_TOOL_Y) == (0x3d), "ABS_MT_TOOL_Y != 0x3d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ABS_MT_TOOL_Y 0x3d #endif + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS + +const struct xlat evdev_abs[] = { + [ABS_X] = XLAT(ABS_X), + [ABS_Y] = XLAT(ABS_Y), + [ABS_Z] = XLAT(ABS_Z), + [ABS_RX] = XLAT(ABS_RX), + [ABS_RY] = XLAT(ABS_RY), + [ABS_RZ] = XLAT(ABS_RZ), + [ABS_THROTTLE] = XLAT(ABS_THROTTLE), + [ABS_RUDDER] = XLAT(ABS_RUDDER), + [ABS_WHEEL] = XLAT(ABS_WHEEL), + [ABS_GAS] = XLAT(ABS_GAS), + [ABS_BRAKE] = XLAT(ABS_BRAKE), + [ABS_HAT0X] = XLAT(ABS_HAT0X), + [ABS_HAT0Y] = XLAT(ABS_HAT0Y), + [ABS_HAT1X] = XLAT(ABS_HAT1X), + [ABS_HAT1Y] = XLAT(ABS_HAT1Y), + [ABS_HAT2X] = XLAT(ABS_HAT2X), + [ABS_HAT2Y] = XLAT(ABS_HAT2Y), + [ABS_HAT3X] = XLAT(ABS_HAT3X), + [ABS_HAT3Y] = XLAT(ABS_HAT3Y), + [ABS_PRESSURE] = XLAT(ABS_PRESSURE), + [ABS_DISTANCE] = XLAT(ABS_DISTANCE), + [ABS_TILT_X] = XLAT(ABS_TILT_X), + [ABS_TILT_Y] = XLAT(ABS_TILT_Y), + [ABS_TOOL_WIDTH] = XLAT(ABS_TOOL_WIDTH), + [ABS_VOLUME] = XLAT(ABS_VOLUME), + [ABS_MISC] = XLAT(ABS_MISC), + [ABS_MT_SLOT] = XLAT(ABS_MT_SLOT), + [ABS_MT_TOUCH_MAJOR] = XLAT(ABS_MT_TOUCH_MAJOR), + [ABS_MT_TOUCH_MINOR] = XLAT(ABS_MT_TOUCH_MINOR), + [ABS_MT_WIDTH_MAJOR] = XLAT(ABS_MT_WIDTH_MAJOR), + [ABS_MT_WIDTH_MINOR] = XLAT(ABS_MT_WIDTH_MINOR), + [ABS_MT_ORIENTATION] = XLAT(ABS_MT_ORIENTATION), + [ABS_MT_POSITION_X] = XLAT(ABS_MT_POSITION_X), + [ABS_MT_POSITION_Y] = XLAT(ABS_MT_POSITION_Y), + [ABS_MT_TOOL_TYPE] = XLAT(ABS_MT_TOOL_TYPE), + [ABS_MT_BLOB_ID] = XLAT(ABS_MT_BLOB_ID), + [ABS_MT_TRACKING_ID] = XLAT(ABS_MT_TRACKING_ID), + [ABS_MT_PRESSURE] = XLAT(ABS_MT_PRESSURE), + [ABS_MT_DISTANCE] = XLAT(ABS_MT_DISTANCE), + [ABS_MT_TOOL_X] = XLAT(ABS_MT_TOOL_X), + [ABS_MT_TOOL_Y] = XLAT(ABS_MT_TOOL_Y), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_abs.in b/xlat/evdev_abs.in index ec8c2f43..d65b8463 100644 --- a/xlat/evdev_abs.in +++ b/xlat/evdev_abs.in @@ -1,41 +1,42 @@ -ABS_X -ABS_Y -ABS_Z -ABS_RX -ABS_RY -ABS_RZ -ABS_THROTTLE -ABS_RUDDER -ABS_WHEEL -ABS_GAS -ABS_BRAKE -ABS_HAT0X -ABS_HAT0Y -ABS_HAT1X -ABS_HAT1Y -ABS_HAT2X -ABS_HAT2Y -ABS_HAT3X -ABS_HAT3Y -ABS_PRESSURE -ABS_DISTANCE -ABS_TILT_X -ABS_TILT_Y -ABS_TOOL_WIDTH -ABS_VOLUME -ABS_MISC -ABS_MT_SLOT -ABS_MT_TOUCH_MAJOR -ABS_MT_TOUCH_MINOR -ABS_MT_WIDTH_MAJOR -ABS_MT_WIDTH_MINOR -ABS_MT_ORIENTATION -ABS_MT_POSITION_X -ABS_MT_POSITION_Y -ABS_MT_TOOL_TYPE -ABS_MT_BLOB_ID -ABS_MT_TRACKING_ID -ABS_MT_PRESSURE -ABS_MT_DISTANCE -ABS_MT_TOOL_X -ABS_MT_TOOL_Y +#value_indexed +ABS_X 0x00 +ABS_Y 0x01 +ABS_Z 0x02 +ABS_RX 0x03 +ABS_RY 0x04 +ABS_RZ 0x05 +ABS_THROTTLE 0x06 +ABS_RUDDER 0x07 +ABS_WHEEL 0x08 +ABS_GAS 0x09 +ABS_BRAKE 0x0a +ABS_HAT0X 0x10 +ABS_HAT0Y 0x11 +ABS_HAT1X 0x12 +ABS_HAT1Y 0x13 +ABS_HAT2X 0x14 +ABS_HAT2Y 0x15 +ABS_HAT3X 0x16 +ABS_HAT3Y 0x17 +ABS_PRESSURE 0x18 +ABS_DISTANCE 0x19 +ABS_TILT_X 0x1a +ABS_TILT_Y 0x1b +ABS_TOOL_WIDTH 0x1c +ABS_VOLUME 0x20 +ABS_MISC 0x28 +ABS_MT_SLOT 0x2f +ABS_MT_TOUCH_MAJOR 0x30 +ABS_MT_TOUCH_MINOR 0x31 +ABS_MT_WIDTH_MAJOR 0x32 +ABS_MT_WIDTH_MINOR 0x33 +ABS_MT_ORIENTATION 0x34 +ABS_MT_POSITION_X 0x35 +ABS_MT_POSITION_Y 0x36 +ABS_MT_TOOL_TYPE 0x37 +ABS_MT_BLOB_ID 0x38 +ABS_MT_TRACKING_ID 0x39 +ABS_MT_PRESSURE 0x3a +ABS_MT_DISTANCE 0x3b +ABS_MT_TOOL_X 0x3c +ABS_MT_TOOL_Y 0x3d diff --git a/xlat/evdev_autorepeat.h b/xlat/evdev_autorepeat.h index d06a02b3..c6edd503 100644 --- a/xlat/evdev_autorepeat.h +++ b/xlat/evdev_autorepeat.h @@ -1,20 +1,38 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_autorepeat.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_autorepeat in mpers mode - -#else - -static -const struct xlat evdev_autorepeat[] = { #if defined(REP_DELAY) || (defined(HAVE_DECL_REP_DELAY) && HAVE_DECL_REP_DELAY) - XLAT(REP_DELAY), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REP_DELAY) == (0x00), "REP_DELAY != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REP_DELAY 0x00 #endif #if defined(REP_PERIOD) || (defined(HAVE_DECL_REP_PERIOD) && HAVE_DECL_REP_PERIOD) - XLAT(REP_PERIOD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REP_PERIOD) == (0x01), "REP_PERIOD != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REP_PERIOD 0x01 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_autorepeat in mpers mode + +# else + +static +const struct xlat evdev_autorepeat[] = { + [REP_DELAY] = XLAT(REP_DELAY), + [REP_PERIOD] = XLAT(REP_PERIOD), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_autorepeat.in b/xlat/evdev_autorepeat.in index ac8b8fb5..7ab7e2e7 100644 --- a/xlat/evdev_autorepeat.in +++ b/xlat/evdev_autorepeat.in @@ -1,2 +1,3 @@ -REP_DELAY -REP_PERIOD +#value_indexed +REP_DELAY 0x00 +REP_PERIOD 0x01 diff --git a/xlat/evdev_ev.h b/xlat/evdev_ev.h index 1d49445e..30adf93a 100644 --- a/xlat/evdev_ev.h +++ b/xlat/evdev_ev.h @@ -1,50 +1,118 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_ev.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_ev in mpers mode - -#else - -static -const struct xlat evdev_ev[] = { #if defined(EV_SYN) || (defined(HAVE_DECL_EV_SYN) && HAVE_DECL_EV_SYN) - XLAT(EV_SYN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_SYN) == (0x00), "EV_SYN != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_SYN 0x00 #endif #if defined(EV_KEY) || (defined(HAVE_DECL_EV_KEY) && HAVE_DECL_EV_KEY) - XLAT(EV_KEY), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_KEY) == (0x01), "EV_KEY != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_KEY 0x01 #endif #if defined(EV_REL) || (defined(HAVE_DECL_EV_REL) && HAVE_DECL_EV_REL) - XLAT(EV_REL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_REL) == (0x02), "EV_REL != 0x02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_REL 0x02 #endif #if defined(EV_ABS) || (defined(HAVE_DECL_EV_ABS) && HAVE_DECL_EV_ABS) - XLAT(EV_ABS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_ABS) == (0x03), "EV_ABS != 0x03"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_ABS 0x03 #endif #if defined(EV_MSC) || (defined(HAVE_DECL_EV_MSC) && HAVE_DECL_EV_MSC) - XLAT(EV_MSC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_MSC) == (0x04), "EV_MSC != 0x04"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_MSC 0x04 #endif #if defined(EV_SW) || (defined(HAVE_DECL_EV_SW) && HAVE_DECL_EV_SW) - XLAT(EV_SW), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_SW) == (0x05), "EV_SW != 0x05"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_SW 0x05 #endif #if defined(EV_LED) || (defined(HAVE_DECL_EV_LED) && HAVE_DECL_EV_LED) - XLAT(EV_LED), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_LED) == (0x11), "EV_LED != 0x11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_LED 0x11 #endif #if defined(EV_SND) || (defined(HAVE_DECL_EV_SND) && HAVE_DECL_EV_SND) - XLAT(EV_SND), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_SND) == (0x12), "EV_SND != 0x12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_SND 0x12 #endif #if defined(EV_REP) || (defined(HAVE_DECL_EV_REP) && HAVE_DECL_EV_REP) - XLAT(EV_REP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_REP) == (0x14), "EV_REP != 0x14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_REP 0x14 #endif #if defined(EV_FF) || (defined(HAVE_DECL_EV_FF) && HAVE_DECL_EV_FF) - XLAT(EV_FF), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_FF) == (0x15), "EV_FF != 0x15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_FF 0x15 #endif #if defined(EV_PWR) || (defined(HAVE_DECL_EV_PWR) && HAVE_DECL_EV_PWR) - XLAT(EV_PWR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_PWR) == (0x16), "EV_PWR != 0x16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_PWR 0x16 #endif #if defined(EV_FF_STATUS) || (defined(HAVE_DECL_EV_FF_STATUS) && HAVE_DECL_EV_FF_STATUS) - XLAT(EV_FF_STATUS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EV_FF_STATUS) == (0x17), "EV_FF_STATUS != 0x17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define EV_FF_STATUS 0x17 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_ev in mpers mode + +# else + +static +const struct xlat evdev_ev[] = { + XLAT(EV_SYN), + XLAT(EV_KEY), + XLAT(EV_REL), + XLAT(EV_ABS), + XLAT(EV_MSC), + XLAT(EV_SW), + XLAT(EV_LED), + XLAT(EV_SND), + XLAT(EV_REP), + XLAT(EV_FF), + XLAT(EV_PWR), + XLAT(EV_FF_STATUS), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_ev.in b/xlat/evdev_ev.in index 0974b591..4d81952b 100644 --- a/xlat/evdev_ev.in +++ b/xlat/evdev_ev.in @@ -1,12 +1,12 @@ -EV_SYN -EV_KEY -EV_REL -EV_ABS -EV_MSC -EV_SW -EV_LED -EV_SND -EV_REP -EV_FF -EV_PWR -EV_FF_STATUS +EV_SYN 0x00 +EV_KEY 0x01 +EV_REL 0x02 +EV_ABS 0x03 +EV_MSC 0x04 +EV_SW 0x05 +EV_LED 0x11 +EV_SND 0x12 +EV_REP 0x14 +EV_FF 0x15 +EV_PWR 0x16 +EV_FF_STATUS 0x17 diff --git a/xlat/evdev_ff_status.h b/xlat/evdev_ff_status.h index 107bb1a3..947d545d 100644 --- a/xlat/evdev_ff_status.h +++ b/xlat/evdev_ff_status.h @@ -1,20 +1,38 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_ff_status.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_ff_status in mpers mode - -#else - -static -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), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_STATUS_STOPPED) == (0x00), "FF_STATUS_STOPPED != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_STATUS_STOPPED 0x00 #endif #if defined(FF_STATUS_PLAYING) || (defined(HAVE_DECL_FF_STATUS_PLAYING) && HAVE_DECL_FF_STATUS_PLAYING) - XLAT(FF_STATUS_PLAYING), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_STATUS_PLAYING) == (0x01), "FF_STATUS_PLAYING != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_STATUS_PLAYING 0x01 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_ff_status in mpers mode + +# else + +static +const struct xlat evdev_ff_status[] = { + [FF_STATUS_STOPPED] = XLAT(FF_STATUS_STOPPED), + [FF_STATUS_PLAYING] = XLAT(FF_STATUS_PLAYING), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_ff_status.in b/xlat/evdev_ff_status.in index 3f887101..1f2815f7 100644 --- a/xlat/evdev_ff_status.in +++ b/xlat/evdev_ff_status.in @@ -1,2 +1,3 @@ -FF_STATUS_STOPPED -FF_STATUS_PLAYING +#value_indexed +FF_STATUS_STOPPED 0x00 +FF_STATUS_PLAYING 0x01 diff --git a/xlat/evdev_ff_types.h b/xlat/evdev_ff_types.h index 35dddc96..3bc6b042 100644 --- a/xlat/evdev_ff_types.h +++ b/xlat/evdev_ff_types.h @@ -1,62 +1,151 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_ff_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_ff_types in mpers mode - -#else - -static -const struct xlat evdev_ff_types[] = { #if defined(FF_RUMBLE) || (defined(HAVE_DECL_FF_RUMBLE) && HAVE_DECL_FF_RUMBLE) - XLAT(FF_RUMBLE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_RUMBLE) == (0x50), "FF_RUMBLE != 0x50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_RUMBLE 0x50 #endif #if defined(FF_PERIODIC) || (defined(HAVE_DECL_FF_PERIODIC) && HAVE_DECL_FF_PERIODIC) - XLAT(FF_PERIODIC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_PERIODIC) == (0x51), "FF_PERIODIC != 0x51"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_PERIODIC 0x51 #endif #if defined(FF_CONSTANT) || (defined(HAVE_DECL_FF_CONSTANT) && HAVE_DECL_FF_CONSTANT) - XLAT(FF_CONSTANT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_CONSTANT) == (0x52), "FF_CONSTANT != 0x52"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_CONSTANT 0x52 #endif #if defined(FF_SPRING) || (defined(HAVE_DECL_FF_SPRING) && HAVE_DECL_FF_SPRING) - XLAT(FF_SPRING), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_SPRING) == (0x53), "FF_SPRING != 0x53"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_SPRING 0x53 #endif #if defined(FF_FRICTION) || (defined(HAVE_DECL_FF_FRICTION) && HAVE_DECL_FF_FRICTION) - XLAT(FF_FRICTION), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_FRICTION) == (0x54), "FF_FRICTION != 0x54"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_FRICTION 0x54 #endif #if defined(FF_DAMPER) || (defined(HAVE_DECL_FF_DAMPER) && HAVE_DECL_FF_DAMPER) - XLAT(FF_DAMPER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_DAMPER) == (0x55), "FF_DAMPER != 0x55"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_DAMPER 0x55 #endif #if defined(FF_INERTIA) || (defined(HAVE_DECL_FF_INERTIA) && HAVE_DECL_FF_INERTIA) - XLAT(FF_INERTIA), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_INERTIA) == (0x56), "FF_INERTIA != 0x56"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_INERTIA 0x56 #endif #if defined(FF_RAMP) || (defined(HAVE_DECL_FF_RAMP) && HAVE_DECL_FF_RAMP) - XLAT(FF_RAMP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_RAMP) == (0x57), "FF_RAMP != 0x57"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_RAMP 0x57 #endif #if defined(FF_SQUARE) || (defined(HAVE_DECL_FF_SQUARE) && HAVE_DECL_FF_SQUARE) - XLAT(FF_SQUARE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_SQUARE) == (0x58), "FF_SQUARE != 0x58"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_SQUARE 0x58 #endif #if defined(FF_TRIANGLE) || (defined(HAVE_DECL_FF_TRIANGLE) && HAVE_DECL_FF_TRIANGLE) - XLAT(FF_TRIANGLE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_TRIANGLE) == (0x59), "FF_TRIANGLE != 0x59"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_TRIANGLE 0x59 #endif #if defined(FF_SINE) || (defined(HAVE_DECL_FF_SINE) && HAVE_DECL_FF_SINE) - XLAT(FF_SINE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_SINE) == (0x5a), "FF_SINE != 0x5a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_SINE 0x5a #endif #if defined(FF_SAW_UP) || (defined(HAVE_DECL_FF_SAW_UP) && HAVE_DECL_FF_SAW_UP) - XLAT(FF_SAW_UP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_SAW_UP) == (0x5b), "FF_SAW_UP != 0x5b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_SAW_UP 0x5b #endif #if defined(FF_SAW_DOWN) || (defined(HAVE_DECL_FF_SAW_DOWN) && HAVE_DECL_FF_SAW_DOWN) - XLAT(FF_SAW_DOWN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_SAW_DOWN) == (0x5c), "FF_SAW_DOWN != 0x5c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_SAW_DOWN 0x5c #endif #if defined(FF_CUSTOM) || (defined(HAVE_DECL_FF_CUSTOM) && HAVE_DECL_FF_CUSTOM) - XLAT(FF_CUSTOM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_CUSTOM) == (0x5d), "FF_CUSTOM != 0x5d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_CUSTOM 0x5d #endif #if defined(FF_GAIN) || (defined(HAVE_DECL_FF_GAIN) && HAVE_DECL_FF_GAIN) - XLAT(FF_GAIN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_GAIN) == (0x60), "FF_GAIN != 0x60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_GAIN 0x60 #endif #if defined(FF_AUTOCENTER) || (defined(HAVE_DECL_FF_AUTOCENTER) && HAVE_DECL_FF_AUTOCENTER) - XLAT(FF_AUTOCENTER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FF_AUTOCENTER) == (0x61), "FF_AUTOCENTER != 0x61"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FF_AUTOCENTER 0x61 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_ff_types in mpers mode + +# else + +static +const struct xlat evdev_ff_types[] = { + + XLAT(FF_RUMBLE), + XLAT(FF_PERIODIC), + XLAT(FF_CONSTANT), + XLAT(FF_SPRING), + XLAT(FF_FRICTION), + XLAT(FF_DAMPER), + XLAT(FF_INERTIA), + XLAT(FF_RAMP), + XLAT(FF_SQUARE), + XLAT(FF_TRIANGLE), + XLAT(FF_SINE), + XLAT(FF_SAW_UP), + XLAT(FF_SAW_DOWN), + XLAT(FF_CUSTOM), + XLAT(FF_GAIN), + XLAT(FF_AUTOCENTER), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_ff_types.in b/xlat/evdev_ff_types.in index c6714f8f..72b87c53 100644 --- a/xlat/evdev_ff_types.in +++ b/xlat/evdev_ff_types.in @@ -1,16 +1,17 @@ -FF_RUMBLE -FF_PERIODIC -FF_CONSTANT -FF_SPRING -FF_FRICTION -FF_DAMPER -FF_INERTIA -FF_RAMP -FF_SQUARE -FF_TRIANGLE -FF_SINE -FF_SAW_UP -FF_SAW_DOWN -FF_CUSTOM -FF_GAIN -FF_AUTOCENTER +/* sort -k2,2 */ +FF_RUMBLE 0x50 +FF_PERIODIC 0x51 +FF_CONSTANT 0x52 +FF_SPRING 0x53 +FF_FRICTION 0x54 +FF_DAMPER 0x55 +FF_INERTIA 0x56 +FF_RAMP 0x57 +FF_SQUARE 0x58 +FF_TRIANGLE 0x59 +FF_SINE 0x5a +FF_SAW_UP 0x5b +FF_SAW_DOWN 0x5c +FF_CUSTOM 0x5d +FF_GAIN 0x60 +FF_AUTOCENTER 0x61 diff --git a/xlat/evdev_keycode.h b/xlat/evdev_keycode.h index 44f28ef5..9fedfb92 100644 --- a/xlat/evdev_keycode.h +++ b/xlat/evdev_keycode.h @@ -1,2259 +1,4474 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_keycode.in; do not edit. */ -#if !(defined(KEY_RESERVED) || (defined(HAVE_DECL_KEY_RESERVED) && HAVE_DECL_KEY_RESERVED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KEY_RESERVED) || (defined(HAVE_DECL_KEY_RESERVED) && HAVE_DECL_KEY_RESERVED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RESERVED) == (0), "KEY_RESERVED != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RESERVED 0 #endif -#if !(defined(KEY_ESC) || (defined(HAVE_DECL_KEY_ESC) && HAVE_DECL_KEY_ESC)) +#if defined(KEY_ESC) || (defined(HAVE_DECL_KEY_ESC) && HAVE_DECL_KEY_ESC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ESC) == (1), "KEY_ESC != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ESC 1 #endif -#if !(defined(KEY_1) || (defined(HAVE_DECL_KEY_1) && HAVE_DECL_KEY_1)) +#if defined(KEY_1) || (defined(HAVE_DECL_KEY_1) && HAVE_DECL_KEY_1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_1) == (2), "KEY_1 != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_1 2 #endif -#if !(defined(KEY_2) || (defined(HAVE_DECL_KEY_2) && HAVE_DECL_KEY_2)) +#if defined(KEY_2) || (defined(HAVE_DECL_KEY_2) && HAVE_DECL_KEY_2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_2) == (3), "KEY_2 != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_2 3 #endif -#if !(defined(KEY_3) || (defined(HAVE_DECL_KEY_3) && HAVE_DECL_KEY_3)) +#if defined(KEY_3) || (defined(HAVE_DECL_KEY_3) && HAVE_DECL_KEY_3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_3) == (4), "KEY_3 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_3 4 #endif -#if !(defined(KEY_4) || (defined(HAVE_DECL_KEY_4) && HAVE_DECL_KEY_4)) +#if defined(KEY_4) || (defined(HAVE_DECL_KEY_4) && HAVE_DECL_KEY_4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_4) == (5), "KEY_4 != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_4 5 #endif -#if !(defined(KEY_5) || (defined(HAVE_DECL_KEY_5) && HAVE_DECL_KEY_5)) +#if defined(KEY_5) || (defined(HAVE_DECL_KEY_5) && HAVE_DECL_KEY_5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_5) == (6), "KEY_5 != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_5 6 #endif -#if !(defined(KEY_6) || (defined(HAVE_DECL_KEY_6) && HAVE_DECL_KEY_6)) +#if defined(KEY_6) || (defined(HAVE_DECL_KEY_6) && HAVE_DECL_KEY_6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_6) == (7), "KEY_6 != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_6 7 #endif -#if !(defined(KEY_7) || (defined(HAVE_DECL_KEY_7) && HAVE_DECL_KEY_7)) +#if defined(KEY_7) || (defined(HAVE_DECL_KEY_7) && HAVE_DECL_KEY_7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_7) == (8), "KEY_7 != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_7 8 #endif -#if !(defined(KEY_8) || (defined(HAVE_DECL_KEY_8) && HAVE_DECL_KEY_8)) +#if defined(KEY_8) || (defined(HAVE_DECL_KEY_8) && HAVE_DECL_KEY_8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_8) == (9), "KEY_8 != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_8 9 #endif -#if !(defined(KEY_9) || (defined(HAVE_DECL_KEY_9) && HAVE_DECL_KEY_9)) +#if defined(KEY_9) || (defined(HAVE_DECL_KEY_9) && HAVE_DECL_KEY_9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_9) == (10), "KEY_9 != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_9 10 #endif -#if !(defined(KEY_0) || (defined(HAVE_DECL_KEY_0) && HAVE_DECL_KEY_0)) +#if defined(KEY_0) || (defined(HAVE_DECL_KEY_0) && HAVE_DECL_KEY_0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_0) == (11), "KEY_0 != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_0 11 #endif -#if !(defined(KEY_MINUS) || (defined(HAVE_DECL_KEY_MINUS) && HAVE_DECL_KEY_MINUS)) +#if defined(KEY_MINUS) || (defined(HAVE_DECL_KEY_MINUS) && HAVE_DECL_KEY_MINUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MINUS) == (12), "KEY_MINUS != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MINUS 12 #endif -#if !(defined(KEY_EQUAL) || (defined(HAVE_DECL_KEY_EQUAL) && HAVE_DECL_KEY_EQUAL)) +#if defined(KEY_EQUAL) || (defined(HAVE_DECL_KEY_EQUAL) && HAVE_DECL_KEY_EQUAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_EQUAL) == (13), "KEY_EQUAL != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_EQUAL 13 #endif -#if !(defined(KEY_BACKSPACE) || (defined(HAVE_DECL_KEY_BACKSPACE) && HAVE_DECL_KEY_BACKSPACE)) +#if defined(KEY_BACKSPACE) || (defined(HAVE_DECL_KEY_BACKSPACE) && HAVE_DECL_KEY_BACKSPACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BACKSPACE) == (14), "KEY_BACKSPACE != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BACKSPACE 14 #endif -#if !(defined(KEY_TAB) || (defined(HAVE_DECL_KEY_TAB) && HAVE_DECL_KEY_TAB)) +#if defined(KEY_TAB) || (defined(HAVE_DECL_KEY_TAB) && HAVE_DECL_KEY_TAB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TAB) == (15), "KEY_TAB != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TAB 15 #endif -#if !(defined(KEY_Q) || (defined(HAVE_DECL_KEY_Q) && HAVE_DECL_KEY_Q)) +#if defined(KEY_Q) || (defined(HAVE_DECL_KEY_Q) && HAVE_DECL_KEY_Q) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_Q) == (16), "KEY_Q != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_Q 16 #endif -#if !(defined(KEY_W) || (defined(HAVE_DECL_KEY_W) && HAVE_DECL_KEY_W)) +#if defined(KEY_W) || (defined(HAVE_DECL_KEY_W) && HAVE_DECL_KEY_W) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_W) == (17), "KEY_W != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_W 17 #endif -#if !(defined(KEY_E) || (defined(HAVE_DECL_KEY_E) && HAVE_DECL_KEY_E)) +#if defined(KEY_E) || (defined(HAVE_DECL_KEY_E) && HAVE_DECL_KEY_E) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_E) == (18), "KEY_E != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_E 18 #endif -#if !(defined(KEY_R) || (defined(HAVE_DECL_KEY_R) && HAVE_DECL_KEY_R)) +#if defined(KEY_R) || (defined(HAVE_DECL_KEY_R) && HAVE_DECL_KEY_R) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_R) == (19), "KEY_R != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_R 19 #endif -#if !(defined(KEY_T) || (defined(HAVE_DECL_KEY_T) && HAVE_DECL_KEY_T)) +#if defined(KEY_T) || (defined(HAVE_DECL_KEY_T) && HAVE_DECL_KEY_T) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_T) == (20), "KEY_T != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_T 20 #endif -#if !(defined(KEY_Y) || (defined(HAVE_DECL_KEY_Y) && HAVE_DECL_KEY_Y)) +#if defined(KEY_Y) || (defined(HAVE_DECL_KEY_Y) && HAVE_DECL_KEY_Y) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_Y) == (21), "KEY_Y != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_Y 21 #endif -#if !(defined(KEY_U) || (defined(HAVE_DECL_KEY_U) && HAVE_DECL_KEY_U)) +#if defined(KEY_U) || (defined(HAVE_DECL_KEY_U) && HAVE_DECL_KEY_U) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_U) == (22), "KEY_U != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_U 22 #endif -#if !(defined(KEY_I) || (defined(HAVE_DECL_KEY_I) && HAVE_DECL_KEY_I)) +#if defined(KEY_I) || (defined(HAVE_DECL_KEY_I) && HAVE_DECL_KEY_I) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_I) == (23), "KEY_I != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_I 23 #endif -#if !(defined(KEY_O) || (defined(HAVE_DECL_KEY_O) && HAVE_DECL_KEY_O)) +#if defined(KEY_O) || (defined(HAVE_DECL_KEY_O) && HAVE_DECL_KEY_O) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_O) == (24), "KEY_O != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_O 24 #endif -#if !(defined(KEY_P) || (defined(HAVE_DECL_KEY_P) && HAVE_DECL_KEY_P)) +#if defined(KEY_P) || (defined(HAVE_DECL_KEY_P) && HAVE_DECL_KEY_P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_P) == (25), "KEY_P != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_P 25 #endif -#if !(defined(KEY_LEFTBRACE) || (defined(HAVE_DECL_KEY_LEFTBRACE) && HAVE_DECL_KEY_LEFTBRACE)) +#if defined(KEY_LEFTBRACE) || (defined(HAVE_DECL_KEY_LEFTBRACE) && HAVE_DECL_KEY_LEFTBRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LEFTBRACE) == (26), "KEY_LEFTBRACE != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LEFTBRACE 26 #endif -#if !(defined(KEY_RIGHTBRACE) || (defined(HAVE_DECL_KEY_RIGHTBRACE) && HAVE_DECL_KEY_RIGHTBRACE)) +#if defined(KEY_RIGHTBRACE) || (defined(HAVE_DECL_KEY_RIGHTBRACE) && HAVE_DECL_KEY_RIGHTBRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RIGHTBRACE) == (27), "KEY_RIGHTBRACE != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RIGHTBRACE 27 #endif -#if !(defined(KEY_ENTER) || (defined(HAVE_DECL_KEY_ENTER) && HAVE_DECL_KEY_ENTER)) +#if defined(KEY_ENTER) || (defined(HAVE_DECL_KEY_ENTER) && HAVE_DECL_KEY_ENTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ENTER) == (28), "KEY_ENTER != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ENTER 28 #endif -#if !(defined(KEY_LEFTCTRL) || (defined(HAVE_DECL_KEY_LEFTCTRL) && HAVE_DECL_KEY_LEFTCTRL)) +#if defined(KEY_LEFTCTRL) || (defined(HAVE_DECL_KEY_LEFTCTRL) && HAVE_DECL_KEY_LEFTCTRL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LEFTCTRL) == (29), "KEY_LEFTCTRL != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LEFTCTRL 29 #endif -#if !(defined(KEY_A) || (defined(HAVE_DECL_KEY_A) && HAVE_DECL_KEY_A)) +#if defined(KEY_A) || (defined(HAVE_DECL_KEY_A) && HAVE_DECL_KEY_A) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_A) == (30), "KEY_A != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_A 30 #endif -#if !(defined(KEY_S) || (defined(HAVE_DECL_KEY_S) && HAVE_DECL_KEY_S)) +#if defined(KEY_S) || (defined(HAVE_DECL_KEY_S) && HAVE_DECL_KEY_S) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_S) == (31), "KEY_S != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_S 31 #endif -#if !(defined(KEY_D) || (defined(HAVE_DECL_KEY_D) && HAVE_DECL_KEY_D)) +#if defined(KEY_D) || (defined(HAVE_DECL_KEY_D) && HAVE_DECL_KEY_D) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_D) == (32), "KEY_D != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_D 32 #endif -#if !(defined(KEY_F) || (defined(HAVE_DECL_KEY_F) && HAVE_DECL_KEY_F)) +#if defined(KEY_F) || (defined(HAVE_DECL_KEY_F) && HAVE_DECL_KEY_F) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F) == (33), "KEY_F != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F 33 #endif -#if !(defined(KEY_G) || (defined(HAVE_DECL_KEY_G) && HAVE_DECL_KEY_G)) +#if defined(KEY_G) || (defined(HAVE_DECL_KEY_G) && HAVE_DECL_KEY_G) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_G) == (34), "KEY_G != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_G 34 #endif -#if !(defined(KEY_H) || (defined(HAVE_DECL_KEY_H) && HAVE_DECL_KEY_H)) +#if defined(KEY_H) || (defined(HAVE_DECL_KEY_H) && HAVE_DECL_KEY_H) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_H) == (35), "KEY_H != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_H 35 #endif -#if !(defined(KEY_J) || (defined(HAVE_DECL_KEY_J) && HAVE_DECL_KEY_J)) +#if defined(KEY_J) || (defined(HAVE_DECL_KEY_J) && HAVE_DECL_KEY_J) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_J) == (36), "KEY_J != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_J 36 #endif -#if !(defined(KEY_K) || (defined(HAVE_DECL_KEY_K) && HAVE_DECL_KEY_K)) +#if defined(KEY_K) || (defined(HAVE_DECL_KEY_K) && HAVE_DECL_KEY_K) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_K) == (37), "KEY_K != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_K 37 #endif -#if !(defined(KEY_L) || (defined(HAVE_DECL_KEY_L) && HAVE_DECL_KEY_L)) +#if defined(KEY_L) || (defined(HAVE_DECL_KEY_L) && HAVE_DECL_KEY_L) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_L) == (38), "KEY_L != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_L 38 #endif -#if !(defined(KEY_SEMICOLON) || (defined(HAVE_DECL_KEY_SEMICOLON) && HAVE_DECL_KEY_SEMICOLON)) +#if defined(KEY_SEMICOLON) || (defined(HAVE_DECL_KEY_SEMICOLON) && HAVE_DECL_KEY_SEMICOLON) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SEMICOLON) == (39), "KEY_SEMICOLON != 39"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SEMICOLON 39 #endif -#if !(defined(KEY_APOSTROPHE) || (defined(HAVE_DECL_KEY_APOSTROPHE) && HAVE_DECL_KEY_APOSTROPHE)) +#if defined(KEY_APOSTROPHE) || (defined(HAVE_DECL_KEY_APOSTROPHE) && HAVE_DECL_KEY_APOSTROPHE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_APOSTROPHE) == (40), "KEY_APOSTROPHE != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_APOSTROPHE 40 #endif -#if !(defined(KEY_GRAVE) || (defined(HAVE_DECL_KEY_GRAVE) && HAVE_DECL_KEY_GRAVE)) +#if defined(KEY_GRAVE) || (defined(HAVE_DECL_KEY_GRAVE) && HAVE_DECL_KEY_GRAVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GRAVE) == (41), "KEY_GRAVE != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GRAVE 41 #endif -#if !(defined(KEY_LEFTSHIFT) || (defined(HAVE_DECL_KEY_LEFTSHIFT) && HAVE_DECL_KEY_LEFTSHIFT)) +#if defined(KEY_LEFTSHIFT) || (defined(HAVE_DECL_KEY_LEFTSHIFT) && HAVE_DECL_KEY_LEFTSHIFT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LEFTSHIFT) == (42), "KEY_LEFTSHIFT != 42"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LEFTSHIFT 42 #endif -#if !(defined(KEY_BACKSLASH) || (defined(HAVE_DECL_KEY_BACKSLASH) && HAVE_DECL_KEY_BACKSLASH)) +#if defined(KEY_BACKSLASH) || (defined(HAVE_DECL_KEY_BACKSLASH) && HAVE_DECL_KEY_BACKSLASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BACKSLASH) == (43), "KEY_BACKSLASH != 43"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BACKSLASH 43 #endif -#if !(defined(KEY_Z) || (defined(HAVE_DECL_KEY_Z) && HAVE_DECL_KEY_Z)) +#if defined(KEY_Z) || (defined(HAVE_DECL_KEY_Z) && HAVE_DECL_KEY_Z) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_Z) == (44), "KEY_Z != 44"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_Z 44 #endif -#if !(defined(KEY_X) || (defined(HAVE_DECL_KEY_X) && HAVE_DECL_KEY_X)) +#if defined(KEY_X) || (defined(HAVE_DECL_KEY_X) && HAVE_DECL_KEY_X) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_X) == (45), "KEY_X != 45"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_X 45 #endif -#if !(defined(KEY_C) || (defined(HAVE_DECL_KEY_C) && HAVE_DECL_KEY_C)) +#if defined(KEY_C) || (defined(HAVE_DECL_KEY_C) && HAVE_DECL_KEY_C) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_C) == (46), "KEY_C != 46"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_C 46 #endif -#if !(defined(KEY_V) || (defined(HAVE_DECL_KEY_V) && HAVE_DECL_KEY_V)) +#if defined(KEY_V) || (defined(HAVE_DECL_KEY_V) && HAVE_DECL_KEY_V) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_V) == (47), "KEY_V != 47"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_V 47 #endif -#if !(defined(KEY_B) || (defined(HAVE_DECL_KEY_B) && HAVE_DECL_KEY_B)) +#if defined(KEY_B) || (defined(HAVE_DECL_KEY_B) && HAVE_DECL_KEY_B) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_B) == (48), "KEY_B != 48"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_B 48 #endif -#if !(defined(KEY_N) || (defined(HAVE_DECL_KEY_N) && HAVE_DECL_KEY_N)) +#if defined(KEY_N) || (defined(HAVE_DECL_KEY_N) && HAVE_DECL_KEY_N) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_N) == (49), "KEY_N != 49"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_N 49 #endif -#if !(defined(KEY_M) || (defined(HAVE_DECL_KEY_M) && HAVE_DECL_KEY_M)) +#if defined(KEY_M) || (defined(HAVE_DECL_KEY_M) && HAVE_DECL_KEY_M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_M) == (50), "KEY_M != 50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_M 50 #endif -#if !(defined(KEY_COMMA) || (defined(HAVE_DECL_KEY_COMMA) && HAVE_DECL_KEY_COMMA)) +#if defined(KEY_COMMA) || (defined(HAVE_DECL_KEY_COMMA) && HAVE_DECL_KEY_COMMA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_COMMA) == (51), "KEY_COMMA != 51"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_COMMA 51 #endif -#if !(defined(KEY_DOT) || (defined(HAVE_DECL_KEY_DOT) && HAVE_DECL_KEY_DOT)) +#if defined(KEY_DOT) || (defined(HAVE_DECL_KEY_DOT) && HAVE_DECL_KEY_DOT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DOT) == (52), "KEY_DOT != 52"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DOT 52 #endif -#if !(defined(KEY_SLASH) || (defined(HAVE_DECL_KEY_SLASH) && HAVE_DECL_KEY_SLASH)) +#if defined(KEY_SLASH) || (defined(HAVE_DECL_KEY_SLASH) && HAVE_DECL_KEY_SLASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SLASH) == (53), "KEY_SLASH != 53"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SLASH 53 #endif -#if !(defined(KEY_RIGHTSHIFT) || (defined(HAVE_DECL_KEY_RIGHTSHIFT) && HAVE_DECL_KEY_RIGHTSHIFT)) +#if defined(KEY_RIGHTSHIFT) || (defined(HAVE_DECL_KEY_RIGHTSHIFT) && HAVE_DECL_KEY_RIGHTSHIFT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RIGHTSHIFT) == (54), "KEY_RIGHTSHIFT != 54"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RIGHTSHIFT 54 #endif -#if !(defined(KEY_KPASTERISK) || (defined(HAVE_DECL_KEY_KPASTERISK) && HAVE_DECL_KEY_KPASTERISK)) +#if defined(KEY_KPASTERISK) || (defined(HAVE_DECL_KEY_KPASTERISK) && HAVE_DECL_KEY_KPASTERISK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPASTERISK) == (55), "KEY_KPASTERISK != 55"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPASTERISK 55 #endif -#if !(defined(KEY_LEFTALT) || (defined(HAVE_DECL_KEY_LEFTALT) && HAVE_DECL_KEY_LEFTALT)) +#if defined(KEY_LEFTALT) || (defined(HAVE_DECL_KEY_LEFTALT) && HAVE_DECL_KEY_LEFTALT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LEFTALT) == (56), "KEY_LEFTALT != 56"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LEFTALT 56 #endif -#if !(defined(KEY_SPACE) || (defined(HAVE_DECL_KEY_SPACE) && HAVE_DECL_KEY_SPACE)) +#if defined(KEY_SPACE) || (defined(HAVE_DECL_KEY_SPACE) && HAVE_DECL_KEY_SPACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPACE) == (57), "KEY_SPACE != 57"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPACE 57 #endif -#if !(defined(KEY_CAPSLOCK) || (defined(HAVE_DECL_KEY_CAPSLOCK) && HAVE_DECL_KEY_CAPSLOCK)) +#if defined(KEY_CAPSLOCK) || (defined(HAVE_DECL_KEY_CAPSLOCK) && HAVE_DECL_KEY_CAPSLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CAPSLOCK) == (58), "KEY_CAPSLOCK != 58"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CAPSLOCK 58 #endif -#if !(defined(KEY_F1) || (defined(HAVE_DECL_KEY_F1) && HAVE_DECL_KEY_F1)) +#if defined(KEY_F1) || (defined(HAVE_DECL_KEY_F1) && HAVE_DECL_KEY_F1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F1) == (59), "KEY_F1 != 59"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F1 59 #endif -#if !(defined(KEY_F2) || (defined(HAVE_DECL_KEY_F2) && HAVE_DECL_KEY_F2)) +#if defined(KEY_F2) || (defined(HAVE_DECL_KEY_F2) && HAVE_DECL_KEY_F2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F2) == (60), "KEY_F2 != 60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F2 60 #endif -#if !(defined(KEY_F3) || (defined(HAVE_DECL_KEY_F3) && HAVE_DECL_KEY_F3)) +#if defined(KEY_F3) || (defined(HAVE_DECL_KEY_F3) && HAVE_DECL_KEY_F3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F3) == (61), "KEY_F3 != 61"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F3 61 #endif -#if !(defined(KEY_F4) || (defined(HAVE_DECL_KEY_F4) && HAVE_DECL_KEY_F4)) +#if defined(KEY_F4) || (defined(HAVE_DECL_KEY_F4) && HAVE_DECL_KEY_F4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F4) == (62), "KEY_F4 != 62"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F4 62 #endif -#if !(defined(KEY_F5) || (defined(HAVE_DECL_KEY_F5) && HAVE_DECL_KEY_F5)) +#if defined(KEY_F5) || (defined(HAVE_DECL_KEY_F5) && HAVE_DECL_KEY_F5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F5) == (63), "KEY_F5 != 63"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F5 63 #endif -#if !(defined(KEY_F6) || (defined(HAVE_DECL_KEY_F6) && HAVE_DECL_KEY_F6)) +#if defined(KEY_F6) || (defined(HAVE_DECL_KEY_F6) && HAVE_DECL_KEY_F6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F6) == (64), "KEY_F6 != 64"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F6 64 #endif -#if !(defined(KEY_F7) || (defined(HAVE_DECL_KEY_F7) && HAVE_DECL_KEY_F7)) +#if defined(KEY_F7) || (defined(HAVE_DECL_KEY_F7) && HAVE_DECL_KEY_F7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F7) == (65), "KEY_F7 != 65"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F7 65 #endif -#if !(defined(KEY_F8) || (defined(HAVE_DECL_KEY_F8) && HAVE_DECL_KEY_F8)) +#if defined(KEY_F8) || (defined(HAVE_DECL_KEY_F8) && HAVE_DECL_KEY_F8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F8) == (66), "KEY_F8 != 66"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F8 66 #endif -#if !(defined(KEY_F9) || (defined(HAVE_DECL_KEY_F9) && HAVE_DECL_KEY_F9)) +#if defined(KEY_F9) || (defined(HAVE_DECL_KEY_F9) && HAVE_DECL_KEY_F9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F9) == (67), "KEY_F9 != 67"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F9 67 #endif -#if !(defined(KEY_F10) || (defined(HAVE_DECL_KEY_F10) && HAVE_DECL_KEY_F10)) +#if defined(KEY_F10) || (defined(HAVE_DECL_KEY_F10) && HAVE_DECL_KEY_F10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F10) == (68), "KEY_F10 != 68"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F10 68 #endif -#if !(defined(KEY_NUMLOCK) || (defined(HAVE_DECL_KEY_NUMLOCK) && HAVE_DECL_KEY_NUMLOCK)) +#if defined(KEY_NUMLOCK) || (defined(HAVE_DECL_KEY_NUMLOCK) && HAVE_DECL_KEY_NUMLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMLOCK) == (69), "KEY_NUMLOCK != 69"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMLOCK 69 #endif -#if !(defined(KEY_SCROLLLOCK) || (defined(HAVE_DECL_KEY_SCROLLLOCK) && HAVE_DECL_KEY_SCROLLLOCK)) +#if defined(KEY_SCROLLLOCK) || (defined(HAVE_DECL_KEY_SCROLLLOCK) && HAVE_DECL_KEY_SCROLLLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SCROLLLOCK) == (70), "KEY_SCROLLLOCK != 70"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SCROLLLOCK 70 #endif -#if !(defined(KEY_KP7) || (defined(HAVE_DECL_KEY_KP7) && HAVE_DECL_KEY_KP7)) +#if defined(KEY_KP7) || (defined(HAVE_DECL_KEY_KP7) && HAVE_DECL_KEY_KP7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP7) == (71), "KEY_KP7 != 71"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP7 71 #endif -#if !(defined(KEY_KP8) || (defined(HAVE_DECL_KEY_KP8) && HAVE_DECL_KEY_KP8)) +#if defined(KEY_KP8) || (defined(HAVE_DECL_KEY_KP8) && HAVE_DECL_KEY_KP8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP8) == (72), "KEY_KP8 != 72"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP8 72 #endif -#if !(defined(KEY_KP9) || (defined(HAVE_DECL_KEY_KP9) && HAVE_DECL_KEY_KP9)) +#if defined(KEY_KP9) || (defined(HAVE_DECL_KEY_KP9) && HAVE_DECL_KEY_KP9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP9) == (73), "KEY_KP9 != 73"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP9 73 #endif -#if !(defined(KEY_KPMINUS) || (defined(HAVE_DECL_KEY_KPMINUS) && HAVE_DECL_KEY_KPMINUS)) +#if defined(KEY_KPMINUS) || (defined(HAVE_DECL_KEY_KPMINUS) && HAVE_DECL_KEY_KPMINUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPMINUS) == (74), "KEY_KPMINUS != 74"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPMINUS 74 #endif -#if !(defined(KEY_KP4) || (defined(HAVE_DECL_KEY_KP4) && HAVE_DECL_KEY_KP4)) +#if defined(KEY_KP4) || (defined(HAVE_DECL_KEY_KP4) && HAVE_DECL_KEY_KP4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP4) == (75), "KEY_KP4 != 75"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP4 75 #endif -#if !(defined(KEY_KP5) || (defined(HAVE_DECL_KEY_KP5) && HAVE_DECL_KEY_KP5)) +#if defined(KEY_KP5) || (defined(HAVE_DECL_KEY_KP5) && HAVE_DECL_KEY_KP5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP5) == (76), "KEY_KP5 != 76"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP5 76 #endif -#if !(defined(KEY_KP6) || (defined(HAVE_DECL_KEY_KP6) && HAVE_DECL_KEY_KP6)) +#if defined(KEY_KP6) || (defined(HAVE_DECL_KEY_KP6) && HAVE_DECL_KEY_KP6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP6) == (77), "KEY_KP6 != 77"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP6 77 #endif -#if !(defined(KEY_KPPLUS) || (defined(HAVE_DECL_KEY_KPPLUS) && HAVE_DECL_KEY_KPPLUS)) +#if defined(KEY_KPPLUS) || (defined(HAVE_DECL_KEY_KPPLUS) && HAVE_DECL_KEY_KPPLUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPPLUS) == (78), "KEY_KPPLUS != 78"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPPLUS 78 #endif -#if !(defined(KEY_KP1) || (defined(HAVE_DECL_KEY_KP1) && HAVE_DECL_KEY_KP1)) +#if defined(KEY_KP1) || (defined(HAVE_DECL_KEY_KP1) && HAVE_DECL_KEY_KP1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP1) == (79), "KEY_KP1 != 79"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP1 79 #endif -#if !(defined(KEY_KP2) || (defined(HAVE_DECL_KEY_KP2) && HAVE_DECL_KEY_KP2)) +#if defined(KEY_KP2) || (defined(HAVE_DECL_KEY_KP2) && HAVE_DECL_KEY_KP2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP2) == (80), "KEY_KP2 != 80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP2 80 #endif -#if !(defined(KEY_KP3) || (defined(HAVE_DECL_KEY_KP3) && HAVE_DECL_KEY_KP3)) +#if defined(KEY_KP3) || (defined(HAVE_DECL_KEY_KP3) && HAVE_DECL_KEY_KP3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP3) == (81), "KEY_KP3 != 81"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP3 81 #endif -#if !(defined(KEY_KP0) || (defined(HAVE_DECL_KEY_KP0) && HAVE_DECL_KEY_KP0)) +#if defined(KEY_KP0) || (defined(HAVE_DECL_KEY_KP0) && HAVE_DECL_KEY_KP0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KP0) == (82), "KEY_KP0 != 82"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KP0 82 #endif -#if !(defined(KEY_KPDOT) || (defined(HAVE_DECL_KEY_KPDOT) && HAVE_DECL_KEY_KPDOT)) +#if defined(KEY_KPDOT) || (defined(HAVE_DECL_KEY_KPDOT) && HAVE_DECL_KEY_KPDOT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPDOT) == (83), "KEY_KPDOT != 83"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPDOT 83 #endif -#if !(defined(KEY_ZENKAKUHANKAKU) || (defined(HAVE_DECL_KEY_ZENKAKUHANKAKU) && HAVE_DECL_KEY_ZENKAKUHANKAKU)) +#if defined(KEY_ZENKAKUHANKAKU) || (defined(HAVE_DECL_KEY_ZENKAKUHANKAKU) && HAVE_DECL_KEY_ZENKAKUHANKAKU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ZENKAKUHANKAKU) == (85), "KEY_ZENKAKUHANKAKU != 85"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ZENKAKUHANKAKU 85 #endif -#if !(defined(KEY_102ND) || (defined(HAVE_DECL_KEY_102ND) && HAVE_DECL_KEY_102ND)) +#if defined(KEY_102ND) || (defined(HAVE_DECL_KEY_102ND) && HAVE_DECL_KEY_102ND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_102ND) == (86), "KEY_102ND != 86"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_102ND 86 #endif -#if !(defined(KEY_F11) || (defined(HAVE_DECL_KEY_F11) && HAVE_DECL_KEY_F11)) +#if defined(KEY_F11) || (defined(HAVE_DECL_KEY_F11) && HAVE_DECL_KEY_F11) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F11) == (87), "KEY_F11 != 87"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F11 87 #endif -#if !(defined(KEY_F12) || (defined(HAVE_DECL_KEY_F12) && HAVE_DECL_KEY_F12)) +#if defined(KEY_F12) || (defined(HAVE_DECL_KEY_F12) && HAVE_DECL_KEY_F12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F12) == (88), "KEY_F12 != 88"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F12 88 #endif -#if !(defined(KEY_RO) || (defined(HAVE_DECL_KEY_RO) && HAVE_DECL_KEY_RO)) +#if defined(KEY_RO) || (defined(HAVE_DECL_KEY_RO) && HAVE_DECL_KEY_RO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RO) == (89), "KEY_RO != 89"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RO 89 #endif -#if !(defined(KEY_KATAKANA) || (defined(HAVE_DECL_KEY_KATAKANA) && HAVE_DECL_KEY_KATAKANA)) +#if defined(KEY_KATAKANA) || (defined(HAVE_DECL_KEY_KATAKANA) && HAVE_DECL_KEY_KATAKANA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KATAKANA) == (90), "KEY_KATAKANA != 90"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KATAKANA 90 #endif -#if !(defined(KEY_HIRAGANA) || (defined(HAVE_DECL_KEY_HIRAGANA) && HAVE_DECL_KEY_HIRAGANA)) +#if defined(KEY_HIRAGANA) || (defined(HAVE_DECL_KEY_HIRAGANA) && HAVE_DECL_KEY_HIRAGANA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_HIRAGANA) == (91), "KEY_HIRAGANA != 91"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_HIRAGANA 91 #endif -#if !(defined(KEY_HENKAN) || (defined(HAVE_DECL_KEY_HENKAN) && HAVE_DECL_KEY_HENKAN)) +#if defined(KEY_HENKAN) || (defined(HAVE_DECL_KEY_HENKAN) && HAVE_DECL_KEY_HENKAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_HENKAN) == (92), "KEY_HENKAN != 92"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_HENKAN 92 #endif -#if !(defined(KEY_KATAKANAHIRAGANA) || (defined(HAVE_DECL_KEY_KATAKANAHIRAGANA) && HAVE_DECL_KEY_KATAKANAHIRAGANA)) +#if defined(KEY_KATAKANAHIRAGANA) || (defined(HAVE_DECL_KEY_KATAKANAHIRAGANA) && HAVE_DECL_KEY_KATAKANAHIRAGANA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KATAKANAHIRAGANA) == (93), "KEY_KATAKANAHIRAGANA != 93"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KATAKANAHIRAGANA 93 #endif -#if !(defined(KEY_MUHENKAN) || (defined(HAVE_DECL_KEY_MUHENKAN) && HAVE_DECL_KEY_MUHENKAN)) +#if defined(KEY_MUHENKAN) || (defined(HAVE_DECL_KEY_MUHENKAN) && HAVE_DECL_KEY_MUHENKAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MUHENKAN) == (94), "KEY_MUHENKAN != 94"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MUHENKAN 94 #endif -#if !(defined(KEY_KPJPCOMMA) || (defined(HAVE_DECL_KEY_KPJPCOMMA) && HAVE_DECL_KEY_KPJPCOMMA)) +#if defined(KEY_KPJPCOMMA) || (defined(HAVE_DECL_KEY_KPJPCOMMA) && HAVE_DECL_KEY_KPJPCOMMA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPJPCOMMA) == (95), "KEY_KPJPCOMMA != 95"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPJPCOMMA 95 #endif -#if !(defined(KEY_KPENTER) || (defined(HAVE_DECL_KEY_KPENTER) && HAVE_DECL_KEY_KPENTER)) +#if defined(KEY_KPENTER) || (defined(HAVE_DECL_KEY_KPENTER) && HAVE_DECL_KEY_KPENTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPENTER) == (96), "KEY_KPENTER != 96"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPENTER 96 #endif -#if !(defined(KEY_RIGHTCTRL) || (defined(HAVE_DECL_KEY_RIGHTCTRL) && HAVE_DECL_KEY_RIGHTCTRL)) +#if defined(KEY_RIGHTCTRL) || (defined(HAVE_DECL_KEY_RIGHTCTRL) && HAVE_DECL_KEY_RIGHTCTRL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RIGHTCTRL) == (97), "KEY_RIGHTCTRL != 97"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RIGHTCTRL 97 #endif -#if !(defined(KEY_KPSLASH) || (defined(HAVE_DECL_KEY_KPSLASH) && HAVE_DECL_KEY_KPSLASH)) +#if defined(KEY_KPSLASH) || (defined(HAVE_DECL_KEY_KPSLASH) && HAVE_DECL_KEY_KPSLASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPSLASH) == (98), "KEY_KPSLASH != 98"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPSLASH 98 #endif -#if !(defined(KEY_SYSRQ) || (defined(HAVE_DECL_KEY_SYSRQ) && HAVE_DECL_KEY_SYSRQ)) +#if defined(KEY_SYSRQ) || (defined(HAVE_DECL_KEY_SYSRQ) && HAVE_DECL_KEY_SYSRQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SYSRQ) == (99), "KEY_SYSRQ != 99"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SYSRQ 99 #endif -#if !(defined(KEY_RIGHTALT) || (defined(HAVE_DECL_KEY_RIGHTALT) && HAVE_DECL_KEY_RIGHTALT)) +#if defined(KEY_RIGHTALT) || (defined(HAVE_DECL_KEY_RIGHTALT) && HAVE_DECL_KEY_RIGHTALT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RIGHTALT) == (100), "KEY_RIGHTALT != 100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RIGHTALT 100 #endif -#if !(defined(KEY_LINEFEED) || (defined(HAVE_DECL_KEY_LINEFEED) && HAVE_DECL_KEY_LINEFEED)) +#if defined(KEY_LINEFEED) || (defined(HAVE_DECL_KEY_LINEFEED) && HAVE_DECL_KEY_LINEFEED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LINEFEED) == (101), "KEY_LINEFEED != 101"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LINEFEED 101 #endif -#if !(defined(KEY_HOME) || (defined(HAVE_DECL_KEY_HOME) && HAVE_DECL_KEY_HOME)) +#if defined(KEY_HOME) || (defined(HAVE_DECL_KEY_HOME) && HAVE_DECL_KEY_HOME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_HOME) == (102), "KEY_HOME != 102"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_HOME 102 #endif -#if !(defined(KEY_UP) || (defined(HAVE_DECL_KEY_UP) && HAVE_DECL_KEY_UP)) +#if defined(KEY_UP) || (defined(HAVE_DECL_KEY_UP) && HAVE_DECL_KEY_UP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_UP) == (103), "KEY_UP != 103"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_UP 103 #endif -#if !(defined(KEY_PAGEUP) || (defined(HAVE_DECL_KEY_PAGEUP) && HAVE_DECL_KEY_PAGEUP)) +#if defined(KEY_PAGEUP) || (defined(HAVE_DECL_KEY_PAGEUP) && HAVE_DECL_KEY_PAGEUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PAGEUP) == (104), "KEY_PAGEUP != 104"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PAGEUP 104 #endif -#if !(defined(KEY_LEFT) || (defined(HAVE_DECL_KEY_LEFT) && HAVE_DECL_KEY_LEFT)) +#if defined(KEY_LEFT) || (defined(HAVE_DECL_KEY_LEFT) && HAVE_DECL_KEY_LEFT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LEFT) == (105), "KEY_LEFT != 105"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LEFT 105 #endif -#if !(defined(KEY_RIGHT) || (defined(HAVE_DECL_KEY_RIGHT) && HAVE_DECL_KEY_RIGHT)) +#if defined(KEY_RIGHT) || (defined(HAVE_DECL_KEY_RIGHT) && HAVE_DECL_KEY_RIGHT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RIGHT) == (106), "KEY_RIGHT != 106"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RIGHT 106 #endif -#if !(defined(KEY_END) || (defined(HAVE_DECL_KEY_END) && HAVE_DECL_KEY_END)) +#if defined(KEY_END) || (defined(HAVE_DECL_KEY_END) && HAVE_DECL_KEY_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_END) == (107), "KEY_END != 107"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_END 107 #endif -#if !(defined(KEY_DOWN) || (defined(HAVE_DECL_KEY_DOWN) && HAVE_DECL_KEY_DOWN)) +#if defined(KEY_DOWN) || (defined(HAVE_DECL_KEY_DOWN) && HAVE_DECL_KEY_DOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DOWN) == (108), "KEY_DOWN != 108"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DOWN 108 #endif -#if !(defined(KEY_PAGEDOWN) || (defined(HAVE_DECL_KEY_PAGEDOWN) && HAVE_DECL_KEY_PAGEDOWN)) +#if defined(KEY_PAGEDOWN) || (defined(HAVE_DECL_KEY_PAGEDOWN) && HAVE_DECL_KEY_PAGEDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PAGEDOWN) == (109), "KEY_PAGEDOWN != 109"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PAGEDOWN 109 #endif -#if !(defined(KEY_INSERT) || (defined(HAVE_DECL_KEY_INSERT) && HAVE_DECL_KEY_INSERT)) +#if defined(KEY_INSERT) || (defined(HAVE_DECL_KEY_INSERT) && HAVE_DECL_KEY_INSERT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_INSERT) == (110), "KEY_INSERT != 110"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_INSERT 110 #endif -#if !(defined(KEY_DELETE) || (defined(HAVE_DECL_KEY_DELETE) && HAVE_DECL_KEY_DELETE)) +#if defined(KEY_DELETE) || (defined(HAVE_DECL_KEY_DELETE) && HAVE_DECL_KEY_DELETE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DELETE) == (111), "KEY_DELETE != 111"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DELETE 111 #endif -#if !(defined(KEY_MACRO) || (defined(HAVE_DECL_KEY_MACRO) && HAVE_DECL_KEY_MACRO)) +#if defined(KEY_MACRO) || (defined(HAVE_DECL_KEY_MACRO) && HAVE_DECL_KEY_MACRO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MACRO) == (112), "KEY_MACRO != 112"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MACRO 112 #endif -#if !(defined(KEY_MUTE) || (defined(HAVE_DECL_KEY_MUTE) && HAVE_DECL_KEY_MUTE)) +#if defined(KEY_MUTE) || (defined(HAVE_DECL_KEY_MUTE) && HAVE_DECL_KEY_MUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MUTE) == (113), "KEY_MUTE != 113"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MUTE 113 #endif -#if !(defined(KEY_VOLUMEDOWN) || (defined(HAVE_DECL_KEY_VOLUMEDOWN) && HAVE_DECL_KEY_VOLUMEDOWN)) +#if defined(KEY_VOLUMEDOWN) || (defined(HAVE_DECL_KEY_VOLUMEDOWN) && HAVE_DECL_KEY_VOLUMEDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VOLUMEDOWN) == (114), "KEY_VOLUMEDOWN != 114"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VOLUMEDOWN 114 #endif -#if !(defined(KEY_VOLUMEUP) || (defined(HAVE_DECL_KEY_VOLUMEUP) && HAVE_DECL_KEY_VOLUMEUP)) +#if defined(KEY_VOLUMEUP) || (defined(HAVE_DECL_KEY_VOLUMEUP) && HAVE_DECL_KEY_VOLUMEUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VOLUMEUP) == (115), "KEY_VOLUMEUP != 115"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VOLUMEUP 115 #endif -#if !(defined(KEY_POWER) || (defined(HAVE_DECL_KEY_POWER) && HAVE_DECL_KEY_POWER)) +#if defined(KEY_POWER) || (defined(HAVE_DECL_KEY_POWER) && HAVE_DECL_KEY_POWER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_POWER) == (116), "KEY_POWER != 116"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_POWER 116 #endif -#if !(defined(KEY_KPEQUAL) || (defined(HAVE_DECL_KEY_KPEQUAL) && HAVE_DECL_KEY_KPEQUAL)) +#if defined(KEY_KPEQUAL) || (defined(HAVE_DECL_KEY_KPEQUAL) && HAVE_DECL_KEY_KPEQUAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPEQUAL) == (117), "KEY_KPEQUAL != 117"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPEQUAL 117 #endif -#if !(defined(KEY_KPPLUSMINUS) || (defined(HAVE_DECL_KEY_KPPLUSMINUS) && HAVE_DECL_KEY_KPPLUSMINUS)) +#if defined(KEY_KPPLUSMINUS) || (defined(HAVE_DECL_KEY_KPPLUSMINUS) && HAVE_DECL_KEY_KPPLUSMINUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPPLUSMINUS) == (118), "KEY_KPPLUSMINUS != 118"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPPLUSMINUS 118 #endif -#if !(defined(KEY_PAUSE) || (defined(HAVE_DECL_KEY_PAUSE) && HAVE_DECL_KEY_PAUSE)) +#if defined(KEY_PAUSE) || (defined(HAVE_DECL_KEY_PAUSE) && HAVE_DECL_KEY_PAUSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PAUSE) == (119), "KEY_PAUSE != 119"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PAUSE 119 #endif -#if !(defined(KEY_SCALE) || (defined(HAVE_DECL_KEY_SCALE) && HAVE_DECL_KEY_SCALE)) +#if defined(KEY_SCALE) || (defined(HAVE_DECL_KEY_SCALE) && HAVE_DECL_KEY_SCALE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SCALE) == (120), "KEY_SCALE != 120"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SCALE 120 #endif -#if !(defined(KEY_KPCOMMA) || (defined(HAVE_DECL_KEY_KPCOMMA) && HAVE_DECL_KEY_KPCOMMA)) +#if defined(KEY_KPCOMMA) || (defined(HAVE_DECL_KEY_KPCOMMA) && HAVE_DECL_KEY_KPCOMMA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPCOMMA) == (121), "KEY_KPCOMMA != 121"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPCOMMA 121 #endif -#if !(defined(KEY_HANGEUL) || (defined(HAVE_DECL_KEY_HANGEUL) && HAVE_DECL_KEY_HANGEUL)) +#if defined(KEY_HANGEUL) || (defined(HAVE_DECL_KEY_HANGEUL) && HAVE_DECL_KEY_HANGEUL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_HANGEUL) == (122), "KEY_HANGEUL != 122"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_HANGEUL 122 #endif -#if !(defined(KEY_HANJA) || (defined(HAVE_DECL_KEY_HANJA) && HAVE_DECL_KEY_HANJA)) +#if defined(KEY_HANJA) || (defined(HAVE_DECL_KEY_HANJA) && HAVE_DECL_KEY_HANJA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_HANJA) == (123), "KEY_HANJA != 123"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_HANJA 123 #endif -#if !(defined(KEY_YEN) || (defined(HAVE_DECL_KEY_YEN) && HAVE_DECL_KEY_YEN)) +#if defined(KEY_YEN) || (defined(HAVE_DECL_KEY_YEN) && HAVE_DECL_KEY_YEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_YEN) == (124), "KEY_YEN != 124"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_YEN 124 #endif -#if !(defined(KEY_LEFTMETA) || (defined(HAVE_DECL_KEY_LEFTMETA) && HAVE_DECL_KEY_LEFTMETA)) +#if defined(KEY_LEFTMETA) || (defined(HAVE_DECL_KEY_LEFTMETA) && HAVE_DECL_KEY_LEFTMETA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LEFTMETA) == (125), "KEY_LEFTMETA != 125"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LEFTMETA 125 #endif -#if !(defined(KEY_RIGHTMETA) || (defined(HAVE_DECL_KEY_RIGHTMETA) && HAVE_DECL_KEY_RIGHTMETA)) +#if defined(KEY_RIGHTMETA) || (defined(HAVE_DECL_KEY_RIGHTMETA) && HAVE_DECL_KEY_RIGHTMETA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RIGHTMETA) == (126), "KEY_RIGHTMETA != 126"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RIGHTMETA 126 #endif -#if !(defined(KEY_COMPOSE) || (defined(HAVE_DECL_KEY_COMPOSE) && HAVE_DECL_KEY_COMPOSE)) +#if defined(KEY_COMPOSE) || (defined(HAVE_DECL_KEY_COMPOSE) && HAVE_DECL_KEY_COMPOSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_COMPOSE) == (127), "KEY_COMPOSE != 127"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_COMPOSE 127 #endif -#if !(defined(KEY_STOP) || (defined(HAVE_DECL_KEY_STOP) && HAVE_DECL_KEY_STOP)) +#if defined(KEY_STOP) || (defined(HAVE_DECL_KEY_STOP) && HAVE_DECL_KEY_STOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_STOP) == (128), "KEY_STOP != 128"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_STOP 128 #endif -#if !(defined(KEY_AGAIN) || (defined(HAVE_DECL_KEY_AGAIN) && HAVE_DECL_KEY_AGAIN)) +#if defined(KEY_AGAIN) || (defined(HAVE_DECL_KEY_AGAIN) && HAVE_DECL_KEY_AGAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_AGAIN) == (129), "KEY_AGAIN != 129"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_AGAIN 129 #endif -#if !(defined(KEY_PROPS) || (defined(HAVE_DECL_KEY_PROPS) && HAVE_DECL_KEY_PROPS)) +#if defined(KEY_PROPS) || (defined(HAVE_DECL_KEY_PROPS) && HAVE_DECL_KEY_PROPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PROPS) == (130), "KEY_PROPS != 130"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PROPS 130 #endif -#if !(defined(KEY_UNDO) || (defined(HAVE_DECL_KEY_UNDO) && HAVE_DECL_KEY_UNDO)) +#if defined(KEY_UNDO) || (defined(HAVE_DECL_KEY_UNDO) && HAVE_DECL_KEY_UNDO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_UNDO) == (131), "KEY_UNDO != 131"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_UNDO 131 #endif -#if !(defined(KEY_FRONT) || (defined(HAVE_DECL_KEY_FRONT) && HAVE_DECL_KEY_FRONT)) +#if defined(KEY_FRONT) || (defined(HAVE_DECL_KEY_FRONT) && HAVE_DECL_KEY_FRONT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FRONT) == (132), "KEY_FRONT != 132"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FRONT 132 #endif -#if !(defined(KEY_COPY) || (defined(HAVE_DECL_KEY_COPY) && HAVE_DECL_KEY_COPY)) +#if defined(KEY_COPY) || (defined(HAVE_DECL_KEY_COPY) && HAVE_DECL_KEY_COPY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_COPY) == (133), "KEY_COPY != 133"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_COPY 133 #endif -#if !(defined(KEY_OPEN) || (defined(HAVE_DECL_KEY_OPEN) && HAVE_DECL_KEY_OPEN)) +#if defined(KEY_OPEN) || (defined(HAVE_DECL_KEY_OPEN) && HAVE_DECL_KEY_OPEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OPEN) == (134), "KEY_OPEN != 134"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OPEN 134 #endif -#if !(defined(KEY_PASTE) || (defined(HAVE_DECL_KEY_PASTE) && HAVE_DECL_KEY_PASTE)) +#if defined(KEY_PASTE) || (defined(HAVE_DECL_KEY_PASTE) && HAVE_DECL_KEY_PASTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PASTE) == (135), "KEY_PASTE != 135"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PASTE 135 #endif -#if !(defined(KEY_FIND) || (defined(HAVE_DECL_KEY_FIND) && HAVE_DECL_KEY_FIND)) +#if defined(KEY_FIND) || (defined(HAVE_DECL_KEY_FIND) && HAVE_DECL_KEY_FIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FIND) == (136), "KEY_FIND != 136"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FIND 136 #endif -#if !(defined(KEY_CUT) || (defined(HAVE_DECL_KEY_CUT) && HAVE_DECL_KEY_CUT)) +#if defined(KEY_CUT) || (defined(HAVE_DECL_KEY_CUT) && HAVE_DECL_KEY_CUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CUT) == (137), "KEY_CUT != 137"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CUT 137 #endif -#if !(defined(KEY_HELP) || (defined(HAVE_DECL_KEY_HELP) && HAVE_DECL_KEY_HELP)) +#if defined(KEY_HELP) || (defined(HAVE_DECL_KEY_HELP) && HAVE_DECL_KEY_HELP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_HELP) == (138), "KEY_HELP != 138"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_HELP 138 #endif -#if !(defined(KEY_MENU) || (defined(HAVE_DECL_KEY_MENU) && HAVE_DECL_KEY_MENU)) +#if defined(KEY_MENU) || (defined(HAVE_DECL_KEY_MENU) && HAVE_DECL_KEY_MENU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MENU) == (139), "KEY_MENU != 139"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MENU 139 #endif -#if !(defined(KEY_CALC) || (defined(HAVE_DECL_KEY_CALC) && HAVE_DECL_KEY_CALC)) +#if defined(KEY_CALC) || (defined(HAVE_DECL_KEY_CALC) && HAVE_DECL_KEY_CALC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CALC) == (140), "KEY_CALC != 140"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CALC 140 #endif -#if !(defined(KEY_SETUP) || (defined(HAVE_DECL_KEY_SETUP) && HAVE_DECL_KEY_SETUP)) +#if defined(KEY_SETUP) || (defined(HAVE_DECL_KEY_SETUP) && HAVE_DECL_KEY_SETUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SETUP) == (141), "KEY_SETUP != 141"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SETUP 141 #endif -#if !(defined(KEY_SLEEP) || (defined(HAVE_DECL_KEY_SLEEP) && HAVE_DECL_KEY_SLEEP)) +#if defined(KEY_SLEEP) || (defined(HAVE_DECL_KEY_SLEEP) && HAVE_DECL_KEY_SLEEP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SLEEP) == (142), "KEY_SLEEP != 142"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SLEEP 142 #endif -#if !(defined(KEY_WAKEUP) || (defined(HAVE_DECL_KEY_WAKEUP) && HAVE_DECL_KEY_WAKEUP)) +#if defined(KEY_WAKEUP) || (defined(HAVE_DECL_KEY_WAKEUP) && HAVE_DECL_KEY_WAKEUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_WAKEUP) == (143), "KEY_WAKEUP != 143"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_WAKEUP 143 #endif -#if !(defined(KEY_FILE) || (defined(HAVE_DECL_KEY_FILE) && HAVE_DECL_KEY_FILE)) +#if defined(KEY_FILE) || (defined(HAVE_DECL_KEY_FILE) && HAVE_DECL_KEY_FILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FILE) == (144), "KEY_FILE != 144"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FILE 144 #endif -#if !(defined(KEY_SENDFILE) || (defined(HAVE_DECL_KEY_SENDFILE) && HAVE_DECL_KEY_SENDFILE)) +#if defined(KEY_SENDFILE) || (defined(HAVE_DECL_KEY_SENDFILE) && HAVE_DECL_KEY_SENDFILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SENDFILE) == (145), "KEY_SENDFILE != 145"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SENDFILE 145 #endif -#if !(defined(KEY_DELETEFILE) || (defined(HAVE_DECL_KEY_DELETEFILE) && HAVE_DECL_KEY_DELETEFILE)) +#if defined(KEY_DELETEFILE) || (defined(HAVE_DECL_KEY_DELETEFILE) && HAVE_DECL_KEY_DELETEFILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DELETEFILE) == (146), "KEY_DELETEFILE != 146"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DELETEFILE 146 #endif -#if !(defined(KEY_XFER) || (defined(HAVE_DECL_KEY_XFER) && HAVE_DECL_KEY_XFER)) +#if defined(KEY_XFER) || (defined(HAVE_DECL_KEY_XFER) && HAVE_DECL_KEY_XFER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_XFER) == (147), "KEY_XFER != 147"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_XFER 147 #endif -#if !(defined(KEY_PROG1) || (defined(HAVE_DECL_KEY_PROG1) && HAVE_DECL_KEY_PROG1)) +#if defined(KEY_PROG1) || (defined(HAVE_DECL_KEY_PROG1) && HAVE_DECL_KEY_PROG1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PROG1) == (148), "KEY_PROG1 != 148"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PROG1 148 #endif -#if !(defined(KEY_PROG2) || (defined(HAVE_DECL_KEY_PROG2) && HAVE_DECL_KEY_PROG2)) +#if defined(KEY_PROG2) || (defined(HAVE_DECL_KEY_PROG2) && HAVE_DECL_KEY_PROG2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PROG2) == (149), "KEY_PROG2 != 149"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PROG2 149 #endif -#if !(defined(KEY_WWW) || (defined(HAVE_DECL_KEY_WWW) && HAVE_DECL_KEY_WWW)) +#if defined(KEY_WWW) || (defined(HAVE_DECL_KEY_WWW) && HAVE_DECL_KEY_WWW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_WWW) == (150), "KEY_WWW != 150"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_WWW 150 #endif -#if !(defined(KEY_MSDOS) || (defined(HAVE_DECL_KEY_MSDOS) && HAVE_DECL_KEY_MSDOS)) +#if defined(KEY_MSDOS) || (defined(HAVE_DECL_KEY_MSDOS) && HAVE_DECL_KEY_MSDOS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MSDOS) == (151), "KEY_MSDOS != 151"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MSDOS 151 #endif -#if !(defined(KEY_COFFEE) || (defined(HAVE_DECL_KEY_COFFEE) && HAVE_DECL_KEY_COFFEE)) +#if defined(KEY_COFFEE) || (defined(HAVE_DECL_KEY_COFFEE) && HAVE_DECL_KEY_COFFEE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_COFFEE) == (152), "KEY_COFFEE != 152"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_COFFEE 152 #endif -#if !(defined(KEY_ROTATE_DISPLAY) || (defined(HAVE_DECL_KEY_ROTATE_DISPLAY) && HAVE_DECL_KEY_ROTATE_DISPLAY)) +#if defined(KEY_ROTATE_DISPLAY) || (defined(HAVE_DECL_KEY_ROTATE_DISPLAY) && HAVE_DECL_KEY_ROTATE_DISPLAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ROTATE_DISPLAY) == (153), "KEY_ROTATE_DISPLAY != 153"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ROTATE_DISPLAY 153 #endif -#if !(defined(KEY_CYCLEWINDOWS) || (defined(HAVE_DECL_KEY_CYCLEWINDOWS) && HAVE_DECL_KEY_CYCLEWINDOWS)) +#if defined(KEY_CYCLEWINDOWS) || (defined(HAVE_DECL_KEY_CYCLEWINDOWS) && HAVE_DECL_KEY_CYCLEWINDOWS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CYCLEWINDOWS) == (154), "KEY_CYCLEWINDOWS != 154"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CYCLEWINDOWS 154 #endif -#if !(defined(KEY_MAIL) || (defined(HAVE_DECL_KEY_MAIL) && HAVE_DECL_KEY_MAIL)) +#if defined(KEY_MAIL) || (defined(HAVE_DECL_KEY_MAIL) && HAVE_DECL_KEY_MAIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MAIL) == (155), "KEY_MAIL != 155"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MAIL 155 #endif -#if !(defined(KEY_BOOKMARKS) || (defined(HAVE_DECL_KEY_BOOKMARKS) && HAVE_DECL_KEY_BOOKMARKS)) +#if defined(KEY_BOOKMARKS) || (defined(HAVE_DECL_KEY_BOOKMARKS) && HAVE_DECL_KEY_BOOKMARKS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BOOKMARKS) == (156), "KEY_BOOKMARKS != 156"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BOOKMARKS 156 #endif -#if !(defined(KEY_COMPUTER) || (defined(HAVE_DECL_KEY_COMPUTER) && HAVE_DECL_KEY_COMPUTER)) +#if defined(KEY_COMPUTER) || (defined(HAVE_DECL_KEY_COMPUTER) && HAVE_DECL_KEY_COMPUTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_COMPUTER) == (157), "KEY_COMPUTER != 157"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_COMPUTER 157 #endif -#if !(defined(KEY_BACK) || (defined(HAVE_DECL_KEY_BACK) && HAVE_DECL_KEY_BACK)) +#if defined(KEY_BACK) || (defined(HAVE_DECL_KEY_BACK) && HAVE_DECL_KEY_BACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BACK) == (158), "KEY_BACK != 158"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BACK 158 #endif -#if !(defined(KEY_FORWARD) || (defined(HAVE_DECL_KEY_FORWARD) && HAVE_DECL_KEY_FORWARD)) +#if defined(KEY_FORWARD) || (defined(HAVE_DECL_KEY_FORWARD) && HAVE_DECL_KEY_FORWARD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FORWARD) == (159), "KEY_FORWARD != 159"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FORWARD 159 #endif -#if !(defined(KEY_CLOSECD) || (defined(HAVE_DECL_KEY_CLOSECD) && HAVE_DECL_KEY_CLOSECD)) +#if defined(KEY_CLOSECD) || (defined(HAVE_DECL_KEY_CLOSECD) && HAVE_DECL_KEY_CLOSECD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CLOSECD) == (160), "KEY_CLOSECD != 160"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CLOSECD 160 #endif -#if !(defined(KEY_EJECTCD) || (defined(HAVE_DECL_KEY_EJECTCD) && HAVE_DECL_KEY_EJECTCD)) +#if defined(KEY_EJECTCD) || (defined(HAVE_DECL_KEY_EJECTCD) && HAVE_DECL_KEY_EJECTCD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_EJECTCD) == (161), "KEY_EJECTCD != 161"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_EJECTCD 161 #endif -#if !(defined(KEY_EJECTCLOSECD) || (defined(HAVE_DECL_KEY_EJECTCLOSECD) && HAVE_DECL_KEY_EJECTCLOSECD)) +#if defined(KEY_EJECTCLOSECD) || (defined(HAVE_DECL_KEY_EJECTCLOSECD) && HAVE_DECL_KEY_EJECTCLOSECD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_EJECTCLOSECD) == (162), "KEY_EJECTCLOSECD != 162"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_EJECTCLOSECD 162 #endif -#if !(defined(KEY_NEXTSONG) || (defined(HAVE_DECL_KEY_NEXTSONG) && HAVE_DECL_KEY_NEXTSONG)) +#if defined(KEY_NEXTSONG) || (defined(HAVE_DECL_KEY_NEXTSONG) && HAVE_DECL_KEY_NEXTSONG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NEXTSONG) == (163), "KEY_NEXTSONG != 163"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NEXTSONG 163 #endif -#if !(defined(KEY_PLAYPAUSE) || (defined(HAVE_DECL_KEY_PLAYPAUSE) && HAVE_DECL_KEY_PLAYPAUSE)) +#if defined(KEY_PLAYPAUSE) || (defined(HAVE_DECL_KEY_PLAYPAUSE) && HAVE_DECL_KEY_PLAYPAUSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PLAYPAUSE) == (164), "KEY_PLAYPAUSE != 164"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PLAYPAUSE 164 #endif -#if !(defined(KEY_PREVIOUSSONG) || (defined(HAVE_DECL_KEY_PREVIOUSSONG) && HAVE_DECL_KEY_PREVIOUSSONG)) +#if defined(KEY_PREVIOUSSONG) || (defined(HAVE_DECL_KEY_PREVIOUSSONG) && HAVE_DECL_KEY_PREVIOUSSONG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PREVIOUSSONG) == (165), "KEY_PREVIOUSSONG != 165"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PREVIOUSSONG 165 #endif -#if !(defined(KEY_STOPCD) || (defined(HAVE_DECL_KEY_STOPCD) && HAVE_DECL_KEY_STOPCD)) +#if defined(KEY_STOPCD) || (defined(HAVE_DECL_KEY_STOPCD) && HAVE_DECL_KEY_STOPCD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_STOPCD) == (166), "KEY_STOPCD != 166"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_STOPCD 166 #endif -#if !(defined(KEY_RECORD) || (defined(HAVE_DECL_KEY_RECORD) && HAVE_DECL_KEY_RECORD)) +#if defined(KEY_RECORD) || (defined(HAVE_DECL_KEY_RECORD) && HAVE_DECL_KEY_RECORD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RECORD) == (167), "KEY_RECORD != 167"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RECORD 167 #endif -#if !(defined(KEY_REWIND) || (defined(HAVE_DECL_KEY_REWIND) && HAVE_DECL_KEY_REWIND)) +#if defined(KEY_REWIND) || (defined(HAVE_DECL_KEY_REWIND) && HAVE_DECL_KEY_REWIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REWIND) == (168), "KEY_REWIND != 168"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REWIND 168 #endif -#if !(defined(KEY_PHONE) || (defined(HAVE_DECL_KEY_PHONE) && HAVE_DECL_KEY_PHONE)) +#if defined(KEY_PHONE) || (defined(HAVE_DECL_KEY_PHONE) && HAVE_DECL_KEY_PHONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PHONE) == (169), "KEY_PHONE != 169"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PHONE 169 #endif -#if !(defined(KEY_ISO) || (defined(HAVE_DECL_KEY_ISO) && HAVE_DECL_KEY_ISO)) +#if defined(KEY_ISO) || (defined(HAVE_DECL_KEY_ISO) && HAVE_DECL_KEY_ISO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ISO) == (170), "KEY_ISO != 170"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ISO 170 #endif -#if !(defined(KEY_CONFIG) || (defined(HAVE_DECL_KEY_CONFIG) && HAVE_DECL_KEY_CONFIG)) +#if defined(KEY_CONFIG) || (defined(HAVE_DECL_KEY_CONFIG) && HAVE_DECL_KEY_CONFIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CONFIG) == (171), "KEY_CONFIG != 171"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CONFIG 171 #endif -#if !(defined(KEY_HOMEPAGE) || (defined(HAVE_DECL_KEY_HOMEPAGE) && HAVE_DECL_KEY_HOMEPAGE)) +#if defined(KEY_HOMEPAGE) || (defined(HAVE_DECL_KEY_HOMEPAGE) && HAVE_DECL_KEY_HOMEPAGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_HOMEPAGE) == (172), "KEY_HOMEPAGE != 172"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_HOMEPAGE 172 #endif -#if !(defined(KEY_REFRESH) || (defined(HAVE_DECL_KEY_REFRESH) && HAVE_DECL_KEY_REFRESH)) +#if defined(KEY_REFRESH) || (defined(HAVE_DECL_KEY_REFRESH) && HAVE_DECL_KEY_REFRESH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REFRESH) == (173), "KEY_REFRESH != 173"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REFRESH 173 #endif -#if !(defined(KEY_EXIT) || (defined(HAVE_DECL_KEY_EXIT) && HAVE_DECL_KEY_EXIT)) +#if defined(KEY_EXIT) || (defined(HAVE_DECL_KEY_EXIT) && HAVE_DECL_KEY_EXIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_EXIT) == (174), "KEY_EXIT != 174"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_EXIT 174 #endif -#if !(defined(KEY_MOVE) || (defined(HAVE_DECL_KEY_MOVE) && HAVE_DECL_KEY_MOVE)) +#if defined(KEY_MOVE) || (defined(HAVE_DECL_KEY_MOVE) && HAVE_DECL_KEY_MOVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MOVE) == (175), "KEY_MOVE != 175"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MOVE 175 #endif -#if !(defined(KEY_EDIT) || (defined(HAVE_DECL_KEY_EDIT) && HAVE_DECL_KEY_EDIT)) +#if defined(KEY_EDIT) || (defined(HAVE_DECL_KEY_EDIT) && HAVE_DECL_KEY_EDIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_EDIT) == (176), "KEY_EDIT != 176"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_EDIT 176 #endif -#if !(defined(KEY_SCROLLUP) || (defined(HAVE_DECL_KEY_SCROLLUP) && HAVE_DECL_KEY_SCROLLUP)) +#if defined(KEY_SCROLLUP) || (defined(HAVE_DECL_KEY_SCROLLUP) && HAVE_DECL_KEY_SCROLLUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SCROLLUP) == (177), "KEY_SCROLLUP != 177"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SCROLLUP 177 #endif -#if !(defined(KEY_SCROLLDOWN) || (defined(HAVE_DECL_KEY_SCROLLDOWN) && HAVE_DECL_KEY_SCROLLDOWN)) +#if defined(KEY_SCROLLDOWN) || (defined(HAVE_DECL_KEY_SCROLLDOWN) && HAVE_DECL_KEY_SCROLLDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SCROLLDOWN) == (178), "KEY_SCROLLDOWN != 178"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SCROLLDOWN 178 #endif -#if !(defined(KEY_KPLEFTPAREN) || (defined(HAVE_DECL_KEY_KPLEFTPAREN) && HAVE_DECL_KEY_KPLEFTPAREN)) +#if defined(KEY_KPLEFTPAREN) || (defined(HAVE_DECL_KEY_KPLEFTPAREN) && HAVE_DECL_KEY_KPLEFTPAREN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPLEFTPAREN) == (179), "KEY_KPLEFTPAREN != 179"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPLEFTPAREN 179 #endif -#if !(defined(KEY_KPRIGHTPAREN) || (defined(HAVE_DECL_KEY_KPRIGHTPAREN) && HAVE_DECL_KEY_KPRIGHTPAREN)) +#if defined(KEY_KPRIGHTPAREN) || (defined(HAVE_DECL_KEY_KPRIGHTPAREN) && HAVE_DECL_KEY_KPRIGHTPAREN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KPRIGHTPAREN) == (180), "KEY_KPRIGHTPAREN != 180"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KPRIGHTPAREN 180 #endif -#if !(defined(KEY_NEW) || (defined(HAVE_DECL_KEY_NEW) && HAVE_DECL_KEY_NEW)) +#if defined(KEY_NEW) || (defined(HAVE_DECL_KEY_NEW) && HAVE_DECL_KEY_NEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NEW) == (181), "KEY_NEW != 181"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NEW 181 #endif -#if !(defined(KEY_REDO) || (defined(HAVE_DECL_KEY_REDO) && HAVE_DECL_KEY_REDO)) +#if defined(KEY_REDO) || (defined(HAVE_DECL_KEY_REDO) && HAVE_DECL_KEY_REDO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REDO) == (182), "KEY_REDO != 182"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REDO 182 #endif -#if !(defined(KEY_F13) || (defined(HAVE_DECL_KEY_F13) && HAVE_DECL_KEY_F13)) +#if defined(KEY_F13) || (defined(HAVE_DECL_KEY_F13) && HAVE_DECL_KEY_F13) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F13) == (183), "KEY_F13 != 183"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F13 183 #endif -#if !(defined(KEY_F14) || (defined(HAVE_DECL_KEY_F14) && HAVE_DECL_KEY_F14)) +#if defined(KEY_F14) || (defined(HAVE_DECL_KEY_F14) && HAVE_DECL_KEY_F14) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F14) == (184), "KEY_F14 != 184"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F14 184 #endif -#if !(defined(KEY_F15) || (defined(HAVE_DECL_KEY_F15) && HAVE_DECL_KEY_F15)) +#if defined(KEY_F15) || (defined(HAVE_DECL_KEY_F15) && HAVE_DECL_KEY_F15) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F15) == (185), "KEY_F15 != 185"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F15 185 #endif -#if !(defined(KEY_F16) || (defined(HAVE_DECL_KEY_F16) && HAVE_DECL_KEY_F16)) +#if defined(KEY_F16) || (defined(HAVE_DECL_KEY_F16) && HAVE_DECL_KEY_F16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F16) == (186), "KEY_F16 != 186"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F16 186 #endif -#if !(defined(KEY_F17) || (defined(HAVE_DECL_KEY_F17) && HAVE_DECL_KEY_F17)) +#if defined(KEY_F17) || (defined(HAVE_DECL_KEY_F17) && HAVE_DECL_KEY_F17) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F17) == (187), "KEY_F17 != 187"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F17 187 #endif -#if !(defined(KEY_F18) || (defined(HAVE_DECL_KEY_F18) && HAVE_DECL_KEY_F18)) +#if defined(KEY_F18) || (defined(HAVE_DECL_KEY_F18) && HAVE_DECL_KEY_F18) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F18) == (188), "KEY_F18 != 188"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F18 188 #endif -#if !(defined(KEY_F19) || (defined(HAVE_DECL_KEY_F19) && HAVE_DECL_KEY_F19)) +#if defined(KEY_F19) || (defined(HAVE_DECL_KEY_F19) && HAVE_DECL_KEY_F19) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F19) == (189), "KEY_F19 != 189"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F19 189 #endif -#if !(defined(KEY_F20) || (defined(HAVE_DECL_KEY_F20) && HAVE_DECL_KEY_F20)) +#if defined(KEY_F20) || (defined(HAVE_DECL_KEY_F20) && HAVE_DECL_KEY_F20) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F20) == (190), "KEY_F20 != 190"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F20 190 #endif -#if !(defined(KEY_F21) || (defined(HAVE_DECL_KEY_F21) && HAVE_DECL_KEY_F21)) +#if defined(KEY_F21) || (defined(HAVE_DECL_KEY_F21) && HAVE_DECL_KEY_F21) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F21) == (191), "KEY_F21 != 191"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F21 191 #endif -#if !(defined(KEY_F22) || (defined(HAVE_DECL_KEY_F22) && HAVE_DECL_KEY_F22)) +#if defined(KEY_F22) || (defined(HAVE_DECL_KEY_F22) && HAVE_DECL_KEY_F22) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F22) == (192), "KEY_F22 != 192"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F22 192 #endif -#if !(defined(KEY_F23) || (defined(HAVE_DECL_KEY_F23) && HAVE_DECL_KEY_F23)) +#if defined(KEY_F23) || (defined(HAVE_DECL_KEY_F23) && HAVE_DECL_KEY_F23) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F23) == (193), "KEY_F23 != 193"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F23 193 #endif -#if !(defined(KEY_F24) || (defined(HAVE_DECL_KEY_F24) && HAVE_DECL_KEY_F24)) +#if defined(KEY_F24) || (defined(HAVE_DECL_KEY_F24) && HAVE_DECL_KEY_F24) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_F24) == (194), "KEY_F24 != 194"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_F24 194 #endif -#if !(defined(KEY_PLAYCD) || (defined(HAVE_DECL_KEY_PLAYCD) && HAVE_DECL_KEY_PLAYCD)) +#if defined(KEY_PLAYCD) || (defined(HAVE_DECL_KEY_PLAYCD) && HAVE_DECL_KEY_PLAYCD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PLAYCD) == (200), "KEY_PLAYCD != 200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PLAYCD 200 #endif -#if !(defined(KEY_PAUSECD) || (defined(HAVE_DECL_KEY_PAUSECD) && HAVE_DECL_KEY_PAUSECD)) +#if defined(KEY_PAUSECD) || (defined(HAVE_DECL_KEY_PAUSECD) && HAVE_DECL_KEY_PAUSECD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PAUSECD) == (201), "KEY_PAUSECD != 201"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PAUSECD 201 #endif -#if !(defined(KEY_PROG3) || (defined(HAVE_DECL_KEY_PROG3) && HAVE_DECL_KEY_PROG3)) +#if defined(KEY_PROG3) || (defined(HAVE_DECL_KEY_PROG3) && HAVE_DECL_KEY_PROG3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PROG3) == (202), "KEY_PROG3 != 202"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PROG3 202 #endif -#if !(defined(KEY_PROG4) || (defined(HAVE_DECL_KEY_PROG4) && HAVE_DECL_KEY_PROG4)) +#if defined(KEY_PROG4) || (defined(HAVE_DECL_KEY_PROG4) && HAVE_DECL_KEY_PROG4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PROG4) == (203), "KEY_PROG4 != 203"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PROG4 203 #endif -#if !(defined(KEY_DASHBOARD) || (defined(HAVE_DECL_KEY_DASHBOARD) && HAVE_DECL_KEY_DASHBOARD)) +#if defined(KEY_DASHBOARD) || (defined(HAVE_DECL_KEY_DASHBOARD) && HAVE_DECL_KEY_DASHBOARD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DASHBOARD) == (204), "KEY_DASHBOARD != 204"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DASHBOARD 204 #endif -#if !(defined(KEY_SUSPEND) || (defined(HAVE_DECL_KEY_SUSPEND) && HAVE_DECL_KEY_SUSPEND)) +#if defined(KEY_SUSPEND) || (defined(HAVE_DECL_KEY_SUSPEND) && HAVE_DECL_KEY_SUSPEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SUSPEND) == (205), "KEY_SUSPEND != 205"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SUSPEND 205 #endif -#if !(defined(KEY_CLOSE) || (defined(HAVE_DECL_KEY_CLOSE) && HAVE_DECL_KEY_CLOSE)) +#if defined(KEY_CLOSE) || (defined(HAVE_DECL_KEY_CLOSE) && HAVE_DECL_KEY_CLOSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CLOSE) == (206), "KEY_CLOSE != 206"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CLOSE 206 #endif -#if !(defined(KEY_PLAY) || (defined(HAVE_DECL_KEY_PLAY) && HAVE_DECL_KEY_PLAY)) +#if defined(KEY_PLAY) || (defined(HAVE_DECL_KEY_PLAY) && HAVE_DECL_KEY_PLAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PLAY) == (207), "KEY_PLAY != 207"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PLAY 207 #endif -#if !(defined(KEY_FASTFORWARD) || (defined(HAVE_DECL_KEY_FASTFORWARD) && HAVE_DECL_KEY_FASTFORWARD)) +#if defined(KEY_FASTFORWARD) || (defined(HAVE_DECL_KEY_FASTFORWARD) && HAVE_DECL_KEY_FASTFORWARD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FASTFORWARD) == (208), "KEY_FASTFORWARD != 208"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FASTFORWARD 208 #endif -#if !(defined(KEY_BASSBOOST) || (defined(HAVE_DECL_KEY_BASSBOOST) && HAVE_DECL_KEY_BASSBOOST)) +#if defined(KEY_BASSBOOST) || (defined(HAVE_DECL_KEY_BASSBOOST) && HAVE_DECL_KEY_BASSBOOST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BASSBOOST) == (209), "KEY_BASSBOOST != 209"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BASSBOOST 209 #endif -#if !(defined(KEY_PRINT) || (defined(HAVE_DECL_KEY_PRINT) && HAVE_DECL_KEY_PRINT)) +#if defined(KEY_PRINT) || (defined(HAVE_DECL_KEY_PRINT) && HAVE_DECL_KEY_PRINT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PRINT) == (210), "KEY_PRINT != 210"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PRINT 210 #endif -#if !(defined(KEY_HP) || (defined(HAVE_DECL_KEY_HP) && HAVE_DECL_KEY_HP)) +#if defined(KEY_HP) || (defined(HAVE_DECL_KEY_HP) && HAVE_DECL_KEY_HP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_HP) == (211), "KEY_HP != 211"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_HP 211 #endif -#if !(defined(KEY_CAMERA) || (defined(HAVE_DECL_KEY_CAMERA) && HAVE_DECL_KEY_CAMERA)) +#if defined(KEY_CAMERA) || (defined(HAVE_DECL_KEY_CAMERA) && HAVE_DECL_KEY_CAMERA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CAMERA) == (212), "KEY_CAMERA != 212"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CAMERA 212 #endif -#if !(defined(KEY_SOUND) || (defined(HAVE_DECL_KEY_SOUND) && HAVE_DECL_KEY_SOUND)) +#if defined(KEY_SOUND) || (defined(HAVE_DECL_KEY_SOUND) && HAVE_DECL_KEY_SOUND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SOUND) == (213), "KEY_SOUND != 213"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SOUND 213 #endif -#if !(defined(KEY_QUESTION) || (defined(HAVE_DECL_KEY_QUESTION) && HAVE_DECL_KEY_QUESTION)) +#if defined(KEY_QUESTION) || (defined(HAVE_DECL_KEY_QUESTION) && HAVE_DECL_KEY_QUESTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_QUESTION) == (214), "KEY_QUESTION != 214"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_QUESTION 214 #endif -#if !(defined(KEY_EMAIL) || (defined(HAVE_DECL_KEY_EMAIL) && HAVE_DECL_KEY_EMAIL)) +#if defined(KEY_EMAIL) || (defined(HAVE_DECL_KEY_EMAIL) && HAVE_DECL_KEY_EMAIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_EMAIL) == (215), "KEY_EMAIL != 215"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_EMAIL 215 #endif -#if !(defined(KEY_CHAT) || (defined(HAVE_DECL_KEY_CHAT) && HAVE_DECL_KEY_CHAT)) +#if defined(KEY_CHAT) || (defined(HAVE_DECL_KEY_CHAT) && HAVE_DECL_KEY_CHAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CHAT) == (216), "KEY_CHAT != 216"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CHAT 216 #endif -#if !(defined(KEY_SEARCH) || (defined(HAVE_DECL_KEY_SEARCH) && HAVE_DECL_KEY_SEARCH)) +#if defined(KEY_SEARCH) || (defined(HAVE_DECL_KEY_SEARCH) && HAVE_DECL_KEY_SEARCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SEARCH) == (217), "KEY_SEARCH != 217"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SEARCH 217 #endif -#if !(defined(KEY_CONNECT) || (defined(HAVE_DECL_KEY_CONNECT) && HAVE_DECL_KEY_CONNECT)) +#if defined(KEY_CONNECT) || (defined(HAVE_DECL_KEY_CONNECT) && HAVE_DECL_KEY_CONNECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CONNECT) == (218), "KEY_CONNECT != 218"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CONNECT 218 #endif -#if !(defined(KEY_FINANCE) || (defined(HAVE_DECL_KEY_FINANCE) && HAVE_DECL_KEY_FINANCE)) +#if defined(KEY_FINANCE) || (defined(HAVE_DECL_KEY_FINANCE) && HAVE_DECL_KEY_FINANCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FINANCE) == (219), "KEY_FINANCE != 219"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FINANCE 219 #endif -#if !(defined(KEY_SPORT) || (defined(HAVE_DECL_KEY_SPORT) && HAVE_DECL_KEY_SPORT)) +#if defined(KEY_SPORT) || (defined(HAVE_DECL_KEY_SPORT) && HAVE_DECL_KEY_SPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPORT) == (220), "KEY_SPORT != 220"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPORT 220 #endif -#if !(defined(KEY_SHOP) || (defined(HAVE_DECL_KEY_SHOP) && HAVE_DECL_KEY_SHOP)) +#if defined(KEY_SHOP) || (defined(HAVE_DECL_KEY_SHOP) && HAVE_DECL_KEY_SHOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SHOP) == (221), "KEY_SHOP != 221"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SHOP 221 #endif -#if !(defined(KEY_ALTERASE) || (defined(HAVE_DECL_KEY_ALTERASE) && HAVE_DECL_KEY_ALTERASE)) +#if defined(KEY_ALTERASE) || (defined(HAVE_DECL_KEY_ALTERASE) && HAVE_DECL_KEY_ALTERASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ALTERASE) == (222), "KEY_ALTERASE != 222"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ALTERASE 222 #endif -#if !(defined(KEY_CANCEL) || (defined(HAVE_DECL_KEY_CANCEL) && HAVE_DECL_KEY_CANCEL)) +#if defined(KEY_CANCEL) || (defined(HAVE_DECL_KEY_CANCEL) && HAVE_DECL_KEY_CANCEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CANCEL) == (223), "KEY_CANCEL != 223"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CANCEL 223 #endif -#if !(defined(KEY_BRIGHTNESSDOWN) || (defined(HAVE_DECL_KEY_BRIGHTNESSDOWN) && HAVE_DECL_KEY_BRIGHTNESSDOWN)) +#if defined(KEY_BRIGHTNESSDOWN) || (defined(HAVE_DECL_KEY_BRIGHTNESSDOWN) && HAVE_DECL_KEY_BRIGHTNESSDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRIGHTNESSDOWN) == (224), "KEY_BRIGHTNESSDOWN != 224"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRIGHTNESSDOWN 224 #endif -#if !(defined(KEY_BRIGHTNESSUP) || (defined(HAVE_DECL_KEY_BRIGHTNESSUP) && HAVE_DECL_KEY_BRIGHTNESSUP)) +#if defined(KEY_BRIGHTNESSUP) || (defined(HAVE_DECL_KEY_BRIGHTNESSUP) && HAVE_DECL_KEY_BRIGHTNESSUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRIGHTNESSUP) == (225), "KEY_BRIGHTNESSUP != 225"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRIGHTNESSUP 225 #endif -#if !(defined(KEY_MEDIA) || (defined(HAVE_DECL_KEY_MEDIA) && HAVE_DECL_KEY_MEDIA)) +#if defined(KEY_MEDIA) || (defined(HAVE_DECL_KEY_MEDIA) && HAVE_DECL_KEY_MEDIA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MEDIA) == (226), "KEY_MEDIA != 226"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MEDIA 226 #endif -#if !(defined(KEY_SWITCHVIDEOMODE) || (defined(HAVE_DECL_KEY_SWITCHVIDEOMODE) && HAVE_DECL_KEY_SWITCHVIDEOMODE)) +#if defined(KEY_SWITCHVIDEOMODE) || (defined(HAVE_DECL_KEY_SWITCHVIDEOMODE) && HAVE_DECL_KEY_SWITCHVIDEOMODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SWITCHVIDEOMODE) == (227), "KEY_SWITCHVIDEOMODE != 227"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SWITCHVIDEOMODE 227 #endif -#if !(defined(KEY_KBDILLUMTOGGLE) || (defined(HAVE_DECL_KEY_KBDILLUMTOGGLE) && HAVE_DECL_KEY_KBDILLUMTOGGLE)) +#if defined(KEY_KBDILLUMTOGGLE) || (defined(HAVE_DECL_KEY_KBDILLUMTOGGLE) && HAVE_DECL_KEY_KBDILLUMTOGGLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KBDILLUMTOGGLE) == (228), "KEY_KBDILLUMTOGGLE != 228"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KBDILLUMTOGGLE 228 #endif -#if !(defined(KEY_KBDILLUMDOWN) || (defined(HAVE_DECL_KEY_KBDILLUMDOWN) && HAVE_DECL_KEY_KBDILLUMDOWN)) +#if defined(KEY_KBDILLUMDOWN) || (defined(HAVE_DECL_KEY_KBDILLUMDOWN) && HAVE_DECL_KEY_KBDILLUMDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KBDILLUMDOWN) == (229), "KEY_KBDILLUMDOWN != 229"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KBDILLUMDOWN 229 #endif -#if !(defined(KEY_KBDILLUMUP) || (defined(HAVE_DECL_KEY_KBDILLUMUP) && HAVE_DECL_KEY_KBDILLUMUP)) +#if defined(KEY_KBDILLUMUP) || (defined(HAVE_DECL_KEY_KBDILLUMUP) && HAVE_DECL_KEY_KBDILLUMUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KBDILLUMUP) == (230), "KEY_KBDILLUMUP != 230"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KBDILLUMUP 230 #endif -#if !(defined(KEY_SEND) || (defined(HAVE_DECL_KEY_SEND) && HAVE_DECL_KEY_SEND)) +#if defined(KEY_SEND) || (defined(HAVE_DECL_KEY_SEND) && HAVE_DECL_KEY_SEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SEND) == (231), "KEY_SEND != 231"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SEND 231 #endif -#if !(defined(KEY_REPLY) || (defined(HAVE_DECL_KEY_REPLY) && HAVE_DECL_KEY_REPLY)) +#if defined(KEY_REPLY) || (defined(HAVE_DECL_KEY_REPLY) && HAVE_DECL_KEY_REPLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REPLY) == (232), "KEY_REPLY != 232"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REPLY 232 #endif -#if !(defined(KEY_FORWARDMAIL) || (defined(HAVE_DECL_KEY_FORWARDMAIL) && HAVE_DECL_KEY_FORWARDMAIL)) +#if defined(KEY_FORWARDMAIL) || (defined(HAVE_DECL_KEY_FORWARDMAIL) && HAVE_DECL_KEY_FORWARDMAIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FORWARDMAIL) == (233), "KEY_FORWARDMAIL != 233"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FORWARDMAIL 233 #endif -#if !(defined(KEY_SAVE) || (defined(HAVE_DECL_KEY_SAVE) && HAVE_DECL_KEY_SAVE)) +#if defined(KEY_SAVE) || (defined(HAVE_DECL_KEY_SAVE) && HAVE_DECL_KEY_SAVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SAVE) == (234), "KEY_SAVE != 234"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SAVE 234 #endif -#if !(defined(KEY_DOCUMENTS) || (defined(HAVE_DECL_KEY_DOCUMENTS) && HAVE_DECL_KEY_DOCUMENTS)) +#if defined(KEY_DOCUMENTS) || (defined(HAVE_DECL_KEY_DOCUMENTS) && HAVE_DECL_KEY_DOCUMENTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DOCUMENTS) == (235), "KEY_DOCUMENTS != 235"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DOCUMENTS 235 #endif -#if !(defined(KEY_BATTERY) || (defined(HAVE_DECL_KEY_BATTERY) && HAVE_DECL_KEY_BATTERY)) +#if defined(KEY_BATTERY) || (defined(HAVE_DECL_KEY_BATTERY) && HAVE_DECL_KEY_BATTERY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BATTERY) == (236), "KEY_BATTERY != 236"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BATTERY 236 #endif -#if !(defined(KEY_BLUETOOTH) || (defined(HAVE_DECL_KEY_BLUETOOTH) && HAVE_DECL_KEY_BLUETOOTH)) +#if defined(KEY_BLUETOOTH) || (defined(HAVE_DECL_KEY_BLUETOOTH) && HAVE_DECL_KEY_BLUETOOTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BLUETOOTH) == (237), "KEY_BLUETOOTH != 237"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BLUETOOTH 237 #endif -#if !(defined(KEY_WLAN) || (defined(HAVE_DECL_KEY_WLAN) && HAVE_DECL_KEY_WLAN)) +#if defined(KEY_WLAN) || (defined(HAVE_DECL_KEY_WLAN) && HAVE_DECL_KEY_WLAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_WLAN) == (238), "KEY_WLAN != 238"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_WLAN 238 #endif -#if !(defined(KEY_UWB) || (defined(HAVE_DECL_KEY_UWB) && HAVE_DECL_KEY_UWB)) +#if defined(KEY_UWB) || (defined(HAVE_DECL_KEY_UWB) && HAVE_DECL_KEY_UWB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_UWB) == (239), "KEY_UWB != 239"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_UWB 239 #endif -#if !(defined(KEY_UNKNOWN) || (defined(HAVE_DECL_KEY_UNKNOWN) && HAVE_DECL_KEY_UNKNOWN)) +#if defined(KEY_UNKNOWN) || (defined(HAVE_DECL_KEY_UNKNOWN) && HAVE_DECL_KEY_UNKNOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_UNKNOWN) == (240), "KEY_UNKNOWN != 240"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_UNKNOWN 240 #endif -#if !(defined(KEY_VIDEO_NEXT) || (defined(HAVE_DECL_KEY_VIDEO_NEXT) && HAVE_DECL_KEY_VIDEO_NEXT)) +#if defined(KEY_VIDEO_NEXT) || (defined(HAVE_DECL_KEY_VIDEO_NEXT) && HAVE_DECL_KEY_VIDEO_NEXT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VIDEO_NEXT) == (241), "KEY_VIDEO_NEXT != 241"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VIDEO_NEXT 241 #endif -#if !(defined(KEY_VIDEO_PREV) || (defined(HAVE_DECL_KEY_VIDEO_PREV) && HAVE_DECL_KEY_VIDEO_PREV)) +#if defined(KEY_VIDEO_PREV) || (defined(HAVE_DECL_KEY_VIDEO_PREV) && HAVE_DECL_KEY_VIDEO_PREV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VIDEO_PREV) == (242), "KEY_VIDEO_PREV != 242"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VIDEO_PREV 242 #endif -#if !(defined(KEY_BRIGHTNESS_CYCLE) || (defined(HAVE_DECL_KEY_BRIGHTNESS_CYCLE) && HAVE_DECL_KEY_BRIGHTNESS_CYCLE)) +#if defined(KEY_BRIGHTNESS_CYCLE) || (defined(HAVE_DECL_KEY_BRIGHTNESS_CYCLE) && HAVE_DECL_KEY_BRIGHTNESS_CYCLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRIGHTNESS_CYCLE) == (243), "KEY_BRIGHTNESS_CYCLE != 243"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRIGHTNESS_CYCLE 243 #endif -#if !(defined(KEY_BRIGHTNESS_AUTO) || (defined(HAVE_DECL_KEY_BRIGHTNESS_AUTO) && HAVE_DECL_KEY_BRIGHTNESS_AUTO)) +#if defined(KEY_BRIGHTNESS_AUTO) || (defined(HAVE_DECL_KEY_BRIGHTNESS_AUTO) && HAVE_DECL_KEY_BRIGHTNESS_AUTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRIGHTNESS_AUTO) == (244), "KEY_BRIGHTNESS_AUTO != 244"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRIGHTNESS_AUTO 244 #endif -#if !(defined(KEY_DISPLAY_OFF) || (defined(HAVE_DECL_KEY_DISPLAY_OFF) && HAVE_DECL_KEY_DISPLAY_OFF)) +#if defined(KEY_DISPLAY_OFF) || (defined(HAVE_DECL_KEY_DISPLAY_OFF) && HAVE_DECL_KEY_DISPLAY_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DISPLAY_OFF) == (245), "KEY_DISPLAY_OFF != 245"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DISPLAY_OFF 245 #endif -#if !(defined(KEY_WWAN) || (defined(HAVE_DECL_KEY_WWAN) && HAVE_DECL_KEY_WWAN)) +#if defined(KEY_WWAN) || (defined(HAVE_DECL_KEY_WWAN) && HAVE_DECL_KEY_WWAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_WWAN) == (246), "KEY_WWAN != 246"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_WWAN 246 #endif -#if !(defined(KEY_RFKILL) || (defined(HAVE_DECL_KEY_RFKILL) && HAVE_DECL_KEY_RFKILL)) +#ifndef STRACE_WORKAROUND_FOR_KEY_RFKILL +# define STRACE_WORKAROUND_FOR_KEY_RFKILL +# undef KEY_RFKILL +#endif +#if defined(KEY_RFKILL) || (defined(HAVE_DECL_KEY_RFKILL) && HAVE_DECL_KEY_RFKILL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RFKILL) == (247), "KEY_RFKILL != 247"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RFKILL 247 #endif -#if !(defined(KEY_MICMUTE) || (defined(HAVE_DECL_KEY_MICMUTE) && HAVE_DECL_KEY_MICMUTE)) +#if defined(KEY_MICMUTE) || (defined(HAVE_DECL_KEY_MICMUTE) && HAVE_DECL_KEY_MICMUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MICMUTE) == (248), "KEY_MICMUTE != 248"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MICMUTE 248 #endif -#if !(defined(BTN_0) || (defined(HAVE_DECL_BTN_0) && HAVE_DECL_BTN_0)) +#if defined(BTN_0) || (defined(HAVE_DECL_BTN_0) && HAVE_DECL_BTN_0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_0) == (0x100), "BTN_0 != 0x100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_0 0x100 #endif -#if !(defined(BTN_1) || (defined(HAVE_DECL_BTN_1) && HAVE_DECL_BTN_1)) +#if defined(BTN_1) || (defined(HAVE_DECL_BTN_1) && HAVE_DECL_BTN_1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_1) == (0x101), "BTN_1 != 0x101"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_1 0x101 #endif -#if !(defined(BTN_2) || (defined(HAVE_DECL_BTN_2) && HAVE_DECL_BTN_2)) +#if defined(BTN_2) || (defined(HAVE_DECL_BTN_2) && HAVE_DECL_BTN_2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_2) == (0x102), "BTN_2 != 0x102"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_2 0x102 #endif -#if !(defined(BTN_3) || (defined(HAVE_DECL_BTN_3) && HAVE_DECL_BTN_3)) +#if defined(BTN_3) || (defined(HAVE_DECL_BTN_3) && HAVE_DECL_BTN_3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_3) == (0x103), "BTN_3 != 0x103"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_3 0x103 #endif -#if !(defined(BTN_4) || (defined(HAVE_DECL_BTN_4) && HAVE_DECL_BTN_4)) +#if defined(BTN_4) || (defined(HAVE_DECL_BTN_4) && HAVE_DECL_BTN_4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_4) == (0x104), "BTN_4 != 0x104"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_4 0x104 #endif -#if !(defined(BTN_5) || (defined(HAVE_DECL_BTN_5) && HAVE_DECL_BTN_5)) +#if defined(BTN_5) || (defined(HAVE_DECL_BTN_5) && HAVE_DECL_BTN_5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_5) == (0x105), "BTN_5 != 0x105"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_5 0x105 #endif -#if !(defined(BTN_6) || (defined(HAVE_DECL_BTN_6) && HAVE_DECL_BTN_6)) +#if defined(BTN_6) || (defined(HAVE_DECL_BTN_6) && HAVE_DECL_BTN_6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_6) == (0x106), "BTN_6 != 0x106"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_6 0x106 #endif -#if !(defined(BTN_7) || (defined(HAVE_DECL_BTN_7) && HAVE_DECL_BTN_7)) +#if defined(BTN_7) || (defined(HAVE_DECL_BTN_7) && HAVE_DECL_BTN_7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_7) == (0x107), "BTN_7 != 0x107"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_7 0x107 #endif -#if !(defined(BTN_8) || (defined(HAVE_DECL_BTN_8) && HAVE_DECL_BTN_8)) +#if defined(BTN_8) || (defined(HAVE_DECL_BTN_8) && HAVE_DECL_BTN_8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_8) == (0x108), "BTN_8 != 0x108"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_8 0x108 #endif -#if !(defined(BTN_9) || (defined(HAVE_DECL_BTN_9) && HAVE_DECL_BTN_9)) +#if defined(BTN_9) || (defined(HAVE_DECL_BTN_9) && HAVE_DECL_BTN_9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_9) == (0x109), "BTN_9 != 0x109"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_9 0x109 #endif -#if !(defined(BTN_MOUSE) || (defined(HAVE_DECL_BTN_MOUSE) && HAVE_DECL_BTN_MOUSE)) -# define BTN_MOUSE 0x110 -#endif -#if !(defined(BTN_LEFT) || (defined(HAVE_DECL_BTN_LEFT) && HAVE_DECL_BTN_LEFT)) +#if defined(BTN_LEFT) || (defined(HAVE_DECL_BTN_LEFT) && HAVE_DECL_BTN_LEFT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_LEFT) == (0x110), "BTN_LEFT != 0x110"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_LEFT 0x110 #endif -#if !(defined(BTN_RIGHT) || (defined(HAVE_DECL_BTN_RIGHT) && HAVE_DECL_BTN_RIGHT)) +#if defined(BTN_RIGHT) || (defined(HAVE_DECL_BTN_RIGHT) && HAVE_DECL_BTN_RIGHT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_RIGHT) == (0x111), "BTN_RIGHT != 0x111"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_RIGHT 0x111 #endif -#if !(defined(BTN_MIDDLE) || (defined(HAVE_DECL_BTN_MIDDLE) && HAVE_DECL_BTN_MIDDLE)) +#if defined(BTN_MIDDLE) || (defined(HAVE_DECL_BTN_MIDDLE) && HAVE_DECL_BTN_MIDDLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_MIDDLE) == (0x112), "BTN_MIDDLE != 0x112"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_MIDDLE 0x112 #endif -#if !(defined(BTN_SIDE) || (defined(HAVE_DECL_BTN_SIDE) && HAVE_DECL_BTN_SIDE)) +#if defined(BTN_SIDE) || (defined(HAVE_DECL_BTN_SIDE) && HAVE_DECL_BTN_SIDE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_SIDE) == (0x113), "BTN_SIDE != 0x113"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_SIDE 0x113 #endif -#if !(defined(BTN_EXTRA) || (defined(HAVE_DECL_BTN_EXTRA) && HAVE_DECL_BTN_EXTRA)) +#if defined(BTN_EXTRA) || (defined(HAVE_DECL_BTN_EXTRA) && HAVE_DECL_BTN_EXTRA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_EXTRA) == (0x114), "BTN_EXTRA != 0x114"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_EXTRA 0x114 #endif -#if !(defined(BTN_FORWARD) || (defined(HAVE_DECL_BTN_FORWARD) && HAVE_DECL_BTN_FORWARD)) +#if defined(BTN_FORWARD) || (defined(HAVE_DECL_BTN_FORWARD) && HAVE_DECL_BTN_FORWARD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_FORWARD) == (0x115), "BTN_FORWARD != 0x115"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_FORWARD 0x115 #endif -#if !(defined(BTN_BACK) || (defined(HAVE_DECL_BTN_BACK) && HAVE_DECL_BTN_BACK)) +#if defined(BTN_BACK) || (defined(HAVE_DECL_BTN_BACK) && HAVE_DECL_BTN_BACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_BACK) == (0x116), "BTN_BACK != 0x116"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_BACK 0x116 #endif -#if !(defined(BTN_TASK) || (defined(HAVE_DECL_BTN_TASK) && HAVE_DECL_BTN_TASK)) +#if defined(BTN_TASK) || (defined(HAVE_DECL_BTN_TASK) && HAVE_DECL_BTN_TASK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TASK) == (0x117), "BTN_TASK != 0x117"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TASK 0x117 #endif -#if !(defined(BTN_JOYSTICK) || (defined(HAVE_DECL_BTN_JOYSTICK) && HAVE_DECL_BTN_JOYSTICK)) -# define BTN_JOYSTICK 0x120 -#endif -#if !(defined(BTN_TRIGGER) || (defined(HAVE_DECL_BTN_TRIGGER) && HAVE_DECL_BTN_TRIGGER)) +#if defined(BTN_TRIGGER) || (defined(HAVE_DECL_BTN_TRIGGER) && HAVE_DECL_BTN_TRIGGER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER) == (0x120), "BTN_TRIGGER != 0x120"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER 0x120 #endif -#if !(defined(BTN_THUMB) || (defined(HAVE_DECL_BTN_THUMB) && HAVE_DECL_BTN_THUMB)) +#if defined(BTN_THUMB) || (defined(HAVE_DECL_BTN_THUMB) && HAVE_DECL_BTN_THUMB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_THUMB) == (0x121), "BTN_THUMB != 0x121"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_THUMB 0x121 #endif -#if !(defined(BTN_THUMB2) || (defined(HAVE_DECL_BTN_THUMB2) && HAVE_DECL_BTN_THUMB2)) +#if defined(BTN_THUMB2) || (defined(HAVE_DECL_BTN_THUMB2) && HAVE_DECL_BTN_THUMB2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_THUMB2) == (0x122), "BTN_THUMB2 != 0x122"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_THUMB2 0x122 #endif -#if !(defined(BTN_TOP) || (defined(HAVE_DECL_BTN_TOP) && HAVE_DECL_BTN_TOP)) +#if defined(BTN_TOP) || (defined(HAVE_DECL_BTN_TOP) && HAVE_DECL_BTN_TOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOP) == (0x123), "BTN_TOP != 0x123"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOP 0x123 #endif -#if !(defined(BTN_TOP2) || (defined(HAVE_DECL_BTN_TOP2) && HAVE_DECL_BTN_TOP2)) +#if defined(BTN_TOP2) || (defined(HAVE_DECL_BTN_TOP2) && HAVE_DECL_BTN_TOP2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOP2) == (0x124), "BTN_TOP2 != 0x124"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOP2 0x124 #endif -#if !(defined(BTN_PINKIE) || (defined(HAVE_DECL_BTN_PINKIE) && HAVE_DECL_BTN_PINKIE)) +#if defined(BTN_PINKIE) || (defined(HAVE_DECL_BTN_PINKIE) && HAVE_DECL_BTN_PINKIE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_PINKIE) == (0x125), "BTN_PINKIE != 0x125"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_PINKIE 0x125 #endif -#if !(defined(BTN_BASE) || (defined(HAVE_DECL_BTN_BASE) && HAVE_DECL_BTN_BASE)) +#if defined(BTN_BASE) || (defined(HAVE_DECL_BTN_BASE) && HAVE_DECL_BTN_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_BASE) == (0x126), "BTN_BASE != 0x126"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_BASE 0x126 #endif -#if !(defined(BTN_BASE2) || (defined(HAVE_DECL_BTN_BASE2) && HAVE_DECL_BTN_BASE2)) +#if defined(BTN_BASE2) || (defined(HAVE_DECL_BTN_BASE2) && HAVE_DECL_BTN_BASE2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_BASE2) == (0x127), "BTN_BASE2 != 0x127"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_BASE2 0x127 #endif -#if !(defined(BTN_BASE3) || (defined(HAVE_DECL_BTN_BASE3) && HAVE_DECL_BTN_BASE3)) +#if defined(BTN_BASE3) || (defined(HAVE_DECL_BTN_BASE3) && HAVE_DECL_BTN_BASE3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_BASE3) == (0x128), "BTN_BASE3 != 0x128"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_BASE3 0x128 #endif -#if !(defined(BTN_BASE4) || (defined(HAVE_DECL_BTN_BASE4) && HAVE_DECL_BTN_BASE4)) +#if defined(BTN_BASE4) || (defined(HAVE_DECL_BTN_BASE4) && HAVE_DECL_BTN_BASE4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_BASE4) == (0x129), "BTN_BASE4 != 0x129"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_BASE4 0x129 #endif -#if !(defined(BTN_BASE5) || (defined(HAVE_DECL_BTN_BASE5) && HAVE_DECL_BTN_BASE5)) +#if defined(BTN_BASE5) || (defined(HAVE_DECL_BTN_BASE5) && HAVE_DECL_BTN_BASE5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_BASE5) == (0x12a), "BTN_BASE5 != 0x12a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_BASE5 0x12a #endif -#if !(defined(BTN_BASE6) || (defined(HAVE_DECL_BTN_BASE6) && HAVE_DECL_BTN_BASE6)) +#if defined(BTN_BASE6) || (defined(HAVE_DECL_BTN_BASE6) && HAVE_DECL_BTN_BASE6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_BASE6) == (0x12b), "BTN_BASE6 != 0x12b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_BASE6 0x12b #endif -#if !(defined(BTN_DEAD) || (defined(HAVE_DECL_BTN_DEAD) && HAVE_DECL_BTN_DEAD)) +#if defined(BTN_DEAD) || (defined(HAVE_DECL_BTN_DEAD) && HAVE_DECL_BTN_DEAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_DEAD) == (0x12f), "BTN_DEAD != 0x12f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_DEAD 0x12f #endif -#if !(defined(BTN_GAMEPAD) || (defined(HAVE_DECL_BTN_GAMEPAD) && HAVE_DECL_BTN_GAMEPAD)) -# define BTN_GAMEPAD 0x130 -#endif -#if !(defined(BTN_SOUTH) || (defined(HAVE_DECL_BTN_SOUTH) && HAVE_DECL_BTN_SOUTH)) +#if defined(BTN_SOUTH) || (defined(HAVE_DECL_BTN_SOUTH) && HAVE_DECL_BTN_SOUTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_SOUTH) == (0x130), "BTN_SOUTH != 0x130"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_SOUTH 0x130 #endif -#if !(defined(BTN_EAST) || (defined(HAVE_DECL_BTN_EAST) && HAVE_DECL_BTN_EAST)) +#if defined(BTN_EAST) || (defined(HAVE_DECL_BTN_EAST) && HAVE_DECL_BTN_EAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_EAST) == (0x131), "BTN_EAST != 0x131"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_EAST 0x131 #endif -#if !(defined(BTN_C) || (defined(HAVE_DECL_BTN_C) && HAVE_DECL_BTN_C)) +#if defined(BTN_C) || (defined(HAVE_DECL_BTN_C) && HAVE_DECL_BTN_C) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_C) == (0x132), "BTN_C != 0x132"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_C 0x132 #endif -#if !(defined(BTN_NORTH) || (defined(HAVE_DECL_BTN_NORTH) && HAVE_DECL_BTN_NORTH)) +#if defined(BTN_NORTH) || (defined(HAVE_DECL_BTN_NORTH) && HAVE_DECL_BTN_NORTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_NORTH) == (0x133), "BTN_NORTH != 0x133"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_NORTH 0x133 #endif -#if !(defined(BTN_WEST) || (defined(HAVE_DECL_BTN_WEST) && HAVE_DECL_BTN_WEST)) +#if defined(BTN_WEST) || (defined(HAVE_DECL_BTN_WEST) && HAVE_DECL_BTN_WEST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_WEST) == (0x134), "BTN_WEST != 0x134"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_WEST 0x134 #endif -#if !(defined(BTN_Z) || (defined(HAVE_DECL_BTN_Z) && HAVE_DECL_BTN_Z)) +#if defined(BTN_Z) || (defined(HAVE_DECL_BTN_Z) && HAVE_DECL_BTN_Z) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_Z) == (0x135), "BTN_Z != 0x135"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_Z 0x135 #endif -#if !(defined(BTN_TL) || (defined(HAVE_DECL_BTN_TL) && HAVE_DECL_BTN_TL)) +#if defined(BTN_TL) || (defined(HAVE_DECL_BTN_TL) && HAVE_DECL_BTN_TL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TL) == (0x136), "BTN_TL != 0x136"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TL 0x136 #endif -#if !(defined(BTN_TR) || (defined(HAVE_DECL_BTN_TR) && HAVE_DECL_BTN_TR)) +#if defined(BTN_TR) || (defined(HAVE_DECL_BTN_TR) && HAVE_DECL_BTN_TR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TR) == (0x137), "BTN_TR != 0x137"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TR 0x137 #endif -#if !(defined(BTN_TL2) || (defined(HAVE_DECL_BTN_TL2) && HAVE_DECL_BTN_TL2)) +#if defined(BTN_TL2) || (defined(HAVE_DECL_BTN_TL2) && HAVE_DECL_BTN_TL2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TL2) == (0x138), "BTN_TL2 != 0x138"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TL2 0x138 #endif -#if !(defined(BTN_TR2) || (defined(HAVE_DECL_BTN_TR2) && HAVE_DECL_BTN_TR2)) +#if defined(BTN_TR2) || (defined(HAVE_DECL_BTN_TR2) && HAVE_DECL_BTN_TR2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TR2) == (0x139), "BTN_TR2 != 0x139"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TR2 0x139 #endif -#if !(defined(BTN_SELECT) || (defined(HAVE_DECL_BTN_SELECT) && HAVE_DECL_BTN_SELECT)) +#if defined(BTN_SELECT) || (defined(HAVE_DECL_BTN_SELECT) && HAVE_DECL_BTN_SELECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_SELECT) == (0x13a), "BTN_SELECT != 0x13a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_SELECT 0x13a #endif -#if !(defined(BTN_START) || (defined(HAVE_DECL_BTN_START) && HAVE_DECL_BTN_START)) +#if defined(BTN_START) || (defined(HAVE_DECL_BTN_START) && HAVE_DECL_BTN_START) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_START) == (0x13b), "BTN_START != 0x13b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_START 0x13b #endif -#if !(defined(BTN_MODE) || (defined(HAVE_DECL_BTN_MODE) && HAVE_DECL_BTN_MODE)) +#if defined(BTN_MODE) || (defined(HAVE_DECL_BTN_MODE) && HAVE_DECL_BTN_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_MODE) == (0x13c), "BTN_MODE != 0x13c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_MODE 0x13c #endif -#if !(defined(BTN_THUMBL) || (defined(HAVE_DECL_BTN_THUMBL) && HAVE_DECL_BTN_THUMBL)) +#if defined(BTN_THUMBL) || (defined(HAVE_DECL_BTN_THUMBL) && HAVE_DECL_BTN_THUMBL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_THUMBL) == (0x13d), "BTN_THUMBL != 0x13d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_THUMBL 0x13d #endif -#if !(defined(BTN_THUMBR) || (defined(HAVE_DECL_BTN_THUMBR) && HAVE_DECL_BTN_THUMBR)) +#if defined(BTN_THUMBR) || (defined(HAVE_DECL_BTN_THUMBR) && HAVE_DECL_BTN_THUMBR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_THUMBR) == (0x13e), "BTN_THUMBR != 0x13e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_THUMBR 0x13e #endif -#if !(defined(BTN_DIGI) || (defined(HAVE_DECL_BTN_DIGI) && HAVE_DECL_BTN_DIGI)) -# define BTN_DIGI 0x140 -#endif -#if !(defined(BTN_TOOL_PEN) || (defined(HAVE_DECL_BTN_TOOL_PEN) && HAVE_DECL_BTN_TOOL_PEN)) +#if defined(BTN_TOOL_PEN) || (defined(HAVE_DECL_BTN_TOOL_PEN) && HAVE_DECL_BTN_TOOL_PEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_PEN) == (0x140), "BTN_TOOL_PEN != 0x140"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_PEN 0x140 #endif -#if !(defined(BTN_TOOL_RUBBER) || (defined(HAVE_DECL_BTN_TOOL_RUBBER) && HAVE_DECL_BTN_TOOL_RUBBER)) +#if defined(BTN_TOOL_RUBBER) || (defined(HAVE_DECL_BTN_TOOL_RUBBER) && HAVE_DECL_BTN_TOOL_RUBBER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_RUBBER) == (0x141), "BTN_TOOL_RUBBER != 0x141"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_RUBBER 0x141 #endif -#if !(defined(BTN_TOOL_BRUSH) || (defined(HAVE_DECL_BTN_TOOL_BRUSH) && HAVE_DECL_BTN_TOOL_BRUSH)) +#if defined(BTN_TOOL_BRUSH) || (defined(HAVE_DECL_BTN_TOOL_BRUSH) && HAVE_DECL_BTN_TOOL_BRUSH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_BRUSH) == (0x142), "BTN_TOOL_BRUSH != 0x142"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_BRUSH 0x142 #endif -#if !(defined(BTN_TOOL_PENCIL) || (defined(HAVE_DECL_BTN_TOOL_PENCIL) && HAVE_DECL_BTN_TOOL_PENCIL)) +#if defined(BTN_TOOL_PENCIL) || (defined(HAVE_DECL_BTN_TOOL_PENCIL) && HAVE_DECL_BTN_TOOL_PENCIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_PENCIL) == (0x143), "BTN_TOOL_PENCIL != 0x143"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_PENCIL 0x143 #endif -#if !(defined(BTN_TOOL_AIRBRUSH) || (defined(HAVE_DECL_BTN_TOOL_AIRBRUSH) && HAVE_DECL_BTN_TOOL_AIRBRUSH)) +#if defined(BTN_TOOL_AIRBRUSH) || (defined(HAVE_DECL_BTN_TOOL_AIRBRUSH) && HAVE_DECL_BTN_TOOL_AIRBRUSH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_AIRBRUSH) == (0x144), "BTN_TOOL_AIRBRUSH != 0x144"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_AIRBRUSH 0x144 #endif -#if !(defined(BTN_TOOL_FINGER) || (defined(HAVE_DECL_BTN_TOOL_FINGER) && HAVE_DECL_BTN_TOOL_FINGER)) +#if defined(BTN_TOOL_FINGER) || (defined(HAVE_DECL_BTN_TOOL_FINGER) && HAVE_DECL_BTN_TOOL_FINGER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_FINGER) == (0x145), "BTN_TOOL_FINGER != 0x145"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_FINGER 0x145 #endif -#if !(defined(BTN_TOOL_MOUSE) || (defined(HAVE_DECL_BTN_TOOL_MOUSE) && HAVE_DECL_BTN_TOOL_MOUSE)) +#if defined(BTN_TOOL_MOUSE) || (defined(HAVE_DECL_BTN_TOOL_MOUSE) && HAVE_DECL_BTN_TOOL_MOUSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_MOUSE) == (0x146), "BTN_TOOL_MOUSE != 0x146"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_MOUSE 0x146 #endif -#if !(defined(BTN_TOOL_LENS) || (defined(HAVE_DECL_BTN_TOOL_LENS) && HAVE_DECL_BTN_TOOL_LENS)) +#if defined(BTN_TOOL_LENS) || (defined(HAVE_DECL_BTN_TOOL_LENS) && HAVE_DECL_BTN_TOOL_LENS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_LENS) == (0x147), "BTN_TOOL_LENS != 0x147"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_LENS 0x147 #endif -#if !(defined(BTN_TOOL_QUINTTAP) || (defined(HAVE_DECL_BTN_TOOL_QUINTTAP) && HAVE_DECL_BTN_TOOL_QUINTTAP)) +#if defined(BTN_TOOL_QUINTTAP) || (defined(HAVE_DECL_BTN_TOOL_QUINTTAP) && HAVE_DECL_BTN_TOOL_QUINTTAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_QUINTTAP) == (0x148), "BTN_TOOL_QUINTTAP != 0x148"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_QUINTTAP 0x148 #endif -#if !(defined(BTN_STYLUS3) || (defined(HAVE_DECL_BTN_STYLUS3) && HAVE_DECL_BTN_STYLUS3)) +#if defined(BTN_STYLUS3) || (defined(HAVE_DECL_BTN_STYLUS3) && HAVE_DECL_BTN_STYLUS3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_STYLUS3) == (0x149), "BTN_STYLUS3 != 0x149"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_STYLUS3 0x149 #endif -#if !(defined(BTN_TOUCH) || (defined(HAVE_DECL_BTN_TOUCH) && HAVE_DECL_BTN_TOUCH)) +#if defined(BTN_TOUCH) || (defined(HAVE_DECL_BTN_TOUCH) && HAVE_DECL_BTN_TOUCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOUCH) == (0x14a), "BTN_TOUCH != 0x14a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOUCH 0x14a #endif -#if !(defined(BTN_STYLUS) || (defined(HAVE_DECL_BTN_STYLUS) && HAVE_DECL_BTN_STYLUS)) +#if defined(BTN_STYLUS) || (defined(HAVE_DECL_BTN_STYLUS) && HAVE_DECL_BTN_STYLUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_STYLUS) == (0x14b), "BTN_STYLUS != 0x14b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_STYLUS 0x14b #endif -#if !(defined(BTN_STYLUS2) || (defined(HAVE_DECL_BTN_STYLUS2) && HAVE_DECL_BTN_STYLUS2)) +#if defined(BTN_STYLUS2) || (defined(HAVE_DECL_BTN_STYLUS2) && HAVE_DECL_BTN_STYLUS2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_STYLUS2) == (0x14c), "BTN_STYLUS2 != 0x14c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_STYLUS2 0x14c #endif -#if !(defined(BTN_TOOL_DOUBLETAP) || (defined(HAVE_DECL_BTN_TOOL_DOUBLETAP) && HAVE_DECL_BTN_TOOL_DOUBLETAP)) +#if defined(BTN_TOOL_DOUBLETAP) || (defined(HAVE_DECL_BTN_TOOL_DOUBLETAP) && HAVE_DECL_BTN_TOOL_DOUBLETAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_DOUBLETAP) == (0x14d), "BTN_TOOL_DOUBLETAP != 0x14d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_DOUBLETAP 0x14d #endif -#if !(defined(BTN_TOOL_TRIPLETAP) || (defined(HAVE_DECL_BTN_TOOL_TRIPLETAP) && HAVE_DECL_BTN_TOOL_TRIPLETAP)) +#if defined(BTN_TOOL_TRIPLETAP) || (defined(HAVE_DECL_BTN_TOOL_TRIPLETAP) && HAVE_DECL_BTN_TOOL_TRIPLETAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_TRIPLETAP) == (0x14e), "BTN_TOOL_TRIPLETAP != 0x14e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_TRIPLETAP 0x14e #endif -#if !(defined(BTN_TOOL_QUADTAP) || (defined(HAVE_DECL_BTN_TOOL_QUADTAP) && HAVE_DECL_BTN_TOOL_QUADTAP)) +#if defined(BTN_TOOL_QUADTAP) || (defined(HAVE_DECL_BTN_TOOL_QUADTAP) && HAVE_DECL_BTN_TOOL_QUADTAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TOOL_QUADTAP) == (0x14f), "BTN_TOOL_QUADTAP != 0x14f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TOOL_QUADTAP 0x14f #endif -#if !(defined(BTN_WHEEL) || (defined(HAVE_DECL_BTN_WHEEL) && HAVE_DECL_BTN_WHEEL)) -# define BTN_WHEEL 0x150 -#endif -#if !(defined(BTN_GEAR_DOWN) || (defined(HAVE_DECL_BTN_GEAR_DOWN) && HAVE_DECL_BTN_GEAR_DOWN)) +#if defined(BTN_GEAR_DOWN) || (defined(HAVE_DECL_BTN_GEAR_DOWN) && HAVE_DECL_BTN_GEAR_DOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_GEAR_DOWN) == (0x150), "BTN_GEAR_DOWN != 0x150"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_GEAR_DOWN 0x150 #endif -#if !(defined(BTN_GEAR_UP) || (defined(HAVE_DECL_BTN_GEAR_UP) && HAVE_DECL_BTN_GEAR_UP)) +#if defined(BTN_GEAR_UP) || (defined(HAVE_DECL_BTN_GEAR_UP) && HAVE_DECL_BTN_GEAR_UP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_GEAR_UP) == (0x151), "BTN_GEAR_UP != 0x151"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_GEAR_UP 0x151 #endif -#if !(defined(KEY_OK) || (defined(HAVE_DECL_KEY_OK) && HAVE_DECL_KEY_OK)) +#if defined(KEY_OK) || (defined(HAVE_DECL_KEY_OK) && HAVE_DECL_KEY_OK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OK) == (0x160), "KEY_OK != 0x160"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OK 0x160 #endif -#if !(defined(KEY_SELECT) || (defined(HAVE_DECL_KEY_SELECT) && HAVE_DECL_KEY_SELECT)) +#if defined(KEY_SELECT) || (defined(HAVE_DECL_KEY_SELECT) && HAVE_DECL_KEY_SELECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SELECT) == (0x161), "KEY_SELECT != 0x161"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SELECT 0x161 #endif -#if !(defined(KEY_GOTO) || (defined(HAVE_DECL_KEY_GOTO) && HAVE_DECL_KEY_GOTO)) +#if defined(KEY_GOTO) || (defined(HAVE_DECL_KEY_GOTO) && HAVE_DECL_KEY_GOTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GOTO) == (0x162), "KEY_GOTO != 0x162"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GOTO 0x162 #endif -#if !(defined(KEY_CLEAR) || (defined(HAVE_DECL_KEY_CLEAR) && HAVE_DECL_KEY_CLEAR)) +#if defined(KEY_CLEAR) || (defined(HAVE_DECL_KEY_CLEAR) && HAVE_DECL_KEY_CLEAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CLEAR) == (0x163), "KEY_CLEAR != 0x163"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CLEAR 0x163 #endif -#if !(defined(KEY_POWER2) || (defined(HAVE_DECL_KEY_POWER2) && HAVE_DECL_KEY_POWER2)) +#if defined(KEY_POWER2) || (defined(HAVE_DECL_KEY_POWER2) && HAVE_DECL_KEY_POWER2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_POWER2) == (0x164), "KEY_POWER2 != 0x164"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_POWER2 0x164 #endif -#if !(defined(KEY_OPTION) || (defined(HAVE_DECL_KEY_OPTION) && HAVE_DECL_KEY_OPTION)) +#if defined(KEY_OPTION) || (defined(HAVE_DECL_KEY_OPTION) && HAVE_DECL_KEY_OPTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OPTION) == (0x165), "KEY_OPTION != 0x165"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OPTION 0x165 #endif -#if !(defined(KEY_INFO) || (defined(HAVE_DECL_KEY_INFO) && HAVE_DECL_KEY_INFO)) +#if defined(KEY_INFO) || (defined(HAVE_DECL_KEY_INFO) && HAVE_DECL_KEY_INFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_INFO) == (0x166), "KEY_INFO != 0x166"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_INFO 0x166 #endif -#if !(defined(KEY_TIME) || (defined(HAVE_DECL_KEY_TIME) && HAVE_DECL_KEY_TIME)) +#if defined(KEY_TIME) || (defined(HAVE_DECL_KEY_TIME) && HAVE_DECL_KEY_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TIME) == (0x167), "KEY_TIME != 0x167"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TIME 0x167 #endif -#if !(defined(KEY_VENDOR) || (defined(HAVE_DECL_KEY_VENDOR) && HAVE_DECL_KEY_VENDOR)) +#if defined(KEY_VENDOR) || (defined(HAVE_DECL_KEY_VENDOR) && HAVE_DECL_KEY_VENDOR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VENDOR) == (0x168), "KEY_VENDOR != 0x168"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VENDOR 0x168 #endif -#if !(defined(KEY_ARCHIVE) || (defined(HAVE_DECL_KEY_ARCHIVE) && HAVE_DECL_KEY_ARCHIVE)) +#if defined(KEY_ARCHIVE) || (defined(HAVE_DECL_KEY_ARCHIVE) && HAVE_DECL_KEY_ARCHIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ARCHIVE) == (0x169), "KEY_ARCHIVE != 0x169"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ARCHIVE 0x169 #endif -#if !(defined(KEY_PROGRAM) || (defined(HAVE_DECL_KEY_PROGRAM) && HAVE_DECL_KEY_PROGRAM)) +#if defined(KEY_PROGRAM) || (defined(HAVE_DECL_KEY_PROGRAM) && HAVE_DECL_KEY_PROGRAM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PROGRAM) == (0x16a), "KEY_PROGRAM != 0x16a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PROGRAM 0x16a #endif -#if !(defined(KEY_CHANNEL) || (defined(HAVE_DECL_KEY_CHANNEL) && HAVE_DECL_KEY_CHANNEL)) +#if defined(KEY_CHANNEL) || (defined(HAVE_DECL_KEY_CHANNEL) && HAVE_DECL_KEY_CHANNEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CHANNEL) == (0x16b), "KEY_CHANNEL != 0x16b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CHANNEL 0x16b #endif -#if !(defined(KEY_FAVORITES) || (defined(HAVE_DECL_KEY_FAVORITES) && HAVE_DECL_KEY_FAVORITES)) +#if defined(KEY_FAVORITES) || (defined(HAVE_DECL_KEY_FAVORITES) && HAVE_DECL_KEY_FAVORITES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FAVORITES) == (0x16c), "KEY_FAVORITES != 0x16c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FAVORITES 0x16c #endif -#if !(defined(KEY_EPG) || (defined(HAVE_DECL_KEY_EPG) && HAVE_DECL_KEY_EPG)) +#if defined(KEY_EPG) || (defined(HAVE_DECL_KEY_EPG) && HAVE_DECL_KEY_EPG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_EPG) == (0x16d), "KEY_EPG != 0x16d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_EPG 0x16d #endif -#if !(defined(KEY_PVR) || (defined(HAVE_DECL_KEY_PVR) && HAVE_DECL_KEY_PVR)) +#if defined(KEY_PVR) || (defined(HAVE_DECL_KEY_PVR) && HAVE_DECL_KEY_PVR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PVR) == (0x16e), "KEY_PVR != 0x16e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PVR 0x16e #endif -#if !(defined(KEY_MHP) || (defined(HAVE_DECL_KEY_MHP) && HAVE_DECL_KEY_MHP)) +#if defined(KEY_MHP) || (defined(HAVE_DECL_KEY_MHP) && HAVE_DECL_KEY_MHP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MHP) == (0x16f), "KEY_MHP != 0x16f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MHP 0x16f #endif -#if !(defined(KEY_LANGUAGE) || (defined(HAVE_DECL_KEY_LANGUAGE) && HAVE_DECL_KEY_LANGUAGE)) +#if defined(KEY_LANGUAGE) || (defined(HAVE_DECL_KEY_LANGUAGE) && HAVE_DECL_KEY_LANGUAGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LANGUAGE) == (0x170), "KEY_LANGUAGE != 0x170"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LANGUAGE 0x170 #endif -#if !(defined(KEY_TITLE) || (defined(HAVE_DECL_KEY_TITLE) && HAVE_DECL_KEY_TITLE)) +#if defined(KEY_TITLE) || (defined(HAVE_DECL_KEY_TITLE) && HAVE_DECL_KEY_TITLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TITLE) == (0x171), "KEY_TITLE != 0x171"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TITLE 0x171 #endif -#if !(defined(KEY_SUBTITLE) || (defined(HAVE_DECL_KEY_SUBTITLE) && HAVE_DECL_KEY_SUBTITLE)) +#if defined(KEY_SUBTITLE) || (defined(HAVE_DECL_KEY_SUBTITLE) && HAVE_DECL_KEY_SUBTITLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SUBTITLE) == (0x172), "KEY_SUBTITLE != 0x172"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SUBTITLE 0x172 #endif -#if !(defined(KEY_ANGLE) || (defined(HAVE_DECL_KEY_ANGLE) && HAVE_DECL_KEY_ANGLE)) +#if defined(KEY_ANGLE) || (defined(HAVE_DECL_KEY_ANGLE) && HAVE_DECL_KEY_ANGLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ANGLE) == (0x173), "KEY_ANGLE != 0x173"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ANGLE 0x173 #endif -#if !(defined(KEY_ZOOM) || (defined(HAVE_DECL_KEY_ZOOM) && HAVE_DECL_KEY_ZOOM)) +#if defined(KEY_ZOOM) || (defined(HAVE_DECL_KEY_ZOOM) && HAVE_DECL_KEY_ZOOM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ZOOM) == (0x174), "KEY_ZOOM != 0x174"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ZOOM 0x174 #endif -#if !(defined(KEY_MODE) || (defined(HAVE_DECL_KEY_MODE) && HAVE_DECL_KEY_MODE)) +#if defined(KEY_MODE) || (defined(HAVE_DECL_KEY_MODE) && HAVE_DECL_KEY_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MODE) == (0x175), "KEY_MODE != 0x175"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MODE 0x175 #endif -#if !(defined(KEY_KEYBOARD) || (defined(HAVE_DECL_KEY_KEYBOARD) && HAVE_DECL_KEY_KEYBOARD)) +#if defined(KEY_KEYBOARD) || (defined(HAVE_DECL_KEY_KEYBOARD) && HAVE_DECL_KEY_KEYBOARD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KEYBOARD) == (0x176), "KEY_KEYBOARD != 0x176"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KEYBOARD 0x176 #endif -#if !(defined(KEY_SCREEN) || (defined(HAVE_DECL_KEY_SCREEN) && HAVE_DECL_KEY_SCREEN)) +#if defined(KEY_SCREEN) || (defined(HAVE_DECL_KEY_SCREEN) && HAVE_DECL_KEY_SCREEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SCREEN) == (0x177), "KEY_SCREEN != 0x177"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SCREEN 0x177 #endif -#if !(defined(KEY_PC) || (defined(HAVE_DECL_KEY_PC) && HAVE_DECL_KEY_PC)) +#if defined(KEY_PC) || (defined(HAVE_DECL_KEY_PC) && HAVE_DECL_KEY_PC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PC) == (0x178), "KEY_PC != 0x178"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PC 0x178 #endif -#if !(defined(KEY_TV) || (defined(HAVE_DECL_KEY_TV) && HAVE_DECL_KEY_TV)) +#if defined(KEY_TV) || (defined(HAVE_DECL_KEY_TV) && HAVE_DECL_KEY_TV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TV) == (0x179), "KEY_TV != 0x179"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TV 0x179 #endif -#if !(defined(KEY_TV2) || (defined(HAVE_DECL_KEY_TV2) && HAVE_DECL_KEY_TV2)) +#if defined(KEY_TV2) || (defined(HAVE_DECL_KEY_TV2) && HAVE_DECL_KEY_TV2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TV2) == (0x17a), "KEY_TV2 != 0x17a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TV2 0x17a #endif -#if !(defined(KEY_VCR) || (defined(HAVE_DECL_KEY_VCR) && HAVE_DECL_KEY_VCR)) +#if defined(KEY_VCR) || (defined(HAVE_DECL_KEY_VCR) && HAVE_DECL_KEY_VCR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VCR) == (0x17b), "KEY_VCR != 0x17b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VCR 0x17b #endif -#if !(defined(KEY_VCR2) || (defined(HAVE_DECL_KEY_VCR2) && HAVE_DECL_KEY_VCR2)) +#if defined(KEY_VCR2) || (defined(HAVE_DECL_KEY_VCR2) && HAVE_DECL_KEY_VCR2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VCR2) == (0x17c), "KEY_VCR2 != 0x17c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VCR2 0x17c #endif -#if !(defined(KEY_SAT) || (defined(HAVE_DECL_KEY_SAT) && HAVE_DECL_KEY_SAT)) +#if defined(KEY_SAT) || (defined(HAVE_DECL_KEY_SAT) && HAVE_DECL_KEY_SAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SAT) == (0x17d), "KEY_SAT != 0x17d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SAT 0x17d #endif -#if !(defined(KEY_SAT2) || (defined(HAVE_DECL_KEY_SAT2) && HAVE_DECL_KEY_SAT2)) +#if defined(KEY_SAT2) || (defined(HAVE_DECL_KEY_SAT2) && HAVE_DECL_KEY_SAT2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SAT2) == (0x17e), "KEY_SAT2 != 0x17e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SAT2 0x17e #endif -#if !(defined(KEY_CD) || (defined(HAVE_DECL_KEY_CD) && HAVE_DECL_KEY_CD)) +#if defined(KEY_CD) || (defined(HAVE_DECL_KEY_CD) && HAVE_DECL_KEY_CD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CD) == (0x17f), "KEY_CD != 0x17f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CD 0x17f #endif -#if !(defined(KEY_TAPE) || (defined(HAVE_DECL_KEY_TAPE) && HAVE_DECL_KEY_TAPE)) +#if defined(KEY_TAPE) || (defined(HAVE_DECL_KEY_TAPE) && HAVE_DECL_KEY_TAPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TAPE) == (0x180), "KEY_TAPE != 0x180"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TAPE 0x180 #endif -#if !(defined(KEY_RADIO) || (defined(HAVE_DECL_KEY_RADIO) && HAVE_DECL_KEY_RADIO)) +#if defined(KEY_RADIO) || (defined(HAVE_DECL_KEY_RADIO) && HAVE_DECL_KEY_RADIO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RADIO) == (0x181), "KEY_RADIO != 0x181"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RADIO 0x181 #endif -#if !(defined(KEY_TUNER) || (defined(HAVE_DECL_KEY_TUNER) && HAVE_DECL_KEY_TUNER)) +#if defined(KEY_TUNER) || (defined(HAVE_DECL_KEY_TUNER) && HAVE_DECL_KEY_TUNER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TUNER) == (0x182), "KEY_TUNER != 0x182"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TUNER 0x182 #endif -#if !(defined(KEY_PLAYER) || (defined(HAVE_DECL_KEY_PLAYER) && HAVE_DECL_KEY_PLAYER)) +#if defined(KEY_PLAYER) || (defined(HAVE_DECL_KEY_PLAYER) && HAVE_DECL_KEY_PLAYER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PLAYER) == (0x183), "KEY_PLAYER != 0x183"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PLAYER 0x183 #endif -#if !(defined(KEY_TEXT) || (defined(HAVE_DECL_KEY_TEXT) && HAVE_DECL_KEY_TEXT)) +#if defined(KEY_TEXT) || (defined(HAVE_DECL_KEY_TEXT) && HAVE_DECL_KEY_TEXT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TEXT) == (0x184), "KEY_TEXT != 0x184"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TEXT 0x184 #endif -#if !(defined(KEY_DVD) || (defined(HAVE_DECL_KEY_DVD) && HAVE_DECL_KEY_DVD)) +#if defined(KEY_DVD) || (defined(HAVE_DECL_KEY_DVD) && HAVE_DECL_KEY_DVD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DVD) == (0x185), "KEY_DVD != 0x185"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DVD 0x185 #endif -#if !(defined(KEY_AUX) || (defined(HAVE_DECL_KEY_AUX) && HAVE_DECL_KEY_AUX)) +#if defined(KEY_AUX) || (defined(HAVE_DECL_KEY_AUX) && HAVE_DECL_KEY_AUX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_AUX) == (0x186), "KEY_AUX != 0x186"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_AUX 0x186 #endif -#if !(defined(KEY_MP3) || (defined(HAVE_DECL_KEY_MP3) && HAVE_DECL_KEY_MP3)) +#if defined(KEY_MP3) || (defined(HAVE_DECL_KEY_MP3) && HAVE_DECL_KEY_MP3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MP3) == (0x187), "KEY_MP3 != 0x187"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MP3 0x187 #endif -#if !(defined(KEY_AUDIO) || (defined(HAVE_DECL_KEY_AUDIO) && HAVE_DECL_KEY_AUDIO)) +#if defined(KEY_AUDIO) || (defined(HAVE_DECL_KEY_AUDIO) && HAVE_DECL_KEY_AUDIO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_AUDIO) == (0x188), "KEY_AUDIO != 0x188"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_AUDIO 0x188 #endif -#if !(defined(KEY_VIDEO) || (defined(HAVE_DECL_KEY_VIDEO) && HAVE_DECL_KEY_VIDEO)) +#if defined(KEY_VIDEO) || (defined(HAVE_DECL_KEY_VIDEO) && HAVE_DECL_KEY_VIDEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VIDEO) == (0x189), "KEY_VIDEO != 0x189"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VIDEO 0x189 #endif -#if !(defined(KEY_DIRECTORY) || (defined(HAVE_DECL_KEY_DIRECTORY) && HAVE_DECL_KEY_DIRECTORY)) +#if defined(KEY_DIRECTORY) || (defined(HAVE_DECL_KEY_DIRECTORY) && HAVE_DECL_KEY_DIRECTORY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DIRECTORY) == (0x18a), "KEY_DIRECTORY != 0x18a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DIRECTORY 0x18a #endif -#if !(defined(KEY_LIST) || (defined(HAVE_DECL_KEY_LIST) && HAVE_DECL_KEY_LIST)) +#if defined(KEY_LIST) || (defined(HAVE_DECL_KEY_LIST) && HAVE_DECL_KEY_LIST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LIST) == (0x18b), "KEY_LIST != 0x18b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LIST 0x18b #endif -#if !(defined(KEY_MEMO) || (defined(HAVE_DECL_KEY_MEMO) && HAVE_DECL_KEY_MEMO)) +#if defined(KEY_MEMO) || (defined(HAVE_DECL_KEY_MEMO) && HAVE_DECL_KEY_MEMO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MEMO) == (0x18c), "KEY_MEMO != 0x18c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MEMO 0x18c #endif -#if !(defined(KEY_CALENDAR) || (defined(HAVE_DECL_KEY_CALENDAR) && HAVE_DECL_KEY_CALENDAR)) +#if defined(KEY_CALENDAR) || (defined(HAVE_DECL_KEY_CALENDAR) && HAVE_DECL_KEY_CALENDAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CALENDAR) == (0x18d), "KEY_CALENDAR != 0x18d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CALENDAR 0x18d #endif -#if !(defined(KEY_RED) || (defined(HAVE_DECL_KEY_RED) && HAVE_DECL_KEY_RED)) +#if defined(KEY_RED) || (defined(HAVE_DECL_KEY_RED) && HAVE_DECL_KEY_RED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RED) == (0x18e), "KEY_RED != 0x18e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RED 0x18e #endif -#if !(defined(KEY_GREEN) || (defined(HAVE_DECL_KEY_GREEN) && HAVE_DECL_KEY_GREEN)) +#if defined(KEY_GREEN) || (defined(HAVE_DECL_KEY_GREEN) && HAVE_DECL_KEY_GREEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GREEN) == (0x18f), "KEY_GREEN != 0x18f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GREEN 0x18f #endif -#if !(defined(KEY_YELLOW) || (defined(HAVE_DECL_KEY_YELLOW) && HAVE_DECL_KEY_YELLOW)) +#if defined(KEY_YELLOW) || (defined(HAVE_DECL_KEY_YELLOW) && HAVE_DECL_KEY_YELLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_YELLOW) == (0x190), "KEY_YELLOW != 0x190"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_YELLOW 0x190 #endif -#if !(defined(KEY_BLUE) || (defined(HAVE_DECL_KEY_BLUE) && HAVE_DECL_KEY_BLUE)) +#if defined(KEY_BLUE) || (defined(HAVE_DECL_KEY_BLUE) && HAVE_DECL_KEY_BLUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BLUE) == (0x191), "KEY_BLUE != 0x191"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BLUE 0x191 #endif -#if !(defined(KEY_CHANNELUP) || (defined(HAVE_DECL_KEY_CHANNELUP) && HAVE_DECL_KEY_CHANNELUP)) +#if defined(KEY_CHANNELUP) || (defined(HAVE_DECL_KEY_CHANNELUP) && HAVE_DECL_KEY_CHANNELUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CHANNELUP) == (0x192), "KEY_CHANNELUP != 0x192"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CHANNELUP 0x192 #endif -#if !(defined(KEY_CHANNELDOWN) || (defined(HAVE_DECL_KEY_CHANNELDOWN) && HAVE_DECL_KEY_CHANNELDOWN)) +#if defined(KEY_CHANNELDOWN) || (defined(HAVE_DECL_KEY_CHANNELDOWN) && HAVE_DECL_KEY_CHANNELDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CHANNELDOWN) == (0x193), "KEY_CHANNELDOWN != 0x193"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CHANNELDOWN 0x193 #endif -#if !(defined(KEY_FIRST) || (defined(HAVE_DECL_KEY_FIRST) && HAVE_DECL_KEY_FIRST)) +#if defined(KEY_FIRST) || (defined(HAVE_DECL_KEY_FIRST) && HAVE_DECL_KEY_FIRST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FIRST) == (0x194), "KEY_FIRST != 0x194"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FIRST 0x194 #endif -#if !(defined(KEY_LAST) || (defined(HAVE_DECL_KEY_LAST) && HAVE_DECL_KEY_LAST)) +#if defined(KEY_LAST) || (defined(HAVE_DECL_KEY_LAST) && HAVE_DECL_KEY_LAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LAST) == (0x195), "KEY_LAST != 0x195"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LAST 0x195 #endif -#if !(defined(KEY_AB) || (defined(HAVE_DECL_KEY_AB) && HAVE_DECL_KEY_AB)) +#if defined(KEY_AB) || (defined(HAVE_DECL_KEY_AB) && HAVE_DECL_KEY_AB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_AB) == (0x196), "KEY_AB != 0x196"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_AB 0x196 #endif -#if !(defined(KEY_NEXT) || (defined(HAVE_DECL_KEY_NEXT) && HAVE_DECL_KEY_NEXT)) +#if defined(KEY_NEXT) || (defined(HAVE_DECL_KEY_NEXT) && HAVE_DECL_KEY_NEXT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NEXT) == (0x197), "KEY_NEXT != 0x197"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NEXT 0x197 #endif -#if !(defined(KEY_RESTART) || (defined(HAVE_DECL_KEY_RESTART) && HAVE_DECL_KEY_RESTART)) +#if defined(KEY_RESTART) || (defined(HAVE_DECL_KEY_RESTART) && HAVE_DECL_KEY_RESTART) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RESTART) == (0x198), "KEY_RESTART != 0x198"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RESTART 0x198 #endif -#if !(defined(KEY_SLOW) || (defined(HAVE_DECL_KEY_SLOW) && HAVE_DECL_KEY_SLOW)) +#if defined(KEY_SLOW) || (defined(HAVE_DECL_KEY_SLOW) && HAVE_DECL_KEY_SLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SLOW) == (0x199), "KEY_SLOW != 0x199"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SLOW 0x199 #endif -#if !(defined(KEY_SHUFFLE) || (defined(HAVE_DECL_KEY_SHUFFLE) && HAVE_DECL_KEY_SHUFFLE)) +#if defined(KEY_SHUFFLE) || (defined(HAVE_DECL_KEY_SHUFFLE) && HAVE_DECL_KEY_SHUFFLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SHUFFLE) == (0x19a), "KEY_SHUFFLE != 0x19a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SHUFFLE 0x19a #endif -#if !(defined(KEY_BREAK) || (defined(HAVE_DECL_KEY_BREAK) && HAVE_DECL_KEY_BREAK)) +#if defined(KEY_BREAK) || (defined(HAVE_DECL_KEY_BREAK) && HAVE_DECL_KEY_BREAK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BREAK) == (0x19b), "KEY_BREAK != 0x19b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BREAK 0x19b #endif -#if !(defined(KEY_PREVIOUS) || (defined(HAVE_DECL_KEY_PREVIOUS) && HAVE_DECL_KEY_PREVIOUS)) +#if defined(KEY_PREVIOUS) || (defined(HAVE_DECL_KEY_PREVIOUS) && HAVE_DECL_KEY_PREVIOUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PREVIOUS) == (0x19c), "KEY_PREVIOUS != 0x19c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PREVIOUS 0x19c #endif -#if !(defined(KEY_DIGITS) || (defined(HAVE_DECL_KEY_DIGITS) && HAVE_DECL_KEY_DIGITS)) +#if defined(KEY_DIGITS) || (defined(HAVE_DECL_KEY_DIGITS) && HAVE_DECL_KEY_DIGITS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DIGITS) == (0x19d), "KEY_DIGITS != 0x19d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DIGITS 0x19d #endif -#if !(defined(KEY_TEEN) || (defined(HAVE_DECL_KEY_TEEN) && HAVE_DECL_KEY_TEEN)) +#if defined(KEY_TEEN) || (defined(HAVE_DECL_KEY_TEEN) && HAVE_DECL_KEY_TEEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TEEN) == (0x19e), "KEY_TEEN != 0x19e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TEEN 0x19e #endif -#if !(defined(KEY_TWEN) || (defined(HAVE_DECL_KEY_TWEN) && HAVE_DECL_KEY_TWEN)) +#if defined(KEY_TWEN) || (defined(HAVE_DECL_KEY_TWEN) && HAVE_DECL_KEY_TWEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TWEN) == (0x19f), "KEY_TWEN != 0x19f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TWEN 0x19f #endif -#if !(defined(KEY_VIDEOPHONE) || (defined(HAVE_DECL_KEY_VIDEOPHONE) && HAVE_DECL_KEY_VIDEOPHONE)) +#if defined(KEY_VIDEOPHONE) || (defined(HAVE_DECL_KEY_VIDEOPHONE) && HAVE_DECL_KEY_VIDEOPHONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VIDEOPHONE) == (0x1a0), "KEY_VIDEOPHONE != 0x1a0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VIDEOPHONE 0x1a0 #endif -#if !(defined(KEY_GAMES) || (defined(HAVE_DECL_KEY_GAMES) && HAVE_DECL_KEY_GAMES)) +#if defined(KEY_GAMES) || (defined(HAVE_DECL_KEY_GAMES) && HAVE_DECL_KEY_GAMES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GAMES) == (0x1a1), "KEY_GAMES != 0x1a1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GAMES 0x1a1 #endif -#if !(defined(KEY_ZOOMIN) || (defined(HAVE_DECL_KEY_ZOOMIN) && HAVE_DECL_KEY_ZOOMIN)) +#if defined(KEY_ZOOMIN) || (defined(HAVE_DECL_KEY_ZOOMIN) && HAVE_DECL_KEY_ZOOMIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ZOOMIN) == (0x1a2), "KEY_ZOOMIN != 0x1a2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ZOOMIN 0x1a2 #endif -#if !(defined(KEY_ZOOMOUT) || (defined(HAVE_DECL_KEY_ZOOMOUT) && HAVE_DECL_KEY_ZOOMOUT)) +#if defined(KEY_ZOOMOUT) || (defined(HAVE_DECL_KEY_ZOOMOUT) && HAVE_DECL_KEY_ZOOMOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ZOOMOUT) == (0x1a3), "KEY_ZOOMOUT != 0x1a3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ZOOMOUT 0x1a3 #endif -#if !(defined(KEY_ZOOMRESET) || (defined(HAVE_DECL_KEY_ZOOMRESET) && HAVE_DECL_KEY_ZOOMRESET)) +#if defined(KEY_ZOOMRESET) || (defined(HAVE_DECL_KEY_ZOOMRESET) && HAVE_DECL_KEY_ZOOMRESET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ZOOMRESET) == (0x1a4), "KEY_ZOOMRESET != 0x1a4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ZOOMRESET 0x1a4 #endif -#if !(defined(KEY_WORDPROCESSOR) || (defined(HAVE_DECL_KEY_WORDPROCESSOR) && HAVE_DECL_KEY_WORDPROCESSOR)) +#if defined(KEY_WORDPROCESSOR) || (defined(HAVE_DECL_KEY_WORDPROCESSOR) && HAVE_DECL_KEY_WORDPROCESSOR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_WORDPROCESSOR) == (0x1a5), "KEY_WORDPROCESSOR != 0x1a5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_WORDPROCESSOR 0x1a5 #endif -#if !(defined(KEY_EDITOR) || (defined(HAVE_DECL_KEY_EDITOR) && HAVE_DECL_KEY_EDITOR)) +#if defined(KEY_EDITOR) || (defined(HAVE_DECL_KEY_EDITOR) && HAVE_DECL_KEY_EDITOR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_EDITOR) == (0x1a6), "KEY_EDITOR != 0x1a6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_EDITOR 0x1a6 #endif -#if !(defined(KEY_SPREADSHEET) || (defined(HAVE_DECL_KEY_SPREADSHEET) && HAVE_DECL_KEY_SPREADSHEET)) +#if defined(KEY_SPREADSHEET) || (defined(HAVE_DECL_KEY_SPREADSHEET) && HAVE_DECL_KEY_SPREADSHEET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPREADSHEET) == (0x1a7), "KEY_SPREADSHEET != 0x1a7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPREADSHEET 0x1a7 #endif -#if !(defined(KEY_GRAPHICSEDITOR) || (defined(HAVE_DECL_KEY_GRAPHICSEDITOR) && HAVE_DECL_KEY_GRAPHICSEDITOR)) +#if defined(KEY_GRAPHICSEDITOR) || (defined(HAVE_DECL_KEY_GRAPHICSEDITOR) && HAVE_DECL_KEY_GRAPHICSEDITOR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GRAPHICSEDITOR) == (0x1a8), "KEY_GRAPHICSEDITOR != 0x1a8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GRAPHICSEDITOR 0x1a8 #endif -#if !(defined(KEY_PRESENTATION) || (defined(HAVE_DECL_KEY_PRESENTATION) && HAVE_DECL_KEY_PRESENTATION)) +#if defined(KEY_PRESENTATION) || (defined(HAVE_DECL_KEY_PRESENTATION) && HAVE_DECL_KEY_PRESENTATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PRESENTATION) == (0x1a9), "KEY_PRESENTATION != 0x1a9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PRESENTATION 0x1a9 #endif -#if !(defined(KEY_DATABASE) || (defined(HAVE_DECL_KEY_DATABASE) && HAVE_DECL_KEY_DATABASE)) +#if defined(KEY_DATABASE) || (defined(HAVE_DECL_KEY_DATABASE) && HAVE_DECL_KEY_DATABASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DATABASE) == (0x1aa), "KEY_DATABASE != 0x1aa"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DATABASE 0x1aa #endif -#if !(defined(KEY_NEWS) || (defined(HAVE_DECL_KEY_NEWS) && HAVE_DECL_KEY_NEWS)) +#if defined(KEY_NEWS) || (defined(HAVE_DECL_KEY_NEWS) && HAVE_DECL_KEY_NEWS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NEWS) == (0x1ab), "KEY_NEWS != 0x1ab"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NEWS 0x1ab #endif -#if !(defined(KEY_VOICEMAIL) || (defined(HAVE_DECL_KEY_VOICEMAIL) && HAVE_DECL_KEY_VOICEMAIL)) +#if defined(KEY_VOICEMAIL) || (defined(HAVE_DECL_KEY_VOICEMAIL) && HAVE_DECL_KEY_VOICEMAIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VOICEMAIL) == (0x1ac), "KEY_VOICEMAIL != 0x1ac"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VOICEMAIL 0x1ac #endif -#if !(defined(KEY_ADDRESSBOOK) || (defined(HAVE_DECL_KEY_ADDRESSBOOK) && HAVE_DECL_KEY_ADDRESSBOOK)) +#if defined(KEY_ADDRESSBOOK) || (defined(HAVE_DECL_KEY_ADDRESSBOOK) && HAVE_DECL_KEY_ADDRESSBOOK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ADDRESSBOOK) == (0x1ad), "KEY_ADDRESSBOOK != 0x1ad"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ADDRESSBOOK 0x1ad #endif -#if !(defined(KEY_MESSENGER) || (defined(HAVE_DECL_KEY_MESSENGER) && HAVE_DECL_KEY_MESSENGER)) +#if defined(KEY_MESSENGER) || (defined(HAVE_DECL_KEY_MESSENGER) && HAVE_DECL_KEY_MESSENGER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MESSENGER) == (0x1ae), "KEY_MESSENGER != 0x1ae"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MESSENGER 0x1ae #endif -#if !(defined(KEY_DISPLAYTOGGLE) || (defined(HAVE_DECL_KEY_DISPLAYTOGGLE) && HAVE_DECL_KEY_DISPLAYTOGGLE)) +#if defined(KEY_DISPLAYTOGGLE) || (defined(HAVE_DECL_KEY_DISPLAYTOGGLE) && HAVE_DECL_KEY_DISPLAYTOGGLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DISPLAYTOGGLE) == (0x1af), "KEY_DISPLAYTOGGLE != 0x1af"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DISPLAYTOGGLE 0x1af #endif -#if !(defined(KEY_SPELLCHECK) || (defined(HAVE_DECL_KEY_SPELLCHECK) && HAVE_DECL_KEY_SPELLCHECK)) +#if defined(KEY_SPELLCHECK) || (defined(HAVE_DECL_KEY_SPELLCHECK) && HAVE_DECL_KEY_SPELLCHECK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPELLCHECK) == (0x1b0), "KEY_SPELLCHECK != 0x1b0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPELLCHECK 0x1b0 #endif -#if !(defined(KEY_LOGOFF) || (defined(HAVE_DECL_KEY_LOGOFF) && HAVE_DECL_KEY_LOGOFF)) +#if defined(KEY_LOGOFF) || (defined(HAVE_DECL_KEY_LOGOFF) && HAVE_DECL_KEY_LOGOFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LOGOFF) == (0x1b1), "KEY_LOGOFF != 0x1b1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LOGOFF 0x1b1 #endif -#if !(defined(KEY_DOLLAR) || (defined(HAVE_DECL_KEY_DOLLAR) && HAVE_DECL_KEY_DOLLAR)) +#if defined(KEY_DOLLAR) || (defined(HAVE_DECL_KEY_DOLLAR) && HAVE_DECL_KEY_DOLLAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DOLLAR) == (0x1b2), "KEY_DOLLAR != 0x1b2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DOLLAR 0x1b2 #endif -#if !(defined(KEY_EURO) || (defined(HAVE_DECL_KEY_EURO) && HAVE_DECL_KEY_EURO)) +#if defined(KEY_EURO) || (defined(HAVE_DECL_KEY_EURO) && HAVE_DECL_KEY_EURO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_EURO) == (0x1b3), "KEY_EURO != 0x1b3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_EURO 0x1b3 #endif -#if !(defined(KEY_FRAMEBACK) || (defined(HAVE_DECL_KEY_FRAMEBACK) && HAVE_DECL_KEY_FRAMEBACK)) +#if defined(KEY_FRAMEBACK) || (defined(HAVE_DECL_KEY_FRAMEBACK) && HAVE_DECL_KEY_FRAMEBACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FRAMEBACK) == (0x1b4), "KEY_FRAMEBACK != 0x1b4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FRAMEBACK 0x1b4 #endif -#if !(defined(KEY_FRAMEFORWARD) || (defined(HAVE_DECL_KEY_FRAMEFORWARD) && HAVE_DECL_KEY_FRAMEFORWARD)) +#if defined(KEY_FRAMEFORWARD) || (defined(HAVE_DECL_KEY_FRAMEFORWARD) && HAVE_DECL_KEY_FRAMEFORWARD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FRAMEFORWARD) == (0x1b5), "KEY_FRAMEFORWARD != 0x1b5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FRAMEFORWARD 0x1b5 #endif -#if !(defined(KEY_CONTEXT_MENU) || (defined(HAVE_DECL_KEY_CONTEXT_MENU) && HAVE_DECL_KEY_CONTEXT_MENU)) +#if defined(KEY_CONTEXT_MENU) || (defined(HAVE_DECL_KEY_CONTEXT_MENU) && HAVE_DECL_KEY_CONTEXT_MENU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CONTEXT_MENU) == (0x1b6), "KEY_CONTEXT_MENU != 0x1b6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CONTEXT_MENU 0x1b6 #endif -#if !(defined(KEY_MEDIA_REPEAT) || (defined(HAVE_DECL_KEY_MEDIA_REPEAT) && HAVE_DECL_KEY_MEDIA_REPEAT)) +#if defined(KEY_MEDIA_REPEAT) || (defined(HAVE_DECL_KEY_MEDIA_REPEAT) && HAVE_DECL_KEY_MEDIA_REPEAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MEDIA_REPEAT) == (0x1b7), "KEY_MEDIA_REPEAT != 0x1b7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MEDIA_REPEAT 0x1b7 #endif -#if !(defined(KEY_10CHANNELSUP) || (defined(HAVE_DECL_KEY_10CHANNELSUP) && HAVE_DECL_KEY_10CHANNELSUP)) +#if defined(KEY_10CHANNELSUP) || (defined(HAVE_DECL_KEY_10CHANNELSUP) && HAVE_DECL_KEY_10CHANNELSUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_10CHANNELSUP) == (0x1b8), "KEY_10CHANNELSUP != 0x1b8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_10CHANNELSUP 0x1b8 #endif -#if !(defined(KEY_10CHANNELSDOWN) || (defined(HAVE_DECL_KEY_10CHANNELSDOWN) && HAVE_DECL_KEY_10CHANNELSDOWN)) +#if defined(KEY_10CHANNELSDOWN) || (defined(HAVE_DECL_KEY_10CHANNELSDOWN) && HAVE_DECL_KEY_10CHANNELSDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_10CHANNELSDOWN) == (0x1b9), "KEY_10CHANNELSDOWN != 0x1b9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_10CHANNELSDOWN 0x1b9 #endif -#if !(defined(KEY_IMAGES) || (defined(HAVE_DECL_KEY_IMAGES) && HAVE_DECL_KEY_IMAGES)) +#if defined(KEY_IMAGES) || (defined(HAVE_DECL_KEY_IMAGES) && HAVE_DECL_KEY_IMAGES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_IMAGES) == (0x1ba), "KEY_IMAGES != 0x1ba"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_IMAGES 0x1ba #endif -#if !(defined(KEY_DEL_EOL) || (defined(HAVE_DECL_KEY_DEL_EOL) && HAVE_DECL_KEY_DEL_EOL)) +#if defined(KEY_DEL_EOL) || (defined(HAVE_DECL_KEY_DEL_EOL) && HAVE_DECL_KEY_DEL_EOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DEL_EOL) == (0x1c0), "KEY_DEL_EOL != 0x1c0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DEL_EOL 0x1c0 #endif -#if !(defined(KEY_DEL_EOS) || (defined(HAVE_DECL_KEY_DEL_EOS) && HAVE_DECL_KEY_DEL_EOS)) +#if defined(KEY_DEL_EOS) || (defined(HAVE_DECL_KEY_DEL_EOS) && HAVE_DECL_KEY_DEL_EOS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DEL_EOS) == (0x1c1), "KEY_DEL_EOS != 0x1c1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DEL_EOS 0x1c1 #endif -#if !(defined(KEY_INS_LINE) || (defined(HAVE_DECL_KEY_INS_LINE) && HAVE_DECL_KEY_INS_LINE)) +#if defined(KEY_INS_LINE) || (defined(HAVE_DECL_KEY_INS_LINE) && HAVE_DECL_KEY_INS_LINE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_INS_LINE) == (0x1c2), "KEY_INS_LINE != 0x1c2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_INS_LINE 0x1c2 #endif -#if !(defined(KEY_DEL_LINE) || (defined(HAVE_DECL_KEY_DEL_LINE) && HAVE_DECL_KEY_DEL_LINE)) +#if defined(KEY_DEL_LINE) || (defined(HAVE_DECL_KEY_DEL_LINE) && HAVE_DECL_KEY_DEL_LINE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DEL_LINE) == (0x1c3), "KEY_DEL_LINE != 0x1c3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DEL_LINE 0x1c3 #endif -#if !(defined(KEY_FN) || (defined(HAVE_DECL_KEY_FN) && HAVE_DECL_KEY_FN)) +#if defined(KEY_FN) || (defined(HAVE_DECL_KEY_FN) && HAVE_DECL_KEY_FN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN) == (0x1d0), "KEY_FN != 0x1d0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN 0x1d0 #endif -#if !(defined(KEY_FN_ESC) || (defined(HAVE_DECL_KEY_FN_ESC) && HAVE_DECL_KEY_FN_ESC)) +#if defined(KEY_FN_ESC) || (defined(HAVE_DECL_KEY_FN_ESC) && HAVE_DECL_KEY_FN_ESC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_ESC) == (0x1d1), "KEY_FN_ESC != 0x1d1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_ESC 0x1d1 #endif -#if !(defined(KEY_FN_F1) || (defined(HAVE_DECL_KEY_FN_F1) && HAVE_DECL_KEY_FN_F1)) +#if defined(KEY_FN_F1) || (defined(HAVE_DECL_KEY_FN_F1) && HAVE_DECL_KEY_FN_F1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F1) == (0x1d2), "KEY_FN_F1 != 0x1d2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F1 0x1d2 #endif -#if !(defined(KEY_FN_F2) || (defined(HAVE_DECL_KEY_FN_F2) && HAVE_DECL_KEY_FN_F2)) +#if defined(KEY_FN_F2) || (defined(HAVE_DECL_KEY_FN_F2) && HAVE_DECL_KEY_FN_F2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F2) == (0x1d3), "KEY_FN_F2 != 0x1d3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F2 0x1d3 #endif -#if !(defined(KEY_FN_F3) || (defined(HAVE_DECL_KEY_FN_F3) && HAVE_DECL_KEY_FN_F3)) +#if defined(KEY_FN_F3) || (defined(HAVE_DECL_KEY_FN_F3) && HAVE_DECL_KEY_FN_F3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F3) == (0x1d4), "KEY_FN_F3 != 0x1d4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F3 0x1d4 #endif -#if !(defined(KEY_FN_F4) || (defined(HAVE_DECL_KEY_FN_F4) && HAVE_DECL_KEY_FN_F4)) +#if defined(KEY_FN_F4) || (defined(HAVE_DECL_KEY_FN_F4) && HAVE_DECL_KEY_FN_F4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F4) == (0x1d5), "KEY_FN_F4 != 0x1d5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F4 0x1d5 #endif -#if !(defined(KEY_FN_F5) || (defined(HAVE_DECL_KEY_FN_F5) && HAVE_DECL_KEY_FN_F5)) +#if defined(KEY_FN_F5) || (defined(HAVE_DECL_KEY_FN_F5) && HAVE_DECL_KEY_FN_F5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F5) == (0x1d6), "KEY_FN_F5 != 0x1d6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F5 0x1d6 #endif -#if !(defined(KEY_FN_F6) || (defined(HAVE_DECL_KEY_FN_F6) && HAVE_DECL_KEY_FN_F6)) +#if defined(KEY_FN_F6) || (defined(HAVE_DECL_KEY_FN_F6) && HAVE_DECL_KEY_FN_F6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F6) == (0x1d7), "KEY_FN_F6 != 0x1d7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F6 0x1d7 #endif -#if !(defined(KEY_FN_F7) || (defined(HAVE_DECL_KEY_FN_F7) && HAVE_DECL_KEY_FN_F7)) +#if defined(KEY_FN_F7) || (defined(HAVE_DECL_KEY_FN_F7) && HAVE_DECL_KEY_FN_F7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F7) == (0x1d8), "KEY_FN_F7 != 0x1d8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F7 0x1d8 #endif -#if !(defined(KEY_FN_F8) || (defined(HAVE_DECL_KEY_FN_F8) && HAVE_DECL_KEY_FN_F8)) +#if defined(KEY_FN_F8) || (defined(HAVE_DECL_KEY_FN_F8) && HAVE_DECL_KEY_FN_F8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F8) == (0x1d9), "KEY_FN_F8 != 0x1d9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F8 0x1d9 #endif -#if !(defined(KEY_FN_F9) || (defined(HAVE_DECL_KEY_FN_F9) && HAVE_DECL_KEY_FN_F9)) +#if defined(KEY_FN_F9) || (defined(HAVE_DECL_KEY_FN_F9) && HAVE_DECL_KEY_FN_F9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F9) == (0x1da), "KEY_FN_F9 != 0x1da"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F9 0x1da #endif -#if !(defined(KEY_FN_F10) || (defined(HAVE_DECL_KEY_FN_F10) && HAVE_DECL_KEY_FN_F10)) +#if defined(KEY_FN_F10) || (defined(HAVE_DECL_KEY_FN_F10) && HAVE_DECL_KEY_FN_F10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F10) == (0x1db), "KEY_FN_F10 != 0x1db"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F10 0x1db #endif -#if !(defined(KEY_FN_F11) || (defined(HAVE_DECL_KEY_FN_F11) && HAVE_DECL_KEY_FN_F11)) +#if defined(KEY_FN_F11) || (defined(HAVE_DECL_KEY_FN_F11) && HAVE_DECL_KEY_FN_F11) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F11) == (0x1dc), "KEY_FN_F11 != 0x1dc"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F11 0x1dc #endif -#if !(defined(KEY_FN_F12) || (defined(HAVE_DECL_KEY_FN_F12) && HAVE_DECL_KEY_FN_F12)) +#if defined(KEY_FN_F12) || (defined(HAVE_DECL_KEY_FN_F12) && HAVE_DECL_KEY_FN_F12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F12) == (0x1dd), "KEY_FN_F12 != 0x1dd"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F12 0x1dd #endif -#if !(defined(KEY_FN_1) || (defined(HAVE_DECL_KEY_FN_1) && HAVE_DECL_KEY_FN_1)) +#if defined(KEY_FN_1) || (defined(HAVE_DECL_KEY_FN_1) && HAVE_DECL_KEY_FN_1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_1) == (0x1de), "KEY_FN_1 != 0x1de"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_1 0x1de #endif -#if !(defined(KEY_FN_2) || (defined(HAVE_DECL_KEY_FN_2) && HAVE_DECL_KEY_FN_2)) +#if defined(KEY_FN_2) || (defined(HAVE_DECL_KEY_FN_2) && HAVE_DECL_KEY_FN_2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_2) == (0x1df), "KEY_FN_2 != 0x1df"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_2 0x1df #endif -#if !(defined(KEY_FN_D) || (defined(HAVE_DECL_KEY_FN_D) && HAVE_DECL_KEY_FN_D)) +#if defined(KEY_FN_D) || (defined(HAVE_DECL_KEY_FN_D) && HAVE_DECL_KEY_FN_D) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_D) == (0x1e0), "KEY_FN_D != 0x1e0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_D 0x1e0 #endif -#if !(defined(KEY_FN_E) || (defined(HAVE_DECL_KEY_FN_E) && HAVE_DECL_KEY_FN_E)) +#if defined(KEY_FN_E) || (defined(HAVE_DECL_KEY_FN_E) && HAVE_DECL_KEY_FN_E) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_E) == (0x1e1), "KEY_FN_E != 0x1e1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_E 0x1e1 #endif -#if !(defined(KEY_FN_F) || (defined(HAVE_DECL_KEY_FN_F) && HAVE_DECL_KEY_FN_F)) +#if defined(KEY_FN_F) || (defined(HAVE_DECL_KEY_FN_F) && HAVE_DECL_KEY_FN_F) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_F) == (0x1e2), "KEY_FN_F != 0x1e2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_F 0x1e2 #endif -#if !(defined(KEY_FN_S) || (defined(HAVE_DECL_KEY_FN_S) && HAVE_DECL_KEY_FN_S)) +#if defined(KEY_FN_S) || (defined(HAVE_DECL_KEY_FN_S) && HAVE_DECL_KEY_FN_S) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_S) == (0x1e3), "KEY_FN_S != 0x1e3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_S 0x1e3 #endif -#if !(defined(KEY_FN_B) || (defined(HAVE_DECL_KEY_FN_B) && HAVE_DECL_KEY_FN_B)) +#if defined(KEY_FN_B) || (defined(HAVE_DECL_KEY_FN_B) && HAVE_DECL_KEY_FN_B) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FN_B) == (0x1e4), "KEY_FN_B != 0x1e4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FN_B 0x1e4 #endif -#if !(defined(KEY_BRL_DOT1) || (defined(HAVE_DECL_KEY_BRL_DOT1) && HAVE_DECL_KEY_BRL_DOT1)) +#if defined(KEY_BRL_DOT1) || (defined(HAVE_DECL_KEY_BRL_DOT1) && HAVE_DECL_KEY_BRL_DOT1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT1) == (0x1f1), "KEY_BRL_DOT1 != 0x1f1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT1 0x1f1 #endif -#if !(defined(KEY_BRL_DOT2) || (defined(HAVE_DECL_KEY_BRL_DOT2) && HAVE_DECL_KEY_BRL_DOT2)) +#if defined(KEY_BRL_DOT2) || (defined(HAVE_DECL_KEY_BRL_DOT2) && HAVE_DECL_KEY_BRL_DOT2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT2) == (0x1f2), "KEY_BRL_DOT2 != 0x1f2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT2 0x1f2 #endif -#if !(defined(KEY_BRL_DOT3) || (defined(HAVE_DECL_KEY_BRL_DOT3) && HAVE_DECL_KEY_BRL_DOT3)) +#if defined(KEY_BRL_DOT3) || (defined(HAVE_DECL_KEY_BRL_DOT3) && HAVE_DECL_KEY_BRL_DOT3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT3) == (0x1f3), "KEY_BRL_DOT3 != 0x1f3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT3 0x1f3 #endif -#if !(defined(KEY_BRL_DOT4) || (defined(HAVE_DECL_KEY_BRL_DOT4) && HAVE_DECL_KEY_BRL_DOT4)) +#if defined(KEY_BRL_DOT4) || (defined(HAVE_DECL_KEY_BRL_DOT4) && HAVE_DECL_KEY_BRL_DOT4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT4) == (0x1f4), "KEY_BRL_DOT4 != 0x1f4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT4 0x1f4 #endif -#if !(defined(KEY_BRL_DOT5) || (defined(HAVE_DECL_KEY_BRL_DOT5) && HAVE_DECL_KEY_BRL_DOT5)) +#if defined(KEY_BRL_DOT5) || (defined(HAVE_DECL_KEY_BRL_DOT5) && HAVE_DECL_KEY_BRL_DOT5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT5) == (0x1f5), "KEY_BRL_DOT5 != 0x1f5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT5 0x1f5 #endif -#if !(defined(KEY_BRL_DOT6) || (defined(HAVE_DECL_KEY_BRL_DOT6) && HAVE_DECL_KEY_BRL_DOT6)) +#if defined(KEY_BRL_DOT6) || (defined(HAVE_DECL_KEY_BRL_DOT6) && HAVE_DECL_KEY_BRL_DOT6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT6) == (0x1f6), "KEY_BRL_DOT6 != 0x1f6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT6 0x1f6 #endif -#if !(defined(KEY_BRL_DOT7) || (defined(HAVE_DECL_KEY_BRL_DOT7) && HAVE_DECL_KEY_BRL_DOT7)) +#if defined(KEY_BRL_DOT7) || (defined(HAVE_DECL_KEY_BRL_DOT7) && HAVE_DECL_KEY_BRL_DOT7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT7) == (0x1f7), "KEY_BRL_DOT7 != 0x1f7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT7 0x1f7 #endif -#if !(defined(KEY_BRL_DOT8) || (defined(HAVE_DECL_KEY_BRL_DOT8) && HAVE_DECL_KEY_BRL_DOT8)) +#if defined(KEY_BRL_DOT8) || (defined(HAVE_DECL_KEY_BRL_DOT8) && HAVE_DECL_KEY_BRL_DOT8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT8) == (0x1f8), "KEY_BRL_DOT8 != 0x1f8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT8 0x1f8 #endif -#if !(defined(KEY_BRL_DOT9) || (defined(HAVE_DECL_KEY_BRL_DOT9) && HAVE_DECL_KEY_BRL_DOT9)) +#if defined(KEY_BRL_DOT9) || (defined(HAVE_DECL_KEY_BRL_DOT9) && HAVE_DECL_KEY_BRL_DOT9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT9) == (0x1f9), "KEY_BRL_DOT9 != 0x1f9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT9 0x1f9 #endif -#if !(defined(KEY_BRL_DOT10) || (defined(HAVE_DECL_KEY_BRL_DOT10) && HAVE_DECL_KEY_BRL_DOT10)) +#if defined(KEY_BRL_DOT10) || (defined(HAVE_DECL_KEY_BRL_DOT10) && HAVE_DECL_KEY_BRL_DOT10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRL_DOT10) == (0x1fa), "KEY_BRL_DOT10 != 0x1fa"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRL_DOT10 0x1fa #endif -#if !(defined(KEY_NUMERIC_0) || (defined(HAVE_DECL_KEY_NUMERIC_0) && HAVE_DECL_KEY_NUMERIC_0)) +#if defined(KEY_NUMERIC_0) || (defined(HAVE_DECL_KEY_NUMERIC_0) && HAVE_DECL_KEY_NUMERIC_0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_0) == (0x200), "KEY_NUMERIC_0 != 0x200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_0 0x200 #endif -#if !(defined(KEY_NUMERIC_1) || (defined(HAVE_DECL_KEY_NUMERIC_1) && HAVE_DECL_KEY_NUMERIC_1)) +#if defined(KEY_NUMERIC_1) || (defined(HAVE_DECL_KEY_NUMERIC_1) && HAVE_DECL_KEY_NUMERIC_1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_1) == (0x201), "KEY_NUMERIC_1 != 0x201"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_1 0x201 #endif -#if !(defined(KEY_NUMERIC_2) || (defined(HAVE_DECL_KEY_NUMERIC_2) && HAVE_DECL_KEY_NUMERIC_2)) +#if defined(KEY_NUMERIC_2) || (defined(HAVE_DECL_KEY_NUMERIC_2) && HAVE_DECL_KEY_NUMERIC_2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_2) == (0x202), "KEY_NUMERIC_2 != 0x202"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_2 0x202 #endif -#if !(defined(KEY_NUMERIC_3) || (defined(HAVE_DECL_KEY_NUMERIC_3) && HAVE_DECL_KEY_NUMERIC_3)) +#if defined(KEY_NUMERIC_3) || (defined(HAVE_DECL_KEY_NUMERIC_3) && HAVE_DECL_KEY_NUMERIC_3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_3) == (0x203), "KEY_NUMERIC_3 != 0x203"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_3 0x203 #endif -#if !(defined(KEY_NUMERIC_4) || (defined(HAVE_DECL_KEY_NUMERIC_4) && HAVE_DECL_KEY_NUMERIC_4)) +#if defined(KEY_NUMERIC_4) || (defined(HAVE_DECL_KEY_NUMERIC_4) && HAVE_DECL_KEY_NUMERIC_4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_4) == (0x204), "KEY_NUMERIC_4 != 0x204"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_4 0x204 #endif -#if !(defined(KEY_NUMERIC_5) || (defined(HAVE_DECL_KEY_NUMERIC_5) && HAVE_DECL_KEY_NUMERIC_5)) +#if defined(KEY_NUMERIC_5) || (defined(HAVE_DECL_KEY_NUMERIC_5) && HAVE_DECL_KEY_NUMERIC_5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_5) == (0x205), "KEY_NUMERIC_5 != 0x205"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_5 0x205 #endif -#if !(defined(KEY_NUMERIC_6) || (defined(HAVE_DECL_KEY_NUMERIC_6) && HAVE_DECL_KEY_NUMERIC_6)) +#if defined(KEY_NUMERIC_6) || (defined(HAVE_DECL_KEY_NUMERIC_6) && HAVE_DECL_KEY_NUMERIC_6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_6) == (0x206), "KEY_NUMERIC_6 != 0x206"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_6 0x206 #endif -#if !(defined(KEY_NUMERIC_7) || (defined(HAVE_DECL_KEY_NUMERIC_7) && HAVE_DECL_KEY_NUMERIC_7)) +#if defined(KEY_NUMERIC_7) || (defined(HAVE_DECL_KEY_NUMERIC_7) && HAVE_DECL_KEY_NUMERIC_7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_7) == (0x207), "KEY_NUMERIC_7 != 0x207"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_7 0x207 #endif -#if !(defined(KEY_NUMERIC_8) || (defined(HAVE_DECL_KEY_NUMERIC_8) && HAVE_DECL_KEY_NUMERIC_8)) +#if defined(KEY_NUMERIC_8) || (defined(HAVE_DECL_KEY_NUMERIC_8) && HAVE_DECL_KEY_NUMERIC_8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_8) == (0x208), "KEY_NUMERIC_8 != 0x208"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_8 0x208 #endif -#if !(defined(KEY_NUMERIC_9) || (defined(HAVE_DECL_KEY_NUMERIC_9) && HAVE_DECL_KEY_NUMERIC_9)) +#if defined(KEY_NUMERIC_9) || (defined(HAVE_DECL_KEY_NUMERIC_9) && HAVE_DECL_KEY_NUMERIC_9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_9) == (0x209), "KEY_NUMERIC_9 != 0x209"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_9 0x209 #endif -#if !(defined(KEY_NUMERIC_STAR) || (defined(HAVE_DECL_KEY_NUMERIC_STAR) && HAVE_DECL_KEY_NUMERIC_STAR)) +#if defined(KEY_NUMERIC_STAR) || (defined(HAVE_DECL_KEY_NUMERIC_STAR) && HAVE_DECL_KEY_NUMERIC_STAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_STAR) == (0x20a), "KEY_NUMERIC_STAR != 0x20a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_STAR 0x20a #endif -#if !(defined(KEY_NUMERIC_POUND) || (defined(HAVE_DECL_KEY_NUMERIC_POUND) && HAVE_DECL_KEY_NUMERIC_POUND)) +#if defined(KEY_NUMERIC_POUND) || (defined(HAVE_DECL_KEY_NUMERIC_POUND) && HAVE_DECL_KEY_NUMERIC_POUND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_POUND) == (0x20b), "KEY_NUMERIC_POUND != 0x20b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_POUND 0x20b #endif -#if !(defined(KEY_NUMERIC_A) || (defined(HAVE_DECL_KEY_NUMERIC_A) && HAVE_DECL_KEY_NUMERIC_A)) +#if defined(KEY_NUMERIC_A) || (defined(HAVE_DECL_KEY_NUMERIC_A) && HAVE_DECL_KEY_NUMERIC_A) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_A) == (0x20c), "KEY_NUMERIC_A != 0x20c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_A 0x20c #endif -#if !(defined(KEY_NUMERIC_B) || (defined(HAVE_DECL_KEY_NUMERIC_B) && HAVE_DECL_KEY_NUMERIC_B)) +#if defined(KEY_NUMERIC_B) || (defined(HAVE_DECL_KEY_NUMERIC_B) && HAVE_DECL_KEY_NUMERIC_B) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_B) == (0x20d), "KEY_NUMERIC_B != 0x20d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_B 0x20d #endif -#if !(defined(KEY_NUMERIC_C) || (defined(HAVE_DECL_KEY_NUMERIC_C) && HAVE_DECL_KEY_NUMERIC_C)) +#if defined(KEY_NUMERIC_C) || (defined(HAVE_DECL_KEY_NUMERIC_C) && HAVE_DECL_KEY_NUMERIC_C) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_C) == (0x20e), "KEY_NUMERIC_C != 0x20e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_C 0x20e #endif -#if !(defined(KEY_NUMERIC_D) || (defined(HAVE_DECL_KEY_NUMERIC_D) && HAVE_DECL_KEY_NUMERIC_D)) +#if defined(KEY_NUMERIC_D) || (defined(HAVE_DECL_KEY_NUMERIC_D) && HAVE_DECL_KEY_NUMERIC_D) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_D) == (0x20f), "KEY_NUMERIC_D != 0x20f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_D 0x20f #endif -#if !(defined(KEY_CAMERA_FOCUS) || (defined(HAVE_DECL_KEY_CAMERA_FOCUS) && HAVE_DECL_KEY_CAMERA_FOCUS)) +#if defined(KEY_CAMERA_FOCUS) || (defined(HAVE_DECL_KEY_CAMERA_FOCUS) && HAVE_DECL_KEY_CAMERA_FOCUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CAMERA_FOCUS) == (0x210), "KEY_CAMERA_FOCUS != 0x210"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CAMERA_FOCUS 0x210 #endif -#if !(defined(KEY_WPS_BUTTON) || (defined(HAVE_DECL_KEY_WPS_BUTTON) && HAVE_DECL_KEY_WPS_BUTTON)) +#if defined(KEY_WPS_BUTTON) || (defined(HAVE_DECL_KEY_WPS_BUTTON) && HAVE_DECL_KEY_WPS_BUTTON) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_WPS_BUTTON) == (0x211), "KEY_WPS_BUTTON != 0x211"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_WPS_BUTTON 0x211 #endif -#if !(defined(KEY_TOUCHPAD_TOGGLE) || (defined(HAVE_DECL_KEY_TOUCHPAD_TOGGLE) && HAVE_DECL_KEY_TOUCHPAD_TOGGLE)) +#if defined(KEY_TOUCHPAD_TOGGLE) || (defined(HAVE_DECL_KEY_TOUCHPAD_TOGGLE) && HAVE_DECL_KEY_TOUCHPAD_TOGGLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TOUCHPAD_TOGGLE) == (0x212), "KEY_TOUCHPAD_TOGGLE != 0x212"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TOUCHPAD_TOGGLE 0x212 #endif -#if !(defined(KEY_TOUCHPAD_ON) || (defined(HAVE_DECL_KEY_TOUCHPAD_ON) && HAVE_DECL_KEY_TOUCHPAD_ON)) +#if defined(KEY_TOUCHPAD_ON) || (defined(HAVE_DECL_KEY_TOUCHPAD_ON) && HAVE_DECL_KEY_TOUCHPAD_ON) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TOUCHPAD_ON) == (0x213), "KEY_TOUCHPAD_ON != 0x213"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TOUCHPAD_ON 0x213 #endif -#if !(defined(KEY_TOUCHPAD_OFF) || (defined(HAVE_DECL_KEY_TOUCHPAD_OFF) && HAVE_DECL_KEY_TOUCHPAD_OFF)) +#if defined(KEY_TOUCHPAD_OFF) || (defined(HAVE_DECL_KEY_TOUCHPAD_OFF) && HAVE_DECL_KEY_TOUCHPAD_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TOUCHPAD_OFF) == (0x214), "KEY_TOUCHPAD_OFF != 0x214"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TOUCHPAD_OFF 0x214 #endif -#if !(defined(KEY_CAMERA_ZOOMIN) || (defined(HAVE_DECL_KEY_CAMERA_ZOOMIN) && HAVE_DECL_KEY_CAMERA_ZOOMIN)) +#if defined(KEY_CAMERA_ZOOMIN) || (defined(HAVE_DECL_KEY_CAMERA_ZOOMIN) && HAVE_DECL_KEY_CAMERA_ZOOMIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CAMERA_ZOOMIN) == (0x215), "KEY_CAMERA_ZOOMIN != 0x215"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CAMERA_ZOOMIN 0x215 #endif -#if !(defined(KEY_CAMERA_ZOOMOUT) || (defined(HAVE_DECL_KEY_CAMERA_ZOOMOUT) && HAVE_DECL_KEY_CAMERA_ZOOMOUT)) +#if defined(KEY_CAMERA_ZOOMOUT) || (defined(HAVE_DECL_KEY_CAMERA_ZOOMOUT) && HAVE_DECL_KEY_CAMERA_ZOOMOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CAMERA_ZOOMOUT) == (0x216), "KEY_CAMERA_ZOOMOUT != 0x216"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CAMERA_ZOOMOUT 0x216 #endif -#if !(defined(KEY_CAMERA_UP) || (defined(HAVE_DECL_KEY_CAMERA_UP) && HAVE_DECL_KEY_CAMERA_UP)) +#if defined(KEY_CAMERA_UP) || (defined(HAVE_DECL_KEY_CAMERA_UP) && HAVE_DECL_KEY_CAMERA_UP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CAMERA_UP) == (0x217), "KEY_CAMERA_UP != 0x217"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CAMERA_UP 0x217 #endif -#if !(defined(KEY_CAMERA_DOWN) || (defined(HAVE_DECL_KEY_CAMERA_DOWN) && HAVE_DECL_KEY_CAMERA_DOWN)) +#if defined(KEY_CAMERA_DOWN) || (defined(HAVE_DECL_KEY_CAMERA_DOWN) && HAVE_DECL_KEY_CAMERA_DOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CAMERA_DOWN) == (0x218), "KEY_CAMERA_DOWN != 0x218"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CAMERA_DOWN 0x218 #endif -#if !(defined(KEY_CAMERA_LEFT) || (defined(HAVE_DECL_KEY_CAMERA_LEFT) && HAVE_DECL_KEY_CAMERA_LEFT)) +#if defined(KEY_CAMERA_LEFT) || (defined(HAVE_DECL_KEY_CAMERA_LEFT) && HAVE_DECL_KEY_CAMERA_LEFT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CAMERA_LEFT) == (0x219), "KEY_CAMERA_LEFT != 0x219"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CAMERA_LEFT 0x219 #endif -#if !(defined(KEY_CAMERA_RIGHT) || (defined(HAVE_DECL_KEY_CAMERA_RIGHT) && HAVE_DECL_KEY_CAMERA_RIGHT)) +#if defined(KEY_CAMERA_RIGHT) || (defined(HAVE_DECL_KEY_CAMERA_RIGHT) && HAVE_DECL_KEY_CAMERA_RIGHT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CAMERA_RIGHT) == (0x21a), "KEY_CAMERA_RIGHT != 0x21a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CAMERA_RIGHT 0x21a #endif -#if !(defined(KEY_ATTENDANT_ON) || (defined(HAVE_DECL_KEY_ATTENDANT_ON) && HAVE_DECL_KEY_ATTENDANT_ON)) +#if defined(KEY_ATTENDANT_ON) || (defined(HAVE_DECL_KEY_ATTENDANT_ON) && HAVE_DECL_KEY_ATTENDANT_ON) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ATTENDANT_ON) == (0x21b), "KEY_ATTENDANT_ON != 0x21b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ATTENDANT_ON 0x21b #endif -#if !(defined(KEY_ATTENDANT_OFF) || (defined(HAVE_DECL_KEY_ATTENDANT_OFF) && HAVE_DECL_KEY_ATTENDANT_OFF)) +#if defined(KEY_ATTENDANT_OFF) || (defined(HAVE_DECL_KEY_ATTENDANT_OFF) && HAVE_DECL_KEY_ATTENDANT_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ATTENDANT_OFF) == (0x21c), "KEY_ATTENDANT_OFF != 0x21c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ATTENDANT_OFF 0x21c #endif -#if !(defined(KEY_ATTENDANT_TOGGLE) || (defined(HAVE_DECL_KEY_ATTENDANT_TOGGLE) && HAVE_DECL_KEY_ATTENDANT_TOGGLE)) +#if defined(KEY_ATTENDANT_TOGGLE) || (defined(HAVE_DECL_KEY_ATTENDANT_TOGGLE) && HAVE_DECL_KEY_ATTENDANT_TOGGLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ATTENDANT_TOGGLE) == (0x21d), "KEY_ATTENDANT_TOGGLE != 0x21d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ATTENDANT_TOGGLE 0x21d #endif -#if !(defined(KEY_LIGHTS_TOGGLE) || (defined(HAVE_DECL_KEY_LIGHTS_TOGGLE) && HAVE_DECL_KEY_LIGHTS_TOGGLE)) +#if defined(KEY_LIGHTS_TOGGLE) || (defined(HAVE_DECL_KEY_LIGHTS_TOGGLE) && HAVE_DECL_KEY_LIGHTS_TOGGLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LIGHTS_TOGGLE) == (0x21e), "KEY_LIGHTS_TOGGLE != 0x21e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LIGHTS_TOGGLE 0x21e #endif -#if !(defined(BTN_DPAD_UP) || (defined(HAVE_DECL_BTN_DPAD_UP) && HAVE_DECL_BTN_DPAD_UP)) +#if defined(BTN_DPAD_UP) || (defined(HAVE_DECL_BTN_DPAD_UP) && HAVE_DECL_BTN_DPAD_UP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_DPAD_UP) == (0x220), "BTN_DPAD_UP != 0x220"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_DPAD_UP 0x220 #endif -#if !(defined(BTN_DPAD_DOWN) || (defined(HAVE_DECL_BTN_DPAD_DOWN) && HAVE_DECL_BTN_DPAD_DOWN)) +#if defined(BTN_DPAD_DOWN) || (defined(HAVE_DECL_BTN_DPAD_DOWN) && HAVE_DECL_BTN_DPAD_DOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_DPAD_DOWN) == (0x221), "BTN_DPAD_DOWN != 0x221"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_DPAD_DOWN 0x221 #endif -#if !(defined(BTN_DPAD_LEFT) || (defined(HAVE_DECL_BTN_DPAD_LEFT) && HAVE_DECL_BTN_DPAD_LEFT)) +#if defined(BTN_DPAD_LEFT) || (defined(HAVE_DECL_BTN_DPAD_LEFT) && HAVE_DECL_BTN_DPAD_LEFT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_DPAD_LEFT) == (0x222), "BTN_DPAD_LEFT != 0x222"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_DPAD_LEFT 0x222 #endif -#if !(defined(BTN_DPAD_RIGHT) || (defined(HAVE_DECL_BTN_DPAD_RIGHT) && HAVE_DECL_BTN_DPAD_RIGHT)) +#if defined(BTN_DPAD_RIGHT) || (defined(HAVE_DECL_BTN_DPAD_RIGHT) && HAVE_DECL_BTN_DPAD_RIGHT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_DPAD_RIGHT) == (0x223), "BTN_DPAD_RIGHT != 0x223"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_DPAD_RIGHT 0x223 #endif -#if !(defined(KEY_ALS_TOGGLE) || (defined(HAVE_DECL_KEY_ALS_TOGGLE) && HAVE_DECL_KEY_ALS_TOGGLE)) +#if defined(KEY_ALS_TOGGLE) || (defined(HAVE_DECL_KEY_ALS_TOGGLE) && HAVE_DECL_KEY_ALS_TOGGLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ALS_TOGGLE) == (0x230), "KEY_ALS_TOGGLE != 0x230"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ALS_TOGGLE 0x230 #endif -#if !(defined(KEY_ROTATE_LOCK_TOGGLE) || (defined(HAVE_DECL_KEY_ROTATE_LOCK_TOGGLE) && HAVE_DECL_KEY_ROTATE_LOCK_TOGGLE)) +#if defined(KEY_ROTATE_LOCK_TOGGLE) || (defined(HAVE_DECL_KEY_ROTATE_LOCK_TOGGLE) && HAVE_DECL_KEY_ROTATE_LOCK_TOGGLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ROTATE_LOCK_TOGGLE) == (0x231), "KEY_ROTATE_LOCK_TOGGLE != 0x231"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ROTATE_LOCK_TOGGLE 0x231 #endif -#if !(defined(KEY_BUTTONCONFIG) || (defined(HAVE_DECL_KEY_BUTTONCONFIG) && HAVE_DECL_KEY_BUTTONCONFIG)) +#if defined(KEY_BUTTONCONFIG) || (defined(HAVE_DECL_KEY_BUTTONCONFIG) && HAVE_DECL_KEY_BUTTONCONFIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BUTTONCONFIG) == (0x240), "KEY_BUTTONCONFIG != 0x240"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BUTTONCONFIG 0x240 #endif -#if !(defined(KEY_TASKMANAGER) || (defined(HAVE_DECL_KEY_TASKMANAGER) && HAVE_DECL_KEY_TASKMANAGER)) +#if defined(KEY_TASKMANAGER) || (defined(HAVE_DECL_KEY_TASKMANAGER) && HAVE_DECL_KEY_TASKMANAGER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_TASKMANAGER) == (0x241), "KEY_TASKMANAGER != 0x241"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_TASKMANAGER 0x241 #endif -#if !(defined(KEY_JOURNAL) || (defined(HAVE_DECL_KEY_JOURNAL) && HAVE_DECL_KEY_JOURNAL)) +#if defined(KEY_JOURNAL) || (defined(HAVE_DECL_KEY_JOURNAL) && HAVE_DECL_KEY_JOURNAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_JOURNAL) == (0x242), "KEY_JOURNAL != 0x242"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_JOURNAL 0x242 #endif -#if !(defined(KEY_CONTROLPANEL) || (defined(HAVE_DECL_KEY_CONTROLPANEL) && HAVE_DECL_KEY_CONTROLPANEL)) +#if defined(KEY_CONTROLPANEL) || (defined(HAVE_DECL_KEY_CONTROLPANEL) && HAVE_DECL_KEY_CONTROLPANEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_CONTROLPANEL) == (0x243), "KEY_CONTROLPANEL != 0x243"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_CONTROLPANEL 0x243 #endif -#if !(defined(KEY_APPSELECT) || (defined(HAVE_DECL_KEY_APPSELECT) && HAVE_DECL_KEY_APPSELECT)) +#if defined(KEY_APPSELECT) || (defined(HAVE_DECL_KEY_APPSELECT) && HAVE_DECL_KEY_APPSELECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_APPSELECT) == (0x244), "KEY_APPSELECT != 0x244"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_APPSELECT 0x244 #endif -#if !(defined(KEY_SCREENSAVER) || (defined(HAVE_DECL_KEY_SCREENSAVER) && HAVE_DECL_KEY_SCREENSAVER)) +#if defined(KEY_SCREENSAVER) || (defined(HAVE_DECL_KEY_SCREENSAVER) && HAVE_DECL_KEY_SCREENSAVER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SCREENSAVER) == (0x245), "KEY_SCREENSAVER != 0x245"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SCREENSAVER 0x245 #endif -#if !(defined(KEY_VOICECOMMAND) || (defined(HAVE_DECL_KEY_VOICECOMMAND) && HAVE_DECL_KEY_VOICECOMMAND)) +#if defined(KEY_VOICECOMMAND) || (defined(HAVE_DECL_KEY_VOICECOMMAND) && HAVE_DECL_KEY_VOICECOMMAND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VOICECOMMAND) == (0x246), "KEY_VOICECOMMAND != 0x246"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VOICECOMMAND 0x246 #endif -#if !(defined(KEY_ASSISTANT) || (defined(HAVE_DECL_KEY_ASSISTANT) && HAVE_DECL_KEY_ASSISTANT)) +#if defined(KEY_ASSISTANT) || (defined(HAVE_DECL_KEY_ASSISTANT) && HAVE_DECL_KEY_ASSISTANT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ASSISTANT) == (0x247), "KEY_ASSISTANT != 0x247"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ASSISTANT 0x247 #endif -#if !(defined(KEY_BRIGHTNESS_MIN) || (defined(HAVE_DECL_KEY_BRIGHTNESS_MIN) && HAVE_DECL_KEY_BRIGHTNESS_MIN)) +#ifndef STRACE_WORKAROUND_FOR_KEY_BRIGHTNESS_MIN +# define STRACE_WORKAROUND_FOR_KEY_BRIGHTNESS_MIN +# undef KEY_BRIGHTNESS_MIN +#endif +#if defined(KEY_BRIGHTNESS_MIN) || (defined(HAVE_DECL_KEY_BRIGHTNESS_MIN) && HAVE_DECL_KEY_BRIGHTNESS_MIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRIGHTNESS_MIN) == (0x250), "KEY_BRIGHTNESS_MIN != 0x250"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRIGHTNESS_MIN 0x250 #endif -#if !(defined(KEY_BRIGHTNESS_MAX) || (defined(HAVE_DECL_KEY_BRIGHTNESS_MAX) && HAVE_DECL_KEY_BRIGHTNESS_MAX)) +#if defined(KEY_BRIGHTNESS_MAX) || (defined(HAVE_DECL_KEY_BRIGHTNESS_MAX) && HAVE_DECL_KEY_BRIGHTNESS_MAX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_BRIGHTNESS_MAX) == (0x251), "KEY_BRIGHTNESS_MAX != 0x251"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_BRIGHTNESS_MAX 0x251 #endif -#if !(defined(KEY_KBDINPUTASSIST_PREV) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_PREV) && HAVE_DECL_KEY_KBDINPUTASSIST_PREV)) +#if defined(KEY_KBDINPUTASSIST_PREV) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_PREV) && HAVE_DECL_KEY_KBDINPUTASSIST_PREV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KBDINPUTASSIST_PREV) == (0x260), "KEY_KBDINPUTASSIST_PREV != 0x260"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KBDINPUTASSIST_PREV 0x260 #endif -#if !(defined(KEY_KBDINPUTASSIST_NEXT) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_NEXT) && HAVE_DECL_KEY_KBDINPUTASSIST_NEXT)) +#if defined(KEY_KBDINPUTASSIST_NEXT) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_NEXT) && HAVE_DECL_KEY_KBDINPUTASSIST_NEXT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KBDINPUTASSIST_NEXT) == (0x261), "KEY_KBDINPUTASSIST_NEXT != 0x261"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KBDINPUTASSIST_NEXT 0x261 #endif -#if !(defined(KEY_KBDINPUTASSIST_PREVGROUP) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_PREVGROUP) && HAVE_DECL_KEY_KBDINPUTASSIST_PREVGROUP)) +#if defined(KEY_KBDINPUTASSIST_PREVGROUP) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_PREVGROUP) && HAVE_DECL_KEY_KBDINPUTASSIST_PREVGROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KBDINPUTASSIST_PREVGROUP) == (0x262), "KEY_KBDINPUTASSIST_PREVGROUP != 0x262"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KBDINPUTASSIST_PREVGROUP 0x262 #endif -#if !(defined(KEY_KBDINPUTASSIST_NEXTGROUP) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_NEXTGROUP) && HAVE_DECL_KEY_KBDINPUTASSIST_NEXTGROUP)) +#if defined(KEY_KBDINPUTASSIST_NEXTGROUP) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_NEXTGROUP) && HAVE_DECL_KEY_KBDINPUTASSIST_NEXTGROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KBDINPUTASSIST_NEXTGROUP) == (0x263), "KEY_KBDINPUTASSIST_NEXTGROUP != 0x263"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KBDINPUTASSIST_NEXTGROUP 0x263 #endif -#if !(defined(KEY_KBDINPUTASSIST_ACCEPT) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_ACCEPT) && HAVE_DECL_KEY_KBDINPUTASSIST_ACCEPT)) +#if defined(KEY_KBDINPUTASSIST_ACCEPT) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_ACCEPT) && HAVE_DECL_KEY_KBDINPUTASSIST_ACCEPT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KBDINPUTASSIST_ACCEPT) == (0x264), "KEY_KBDINPUTASSIST_ACCEPT != 0x264"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KBDINPUTASSIST_ACCEPT 0x264 #endif -#if !(defined(KEY_KBDINPUTASSIST_CANCEL) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_CANCEL) && HAVE_DECL_KEY_KBDINPUTASSIST_CANCEL)) +#if defined(KEY_KBDINPUTASSIST_CANCEL) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_CANCEL) && HAVE_DECL_KEY_KBDINPUTASSIST_CANCEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_KBDINPUTASSIST_CANCEL) == (0x265), "KEY_KBDINPUTASSIST_CANCEL != 0x265"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_KBDINPUTASSIST_CANCEL 0x265 #endif -#if !(defined(KEY_RIGHT_UP) || (defined(HAVE_DECL_KEY_RIGHT_UP) && HAVE_DECL_KEY_RIGHT_UP)) +#if defined(KEY_RIGHT_UP) || (defined(HAVE_DECL_KEY_RIGHT_UP) && HAVE_DECL_KEY_RIGHT_UP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RIGHT_UP) == (0x266), "KEY_RIGHT_UP != 0x266"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RIGHT_UP 0x266 #endif -#if !(defined(KEY_RIGHT_DOWN) || (defined(HAVE_DECL_KEY_RIGHT_DOWN) && HAVE_DECL_KEY_RIGHT_DOWN)) +#if defined(KEY_RIGHT_DOWN) || (defined(HAVE_DECL_KEY_RIGHT_DOWN) && HAVE_DECL_KEY_RIGHT_DOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_RIGHT_DOWN) == (0x267), "KEY_RIGHT_DOWN != 0x267"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_RIGHT_DOWN 0x267 #endif -#if !(defined(KEY_LEFT_UP) || (defined(HAVE_DECL_KEY_LEFT_UP) && HAVE_DECL_KEY_LEFT_UP)) +#if defined(KEY_LEFT_UP) || (defined(HAVE_DECL_KEY_LEFT_UP) && HAVE_DECL_KEY_LEFT_UP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LEFT_UP) == (0x268), "KEY_LEFT_UP != 0x268"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LEFT_UP 0x268 #endif -#if !(defined(KEY_LEFT_DOWN) || (defined(HAVE_DECL_KEY_LEFT_DOWN) && HAVE_DECL_KEY_LEFT_DOWN)) +#if defined(KEY_LEFT_DOWN) || (defined(HAVE_DECL_KEY_LEFT_DOWN) && HAVE_DECL_KEY_LEFT_DOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_LEFT_DOWN) == (0x269), "KEY_LEFT_DOWN != 0x269"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_LEFT_DOWN 0x269 #endif -#if !(defined(KEY_ROOT_MENU) || (defined(HAVE_DECL_KEY_ROOT_MENU) && HAVE_DECL_KEY_ROOT_MENU)) +#if defined(KEY_ROOT_MENU) || (defined(HAVE_DECL_KEY_ROOT_MENU) && HAVE_DECL_KEY_ROOT_MENU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ROOT_MENU) == (0x26a), "KEY_ROOT_MENU != 0x26a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ROOT_MENU 0x26a #endif -#if !(defined(KEY_MEDIA_TOP_MENU) || (defined(HAVE_DECL_KEY_MEDIA_TOP_MENU) && HAVE_DECL_KEY_MEDIA_TOP_MENU)) +#if defined(KEY_MEDIA_TOP_MENU) || (defined(HAVE_DECL_KEY_MEDIA_TOP_MENU) && HAVE_DECL_KEY_MEDIA_TOP_MENU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_MEDIA_TOP_MENU) == (0x26b), "KEY_MEDIA_TOP_MENU != 0x26b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_MEDIA_TOP_MENU 0x26b #endif -#if !(defined(KEY_NUMERIC_11) || (defined(HAVE_DECL_KEY_NUMERIC_11) && HAVE_DECL_KEY_NUMERIC_11)) +#if defined(KEY_NUMERIC_11) || (defined(HAVE_DECL_KEY_NUMERIC_11) && HAVE_DECL_KEY_NUMERIC_11) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_11) == (0x26c), "KEY_NUMERIC_11 != 0x26c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_11 0x26c #endif -#if !(defined(KEY_NUMERIC_12) || (defined(HAVE_DECL_KEY_NUMERIC_12) && HAVE_DECL_KEY_NUMERIC_12)) +#if defined(KEY_NUMERIC_12) || (defined(HAVE_DECL_KEY_NUMERIC_12) && HAVE_DECL_KEY_NUMERIC_12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NUMERIC_12) == (0x26d), "KEY_NUMERIC_12 != 0x26d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NUMERIC_12 0x26d #endif -#if !(defined(KEY_AUDIO_DESC) || (defined(HAVE_DECL_KEY_AUDIO_DESC) && HAVE_DECL_KEY_AUDIO_DESC)) +#if defined(KEY_AUDIO_DESC) || (defined(HAVE_DECL_KEY_AUDIO_DESC) && HAVE_DECL_KEY_AUDIO_DESC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_AUDIO_DESC) == (0x26e), "KEY_AUDIO_DESC != 0x26e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_AUDIO_DESC 0x26e #endif -#if !(defined(KEY_3D_MODE) || (defined(HAVE_DECL_KEY_3D_MODE) && HAVE_DECL_KEY_3D_MODE)) +#if defined(KEY_3D_MODE) || (defined(HAVE_DECL_KEY_3D_MODE) && HAVE_DECL_KEY_3D_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_3D_MODE) == (0x26f), "KEY_3D_MODE != 0x26f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_3D_MODE 0x26f #endif -#if !(defined(KEY_NEXT_FAVORITE) || (defined(HAVE_DECL_KEY_NEXT_FAVORITE) && HAVE_DECL_KEY_NEXT_FAVORITE)) +#if defined(KEY_NEXT_FAVORITE) || (defined(HAVE_DECL_KEY_NEXT_FAVORITE) && HAVE_DECL_KEY_NEXT_FAVORITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_NEXT_FAVORITE) == (0x270), "KEY_NEXT_FAVORITE != 0x270"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_NEXT_FAVORITE 0x270 #endif -#if !(defined(KEY_STOP_RECORD) || (defined(HAVE_DECL_KEY_STOP_RECORD) && HAVE_DECL_KEY_STOP_RECORD)) +#if defined(KEY_STOP_RECORD) || (defined(HAVE_DECL_KEY_STOP_RECORD) && HAVE_DECL_KEY_STOP_RECORD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_STOP_RECORD) == (0x271), "KEY_STOP_RECORD != 0x271"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_STOP_RECORD 0x271 #endif -#if !(defined(KEY_PAUSE_RECORD) || (defined(HAVE_DECL_KEY_PAUSE_RECORD) && HAVE_DECL_KEY_PAUSE_RECORD)) +#if defined(KEY_PAUSE_RECORD) || (defined(HAVE_DECL_KEY_PAUSE_RECORD) && HAVE_DECL_KEY_PAUSE_RECORD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_PAUSE_RECORD) == (0x272), "KEY_PAUSE_RECORD != 0x272"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_PAUSE_RECORD 0x272 #endif -#if !(defined(KEY_VOD) || (defined(HAVE_DECL_KEY_VOD) && HAVE_DECL_KEY_VOD)) +#if defined(KEY_VOD) || (defined(HAVE_DECL_KEY_VOD) && HAVE_DECL_KEY_VOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_VOD) == (0x273), "KEY_VOD != 0x273"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_VOD 0x273 #endif -#if !(defined(KEY_UNMUTE) || (defined(HAVE_DECL_KEY_UNMUTE) && HAVE_DECL_KEY_UNMUTE)) +#if defined(KEY_UNMUTE) || (defined(HAVE_DECL_KEY_UNMUTE) && HAVE_DECL_KEY_UNMUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_UNMUTE) == (0x274), "KEY_UNMUTE != 0x274"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_UNMUTE 0x274 #endif -#if !(defined(KEY_FASTREVERSE) || (defined(HAVE_DECL_KEY_FASTREVERSE) && HAVE_DECL_KEY_FASTREVERSE)) +#if defined(KEY_FASTREVERSE) || (defined(HAVE_DECL_KEY_FASTREVERSE) && HAVE_DECL_KEY_FASTREVERSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_FASTREVERSE) == (0x275), "KEY_FASTREVERSE != 0x275"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_FASTREVERSE 0x275 #endif -#if !(defined(KEY_SLOWREVERSE) || (defined(HAVE_DECL_KEY_SLOWREVERSE) && HAVE_DECL_KEY_SLOWREVERSE)) +#if defined(KEY_SLOWREVERSE) || (defined(HAVE_DECL_KEY_SLOWREVERSE) && HAVE_DECL_KEY_SLOWREVERSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SLOWREVERSE) == (0x276), "KEY_SLOWREVERSE != 0x276"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SLOWREVERSE 0x276 #endif -#if !(defined(KEY_DATA) || (defined(HAVE_DECL_KEY_DATA) && HAVE_DECL_KEY_DATA)) +#ifndef STRACE_WORKAROUND_FOR_KEY_DATA +# define STRACE_WORKAROUND_FOR_KEY_DATA +# undef KEY_DATA +#endif +#if defined(KEY_DATA) || (defined(HAVE_DECL_KEY_DATA) && HAVE_DECL_KEY_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_DATA) == (0x277), "KEY_DATA != 0x277"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_DATA 0x277 #endif -#if !(defined(KEY_ONSCREEN_KEYBOARD) || (defined(HAVE_DECL_KEY_ONSCREEN_KEYBOARD) && HAVE_DECL_KEY_ONSCREEN_KEYBOARD)) +#if defined(KEY_ONSCREEN_KEYBOARD) || (defined(HAVE_DECL_KEY_ONSCREEN_KEYBOARD) && HAVE_DECL_KEY_ONSCREEN_KEYBOARD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_ONSCREEN_KEYBOARD) == (0x278), "KEY_ONSCREEN_KEYBOARD != 0x278"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_ONSCREEN_KEYBOARD 0x278 #endif -#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)) +#if defined(BTN_TRIGGER_HAPPY1) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY1) && HAVE_DECL_BTN_TRIGGER_HAPPY1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY1) == (0x2c0), "BTN_TRIGGER_HAPPY1 != 0x2c0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY1 0x2c0 #endif -#if !(defined(BTN_TRIGGER_HAPPY2) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY2) && HAVE_DECL_BTN_TRIGGER_HAPPY2)) +#if defined(BTN_TRIGGER_HAPPY2) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY2) && HAVE_DECL_BTN_TRIGGER_HAPPY2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY2) == (0x2c1), "BTN_TRIGGER_HAPPY2 != 0x2c1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY2 0x2c1 #endif -#if !(defined(BTN_TRIGGER_HAPPY3) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY3) && HAVE_DECL_BTN_TRIGGER_HAPPY3)) +#if defined(BTN_TRIGGER_HAPPY3) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY3) && HAVE_DECL_BTN_TRIGGER_HAPPY3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY3) == (0x2c2), "BTN_TRIGGER_HAPPY3 != 0x2c2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY3 0x2c2 #endif -#if !(defined(BTN_TRIGGER_HAPPY4) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY4) && HAVE_DECL_BTN_TRIGGER_HAPPY4)) +#if defined(BTN_TRIGGER_HAPPY4) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY4) && HAVE_DECL_BTN_TRIGGER_HAPPY4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY4) == (0x2c3), "BTN_TRIGGER_HAPPY4 != 0x2c3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY4 0x2c3 #endif -#if !(defined(BTN_TRIGGER_HAPPY5) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY5) && HAVE_DECL_BTN_TRIGGER_HAPPY5)) +#if defined(BTN_TRIGGER_HAPPY5) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY5) && HAVE_DECL_BTN_TRIGGER_HAPPY5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY5) == (0x2c4), "BTN_TRIGGER_HAPPY5 != 0x2c4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY5 0x2c4 #endif -#if !(defined(BTN_TRIGGER_HAPPY6) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY6) && HAVE_DECL_BTN_TRIGGER_HAPPY6)) +#if defined(BTN_TRIGGER_HAPPY6) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY6) && HAVE_DECL_BTN_TRIGGER_HAPPY6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY6) == (0x2c5), "BTN_TRIGGER_HAPPY6 != 0x2c5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY6 0x2c5 #endif -#if !(defined(BTN_TRIGGER_HAPPY7) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY7) && HAVE_DECL_BTN_TRIGGER_HAPPY7)) +#if defined(BTN_TRIGGER_HAPPY7) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY7) && HAVE_DECL_BTN_TRIGGER_HAPPY7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY7) == (0x2c6), "BTN_TRIGGER_HAPPY7 != 0x2c6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY7 0x2c6 #endif -#if !(defined(BTN_TRIGGER_HAPPY8) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY8) && HAVE_DECL_BTN_TRIGGER_HAPPY8)) +#if defined(BTN_TRIGGER_HAPPY8) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY8) && HAVE_DECL_BTN_TRIGGER_HAPPY8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY8) == (0x2c7), "BTN_TRIGGER_HAPPY8 != 0x2c7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY8 0x2c7 #endif -#if !(defined(BTN_TRIGGER_HAPPY9) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY9) && HAVE_DECL_BTN_TRIGGER_HAPPY9)) +#if defined(BTN_TRIGGER_HAPPY9) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY9) && HAVE_DECL_BTN_TRIGGER_HAPPY9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY9) == (0x2c8), "BTN_TRIGGER_HAPPY9 != 0x2c8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY9 0x2c8 #endif -#if !(defined(BTN_TRIGGER_HAPPY10) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY10) && HAVE_DECL_BTN_TRIGGER_HAPPY10)) +#if defined(BTN_TRIGGER_HAPPY10) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY10) && HAVE_DECL_BTN_TRIGGER_HAPPY10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY10) == (0x2c9), "BTN_TRIGGER_HAPPY10 != 0x2c9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY10 0x2c9 #endif -#if !(defined(BTN_TRIGGER_HAPPY11) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY11) && HAVE_DECL_BTN_TRIGGER_HAPPY11)) +#if defined(BTN_TRIGGER_HAPPY11) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY11) && HAVE_DECL_BTN_TRIGGER_HAPPY11) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY11) == (0x2ca), "BTN_TRIGGER_HAPPY11 != 0x2ca"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY11 0x2ca #endif -#if !(defined(BTN_TRIGGER_HAPPY12) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY12) && HAVE_DECL_BTN_TRIGGER_HAPPY12)) +#if defined(BTN_TRIGGER_HAPPY12) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY12) && HAVE_DECL_BTN_TRIGGER_HAPPY12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY12) == (0x2cb), "BTN_TRIGGER_HAPPY12 != 0x2cb"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY12 0x2cb #endif -#if !(defined(BTN_TRIGGER_HAPPY13) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY13) && HAVE_DECL_BTN_TRIGGER_HAPPY13)) +#if defined(BTN_TRIGGER_HAPPY13) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY13) && HAVE_DECL_BTN_TRIGGER_HAPPY13) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY13) == (0x2cc), "BTN_TRIGGER_HAPPY13 != 0x2cc"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY13 0x2cc #endif -#if !(defined(BTN_TRIGGER_HAPPY14) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY14) && HAVE_DECL_BTN_TRIGGER_HAPPY14)) +#if defined(BTN_TRIGGER_HAPPY14) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY14) && HAVE_DECL_BTN_TRIGGER_HAPPY14) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY14) == (0x2cd), "BTN_TRIGGER_HAPPY14 != 0x2cd"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY14 0x2cd #endif -#if !(defined(BTN_TRIGGER_HAPPY15) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY15) && HAVE_DECL_BTN_TRIGGER_HAPPY15)) +#if defined(BTN_TRIGGER_HAPPY15) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY15) && HAVE_DECL_BTN_TRIGGER_HAPPY15) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY15) == (0x2ce), "BTN_TRIGGER_HAPPY15 != 0x2ce"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY15 0x2ce #endif -#if !(defined(BTN_TRIGGER_HAPPY16) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY16) && HAVE_DECL_BTN_TRIGGER_HAPPY16)) +#if defined(BTN_TRIGGER_HAPPY16) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY16) && HAVE_DECL_BTN_TRIGGER_HAPPY16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY16) == (0x2cf), "BTN_TRIGGER_HAPPY16 != 0x2cf"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY16 0x2cf #endif -#if !(defined(BTN_TRIGGER_HAPPY17) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY17) && HAVE_DECL_BTN_TRIGGER_HAPPY17)) +#if defined(BTN_TRIGGER_HAPPY17) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY17) && HAVE_DECL_BTN_TRIGGER_HAPPY17) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY17) == (0x2d0), "BTN_TRIGGER_HAPPY17 != 0x2d0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY17 0x2d0 #endif -#if !(defined(BTN_TRIGGER_HAPPY18) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY18) && HAVE_DECL_BTN_TRIGGER_HAPPY18)) +#if defined(BTN_TRIGGER_HAPPY18) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY18) && HAVE_DECL_BTN_TRIGGER_HAPPY18) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY18) == (0x2d1), "BTN_TRIGGER_HAPPY18 != 0x2d1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY18 0x2d1 #endif -#if !(defined(BTN_TRIGGER_HAPPY19) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY19) && HAVE_DECL_BTN_TRIGGER_HAPPY19)) +#if defined(BTN_TRIGGER_HAPPY19) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY19) && HAVE_DECL_BTN_TRIGGER_HAPPY19) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY19) == (0x2d2), "BTN_TRIGGER_HAPPY19 != 0x2d2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY19 0x2d2 #endif -#if !(defined(BTN_TRIGGER_HAPPY20) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY20) && HAVE_DECL_BTN_TRIGGER_HAPPY20)) +#if defined(BTN_TRIGGER_HAPPY20) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY20) && HAVE_DECL_BTN_TRIGGER_HAPPY20) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY20) == (0x2d3), "BTN_TRIGGER_HAPPY20 != 0x2d3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY20 0x2d3 #endif -#if !(defined(BTN_TRIGGER_HAPPY21) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY21) && HAVE_DECL_BTN_TRIGGER_HAPPY21)) +#if defined(BTN_TRIGGER_HAPPY21) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY21) && HAVE_DECL_BTN_TRIGGER_HAPPY21) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY21) == (0x2d4), "BTN_TRIGGER_HAPPY21 != 0x2d4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY21 0x2d4 #endif -#if !(defined(BTN_TRIGGER_HAPPY22) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY22) && HAVE_DECL_BTN_TRIGGER_HAPPY22)) +#if defined(BTN_TRIGGER_HAPPY22) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY22) && HAVE_DECL_BTN_TRIGGER_HAPPY22) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY22) == (0x2d5), "BTN_TRIGGER_HAPPY22 != 0x2d5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY22 0x2d5 #endif -#if !(defined(BTN_TRIGGER_HAPPY23) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY23) && HAVE_DECL_BTN_TRIGGER_HAPPY23)) +#if defined(BTN_TRIGGER_HAPPY23) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY23) && HAVE_DECL_BTN_TRIGGER_HAPPY23) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY23) == (0x2d6), "BTN_TRIGGER_HAPPY23 != 0x2d6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY23 0x2d6 #endif -#if !(defined(BTN_TRIGGER_HAPPY24) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY24) && HAVE_DECL_BTN_TRIGGER_HAPPY24)) +#if defined(BTN_TRIGGER_HAPPY24) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY24) && HAVE_DECL_BTN_TRIGGER_HAPPY24) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY24) == (0x2d7), "BTN_TRIGGER_HAPPY24 != 0x2d7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY24 0x2d7 #endif -#if !(defined(BTN_TRIGGER_HAPPY25) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY25) && HAVE_DECL_BTN_TRIGGER_HAPPY25)) +#if defined(BTN_TRIGGER_HAPPY25) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY25) && HAVE_DECL_BTN_TRIGGER_HAPPY25) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY25) == (0x2d8), "BTN_TRIGGER_HAPPY25 != 0x2d8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY25 0x2d8 #endif -#if !(defined(BTN_TRIGGER_HAPPY26) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY26) && HAVE_DECL_BTN_TRIGGER_HAPPY26)) +#if defined(BTN_TRIGGER_HAPPY26) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY26) && HAVE_DECL_BTN_TRIGGER_HAPPY26) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY26) == (0x2d9), "BTN_TRIGGER_HAPPY26 != 0x2d9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY26 0x2d9 #endif -#if !(defined(BTN_TRIGGER_HAPPY27) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY27) && HAVE_DECL_BTN_TRIGGER_HAPPY27)) +#if defined(BTN_TRIGGER_HAPPY27) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY27) && HAVE_DECL_BTN_TRIGGER_HAPPY27) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY27) == (0x2da), "BTN_TRIGGER_HAPPY27 != 0x2da"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY27 0x2da #endif -#if !(defined(BTN_TRIGGER_HAPPY28) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY28) && HAVE_DECL_BTN_TRIGGER_HAPPY28)) +#if defined(BTN_TRIGGER_HAPPY28) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY28) && HAVE_DECL_BTN_TRIGGER_HAPPY28) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY28) == (0x2db), "BTN_TRIGGER_HAPPY28 != 0x2db"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY28 0x2db #endif -#if !(defined(BTN_TRIGGER_HAPPY29) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY29) && HAVE_DECL_BTN_TRIGGER_HAPPY29)) +#if defined(BTN_TRIGGER_HAPPY29) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY29) && HAVE_DECL_BTN_TRIGGER_HAPPY29) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY29) == (0x2dc), "BTN_TRIGGER_HAPPY29 != 0x2dc"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY29 0x2dc #endif -#if !(defined(BTN_TRIGGER_HAPPY30) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY30) && HAVE_DECL_BTN_TRIGGER_HAPPY30)) +#if defined(BTN_TRIGGER_HAPPY30) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY30) && HAVE_DECL_BTN_TRIGGER_HAPPY30) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY30) == (0x2dd), "BTN_TRIGGER_HAPPY30 != 0x2dd"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY30 0x2dd #endif -#if !(defined(BTN_TRIGGER_HAPPY31) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY31) && HAVE_DECL_BTN_TRIGGER_HAPPY31)) +#if defined(BTN_TRIGGER_HAPPY31) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY31) && HAVE_DECL_BTN_TRIGGER_HAPPY31) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY31) == (0x2de), "BTN_TRIGGER_HAPPY31 != 0x2de"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY31 0x2de #endif -#if !(defined(BTN_TRIGGER_HAPPY32) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY32) && HAVE_DECL_BTN_TRIGGER_HAPPY32)) +#if defined(BTN_TRIGGER_HAPPY32) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY32) && HAVE_DECL_BTN_TRIGGER_HAPPY32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY32) == (0x2df), "BTN_TRIGGER_HAPPY32 != 0x2df"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY32 0x2df #endif -#if !(defined(BTN_TRIGGER_HAPPY33) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY33) && HAVE_DECL_BTN_TRIGGER_HAPPY33)) +#if defined(BTN_TRIGGER_HAPPY33) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY33) && HAVE_DECL_BTN_TRIGGER_HAPPY33) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY33) == (0x2e0), "BTN_TRIGGER_HAPPY33 != 0x2e0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY33 0x2e0 #endif -#if !(defined(BTN_TRIGGER_HAPPY34) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY34) && HAVE_DECL_BTN_TRIGGER_HAPPY34)) +#if defined(BTN_TRIGGER_HAPPY34) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY34) && HAVE_DECL_BTN_TRIGGER_HAPPY34) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY34) == (0x2e1), "BTN_TRIGGER_HAPPY34 != 0x2e1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY34 0x2e1 #endif -#if !(defined(BTN_TRIGGER_HAPPY35) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY35) && HAVE_DECL_BTN_TRIGGER_HAPPY35)) +#if defined(BTN_TRIGGER_HAPPY35) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY35) && HAVE_DECL_BTN_TRIGGER_HAPPY35) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY35) == (0x2e2), "BTN_TRIGGER_HAPPY35 != 0x2e2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY35 0x2e2 #endif -#if !(defined(BTN_TRIGGER_HAPPY36) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY36) && HAVE_DECL_BTN_TRIGGER_HAPPY36)) +#if defined(BTN_TRIGGER_HAPPY36) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY36) && HAVE_DECL_BTN_TRIGGER_HAPPY36) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY36) == (0x2e3), "BTN_TRIGGER_HAPPY36 != 0x2e3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY36 0x2e3 #endif -#if !(defined(BTN_TRIGGER_HAPPY37) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY37) && HAVE_DECL_BTN_TRIGGER_HAPPY37)) +#if defined(BTN_TRIGGER_HAPPY37) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY37) && HAVE_DECL_BTN_TRIGGER_HAPPY37) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY37) == (0x2e4), "BTN_TRIGGER_HAPPY37 != 0x2e4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY37 0x2e4 #endif -#if !(defined(BTN_TRIGGER_HAPPY38) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY38) && HAVE_DECL_BTN_TRIGGER_HAPPY38)) +#if defined(BTN_TRIGGER_HAPPY38) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY38) && HAVE_DECL_BTN_TRIGGER_HAPPY38) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY38) == (0x2e5), "BTN_TRIGGER_HAPPY38 != 0x2e5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY38 0x2e5 #endif -#if !(defined(BTN_TRIGGER_HAPPY39) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY39) && HAVE_DECL_BTN_TRIGGER_HAPPY39)) +#if defined(BTN_TRIGGER_HAPPY39) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY39) && HAVE_DECL_BTN_TRIGGER_HAPPY39) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY39) == (0x2e6), "BTN_TRIGGER_HAPPY39 != 0x2e6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY39 0x2e6 #endif -#if !(defined(BTN_TRIGGER_HAPPY40) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY40) && HAVE_DECL_BTN_TRIGGER_HAPPY40)) +#if defined(BTN_TRIGGER_HAPPY40) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY40) && HAVE_DECL_BTN_TRIGGER_HAPPY40) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BTN_TRIGGER_HAPPY40) == (0x2e7), "BTN_TRIGGER_HAPPY40 != 0x2e7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BTN_TRIGGER_HAPPY40 0x2e7 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat evdev_keycode in mpers mode +# ifdef IN_MPERS -#else +# 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), + [KEY_RESERVED] = XLAT(KEY_RESERVED), + [KEY_ESC] = XLAT(KEY_ESC), + [KEY_1] = XLAT(KEY_1), + [KEY_2] = XLAT(KEY_2), + [KEY_3] = XLAT(KEY_3), + [KEY_4] = XLAT(KEY_4), + [KEY_5] = XLAT(KEY_5), + [KEY_6] = XLAT(KEY_6), + [KEY_7] = XLAT(KEY_7), + [KEY_8] = XLAT(KEY_8), + [KEY_9] = XLAT(KEY_9), + [KEY_0] = XLAT(KEY_0), + [KEY_MINUS] = XLAT(KEY_MINUS), + [KEY_EQUAL] = XLAT(KEY_EQUAL), + [KEY_BACKSPACE] = XLAT(KEY_BACKSPACE), + [KEY_TAB] = XLAT(KEY_TAB), + [KEY_Q] = XLAT(KEY_Q), + [KEY_W] = XLAT(KEY_W), + [KEY_E] = XLAT(KEY_E), + [KEY_R] = XLAT(KEY_R), + [KEY_T] = XLAT(KEY_T), + [KEY_Y] = XLAT(KEY_Y), + [KEY_U] = XLAT(KEY_U), + [KEY_I] = XLAT(KEY_I), + [KEY_O] = XLAT(KEY_O), + [KEY_P] = XLAT(KEY_P), + [KEY_LEFTBRACE] = XLAT(KEY_LEFTBRACE), + [KEY_RIGHTBRACE] = XLAT(KEY_RIGHTBRACE), + [KEY_ENTER] = XLAT(KEY_ENTER), + [KEY_LEFTCTRL] = XLAT(KEY_LEFTCTRL), + [KEY_A] = XLAT(KEY_A), + [KEY_S] = XLAT(KEY_S), + [KEY_D] = XLAT(KEY_D), + [KEY_F] = XLAT(KEY_F), + [KEY_G] = XLAT(KEY_G), + [KEY_H] = XLAT(KEY_H), + [KEY_J] = XLAT(KEY_J), + [KEY_K] = XLAT(KEY_K), + [KEY_L] = XLAT(KEY_L), + [KEY_SEMICOLON] = XLAT(KEY_SEMICOLON), + [KEY_APOSTROPHE] = XLAT(KEY_APOSTROPHE), + [KEY_GRAVE] = XLAT(KEY_GRAVE), + [KEY_LEFTSHIFT] = XLAT(KEY_LEFTSHIFT), + [KEY_BACKSLASH] = XLAT(KEY_BACKSLASH), + [KEY_Z] = XLAT(KEY_Z), + [KEY_X] = XLAT(KEY_X), + [KEY_C] = XLAT(KEY_C), + [KEY_V] = XLAT(KEY_V), + [KEY_B] = XLAT(KEY_B), + [KEY_N] = XLAT(KEY_N), + [KEY_M] = XLAT(KEY_M), + [KEY_COMMA] = XLAT(KEY_COMMA), + [KEY_DOT] = XLAT(KEY_DOT), + [KEY_SLASH] = XLAT(KEY_SLASH), + [KEY_RIGHTSHIFT] = XLAT(KEY_RIGHTSHIFT), + [KEY_KPASTERISK] = XLAT(KEY_KPASTERISK), + [KEY_LEFTALT] = XLAT(KEY_LEFTALT), + [KEY_SPACE] = XLAT(KEY_SPACE), + [KEY_CAPSLOCK] = XLAT(KEY_CAPSLOCK), + [KEY_F1] = XLAT(KEY_F1), + [KEY_F2] = XLAT(KEY_F2), + [KEY_F3] = XLAT(KEY_F3), + [KEY_F4] = XLAT(KEY_F4), + [KEY_F5] = XLAT(KEY_F5), + [KEY_F6] = XLAT(KEY_F6), + [KEY_F7] = XLAT(KEY_F7), + [KEY_F8] = XLAT(KEY_F8), + [KEY_F9] = XLAT(KEY_F9), + [KEY_F10] = XLAT(KEY_F10), + [KEY_NUMLOCK] = XLAT(KEY_NUMLOCK), + [KEY_SCROLLLOCK] = XLAT(KEY_SCROLLLOCK), + [KEY_KP7] = XLAT(KEY_KP7), + [KEY_KP8] = XLAT(KEY_KP8), + [KEY_KP9] = XLAT(KEY_KP9), + [KEY_KPMINUS] = XLAT(KEY_KPMINUS), + [KEY_KP4] = XLAT(KEY_KP4), + [KEY_KP5] = XLAT(KEY_KP5), + [KEY_KP6] = XLAT(KEY_KP6), + [KEY_KPPLUS] = XLAT(KEY_KPPLUS), + [KEY_KP1] = XLAT(KEY_KP1), + [KEY_KP2] = XLAT(KEY_KP2), + [KEY_KP3] = XLAT(KEY_KP3), + [KEY_KP0] = XLAT(KEY_KP0), + [KEY_KPDOT] = XLAT(KEY_KPDOT), + + [KEY_ZENKAKUHANKAKU] = XLAT(KEY_ZENKAKUHANKAKU), + [KEY_102ND] = XLAT(KEY_102ND), + [KEY_F11] = XLAT(KEY_F11), + [KEY_F12] = XLAT(KEY_F12), + [KEY_RO] = XLAT(KEY_RO), + [KEY_KATAKANA] = XLAT(KEY_KATAKANA), + [KEY_HIRAGANA] = XLAT(KEY_HIRAGANA), + [KEY_HENKAN] = XLAT(KEY_HENKAN), + [KEY_KATAKANAHIRAGANA] = XLAT(KEY_KATAKANAHIRAGANA), + [KEY_MUHENKAN] = XLAT(KEY_MUHENKAN), + [KEY_KPJPCOMMA] = XLAT(KEY_KPJPCOMMA), + [KEY_KPENTER] = XLAT(KEY_KPENTER), + [KEY_RIGHTCTRL] = XLAT(KEY_RIGHTCTRL), + [KEY_KPSLASH] = XLAT(KEY_KPSLASH), + [KEY_SYSRQ] = XLAT(KEY_SYSRQ), + [KEY_RIGHTALT] = XLAT(KEY_RIGHTALT), + [KEY_LINEFEED] = XLAT(KEY_LINEFEED), + [KEY_HOME] = XLAT(KEY_HOME), + [KEY_UP] = XLAT(KEY_UP), + [KEY_PAGEUP] = XLAT(KEY_PAGEUP), + [KEY_LEFT] = XLAT(KEY_LEFT), + [KEY_RIGHT] = XLAT(KEY_RIGHT), + [KEY_END] = XLAT(KEY_END), + [KEY_DOWN] = XLAT(KEY_DOWN), + [KEY_PAGEDOWN] = XLAT(KEY_PAGEDOWN), + [KEY_INSERT] = XLAT(KEY_INSERT), + [KEY_DELETE] = XLAT(KEY_DELETE), + [KEY_MACRO] = XLAT(KEY_MACRO), + [KEY_MUTE] = XLAT(KEY_MUTE), + [KEY_VOLUMEDOWN] = XLAT(KEY_VOLUMEDOWN), + [KEY_VOLUMEUP] = XLAT(KEY_VOLUMEUP), + [KEY_POWER] = XLAT(KEY_POWER), + [KEY_KPEQUAL] = XLAT(KEY_KPEQUAL), + [KEY_KPPLUSMINUS] = XLAT(KEY_KPPLUSMINUS), + [KEY_PAUSE] = XLAT(KEY_PAUSE), + [KEY_SCALE] = XLAT(KEY_SCALE), - 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), + [KEY_KPCOMMA] = XLAT(KEY_KPCOMMA), + [KEY_HANGEUL] = XLAT(KEY_HANGEUL), + [KEY_HANJA] = XLAT(KEY_HANJA), + [KEY_YEN] = XLAT(KEY_YEN), + [KEY_LEFTMETA] = XLAT(KEY_LEFTMETA), + [KEY_RIGHTMETA] = XLAT(KEY_RIGHTMETA), + [KEY_COMPOSE] = XLAT(KEY_COMPOSE), - XLAT(KEY_KPCOMMA), - XLAT(KEY_HANGEUL), - XLAT(KEY_HANJA), - XLAT(KEY_YEN), - XLAT(KEY_LEFTMETA), - XLAT(KEY_RIGHTMETA), - XLAT(KEY_COMPOSE), + [KEY_STOP] = XLAT(KEY_STOP), + [KEY_AGAIN] = XLAT(KEY_AGAIN), + [KEY_PROPS] = XLAT(KEY_PROPS), + [KEY_UNDO] = XLAT(KEY_UNDO), + [KEY_FRONT] = XLAT(KEY_FRONT), + [KEY_COPY] = XLAT(KEY_COPY), + [KEY_OPEN] = XLAT(KEY_OPEN), + [KEY_PASTE] = XLAT(KEY_PASTE), + [KEY_FIND] = XLAT(KEY_FIND), + [KEY_CUT] = XLAT(KEY_CUT), + [KEY_HELP] = XLAT(KEY_HELP), + [KEY_MENU] = XLAT(KEY_MENU), + [KEY_CALC] = XLAT(KEY_CALC), + [KEY_SETUP] = XLAT(KEY_SETUP), + [KEY_SLEEP] = XLAT(KEY_SLEEP), + [KEY_WAKEUP] = XLAT(KEY_WAKEUP), + [KEY_FILE] = XLAT(KEY_FILE), + [KEY_SENDFILE] = XLAT(KEY_SENDFILE), + [KEY_DELETEFILE] = XLAT(KEY_DELETEFILE), + [KEY_XFER] = XLAT(KEY_XFER), + [KEY_PROG1] = XLAT(KEY_PROG1), + [KEY_PROG2] = XLAT(KEY_PROG2), + [KEY_WWW] = XLAT(KEY_WWW), + [KEY_MSDOS] = XLAT(KEY_MSDOS), + [KEY_COFFEE] = XLAT(KEY_COFFEE), + [KEY_ROTATE_DISPLAY] = XLAT(KEY_ROTATE_DISPLAY), + [KEY_CYCLEWINDOWS] = XLAT(KEY_CYCLEWINDOWS), + [KEY_MAIL] = XLAT(KEY_MAIL), + [KEY_BOOKMARKS] = XLAT(KEY_BOOKMARKS), + [KEY_COMPUTER] = XLAT(KEY_COMPUTER), + [KEY_BACK] = XLAT(KEY_BACK), + [KEY_FORWARD] = XLAT(KEY_FORWARD), + [KEY_CLOSECD] = XLAT(KEY_CLOSECD), + [KEY_EJECTCD] = XLAT(KEY_EJECTCD), + [KEY_EJECTCLOSECD] = XLAT(KEY_EJECTCLOSECD), + [KEY_NEXTSONG] = XLAT(KEY_NEXTSONG), + [KEY_PLAYPAUSE] = XLAT(KEY_PLAYPAUSE), + [KEY_PREVIOUSSONG] = XLAT(KEY_PREVIOUSSONG), + [KEY_STOPCD] = XLAT(KEY_STOPCD), + [KEY_RECORD] = XLAT(KEY_RECORD), + [KEY_REWIND] = XLAT(KEY_REWIND), + [KEY_PHONE] = XLAT(KEY_PHONE), + [KEY_ISO] = XLAT(KEY_ISO), + [KEY_CONFIG] = XLAT(KEY_CONFIG), + [KEY_HOMEPAGE] = XLAT(KEY_HOMEPAGE), + [KEY_REFRESH] = XLAT(KEY_REFRESH), + [KEY_EXIT] = XLAT(KEY_EXIT), + [KEY_MOVE] = XLAT(KEY_MOVE), + [KEY_EDIT] = XLAT(KEY_EDIT), + [KEY_SCROLLUP] = XLAT(KEY_SCROLLUP), + [KEY_SCROLLDOWN] = XLAT(KEY_SCROLLDOWN), + [KEY_KPLEFTPAREN] = XLAT(KEY_KPLEFTPAREN), + [KEY_KPRIGHTPAREN] = XLAT(KEY_KPRIGHTPAREN), + [KEY_NEW] = XLAT(KEY_NEW), + [KEY_REDO] = XLAT(KEY_REDO), - 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), + [KEY_F13] = XLAT(KEY_F13), + [KEY_F14] = XLAT(KEY_F14), + [KEY_F15] = XLAT(KEY_F15), + [KEY_F16] = XLAT(KEY_F16), + [KEY_F17] = XLAT(KEY_F17), + [KEY_F18] = XLAT(KEY_F18), + [KEY_F19] = XLAT(KEY_F19), + [KEY_F20] = XLAT(KEY_F20), + [KEY_F21] = XLAT(KEY_F21), + [KEY_F22] = XLAT(KEY_F22), + [KEY_F23] = XLAT(KEY_F23), + [KEY_F24] = XLAT(KEY_F24), - 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), + [KEY_PLAYCD] = XLAT(KEY_PLAYCD), + [KEY_PAUSECD] = XLAT(KEY_PAUSECD), + [KEY_PROG3] = XLAT(KEY_PROG3), + [KEY_PROG4] = XLAT(KEY_PROG4), + [KEY_DASHBOARD] = XLAT(KEY_DASHBOARD), + [KEY_SUSPEND] = XLAT(KEY_SUSPEND), + [KEY_CLOSE] = XLAT(KEY_CLOSE), + [KEY_PLAY] = XLAT(KEY_PLAY), + [KEY_FASTFORWARD] = XLAT(KEY_FASTFORWARD), + [KEY_BASSBOOST] = XLAT(KEY_BASSBOOST), + [KEY_PRINT] = XLAT(KEY_PRINT), + [KEY_HP] = XLAT(KEY_HP), + [KEY_CAMERA] = XLAT(KEY_CAMERA), + [KEY_SOUND] = XLAT(KEY_SOUND), + [KEY_QUESTION] = XLAT(KEY_QUESTION), + [KEY_EMAIL] = XLAT(KEY_EMAIL), + [KEY_CHAT] = XLAT(KEY_CHAT), + [KEY_SEARCH] = XLAT(KEY_SEARCH), + [KEY_CONNECT] = XLAT(KEY_CONNECT), + [KEY_FINANCE] = XLAT(KEY_FINANCE), + [KEY_SPORT] = XLAT(KEY_SPORT), + [KEY_SHOP] = XLAT(KEY_SHOP), + [KEY_ALTERASE] = XLAT(KEY_ALTERASE), + [KEY_CANCEL] = XLAT(KEY_CANCEL), + [KEY_BRIGHTNESSDOWN] = XLAT(KEY_BRIGHTNESSDOWN), + [KEY_BRIGHTNESSUP] = XLAT(KEY_BRIGHTNESSUP), + [KEY_MEDIA] = XLAT(KEY_MEDIA), - 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), + [KEY_SWITCHVIDEOMODE] = XLAT(KEY_SWITCHVIDEOMODE), - XLAT(KEY_SWITCHVIDEOMODE), + [KEY_KBDILLUMTOGGLE] = XLAT(KEY_KBDILLUMTOGGLE), + [KEY_KBDILLUMDOWN] = XLAT(KEY_KBDILLUMDOWN), + [KEY_KBDILLUMUP] = XLAT(KEY_KBDILLUMUP), - XLAT(KEY_KBDILLUMTOGGLE), - XLAT(KEY_KBDILLUMDOWN), - XLAT(KEY_KBDILLUMUP), + [KEY_SEND] = XLAT(KEY_SEND), + [KEY_REPLY] = XLAT(KEY_REPLY), + [KEY_FORWARDMAIL] = XLAT(KEY_FORWARDMAIL), + [KEY_SAVE] = XLAT(KEY_SAVE), + [KEY_DOCUMENTS] = XLAT(KEY_DOCUMENTS), - XLAT(KEY_SEND), - XLAT(KEY_REPLY), - XLAT(KEY_FORWARDMAIL), - XLAT(KEY_SAVE), - XLAT(KEY_DOCUMENTS), + [KEY_BATTERY] = XLAT(KEY_BATTERY), - XLAT(KEY_BATTERY), + [KEY_BLUETOOTH] = XLAT(KEY_BLUETOOTH), + [KEY_WLAN] = XLAT(KEY_WLAN), + [KEY_UWB] = XLAT(KEY_UWB), - XLAT(KEY_BLUETOOTH), - XLAT(KEY_WLAN), - XLAT(KEY_UWB), + [KEY_UNKNOWN] = XLAT(KEY_UNKNOWN), - XLAT(KEY_UNKNOWN), + [KEY_VIDEO_NEXT] = XLAT(KEY_VIDEO_NEXT), + [KEY_VIDEO_PREV] = XLAT(KEY_VIDEO_PREV), + [KEY_BRIGHTNESS_CYCLE] = XLAT(KEY_BRIGHTNESS_CYCLE), + [KEY_BRIGHTNESS_AUTO] = XLAT(KEY_BRIGHTNESS_AUTO), + [KEY_DISPLAY_OFF] = XLAT(KEY_DISPLAY_OFF), - XLAT(KEY_VIDEO_NEXT), - XLAT(KEY_VIDEO_PREV), - XLAT(KEY_BRIGHTNESS_CYCLE), - XLAT(KEY_BRIGHTNESS_AUTO), - XLAT(KEY_DISPLAY_OFF), + [KEY_WWAN] = XLAT(KEY_WWAN), - XLAT(KEY_WWAN), - XLAT(KEY_RFKILL), +#ifndef STRACE_WORKAROUND_FOR_KEY_RFKILL +# define STRACE_WORKAROUND_FOR_KEY_RFKILL +/* +* KEY_RFKILL and KEY_NUMERIC_A constants were introduced by Linux kernel +* commits v2.6.33~17^2~2 and v4.1-rc1~150^2~1^10~6, respectively. +* Apparently, RHEL6 introduced an alternative KEY_RFKILL constant +* with the same value as upstream KEY_NUMERIC_A. +* Downstream vendors are *not* allowed to do this. +* Ignore the system value of KEY_RFKILL. +*/ +# undef KEY_RFKILL +#endif + [KEY_RFKILL] = XLAT(KEY_RFKILL), - XLAT(KEY_MICMUTE), + [KEY_MICMUTE] = 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), + [BTN_0] = XLAT(BTN_0), + [BTN_1] = XLAT(BTN_1), + [BTN_2] = XLAT(BTN_2), + [BTN_3] = XLAT(BTN_3), + [BTN_4] = XLAT(BTN_4), + [BTN_5] = XLAT(BTN_5), + [BTN_6] = XLAT(BTN_6), + [BTN_7] = XLAT(BTN_7), + [BTN_8] = XLAT(BTN_8), + [BTN_9] = 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), + [BTN_LEFT] = XLAT(BTN_LEFT), + [BTN_RIGHT] = XLAT(BTN_RIGHT), + [BTN_MIDDLE] = XLAT(BTN_MIDDLE), + [BTN_SIDE] = XLAT(BTN_SIDE), + [BTN_EXTRA] = XLAT(BTN_EXTRA), + [BTN_FORWARD] = XLAT(BTN_FORWARD), + [BTN_BACK] = XLAT(BTN_BACK), + [BTN_TASK] = 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), + [BTN_TRIGGER] = XLAT(BTN_TRIGGER), + [BTN_THUMB] = XLAT(BTN_THUMB), + [BTN_THUMB2] = XLAT(BTN_THUMB2), + [BTN_TOP] = XLAT(BTN_TOP), + [BTN_TOP2] = XLAT(BTN_TOP2), + [BTN_PINKIE] = XLAT(BTN_PINKIE), + [BTN_BASE] = XLAT(BTN_BASE), + [BTN_BASE2] = XLAT(BTN_BASE2), + [BTN_BASE3] = XLAT(BTN_BASE3), + [BTN_BASE4] = XLAT(BTN_BASE4), + [BTN_BASE5] = XLAT(BTN_BASE5), + [BTN_BASE6] = XLAT(BTN_BASE6), + [BTN_DEAD] = 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), + [BTN_SOUTH] = XLAT(BTN_SOUTH), + [BTN_EAST] = XLAT(BTN_EAST), + [BTN_C] = XLAT(BTN_C), + [BTN_NORTH] = XLAT(BTN_NORTH), + [BTN_WEST] = XLAT(BTN_WEST), + [BTN_Z] = XLAT(BTN_Z), + [BTN_TL] = XLAT(BTN_TL), + [BTN_TR] = XLAT(BTN_TR), + [BTN_TL2] = XLAT(BTN_TL2), + [BTN_TR2] = XLAT(BTN_TR2), + [BTN_SELECT] = XLAT(BTN_SELECT), + [BTN_START] = XLAT(BTN_START), + [BTN_MODE] = XLAT(BTN_MODE), + [BTN_THUMBL] = XLAT(BTN_THUMBL), + [BTN_THUMBR] = 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), + [BTN_TOOL_PEN] = XLAT(BTN_TOOL_PEN), + [BTN_TOOL_RUBBER] = XLAT(BTN_TOOL_RUBBER), + [BTN_TOOL_BRUSH] = XLAT(BTN_TOOL_BRUSH), + [BTN_TOOL_PENCIL] = XLAT(BTN_TOOL_PENCIL), + [BTN_TOOL_AIRBRUSH] = XLAT(BTN_TOOL_AIRBRUSH), + [BTN_TOOL_FINGER] = XLAT(BTN_TOOL_FINGER), + [BTN_TOOL_MOUSE] = XLAT(BTN_TOOL_MOUSE), + [BTN_TOOL_LENS] = XLAT(BTN_TOOL_LENS), + [BTN_TOOL_QUINTTAP] = XLAT(BTN_TOOL_QUINTTAP), + [BTN_STYLUS3] = XLAT(BTN_STYLUS3), + [BTN_TOUCH] = XLAT(BTN_TOUCH), + [BTN_STYLUS] = XLAT(BTN_STYLUS), + [BTN_STYLUS2] = XLAT(BTN_STYLUS2), + [BTN_TOOL_DOUBLETAP] = XLAT(BTN_TOOL_DOUBLETAP), + [BTN_TOOL_TRIPLETAP] = XLAT(BTN_TOOL_TRIPLETAP), + [BTN_TOOL_QUADTAP] = XLAT(BTN_TOOL_QUADTAP), - XLAT(BTN_WHEEL), - XLAT(BTN_GEAR_DOWN), - XLAT(BTN_GEAR_UP), + [BTN_GEAR_DOWN] = XLAT(BTN_GEAR_DOWN), + [BTN_GEAR_UP] = 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), + [KEY_OK] = XLAT(KEY_OK), + [KEY_SELECT] = XLAT(KEY_SELECT), + [KEY_GOTO] = XLAT(KEY_GOTO), + [KEY_CLEAR] = XLAT(KEY_CLEAR), + [KEY_POWER2] = XLAT(KEY_POWER2), + [KEY_OPTION] = XLAT(KEY_OPTION), + [KEY_INFO] = XLAT(KEY_INFO), + [KEY_TIME] = XLAT(KEY_TIME), + [KEY_VENDOR] = XLAT(KEY_VENDOR), + [KEY_ARCHIVE] = XLAT(KEY_ARCHIVE), + [KEY_PROGRAM] = XLAT(KEY_PROGRAM), + [KEY_CHANNEL] = XLAT(KEY_CHANNEL), + [KEY_FAVORITES] = XLAT(KEY_FAVORITES), + [KEY_EPG] = XLAT(KEY_EPG), + [KEY_PVR] = XLAT(KEY_PVR), + [KEY_MHP] = XLAT(KEY_MHP), + [KEY_LANGUAGE] = XLAT(KEY_LANGUAGE), + [KEY_TITLE] = XLAT(KEY_TITLE), + [KEY_SUBTITLE] = XLAT(KEY_SUBTITLE), + [KEY_ANGLE] = XLAT(KEY_ANGLE), + [KEY_ZOOM] = XLAT(KEY_ZOOM), + [KEY_MODE] = XLAT(KEY_MODE), + [KEY_KEYBOARD] = XLAT(KEY_KEYBOARD), + [KEY_SCREEN] = XLAT(KEY_SCREEN), + [KEY_PC] = XLAT(KEY_PC), + [KEY_TV] = XLAT(KEY_TV), + [KEY_TV2] = XLAT(KEY_TV2), + [KEY_VCR] = XLAT(KEY_VCR), + [KEY_VCR2] = XLAT(KEY_VCR2), + [KEY_SAT] = XLAT(KEY_SAT), + [KEY_SAT2] = XLAT(KEY_SAT2), + [KEY_CD] = XLAT(KEY_CD), + [KEY_TAPE] = XLAT(KEY_TAPE), + [KEY_RADIO] = XLAT(KEY_RADIO), + [KEY_TUNER] = XLAT(KEY_TUNER), + [KEY_PLAYER] = XLAT(KEY_PLAYER), + [KEY_TEXT] = XLAT(KEY_TEXT), + [KEY_DVD] = XLAT(KEY_DVD), + [KEY_AUX] = XLAT(KEY_AUX), + [KEY_MP3] = XLAT(KEY_MP3), + [KEY_AUDIO] = XLAT(KEY_AUDIO), + [KEY_VIDEO] = XLAT(KEY_VIDEO), + [KEY_DIRECTORY] = XLAT(KEY_DIRECTORY), + [KEY_LIST] = XLAT(KEY_LIST), + [KEY_MEMO] = XLAT(KEY_MEMO), + [KEY_CALENDAR] = XLAT(KEY_CALENDAR), + [KEY_RED] = XLAT(KEY_RED), + [KEY_GREEN] = XLAT(KEY_GREEN), + [KEY_YELLOW] = XLAT(KEY_YELLOW), + [KEY_BLUE] = XLAT(KEY_BLUE), + [KEY_CHANNELUP] = XLAT(KEY_CHANNELUP), + [KEY_CHANNELDOWN] = XLAT(KEY_CHANNELDOWN), + [KEY_FIRST] = XLAT(KEY_FIRST), + [KEY_LAST] = XLAT(KEY_LAST), + [KEY_AB] = XLAT(KEY_AB), + [KEY_NEXT] = XLAT(KEY_NEXT), + [KEY_RESTART] = XLAT(KEY_RESTART), + [KEY_SLOW] = XLAT(KEY_SLOW), + [KEY_SHUFFLE] = XLAT(KEY_SHUFFLE), + [KEY_BREAK] = XLAT(KEY_BREAK), + [KEY_PREVIOUS] = XLAT(KEY_PREVIOUS), + [KEY_DIGITS] = XLAT(KEY_DIGITS), + [KEY_TEEN] = XLAT(KEY_TEEN), + [KEY_TWEN] = XLAT(KEY_TWEN), + [KEY_VIDEOPHONE] = XLAT(KEY_VIDEOPHONE), + [KEY_GAMES] = XLAT(KEY_GAMES), + [KEY_ZOOMIN] = XLAT(KEY_ZOOMIN), + [KEY_ZOOMOUT] = XLAT(KEY_ZOOMOUT), + [KEY_ZOOMRESET] = XLAT(KEY_ZOOMRESET), + [KEY_WORDPROCESSOR] = XLAT(KEY_WORDPROCESSOR), + [KEY_EDITOR] = XLAT(KEY_EDITOR), + [KEY_SPREADSHEET] = XLAT(KEY_SPREADSHEET), + [KEY_GRAPHICSEDITOR] = XLAT(KEY_GRAPHICSEDITOR), + [KEY_PRESENTATION] = XLAT(KEY_PRESENTATION), + [KEY_DATABASE] = XLAT(KEY_DATABASE), + [KEY_NEWS] = XLAT(KEY_NEWS), + [KEY_VOICEMAIL] = XLAT(KEY_VOICEMAIL), + [KEY_ADDRESSBOOK] = XLAT(KEY_ADDRESSBOOK), + [KEY_MESSENGER] = XLAT(KEY_MESSENGER), + [KEY_DISPLAYTOGGLE] = XLAT(KEY_DISPLAYTOGGLE), + [KEY_SPELLCHECK] = XLAT(KEY_SPELLCHECK), + [KEY_LOGOFF] = XLAT(KEY_LOGOFF), - XLAT(KEY_DOLLAR), - XLAT(KEY_EURO), + [KEY_DOLLAR] = XLAT(KEY_DOLLAR), + [KEY_EURO] = 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), + [KEY_FRAMEBACK] = XLAT(KEY_FRAMEBACK), + [KEY_FRAMEFORWARD] = XLAT(KEY_FRAMEFORWARD), + [KEY_CONTEXT_MENU] = XLAT(KEY_CONTEXT_MENU), + [KEY_MEDIA_REPEAT] = XLAT(KEY_MEDIA_REPEAT), + [KEY_10CHANNELSUP] = XLAT(KEY_10CHANNELSUP), + [KEY_10CHANNELSDOWN] = XLAT(KEY_10CHANNELSDOWN), + [KEY_IMAGES] = XLAT(KEY_IMAGES), - XLAT(KEY_DEL_EOL), - XLAT(KEY_DEL_EOS), - XLAT(KEY_INS_LINE), - XLAT(KEY_DEL_LINE), + [KEY_DEL_EOL] = XLAT(KEY_DEL_EOL), + [KEY_DEL_EOS] = XLAT(KEY_DEL_EOS), + [KEY_INS_LINE] = XLAT(KEY_INS_LINE), + [KEY_DEL_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), + [KEY_FN] = XLAT(KEY_FN), + [KEY_FN_ESC] = XLAT(KEY_FN_ESC), + [KEY_FN_F1] = XLAT(KEY_FN_F1), + [KEY_FN_F2] = XLAT(KEY_FN_F2), + [KEY_FN_F3] = XLAT(KEY_FN_F3), + [KEY_FN_F4] = XLAT(KEY_FN_F4), + [KEY_FN_F5] = XLAT(KEY_FN_F5), + [KEY_FN_F6] = XLAT(KEY_FN_F6), + [KEY_FN_F7] = XLAT(KEY_FN_F7), + [KEY_FN_F8] = XLAT(KEY_FN_F8), + [KEY_FN_F9] = XLAT(KEY_FN_F9), + [KEY_FN_F10] = XLAT(KEY_FN_F10), + [KEY_FN_F11] = XLAT(KEY_FN_F11), + [KEY_FN_F12] = XLAT(KEY_FN_F12), + [KEY_FN_1] = XLAT(KEY_FN_1), + [KEY_FN_2] = XLAT(KEY_FN_2), + [KEY_FN_D] = XLAT(KEY_FN_D), + [KEY_FN_E] = XLAT(KEY_FN_E), + [KEY_FN_F] = XLAT(KEY_FN_F), + [KEY_FN_S] = XLAT(KEY_FN_S), + [KEY_FN_B] = 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), + [KEY_BRL_DOT1] = XLAT(KEY_BRL_DOT1), + [KEY_BRL_DOT2] = XLAT(KEY_BRL_DOT2), + [KEY_BRL_DOT3] = XLAT(KEY_BRL_DOT3), + [KEY_BRL_DOT4] = XLAT(KEY_BRL_DOT4), + [KEY_BRL_DOT5] = XLAT(KEY_BRL_DOT5), + [KEY_BRL_DOT6] = XLAT(KEY_BRL_DOT6), + [KEY_BRL_DOT7] = XLAT(KEY_BRL_DOT7), + [KEY_BRL_DOT8] = XLAT(KEY_BRL_DOT8), + [KEY_BRL_DOT9] = XLAT(KEY_BRL_DOT9), + [KEY_BRL_DOT10] = 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), + [KEY_NUMERIC_0] = XLAT(KEY_NUMERIC_0), + [KEY_NUMERIC_1] = XLAT(KEY_NUMERIC_1), + [KEY_NUMERIC_2] = XLAT(KEY_NUMERIC_2), + [KEY_NUMERIC_3] = XLAT(KEY_NUMERIC_3), + [KEY_NUMERIC_4] = XLAT(KEY_NUMERIC_4), + [KEY_NUMERIC_5] = XLAT(KEY_NUMERIC_5), + [KEY_NUMERIC_6] = XLAT(KEY_NUMERIC_6), + [KEY_NUMERIC_7] = XLAT(KEY_NUMERIC_7), + [KEY_NUMERIC_8] = XLAT(KEY_NUMERIC_8), + [KEY_NUMERIC_9] = XLAT(KEY_NUMERIC_9), + [KEY_NUMERIC_STAR] = XLAT(KEY_NUMERIC_STAR), + [KEY_NUMERIC_POUND] = XLAT(KEY_NUMERIC_POUND), + [KEY_NUMERIC_A] = XLAT(KEY_NUMERIC_A), + [KEY_NUMERIC_B] = XLAT(KEY_NUMERIC_B), + [KEY_NUMERIC_C] = XLAT(KEY_NUMERIC_C), + [KEY_NUMERIC_D] = XLAT(KEY_NUMERIC_D), - XLAT(KEY_CAMERA_FOCUS), - XLAT(KEY_WPS_BUTTON), + [KEY_CAMERA_FOCUS] = XLAT(KEY_CAMERA_FOCUS), + [KEY_WPS_BUTTON] = XLAT(KEY_WPS_BUTTON), - XLAT(KEY_TOUCHPAD_TOGGLE), - XLAT(KEY_TOUCHPAD_ON), - XLAT(KEY_TOUCHPAD_OFF), + [KEY_TOUCHPAD_TOGGLE] = XLAT(KEY_TOUCHPAD_TOGGLE), + [KEY_TOUCHPAD_ON] = XLAT(KEY_TOUCHPAD_ON), + [KEY_TOUCHPAD_OFF] = 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), + [KEY_CAMERA_ZOOMIN] = XLAT(KEY_CAMERA_ZOOMIN), + [KEY_CAMERA_ZOOMOUT] = XLAT(KEY_CAMERA_ZOOMOUT), + [KEY_CAMERA_UP] = XLAT(KEY_CAMERA_UP), + [KEY_CAMERA_DOWN] = XLAT(KEY_CAMERA_DOWN), + [KEY_CAMERA_LEFT] = XLAT(KEY_CAMERA_LEFT), + [KEY_CAMERA_RIGHT] = XLAT(KEY_CAMERA_RIGHT), - XLAT(KEY_ATTENDANT_ON), - XLAT(KEY_ATTENDANT_OFF), - XLAT(KEY_ATTENDANT_TOGGLE), - XLAT(KEY_LIGHTS_TOGGLE), + [KEY_ATTENDANT_ON] = XLAT(KEY_ATTENDANT_ON), + [KEY_ATTENDANT_OFF] = XLAT(KEY_ATTENDANT_OFF), + [KEY_ATTENDANT_TOGGLE] = XLAT(KEY_ATTENDANT_TOGGLE), + [KEY_LIGHTS_TOGGLE] = XLAT(KEY_LIGHTS_TOGGLE), - XLAT(BTN_DPAD_UP), - XLAT(BTN_DPAD_DOWN), - XLAT(BTN_DPAD_LEFT), - XLAT(BTN_DPAD_RIGHT), + [BTN_DPAD_UP] = XLAT(BTN_DPAD_UP), + [BTN_DPAD_DOWN] = XLAT(BTN_DPAD_DOWN), + [BTN_DPAD_LEFT] = XLAT(BTN_DPAD_LEFT), + [BTN_DPAD_RIGHT] = XLAT(BTN_DPAD_RIGHT), - XLAT(KEY_ALS_TOGGLE), - XLAT(KEY_ROTATE_LOCK_TOGGLE), + [KEY_ALS_TOGGLE] = XLAT(KEY_ALS_TOGGLE), + [KEY_ROTATE_LOCK_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), + [KEY_BUTTONCONFIG] = XLAT(KEY_BUTTONCONFIG), + [KEY_TASKMANAGER] = XLAT(KEY_TASKMANAGER), + [KEY_JOURNAL] = XLAT(KEY_JOURNAL), + [KEY_CONTROLPANEL] = XLAT(KEY_CONTROLPANEL), + [KEY_APPSELECT] = XLAT(KEY_APPSELECT), + [KEY_SCREENSAVER] = XLAT(KEY_SCREENSAVER), + [KEY_VOICECOMMAND] = XLAT(KEY_VOICECOMMAND), + [KEY_ASSISTANT] = XLAT(KEY_ASSISTANT), - XLAT(KEY_BRIGHTNESS_MIN), - XLAT(KEY_BRIGHTNESS_MAX), +#ifndef STRACE_WORKAROUND_FOR_KEY_BRIGHTNESS_MIN +# define STRACE_WORKAROUND_FOR_KEY_BRIGHTNESS_MIN +/* +* KEY_BRIGHTNESS_MIN and KEY_BRIGHTNESS_MAX constants were introduced +* by Linux kernel commit v3.16-rc1~30^2~6^2~1^2~7. +* Apparently, RHEL7 introduced an alternative KEY_BRIGHTNESS_MIN constant +* with the same value as upstream KEY_BRIGHTNESS_MAX. +* Downstream vendors are *not* allowed to do this. +* Ignore the system value of KEY_BRIGHTNESS_MIN. +*/ +# undef KEY_BRIGHTNESS_MIN +#endif + [KEY_BRIGHTNESS_MIN] = XLAT(KEY_BRIGHTNESS_MIN), - XLAT(KEY_KBDINPUTASSIST_PREV), - XLAT(KEY_KBDINPUTASSIST_NEXT), - XLAT(KEY_KBDINPUTASSIST_PREVGROUP), - XLAT(KEY_KBDINPUTASSIST_NEXTGROUP), - XLAT(KEY_KBDINPUTASSIST_ACCEPT), - XLAT(KEY_KBDINPUTASSIST_CANCEL), + [KEY_BRIGHTNESS_MAX] = XLAT(KEY_BRIGHTNESS_MAX), - XLAT(KEY_RIGHT_UP), - XLAT(KEY_RIGHT_DOWN), - XLAT(KEY_LEFT_UP), - XLAT(KEY_LEFT_DOWN), + [KEY_KBDINPUTASSIST_PREV] = XLAT(KEY_KBDINPUTASSIST_PREV), + [KEY_KBDINPUTASSIST_NEXT] = XLAT(KEY_KBDINPUTASSIST_NEXT), + [KEY_KBDINPUTASSIST_PREVGROUP] = XLAT(KEY_KBDINPUTASSIST_PREVGROUP), + [KEY_KBDINPUTASSIST_NEXTGROUP] = XLAT(KEY_KBDINPUTASSIST_NEXTGROUP), + [KEY_KBDINPUTASSIST_ACCEPT] = XLAT(KEY_KBDINPUTASSIST_ACCEPT), + [KEY_KBDINPUTASSIST_CANCEL] = XLAT(KEY_KBDINPUTASSIST_CANCEL), - XLAT(KEY_ROOT_MENU), - XLAT(KEY_MEDIA_TOP_MENU), - XLAT(KEY_NUMERIC_11), - XLAT(KEY_NUMERIC_12), + [KEY_RIGHT_UP] = XLAT(KEY_RIGHT_UP), + [KEY_RIGHT_DOWN] = XLAT(KEY_RIGHT_DOWN), + [KEY_LEFT_UP] = XLAT(KEY_LEFT_UP), + [KEY_LEFT_DOWN] = XLAT(KEY_LEFT_DOWN), - 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), + [KEY_ROOT_MENU] = XLAT(KEY_ROOT_MENU), + [KEY_MEDIA_TOP_MENU] = XLAT(KEY_MEDIA_TOP_MENU), + [KEY_NUMERIC_11] = XLAT(KEY_NUMERIC_11), + [KEY_NUMERIC_12] = XLAT(KEY_NUMERIC_12), - 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), + [KEY_AUDIO_DESC] = XLAT(KEY_AUDIO_DESC), + [KEY_3D_MODE] = XLAT(KEY_3D_MODE), + [KEY_NEXT_FAVORITE] = XLAT(KEY_NEXT_FAVORITE), + [KEY_STOP_RECORD] = XLAT(KEY_STOP_RECORD), + [KEY_PAUSE_RECORD] = XLAT(KEY_PAUSE_RECORD), + [KEY_VOD] = XLAT(KEY_VOD), + [KEY_UNMUTE] = XLAT(KEY_UNMUTE), + [KEY_FASTREVERSE] = XLAT(KEY_FASTREVERSE), + [KEY_SLOWREVERSE] = XLAT(KEY_SLOWREVERSE), + +#ifndef STRACE_WORKAROUND_FOR_KEY_DATA +# define STRACE_WORKAROUND_FOR_KEY_DATA +/* +* Linux kernel commit v4.9-rc8~12^2 has changed the value of KEY_DATA +* constant introduced by commit v4.7-rc6~32^2~6^2 because the old value +* was already used by KEY_FASTREVERSE. +* Looks like the best way to handle this situation is to pretend that +* the old value of KEY_DATA didn't exist. +*/ +# undef KEY_DATA +#endif + [KEY_DATA] = XLAT(KEY_DATA), + + [KEY_ONSCREEN_KEYBOARD] = XLAT(KEY_ONSCREEN_KEYBOARD), + + [BTN_TRIGGER_HAPPY1] = XLAT(BTN_TRIGGER_HAPPY1), + [BTN_TRIGGER_HAPPY2] = XLAT(BTN_TRIGGER_HAPPY2), + [BTN_TRIGGER_HAPPY3] = XLAT(BTN_TRIGGER_HAPPY3), + [BTN_TRIGGER_HAPPY4] = XLAT(BTN_TRIGGER_HAPPY4), + [BTN_TRIGGER_HAPPY5] = XLAT(BTN_TRIGGER_HAPPY5), + [BTN_TRIGGER_HAPPY6] = XLAT(BTN_TRIGGER_HAPPY6), + [BTN_TRIGGER_HAPPY7] = XLAT(BTN_TRIGGER_HAPPY7), + [BTN_TRIGGER_HAPPY8] = XLAT(BTN_TRIGGER_HAPPY8), + [BTN_TRIGGER_HAPPY9] = XLAT(BTN_TRIGGER_HAPPY9), + [BTN_TRIGGER_HAPPY10] = XLAT(BTN_TRIGGER_HAPPY10), + [BTN_TRIGGER_HAPPY11] = XLAT(BTN_TRIGGER_HAPPY11), + [BTN_TRIGGER_HAPPY12] = XLAT(BTN_TRIGGER_HAPPY12), + [BTN_TRIGGER_HAPPY13] = XLAT(BTN_TRIGGER_HAPPY13), + [BTN_TRIGGER_HAPPY14] = XLAT(BTN_TRIGGER_HAPPY14), + [BTN_TRIGGER_HAPPY15] = XLAT(BTN_TRIGGER_HAPPY15), + [BTN_TRIGGER_HAPPY16] = XLAT(BTN_TRIGGER_HAPPY16), + [BTN_TRIGGER_HAPPY17] = XLAT(BTN_TRIGGER_HAPPY17), + [BTN_TRIGGER_HAPPY18] = XLAT(BTN_TRIGGER_HAPPY18), + [BTN_TRIGGER_HAPPY19] = XLAT(BTN_TRIGGER_HAPPY19), + [BTN_TRIGGER_HAPPY20] = XLAT(BTN_TRIGGER_HAPPY20), + [BTN_TRIGGER_HAPPY21] = XLAT(BTN_TRIGGER_HAPPY21), + [BTN_TRIGGER_HAPPY22] = XLAT(BTN_TRIGGER_HAPPY22), + [BTN_TRIGGER_HAPPY23] = XLAT(BTN_TRIGGER_HAPPY23), + [BTN_TRIGGER_HAPPY24] = XLAT(BTN_TRIGGER_HAPPY24), + [BTN_TRIGGER_HAPPY25] = XLAT(BTN_TRIGGER_HAPPY25), + [BTN_TRIGGER_HAPPY26] = XLAT(BTN_TRIGGER_HAPPY26), + [BTN_TRIGGER_HAPPY27] = XLAT(BTN_TRIGGER_HAPPY27), + [BTN_TRIGGER_HAPPY28] = XLAT(BTN_TRIGGER_HAPPY28), + [BTN_TRIGGER_HAPPY29] = XLAT(BTN_TRIGGER_HAPPY29), + [BTN_TRIGGER_HAPPY30] = XLAT(BTN_TRIGGER_HAPPY30), + [BTN_TRIGGER_HAPPY31] = XLAT(BTN_TRIGGER_HAPPY31), + [BTN_TRIGGER_HAPPY32] = XLAT(BTN_TRIGGER_HAPPY32), + [BTN_TRIGGER_HAPPY33] = XLAT(BTN_TRIGGER_HAPPY33), + [BTN_TRIGGER_HAPPY34] = XLAT(BTN_TRIGGER_HAPPY34), + [BTN_TRIGGER_HAPPY35] = XLAT(BTN_TRIGGER_HAPPY35), + [BTN_TRIGGER_HAPPY36] = XLAT(BTN_TRIGGER_HAPPY36), + [BTN_TRIGGER_HAPPY37] = XLAT(BTN_TRIGGER_HAPPY37), + [BTN_TRIGGER_HAPPY38] = XLAT(BTN_TRIGGER_HAPPY38), + [BTN_TRIGGER_HAPPY39] = XLAT(BTN_TRIGGER_HAPPY39), + [BTN_TRIGGER_HAPPY40] = XLAT(BTN_TRIGGER_HAPPY40), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_keycode.in b/xlat/evdev_keycode.in index c0811ba1..08fb5d10 100644 --- a/xlat/evdev_keycode.in +++ b/xlat/evdev_keycode.in @@ -1,3 +1,4 @@ +#value_indexed /* 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 @@ -253,6 +254,19 @@ KEY_BRIGHTNESS_AUTO 244 KEY_DISPLAY_OFF 245 KEY_WWAN 246 + +#ifndef STRACE_WORKAROUND_FOR_KEY_RFKILL +# define STRACE_WORKAROUND_FOR_KEY_RFKILL +/* + * KEY_RFKILL and KEY_NUMERIC_A constants were introduced by Linux kernel + * commits v2.6.33~17^2~2 and v4.1-rc1~150^2~1^10~6, respectively. + * Apparently, RHEL6 introduced an alternative KEY_RFKILL constant + * with the same value as upstream KEY_NUMERIC_A. + * Downstream vendors are *not* allowed to do this. + * Ignore the system value of KEY_RFKILL. + */ +# undef KEY_RFKILL +#endif KEY_RFKILL 247 KEY_MICMUTE 248 @@ -268,7 +282,6 @@ BTN_7 0x107 BTN_8 0x108 BTN_9 0x109 -BTN_MOUSE 0x110 BTN_LEFT 0x110 BTN_RIGHT 0x111 BTN_MIDDLE 0x112 @@ -278,7 +291,6 @@ BTN_FORWARD 0x115 BTN_BACK 0x116 BTN_TASK 0x117 -BTN_JOYSTICK 0x120 BTN_TRIGGER 0x120 BTN_THUMB 0x121 BTN_THUMB2 0x122 @@ -293,7 +305,6 @@ BTN_BASE5 0x12a BTN_BASE6 0x12b BTN_DEAD 0x12f -BTN_GAMEPAD 0x130 BTN_SOUTH 0x130 BTN_EAST 0x131 BTN_C 0x132 @@ -310,7 +321,6 @@ BTN_MODE 0x13c BTN_THUMBL 0x13d BTN_THUMBR 0x13e -BTN_DIGI 0x140 BTN_TOOL_PEN 0x140 BTN_TOOL_RUBBER 0x141 BTN_TOOL_BRUSH 0x142 @@ -328,7 +338,6 @@ BTN_TOOL_DOUBLETAP 0x14d BTN_TOOL_TRIPLETAP 0x14e BTN_TOOL_QUADTAP 0x14f -BTN_WHEEL 0x150 BTN_GEAR_DOWN 0x150 BTN_GEAR_UP 0x151 @@ -517,7 +526,20 @@ KEY_SCREENSAVER 0x245 KEY_VOICECOMMAND 0x246 KEY_ASSISTANT 0x247 +#ifndef STRACE_WORKAROUND_FOR_KEY_BRIGHTNESS_MIN +# define STRACE_WORKAROUND_FOR_KEY_BRIGHTNESS_MIN +/* + * KEY_BRIGHTNESS_MIN and KEY_BRIGHTNESS_MAX constants were introduced + * by Linux kernel commit v3.16-rc1~30^2~6^2~1^2~7. + * Apparently, RHEL7 introduced an alternative KEY_BRIGHTNESS_MIN constant + * with the same value as upstream KEY_BRIGHTNESS_MAX. + * Downstream vendors are *not* allowed to do this. + * Ignore the system value of KEY_BRIGHTNESS_MIN. + */ +# undef KEY_BRIGHTNESS_MIN +#endif KEY_BRIGHTNESS_MIN 0x250 + KEY_BRIGHTNESS_MAX 0x251 KEY_KBDINPUTASSIST_PREV 0x260 @@ -546,10 +568,22 @@ KEY_VOD 0x273 KEY_UNMUTE 0x274 KEY_FASTREVERSE 0x275 KEY_SLOWREVERSE 0x276 + +#ifndef STRACE_WORKAROUND_FOR_KEY_DATA +# define STRACE_WORKAROUND_FOR_KEY_DATA +/* + * Linux kernel commit v4.9-rc8~12^2 has changed the value of KEY_DATA + * constant introduced by commit v4.7-rc6~32^2~6^2 because the old value + * was already used by KEY_FASTREVERSE. + * Looks like the best way to handle this situation is to pretend that + * the old value of KEY_DATA didn't exist. + */ +# undef KEY_DATA +#endif KEY_DATA 0x277 + KEY_ONSCREEN_KEYBOARD 0x278 -BTN_TRIGGER_HAPPY 0x2c0 BTN_TRIGGER_HAPPY1 0x2c0 BTN_TRIGGER_HAPPY2 0x2c1 BTN_TRIGGER_HAPPY3 0x2c2 diff --git a/xlat/evdev_leds.h b/xlat/evdev_leds.h index ca0de388..09dc0665 100644 --- a/xlat/evdev_leds.h +++ b/xlat/evdev_leds.h @@ -1,47 +1,110 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_leds.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_leds in mpers mode - -#else - -static -const struct xlat evdev_leds[] = { #if defined(LED_NUML) || (defined(HAVE_DECL_LED_NUML) && HAVE_DECL_LED_NUML) - XLAT(LED_NUML), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_NUML) == (0x00), "LED_NUML != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_NUML 0x00 #endif #if defined(LED_CAPSL) || (defined(HAVE_DECL_LED_CAPSL) && HAVE_DECL_LED_CAPSL) - XLAT(LED_CAPSL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_CAPSL) == (0x01), "LED_CAPSL != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_CAPSL 0x01 #endif #if defined(LED_SCROLLL) || (defined(HAVE_DECL_LED_SCROLLL) && HAVE_DECL_LED_SCROLLL) - XLAT(LED_SCROLLL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_SCROLLL) == (0x02), "LED_SCROLLL != 0x02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_SCROLLL 0x02 #endif #if defined(LED_COMPOSE) || (defined(HAVE_DECL_LED_COMPOSE) && HAVE_DECL_LED_COMPOSE) - XLAT(LED_COMPOSE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_COMPOSE) == (0x03), "LED_COMPOSE != 0x03"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_COMPOSE 0x03 #endif #if defined(LED_KANA) || (defined(HAVE_DECL_LED_KANA) && HAVE_DECL_LED_KANA) - XLAT(LED_KANA), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_KANA) == (0x04), "LED_KANA != 0x04"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_KANA 0x04 #endif #if defined(LED_SLEEP) || (defined(HAVE_DECL_LED_SLEEP) && HAVE_DECL_LED_SLEEP) - XLAT(LED_SLEEP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_SLEEP) == (0x05), "LED_SLEEP != 0x05"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_SLEEP 0x05 #endif #if defined(LED_SUSPEND) || (defined(HAVE_DECL_LED_SUSPEND) && HAVE_DECL_LED_SUSPEND) - XLAT(LED_SUSPEND), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_SUSPEND) == (0x06), "LED_SUSPEND != 0x06"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_SUSPEND 0x06 #endif #if defined(LED_MUTE) || (defined(HAVE_DECL_LED_MUTE) && HAVE_DECL_LED_MUTE) - XLAT(LED_MUTE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_MUTE) == (0x07), "LED_MUTE != 0x07"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_MUTE 0x07 #endif #if defined(LED_MISC) || (defined(HAVE_DECL_LED_MISC) && HAVE_DECL_LED_MISC) - XLAT(LED_MISC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_MISC) == (0x08), "LED_MISC != 0x08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_MISC 0x08 #endif #if defined(LED_MAIL) || (defined(HAVE_DECL_LED_MAIL) && HAVE_DECL_LED_MAIL) - XLAT(LED_MAIL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_MAIL) == (0x09), "LED_MAIL != 0x09"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_MAIL 0x09 #endif #if defined(LED_CHARGING) || (defined(HAVE_DECL_LED_CHARGING) && HAVE_DECL_LED_CHARGING) - XLAT(LED_CHARGING), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LED_CHARGING) == (0x0a), "LED_CHARGING != 0x0a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LED_CHARGING 0x0a #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_leds in mpers mode + +# else + +static +const struct xlat evdev_leds[] = { + [LED_NUML] = XLAT(LED_NUML), + [LED_CAPSL] = XLAT(LED_CAPSL), + [LED_SCROLLL] = XLAT(LED_SCROLLL), + [LED_COMPOSE] = XLAT(LED_COMPOSE), + [LED_KANA] = XLAT(LED_KANA), + [LED_SLEEP] = XLAT(LED_SLEEP), + [LED_SUSPEND] = XLAT(LED_SUSPEND), + [LED_MUTE] = XLAT(LED_MUTE), + [LED_MISC] = XLAT(LED_MISC), + [LED_MAIL] = XLAT(LED_MAIL), + [LED_CHARGING] = XLAT(LED_CHARGING), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_leds.in b/xlat/evdev_leds.in index c085ed34..6178bbd8 100644 --- a/xlat/evdev_leds.in +++ b/xlat/evdev_leds.in @@ -1,11 +1,12 @@ -LED_NUML -LED_CAPSL -LED_SCROLLL -LED_COMPOSE -LED_KANA -LED_SLEEP -LED_SUSPEND -LED_MUTE -LED_MISC -LED_MAIL -LED_CHARGING +#value_indexed +LED_NUML 0x00 +LED_CAPSL 0x01 +LED_SCROLLL 0x02 +LED_COMPOSE 0x03 +LED_KANA 0x04 +LED_SLEEP 0x05 +LED_SUSPEND 0x06 +LED_MUTE 0x07 +LED_MISC 0x08 +LED_MAIL 0x09 +LED_CHARGING 0x0a diff --git a/xlat/evdev_misc.h b/xlat/evdev_misc.h index 96f8afaa..92c3879c 100644 --- a/xlat/evdev_misc.h +++ b/xlat/evdev_misc.h @@ -1,32 +1,70 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_misc.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_misc in mpers mode - -#else - -static -const struct xlat evdev_misc[] = { #if defined(MSC_SERIAL) || (defined(HAVE_DECL_MSC_SERIAL) && HAVE_DECL_MSC_SERIAL) - XLAT(MSC_SERIAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSC_SERIAL) == (0x00), "MSC_SERIAL != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSC_SERIAL 0x00 #endif #if defined(MSC_PULSELED) || (defined(HAVE_DECL_MSC_PULSELED) && HAVE_DECL_MSC_PULSELED) - XLAT(MSC_PULSELED), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSC_PULSELED) == (0x01), "MSC_PULSELED != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSC_PULSELED 0x01 #endif #if defined(MSC_GESTURE) || (defined(HAVE_DECL_MSC_GESTURE) && HAVE_DECL_MSC_GESTURE) - XLAT(MSC_GESTURE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSC_GESTURE) == (0x02), "MSC_GESTURE != 0x02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSC_GESTURE 0x02 #endif #if defined(MSC_RAW) || (defined(HAVE_DECL_MSC_RAW) && HAVE_DECL_MSC_RAW) - XLAT(MSC_RAW), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSC_RAW) == (0x03), "MSC_RAW != 0x03"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSC_RAW 0x03 #endif #if defined(MSC_SCAN) || (defined(HAVE_DECL_MSC_SCAN) && HAVE_DECL_MSC_SCAN) - XLAT(MSC_SCAN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSC_SCAN) == (0x04), "MSC_SCAN != 0x04"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSC_SCAN 0x04 #endif #if defined(MSC_TIMESTAMP) || (defined(HAVE_DECL_MSC_TIMESTAMP) && HAVE_DECL_MSC_TIMESTAMP) - XLAT(MSC_TIMESTAMP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSC_TIMESTAMP) == (0x05), "MSC_TIMESTAMP != 0x05"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSC_TIMESTAMP 0x05 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_misc in mpers mode + +# else + +static +const struct xlat evdev_misc[] = { + [MSC_SERIAL] = XLAT(MSC_SERIAL), + [MSC_PULSELED] = XLAT(MSC_PULSELED), + [MSC_GESTURE] = XLAT(MSC_GESTURE), + [MSC_RAW] = XLAT(MSC_RAW), + [MSC_SCAN] = XLAT(MSC_SCAN), + [MSC_TIMESTAMP] = XLAT(MSC_TIMESTAMP), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_misc.in b/xlat/evdev_misc.in index 385ee4d1..0528092a 100644 --- a/xlat/evdev_misc.in +++ b/xlat/evdev_misc.in @@ -1,6 +1,7 @@ -MSC_SERIAL -MSC_PULSELED -MSC_GESTURE -MSC_RAW -MSC_SCAN -MSC_TIMESTAMP +#value_indexed +MSC_SERIAL 0x00 +MSC_PULSELED 0x01 +MSC_GESTURE 0x02 +MSC_RAW 0x03 +MSC_SCAN 0x04 +MSC_TIMESTAMP 0x05 diff --git a/xlat/evdev_mtslots.h b/xlat/evdev_mtslots.h index 3633514b..ec6ee61c 100644 --- a/xlat/evdev_mtslots.h +++ b/xlat/evdev_mtslots.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_mtslots.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_mtslots in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_mtslots in mpers mode + +# else static const struct xlat evdev_mtslots[] = { @@ -56,4 +62,6 @@ const struct xlat evdev_mtslots[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_prop.h b/xlat/evdev_prop.h index c998c82a..ea872fbe 100644 --- a/xlat/evdev_prop.h +++ b/xlat/evdev_prop.h @@ -1,35 +1,78 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_prop.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_prop in mpers mode - -#else - -static -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), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((INPUT_PROP_POINTER) == (0), "INPUT_PROP_POINTER != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define INPUT_PROP_POINTER 0 #endif #if defined(INPUT_PROP_DIRECT) || (defined(HAVE_DECL_INPUT_PROP_DIRECT) && HAVE_DECL_INPUT_PROP_DIRECT) - XLAT(INPUT_PROP_DIRECT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((INPUT_PROP_DIRECT) == (1), "INPUT_PROP_DIRECT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define INPUT_PROP_DIRECT 1 #endif #if defined(INPUT_PROP_BUTTONPAD) || (defined(HAVE_DECL_INPUT_PROP_BUTTONPAD) && HAVE_DECL_INPUT_PROP_BUTTONPAD) - XLAT(INPUT_PROP_BUTTONPAD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((INPUT_PROP_BUTTONPAD) == (2), "INPUT_PROP_BUTTONPAD != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define INPUT_PROP_BUTTONPAD 2 #endif #if defined(INPUT_PROP_SEMI_MT) || (defined(HAVE_DECL_INPUT_PROP_SEMI_MT) && HAVE_DECL_INPUT_PROP_SEMI_MT) - XLAT(INPUT_PROP_SEMI_MT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((INPUT_PROP_SEMI_MT) == (3), "INPUT_PROP_SEMI_MT != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define INPUT_PROP_SEMI_MT 3 #endif #if defined(INPUT_PROP_TOPBUTTONPAD) || (defined(HAVE_DECL_INPUT_PROP_TOPBUTTONPAD) && HAVE_DECL_INPUT_PROP_TOPBUTTONPAD) - XLAT(INPUT_PROP_TOPBUTTONPAD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((INPUT_PROP_TOPBUTTONPAD) == (4), "INPUT_PROP_TOPBUTTONPAD != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define INPUT_PROP_TOPBUTTONPAD 4 #endif #if defined(INPUT_PROP_POINTING_STICK) || (defined(HAVE_DECL_INPUT_PROP_POINTING_STICK) && HAVE_DECL_INPUT_PROP_POINTING_STICK) - XLAT(INPUT_PROP_POINTING_STICK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((INPUT_PROP_POINTING_STICK) == (5), "INPUT_PROP_POINTING_STICK != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define INPUT_PROP_POINTING_STICK 5 #endif #if defined(INPUT_PROP_ACCELEROMETER) || (defined(HAVE_DECL_INPUT_PROP_ACCELEROMETER) && HAVE_DECL_INPUT_PROP_ACCELEROMETER) - XLAT(INPUT_PROP_ACCELEROMETER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((INPUT_PROP_ACCELEROMETER) == (6), "INPUT_PROP_ACCELEROMETER != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define INPUT_PROP_ACCELEROMETER 6 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_prop in mpers mode + +# else + +static +const struct xlat evdev_prop[] = { + [INPUT_PROP_POINTER] = XLAT(INPUT_PROP_POINTER), + [INPUT_PROP_DIRECT] = XLAT(INPUT_PROP_DIRECT), + [INPUT_PROP_BUTTONPAD] = XLAT(INPUT_PROP_BUTTONPAD), + [INPUT_PROP_SEMI_MT] = XLAT(INPUT_PROP_SEMI_MT), + [INPUT_PROP_TOPBUTTONPAD] = XLAT(INPUT_PROP_TOPBUTTONPAD), + [INPUT_PROP_POINTING_STICK] = XLAT(INPUT_PROP_POINTING_STICK), + [INPUT_PROP_ACCELEROMETER] = XLAT(INPUT_PROP_ACCELEROMETER), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_prop.in b/xlat/evdev_prop.in index b6590004..5e7d025c 100644 --- a/xlat/evdev_prop.in +++ b/xlat/evdev_prop.in @@ -1,7 +1,8 @@ -INPUT_PROP_POINTER -INPUT_PROP_DIRECT -INPUT_PROP_BUTTONPAD -INPUT_PROP_SEMI_MT -INPUT_PROP_TOPBUTTONPAD -INPUT_PROP_POINTING_STICK -INPUT_PROP_ACCELEROMETER +#value_indexed +INPUT_PROP_POINTER 0 +INPUT_PROP_DIRECT 1 +INPUT_PROP_BUTTONPAD 2 +INPUT_PROP_SEMI_MT 3 +INPUT_PROP_TOPBUTTONPAD 4 +INPUT_PROP_POINTING_STICK 5 +INPUT_PROP_ACCELEROMETER 6 diff --git a/xlat/evdev_relative_axes.h b/xlat/evdev_relative_axes.h index cf9efb4c..60c8abfe 100644 --- a/xlat/evdev_relative_axes.h +++ b/xlat/evdev_relative_axes.h @@ -1,44 +1,102 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_relative_axes.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_relative_axes in mpers mode - -#else - -static -const struct xlat evdev_relative_axes[] = { #if defined(REL_X) || (defined(HAVE_DECL_REL_X) && HAVE_DECL_REL_X) - XLAT(REL_X), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_X) == (0x00), "REL_X != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_X 0x00 #endif #if defined(REL_Y) || (defined(HAVE_DECL_REL_Y) && HAVE_DECL_REL_Y) - XLAT(REL_Y), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_Y) == (0x01), "REL_Y != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_Y 0x01 #endif #if defined(REL_Z) || (defined(HAVE_DECL_REL_Z) && HAVE_DECL_REL_Z) - XLAT(REL_Z), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_Z) == (0x02), "REL_Z != 0x02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_Z 0x02 #endif #if defined(REL_RX) || (defined(HAVE_DECL_REL_RX) && HAVE_DECL_REL_RX) - XLAT(REL_RX), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_RX) == (0x03), "REL_RX != 0x03"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_RX 0x03 #endif #if defined(REL_RY) || (defined(HAVE_DECL_REL_RY) && HAVE_DECL_REL_RY) - XLAT(REL_RY), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_RY) == (0x04), "REL_RY != 0x04"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_RY 0x04 #endif #if defined(REL_RZ) || (defined(HAVE_DECL_REL_RZ) && HAVE_DECL_REL_RZ) - XLAT(REL_RZ), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_RZ) == (0x05), "REL_RZ != 0x05"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_RZ 0x05 #endif #if defined(REL_HWHEEL) || (defined(HAVE_DECL_REL_HWHEEL) && HAVE_DECL_REL_HWHEEL) - XLAT(REL_HWHEEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_HWHEEL) == (0x06), "REL_HWHEEL != 0x06"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_HWHEEL 0x06 #endif #if defined(REL_DIAL) || (defined(HAVE_DECL_REL_DIAL) && HAVE_DECL_REL_DIAL) - XLAT(REL_DIAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_DIAL) == (0x07), "REL_DIAL != 0x07"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_DIAL 0x07 #endif #if defined(REL_WHEEL) || (defined(HAVE_DECL_REL_WHEEL) && HAVE_DECL_REL_WHEEL) - XLAT(REL_WHEEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_WHEEL) == (0x08), "REL_WHEEL != 0x08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_WHEEL 0x08 #endif #if defined(REL_MISC) || (defined(HAVE_DECL_REL_MISC) && HAVE_DECL_REL_MISC) - XLAT(REL_MISC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((REL_MISC) == (0x09), "REL_MISC != 0x09"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define REL_MISC 0x09 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_relative_axes in mpers mode + +# else + +static +const struct xlat evdev_relative_axes[] = { + [REL_X] = XLAT(REL_X), + [REL_Y] = XLAT(REL_Y), + [REL_Z] = XLAT(REL_Z), + [REL_RX] = XLAT(REL_RX), + [REL_RY] = XLAT(REL_RY), + [REL_RZ] = XLAT(REL_RZ), + [REL_HWHEEL] = XLAT(REL_HWHEEL), + [REL_DIAL] = XLAT(REL_DIAL), + [REL_WHEEL] = XLAT(REL_WHEEL), + [REL_MISC] = XLAT(REL_MISC), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_relative_axes.in b/xlat/evdev_relative_axes.in index 7158d47a..4684a524 100644 --- a/xlat/evdev_relative_axes.in +++ b/xlat/evdev_relative_axes.in @@ -1,10 +1,11 @@ -REL_X -REL_Y -REL_Z -REL_RX -REL_RY -REL_RZ -REL_HWHEEL -REL_DIAL -REL_WHEEL -REL_MISC +#value_indexed +REL_X 0x00 +REL_Y 0x01 +REL_Z 0x02 +REL_RX 0x03 +REL_RY 0x04 +REL_RZ 0x05 +REL_HWHEEL 0x06 +REL_DIAL 0x07 +REL_WHEEL 0x08 +REL_MISC 0x09 diff --git a/xlat/evdev_snd.h b/xlat/evdev_snd.h index 95e4cd9b..35d6c448 100644 --- a/xlat/evdev_snd.h +++ b/xlat/evdev_snd.h @@ -1,23 +1,46 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_snd.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_snd in mpers mode - -#else - -static -const struct xlat evdev_snd[] = { #if defined(SND_CLICK) || (defined(HAVE_DECL_SND_CLICK) && HAVE_DECL_SND_CLICK) - XLAT(SND_CLICK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SND_CLICK) == (0x00), "SND_CLICK != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SND_CLICK 0x00 #endif #if defined(SND_BELL) || (defined(HAVE_DECL_SND_BELL) && HAVE_DECL_SND_BELL) - XLAT(SND_BELL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SND_BELL) == (0x01), "SND_BELL != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SND_BELL 0x01 #endif #if defined(SND_TONE) || (defined(HAVE_DECL_SND_TONE) && HAVE_DECL_SND_TONE) - XLAT(SND_TONE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SND_TONE) == (0x02), "SND_TONE != 0x02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SND_TONE 0x02 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_snd in mpers mode + +# else + +static +const struct xlat evdev_snd[] = { + [SND_CLICK] = XLAT(SND_CLICK), + [SND_BELL] = XLAT(SND_BELL), + [SND_TONE] = XLAT(SND_TONE), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_snd.in b/xlat/evdev_snd.in index eaebe3c9..22e51cc1 100644 --- a/xlat/evdev_snd.in +++ b/xlat/evdev_snd.in @@ -1,3 +1,4 @@ -SND_CLICK -SND_BELL -SND_TONE +#value_indexed +SND_CLICK 0x00 +SND_BELL 0x01 +SND_TONE 0x02 diff --git a/xlat/evdev_switch.h b/xlat/evdev_switch.h index afa4b3b4..d5aa9df9 100644 --- a/xlat/evdev_switch.h +++ b/xlat/evdev_switch.h @@ -1,62 +1,150 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_switch.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_switch in mpers mode - -#else - -static -const struct xlat evdev_switch[] = { #if defined(SW_LID) || (defined(HAVE_DECL_SW_LID) && HAVE_DECL_SW_LID) - XLAT(SW_LID), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_LID) == (0x00), "SW_LID != 0x00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_LID 0x00 #endif #if defined(SW_TABLET_MODE) || (defined(HAVE_DECL_SW_TABLET_MODE) && HAVE_DECL_SW_TABLET_MODE) - XLAT(SW_TABLET_MODE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_TABLET_MODE) == (0x01), "SW_TABLET_MODE != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_TABLET_MODE 0x01 #endif #if defined(SW_HEADPHONE_INSERT) || (defined(HAVE_DECL_SW_HEADPHONE_INSERT) && HAVE_DECL_SW_HEADPHONE_INSERT) - XLAT(SW_HEADPHONE_INSERT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_HEADPHONE_INSERT) == (0x02), "SW_HEADPHONE_INSERT != 0x02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_HEADPHONE_INSERT 0x02 #endif #if defined(SW_RFKILL_ALL) || (defined(HAVE_DECL_SW_RFKILL_ALL) && HAVE_DECL_SW_RFKILL_ALL) - XLAT(SW_RFKILL_ALL), -#endif -#if defined(SW_RADIO) || (defined(HAVE_DECL_SW_RADIO) && HAVE_DECL_SW_RADIO) - XLAT(SW_RADIO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_RFKILL_ALL) == (0x03), "SW_RFKILL_ALL != 0x03"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_RFKILL_ALL 0x03 #endif #if defined(SW_MICROPHONE_INSERT) || (defined(HAVE_DECL_SW_MICROPHONE_INSERT) && HAVE_DECL_SW_MICROPHONE_INSERT) - XLAT(SW_MICROPHONE_INSERT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_MICROPHONE_INSERT) == (0x04), "SW_MICROPHONE_INSERT != 0x04"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_MICROPHONE_INSERT 0x04 #endif #if defined(SW_DOCK) || (defined(HAVE_DECL_SW_DOCK) && HAVE_DECL_SW_DOCK) - XLAT(SW_DOCK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_DOCK) == (0x05), "SW_DOCK != 0x05"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_DOCK 0x05 #endif #if defined(SW_LINEOUT_INSERT) || (defined(HAVE_DECL_SW_LINEOUT_INSERT) && HAVE_DECL_SW_LINEOUT_INSERT) - XLAT(SW_LINEOUT_INSERT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_LINEOUT_INSERT) == (0x06), "SW_LINEOUT_INSERT != 0x06"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_LINEOUT_INSERT 0x06 #endif #if defined(SW_JACK_PHYSICAL_INSERT) || (defined(HAVE_DECL_SW_JACK_PHYSICAL_INSERT) && HAVE_DECL_SW_JACK_PHYSICAL_INSERT) - XLAT(SW_JACK_PHYSICAL_INSERT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_JACK_PHYSICAL_INSERT) == (0x07), "SW_JACK_PHYSICAL_INSERT != 0x07"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_JACK_PHYSICAL_INSERT 0x07 #endif #if defined(SW_VIDEOOUT_INSERT) || (defined(HAVE_DECL_SW_VIDEOOUT_INSERT) && HAVE_DECL_SW_VIDEOOUT_INSERT) - XLAT(SW_VIDEOOUT_INSERT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_VIDEOOUT_INSERT) == (0x08), "SW_VIDEOOUT_INSERT != 0x08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_VIDEOOUT_INSERT 0x08 #endif #if defined(SW_CAMERA_LENS_COVER) || (defined(HAVE_DECL_SW_CAMERA_LENS_COVER) && HAVE_DECL_SW_CAMERA_LENS_COVER) - XLAT(SW_CAMERA_LENS_COVER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_CAMERA_LENS_COVER) == (0x09), "SW_CAMERA_LENS_COVER != 0x09"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_CAMERA_LENS_COVER 0x09 #endif #if defined(SW_KEYPAD_SLIDE) || (defined(HAVE_DECL_SW_KEYPAD_SLIDE) && HAVE_DECL_SW_KEYPAD_SLIDE) - XLAT(SW_KEYPAD_SLIDE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_KEYPAD_SLIDE) == (0x0a), "SW_KEYPAD_SLIDE != 0x0a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_KEYPAD_SLIDE 0x0a #endif #if defined(SW_FRONT_PROXIMITY) || (defined(HAVE_DECL_SW_FRONT_PROXIMITY) && HAVE_DECL_SW_FRONT_PROXIMITY) - XLAT(SW_FRONT_PROXIMITY), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_FRONT_PROXIMITY) == (0x0b), "SW_FRONT_PROXIMITY != 0x0b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_FRONT_PROXIMITY 0x0b #endif #if defined(SW_ROTATE_LOCK) || (defined(HAVE_DECL_SW_ROTATE_LOCK) && HAVE_DECL_SW_ROTATE_LOCK) - XLAT(SW_ROTATE_LOCK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_ROTATE_LOCK) == (0x0c), "SW_ROTATE_LOCK != 0x0c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_ROTATE_LOCK 0x0c #endif #if defined(SW_LINEIN_INSERT) || (defined(HAVE_DECL_SW_LINEIN_INSERT) && HAVE_DECL_SW_LINEIN_INSERT) - XLAT(SW_LINEIN_INSERT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_LINEIN_INSERT) == (0x0d), "SW_LINEIN_INSERT != 0x0d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_LINEIN_INSERT 0x0d #endif #if defined(SW_MUTE_DEVICE) || (defined(HAVE_DECL_SW_MUTE_DEVICE) && HAVE_DECL_SW_MUTE_DEVICE) - XLAT(SW_MUTE_DEVICE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_MUTE_DEVICE) == (0x0e), "SW_MUTE_DEVICE != 0x0e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_MUTE_DEVICE 0x0e +#endif +#if defined(SW_PEN_INSERTED) || (defined(HAVE_DECL_SW_PEN_INSERTED) && HAVE_DECL_SW_PEN_INSERTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SW_PEN_INSERTED) == (0x0f), "SW_PEN_INSERTED != 0x0f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SW_PEN_INSERTED 0x0f #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_switch in mpers mode + +# else + +static +const struct xlat evdev_switch[] = { + [SW_LID] = XLAT(SW_LID), + [SW_TABLET_MODE] = XLAT(SW_TABLET_MODE), + [SW_HEADPHONE_INSERT] = XLAT(SW_HEADPHONE_INSERT), + [SW_RFKILL_ALL] = XLAT(SW_RFKILL_ALL), + [SW_MICROPHONE_INSERT] = XLAT(SW_MICROPHONE_INSERT), + [SW_DOCK] = XLAT(SW_DOCK), + [SW_LINEOUT_INSERT] = XLAT(SW_LINEOUT_INSERT), + [SW_JACK_PHYSICAL_INSERT] = XLAT(SW_JACK_PHYSICAL_INSERT), + [SW_VIDEOOUT_INSERT] = XLAT(SW_VIDEOOUT_INSERT), + [SW_CAMERA_LENS_COVER] = XLAT(SW_CAMERA_LENS_COVER), + [SW_KEYPAD_SLIDE] = XLAT(SW_KEYPAD_SLIDE), + [SW_FRONT_PROXIMITY] = XLAT(SW_FRONT_PROXIMITY), + [SW_ROTATE_LOCK] = XLAT(SW_ROTATE_LOCK), + [SW_LINEIN_INSERT] = XLAT(SW_LINEIN_INSERT), + [SW_MUTE_DEVICE] = XLAT(SW_MUTE_DEVICE), + [SW_PEN_INSERTED] = XLAT(SW_PEN_INSERTED), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_switch.in b/xlat/evdev_switch.in index 381d8387..8f808725 100644 --- a/xlat/evdev_switch.in +++ b/xlat/evdev_switch.in @@ -1,16 +1,17 @@ -SW_LID -SW_TABLET_MODE -SW_HEADPHONE_INSERT -SW_RFKILL_ALL -SW_RADIO -SW_MICROPHONE_INSERT -SW_DOCK -SW_LINEOUT_INSERT -SW_JACK_PHYSICAL_INSERT -SW_VIDEOOUT_INSERT -SW_CAMERA_LENS_COVER -SW_KEYPAD_SLIDE -SW_FRONT_PROXIMITY -SW_ROTATE_LOCK -SW_LINEIN_INSERT -SW_MUTE_DEVICE +#value_indexed +SW_LID 0x00 +SW_TABLET_MODE 0x01 +SW_HEADPHONE_INSERT 0x02 +SW_RFKILL_ALL 0x03 +SW_MICROPHONE_INSERT 0x04 +SW_DOCK 0x05 +SW_LINEOUT_INSERT 0x06 +SW_JACK_PHYSICAL_INSERT 0x07 +SW_VIDEOOUT_INSERT 0x08 +SW_CAMERA_LENS_COVER 0x09 +SW_KEYPAD_SLIDE 0x0a +SW_FRONT_PROXIMITY 0x0b +SW_ROTATE_LOCK 0x0c +SW_LINEIN_INSERT 0x0d +SW_MUTE_DEVICE 0x0e +SW_PEN_INSERTED 0x0f diff --git a/xlat/evdev_sync.h b/xlat/evdev_sync.h index 85372a3f..7a06e158 100644 --- a/xlat/evdev_sync.h +++ b/xlat/evdev_sync.h @@ -1,26 +1,54 @@ /* Generated by ./xlat/gen.sh from ./xlat/evdev_sync.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat evdev_sync in mpers mode - -#else - -static -const struct xlat evdev_sync[] = { #if defined(SYN_REPORT) || (defined(HAVE_DECL_SYN_REPORT) && HAVE_DECL_SYN_REPORT) - XLAT(SYN_REPORT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYN_REPORT) == (0), "SYN_REPORT != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SYN_REPORT 0 #endif #if defined(SYN_CONFIG) || (defined(HAVE_DECL_SYN_CONFIG) && HAVE_DECL_SYN_CONFIG) - XLAT(SYN_CONFIG), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYN_CONFIG) == (1), "SYN_CONFIG != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SYN_CONFIG 1 #endif #if defined(SYN_MT_REPORT) || (defined(HAVE_DECL_SYN_MT_REPORT) && HAVE_DECL_SYN_MT_REPORT) - XLAT(SYN_MT_REPORT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYN_MT_REPORT) == (2), "SYN_MT_REPORT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SYN_MT_REPORT 2 #endif #if defined(SYN_DROPPED) || (defined(HAVE_DECL_SYN_DROPPED) && HAVE_DECL_SYN_DROPPED) - XLAT(SYN_DROPPED), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYN_DROPPED) == (3), "SYN_DROPPED != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SYN_DROPPED 3 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat evdev_sync in mpers mode + +# else + +static +const struct xlat evdev_sync[] = { + [SYN_REPORT] = XLAT(SYN_REPORT), + [SYN_CONFIG] = XLAT(SYN_CONFIG), + [SYN_MT_REPORT] = XLAT(SYN_MT_REPORT), + [SYN_DROPPED] = XLAT(SYN_DROPPED), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/evdev_sync.in b/xlat/evdev_sync.in index 39c2e4a9..ca9ea503 100644 --- a/xlat/evdev_sync.in +++ b/xlat/evdev_sync.in @@ -1,4 +1,5 @@ -SYN_REPORT -SYN_CONFIG -SYN_MT_REPORT -SYN_DROPPED +#value_indexed +SYN_REPORT 0 +SYN_CONFIG 1 +SYN_MT_REPORT 2 +SYN_DROPPED 3 diff --git a/xlat/f_owner_types.h b/xlat/f_owner_types.h index 611895a9..76598710 100644 --- a/xlat/f_owner_types.h +++ b/xlat/f_owner_types.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/f_owner_types.in; do not edit. */ -#if !(defined(F_OWNER_TID) || (defined(HAVE_DECL_F_OWNER_TID) && HAVE_DECL_F_OWNER_TID)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(F_OWNER_TID) || (defined(HAVE_DECL_F_OWNER_TID) && HAVE_DECL_F_OWNER_TID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_OWNER_TID) == (0), "F_OWNER_TID != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_OWNER_TID 0 #endif -#if !(defined(F_OWNER_PID) || (defined(HAVE_DECL_F_OWNER_PID) && HAVE_DECL_F_OWNER_PID)) +#if defined(F_OWNER_PID) || (defined(HAVE_DECL_F_OWNER_PID) && HAVE_DECL_F_OWNER_PID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_OWNER_PID) == (1), "F_OWNER_PID != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_OWNER_PID 1 #endif -#if !(defined(F_OWNER_PGRP) || (defined(HAVE_DECL_F_OWNER_PGRP) && HAVE_DECL_F_OWNER_PGRP)) +#if defined(F_OWNER_PGRP) || (defined(HAVE_DECL_F_OWNER_PGRP) && HAVE_DECL_F_OWNER_PGRP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_OWNER_PGRP) == (2), "F_OWNER_PGRP != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_OWNER_PGRP 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat f_owner_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat f_owner_types in mpers mode + +# else static const struct xlat f_owner_types[] = { @@ -23,4 +41,6 @@ const struct xlat f_owner_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/f_seals.h b/xlat/f_seals.h index 6efd0799..1d6383af 100644 --- a/xlat/f_seals.h +++ b/xlat/f_seals.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/f_seals.in; do not edit. */ -#if !(defined(F_SEAL_SEAL) || (defined(HAVE_DECL_F_SEAL_SEAL) && HAVE_DECL_F_SEAL_SEAL)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(F_SEAL_SEAL) || (defined(HAVE_DECL_F_SEAL_SEAL) && HAVE_DECL_F_SEAL_SEAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SEAL_SEAL) == (1), "F_SEAL_SEAL != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SEAL_SEAL 1 #endif -#if !(defined(F_SEAL_SHRINK) || (defined(HAVE_DECL_F_SEAL_SHRINK) && HAVE_DECL_F_SEAL_SHRINK)) +#if defined(F_SEAL_SHRINK) || (defined(HAVE_DECL_F_SEAL_SHRINK) && HAVE_DECL_F_SEAL_SHRINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SEAL_SHRINK) == (2), "F_SEAL_SHRINK != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SEAL_SHRINK 2 #endif -#if !(defined(F_SEAL_GROW) || (defined(HAVE_DECL_F_SEAL_GROW) && HAVE_DECL_F_SEAL_GROW)) +#if defined(F_SEAL_GROW) || (defined(HAVE_DECL_F_SEAL_GROW) && HAVE_DECL_F_SEAL_GROW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SEAL_GROW) == (4), "F_SEAL_GROW != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SEAL_GROW 4 #endif -#if !(defined(F_SEAL_WRITE) || (defined(HAVE_DECL_F_SEAL_WRITE) && HAVE_DECL_F_SEAL_WRITE)) +#if defined(F_SEAL_WRITE) || (defined(HAVE_DECL_F_SEAL_WRITE) && HAVE_DECL_F_SEAL_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SEAL_WRITE) == (8), "F_SEAL_WRITE != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SEAL_WRITE 8 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat f_seals in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat f_seals in mpers mode + +# else static const struct xlat f_seals[] = { @@ -27,4 +49,6 @@ const struct xlat f_seals[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/falloc_flags.h b/xlat/falloc_flags.h index f75c9a8c..aaa7468a 100644 --- a/xlat/falloc_flags.h +++ b/xlat/falloc_flags.h @@ -1,31 +1,65 @@ /* Generated by ./xlat/gen.sh from ./xlat/falloc_flags.in; do not edit. */ -#if !(defined(FALLOC_FL_KEEP_SIZE) || (defined(HAVE_DECL_FALLOC_FL_KEEP_SIZE) && HAVE_DECL_FALLOC_FL_KEEP_SIZE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FALLOC_FL_KEEP_SIZE) || (defined(HAVE_DECL_FALLOC_FL_KEEP_SIZE) && HAVE_DECL_FALLOC_FL_KEEP_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FALLOC_FL_KEEP_SIZE) == (0x01), "FALLOC_FL_KEEP_SIZE != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FALLOC_FL_KEEP_SIZE 0x01 #endif -#if !(defined(FALLOC_FL_PUNCH_HOLE) || (defined(HAVE_DECL_FALLOC_FL_PUNCH_HOLE) && HAVE_DECL_FALLOC_FL_PUNCH_HOLE)) +#if defined(FALLOC_FL_PUNCH_HOLE) || (defined(HAVE_DECL_FALLOC_FL_PUNCH_HOLE) && HAVE_DECL_FALLOC_FL_PUNCH_HOLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FALLOC_FL_PUNCH_HOLE) == (0x02), "FALLOC_FL_PUNCH_HOLE != 0x02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FALLOC_FL_PUNCH_HOLE 0x02 #endif -#if !(defined(FALLOC_FL_NO_HIDE_STALE) || (defined(HAVE_DECL_FALLOC_FL_NO_HIDE_STALE) && HAVE_DECL_FALLOC_FL_NO_HIDE_STALE)) +#if defined(FALLOC_FL_NO_HIDE_STALE) || (defined(HAVE_DECL_FALLOC_FL_NO_HIDE_STALE) && HAVE_DECL_FALLOC_FL_NO_HIDE_STALE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FALLOC_FL_NO_HIDE_STALE) == (0x04), "FALLOC_FL_NO_HIDE_STALE != 0x04"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FALLOC_FL_NO_HIDE_STALE 0x04 #endif -#if !(defined(FALLOC_FL_COLLAPSE_RANGE) || (defined(HAVE_DECL_FALLOC_FL_COLLAPSE_RANGE) && HAVE_DECL_FALLOC_FL_COLLAPSE_RANGE)) +#if defined(FALLOC_FL_COLLAPSE_RANGE) || (defined(HAVE_DECL_FALLOC_FL_COLLAPSE_RANGE) && HAVE_DECL_FALLOC_FL_COLLAPSE_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FALLOC_FL_COLLAPSE_RANGE) == (0x08), "FALLOC_FL_COLLAPSE_RANGE != 0x08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FALLOC_FL_COLLAPSE_RANGE 0x08 #endif -#if !(defined(FALLOC_FL_ZERO_RANGE) || (defined(HAVE_DECL_FALLOC_FL_ZERO_RANGE) && HAVE_DECL_FALLOC_FL_ZERO_RANGE)) +#if defined(FALLOC_FL_ZERO_RANGE) || (defined(HAVE_DECL_FALLOC_FL_ZERO_RANGE) && HAVE_DECL_FALLOC_FL_ZERO_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FALLOC_FL_ZERO_RANGE) == (0x10), "FALLOC_FL_ZERO_RANGE != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FALLOC_FL_ZERO_RANGE 0x10 #endif -#if !(defined(FALLOC_FL_INSERT_RANGE) || (defined(HAVE_DECL_FALLOC_FL_INSERT_RANGE) && HAVE_DECL_FALLOC_FL_INSERT_RANGE)) +#if defined(FALLOC_FL_INSERT_RANGE) || (defined(HAVE_DECL_FALLOC_FL_INSERT_RANGE) && HAVE_DECL_FALLOC_FL_INSERT_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FALLOC_FL_INSERT_RANGE) == (0x20), "FALLOC_FL_INSERT_RANGE != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FALLOC_FL_INSERT_RANGE 0x20 #endif -#if !(defined(FALLOC_FL_UNSHARE_RANGE) || (defined(HAVE_DECL_FALLOC_FL_UNSHARE_RANGE) && HAVE_DECL_FALLOC_FL_UNSHARE_RANGE)) +#if defined(FALLOC_FL_UNSHARE_RANGE) || (defined(HAVE_DECL_FALLOC_FL_UNSHARE_RANGE) && HAVE_DECL_FALLOC_FL_UNSHARE_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FALLOC_FL_UNSHARE_RANGE) == (0x40), "FALLOC_FL_UNSHARE_RANGE != 0x40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FALLOC_FL_UNSHARE_RANGE 0x40 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat falloc_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat falloc_flags in mpers mode + +# else static const struct xlat falloc_flags[] = { @@ -39,4 +73,6 @@ const struct xlat falloc_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fan_classes.h b/xlat/fan_classes.h index cd26d75a..ff4ff95d 100644 --- a/xlat/fan_classes.h +++ b/xlat/fan_classes.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/fan_classes.in; do not edit. */ -#if !(defined(FAN_CLASS_NOTIF) || (defined(HAVE_DECL_FAN_CLASS_NOTIF) && HAVE_DECL_FAN_CLASS_NOTIF)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FAN_CLASS_NOTIF) || (defined(HAVE_DECL_FAN_CLASS_NOTIF) && HAVE_DECL_FAN_CLASS_NOTIF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_CLASS_NOTIF) == (0x00000000), "FAN_CLASS_NOTIF != 0x00000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_CLASS_NOTIF 0x00000000 #endif -#if !(defined(FAN_CLASS_CONTENT) || (defined(HAVE_DECL_FAN_CLASS_CONTENT) && HAVE_DECL_FAN_CLASS_CONTENT)) +#if defined(FAN_CLASS_CONTENT) || (defined(HAVE_DECL_FAN_CLASS_CONTENT) && HAVE_DECL_FAN_CLASS_CONTENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_CLASS_CONTENT) == (0x00000004), "FAN_CLASS_CONTENT != 0x00000004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_CLASS_CONTENT 0x00000004 #endif -#if !(defined(FAN_CLASS_PRE_CONTENT) || (defined(HAVE_DECL_FAN_CLASS_PRE_CONTENT) && HAVE_DECL_FAN_CLASS_PRE_CONTENT)) +#if defined(FAN_CLASS_PRE_CONTENT) || (defined(HAVE_DECL_FAN_CLASS_PRE_CONTENT) && HAVE_DECL_FAN_CLASS_PRE_CONTENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_CLASS_PRE_CONTENT) == (0x00000008), "FAN_CLASS_PRE_CONTENT != 0x00000008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_CLASS_PRE_CONTENT 0x00000008 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat fan_classes in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat fan_classes in mpers mode + +# else static const struct xlat fan_classes[] = { @@ -23,4 +41,6 @@ const struct xlat fan_classes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fan_event_flags.h b/xlat/fan_event_flags.h index 7c19d826..0ac92593 100644 --- a/xlat/fan_event_flags.h +++ b/xlat/fan_event_flags.h @@ -1,40 +1,86 @@ /* Generated by ./xlat/gen.sh from ./xlat/fan_event_flags.in; do not edit. */ -#if !(defined(FAN_ACCESS) || (defined(HAVE_DECL_FAN_ACCESS) && HAVE_DECL_FAN_ACCESS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FAN_ACCESS) || (defined(HAVE_DECL_FAN_ACCESS) && HAVE_DECL_FAN_ACCESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_ACCESS) == (0x00000001), "FAN_ACCESS != 0x00000001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_ACCESS 0x00000001 #endif -#if !(defined(FAN_MODIFY) || (defined(HAVE_DECL_FAN_MODIFY) && HAVE_DECL_FAN_MODIFY)) +#if defined(FAN_MODIFY) || (defined(HAVE_DECL_FAN_MODIFY) && HAVE_DECL_FAN_MODIFY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_MODIFY) == (0x00000002), "FAN_MODIFY != 0x00000002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_MODIFY 0x00000002 #endif -#if !(defined(FAN_CLOSE_WRITE) || (defined(HAVE_DECL_FAN_CLOSE_WRITE) && HAVE_DECL_FAN_CLOSE_WRITE)) +#if defined(FAN_CLOSE_WRITE) || (defined(HAVE_DECL_FAN_CLOSE_WRITE) && HAVE_DECL_FAN_CLOSE_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_CLOSE_WRITE) == (0x00000008), "FAN_CLOSE_WRITE != 0x00000008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_CLOSE_WRITE 0x00000008 #endif -#if !(defined(FAN_CLOSE_NOWRITE) || (defined(HAVE_DECL_FAN_CLOSE_NOWRITE) && HAVE_DECL_FAN_CLOSE_NOWRITE)) +#if defined(FAN_CLOSE_NOWRITE) || (defined(HAVE_DECL_FAN_CLOSE_NOWRITE) && HAVE_DECL_FAN_CLOSE_NOWRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_CLOSE_NOWRITE) == (0x00000010), "FAN_CLOSE_NOWRITE != 0x00000010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_CLOSE_NOWRITE 0x00000010 #endif -#if !(defined(FAN_OPEN) || (defined(HAVE_DECL_FAN_OPEN) && HAVE_DECL_FAN_OPEN)) +#if defined(FAN_OPEN) || (defined(HAVE_DECL_FAN_OPEN) && HAVE_DECL_FAN_OPEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_OPEN) == (0x00000020), "FAN_OPEN != 0x00000020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_OPEN 0x00000020 #endif -#if !(defined(FAN_Q_OVERFLOW) || (defined(HAVE_DECL_FAN_Q_OVERFLOW) && HAVE_DECL_FAN_Q_OVERFLOW)) +#if defined(FAN_Q_OVERFLOW) || (defined(HAVE_DECL_FAN_Q_OVERFLOW) && HAVE_DECL_FAN_Q_OVERFLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_Q_OVERFLOW) == (0x00004000), "FAN_Q_OVERFLOW != 0x00004000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_Q_OVERFLOW 0x00004000 #endif -#if !(defined(FAN_OPEN_PERM) || (defined(HAVE_DECL_FAN_OPEN_PERM) && HAVE_DECL_FAN_OPEN_PERM)) +#if defined(FAN_OPEN_PERM) || (defined(HAVE_DECL_FAN_OPEN_PERM) && HAVE_DECL_FAN_OPEN_PERM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_OPEN_PERM) == (0x00010000), "FAN_OPEN_PERM != 0x00010000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_OPEN_PERM 0x00010000 #endif -#if !(defined(FAN_ACCESS_PERM) || (defined(HAVE_DECL_FAN_ACCESS_PERM) && HAVE_DECL_FAN_ACCESS_PERM)) +#if defined(FAN_ACCESS_PERM) || (defined(HAVE_DECL_FAN_ACCESS_PERM) && HAVE_DECL_FAN_ACCESS_PERM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_ACCESS_PERM) == (0x00020000), "FAN_ACCESS_PERM != 0x00020000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_ACCESS_PERM 0x00020000 #endif -#if !(defined(FAN_ONDIR) || (defined(HAVE_DECL_FAN_ONDIR) && HAVE_DECL_FAN_ONDIR)) +#if defined(FAN_ONDIR) || (defined(HAVE_DECL_FAN_ONDIR) && HAVE_DECL_FAN_ONDIR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_ONDIR) == (0x40000000), "FAN_ONDIR != 0x40000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_ONDIR 0x40000000 #endif -#if !(defined(FAN_EVENT_ON_CHILD) || (defined(HAVE_DECL_FAN_EVENT_ON_CHILD) && HAVE_DECL_FAN_EVENT_ON_CHILD)) +#if defined(FAN_EVENT_ON_CHILD) || (defined(HAVE_DECL_FAN_EVENT_ON_CHILD) && HAVE_DECL_FAN_EVENT_ON_CHILD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_EVENT_ON_CHILD) == (0x08000000), "FAN_EVENT_ON_CHILD != 0x08000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_EVENT_ON_CHILD 0x08000000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat fan_event_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat fan_event_flags in mpers mode + +# else static const struct xlat fan_event_flags[] = { @@ -51,4 +97,6 @@ const struct xlat fan_event_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fan_init_flags.h b/xlat/fan_init_flags.h index b11e47a3..0b8ac666 100644 --- a/xlat/fan_init_flags.h +++ b/xlat/fan_init_flags.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/fan_init_flags.in; do not edit. */ -#if !(defined(FAN_CLOEXEC) || (defined(HAVE_DECL_FAN_CLOEXEC) && HAVE_DECL_FAN_CLOEXEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FAN_CLOEXEC) || (defined(HAVE_DECL_FAN_CLOEXEC) && HAVE_DECL_FAN_CLOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_CLOEXEC) == (0x00000001), "FAN_CLOEXEC != 0x00000001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_CLOEXEC 0x00000001 #endif -#if !(defined(FAN_NONBLOCK) || (defined(HAVE_DECL_FAN_NONBLOCK) && HAVE_DECL_FAN_NONBLOCK)) +#if defined(FAN_NONBLOCK) || (defined(HAVE_DECL_FAN_NONBLOCK) && HAVE_DECL_FAN_NONBLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_NONBLOCK) == (0x00000002), "FAN_NONBLOCK != 0x00000002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_NONBLOCK 0x00000002 #endif -#if !(defined(FAN_UNLIMITED_QUEUE) || (defined(HAVE_DECL_FAN_UNLIMITED_QUEUE) && HAVE_DECL_FAN_UNLIMITED_QUEUE)) +#if defined(FAN_UNLIMITED_QUEUE) || (defined(HAVE_DECL_FAN_UNLIMITED_QUEUE) && HAVE_DECL_FAN_UNLIMITED_QUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_UNLIMITED_QUEUE) == (0x00000010), "FAN_UNLIMITED_QUEUE != 0x00000010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_UNLIMITED_QUEUE 0x00000010 #endif -#if !(defined(FAN_UNLIMITED_MARKS) || (defined(HAVE_DECL_FAN_UNLIMITED_MARKS) && HAVE_DECL_FAN_UNLIMITED_MARKS)) +#if defined(FAN_UNLIMITED_MARKS) || (defined(HAVE_DECL_FAN_UNLIMITED_MARKS) && HAVE_DECL_FAN_UNLIMITED_MARKS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_UNLIMITED_MARKS) == (0x00000020), "FAN_UNLIMITED_MARKS != 0x00000020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_UNLIMITED_MARKS 0x00000020 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat fan_init_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat fan_init_flags in mpers mode + +# else static const struct xlat fan_init_flags[] = { @@ -27,4 +49,6 @@ const struct xlat fan_init_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fan_mark_flags.h b/xlat/fan_mark_flags.h index f2f9140e..d1d1ec19 100644 --- a/xlat/fan_mark_flags.h +++ b/xlat/fan_mark_flags.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/fan_mark_flags.in; do not edit. */ -#if !(defined(FAN_MARK_ADD) || (defined(HAVE_DECL_FAN_MARK_ADD) && HAVE_DECL_FAN_MARK_ADD)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FAN_MARK_ADD) || (defined(HAVE_DECL_FAN_MARK_ADD) && HAVE_DECL_FAN_MARK_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_MARK_ADD) == (0x00000001), "FAN_MARK_ADD != 0x00000001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_MARK_ADD 0x00000001 #endif -#if !(defined(FAN_MARK_REMOVE) || (defined(HAVE_DECL_FAN_MARK_REMOVE) && HAVE_DECL_FAN_MARK_REMOVE)) +#if defined(FAN_MARK_REMOVE) || (defined(HAVE_DECL_FAN_MARK_REMOVE) && HAVE_DECL_FAN_MARK_REMOVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_MARK_REMOVE) == (0x00000002), "FAN_MARK_REMOVE != 0x00000002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_MARK_REMOVE 0x00000002 #endif -#if !(defined(FAN_MARK_DONT_FOLLOW) || (defined(HAVE_DECL_FAN_MARK_DONT_FOLLOW) && HAVE_DECL_FAN_MARK_DONT_FOLLOW)) +#if defined(FAN_MARK_DONT_FOLLOW) || (defined(HAVE_DECL_FAN_MARK_DONT_FOLLOW) && HAVE_DECL_FAN_MARK_DONT_FOLLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_MARK_DONT_FOLLOW) == (0x00000004), "FAN_MARK_DONT_FOLLOW != 0x00000004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_MARK_DONT_FOLLOW 0x00000004 #endif -#if !(defined(FAN_MARK_ONLYDIR) || (defined(HAVE_DECL_FAN_MARK_ONLYDIR) && HAVE_DECL_FAN_MARK_ONLYDIR)) +#if defined(FAN_MARK_ONLYDIR) || (defined(HAVE_DECL_FAN_MARK_ONLYDIR) && HAVE_DECL_FAN_MARK_ONLYDIR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_MARK_ONLYDIR) == (0x00000008), "FAN_MARK_ONLYDIR != 0x00000008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_MARK_ONLYDIR 0x00000008 #endif -#if !(defined(FAN_MARK_MOUNT) || (defined(HAVE_DECL_FAN_MARK_MOUNT) && HAVE_DECL_FAN_MARK_MOUNT)) +#if defined(FAN_MARK_MOUNT) || (defined(HAVE_DECL_FAN_MARK_MOUNT) && HAVE_DECL_FAN_MARK_MOUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_MARK_MOUNT) == (0x00000010), "FAN_MARK_MOUNT != 0x00000010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_MARK_MOUNT 0x00000010 #endif -#if !(defined(FAN_MARK_IGNORED_MASK) || (defined(HAVE_DECL_FAN_MARK_IGNORED_MASK) && HAVE_DECL_FAN_MARK_IGNORED_MASK)) +#if defined(FAN_MARK_IGNORED_MASK) || (defined(HAVE_DECL_FAN_MARK_IGNORED_MASK) && HAVE_DECL_FAN_MARK_IGNORED_MASK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_MARK_IGNORED_MASK) == (0x00000020), "FAN_MARK_IGNORED_MASK != 0x00000020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_MARK_IGNORED_MASK 0x00000020 #endif -#if !(defined(FAN_MARK_IGNORED_SURV_MODIFY) || (defined(HAVE_DECL_FAN_MARK_IGNORED_SURV_MODIFY) && HAVE_DECL_FAN_MARK_IGNORED_SURV_MODIFY)) +#if defined(FAN_MARK_IGNORED_SURV_MODIFY) || (defined(HAVE_DECL_FAN_MARK_IGNORED_SURV_MODIFY) && HAVE_DECL_FAN_MARK_IGNORED_SURV_MODIFY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_MARK_IGNORED_SURV_MODIFY) == (0x00000040), "FAN_MARK_IGNORED_SURV_MODIFY != 0x00000040"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_MARK_IGNORED_SURV_MODIFY 0x00000040 #endif -#if !(defined(FAN_MARK_FLUSH) || (defined(HAVE_DECL_FAN_MARK_FLUSH) && HAVE_DECL_FAN_MARK_FLUSH)) +#if defined(FAN_MARK_FLUSH) || (defined(HAVE_DECL_FAN_MARK_FLUSH) && HAVE_DECL_FAN_MARK_FLUSH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FAN_MARK_FLUSH) == (0x00000080), "FAN_MARK_FLUSH != 0x00000080"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FAN_MARK_FLUSH 0x00000080 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat fan_mark_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat fan_mark_flags in mpers mode + +# else static const struct xlat fan_mark_flags[] = { @@ -43,4 +81,6 @@ const struct xlat fan_mark_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fcntl64cmds.h b/xlat/fcntl64cmds.h deleted file mode 100644 index 5fef6272..00000000 --- a/xlat/fcntl64cmds.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Generated by ./xlat/gen.sh from ./xlat/fcntl64cmds.in; do not edit. */ -#if !(defined(F_GETLK64) || (defined(HAVE_DECL_F_GETLK64) && HAVE_DECL_F_GETLK64)) -# define F_GETLK64 12 -#endif -#if !(defined(F_SETLK64) || (defined(HAVE_DECL_F_SETLK64) && HAVE_DECL_F_SETLK64)) -# define F_SETLK64 13 -#endif -#if !(defined(F_SETLKW64) || (defined(HAVE_DECL_F_SETLKW64) && HAVE_DECL_F_SETLKW64)) -# define F_SETLKW64 14 -#endif - -#ifdef IN_MPERS - -# error static const struct xlat fcntl64cmds in mpers mode - -#else - -static -const struct xlat fcntl64cmds[] = { - - XLAT(F_GETLK64), - XLAT(F_SETLK64), - XLAT(F_SETLKW64), - XLAT_END -}; - -#endif /* !IN_MPERS */ diff --git a/xlat/fcntlcmds.h b/xlat/fcntlcmds.h index 44434f37..ad354de1 100644 --- a/xlat/fcntlcmds.h +++ b/xlat/fcntlcmds.h @@ -1,91 +1,397 @@ /* Generated by ./xlat/gen.sh from ./xlat/fcntlcmds.in; do not edit. */ -#if !(defined(F_DUPFD) || (defined(HAVE_DECL_F_DUPFD) && HAVE_DECL_F_DUPFD)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(F_DUPFD) || (defined(HAVE_DECL_F_DUPFD) && HAVE_DECL_F_DUPFD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_DUPFD) == (0), "F_DUPFD != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_DUPFD 0 #endif -#if !(defined(F_GETFD) || (defined(HAVE_DECL_F_GETFD) && HAVE_DECL_F_GETFD)) +#if defined(F_GETFD) || (defined(HAVE_DECL_F_GETFD) && HAVE_DECL_F_GETFD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETFD) == (1), "F_GETFD != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GETFD 1 #endif -#if !(defined(F_SETFD) || (defined(HAVE_DECL_F_SETFD) && HAVE_DECL_F_SETFD)) +#if defined(F_SETFD) || (defined(HAVE_DECL_F_SETFD) && HAVE_DECL_F_SETFD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETFD) == (2), "F_SETFD != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SETFD 2 #endif -#if !(defined(F_GETFL) || (defined(HAVE_DECL_F_GETFL) && HAVE_DECL_F_GETFL)) +#if defined(F_GETFL) || (defined(HAVE_DECL_F_GETFL) && HAVE_DECL_F_GETFL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETFL) == (3), "F_GETFL != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GETFL 3 #endif -#if !(defined(F_SETFL) || (defined(HAVE_DECL_F_SETFL) && HAVE_DECL_F_SETFL)) +#if defined(F_SETFL) || (defined(HAVE_DECL_F_SETFL) && HAVE_DECL_F_SETFL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETFL) == (4), "F_SETFL != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SETFL 4 #endif -#if !(defined(F_GETLK) || (defined(HAVE_DECL_F_GETLK) && HAVE_DECL_F_GETLK)) +#if defined __alpha__ || defined __sparc__ +#if defined(F_GETLK) || (defined(HAVE_DECL_F_GETLK) && HAVE_DECL_F_GETLK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETLK) == (7), "F_GETLK != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETLK 7 +#endif +#elif defined __mips__ +#if defined(F_GETLK) || (defined(HAVE_DECL_F_GETLK) && HAVE_DECL_F_GETLK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETLK) == (14), "F_GETLK != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETLK 14 +#endif +#else +#if defined(F_GETLK) || (defined(HAVE_DECL_F_GETLK) && HAVE_DECL_F_GETLK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETLK) == (5), "F_GETLK != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GETLK 5 #endif -#if !(defined(F_SETLK) || (defined(HAVE_DECL_F_SETLK) && HAVE_DECL_F_SETLK)) +#endif +#if defined __alpha__ || defined __sparc__ +#if defined(F_SETLK) || (defined(HAVE_DECL_F_SETLK) && HAVE_DECL_F_SETLK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLK) == (8), "F_SETLK != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETLK 8 +#endif +#if defined(F_SETLKW) || (defined(HAVE_DECL_F_SETLKW) && HAVE_DECL_F_SETLKW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLKW) == (9), "F_SETLKW != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETLKW 9 +#endif +#else +#if defined(F_SETLK) || (defined(HAVE_DECL_F_SETLK) && HAVE_DECL_F_SETLK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLK) == (6), "F_SETLK != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SETLK 6 #endif -#if !(defined(F_SETLKW) || (defined(HAVE_DECL_F_SETLKW) && HAVE_DECL_F_SETLKW)) +#if defined(F_SETLKW) || (defined(HAVE_DECL_F_SETLKW) && HAVE_DECL_F_SETLKW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLKW) == (7), "F_SETLKW != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SETLKW 7 #endif -#if !(defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN)) +#endif +#if defined __alpha__ +#if defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETOWN) == (5), "F_SETOWN != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETOWN 5 +#endif +#if defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETOWN) == (6), "F_GETOWN != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETOWN 6 +#endif +#elif defined __hppa__ +#if defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETOWN) == (11), "F_GETOWN != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETOWN 11 +#endif +#if defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETOWN) == (12), "F_SETOWN != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETOWN 12 +#endif +#elif defined __mips__ +#if defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETOWN) == (23), "F_GETOWN != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETOWN 23 +#endif +#if defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETOWN) == (24), "F_SETOWN != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETOWN 24 +#endif +#elif defined __sparc__ +#if defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETOWN) == (5), "F_GETOWN != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETOWN 5 +#endif +#if defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETOWN) == (6), "F_SETOWN != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETOWN 6 +#endif +#else +#if defined(F_SETOWN) || (defined(HAVE_DECL_F_SETOWN) && HAVE_DECL_F_SETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETOWN) == (8), "F_SETOWN != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SETOWN 8 #endif -#if !(defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN)) +#if defined(F_GETOWN) || (defined(HAVE_DECL_F_GETOWN) && HAVE_DECL_F_GETOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETOWN) == (9), "F_GETOWN != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GETOWN 9 #endif -#if !(defined(F_SETSIG) || (defined(HAVE_DECL_F_SETSIG) && HAVE_DECL_F_SETSIG)) +#endif +#ifdef __hppa__ +#if defined(F_SETSIG) || (defined(HAVE_DECL_F_SETSIG) && HAVE_DECL_F_SETSIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETSIG) == (13), "F_SETSIG != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETSIG 13 +#endif +#if defined(F_GETSIG) || (defined(HAVE_DECL_F_GETSIG) && HAVE_DECL_F_GETSIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETSIG) == (14), "F_GETSIG != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETSIG 14 +#endif +#else +#if defined(F_SETSIG) || (defined(HAVE_DECL_F_SETSIG) && HAVE_DECL_F_SETSIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETSIG) == (10), "F_SETSIG != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SETSIG 10 #endif -#if !(defined(F_GETSIG) || (defined(HAVE_DECL_F_GETSIG) && HAVE_DECL_F_GETSIG)) +#if defined(F_GETSIG) || (defined(HAVE_DECL_F_GETSIG) && HAVE_DECL_F_GETSIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETSIG) == (11), "F_GETSIG != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GETSIG 11 #endif -#if !(defined(F_SETOWN_EX) || (defined(HAVE_DECL_F_SETOWN_EX) && HAVE_DECL_F_SETOWN_EX)) +#endif +#if defined __hppa__ +#if defined(F_GETLK64) || (defined(HAVE_DECL_F_GETLK64) && HAVE_DECL_F_GETLK64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETLK64) == (8), "F_GETLK64 != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETLK64 8 +#endif +#if defined(F_SETLK64) || (defined(HAVE_DECL_F_SETLK64) && HAVE_DECL_F_SETLK64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLK64) == (9), "F_SETLK64 != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETLK64 9 +#endif +#if defined(F_SETLKW64) || (defined(HAVE_DECL_F_SETLKW64) && HAVE_DECL_F_SETLKW64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLKW64) == (10), "F_SETLKW64 != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETLKW64 10 +#endif +#elif defined __mips__ && !defined __mips64 +#if defined(F_GETLK64) || (defined(HAVE_DECL_F_GETLK64) && HAVE_DECL_F_GETLK64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETLK64) == (33), "F_GETLK64 != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETLK64 33 +#endif +#if defined(F_SETLK64) || (defined(HAVE_DECL_F_SETLK64) && HAVE_DECL_F_SETLK64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLK64) == (34), "F_SETLK64 != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETLK64 34 +#endif +#if defined(F_SETLKW64) || (defined(HAVE_DECL_F_SETLKW64) && HAVE_DECL_F_SETLKW64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLKW64) == (35), "F_SETLKW64 != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETLKW64 35 +#endif +#else +#if defined(F_GETLK64) || (defined(HAVE_DECL_F_GETLK64) && HAVE_DECL_F_GETLK64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETLK64) == (12), "F_GETLK64 != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_GETLK64 12 +#endif +#if defined(F_SETLK64) || (defined(HAVE_DECL_F_SETLK64) && HAVE_DECL_F_SETLK64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLK64) == (13), "F_SETLK64 != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETLK64 13 +#endif +#if defined(F_SETLKW64) || (defined(HAVE_DECL_F_SETLKW64) && HAVE_DECL_F_SETLKW64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLKW64) == (14), "F_SETLKW64 != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define F_SETLKW64 14 +#endif +#endif +#ifndef STRACE_WORKAROUND_FOR_F_OWNER_EX +# define STRACE_WORKAROUND_FOR_F_OWNER_EX +# if defined F_SETOWN_EX && F_SETOWN_EX != 15 +# warning invalid value of F_SETOWN_EX ignored +# endif +# undef F_SETOWN_EX +# if defined F_GETOWN_EX && F_GETOWN_EX != 16 +# warning invalid value of F_GETOWN_EX ignored +# endif +# undef F_GETOWN_EX +#endif +#if defined(F_SETOWN_EX) || (defined(HAVE_DECL_F_SETOWN_EX) && HAVE_DECL_F_SETOWN_EX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETOWN_EX) == (15), "F_SETOWN_EX != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SETOWN_EX 15 #endif -#if !(defined(F_GETOWN_EX) || (defined(HAVE_DECL_F_GETOWN_EX) && HAVE_DECL_F_GETOWN_EX)) +#if defined(F_GETOWN_EX) || (defined(HAVE_DECL_F_GETOWN_EX) && HAVE_DECL_F_GETOWN_EX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETOWN_EX) == (16), "F_GETOWN_EX != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GETOWN_EX 16 #endif -#if !(defined(F_GETOWNER_UIDS) || (defined(HAVE_DECL_F_GETOWNER_UIDS) && HAVE_DECL_F_GETOWNER_UIDS)) +#if defined(F_GETOWNER_UIDS) || (defined(HAVE_DECL_F_GETOWNER_UIDS) && HAVE_DECL_F_GETOWNER_UIDS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETOWNER_UIDS) == (17), "F_GETOWNER_UIDS != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GETOWNER_UIDS 17 #endif -#if !(defined(F_OFD_GETLK) || (defined(HAVE_DECL_F_OFD_GETLK) && HAVE_DECL_F_OFD_GETLK)) +#if defined(F_OFD_GETLK) || (defined(HAVE_DECL_F_OFD_GETLK) && HAVE_DECL_F_OFD_GETLK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_OFD_GETLK) == (36), "F_OFD_GETLK != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_OFD_GETLK 36 #endif -#if !(defined(F_OFD_SETLK) || (defined(HAVE_DECL_F_OFD_SETLK) && HAVE_DECL_F_OFD_SETLK)) +#if defined(F_OFD_SETLK) || (defined(HAVE_DECL_F_OFD_SETLK) && HAVE_DECL_F_OFD_SETLK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_OFD_SETLK) == (37), "F_OFD_SETLK != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_OFD_SETLK 37 #endif -#if !(defined(F_OFD_SETLKW) || (defined(HAVE_DECL_F_OFD_SETLKW) && HAVE_DECL_F_OFD_SETLKW)) +#if defined(F_OFD_SETLKW) || (defined(HAVE_DECL_F_OFD_SETLKW) && HAVE_DECL_F_OFD_SETLKW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_OFD_SETLKW) == (38), "F_OFD_SETLKW != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_OFD_SETLKW 38 #endif -#if !(defined(F_SETLEASE) || (defined(HAVE_DECL_F_SETLEASE) && HAVE_DECL_F_SETLEASE)) +#if defined(F_SETLEASE) || (defined(HAVE_DECL_F_SETLEASE) && HAVE_DECL_F_SETLEASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETLEASE) == ((1024 + 0)), "F_SETLEASE != (1024 + 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SETLEASE (1024 + 0) #endif -#if !(defined(F_GETLEASE) || (defined(HAVE_DECL_F_GETLEASE) && HAVE_DECL_F_GETLEASE)) +#if defined(F_GETLEASE) || (defined(HAVE_DECL_F_GETLEASE) && HAVE_DECL_F_GETLEASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETLEASE) == ((1024 + 1)), "F_GETLEASE != (1024 + 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GETLEASE (1024 + 1) #endif -#if !(defined(F_NOTIFY) || (defined(HAVE_DECL_F_NOTIFY) && HAVE_DECL_F_NOTIFY)) +#if defined(F_NOTIFY) || (defined(HAVE_DECL_F_NOTIFY) && HAVE_DECL_F_NOTIFY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_NOTIFY) == ((1024 + 2)), "F_NOTIFY != (1024 + 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_NOTIFY (1024 + 2) #endif -#if !(defined(F_CANCELLK) || (defined(HAVE_DECL_F_CANCELLK) && HAVE_DECL_F_CANCELLK)) +#if defined(F_CANCELLK) || (defined(HAVE_DECL_F_CANCELLK) && HAVE_DECL_F_CANCELLK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_CANCELLK) == ((1024 + 5)), "F_CANCELLK != (1024 + 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_CANCELLK (1024 + 5) #endif -#if !(defined(F_DUPFD_CLOEXEC) || (defined(HAVE_DECL_F_DUPFD_CLOEXEC) && HAVE_DECL_F_DUPFD_CLOEXEC)) +#if defined(F_DUPFD_CLOEXEC) || (defined(HAVE_DECL_F_DUPFD_CLOEXEC) && HAVE_DECL_F_DUPFD_CLOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_DUPFD_CLOEXEC) == ((1024 + 6)), "F_DUPFD_CLOEXEC != (1024 + 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_DUPFD_CLOEXEC (1024 + 6) #endif -#if !(defined(F_SETPIPE_SZ) || (defined(HAVE_DECL_F_SETPIPE_SZ) && HAVE_DECL_F_SETPIPE_SZ)) +#if defined(F_SETPIPE_SZ) || (defined(HAVE_DECL_F_SETPIPE_SZ) && HAVE_DECL_F_SETPIPE_SZ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_SETPIPE_SZ) == ((1024 + 7)), "F_SETPIPE_SZ != (1024 + 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_SETPIPE_SZ (1024 + 7) #endif -#if !(defined(F_GETPIPE_SZ) || (defined(HAVE_DECL_F_GETPIPE_SZ) && HAVE_DECL_F_GETPIPE_SZ)) +#if defined(F_GETPIPE_SZ) || (defined(HAVE_DECL_F_GETPIPE_SZ) && HAVE_DECL_F_GETPIPE_SZ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GETPIPE_SZ) == ((1024 + 8)), "F_GETPIPE_SZ != (1024 + 8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GETPIPE_SZ (1024 + 8) #endif -#if !(defined(F_ADD_SEALS) || (defined(HAVE_DECL_F_ADD_SEALS) && HAVE_DECL_F_ADD_SEALS)) +#if defined(F_ADD_SEALS) || (defined(HAVE_DECL_F_ADD_SEALS) && HAVE_DECL_F_ADD_SEALS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_ADD_SEALS) == ((1024 + 9)), "F_ADD_SEALS != (1024 + 9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_ADD_SEALS (1024 + 9) #endif -#if !(defined(F_GET_SEALS) || (defined(HAVE_DECL_F_GET_SEALS) && HAVE_DECL_F_GET_SEALS)) +#if defined(F_GET_SEALS) || (defined(HAVE_DECL_F_GET_SEALS) && HAVE_DECL_F_GET_SEALS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((F_GET_SEALS) == ((1024 + 10)), "F_GET_SEALS != (1024 + 10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define F_GET_SEALS (1024 + 10) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat fcntlcmds in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat fcntlcmds in mpers mode + +# else static const struct xlat fcntlcmds[] = { @@ -95,15 +401,83 @@ const struct xlat fcntlcmds[] = { XLAT(F_SETFD), XLAT(F_GETFL), XLAT(F_SETFL), + +#if defined __alpha__ || defined __sparc__ + XLAT(F_GETLK), +#elif defined __mips__ + XLAT(F_GETLK), +#else XLAT(F_GETLK), +#endif + +#if defined __alpha__ || defined __sparc__ + XLAT(F_SETLK), + XLAT(F_SETLKW), +#else XLAT(F_SETLK), XLAT(F_SETLKW), +#endif + +#if defined __alpha__ + XLAT(F_SETOWN), + XLAT(F_GETOWN), +#elif defined __hppa__ + XLAT(F_GETOWN), + XLAT(F_SETOWN), +#elif defined __mips__ + XLAT(F_GETOWN), + XLAT(F_SETOWN), +#elif defined __sparc__ + XLAT(F_GETOWN), + XLAT(F_SETOWN), +#else XLAT(F_SETOWN), XLAT(F_GETOWN), +#endif + +#ifdef __hppa__ XLAT(F_SETSIG), XLAT(F_GETSIG), +#else + XLAT(F_SETSIG), + XLAT(F_GETSIG), +#endif + +#if defined __hppa__ + XLAT(F_GETLK64), + XLAT(F_SETLK64), + XLAT(F_SETLKW64), +#elif defined __mips__ && !defined __mips64 + XLAT(F_GETLK64), + XLAT(F_SETLK64), + XLAT(F_SETLKW64), +#else + XLAT(F_GETLK64), + XLAT(F_SETLK64), + XLAT(F_SETLKW64), +#endif + +#ifndef STRACE_WORKAROUND_FOR_F_OWNER_EX +# define STRACE_WORKAROUND_FOR_F_OWNER_EX +/* +* Linux kernel commit v2.6.32-rc7~23 has changed values of F_SETOWN_EX +* and F_GETOWN_EX constants introduced by commit v2.6.32-rc1~96 to fix +* the conflict with F_GETLK64 and F_SETLK64 constants. +* Looks like the best way to handle this situation is to pretend that +* old values of F_SETOWN_EX and F_GETOWN_EX didn't exist. +*/ +# if defined F_SETOWN_EX && F_SETOWN_EX != 15 +# warning invalid value of F_SETOWN_EX ignored +# endif +# undef F_SETOWN_EX +# if defined F_GETOWN_EX && F_GETOWN_EX != 16 +# warning invalid value of F_GETOWN_EX ignored +# endif +# undef F_GETOWN_EX +#endif XLAT(F_SETOWN_EX), XLAT(F_GETOWN_EX), + XLAT(F_GETOWNER_UIDS), XLAT(F_OFD_GETLK), XLAT(F_OFD_SETLK), @@ -122,4 +496,6 @@ const struct xlat fcntlcmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fcntlcmds.in b/xlat/fcntlcmds.in index c050836c..5602e6ff 100644 --- a/xlat/fcntlcmds.in +++ b/xlat/fcntlcmds.in @@ -4,15 +4,83 @@ F_GETFD 1 F_SETFD 2 F_GETFL 3 F_SETFL 4 + +#if defined __alpha__ || defined __sparc__ +F_GETLK 7 +#elif defined __mips__ +F_GETLK 14 +#else F_GETLK 5 +#endif + +#if defined __alpha__ || defined __sparc__ +F_SETLK 8 +F_SETLKW 9 +#else F_SETLK 6 F_SETLKW 7 +#endif + +#if defined __alpha__ +F_SETOWN 5 +F_GETOWN 6 +#elif defined __hppa__ +F_GETOWN 11 +F_SETOWN 12 +#elif defined __mips__ +F_GETOWN 23 +F_SETOWN 24 +#elif defined __sparc__ +F_GETOWN 5 +F_SETOWN 6 +#else F_SETOWN 8 F_GETOWN 9 +#endif + +#ifdef __hppa__ +F_SETSIG 13 +F_GETSIG 14 +#else F_SETSIG 10 F_GETSIG 11 +#endif + +#if defined __hppa__ +F_GETLK64 8 +F_SETLK64 9 +F_SETLKW64 10 +#elif defined __mips__ && !defined __mips64 +F_GETLK64 33 +F_SETLK64 34 +F_SETLKW64 35 +#else +F_GETLK64 12 +F_SETLK64 13 +F_SETLKW64 14 +#endif + +#ifndef STRACE_WORKAROUND_FOR_F_OWNER_EX +# define STRACE_WORKAROUND_FOR_F_OWNER_EX +/* + * Linux kernel commit v2.6.32-rc7~23 has changed values of F_SETOWN_EX + * and F_GETOWN_EX constants introduced by commit v2.6.32-rc1~96 to fix + * the conflict with F_GETLK64 and F_SETLK64 constants. + * Looks like the best way to handle this situation is to pretend that + * old values of F_SETOWN_EX and F_GETOWN_EX didn't exist. + */ +# if defined F_SETOWN_EX && F_SETOWN_EX != 15 +# warning invalid value of F_SETOWN_EX ignored +# endif +# undef F_SETOWN_EX +# if defined F_GETOWN_EX && F_GETOWN_EX != 16 +# warning invalid value of F_GETOWN_EX ignored +# endif +# undef F_GETOWN_EX +#endif F_SETOWN_EX 15 F_GETOWN_EX 16 + F_GETOWNER_UIDS 17 F_OFD_GETLK 36 F_OFD_SETLK 37 diff --git a/xlat/fdflags.h b/xlat/fdflags.h index 8a5d03c4..5d627e34 100644 --- a/xlat/fdflags.h +++ b/xlat/fdflags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/fdflags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat fdflags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat fdflags in mpers mode + +# else static const struct xlat fdflags[] = { @@ -14,4 +20,6 @@ const struct xlat fdflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fib_rule_actions.h b/xlat/fib_rule_actions.h index 741b36db..5681ddba 100644 --- a/xlat/fib_rule_actions.h +++ b/xlat/fib_rule_actions.h @@ -1,37 +1,79 @@ /* Generated by ./xlat/gen.sh from ./xlat/fib_rule_actions.in; do not edit. */ -#if !(defined(FR_ACT_UNSPEC) || (defined(HAVE_DECL_FR_ACT_UNSPEC) && HAVE_DECL_FR_ACT_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FR_ACT_UNSPEC) || (defined(HAVE_DECL_FR_ACT_UNSPEC) && HAVE_DECL_FR_ACT_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FR_ACT_UNSPEC) == (0), "FR_ACT_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FR_ACT_UNSPEC 0 #endif -#if !(defined(FR_ACT_TO_TBL) || (defined(HAVE_DECL_FR_ACT_TO_TBL) && HAVE_DECL_FR_ACT_TO_TBL)) +#if defined(FR_ACT_TO_TBL) || (defined(HAVE_DECL_FR_ACT_TO_TBL) && HAVE_DECL_FR_ACT_TO_TBL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FR_ACT_TO_TBL) == (1), "FR_ACT_TO_TBL != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FR_ACT_TO_TBL 1 #endif -#if !(defined(FR_ACT_GOTO) || (defined(HAVE_DECL_FR_ACT_GOTO) && HAVE_DECL_FR_ACT_GOTO)) +#if defined(FR_ACT_GOTO) || (defined(HAVE_DECL_FR_ACT_GOTO) && HAVE_DECL_FR_ACT_GOTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FR_ACT_GOTO) == (2), "FR_ACT_GOTO != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FR_ACT_GOTO 2 #endif -#if !(defined(FR_ACT_NOP) || (defined(HAVE_DECL_FR_ACT_NOP) && HAVE_DECL_FR_ACT_NOP)) +#if defined(FR_ACT_NOP) || (defined(HAVE_DECL_FR_ACT_NOP) && HAVE_DECL_FR_ACT_NOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FR_ACT_NOP) == (3), "FR_ACT_NOP != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FR_ACT_NOP 3 #endif -#if !(defined(FR_ACT_RES3) || (defined(HAVE_DECL_FR_ACT_RES3) && HAVE_DECL_FR_ACT_RES3)) +#if defined(FR_ACT_RES3) || (defined(HAVE_DECL_FR_ACT_RES3) && HAVE_DECL_FR_ACT_RES3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FR_ACT_RES3) == (4), "FR_ACT_RES3 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FR_ACT_RES3 4 #endif -#if !(defined(FR_ACT_RES4) || (defined(HAVE_DECL_FR_ACT_RES4) && HAVE_DECL_FR_ACT_RES4)) +#if defined(FR_ACT_RES4) || (defined(HAVE_DECL_FR_ACT_RES4) && HAVE_DECL_FR_ACT_RES4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FR_ACT_RES4) == (5), "FR_ACT_RES4 != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FR_ACT_RES4 5 #endif -#if !(defined(FR_ACT_BLACKHOLE) || (defined(HAVE_DECL_FR_ACT_BLACKHOLE) && HAVE_DECL_FR_ACT_BLACKHOLE)) +#if defined(FR_ACT_BLACKHOLE) || (defined(HAVE_DECL_FR_ACT_BLACKHOLE) && HAVE_DECL_FR_ACT_BLACKHOLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FR_ACT_BLACKHOLE) == (6), "FR_ACT_BLACKHOLE != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FR_ACT_BLACKHOLE 6 #endif -#if !(defined(FR_ACT_UNREACHABLE) || (defined(HAVE_DECL_FR_ACT_UNREACHABLE) && HAVE_DECL_FR_ACT_UNREACHABLE)) +#if defined(FR_ACT_UNREACHABLE) || (defined(HAVE_DECL_FR_ACT_UNREACHABLE) && HAVE_DECL_FR_ACT_UNREACHABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FR_ACT_UNREACHABLE) == (7), "FR_ACT_UNREACHABLE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FR_ACT_UNREACHABLE 7 #endif -#if !(defined(FR_ACT_PROHIBIT) || (defined(HAVE_DECL_FR_ACT_PROHIBIT) && HAVE_DECL_FR_ACT_PROHIBIT)) +#if defined(FR_ACT_PROHIBIT) || (defined(HAVE_DECL_FR_ACT_PROHIBIT) && HAVE_DECL_FR_ACT_PROHIBIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FR_ACT_PROHIBIT) == (8), "FR_ACT_PROHIBIT != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FR_ACT_PROHIBIT 8 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat fib_rule_actions in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat fib_rule_actions in mpers mode + +# else static const struct xlat fib_rule_actions[] = { @@ -47,4 +89,6 @@ const struct xlat fib_rule_actions[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fib_rule_flags.h b/xlat/fib_rule_flags.h index 4f40da1d..b395b5ad 100644 --- a/xlat/fib_rule_flags.h +++ b/xlat/fib_rule_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/fib_rule_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat fib_rule_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat fib_rule_flags in mpers mode + +# else static const struct xlat fib_rule_flags[] = { @@ -29,4 +35,6 @@ const struct xlat fib_rule_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fiemap_extent_flags.h b/xlat/fiemap_extent_flags.h index 629328c4..41e85be8 100644 --- a/xlat/fiemap_extent_flags.h +++ b/xlat/fiemap_extent_flags.h @@ -1,43 +1,93 @@ /* Generated by ./xlat/gen.sh from ./xlat/fiemap_extent_flags.in; do not edit. */ -#if !(defined(FIEMAP_EXTENT_LAST) || (defined(HAVE_DECL_FIEMAP_EXTENT_LAST) && HAVE_DECL_FIEMAP_EXTENT_LAST)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FIEMAP_EXTENT_LAST) || (defined(HAVE_DECL_FIEMAP_EXTENT_LAST) && HAVE_DECL_FIEMAP_EXTENT_LAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_LAST) == (0x00000001), "FIEMAP_EXTENT_LAST != 0x00000001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_LAST 0x00000001 #endif -#if !(defined(FIEMAP_EXTENT_UNKNOWN) || (defined(HAVE_DECL_FIEMAP_EXTENT_UNKNOWN) && HAVE_DECL_FIEMAP_EXTENT_UNKNOWN)) +#if defined(FIEMAP_EXTENT_UNKNOWN) || (defined(HAVE_DECL_FIEMAP_EXTENT_UNKNOWN) && HAVE_DECL_FIEMAP_EXTENT_UNKNOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_UNKNOWN) == (0x00000002), "FIEMAP_EXTENT_UNKNOWN != 0x00000002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_UNKNOWN 0x00000002 #endif -#if !(defined(FIEMAP_EXTENT_DELALLOC) || (defined(HAVE_DECL_FIEMAP_EXTENT_DELALLOC) && HAVE_DECL_FIEMAP_EXTENT_DELALLOC)) +#if defined(FIEMAP_EXTENT_DELALLOC) || (defined(HAVE_DECL_FIEMAP_EXTENT_DELALLOC) && HAVE_DECL_FIEMAP_EXTENT_DELALLOC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_DELALLOC) == (0x00000004), "FIEMAP_EXTENT_DELALLOC != 0x00000004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_DELALLOC 0x00000004 #endif -#if !(defined(FIEMAP_EXTENT_ENCODED) || (defined(HAVE_DECL_FIEMAP_EXTENT_ENCODED) && HAVE_DECL_FIEMAP_EXTENT_ENCODED)) +#if defined(FIEMAP_EXTENT_ENCODED) || (defined(HAVE_DECL_FIEMAP_EXTENT_ENCODED) && HAVE_DECL_FIEMAP_EXTENT_ENCODED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_ENCODED) == (0x00000008), "FIEMAP_EXTENT_ENCODED != 0x00000008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_ENCODED 0x00000008 #endif -#if !(defined(FIEMAP_EXTENT_DATA_ENCRYPTED) || (defined(HAVE_DECL_FIEMAP_EXTENT_DATA_ENCRYPTED) && HAVE_DECL_FIEMAP_EXTENT_DATA_ENCRYPTED)) +#if defined(FIEMAP_EXTENT_DATA_ENCRYPTED) || (defined(HAVE_DECL_FIEMAP_EXTENT_DATA_ENCRYPTED) && HAVE_DECL_FIEMAP_EXTENT_DATA_ENCRYPTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_DATA_ENCRYPTED) == (0x00000080), "FIEMAP_EXTENT_DATA_ENCRYPTED != 0x00000080"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_DATA_ENCRYPTED 0x00000080 #endif -#if !(defined(FIEMAP_EXTENT_NOT_ALIGNED) || (defined(HAVE_DECL_FIEMAP_EXTENT_NOT_ALIGNED) && HAVE_DECL_FIEMAP_EXTENT_NOT_ALIGNED)) +#if defined(FIEMAP_EXTENT_NOT_ALIGNED) || (defined(HAVE_DECL_FIEMAP_EXTENT_NOT_ALIGNED) && HAVE_DECL_FIEMAP_EXTENT_NOT_ALIGNED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_NOT_ALIGNED) == (0x00000100), "FIEMAP_EXTENT_NOT_ALIGNED != 0x00000100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_NOT_ALIGNED 0x00000100 #endif -#if !(defined(FIEMAP_EXTENT_DATA_INLINE) || (defined(HAVE_DECL_FIEMAP_EXTENT_DATA_INLINE) && HAVE_DECL_FIEMAP_EXTENT_DATA_INLINE)) +#if defined(FIEMAP_EXTENT_DATA_INLINE) || (defined(HAVE_DECL_FIEMAP_EXTENT_DATA_INLINE) && HAVE_DECL_FIEMAP_EXTENT_DATA_INLINE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_DATA_INLINE) == (0x00000200), "FIEMAP_EXTENT_DATA_INLINE != 0x00000200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_DATA_INLINE 0x00000200 #endif -#if !(defined(FIEMAP_EXTENT_DATA_TAIL) || (defined(HAVE_DECL_FIEMAP_EXTENT_DATA_TAIL) && HAVE_DECL_FIEMAP_EXTENT_DATA_TAIL)) +#if defined(FIEMAP_EXTENT_DATA_TAIL) || (defined(HAVE_DECL_FIEMAP_EXTENT_DATA_TAIL) && HAVE_DECL_FIEMAP_EXTENT_DATA_TAIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_DATA_TAIL) == (0x00000400), "FIEMAP_EXTENT_DATA_TAIL != 0x00000400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_DATA_TAIL 0x00000400 #endif -#if !(defined(FIEMAP_EXTENT_UNWRITTEN) || (defined(HAVE_DECL_FIEMAP_EXTENT_UNWRITTEN) && HAVE_DECL_FIEMAP_EXTENT_UNWRITTEN)) +#if defined(FIEMAP_EXTENT_UNWRITTEN) || (defined(HAVE_DECL_FIEMAP_EXTENT_UNWRITTEN) && HAVE_DECL_FIEMAP_EXTENT_UNWRITTEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_UNWRITTEN) == (0x00000800), "FIEMAP_EXTENT_UNWRITTEN != 0x00000800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_UNWRITTEN 0x00000800 #endif -#if !(defined(FIEMAP_EXTENT_MERGED) || (defined(HAVE_DECL_FIEMAP_EXTENT_MERGED) && HAVE_DECL_FIEMAP_EXTENT_MERGED)) +#if defined(FIEMAP_EXTENT_MERGED) || (defined(HAVE_DECL_FIEMAP_EXTENT_MERGED) && HAVE_DECL_FIEMAP_EXTENT_MERGED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_MERGED) == (0x00001000), "FIEMAP_EXTENT_MERGED != 0x00001000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_MERGED 0x00001000 #endif -#if !(defined(FIEMAP_EXTENT_SHARED) || (defined(HAVE_DECL_FIEMAP_EXTENT_SHARED) && HAVE_DECL_FIEMAP_EXTENT_SHARED)) +#if defined(FIEMAP_EXTENT_SHARED) || (defined(HAVE_DECL_FIEMAP_EXTENT_SHARED) && HAVE_DECL_FIEMAP_EXTENT_SHARED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_EXTENT_SHARED) == (0x00002000), "FIEMAP_EXTENT_SHARED != 0x00002000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_EXTENT_SHARED 0x00002000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat fiemap_extent_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat fiemap_extent_flags in mpers mode + +# else static const struct xlat fiemap_extent_flags[] = { @@ -55,4 +105,6 @@ const struct xlat fiemap_extent_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fiemap_flags.h b/xlat/fiemap_flags.h index 4f463ef6..73395e8f 100644 --- a/xlat/fiemap_flags.h +++ b/xlat/fiemap_flags.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/fiemap_flags.in; do not edit. */ -#if !(defined(FIEMAP_FLAG_SYNC) || (defined(HAVE_DECL_FIEMAP_FLAG_SYNC) && HAVE_DECL_FIEMAP_FLAG_SYNC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FIEMAP_FLAG_SYNC) || (defined(HAVE_DECL_FIEMAP_FLAG_SYNC) && HAVE_DECL_FIEMAP_FLAG_SYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_FLAG_SYNC) == (1), "FIEMAP_FLAG_SYNC != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_FLAG_SYNC 1 #endif -#if !(defined(FIEMAP_FLAG_XATTR) || (defined(HAVE_DECL_FIEMAP_FLAG_XATTR) && HAVE_DECL_FIEMAP_FLAG_XATTR)) +#if defined(FIEMAP_FLAG_XATTR) || (defined(HAVE_DECL_FIEMAP_FLAG_XATTR) && HAVE_DECL_FIEMAP_FLAG_XATTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_FLAG_XATTR) == (2), "FIEMAP_FLAG_XATTR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_FLAG_XATTR 2 #endif -#if !(defined(FIEMAP_FLAG_CACHE) || (defined(HAVE_DECL_FIEMAP_FLAG_CACHE) && HAVE_DECL_FIEMAP_FLAG_CACHE)) +#if defined(FIEMAP_FLAG_CACHE) || (defined(HAVE_DECL_FIEMAP_FLAG_CACHE) && HAVE_DECL_FIEMAP_FLAG_CACHE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FIEMAP_FLAG_CACHE) == (4), "FIEMAP_FLAG_CACHE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FIEMAP_FLAG_CACHE 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat fiemap_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat fiemap_flags in mpers mode + +# else static const struct xlat fiemap_flags[] = { @@ -23,4 +41,6 @@ const struct xlat fiemap_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/flockcmds.h b/xlat/flockcmds.h index 2ccd714a..c7cf9399 100644 --- a/xlat/flockcmds.h +++ b/xlat/flockcmds.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/flockcmds.in; do not edit. */ -#if !(defined(LOCK_SH) || (defined(HAVE_DECL_LOCK_SH) && HAVE_DECL_LOCK_SH)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(LOCK_SH) || (defined(HAVE_DECL_LOCK_SH) && HAVE_DECL_LOCK_SH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOCK_SH) == (1), "LOCK_SH != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOCK_SH 1 #endif -#if !(defined(LOCK_EX) || (defined(HAVE_DECL_LOCK_EX) && HAVE_DECL_LOCK_EX)) +#if defined(LOCK_EX) || (defined(HAVE_DECL_LOCK_EX) && HAVE_DECL_LOCK_EX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOCK_EX) == (2), "LOCK_EX != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOCK_EX 2 #endif -#if !(defined(LOCK_NB) || (defined(HAVE_DECL_LOCK_NB) && HAVE_DECL_LOCK_NB)) +#if defined(LOCK_NB) || (defined(HAVE_DECL_LOCK_NB) && HAVE_DECL_LOCK_NB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOCK_NB) == (4), "LOCK_NB != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOCK_NB 4 #endif -#if !(defined(LOCK_UN) || (defined(HAVE_DECL_LOCK_UN) && HAVE_DECL_LOCK_UN)) +#if defined(LOCK_UN) || (defined(HAVE_DECL_LOCK_UN) && HAVE_DECL_LOCK_UN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOCK_UN) == (8), "LOCK_UN != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOCK_UN 8 #endif -#if !(defined(LOCK_MAND) || (defined(HAVE_DECL_LOCK_MAND) && HAVE_DECL_LOCK_MAND)) +#if defined(LOCK_MAND) || (defined(HAVE_DECL_LOCK_MAND) && HAVE_DECL_LOCK_MAND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOCK_MAND) == (32), "LOCK_MAND != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOCK_MAND 32 #endif -#if !(defined(LOCK_RW) || (defined(HAVE_DECL_LOCK_RW) && HAVE_DECL_LOCK_RW)) +#if defined(LOCK_RW) || (defined(HAVE_DECL_LOCK_RW) && HAVE_DECL_LOCK_RW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOCK_RW) == (192), "LOCK_RW != 192"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOCK_RW 192 #endif -#if !(defined(LOCK_READ) || (defined(HAVE_DECL_LOCK_READ) && HAVE_DECL_LOCK_READ)) +#if defined(LOCK_READ) || (defined(HAVE_DECL_LOCK_READ) && HAVE_DECL_LOCK_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOCK_READ) == (64), "LOCK_READ != 64"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOCK_READ 64 #endif -#if !(defined(LOCK_WRITE) || (defined(HAVE_DECL_LOCK_WRITE) && HAVE_DECL_LOCK_WRITE)) +#if defined(LOCK_WRITE) || (defined(HAVE_DECL_LOCK_WRITE) && HAVE_DECL_LOCK_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOCK_WRITE) == (128), "LOCK_WRITE != 128"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOCK_WRITE 128 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat flockcmds in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat flockcmds in mpers mode + +# else static const struct xlat flockcmds[] = { @@ -43,4 +81,6 @@ const struct xlat flockcmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/fsmagic.h b/xlat/fsmagic.h index 8ca93dae..16ad2772 100644 --- a/xlat/fsmagic.h +++ b/xlat/fsmagic.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/fsmagic.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat fsmagic in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat fsmagic in mpers mode + +# else static const struct xlat fsmagic[] = { @@ -114,4 +120,6 @@ const struct xlat fsmagic[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/futexops.h b/xlat/futexops.h index 4efc761c..562f6af9 100644 --- a/xlat/futexops.h +++ b/xlat/futexops.h @@ -1,85 +1,191 @@ /* Generated by ./xlat/gen.sh from ./xlat/futexops.in; do not edit. */ -#if !(defined(FUTEX_WAIT) || (defined(HAVE_DECL_FUTEX_WAIT) && HAVE_DECL_FUTEX_WAIT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FUTEX_WAIT) || (defined(HAVE_DECL_FUTEX_WAIT) && HAVE_DECL_FUTEX_WAIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAIT) == (0), "FUTEX_WAIT != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAIT 0 #endif -#if !(defined(FUTEX_WAKE) || (defined(HAVE_DECL_FUTEX_WAKE) && HAVE_DECL_FUTEX_WAKE)) +#if defined(FUTEX_WAKE) || (defined(HAVE_DECL_FUTEX_WAKE) && HAVE_DECL_FUTEX_WAKE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAKE) == (1), "FUTEX_WAKE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAKE 1 #endif -#if !(defined(FUTEX_FD) || (defined(HAVE_DECL_FUTEX_FD) && HAVE_DECL_FUTEX_FD)) +#if defined(FUTEX_FD) || (defined(HAVE_DECL_FUTEX_FD) && HAVE_DECL_FUTEX_FD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_FD) == (2), "FUTEX_FD != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_FD 2 #endif -#if !(defined(FUTEX_REQUEUE) || (defined(HAVE_DECL_FUTEX_REQUEUE) && HAVE_DECL_FUTEX_REQUEUE)) +#if defined(FUTEX_REQUEUE) || (defined(HAVE_DECL_FUTEX_REQUEUE) && HAVE_DECL_FUTEX_REQUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_REQUEUE) == (3), "FUTEX_REQUEUE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_REQUEUE 3 #endif -#if !(defined(FUTEX_CMP_REQUEUE) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE) && HAVE_DECL_FUTEX_CMP_REQUEUE)) +#if defined(FUTEX_CMP_REQUEUE) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE) && HAVE_DECL_FUTEX_CMP_REQUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_CMP_REQUEUE) == (4), "FUTEX_CMP_REQUEUE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_CMP_REQUEUE 4 #endif -#if !(defined(FUTEX_WAKE_OP) || (defined(HAVE_DECL_FUTEX_WAKE_OP) && HAVE_DECL_FUTEX_WAKE_OP)) +#if defined(FUTEX_WAKE_OP) || (defined(HAVE_DECL_FUTEX_WAKE_OP) && HAVE_DECL_FUTEX_WAKE_OP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAKE_OP) == (5), "FUTEX_WAKE_OP != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAKE_OP 5 #endif -#if !(defined(FUTEX_LOCK_PI) || (defined(HAVE_DECL_FUTEX_LOCK_PI) && HAVE_DECL_FUTEX_LOCK_PI)) +#if defined(FUTEX_LOCK_PI) || (defined(HAVE_DECL_FUTEX_LOCK_PI) && HAVE_DECL_FUTEX_LOCK_PI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_LOCK_PI) == (6), "FUTEX_LOCK_PI != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_LOCK_PI 6 #endif -#if !(defined(FUTEX_UNLOCK_PI) || (defined(HAVE_DECL_FUTEX_UNLOCK_PI) && HAVE_DECL_FUTEX_UNLOCK_PI)) +#if defined(FUTEX_UNLOCK_PI) || (defined(HAVE_DECL_FUTEX_UNLOCK_PI) && HAVE_DECL_FUTEX_UNLOCK_PI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_UNLOCK_PI) == (7), "FUTEX_UNLOCK_PI != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_UNLOCK_PI 7 #endif -#if !(defined(FUTEX_TRYLOCK_PI) || (defined(HAVE_DECL_FUTEX_TRYLOCK_PI) && HAVE_DECL_FUTEX_TRYLOCK_PI)) +#if defined(FUTEX_TRYLOCK_PI) || (defined(HAVE_DECL_FUTEX_TRYLOCK_PI) && HAVE_DECL_FUTEX_TRYLOCK_PI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_TRYLOCK_PI) == (8), "FUTEX_TRYLOCK_PI != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_TRYLOCK_PI 8 #endif -#if !(defined(FUTEX_WAIT_BITSET) || (defined(HAVE_DECL_FUTEX_WAIT_BITSET) && HAVE_DECL_FUTEX_WAIT_BITSET)) +#if defined(FUTEX_WAIT_BITSET) || (defined(HAVE_DECL_FUTEX_WAIT_BITSET) && HAVE_DECL_FUTEX_WAIT_BITSET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAIT_BITSET) == (9), "FUTEX_WAIT_BITSET != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAIT_BITSET 9 #endif -#if !(defined(FUTEX_WAKE_BITSET) || (defined(HAVE_DECL_FUTEX_WAKE_BITSET) && HAVE_DECL_FUTEX_WAKE_BITSET)) +#if defined(FUTEX_WAKE_BITSET) || (defined(HAVE_DECL_FUTEX_WAKE_BITSET) && HAVE_DECL_FUTEX_WAKE_BITSET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAKE_BITSET) == (10), "FUTEX_WAKE_BITSET != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAKE_BITSET 10 #endif -#if !(defined(FUTEX_WAIT_REQUEUE_PI) || (defined(HAVE_DECL_FUTEX_WAIT_REQUEUE_PI) && HAVE_DECL_FUTEX_WAIT_REQUEUE_PI)) +#if defined(FUTEX_WAIT_REQUEUE_PI) || (defined(HAVE_DECL_FUTEX_WAIT_REQUEUE_PI) && HAVE_DECL_FUTEX_WAIT_REQUEUE_PI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAIT_REQUEUE_PI) == (11), "FUTEX_WAIT_REQUEUE_PI != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAIT_REQUEUE_PI 11 #endif -#if !(defined(FUTEX_CMP_REQUEUE_PI) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE_PI) && HAVE_DECL_FUTEX_CMP_REQUEUE_PI)) +#if defined(FUTEX_CMP_REQUEUE_PI) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE_PI) && HAVE_DECL_FUTEX_CMP_REQUEUE_PI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_CMP_REQUEUE_PI) == (12), "FUTEX_CMP_REQUEUE_PI != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_CMP_REQUEUE_PI 12 #endif -#if !(defined(FUTEX_WAIT_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_PRIVATE) && HAVE_DECL_FUTEX_WAIT_PRIVATE)) +#if defined(FUTEX_WAIT_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_PRIVATE) && HAVE_DECL_FUTEX_WAIT_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAIT_PRIVATE) == ((FUTEX_WAIT | FUTEX_PRIVATE_FLAG)), "FUTEX_WAIT_PRIVATE != (FUTEX_WAIT | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAIT_PRIVATE (FUTEX_WAIT | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_WAKE_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAKE_PRIVATE) && HAVE_DECL_FUTEX_WAKE_PRIVATE)) +#if defined(FUTEX_WAKE_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAKE_PRIVATE) && HAVE_DECL_FUTEX_WAKE_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAKE_PRIVATE) == ((FUTEX_WAKE | FUTEX_PRIVATE_FLAG)), "FUTEX_WAKE_PRIVATE != (FUTEX_WAKE | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAKE_PRIVATE (FUTEX_WAKE | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_REQUEUE_PRIVATE) || (defined(HAVE_DECL_FUTEX_REQUEUE_PRIVATE) && HAVE_DECL_FUTEX_REQUEUE_PRIVATE)) +#if defined(FUTEX_REQUEUE_PRIVATE) || (defined(HAVE_DECL_FUTEX_REQUEUE_PRIVATE) && HAVE_DECL_FUTEX_REQUEUE_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_REQUEUE_PRIVATE) == ((FUTEX_REQUEUE | FUTEX_PRIVATE_FLAG)), "FUTEX_REQUEUE_PRIVATE != (FUTEX_REQUEUE | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_REQUEUE_PRIVATE (FUTEX_REQUEUE | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_CMP_REQUEUE_PRIVATE) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE_PRIVATE) && HAVE_DECL_FUTEX_CMP_REQUEUE_PRIVATE)) +#if defined(FUTEX_CMP_REQUEUE_PRIVATE) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE_PRIVATE) && HAVE_DECL_FUTEX_CMP_REQUEUE_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_CMP_REQUEUE_PRIVATE) == ((FUTEX_CMP_REQUEUE | FUTEX_PRIVATE_FLAG)), "FUTEX_CMP_REQUEUE_PRIVATE != (FUTEX_CMP_REQUEUE | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_CMP_REQUEUE_PRIVATE (FUTEX_CMP_REQUEUE | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_WAKE_OP_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAKE_OP_PRIVATE) && HAVE_DECL_FUTEX_WAKE_OP_PRIVATE)) +#if defined(FUTEX_WAKE_OP_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAKE_OP_PRIVATE) && HAVE_DECL_FUTEX_WAKE_OP_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAKE_OP_PRIVATE) == ((FUTEX_WAKE_OP | FUTEX_PRIVATE_FLAG)), "FUTEX_WAKE_OP_PRIVATE != (FUTEX_WAKE_OP | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAKE_OP_PRIVATE (FUTEX_WAKE_OP | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_LOCK_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_LOCK_PI_PRIVATE) && HAVE_DECL_FUTEX_LOCK_PI_PRIVATE)) +#if defined(FUTEX_LOCK_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_LOCK_PI_PRIVATE) && HAVE_DECL_FUTEX_LOCK_PI_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_LOCK_PI_PRIVATE) == ((FUTEX_LOCK_PI | FUTEX_PRIVATE_FLAG)), "FUTEX_LOCK_PI_PRIVATE != (FUTEX_LOCK_PI | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_LOCK_PI_PRIVATE (FUTEX_LOCK_PI | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_UNLOCK_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_UNLOCK_PI_PRIVATE) && HAVE_DECL_FUTEX_UNLOCK_PI_PRIVATE)) +#if defined(FUTEX_UNLOCK_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_UNLOCK_PI_PRIVATE) && HAVE_DECL_FUTEX_UNLOCK_PI_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_UNLOCK_PI_PRIVATE) == ((FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG)), "FUTEX_UNLOCK_PI_PRIVATE != (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_UNLOCK_PI_PRIVATE (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_TRYLOCK_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_TRYLOCK_PI_PRIVATE) && HAVE_DECL_FUTEX_TRYLOCK_PI_PRIVATE)) +#if defined(FUTEX_TRYLOCK_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_TRYLOCK_PI_PRIVATE) && HAVE_DECL_FUTEX_TRYLOCK_PI_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_TRYLOCK_PI_PRIVATE) == ((FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG)), "FUTEX_TRYLOCK_PI_PRIVATE != (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_WAIT_BITSET_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_BITSET_PRIVATE) && HAVE_DECL_FUTEX_WAIT_BITSET_PRIVATE)) +#if defined(FUTEX_WAIT_BITSET_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_BITSET_PRIVATE) && HAVE_DECL_FUTEX_WAIT_BITSET_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAIT_BITSET_PRIVATE) == ((FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG)), "FUTEX_WAIT_BITSET_PRIVATE != (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_WAKE_BITSET_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAKE_BITSET_PRIVATE) && HAVE_DECL_FUTEX_WAKE_BITSET_PRIVATE)) +#if defined(FUTEX_WAKE_BITSET_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAKE_BITSET_PRIVATE) && HAVE_DECL_FUTEX_WAKE_BITSET_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAKE_BITSET_PRIVATE) == ((FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG)), "FUTEX_WAKE_BITSET_PRIVATE != (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_WAIT_REQUEUE_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_REQUEUE_PI_PRIVATE) && HAVE_DECL_FUTEX_WAIT_REQUEUE_PI_PRIVATE)) +#if defined(FUTEX_WAIT_REQUEUE_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_WAIT_REQUEUE_PI_PRIVATE) && HAVE_DECL_FUTEX_WAIT_REQUEUE_PI_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_WAIT_REQUEUE_PI_PRIVATE) == ((FUTEX_WAIT_REQUEUE_PI | FUTEX_PRIVATE_FLAG)), "FUTEX_WAIT_REQUEUE_PI_PRIVATE != (FUTEX_WAIT_REQUEUE_PI | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | FUTEX_PRIVATE_FLAG) #endif -#if !(defined(FUTEX_CMP_REQUEUE_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE_PI_PRIVATE) && HAVE_DECL_FUTEX_CMP_REQUEUE_PI_PRIVATE)) +#if defined(FUTEX_CMP_REQUEUE_PI_PRIVATE) || (defined(HAVE_DECL_FUTEX_CMP_REQUEUE_PI_PRIVATE) && HAVE_DECL_FUTEX_CMP_REQUEUE_PI_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_CMP_REQUEUE_PI_PRIVATE) == ((FUTEX_CMP_REQUEUE_PI | FUTEX_PRIVATE_FLAG)), "FUTEX_CMP_REQUEUE_PI_PRIVATE != (FUTEX_CMP_REQUEUE_PI | FUTEX_PRIVATE_FLAG)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | FUTEX_PRIVATE_FLAG) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat futexops in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat futexops in mpers mode + +# else static const struct xlat futexops[] = { @@ -132,4 +238,6 @@ const struct xlat futexops[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/futexwakecmps.h b/xlat/futexwakecmps.h index 379e0a09..b0ee5b0d 100644 --- a/xlat/futexwakecmps.h +++ b/xlat/futexwakecmps.h @@ -1,28 +1,58 @@ /* Generated by ./xlat/gen.sh from ./xlat/futexwakecmps.in; do not edit. */ -#if !(defined(FUTEX_OP_CMP_EQ) || (defined(HAVE_DECL_FUTEX_OP_CMP_EQ) && HAVE_DECL_FUTEX_OP_CMP_EQ)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FUTEX_OP_CMP_EQ) || (defined(HAVE_DECL_FUTEX_OP_CMP_EQ) && HAVE_DECL_FUTEX_OP_CMP_EQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_CMP_EQ) == (0), "FUTEX_OP_CMP_EQ != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_CMP_EQ 0 #endif -#if !(defined(FUTEX_OP_CMP_NE) || (defined(HAVE_DECL_FUTEX_OP_CMP_NE) && HAVE_DECL_FUTEX_OP_CMP_NE)) +#if defined(FUTEX_OP_CMP_NE) || (defined(HAVE_DECL_FUTEX_OP_CMP_NE) && HAVE_DECL_FUTEX_OP_CMP_NE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_CMP_NE) == (1), "FUTEX_OP_CMP_NE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_CMP_NE 1 #endif -#if !(defined(FUTEX_OP_CMP_LT) || (defined(HAVE_DECL_FUTEX_OP_CMP_LT) && HAVE_DECL_FUTEX_OP_CMP_LT)) +#if defined(FUTEX_OP_CMP_LT) || (defined(HAVE_DECL_FUTEX_OP_CMP_LT) && HAVE_DECL_FUTEX_OP_CMP_LT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_CMP_LT) == (2), "FUTEX_OP_CMP_LT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_CMP_LT 2 #endif -#if !(defined(FUTEX_OP_CMP_LE) || (defined(HAVE_DECL_FUTEX_OP_CMP_LE) && HAVE_DECL_FUTEX_OP_CMP_LE)) +#if defined(FUTEX_OP_CMP_LE) || (defined(HAVE_DECL_FUTEX_OP_CMP_LE) && HAVE_DECL_FUTEX_OP_CMP_LE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_CMP_LE) == (3), "FUTEX_OP_CMP_LE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_CMP_LE 3 #endif -#if !(defined(FUTEX_OP_CMP_GT) || (defined(HAVE_DECL_FUTEX_OP_CMP_GT) && HAVE_DECL_FUTEX_OP_CMP_GT)) +#if defined(FUTEX_OP_CMP_GT) || (defined(HAVE_DECL_FUTEX_OP_CMP_GT) && HAVE_DECL_FUTEX_OP_CMP_GT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_CMP_GT) == (4), "FUTEX_OP_CMP_GT != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_CMP_GT 4 #endif -#if !(defined(FUTEX_OP_CMP_GE) || (defined(HAVE_DECL_FUTEX_OP_CMP_GE) && HAVE_DECL_FUTEX_OP_CMP_GE)) +#if defined(FUTEX_OP_CMP_GE) || (defined(HAVE_DECL_FUTEX_OP_CMP_GE) && HAVE_DECL_FUTEX_OP_CMP_GE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_CMP_GE) == (5), "FUTEX_OP_CMP_GE != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_CMP_GE 5 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat futexwakecmps in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat futexwakecmps in mpers mode + +# else static const struct xlat futexwakecmps[] = { @@ -35,4 +65,6 @@ const struct xlat futexwakecmps[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/futexwakeops.h b/xlat/futexwakeops.h index cd9b6b5e..b6433536 100644 --- a/xlat/futexwakeops.h +++ b/xlat/futexwakeops.h @@ -1,25 +1,51 @@ /* Generated by ./xlat/gen.sh from ./xlat/futexwakeops.in; do not edit. */ -#if !(defined(FUTEX_OP_SET) || (defined(HAVE_DECL_FUTEX_OP_SET) && HAVE_DECL_FUTEX_OP_SET)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FUTEX_OP_SET) || (defined(HAVE_DECL_FUTEX_OP_SET) && HAVE_DECL_FUTEX_OP_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_SET) == (0), "FUTEX_OP_SET != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_SET 0 #endif -#if !(defined(FUTEX_OP_ADD) || (defined(HAVE_DECL_FUTEX_OP_ADD) && HAVE_DECL_FUTEX_OP_ADD)) +#if defined(FUTEX_OP_ADD) || (defined(HAVE_DECL_FUTEX_OP_ADD) && HAVE_DECL_FUTEX_OP_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_ADD) == (1), "FUTEX_OP_ADD != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_ADD 1 #endif -#if !(defined(FUTEX_OP_OR) || (defined(HAVE_DECL_FUTEX_OP_OR) && HAVE_DECL_FUTEX_OP_OR)) +#if defined(FUTEX_OP_OR) || (defined(HAVE_DECL_FUTEX_OP_OR) && HAVE_DECL_FUTEX_OP_OR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_OR) == (2), "FUTEX_OP_OR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_OR 2 #endif -#if !(defined(FUTEX_OP_ANDN) || (defined(HAVE_DECL_FUTEX_OP_ANDN) && HAVE_DECL_FUTEX_OP_ANDN)) +#if defined(FUTEX_OP_ANDN) || (defined(HAVE_DECL_FUTEX_OP_ANDN) && HAVE_DECL_FUTEX_OP_ANDN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_ANDN) == (3), "FUTEX_OP_ANDN != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_ANDN 3 #endif -#if !(defined(FUTEX_OP_XOR) || (defined(HAVE_DECL_FUTEX_OP_XOR) && HAVE_DECL_FUTEX_OP_XOR)) +#if defined(FUTEX_OP_XOR) || (defined(HAVE_DECL_FUTEX_OP_XOR) && HAVE_DECL_FUTEX_OP_XOR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FUTEX_OP_XOR) == (4), "FUTEX_OP_XOR != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FUTEX_OP_XOR 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat futexwakeops in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat futexwakeops in mpers mode + +# else static const struct xlat futexwakeops[] = { @@ -31,4 +57,6 @@ const struct xlat futexwakeops[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/gen.sh b/xlat/gen.sh index 170163cb..81f20964 100755 --- a/xlat/gen.sh +++ b/xlat/gen.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -eu # # Copyright (c) 2014-2015 Mike Frysinger # Copyright (c) 2014-2015 Dmitry V. Levin @@ -45,7 +45,7 @@ cond_def() local val val="$(printf %s "$line" | - sed -r -n 's/^([^[:space:]]+).*$/\1/p')" + LC_ALL=C sed -r -n 's/^([[:alpha:]_][[:alnum:]_]*).*$/\1/p')" local def def="$(printf %s "${line}" | @@ -53,7 +53,11 @@ cond_def() if [ -n "$def" ]; then cat <<-EOF - #if !(defined($val) || (defined(HAVE_DECL_$val) && HAVE_DECL_$val)) + #if defined($val) || (defined(HAVE_DECL_$val) && HAVE_DECL_$val) + DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE + static_assert(($val) == ($def), "$val != $def"); + DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #else # define $val $def #endif EOF @@ -65,6 +69,7 @@ print_xlat() local val val="$1"; shift + [ 1 = "$value_indexed" ] && printf " [%s] =" "${val}" if [ -z "${val_type-}" ]; then echo " XLAT(${val})," else @@ -78,6 +83,7 @@ print_xlat_pair() val="$1"; shift str="$1"; shift + [ 1 = "$value_indexed" ] && printf " [%s] =" "${val}" if [ -z "${val_type-}" ]; then echo " XLAT_PAIR(${val}, \"${str}\")," else @@ -123,13 +129,21 @@ gen_header() local decl="extern const struct xlat ${name}[];" local in_defs= in_mpers= + value_indexed=0 + if grep -F -x "$decl" "$defs" > /dev/null; then in_defs=1 elif grep -F -x "$decl" "$mpers" > /dev/null; then in_mpers=1 fi - echo "/* Generated by $0 from $1; do not edit. */" + cat <<-EOF + /* Generated by $0 from $1; do not edit. */ + + #include "gcc_compat.h" + #include "static_assert.h" + + EOF local unconditional= line # 1st pass: output directives. @@ -151,6 +165,9 @@ gen_header() '#val_type '*) # to be processed during 2nd pass ;; + '#value_indexed') + value_indexed=1 + ;; '#'*) echo "${line}" ;; @@ -161,35 +178,41 @@ gen_header() esac done < "$input" - echo + cat <<-EOF + + #ifndef XLAT_MACROS_ONLY + + EOF + if [ -n "$in_defs" ]; then cat <<-EOF - #ifndef IN_MPERS + # ifndef IN_MPERS EOF elif [ -n "$in_mpers" ]; then cat <<-EOF - #ifdef IN_MPERS + # ifdef IN_MPERS ${decl} - #else + # else - # if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) + # if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static - # endif + # endif EOF else cat <<-EOF - #ifdef IN_MPERS + # ifdef IN_MPERS - # error static const struct xlat ${name} in mpers mode + # error static const struct xlat ${name} in mpers mode - #else + # else static EOF fi + echo "const struct xlat ${name}[] = {" unconditional= val_type= @@ -206,6 +229,8 @@ gen_header() '#unconditional') unconditional=1 ;; + '#value_indexed') + ;; '#val_type '*) val_type="${line#\#val_type }" ;; @@ -236,7 +261,9 @@ gen_header() cat <<-EOF }; - #endif /* !IN_MPERS */ + # endif /* !IN_MPERS */ + + #endif /* !XLAT_MACROS_ONLY */ EOF ) >"${output}" } diff --git a/xlat/getrandom_flags.h b/xlat/getrandom_flags.h index 6b88199f..e2877d1a 100644 --- a/xlat/getrandom_flags.h +++ b/xlat/getrandom_flags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/getrandom_flags.in; do not edit. */ -#if !(defined(GRND_NONBLOCK) || (defined(HAVE_DECL_GRND_NONBLOCK) && HAVE_DECL_GRND_NONBLOCK)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(GRND_NONBLOCK) || (defined(HAVE_DECL_GRND_NONBLOCK) && HAVE_DECL_GRND_NONBLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GRND_NONBLOCK) == (1), "GRND_NONBLOCK != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define GRND_NONBLOCK 1 #endif -#if !(defined(GRND_RANDOM) || (defined(HAVE_DECL_GRND_RANDOM) && HAVE_DECL_GRND_RANDOM)) +#if defined(GRND_RANDOM) || (defined(HAVE_DECL_GRND_RANDOM) && HAVE_DECL_GRND_RANDOM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GRND_RANDOM) == (2), "GRND_RANDOM != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define GRND_RANDOM 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat getrandom_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat getrandom_flags in mpers mode + +# else static const struct xlat getrandom_flags[] = { @@ -19,4 +33,6 @@ const struct xlat getrandom_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/getsockipoptions.h b/xlat/getsock_ip_options.h similarity index 88% rename from xlat/getsockipoptions.h rename to xlat/getsock_ip_options.h index cd043a1f..ca4bd9eb 100644 --- a/xlat/getsockipoptions.h +++ b/xlat/getsock_ip_options.h @@ -1,17 +1,23 @@ -/* Generated by ./xlat/gen.sh from ./xlat/getsockipoptions.in; do not edit. */ +/* Generated by ./xlat/gen.sh from ./xlat/getsock_ip_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat getsockipoptions in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat getsock_ip_options in mpers mode + +# else static -const struct xlat getsockipoptions[] = { +const struct xlat getsock_ip_options[] = { /* * Options specific to getsockopt(SOL_IP). * Common {g,s}etsockopt(SOL_IP) options -* should be in sockipoptions.in instead. +* should be in sock_ip_options.in instead. */ #if defined(ARPT_SO_GET_INFO) || (defined(HAVE_DECL_ARPT_SO_GET_INFO) && HAVE_DECL_ARPT_SO_GET_INFO) @@ -80,4 +86,6 @@ const struct xlat getsockipoptions[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/getsock_ip_options.in b/xlat/getsock_ip_options.in new file mode 100644 index 00000000..7b054608 --- /dev/null +++ b/xlat/getsock_ip_options.in @@ -0,0 +1,29 @@ +/* + * Options specific to getsockopt(SOL_IP). + * Common {g,s}etsockopt(SOL_IP) options + * should be in sock_ip_options.in instead. + */ + +ARPT_SO_GET_INFO +ARPT_SO_GET_ENTRIES +ARPT_SO_GET_REVISION_MATCH +ARPT_SO_GET_REVISION_TARGET + +EBT_SO_GET_INFO +EBT_SO_GET_ENTRIES +EBT_SO_GET_INIT_INFO +EBT_SO_GET_INIT_ENTRIES + +IP_VS_SO_GET_VERSION +IP_VS_SO_GET_INFO +IP_VS_SO_GET_SERVICES +IP_VS_SO_GET_SERVICE +IP_VS_SO_GET_DESTS +IP_VS_SO_GET_DEST +IP_VS_SO_GET_TIMEOUT +IP_VS_SO_GET_DAEMON + +IPT_SO_GET_INFO +IPT_SO_GET_ENTRIES +IPT_SO_GET_REVISION_MATCH +IPT_SO_GET_REVISION_TARGET diff --git a/xlat/getsockipv6options.h b/xlat/getsock_ipv6_options.h similarity index 65% rename from xlat/getsockipv6options.h rename to xlat/getsock_ipv6_options.h index 402be181..6525dfdb 100644 --- a/xlat/getsockipv6options.h +++ b/xlat/getsock_ipv6_options.h @@ -1,17 +1,23 @@ -/* Generated by ./xlat/gen.sh from ./xlat/getsockipv6options.in; do not edit. */ +/* Generated by ./xlat/gen.sh from ./xlat/getsock_ipv6_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat getsockipv6options in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat getsock_ipv6_options in mpers mode + +# else static -const struct xlat getsockipv6options[] = { +const struct xlat getsock_ipv6_options[] = { /* * Options specific to getsockopt(SOL_IPV6). * Common {g,s}etsockopt(SOL_IPV6) options -* should be in sockipv6options.in instead. +* should be in sock_ipv6_options.in instead. */ #if defined(IP6T_SO_GET_INFO) || (defined(HAVE_DECL_IP6T_SO_GET_INFO) && HAVE_DECL_IP6T_SO_GET_INFO) @@ -29,4 +35,6 @@ const struct xlat getsockipv6options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/getsock_ipv6_options.in b/xlat/getsock_ipv6_options.in new file mode 100644 index 00000000..98c450fa --- /dev/null +++ b/xlat/getsock_ipv6_options.in @@ -0,0 +1,10 @@ +/* + * Options specific to getsockopt(SOL_IPV6). + * Common {g,s}etsockopt(SOL_IPV6) options + * should be in sock_ipv6_options.in instead. + */ + +IP6T_SO_GET_INFO +IP6T_SO_GET_ENTRIES +IP6T_SO_GET_REVISION_MATCH +IP6T_SO_GET_REVISION_TARGET diff --git a/xlat/getsock_options.h b/xlat/getsock_options.h new file mode 100644 index 00000000..1f2035fd --- /dev/null +++ b/xlat/getsock_options.h @@ -0,0 +1,44 @@ +/* Generated by ./xlat/gen.sh from ./xlat/getsock_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined __hppa__ +#if defined(SO_GET_FILTER) || (defined(HAVE_DECL_SO_GET_FILTER) && HAVE_DECL_SO_GET_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_GET_FILTER) == (16410), "SO_GET_FILTER != 16410"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_GET_FILTER 16410 +#endif +#else +#if defined(SO_GET_FILTER) || (defined(HAVE_DECL_SO_GET_FILTER) && HAVE_DECL_SO_GET_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_GET_FILTER) == (26), "SO_GET_FILTER != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_GET_FILTER 26 +#endif +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat getsock_options in mpers mode + +# else + +static +const struct xlat getsock_options[] = { +#if defined __hppa__ + XLAT(SO_GET_FILTER), +#else + XLAT(SO_GET_FILTER), +#endif + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/getsock_options.in b/xlat/getsock_options.in new file mode 100644 index 00000000..6e476239 --- /dev/null +++ b/xlat/getsock_options.in @@ -0,0 +1,5 @@ +#if defined __hppa__ +SO_GET_FILTER 16410 +#else +SO_GET_FILTER 26 +#endif diff --git a/xlat/hci_channels.h b/xlat/hci_channels.h index ab6d3e35..a989ff2c 100644 --- a/xlat/hci_channels.h +++ b/xlat/hci_channels.h @@ -1,29 +1,62 @@ /* Generated by ./xlat/gen.sh from ./xlat/hci_channels.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat hci_channels in mpers mode - -#else - -static -const struct xlat hci_channels[] = { #if defined(HCI_CHANNEL_RAW) || (defined(HAVE_DECL_HCI_CHANNEL_RAW) && HAVE_DECL_HCI_CHANNEL_RAW) - XLAT(HCI_CHANNEL_RAW), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HCI_CHANNEL_RAW) == (0), "HCI_CHANNEL_RAW != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define HCI_CHANNEL_RAW 0 #endif #if defined(HCI_CHANNEL_USER) || (defined(HAVE_DECL_HCI_CHANNEL_USER) && HAVE_DECL_HCI_CHANNEL_USER) - XLAT(HCI_CHANNEL_USER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HCI_CHANNEL_USER) == (1), "HCI_CHANNEL_USER != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define HCI_CHANNEL_USER 1 #endif #if defined(HCI_CHANNEL_MONITOR) || (defined(HAVE_DECL_HCI_CHANNEL_MONITOR) && HAVE_DECL_HCI_CHANNEL_MONITOR) - XLAT(HCI_CHANNEL_MONITOR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HCI_CHANNEL_MONITOR) == (2), "HCI_CHANNEL_MONITOR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define HCI_CHANNEL_MONITOR 2 #endif #if defined(HCI_CHANNEL_CONTROL) || (defined(HAVE_DECL_HCI_CHANNEL_CONTROL) && HAVE_DECL_HCI_CHANNEL_CONTROL) - XLAT(HCI_CHANNEL_CONTROL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HCI_CHANNEL_CONTROL) == (3), "HCI_CHANNEL_CONTROL != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define HCI_CHANNEL_CONTROL 3 #endif #if defined(HCI_CHANNEL_LOGGING) || (defined(HAVE_DECL_HCI_CHANNEL_LOGGING) && HAVE_DECL_HCI_CHANNEL_LOGGING) - XLAT(HCI_CHANNEL_LOGGING), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HCI_CHANNEL_LOGGING) == (4), "HCI_CHANNEL_LOGGING != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define HCI_CHANNEL_LOGGING 4 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat hci_channels in mpers mode + +# else + +static +const struct xlat hci_channels[] = { + [HCI_CHANNEL_RAW] = XLAT(HCI_CHANNEL_RAW), + [HCI_CHANNEL_USER] = XLAT(HCI_CHANNEL_USER), + [HCI_CHANNEL_MONITOR] = XLAT(HCI_CHANNEL_MONITOR), + [HCI_CHANNEL_CONTROL] = XLAT(HCI_CHANNEL_CONTROL), + [HCI_CHANNEL_LOGGING] = XLAT(HCI_CHANNEL_LOGGING), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/hci_channels.in b/xlat/hci_channels.in index 1fae39bb..42055bbe 100644 --- a/xlat/hci_channels.in +++ b/xlat/hci_channels.in @@ -1,5 +1,6 @@ -HCI_CHANNEL_RAW -HCI_CHANNEL_USER -HCI_CHANNEL_MONITOR -HCI_CHANNEL_CONTROL -HCI_CHANNEL_LOGGING +#value_indexed +HCI_CHANNEL_RAW 0 +HCI_CHANNEL_USER 1 +HCI_CHANNEL_MONITOR 2 +HCI_CHANNEL_CONTROL 3 +HCI_CHANNEL_LOGGING 4 diff --git a/xlat/hw_breakpoint_len.h b/xlat/hw_breakpoint_len.h index c1b042d6..cb6c4573 100644 --- a/xlat/hw_breakpoint_len.h +++ b/xlat/hw_breakpoint_len.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/hw_breakpoint_len.in; do not edit. */ -#if !(defined(HW_BREAKPOINT_LEN_1) || (defined(HAVE_DECL_HW_BREAKPOINT_LEN_1) && HAVE_DECL_HW_BREAKPOINT_LEN_1)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(HW_BREAKPOINT_LEN_1) || (defined(HAVE_DECL_HW_BREAKPOINT_LEN_1) && HAVE_DECL_HW_BREAKPOINT_LEN_1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HW_BREAKPOINT_LEN_1) == (1), "HW_BREAKPOINT_LEN_1 != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define HW_BREAKPOINT_LEN_1 1 #endif -#if !(defined(HW_BREAKPOINT_LEN_2) || (defined(HAVE_DECL_HW_BREAKPOINT_LEN_2) && HAVE_DECL_HW_BREAKPOINT_LEN_2)) +#if defined(HW_BREAKPOINT_LEN_2) || (defined(HAVE_DECL_HW_BREAKPOINT_LEN_2) && HAVE_DECL_HW_BREAKPOINT_LEN_2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HW_BREAKPOINT_LEN_2) == (2), "HW_BREAKPOINT_LEN_2 != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define HW_BREAKPOINT_LEN_2 2 #endif -#if !(defined(HW_BREAKPOINT_LEN_4) || (defined(HAVE_DECL_HW_BREAKPOINT_LEN_4) && HAVE_DECL_HW_BREAKPOINT_LEN_4)) +#if defined(HW_BREAKPOINT_LEN_4) || (defined(HAVE_DECL_HW_BREAKPOINT_LEN_4) && HAVE_DECL_HW_BREAKPOINT_LEN_4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HW_BREAKPOINT_LEN_4) == (4), "HW_BREAKPOINT_LEN_4 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define HW_BREAKPOINT_LEN_4 4 #endif -#if !(defined(HW_BREAKPOINT_LEN_8) || (defined(HAVE_DECL_HW_BREAKPOINT_LEN_8) && HAVE_DECL_HW_BREAKPOINT_LEN_8)) +#if defined(HW_BREAKPOINT_LEN_8) || (defined(HAVE_DECL_HW_BREAKPOINT_LEN_8) && HAVE_DECL_HW_BREAKPOINT_LEN_8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HW_BREAKPOINT_LEN_8) == (8), "HW_BREAKPOINT_LEN_8 != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define HW_BREAKPOINT_LEN_8 8 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat hw_breakpoint_len in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat hw_breakpoint_len in mpers mode + +# else static const struct xlat hw_breakpoint_len[] = { @@ -27,4 +49,6 @@ const struct xlat hw_breakpoint_len[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/hw_breakpoint_type.h b/xlat/hw_breakpoint_type.h index 3f6873a9..30b3af8c 100644 --- a/xlat/hw_breakpoint_type.h +++ b/xlat/hw_breakpoint_type.h @@ -1,25 +1,51 @@ /* Generated by ./xlat/gen.sh from ./xlat/hw_breakpoint_type.in; do not edit. */ -#if !(defined(HW_BREAKPOINT_EMPTY) || (defined(HAVE_DECL_HW_BREAKPOINT_EMPTY) && HAVE_DECL_HW_BREAKPOINT_EMPTY)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(HW_BREAKPOINT_EMPTY) || (defined(HAVE_DECL_HW_BREAKPOINT_EMPTY) && HAVE_DECL_HW_BREAKPOINT_EMPTY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HW_BREAKPOINT_EMPTY) == (0), "HW_BREAKPOINT_EMPTY != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define HW_BREAKPOINT_EMPTY 0 #endif -#if !(defined(HW_BREAKPOINT_R) || (defined(HAVE_DECL_HW_BREAKPOINT_R) && HAVE_DECL_HW_BREAKPOINT_R)) +#if defined(HW_BREAKPOINT_R) || (defined(HAVE_DECL_HW_BREAKPOINT_R) && HAVE_DECL_HW_BREAKPOINT_R) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HW_BREAKPOINT_R) == (1), "HW_BREAKPOINT_R != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define HW_BREAKPOINT_R 1 #endif -#if !(defined(HW_BREAKPOINT_W) || (defined(HAVE_DECL_HW_BREAKPOINT_W) && HAVE_DECL_HW_BREAKPOINT_W)) +#if defined(HW_BREAKPOINT_W) || (defined(HAVE_DECL_HW_BREAKPOINT_W) && HAVE_DECL_HW_BREAKPOINT_W) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HW_BREAKPOINT_W) == (2), "HW_BREAKPOINT_W != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define HW_BREAKPOINT_W 2 #endif -#if !(defined(HW_BREAKPOINT_RW) || (defined(HAVE_DECL_HW_BREAKPOINT_RW) && HAVE_DECL_HW_BREAKPOINT_RW)) +#if defined(HW_BREAKPOINT_RW) || (defined(HAVE_DECL_HW_BREAKPOINT_RW) && HAVE_DECL_HW_BREAKPOINT_RW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HW_BREAKPOINT_RW) == (3), "HW_BREAKPOINT_RW != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define HW_BREAKPOINT_RW 3 #endif -#if !(defined(HW_BREAKPOINT_X) || (defined(HAVE_DECL_HW_BREAKPOINT_X) && HAVE_DECL_HW_BREAKPOINT_X)) +#if defined(HW_BREAKPOINT_X) || (defined(HAVE_DECL_HW_BREAKPOINT_X) && HAVE_DECL_HW_BREAKPOINT_X) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((HW_BREAKPOINT_X) == (4), "HW_BREAKPOINT_X != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define HW_BREAKPOINT_X 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat hw_breakpoint_type in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat hw_breakpoint_type in mpers mode + +# else static const struct xlat hw_breakpoint_type[] = { @@ -32,4 +58,6 @@ const struct xlat hw_breakpoint_type[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/icmpfilterflags.h b/xlat/icmpfilterflags.h index 1672a19b..a3f1300d 100644 --- a/xlat/icmpfilterflags.h +++ b/xlat/icmpfilterflags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/icmpfilterflags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat icmpfilterflags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat icmpfilterflags in mpers mode + +# else static const struct xlat icmpfilterflags[] = { @@ -50,4 +56,6 @@ const struct xlat icmpfilterflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/if_dqblk_valid.h b/xlat/if_dqblk_valid.h index 67d39346..e6d03bf2 100644 --- a/xlat/if_dqblk_valid.h +++ b/xlat/if_dqblk_valid.h @@ -1,28 +1,58 @@ /* Generated by ./xlat/gen.sh from ./xlat/if_dqblk_valid.in; do not edit. */ -#if !(defined(QIF_BLIMITS) || (defined(HAVE_DECL_QIF_BLIMITS) && HAVE_DECL_QIF_BLIMITS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(QIF_BLIMITS) || (defined(HAVE_DECL_QIF_BLIMITS) && HAVE_DECL_QIF_BLIMITS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QIF_BLIMITS) == ((1 << 0)), "QIF_BLIMITS != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QIF_BLIMITS (1 << 0) #endif -#if !(defined(QIF_SPACE) || (defined(HAVE_DECL_QIF_SPACE) && HAVE_DECL_QIF_SPACE)) +#if defined(QIF_SPACE) || (defined(HAVE_DECL_QIF_SPACE) && HAVE_DECL_QIF_SPACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QIF_SPACE) == ((1 << 1)), "QIF_SPACE != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QIF_SPACE (1 << 1) #endif -#if !(defined(QIF_ILIMITS) || (defined(HAVE_DECL_QIF_ILIMITS) && HAVE_DECL_QIF_ILIMITS)) +#if defined(QIF_ILIMITS) || (defined(HAVE_DECL_QIF_ILIMITS) && HAVE_DECL_QIF_ILIMITS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QIF_ILIMITS) == ((1 << 2)), "QIF_ILIMITS != (1 << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QIF_ILIMITS (1 << 2) #endif -#if !(defined(QIF_INODES) || (defined(HAVE_DECL_QIF_INODES) && HAVE_DECL_QIF_INODES)) +#if defined(QIF_INODES) || (defined(HAVE_DECL_QIF_INODES) && HAVE_DECL_QIF_INODES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QIF_INODES) == ((1 << 3)), "QIF_INODES != (1 << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QIF_INODES (1 << 3) #endif -#if !(defined(QIF_BTIME) || (defined(HAVE_DECL_QIF_BTIME) && HAVE_DECL_QIF_BTIME)) +#if defined(QIF_BTIME) || (defined(HAVE_DECL_QIF_BTIME) && HAVE_DECL_QIF_BTIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QIF_BTIME) == ((1 << 4)), "QIF_BTIME != (1 << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QIF_BTIME (1 << 4) #endif -#if !(defined(QIF_ITIME) || (defined(HAVE_DECL_QIF_ITIME) && HAVE_DECL_QIF_ITIME)) +#if defined(QIF_ITIME) || (defined(HAVE_DECL_QIF_ITIME) && HAVE_DECL_QIF_ITIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QIF_ITIME) == ((1 << 5)), "QIF_ITIME != (1 << 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QIF_ITIME (1 << 5) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat if_dqblk_valid in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat if_dqblk_valid in mpers mode + +# else static const struct xlat if_dqblk_valid[] = { @@ -35,4 +65,6 @@ const struct xlat if_dqblk_valid[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/if_dqinfo_flags.h b/xlat/if_dqinfo_flags.h index 72b26908..aeb76bda 100644 --- a/xlat/if_dqinfo_flags.h +++ b/xlat/if_dqinfo_flags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/if_dqinfo_flags.in; do not edit. */ -#if !(defined(DQF_ROOT_SQUASH) || (defined(HAVE_DECL_DQF_ROOT_SQUASH) && HAVE_DECL_DQF_ROOT_SQUASH)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(DQF_ROOT_SQUASH) || (defined(HAVE_DECL_DQF_ROOT_SQUASH) && HAVE_DECL_DQF_ROOT_SQUASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DQF_ROOT_SQUASH) == ((1 << 0)), "DQF_ROOT_SQUASH != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DQF_ROOT_SQUASH (1 << 0) #endif -#if !(defined(DQF_SYS_FILE) || (defined(HAVE_DECL_DQF_SYS_FILE) && HAVE_DECL_DQF_SYS_FILE)) +#if defined(DQF_SYS_FILE) || (defined(HAVE_DECL_DQF_SYS_FILE) && HAVE_DECL_DQF_SYS_FILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DQF_SYS_FILE) == ((1 << 16)), "DQF_SYS_FILE != (1 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DQF_SYS_FILE (1 << 16) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat if_dqinfo_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat if_dqinfo_flags in mpers mode + +# else static const struct xlat if_dqinfo_flags[] = { @@ -19,4 +33,6 @@ const struct xlat if_dqinfo_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/if_dqinfo_valid.h b/xlat/if_dqinfo_valid.h index 8944d17f..b4fc1272 100644 --- a/xlat/if_dqinfo_valid.h +++ b/xlat/if_dqinfo_valid.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/if_dqinfo_valid.in; do not edit. */ -#if !(defined(IIF_BGRACE) || (defined(HAVE_DECL_IIF_BGRACE) && HAVE_DECL_IIF_BGRACE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IIF_BGRACE) || (defined(HAVE_DECL_IIF_BGRACE) && HAVE_DECL_IIF_BGRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IIF_BGRACE) == ((1 << 0)), "IIF_BGRACE != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IIF_BGRACE (1 << 0) #endif -#if !(defined(IIF_IGRACE) || (defined(HAVE_DECL_IIF_IGRACE) && HAVE_DECL_IIF_IGRACE)) +#if defined(IIF_IGRACE) || (defined(HAVE_DECL_IIF_IGRACE) && HAVE_DECL_IIF_IGRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IIF_IGRACE) == ((1 << 1)), "IIF_IGRACE != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IIF_IGRACE (1 << 1) #endif -#if !(defined(IIF_FLAGS) || (defined(HAVE_DECL_IIF_FLAGS) && HAVE_DECL_IIF_FLAGS)) +#if defined(IIF_FLAGS) || (defined(HAVE_DECL_IIF_FLAGS) && HAVE_DECL_IIF_FLAGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IIF_FLAGS) == ((1 << 2)), "IIF_FLAGS != (1 << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IIF_FLAGS (1 << 2) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat if_dqinfo_valid in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat if_dqinfo_valid in mpers mode + +# else static const struct xlat if_dqinfo_valid[] = { @@ -23,4 +41,6 @@ const struct xlat if_dqinfo_valid[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ifaddrflags.h b/xlat/ifaddrflags.h index 95aa8305..cc2c9894 100644 --- a/xlat/ifaddrflags.h +++ b/xlat/ifaddrflags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ifaddrflags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ifaddrflags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ifaddrflags in mpers mode + +# else static const struct xlat ifaddrflags[] = { @@ -47,4 +53,6 @@ const struct xlat ifaddrflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/iffflags.h b/xlat/iffflags.h index b197e080..5c1b507d 100644 --- a/xlat/iffflags.h +++ b/xlat/iffflags.h @@ -1,54 +1,170 @@ /* Generated by ./xlat/gen.sh from ./xlat/iffflags.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -const struct xlat iffflags[] = { #if defined(IFF_UP) || (defined(HAVE_DECL_IFF_UP) && HAVE_DECL_IFF_UP) - XLAT(IFF_UP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_UP) == ((1 << 0)), "IFF_UP != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_UP (1 << 0) #endif #if defined(IFF_BROADCAST) || (defined(HAVE_DECL_IFF_BROADCAST) && HAVE_DECL_IFF_BROADCAST) - XLAT(IFF_BROADCAST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_BROADCAST) == ((1 << 1)), "IFF_BROADCAST != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_BROADCAST (1 << 1) #endif #if defined(IFF_DEBUG) || (defined(HAVE_DECL_IFF_DEBUG) && HAVE_DECL_IFF_DEBUG) - XLAT(IFF_DEBUG), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_DEBUG) == ((1 << 2)), "IFF_DEBUG != (1 << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_DEBUG (1 << 2) #endif #if defined(IFF_LOOPBACK) || (defined(HAVE_DECL_IFF_LOOPBACK) && HAVE_DECL_IFF_LOOPBACK) - XLAT(IFF_LOOPBACK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_LOOPBACK) == ((1 << 3)), "IFF_LOOPBACK != (1 << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_LOOPBACK (1 << 3) #endif #if defined(IFF_POINTOPOINT) || (defined(HAVE_DECL_IFF_POINTOPOINT) && HAVE_DECL_IFF_POINTOPOINT) - XLAT(IFF_POINTOPOINT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_POINTOPOINT) == ((1 << 4)), "IFF_POINTOPOINT != (1 << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_POINTOPOINT (1 << 4) #endif #if defined(IFF_NOTRAILERS) || (defined(HAVE_DECL_IFF_NOTRAILERS) && HAVE_DECL_IFF_NOTRAILERS) - XLAT(IFF_NOTRAILERS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_NOTRAILERS) == ((1 << 5)), "IFF_NOTRAILERS != (1 << 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_NOTRAILERS (1 << 5) #endif #if defined(IFF_RUNNING) || (defined(HAVE_DECL_IFF_RUNNING) && HAVE_DECL_IFF_RUNNING) - XLAT(IFF_RUNNING), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_RUNNING) == ((1 << 6)), "IFF_RUNNING != (1 << 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_RUNNING (1 << 6) #endif #if defined(IFF_NOARP) || (defined(HAVE_DECL_IFF_NOARP) && HAVE_DECL_IFF_NOARP) - XLAT(IFF_NOARP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_NOARP) == ((1 << 7)), "IFF_NOARP != (1 << 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_NOARP (1 << 7) #endif #if defined(IFF_PROMISC) || (defined(HAVE_DECL_IFF_PROMISC) && HAVE_DECL_IFF_PROMISC) - XLAT(IFF_PROMISC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_PROMISC) == ((1 << 8)), "IFF_PROMISC != (1 << 8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_PROMISC (1 << 8) #endif #if defined(IFF_ALLMULTI) || (defined(HAVE_DECL_IFF_ALLMULTI) && HAVE_DECL_IFF_ALLMULTI) - XLAT(IFF_ALLMULTI), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_ALLMULTI) == ((1 << 9)), "IFF_ALLMULTI != (1 << 9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_ALLMULTI (1 << 9) #endif #if defined(IFF_MASTER) || (defined(HAVE_DECL_IFF_MASTER) && HAVE_DECL_IFF_MASTER) - XLAT(IFF_MASTER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_MASTER) == ((1 << 10)), "IFF_MASTER != (1 << 10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_MASTER (1 << 10) #endif #if defined(IFF_SLAVE) || (defined(HAVE_DECL_IFF_SLAVE) && HAVE_DECL_IFF_SLAVE) - XLAT(IFF_SLAVE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_SLAVE) == ((1 << 11)), "IFF_SLAVE != (1 << 11)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_SLAVE (1 << 11) #endif #if defined(IFF_MULTICAST) || (defined(HAVE_DECL_IFF_MULTICAST) && HAVE_DECL_IFF_MULTICAST) - XLAT(IFF_MULTICAST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_MULTICAST) == ((1 << 12)), "IFF_MULTICAST != (1 << 12)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_MULTICAST (1 << 12) #endif #if defined(IFF_PORTSEL) || (defined(HAVE_DECL_IFF_PORTSEL) && HAVE_DECL_IFF_PORTSEL) - XLAT(IFF_PORTSEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_PORTSEL) == ((1 << 13)), "IFF_PORTSEL != (1 << 13)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_PORTSEL (1 << 13) #endif #if defined(IFF_AUTOMEDIA) || (defined(HAVE_DECL_IFF_AUTOMEDIA) && HAVE_DECL_IFF_AUTOMEDIA) - XLAT(IFF_AUTOMEDIA), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_AUTOMEDIA) == ((1 << 14)), "IFF_AUTOMEDIA != (1 << 14)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_AUTOMEDIA (1 << 14) +#endif +#if defined(IFF_DYNAMIC) || (defined(HAVE_DECL_IFF_DYNAMIC) && HAVE_DECL_IFF_DYNAMIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_DYNAMIC) == ((1 << 15)), "IFF_DYNAMIC != (1 << 15)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_DYNAMIC (1 << 15) +#endif +#if defined(IFF_LOWER_UP) || (defined(HAVE_DECL_IFF_LOWER_UP) && HAVE_DECL_IFF_LOWER_UP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_LOWER_UP) == ((1 << 16)), "IFF_LOWER_UP != (1 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_LOWER_UP (1 << 16) #endif +#if defined(IFF_DORMANT) || (defined(HAVE_DECL_IFF_DORMANT) && HAVE_DECL_IFF_DORMANT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_DORMANT) == ((1 << 17)), "IFF_DORMANT != (1 << 17)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_DORMANT (1 << 17) +#endif +#if defined(IFF_ECHO) || (defined(HAVE_DECL_IFF_ECHO) && HAVE_DECL_IFF_ECHO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_ECHO) == ((1 << 18)), "IFF_ECHO != (1 << 18)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_ECHO (1 << 18) +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS + +const struct xlat iffflags[] = { + + XLAT(IFF_UP), + XLAT(IFF_BROADCAST), + XLAT(IFF_DEBUG), + XLAT(IFF_LOOPBACK), + XLAT(IFF_POINTOPOINT), + XLAT(IFF_NOTRAILERS), + XLAT(IFF_RUNNING), + XLAT(IFF_NOARP), + XLAT(IFF_PROMISC), + XLAT(IFF_ALLMULTI), + XLAT(IFF_MASTER), + XLAT(IFF_SLAVE), + XLAT(IFF_MULTICAST), + XLAT(IFF_PORTSEL), + XLAT(IFF_AUTOMEDIA), + XLAT(IFF_DYNAMIC), + XLAT(IFF_LOWER_UP), + XLAT(IFF_DORMANT), + XLAT(IFF_ECHO), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/iffflags.in b/xlat/iffflags.in index a6249b05..210495b7 100644 --- a/xlat/iffflags.in +++ b/xlat/iffflags.in @@ -1,15 +1,20 @@ -IFF_UP -IFF_BROADCAST -IFF_DEBUG -IFF_LOOPBACK -IFF_POINTOPOINT -IFF_NOTRAILERS -IFF_RUNNING -IFF_NOARP -IFF_PROMISC -IFF_ALLMULTI -IFF_MASTER -IFF_SLAVE -IFF_MULTICAST -IFF_PORTSEL -IFF_AUTOMEDIA +/* sort -k4,4g */ +IFF_UP (1 << 0) +IFF_BROADCAST (1 << 1) +IFF_DEBUG (1 << 2) +IFF_LOOPBACK (1 << 3) +IFF_POINTOPOINT (1 << 4) +IFF_NOTRAILERS (1 << 5) +IFF_RUNNING (1 << 6) +IFF_NOARP (1 << 7) +IFF_PROMISC (1 << 8) +IFF_ALLMULTI (1 << 9) +IFF_MASTER (1 << 10) +IFF_SLAVE (1 << 11) +IFF_MULTICAST (1 << 12) +IFF_PORTSEL (1 << 13) +IFF_AUTOMEDIA (1 << 14) +IFF_DYNAMIC (1 << 15) +IFF_LOWER_UP (1 << 16) +IFF_DORMANT (1 << 17) +IFF_ECHO (1 << 18) diff --git a/xlat/in6_addr_gen_mode.h b/xlat/in6_addr_gen_mode.h new file mode 100644 index 00000000..c11c00a7 --- /dev/null +++ b/xlat/in6_addr_gen_mode.h @@ -0,0 +1,54 @@ +/* Generated by ./xlat/gen.sh from ./xlat/in6_addr_gen_mode.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IN6_ADDR_GEN_MODE_EUI64) || (defined(HAVE_DECL_IN6_ADDR_GEN_MODE_EUI64) && HAVE_DECL_IN6_ADDR_GEN_MODE_EUI64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN6_ADDR_GEN_MODE_EUI64) == (0), "IN6_ADDR_GEN_MODE_EUI64 != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IN6_ADDR_GEN_MODE_EUI64 0 +#endif +#if defined(IN6_ADDR_GEN_MODE_NONE) || (defined(HAVE_DECL_IN6_ADDR_GEN_MODE_NONE) && HAVE_DECL_IN6_ADDR_GEN_MODE_NONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN6_ADDR_GEN_MODE_NONE) == (1), "IN6_ADDR_GEN_MODE_NONE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IN6_ADDR_GEN_MODE_NONE 1 +#endif +#if defined(IN6_ADDR_GEN_MODE_STABLE_PRIVACY) || (defined(HAVE_DECL_IN6_ADDR_GEN_MODE_STABLE_PRIVACY) && HAVE_DECL_IN6_ADDR_GEN_MODE_STABLE_PRIVACY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN6_ADDR_GEN_MODE_STABLE_PRIVACY) == (2), "IN6_ADDR_GEN_MODE_STABLE_PRIVACY != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IN6_ADDR_GEN_MODE_STABLE_PRIVACY 2 +#endif +#if defined(IN6_ADDR_GEN_MODE_RANDOM) || (defined(HAVE_DECL_IN6_ADDR_GEN_MODE_RANDOM) && HAVE_DECL_IN6_ADDR_GEN_MODE_RANDOM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN6_ADDR_GEN_MODE_RANDOM) == (3), "IN6_ADDR_GEN_MODE_RANDOM != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IN6_ADDR_GEN_MODE_RANDOM 3 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat in6_addr_gen_mode in mpers mode + +# else + +static +const struct xlat in6_addr_gen_mode[] = { + [IN6_ADDR_GEN_MODE_EUI64] = XLAT(IN6_ADDR_GEN_MODE_EUI64), + [IN6_ADDR_GEN_MODE_NONE] = XLAT(IN6_ADDR_GEN_MODE_NONE), + [IN6_ADDR_GEN_MODE_STABLE_PRIVACY] = XLAT(IN6_ADDR_GEN_MODE_STABLE_PRIVACY), + [IN6_ADDR_GEN_MODE_RANDOM] = XLAT(IN6_ADDR_GEN_MODE_RANDOM), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/in6_addr_gen_mode.in b/xlat/in6_addr_gen_mode.in new file mode 100644 index 00000000..5d01a135 --- /dev/null +++ b/xlat/in6_addr_gen_mode.in @@ -0,0 +1,5 @@ +#value_indexed +IN6_ADDR_GEN_MODE_EUI64 0 +IN6_ADDR_GEN_MODE_NONE 1 +IN6_ADDR_GEN_MODE_STABLE_PRIVACY 2 +IN6_ADDR_GEN_MODE_RANDOM 3 diff --git a/xlat/inet6_devconf_indices.h b/xlat/inet6_devconf_indices.h new file mode 100644 index 00000000..97a210b0 --- /dev/null +++ b/xlat/inet6_devconf_indices.h @@ -0,0 +1,430 @@ +/* Generated by ./xlat/gen.sh from ./xlat/inet6_devconf_indices.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(DEVCONF_FORWARDING) || (defined(HAVE_DECL_DEVCONF_FORWARDING) && HAVE_DECL_DEVCONF_FORWARDING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_FORWARDING) == (0), "DEVCONF_FORWARDING != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_FORWARDING 0 +#endif +#if defined(DEVCONF_HOPLIMIT) || (defined(HAVE_DECL_DEVCONF_HOPLIMIT) && HAVE_DECL_DEVCONF_HOPLIMIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_HOPLIMIT) == (1), "DEVCONF_HOPLIMIT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_HOPLIMIT 1 +#endif +#if defined(DEVCONF_MTU6) || (defined(HAVE_DECL_DEVCONF_MTU6) && HAVE_DECL_DEVCONF_MTU6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_MTU6) == (2), "DEVCONF_MTU6 != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_MTU6 2 +#endif +#if defined(DEVCONF_ACCEPT_RA) || (defined(HAVE_DECL_DEVCONF_ACCEPT_RA) && HAVE_DECL_DEVCONF_ACCEPT_RA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_RA) == (3), "DEVCONF_ACCEPT_RA != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_RA 3 +#endif +#if defined(DEVCONF_ACCEPT_REDIRECTS) || (defined(HAVE_DECL_DEVCONF_ACCEPT_REDIRECTS) && HAVE_DECL_DEVCONF_ACCEPT_REDIRECTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_REDIRECTS) == (4), "DEVCONF_ACCEPT_REDIRECTS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_REDIRECTS 4 +#endif +#if defined(DEVCONF_AUTOCONF) || (defined(HAVE_DECL_DEVCONF_AUTOCONF) && HAVE_DECL_DEVCONF_AUTOCONF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_AUTOCONF) == (5), "DEVCONF_AUTOCONF != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_AUTOCONF 5 +#endif +#if defined(DEVCONF_DAD_TRANSMITS) || (defined(HAVE_DECL_DEVCONF_DAD_TRANSMITS) && HAVE_DECL_DEVCONF_DAD_TRANSMITS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_DAD_TRANSMITS) == (6), "DEVCONF_DAD_TRANSMITS != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_DAD_TRANSMITS 6 +#endif +#if defined(DEVCONF_RTR_SOLICITS) || (defined(HAVE_DECL_DEVCONF_RTR_SOLICITS) && HAVE_DECL_DEVCONF_RTR_SOLICITS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_RTR_SOLICITS) == (7), "DEVCONF_RTR_SOLICITS != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_RTR_SOLICITS 7 +#endif +#if defined(DEVCONF_RTR_SOLICIT_INTERVAL) || (defined(HAVE_DECL_DEVCONF_RTR_SOLICIT_INTERVAL) && HAVE_DECL_DEVCONF_RTR_SOLICIT_INTERVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_RTR_SOLICIT_INTERVAL) == (8), "DEVCONF_RTR_SOLICIT_INTERVAL != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_RTR_SOLICIT_INTERVAL 8 +#endif +#if defined(DEVCONF_RTR_SOLICIT_DELAY) || (defined(HAVE_DECL_DEVCONF_RTR_SOLICIT_DELAY) && HAVE_DECL_DEVCONF_RTR_SOLICIT_DELAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_RTR_SOLICIT_DELAY) == (9), "DEVCONF_RTR_SOLICIT_DELAY != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_RTR_SOLICIT_DELAY 9 +#endif +#if defined(DEVCONF_USE_TEMPADDR) || (defined(HAVE_DECL_DEVCONF_USE_TEMPADDR) && HAVE_DECL_DEVCONF_USE_TEMPADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_USE_TEMPADDR) == (10), "DEVCONF_USE_TEMPADDR != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_USE_TEMPADDR 10 +#endif +#if defined(DEVCONF_TEMP_VALID_LFT) || (defined(HAVE_DECL_DEVCONF_TEMP_VALID_LFT) && HAVE_DECL_DEVCONF_TEMP_VALID_LFT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_TEMP_VALID_LFT) == (11), "DEVCONF_TEMP_VALID_LFT != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_TEMP_VALID_LFT 11 +#endif +#if defined(DEVCONF_TEMP_PREFERED_LFT) || (defined(HAVE_DECL_DEVCONF_TEMP_PREFERED_LFT) && HAVE_DECL_DEVCONF_TEMP_PREFERED_LFT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_TEMP_PREFERED_LFT) == (12), "DEVCONF_TEMP_PREFERED_LFT != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_TEMP_PREFERED_LFT 12 +#endif +#if defined(DEVCONF_REGEN_MAX_RETRY) || (defined(HAVE_DECL_DEVCONF_REGEN_MAX_RETRY) && HAVE_DECL_DEVCONF_REGEN_MAX_RETRY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_REGEN_MAX_RETRY) == (13), "DEVCONF_REGEN_MAX_RETRY != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_REGEN_MAX_RETRY 13 +#endif +#if defined(DEVCONF_MAX_DESYNC_FACTOR) || (defined(HAVE_DECL_DEVCONF_MAX_DESYNC_FACTOR) && HAVE_DECL_DEVCONF_MAX_DESYNC_FACTOR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_MAX_DESYNC_FACTOR) == (14), "DEVCONF_MAX_DESYNC_FACTOR != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_MAX_DESYNC_FACTOR 14 +#endif +#if defined(DEVCONF_MAX_ADDRESSES) || (defined(HAVE_DECL_DEVCONF_MAX_ADDRESSES) && HAVE_DECL_DEVCONF_MAX_ADDRESSES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_MAX_ADDRESSES) == (15), "DEVCONF_MAX_ADDRESSES != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_MAX_ADDRESSES 15 +#endif +#if defined(DEVCONF_FORCE_MLD_VERSION) || (defined(HAVE_DECL_DEVCONF_FORCE_MLD_VERSION) && HAVE_DECL_DEVCONF_FORCE_MLD_VERSION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_FORCE_MLD_VERSION) == (16), "DEVCONF_FORCE_MLD_VERSION != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_FORCE_MLD_VERSION 16 +#endif +#if defined(DEVCONF_ACCEPT_RA_DEFRTR) || (defined(HAVE_DECL_DEVCONF_ACCEPT_RA_DEFRTR) && HAVE_DECL_DEVCONF_ACCEPT_RA_DEFRTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_RA_DEFRTR) == (17), "DEVCONF_ACCEPT_RA_DEFRTR != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_RA_DEFRTR 17 +#endif +#if defined(DEVCONF_ACCEPT_RA_PINFO) || (defined(HAVE_DECL_DEVCONF_ACCEPT_RA_PINFO) && HAVE_DECL_DEVCONF_ACCEPT_RA_PINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_RA_PINFO) == (18), "DEVCONF_ACCEPT_RA_PINFO != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_RA_PINFO 18 +#endif +#if defined(DEVCONF_ACCEPT_RA_RTR_PREF) || (defined(HAVE_DECL_DEVCONF_ACCEPT_RA_RTR_PREF) && HAVE_DECL_DEVCONF_ACCEPT_RA_RTR_PREF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_RA_RTR_PREF) == (19), "DEVCONF_ACCEPT_RA_RTR_PREF != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_RA_RTR_PREF 19 +#endif +#if defined(DEVCONF_RTR_PROBE_INTERVAL) || (defined(HAVE_DECL_DEVCONF_RTR_PROBE_INTERVAL) && HAVE_DECL_DEVCONF_RTR_PROBE_INTERVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_RTR_PROBE_INTERVAL) == (20), "DEVCONF_RTR_PROBE_INTERVAL != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_RTR_PROBE_INTERVAL 20 +#endif +#if defined(DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN) || (defined(HAVE_DECL_DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN) && HAVE_DECL_DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN) == (21), "DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN 21 +#endif +#if defined(DEVCONF_PROXY_NDP) || (defined(HAVE_DECL_DEVCONF_PROXY_NDP) && HAVE_DECL_DEVCONF_PROXY_NDP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_PROXY_NDP) == (22), "DEVCONF_PROXY_NDP != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_PROXY_NDP 22 +#endif +#if defined(DEVCONF_OPTIMISTIC_DAD) || (defined(HAVE_DECL_DEVCONF_OPTIMISTIC_DAD) && HAVE_DECL_DEVCONF_OPTIMISTIC_DAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_OPTIMISTIC_DAD) == (23), "DEVCONF_OPTIMISTIC_DAD != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_OPTIMISTIC_DAD 23 +#endif +#if defined(DEVCONF_ACCEPT_SOURCE_ROUTE) || (defined(HAVE_DECL_DEVCONF_ACCEPT_SOURCE_ROUTE) && HAVE_DECL_DEVCONF_ACCEPT_SOURCE_ROUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_SOURCE_ROUTE) == (24), "DEVCONF_ACCEPT_SOURCE_ROUTE != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_SOURCE_ROUTE 24 +#endif +#if defined(DEVCONF_MC_FORWARDING) || (defined(HAVE_DECL_DEVCONF_MC_FORWARDING) && HAVE_DECL_DEVCONF_MC_FORWARDING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_MC_FORWARDING) == (25), "DEVCONF_MC_FORWARDING != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_MC_FORWARDING 25 +#endif +#if defined(DEVCONF_DISABLE_IPV6) || (defined(HAVE_DECL_DEVCONF_DISABLE_IPV6) && HAVE_DECL_DEVCONF_DISABLE_IPV6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_DISABLE_IPV6) == (26), "DEVCONF_DISABLE_IPV6 != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_DISABLE_IPV6 26 +#endif +#if defined(DEVCONF_ACCEPT_DAD) || (defined(HAVE_DECL_DEVCONF_ACCEPT_DAD) && HAVE_DECL_DEVCONF_ACCEPT_DAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_DAD) == (27), "DEVCONF_ACCEPT_DAD != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_DAD 27 +#endif +#if defined(DEVCONF_FORCE_TLLAO) || (defined(HAVE_DECL_DEVCONF_FORCE_TLLAO) && HAVE_DECL_DEVCONF_FORCE_TLLAO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_FORCE_TLLAO) == (28), "DEVCONF_FORCE_TLLAO != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_FORCE_TLLAO 28 +#endif +#if defined(DEVCONF_NDISC_NOTIFY) || (defined(HAVE_DECL_DEVCONF_NDISC_NOTIFY) && HAVE_DECL_DEVCONF_NDISC_NOTIFY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_NDISC_NOTIFY) == (29), "DEVCONF_NDISC_NOTIFY != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_NDISC_NOTIFY 29 +#endif +#if defined(DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL) || (defined(HAVE_DECL_DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL) && HAVE_DECL_DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL) == (30), "DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL 30 +#endif +#if defined(DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL) || (defined(HAVE_DECL_DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL) && HAVE_DECL_DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL) == (31), "DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL 31 +#endif +#if defined(DEVCONF_SUPPRESS_FRAG_NDISC) || (defined(HAVE_DECL_DEVCONF_SUPPRESS_FRAG_NDISC) && HAVE_DECL_DEVCONF_SUPPRESS_FRAG_NDISC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_SUPPRESS_FRAG_NDISC) == (32), "DEVCONF_SUPPRESS_FRAG_NDISC != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_SUPPRESS_FRAG_NDISC 32 +#endif +#if defined(DEVCONF_ACCEPT_RA_FROM_LOCAL) || (defined(HAVE_DECL_DEVCONF_ACCEPT_RA_FROM_LOCAL) && HAVE_DECL_DEVCONF_ACCEPT_RA_FROM_LOCAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_RA_FROM_LOCAL) == (33), "DEVCONF_ACCEPT_RA_FROM_LOCAL != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_RA_FROM_LOCAL 33 +#endif +#if defined(DEVCONF_USE_OPTIMISTIC) || (defined(HAVE_DECL_DEVCONF_USE_OPTIMISTIC) && HAVE_DECL_DEVCONF_USE_OPTIMISTIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_USE_OPTIMISTIC) == (34), "DEVCONF_USE_OPTIMISTIC != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_USE_OPTIMISTIC 34 +#endif +#if defined(DEVCONF_ACCEPT_RA_MTU) || (defined(HAVE_DECL_DEVCONF_ACCEPT_RA_MTU) && HAVE_DECL_DEVCONF_ACCEPT_RA_MTU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_RA_MTU) == (35), "DEVCONF_ACCEPT_RA_MTU != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_RA_MTU 35 +#endif +#if defined(DEVCONF_STABLE_SECRET) || (defined(HAVE_DECL_DEVCONF_STABLE_SECRET) && HAVE_DECL_DEVCONF_STABLE_SECRET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_STABLE_SECRET) == (36), "DEVCONF_STABLE_SECRET != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_STABLE_SECRET 36 +#endif +#if defined(DEVCONF_USE_OIF_ADDRS_ONLY) || (defined(HAVE_DECL_DEVCONF_USE_OIF_ADDRS_ONLY) && HAVE_DECL_DEVCONF_USE_OIF_ADDRS_ONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_USE_OIF_ADDRS_ONLY) == (37), "DEVCONF_USE_OIF_ADDRS_ONLY != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_USE_OIF_ADDRS_ONLY 37 +#endif +#if defined(DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT) || (defined(HAVE_DECL_DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT) && HAVE_DECL_DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT) == (38), "DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT 38 +#endif +#if defined(DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN) || (defined(HAVE_DECL_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN) && HAVE_DECL_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN) == (39), "DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN != 39"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN 39 +#endif +#if defined(DEVCONF_DROP_UNICAST_IN_L2_MULTICAST) || (defined(HAVE_DECL_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST) && HAVE_DECL_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_DROP_UNICAST_IN_L2_MULTICAST) == (40), "DEVCONF_DROP_UNICAST_IN_L2_MULTICAST != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_DROP_UNICAST_IN_L2_MULTICAST 40 +#endif +#if defined(DEVCONF_DROP_UNSOLICITED_NA) || (defined(HAVE_DECL_DEVCONF_DROP_UNSOLICITED_NA) && HAVE_DECL_DEVCONF_DROP_UNSOLICITED_NA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_DROP_UNSOLICITED_NA) == (41), "DEVCONF_DROP_UNSOLICITED_NA != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_DROP_UNSOLICITED_NA 41 +#endif +#if defined(DEVCONF_KEEP_ADDR_ON_DOWN) || (defined(HAVE_DECL_DEVCONF_KEEP_ADDR_ON_DOWN) && HAVE_DECL_DEVCONF_KEEP_ADDR_ON_DOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_KEEP_ADDR_ON_DOWN) == (42), "DEVCONF_KEEP_ADDR_ON_DOWN != 42"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_KEEP_ADDR_ON_DOWN 42 +#endif +#if defined(DEVCONF_RTR_SOLICIT_MAX_INTERVAL) || (defined(HAVE_DECL_DEVCONF_RTR_SOLICIT_MAX_INTERVAL) && HAVE_DECL_DEVCONF_RTR_SOLICIT_MAX_INTERVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_RTR_SOLICIT_MAX_INTERVAL) == (43), "DEVCONF_RTR_SOLICIT_MAX_INTERVAL != 43"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_RTR_SOLICIT_MAX_INTERVAL 43 +#endif +#if defined(DEVCONF_SEG6_ENABLED) || (defined(HAVE_DECL_DEVCONF_SEG6_ENABLED) && HAVE_DECL_DEVCONF_SEG6_ENABLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_SEG6_ENABLED) == (44), "DEVCONF_SEG6_ENABLED != 44"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_SEG6_ENABLED 44 +#endif +#if defined(DEVCONF_SEG6_REQUIRE_HMAC) || (defined(HAVE_DECL_DEVCONF_SEG6_REQUIRE_HMAC) && HAVE_DECL_DEVCONF_SEG6_REQUIRE_HMAC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_SEG6_REQUIRE_HMAC) == (45), "DEVCONF_SEG6_REQUIRE_HMAC != 45"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_SEG6_REQUIRE_HMAC 45 +#endif +#if defined(DEVCONF_ENHANCED_DAD) || (defined(HAVE_DECL_DEVCONF_ENHANCED_DAD) && HAVE_DECL_DEVCONF_ENHANCED_DAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ENHANCED_DAD) == (46), "DEVCONF_ENHANCED_DAD != 46"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ENHANCED_DAD 46 +#endif +#if defined(DEVCONF_ADDR_GEN_MODE) || (defined(HAVE_DECL_DEVCONF_ADDR_GEN_MODE) && HAVE_DECL_DEVCONF_ADDR_GEN_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ADDR_GEN_MODE) == (47), "DEVCONF_ADDR_GEN_MODE != 47"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ADDR_GEN_MODE 47 +#endif +#if defined(DEVCONF_DISABLE_POLICY) || (defined(HAVE_DECL_DEVCONF_DISABLE_POLICY) && HAVE_DECL_DEVCONF_DISABLE_POLICY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_DISABLE_POLICY) == (48), "DEVCONF_DISABLE_POLICY != 48"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_DISABLE_POLICY 48 +#endif +#if defined(DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN) || (defined(HAVE_DECL_DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN) && HAVE_DECL_DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN) == (49), "DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN != 49"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN 49 +#endif +#if defined(DEVCONF_NDISC_TCLASS) || (defined(HAVE_DECL_DEVCONF_NDISC_TCLASS) && HAVE_DECL_DEVCONF_NDISC_TCLASS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DEVCONF_NDISC_TCLASS) == (50), "DEVCONF_NDISC_TCLASS != 50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DEVCONF_NDISC_TCLASS 50 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat inet6_devconf_indices in mpers mode + +# else + +static +const struct xlat inet6_devconf_indices[] = { + [DEVCONF_FORWARDING] = XLAT(DEVCONF_FORWARDING), + [DEVCONF_HOPLIMIT] = XLAT(DEVCONF_HOPLIMIT), + [DEVCONF_MTU6] = XLAT(DEVCONF_MTU6), + [DEVCONF_ACCEPT_RA] = XLAT(DEVCONF_ACCEPT_RA), + [DEVCONF_ACCEPT_REDIRECTS] = XLAT(DEVCONF_ACCEPT_REDIRECTS), + [DEVCONF_AUTOCONF] = XLAT(DEVCONF_AUTOCONF), + [DEVCONF_DAD_TRANSMITS] = XLAT(DEVCONF_DAD_TRANSMITS), + [DEVCONF_RTR_SOLICITS] = XLAT(DEVCONF_RTR_SOLICITS), + [DEVCONF_RTR_SOLICIT_INTERVAL] = XLAT(DEVCONF_RTR_SOLICIT_INTERVAL), + [DEVCONF_RTR_SOLICIT_DELAY] = XLAT(DEVCONF_RTR_SOLICIT_DELAY), + [DEVCONF_USE_TEMPADDR] = XLAT(DEVCONF_USE_TEMPADDR), + [DEVCONF_TEMP_VALID_LFT] = XLAT(DEVCONF_TEMP_VALID_LFT), + [DEVCONF_TEMP_PREFERED_LFT] = XLAT(DEVCONF_TEMP_PREFERED_LFT), + [DEVCONF_REGEN_MAX_RETRY] = XLAT(DEVCONF_REGEN_MAX_RETRY), + [DEVCONF_MAX_DESYNC_FACTOR] = XLAT(DEVCONF_MAX_DESYNC_FACTOR), + [DEVCONF_MAX_ADDRESSES] = XLAT(DEVCONF_MAX_ADDRESSES), + [DEVCONF_FORCE_MLD_VERSION] = XLAT(DEVCONF_FORCE_MLD_VERSION), + [DEVCONF_ACCEPT_RA_DEFRTR] = XLAT(DEVCONF_ACCEPT_RA_DEFRTR), + [DEVCONF_ACCEPT_RA_PINFO] = XLAT(DEVCONF_ACCEPT_RA_PINFO), + [DEVCONF_ACCEPT_RA_RTR_PREF] = XLAT(DEVCONF_ACCEPT_RA_RTR_PREF), + [DEVCONF_RTR_PROBE_INTERVAL] = XLAT(DEVCONF_RTR_PROBE_INTERVAL), + [DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN] = XLAT(DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN), + [DEVCONF_PROXY_NDP] = XLAT(DEVCONF_PROXY_NDP), + [DEVCONF_OPTIMISTIC_DAD] = XLAT(DEVCONF_OPTIMISTIC_DAD), + [DEVCONF_ACCEPT_SOURCE_ROUTE] = XLAT(DEVCONF_ACCEPT_SOURCE_ROUTE), + [DEVCONF_MC_FORWARDING] = XLAT(DEVCONF_MC_FORWARDING), + [DEVCONF_DISABLE_IPV6] = XLAT(DEVCONF_DISABLE_IPV6), + [DEVCONF_ACCEPT_DAD] = XLAT(DEVCONF_ACCEPT_DAD), + [DEVCONF_FORCE_TLLAO] = XLAT(DEVCONF_FORCE_TLLAO), + [DEVCONF_NDISC_NOTIFY] = XLAT(DEVCONF_NDISC_NOTIFY), + [DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL] = XLAT(DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL), + [DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL] = XLAT(DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL), + [DEVCONF_SUPPRESS_FRAG_NDISC] = XLAT(DEVCONF_SUPPRESS_FRAG_NDISC), + [DEVCONF_ACCEPT_RA_FROM_LOCAL] = XLAT(DEVCONF_ACCEPT_RA_FROM_LOCAL), + [DEVCONF_USE_OPTIMISTIC] = XLAT(DEVCONF_USE_OPTIMISTIC), + [DEVCONF_ACCEPT_RA_MTU] = XLAT(DEVCONF_ACCEPT_RA_MTU), + [DEVCONF_STABLE_SECRET] = XLAT(DEVCONF_STABLE_SECRET), + [DEVCONF_USE_OIF_ADDRS_ONLY] = XLAT(DEVCONF_USE_OIF_ADDRS_ONLY), + [DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT] = XLAT(DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT), + [DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN] = XLAT(DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN), + [DEVCONF_DROP_UNICAST_IN_L2_MULTICAST] = XLAT(DEVCONF_DROP_UNICAST_IN_L2_MULTICAST), + [DEVCONF_DROP_UNSOLICITED_NA] = XLAT(DEVCONF_DROP_UNSOLICITED_NA), + [DEVCONF_KEEP_ADDR_ON_DOWN] = XLAT(DEVCONF_KEEP_ADDR_ON_DOWN), + [DEVCONF_RTR_SOLICIT_MAX_INTERVAL] = XLAT(DEVCONF_RTR_SOLICIT_MAX_INTERVAL), + [DEVCONF_SEG6_ENABLED] = XLAT(DEVCONF_SEG6_ENABLED), + [DEVCONF_SEG6_REQUIRE_HMAC] = XLAT(DEVCONF_SEG6_REQUIRE_HMAC), + [DEVCONF_ENHANCED_DAD] = XLAT(DEVCONF_ENHANCED_DAD), + [DEVCONF_ADDR_GEN_MODE] = XLAT(DEVCONF_ADDR_GEN_MODE), + [DEVCONF_DISABLE_POLICY] = XLAT(DEVCONF_DISABLE_POLICY), + [DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN] = XLAT(DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN), + [DEVCONF_NDISC_TCLASS] = XLAT(DEVCONF_NDISC_TCLASS), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/inet6_devconf_indices.in b/xlat/inet6_devconf_indices.in new file mode 100644 index 00000000..89efe7fb --- /dev/null +++ b/xlat/inet6_devconf_indices.in @@ -0,0 +1,52 @@ +#value_indexed +DEVCONF_FORWARDING 0 +DEVCONF_HOPLIMIT 1 +DEVCONF_MTU6 2 +DEVCONF_ACCEPT_RA 3 +DEVCONF_ACCEPT_REDIRECTS 4 +DEVCONF_AUTOCONF 5 +DEVCONF_DAD_TRANSMITS 6 +DEVCONF_RTR_SOLICITS 7 +DEVCONF_RTR_SOLICIT_INTERVAL 8 +DEVCONF_RTR_SOLICIT_DELAY 9 +DEVCONF_USE_TEMPADDR 10 +DEVCONF_TEMP_VALID_LFT 11 +DEVCONF_TEMP_PREFERED_LFT 12 +DEVCONF_REGEN_MAX_RETRY 13 +DEVCONF_MAX_DESYNC_FACTOR 14 +DEVCONF_MAX_ADDRESSES 15 +DEVCONF_FORCE_MLD_VERSION 16 +DEVCONF_ACCEPT_RA_DEFRTR 17 +DEVCONF_ACCEPT_RA_PINFO 18 +DEVCONF_ACCEPT_RA_RTR_PREF 19 +DEVCONF_RTR_PROBE_INTERVAL 20 +DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN 21 +DEVCONF_PROXY_NDP 22 +DEVCONF_OPTIMISTIC_DAD 23 +DEVCONF_ACCEPT_SOURCE_ROUTE 24 +DEVCONF_MC_FORWARDING 25 +DEVCONF_DISABLE_IPV6 26 +DEVCONF_ACCEPT_DAD 27 +DEVCONF_FORCE_TLLAO 28 +DEVCONF_NDISC_NOTIFY 29 +DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL 30 +DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL 31 +DEVCONF_SUPPRESS_FRAG_NDISC 32 +DEVCONF_ACCEPT_RA_FROM_LOCAL 33 +DEVCONF_USE_OPTIMISTIC 34 +DEVCONF_ACCEPT_RA_MTU 35 +DEVCONF_STABLE_SECRET 36 +DEVCONF_USE_OIF_ADDRS_ONLY 37 +DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT 38 +DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN 39 +DEVCONF_DROP_UNICAST_IN_L2_MULTICAST 40 +DEVCONF_DROP_UNSOLICITED_NA 41 +DEVCONF_KEEP_ADDR_ON_DOWN 42 +DEVCONF_RTR_SOLICIT_MAX_INTERVAL 43 +DEVCONF_SEG6_ENABLED 44 +DEVCONF_SEG6_REQUIRE_HMAC 45 +DEVCONF_ENHANCED_DAD 46 +DEVCONF_ADDR_GEN_MODE 47 +DEVCONF_DISABLE_POLICY 48 +DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN 49 +DEVCONF_NDISC_TCLASS 50 diff --git a/xlat/inet6_if_flags.h b/xlat/inet6_if_flags.h new file mode 100644 index 00000000..74ba7d18 --- /dev/null +++ b/xlat/inet6_if_flags.h @@ -0,0 +1,63 @@ +/* Generated by ./xlat/gen.sh from ./xlat/inet6_if_flags.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IF_RS_SENT) || (defined(HAVE_DECL_IF_RS_SENT) && HAVE_DECL_IF_RS_SENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IF_RS_SENT) == (0x10), "IF_RS_SENT != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IF_RS_SENT 0x10 +#endif +#if defined(IF_RA_RCVD) || (defined(HAVE_DECL_IF_RA_RCVD) && HAVE_DECL_IF_RA_RCVD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IF_RA_RCVD) == (0x20), "IF_RA_RCVD != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IF_RA_RCVD 0x20 +#endif +#if defined(IF_RA_MANAGED) || (defined(HAVE_DECL_IF_RA_MANAGED) && HAVE_DECL_IF_RA_MANAGED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IF_RA_MANAGED) == (0x40), "IF_RA_MANAGED != 0x40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IF_RA_MANAGED 0x40 +#endif +#if defined(IF_RA_OTHERCONF) || (defined(HAVE_DECL_IF_RA_OTHERCONF) && HAVE_DECL_IF_RA_OTHERCONF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IF_RA_OTHERCONF) == (0x80), "IF_RA_OTHERCONF != 0x80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IF_RA_OTHERCONF 0x80 +#endif +#if defined(IF_READY) || (defined(HAVE_DECL_IF_READY) && HAVE_DECL_IF_READY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IF_READY) == (0x80000000), "IF_READY != 0x80000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IF_READY 0x80000000 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat inet6_if_flags in mpers mode + +# else + +static +const struct xlat inet6_if_flags[] = { + + XLAT(IF_RS_SENT), + XLAT(IF_RA_RCVD), + XLAT(IF_RA_MANAGED), + XLAT(IF_RA_OTHERCONF), + XLAT(IF_READY), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/inet6_if_flags.in b/xlat/inet6_if_flags.in new file mode 100644 index 00000000..befd2232 --- /dev/null +++ b/xlat/inet6_if_flags.in @@ -0,0 +1,6 @@ +/* sort -k2,2g */ +IF_RS_SENT 0x10 +IF_RA_RCVD 0x20 +IF_RA_MANAGED 0x40 +IF_RA_OTHERCONF 0x80 +IF_READY 0x80000000 diff --git a/xlat/inet_devconf_indices.h b/xlat/inet_devconf_indices.h new file mode 100644 index 00000000..ce00a54d --- /dev/null +++ b/xlat/inet_devconf_indices.h @@ -0,0 +1,271 @@ +/* Generated by ./xlat/gen.sh from ./xlat/inet_devconf_indices.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IPV4_DEVCONF_FORWARDING) || (defined(HAVE_DECL_IPV4_DEVCONF_FORWARDING) && HAVE_DECL_IPV4_DEVCONF_FORWARDING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_FORWARDING) == (1), "IPV4_DEVCONF_FORWARDING != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_FORWARDING 1 +#endif +#if defined(IPV4_DEVCONF_MC_FORWARDING) || (defined(HAVE_DECL_IPV4_DEVCONF_MC_FORWARDING) && HAVE_DECL_IPV4_DEVCONF_MC_FORWARDING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_MC_FORWARDING) == (2), "IPV4_DEVCONF_MC_FORWARDING != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_MC_FORWARDING 2 +#endif +#if defined(IPV4_DEVCONF_PROXY_ARP) || (defined(HAVE_DECL_IPV4_DEVCONF_PROXY_ARP) && HAVE_DECL_IPV4_DEVCONF_PROXY_ARP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_PROXY_ARP) == (3), "IPV4_DEVCONF_PROXY_ARP != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_PROXY_ARP 3 +#endif +#if defined(IPV4_DEVCONF_ACCEPT_REDIRECTS) || (defined(HAVE_DECL_IPV4_DEVCONF_ACCEPT_REDIRECTS) && HAVE_DECL_IPV4_DEVCONF_ACCEPT_REDIRECTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_ACCEPT_REDIRECTS) == (4), "IPV4_DEVCONF_ACCEPT_REDIRECTS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_ACCEPT_REDIRECTS 4 +#endif +#if defined(IPV4_DEVCONF_SECURE_REDIRECTS) || (defined(HAVE_DECL_IPV4_DEVCONF_SECURE_REDIRECTS) && HAVE_DECL_IPV4_DEVCONF_SECURE_REDIRECTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_SECURE_REDIRECTS) == (5), "IPV4_DEVCONF_SECURE_REDIRECTS != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_SECURE_REDIRECTS 5 +#endif +#if defined(IPV4_DEVCONF_SEND_REDIRECTS) || (defined(HAVE_DECL_IPV4_DEVCONF_SEND_REDIRECTS) && HAVE_DECL_IPV4_DEVCONF_SEND_REDIRECTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_SEND_REDIRECTS) == (6), "IPV4_DEVCONF_SEND_REDIRECTS != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_SEND_REDIRECTS 6 +#endif +#if defined(IPV4_DEVCONF_SHARED_MEDIA) || (defined(HAVE_DECL_IPV4_DEVCONF_SHARED_MEDIA) && HAVE_DECL_IPV4_DEVCONF_SHARED_MEDIA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_SHARED_MEDIA) == (7), "IPV4_DEVCONF_SHARED_MEDIA != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_SHARED_MEDIA 7 +#endif +#if defined(IPV4_DEVCONF_RP_FILTER) || (defined(HAVE_DECL_IPV4_DEVCONF_RP_FILTER) && HAVE_DECL_IPV4_DEVCONF_RP_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_RP_FILTER) == (8), "IPV4_DEVCONF_RP_FILTER != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_RP_FILTER 8 +#endif +#if defined(IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE) || (defined(HAVE_DECL_IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE) && HAVE_DECL_IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE) == (9), "IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE 9 +#endif +#if defined(IPV4_DEVCONF_BOOTP_RELAY) || (defined(HAVE_DECL_IPV4_DEVCONF_BOOTP_RELAY) && HAVE_DECL_IPV4_DEVCONF_BOOTP_RELAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_BOOTP_RELAY) == (10), "IPV4_DEVCONF_BOOTP_RELAY != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_BOOTP_RELAY 10 +#endif +#if defined(IPV4_DEVCONF_LOG_MARTIANS) || (defined(HAVE_DECL_IPV4_DEVCONF_LOG_MARTIANS) && HAVE_DECL_IPV4_DEVCONF_LOG_MARTIANS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_LOG_MARTIANS) == (11), "IPV4_DEVCONF_LOG_MARTIANS != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_LOG_MARTIANS 11 +#endif +#if defined(IPV4_DEVCONF_TAG) || (defined(HAVE_DECL_IPV4_DEVCONF_TAG) && HAVE_DECL_IPV4_DEVCONF_TAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_TAG) == (12), "IPV4_DEVCONF_TAG != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_TAG 12 +#endif +#if defined(IPV4_DEVCONF_ARPFILTER) || (defined(HAVE_DECL_IPV4_DEVCONF_ARPFILTER) && HAVE_DECL_IPV4_DEVCONF_ARPFILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_ARPFILTER) == (13), "IPV4_DEVCONF_ARPFILTER != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_ARPFILTER 13 +#endif +#if defined(IPV4_DEVCONF_MEDIUM_ID) || (defined(HAVE_DECL_IPV4_DEVCONF_MEDIUM_ID) && HAVE_DECL_IPV4_DEVCONF_MEDIUM_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_MEDIUM_ID) == (14), "IPV4_DEVCONF_MEDIUM_ID != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_MEDIUM_ID 14 +#endif +#if defined(IPV4_DEVCONF_NOXFRM) || (defined(HAVE_DECL_IPV4_DEVCONF_NOXFRM) && HAVE_DECL_IPV4_DEVCONF_NOXFRM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_NOXFRM) == (15), "IPV4_DEVCONF_NOXFRM != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_NOXFRM 15 +#endif +#if defined(IPV4_DEVCONF_NOPOLICY) || (defined(HAVE_DECL_IPV4_DEVCONF_NOPOLICY) && HAVE_DECL_IPV4_DEVCONF_NOPOLICY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_NOPOLICY) == (16), "IPV4_DEVCONF_NOPOLICY != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_NOPOLICY 16 +#endif +#if defined(IPV4_DEVCONF_FORCE_IGMP_VERSION) || (defined(HAVE_DECL_IPV4_DEVCONF_FORCE_IGMP_VERSION) && HAVE_DECL_IPV4_DEVCONF_FORCE_IGMP_VERSION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_FORCE_IGMP_VERSION) == (17), "IPV4_DEVCONF_FORCE_IGMP_VERSION != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_FORCE_IGMP_VERSION 17 +#endif +#if defined(IPV4_DEVCONF_ARP_ANNOUNCE) || (defined(HAVE_DECL_IPV4_DEVCONF_ARP_ANNOUNCE) && HAVE_DECL_IPV4_DEVCONF_ARP_ANNOUNCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_ARP_ANNOUNCE) == (18), "IPV4_DEVCONF_ARP_ANNOUNCE != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_ARP_ANNOUNCE 18 +#endif +#if defined(IPV4_DEVCONF_ARP_IGNORE) || (defined(HAVE_DECL_IPV4_DEVCONF_ARP_IGNORE) && HAVE_DECL_IPV4_DEVCONF_ARP_IGNORE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_ARP_IGNORE) == (19), "IPV4_DEVCONF_ARP_IGNORE != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_ARP_IGNORE 19 +#endif +#if defined(IPV4_DEVCONF_PROMOTE_SECONDARIES) || (defined(HAVE_DECL_IPV4_DEVCONF_PROMOTE_SECONDARIES) && HAVE_DECL_IPV4_DEVCONF_PROMOTE_SECONDARIES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_PROMOTE_SECONDARIES) == (20), "IPV4_DEVCONF_PROMOTE_SECONDARIES != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_PROMOTE_SECONDARIES 20 +#endif +#if defined(IPV4_DEVCONF_ARP_ACCEPT) || (defined(HAVE_DECL_IPV4_DEVCONF_ARP_ACCEPT) && HAVE_DECL_IPV4_DEVCONF_ARP_ACCEPT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_ARP_ACCEPT) == (21), "IPV4_DEVCONF_ARP_ACCEPT != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_ARP_ACCEPT 21 +#endif +#if defined(IPV4_DEVCONF_ARP_NOTIFY) || (defined(HAVE_DECL_IPV4_DEVCONF_ARP_NOTIFY) && HAVE_DECL_IPV4_DEVCONF_ARP_NOTIFY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_ARP_NOTIFY) == (22), "IPV4_DEVCONF_ARP_NOTIFY != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_ARP_NOTIFY 22 +#endif +#if defined(IPV4_DEVCONF_ACCEPT_LOCAL) || (defined(HAVE_DECL_IPV4_DEVCONF_ACCEPT_LOCAL) && HAVE_DECL_IPV4_DEVCONF_ACCEPT_LOCAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_ACCEPT_LOCAL) == (23), "IPV4_DEVCONF_ACCEPT_LOCAL != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_ACCEPT_LOCAL 23 +#endif +#if defined(IPV4_DEVCONF_SRC_VMARK) || (defined(HAVE_DECL_IPV4_DEVCONF_SRC_VMARK) && HAVE_DECL_IPV4_DEVCONF_SRC_VMARK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_SRC_VMARK) == (24), "IPV4_DEVCONF_SRC_VMARK != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_SRC_VMARK 24 +#endif +#if defined(IPV4_DEVCONF_PROXY_ARP_PVLAN) || (defined(HAVE_DECL_IPV4_DEVCONF_PROXY_ARP_PVLAN) && HAVE_DECL_IPV4_DEVCONF_PROXY_ARP_PVLAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_PROXY_ARP_PVLAN) == (25), "IPV4_DEVCONF_PROXY_ARP_PVLAN != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_PROXY_ARP_PVLAN 25 +#endif +#if defined(IPV4_DEVCONF_ROUTE_LOCALNET) || (defined(HAVE_DECL_IPV4_DEVCONF_ROUTE_LOCALNET) && HAVE_DECL_IPV4_DEVCONF_ROUTE_LOCALNET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_ROUTE_LOCALNET) == (26), "IPV4_DEVCONF_ROUTE_LOCALNET != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_ROUTE_LOCALNET 26 +#endif +#if defined(IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL) || (defined(HAVE_DECL_IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL) && HAVE_DECL_IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL) == (27), "IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL 27 +#endif +#if defined(IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL) || (defined(HAVE_DECL_IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL) && HAVE_DECL_IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL) == (28), "IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL 28 +#endif +#if defined(IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN) || (defined(HAVE_DECL_IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN) && HAVE_DECL_IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN) == (29), "IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN 29 +#endif +#if defined(IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST) || (defined(HAVE_DECL_IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST) && HAVE_DECL_IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST) == (30), "IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST 30 +#endif +#if defined(IPV4_DEVCONF_DROP_GRATUITOUS_ARP) || (defined(HAVE_DECL_IPV4_DEVCONF_DROP_GRATUITOUS_ARP) && HAVE_DECL_IPV4_DEVCONF_DROP_GRATUITOUS_ARP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPV4_DEVCONF_DROP_GRATUITOUS_ARP) == (31), "IPV4_DEVCONF_DROP_GRATUITOUS_ARP != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPV4_DEVCONF_DROP_GRATUITOUS_ARP 31 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat inet_devconf_indices in mpers mode + +# else + +static +const struct xlat inet_devconf_indices[] = { + + [IPV4_DEVCONF_FORWARDING-1] = XLAT(IPV4_DEVCONF_FORWARDING-1), + [IPV4_DEVCONF_MC_FORWARDING-1] = XLAT(IPV4_DEVCONF_MC_FORWARDING-1), + [IPV4_DEVCONF_PROXY_ARP-1] = XLAT(IPV4_DEVCONF_PROXY_ARP-1), + [IPV4_DEVCONF_ACCEPT_REDIRECTS-1] = XLAT(IPV4_DEVCONF_ACCEPT_REDIRECTS-1), + [IPV4_DEVCONF_SECURE_REDIRECTS-1] = XLAT(IPV4_DEVCONF_SECURE_REDIRECTS-1), + [IPV4_DEVCONF_SEND_REDIRECTS-1] = XLAT(IPV4_DEVCONF_SEND_REDIRECTS-1), + [IPV4_DEVCONF_SHARED_MEDIA-1] = XLAT(IPV4_DEVCONF_SHARED_MEDIA-1), + [IPV4_DEVCONF_RP_FILTER-1] = XLAT(IPV4_DEVCONF_RP_FILTER-1), + [IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE-1] = XLAT(IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE-1), + [IPV4_DEVCONF_BOOTP_RELAY-1] = XLAT(IPV4_DEVCONF_BOOTP_RELAY-1), + [IPV4_DEVCONF_LOG_MARTIANS-1] = XLAT(IPV4_DEVCONF_LOG_MARTIANS-1), + [IPV4_DEVCONF_TAG-1] = XLAT(IPV4_DEVCONF_TAG-1), + [IPV4_DEVCONF_ARPFILTER-1] = XLAT(IPV4_DEVCONF_ARPFILTER-1), + [IPV4_DEVCONF_MEDIUM_ID-1] = XLAT(IPV4_DEVCONF_MEDIUM_ID-1), + [IPV4_DEVCONF_NOXFRM-1] = XLAT(IPV4_DEVCONF_NOXFRM-1), + [IPV4_DEVCONF_NOPOLICY-1] = XLAT(IPV4_DEVCONF_NOPOLICY-1), + [IPV4_DEVCONF_FORCE_IGMP_VERSION-1] = XLAT(IPV4_DEVCONF_FORCE_IGMP_VERSION-1), + [IPV4_DEVCONF_ARP_ANNOUNCE-1] = XLAT(IPV4_DEVCONF_ARP_ANNOUNCE-1), + [IPV4_DEVCONF_ARP_IGNORE-1] = XLAT(IPV4_DEVCONF_ARP_IGNORE-1), + [IPV4_DEVCONF_PROMOTE_SECONDARIES-1] = XLAT(IPV4_DEVCONF_PROMOTE_SECONDARIES-1), + [IPV4_DEVCONF_ARP_ACCEPT-1] = XLAT(IPV4_DEVCONF_ARP_ACCEPT-1), + [IPV4_DEVCONF_ARP_NOTIFY-1] = XLAT(IPV4_DEVCONF_ARP_NOTIFY-1), + [IPV4_DEVCONF_ACCEPT_LOCAL-1] = XLAT(IPV4_DEVCONF_ACCEPT_LOCAL-1), + [IPV4_DEVCONF_SRC_VMARK-1] = XLAT(IPV4_DEVCONF_SRC_VMARK-1), + [IPV4_DEVCONF_PROXY_ARP_PVLAN-1] = XLAT(IPV4_DEVCONF_PROXY_ARP_PVLAN-1), + [IPV4_DEVCONF_ROUTE_LOCALNET-1] = XLAT(IPV4_DEVCONF_ROUTE_LOCALNET-1), + [IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL-1] = XLAT(IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL-1), + [IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL-1] = XLAT(IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL-1), + [IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN-1] = XLAT(IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN-1), + [IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST-1] = XLAT(IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST-1), + [IPV4_DEVCONF_DROP_GRATUITOUS_ARP-1] = XLAT(IPV4_DEVCONF_DROP_GRATUITOUS_ARP-1), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/inet_devconf_indices.in b/xlat/inet_devconf_indices.in new file mode 100644 index 00000000..eabcfc52 --- /dev/null +++ b/xlat/inet_devconf_indices.in @@ -0,0 +1,33 @@ +#value_indexed +/* These fallback definitions are for constants, not for expressions. */ +IPV4_DEVCONF_FORWARDING-1 1 +IPV4_DEVCONF_MC_FORWARDING-1 2 +IPV4_DEVCONF_PROXY_ARP-1 3 +IPV4_DEVCONF_ACCEPT_REDIRECTS-1 4 +IPV4_DEVCONF_SECURE_REDIRECTS-1 5 +IPV4_DEVCONF_SEND_REDIRECTS-1 6 +IPV4_DEVCONF_SHARED_MEDIA-1 7 +IPV4_DEVCONF_RP_FILTER-1 8 +IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE-1 9 +IPV4_DEVCONF_BOOTP_RELAY-1 10 +IPV4_DEVCONF_LOG_MARTIANS-1 11 +IPV4_DEVCONF_TAG-1 12 +IPV4_DEVCONF_ARPFILTER-1 13 +IPV4_DEVCONF_MEDIUM_ID-1 14 +IPV4_DEVCONF_NOXFRM-1 15 +IPV4_DEVCONF_NOPOLICY-1 16 +IPV4_DEVCONF_FORCE_IGMP_VERSION-1 17 +IPV4_DEVCONF_ARP_ANNOUNCE-1 18 +IPV4_DEVCONF_ARP_IGNORE-1 19 +IPV4_DEVCONF_PROMOTE_SECONDARIES-1 20 +IPV4_DEVCONF_ARP_ACCEPT-1 21 +IPV4_DEVCONF_ARP_NOTIFY-1 22 +IPV4_DEVCONF_ACCEPT_LOCAL-1 23 +IPV4_DEVCONF_SRC_VMARK-1 24 +IPV4_DEVCONF_PROXY_ARP_PVLAN-1 25 +IPV4_DEVCONF_ROUTE_LOCALNET-1 26 +IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL-1 27 +IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL-1 28 +IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN-1 29 +IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST-1 30 +IPV4_DEVCONF_DROP_GRATUITOUS_ARP-1 31 diff --git a/xlat/inet_diag_attrs.h b/xlat/inet_diag_attrs.h index a4833736..ebfd2ad2 100644 --- a/xlat/inet_diag_attrs.h +++ b/xlat/inet_diag_attrs.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/inet_diag_attrs.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat inet_diag_attrs in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat inet_diag_attrs in mpers mode + +# else static const struct xlat inet_diag_attrs[] = { @@ -29,4 +35,6 @@ const struct xlat inet_diag_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/inet_diag_bytecodes.h b/xlat/inet_diag_bytecodes.h index 21d35eba..93286db2 100644 --- a/xlat/inet_diag_bytecodes.h +++ b/xlat/inet_diag_bytecodes.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/inet_diag_bytecodes.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat inet_diag_bytecodes in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat inet_diag_bytecodes in mpers mode + +# else static const struct xlat inet_diag_bytecodes[] = { @@ -24,4 +30,6 @@ const struct xlat inet_diag_bytecodes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/inet_diag_extended_flags.h b/xlat/inet_diag_extended_flags.h index 158e4e15..410b9202 100644 --- a/xlat/inet_diag_extended_flags.h +++ b/xlat/inet_diag_extended_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/inet_diag_extended_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat inet_diag_extended_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat inet_diag_extended_flags in mpers mode + +# else static const struct xlat inet_diag_extended_flags[] = { @@ -28,4 +34,6 @@ const struct xlat inet_diag_extended_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/inet_diag_req_attrs.h b/xlat/inet_diag_req_attrs.h index 6fc4bace..be64b3fa 100644 --- a/xlat/inet_diag_req_attrs.h +++ b/xlat/inet_diag_req_attrs.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/inet_diag_req_attrs.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat inet_diag_req_attrs in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat inet_diag_req_attrs in mpers mode + +# else static const struct xlat inet_diag_req_attrs[] = { @@ -13,4 +19,6 @@ const struct xlat inet_diag_req_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/inet_protocols.h b/xlat/inet_protocols.h index 47c0c0d5..81672b81 100644 --- a/xlat/inet_protocols.h +++ b/xlat/inet_protocols.h @@ -1,108 +1,282 @@ /* Generated by ./xlat/gen.sh from ./xlat/inet_protocols.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -const struct xlat inet_protocols[] = { #if defined(IPPROTO_IP) || (defined(HAVE_DECL_IPPROTO_IP) && HAVE_DECL_IPPROTO_IP) - XLAT(IPPROTO_IP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_IP) == (0), "IPPROTO_IP != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_IP 0 #endif #if defined(IPPROTO_ICMP) || (defined(HAVE_DECL_IPPROTO_ICMP) && HAVE_DECL_IPPROTO_ICMP) - XLAT(IPPROTO_ICMP), -#endif -#if defined(IPPROTO_TCP) || (defined(HAVE_DECL_IPPROTO_TCP) && HAVE_DECL_IPPROTO_TCP) - XLAT(IPPROTO_TCP), -#endif -#if defined(IPPROTO_UDP) || (defined(HAVE_DECL_IPPROTO_UDP) && HAVE_DECL_IPPROTO_UDP) - XLAT(IPPROTO_UDP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_ICMP) == (1), "IPPROTO_ICMP != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_ICMP 1 #endif #if defined(IPPROTO_IGMP) || (defined(HAVE_DECL_IPPROTO_IGMP) && HAVE_DECL_IPPROTO_IGMP) - XLAT(IPPROTO_IGMP), -#endif -#if defined(IPPROTO_GGP) || (defined(HAVE_DECL_IPPROTO_GGP) && HAVE_DECL_IPPROTO_GGP) - XLAT(IPPROTO_GGP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_IGMP) == (2), "IPPROTO_IGMP != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_IGMP 2 #endif #if defined(IPPROTO_IPIP) || (defined(HAVE_DECL_IPPROTO_IPIP) && HAVE_DECL_IPPROTO_IPIP) - XLAT(IPPROTO_IPIP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_IPIP) == (4), "IPPROTO_IPIP != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_IPIP 4 +#endif +#if defined(IPPROTO_TCP) || (defined(HAVE_DECL_IPPROTO_TCP) && HAVE_DECL_IPPROTO_TCP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_TCP) == (6), "IPPROTO_TCP != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_TCP 6 #endif #if defined(IPPROTO_EGP) || (defined(HAVE_DECL_IPPROTO_EGP) && HAVE_DECL_IPPROTO_EGP) - XLAT(IPPROTO_EGP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_EGP) == (8), "IPPROTO_EGP != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_EGP 8 #endif #if defined(IPPROTO_PUP) || (defined(HAVE_DECL_IPPROTO_PUP) && HAVE_DECL_IPPROTO_PUP) - XLAT(IPPROTO_PUP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_PUP) == (12), "IPPROTO_PUP != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_PUP 12 +#endif +#if defined(IPPROTO_UDP) || (defined(HAVE_DECL_IPPROTO_UDP) && HAVE_DECL_IPPROTO_UDP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_UDP) == (17), "IPPROTO_UDP != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_UDP 17 #endif #if defined(IPPROTO_IDP) || (defined(HAVE_DECL_IPPROTO_IDP) && HAVE_DECL_IPPROTO_IDP) - XLAT(IPPROTO_IDP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_IDP) == (22), "IPPROTO_IDP != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_IDP 22 #endif #if defined(IPPROTO_TP) || (defined(HAVE_DECL_IPPROTO_TP) && HAVE_DECL_IPPROTO_TP) - XLAT(IPPROTO_TP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_TP) == (29), "IPPROTO_TP != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_TP 29 #endif #if defined(IPPROTO_DCCP) || (defined(HAVE_DECL_IPPROTO_DCCP) && HAVE_DECL_IPPROTO_DCCP) - XLAT(IPPROTO_DCCP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_DCCP) == (33), "IPPROTO_DCCP != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_DCCP 33 #endif #if defined(IPPROTO_IPV6) || (defined(HAVE_DECL_IPPROTO_IPV6) && HAVE_DECL_IPPROTO_IPV6) - XLAT(IPPROTO_IPV6), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_IPV6) == (41), "IPPROTO_IPV6 != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_IPV6 41 #endif #if defined(IPPROTO_ROUTING) || (defined(HAVE_DECL_IPPROTO_ROUTING) && HAVE_DECL_IPPROTO_ROUTING) - XLAT(IPPROTO_ROUTING), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_ROUTING) == (43), "IPPROTO_ROUTING != 43"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_ROUTING 43 #endif #if defined(IPPROTO_FRAGMENT) || (defined(HAVE_DECL_IPPROTO_FRAGMENT) && HAVE_DECL_IPPROTO_FRAGMENT) - XLAT(IPPROTO_FRAGMENT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_FRAGMENT) == (44), "IPPROTO_FRAGMENT != 44"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_FRAGMENT 44 #endif #if defined(IPPROTO_RSVP) || (defined(HAVE_DECL_IPPROTO_RSVP) && HAVE_DECL_IPPROTO_RSVP) - XLAT(IPPROTO_RSVP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_RSVP) == (46), "IPPROTO_RSVP != 46"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_RSVP 46 #endif #if defined(IPPROTO_GRE) || (defined(HAVE_DECL_IPPROTO_GRE) && HAVE_DECL_IPPROTO_GRE) - XLAT(IPPROTO_GRE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_GRE) == (47), "IPPROTO_GRE != 47"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_GRE 47 #endif #if defined(IPPROTO_ESP) || (defined(HAVE_DECL_IPPROTO_ESP) && HAVE_DECL_IPPROTO_ESP) - XLAT(IPPROTO_ESP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_ESP) == (50), "IPPROTO_ESP != 50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_ESP 50 #endif #if defined(IPPROTO_AH) || (defined(HAVE_DECL_IPPROTO_AH) && HAVE_DECL_IPPROTO_AH) - XLAT(IPPROTO_AH), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_AH) == (51), "IPPROTO_AH != 51"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_AH 51 #endif #if defined(IPPROTO_ICMPV6) || (defined(HAVE_DECL_IPPROTO_ICMPV6) && HAVE_DECL_IPPROTO_ICMPV6) - XLAT(IPPROTO_ICMPV6), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_ICMPV6) == (58), "IPPROTO_ICMPV6 != 58"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_ICMPV6 58 #endif #if defined(IPPROTO_NONE) || (defined(HAVE_DECL_IPPROTO_NONE) && HAVE_DECL_IPPROTO_NONE) - XLAT(IPPROTO_NONE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_NONE) == (59), "IPPROTO_NONE != 59"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_NONE 59 #endif #if defined(IPPROTO_DSTOPTS) || (defined(HAVE_DECL_IPPROTO_DSTOPTS) && HAVE_DECL_IPPROTO_DSTOPTS) - XLAT(IPPROTO_DSTOPTS), -#endif -#if defined(IPPROTO_HELLO) || (defined(HAVE_DECL_IPPROTO_HELLO) && HAVE_DECL_IPPROTO_HELLO) - XLAT(IPPROTO_HELLO), -#endif -#if defined(IPPROTO_ND) || (defined(HAVE_DECL_IPPROTO_ND) && HAVE_DECL_IPPROTO_ND) - XLAT(IPPROTO_ND), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_DSTOPTS) == (60), "IPPROTO_DSTOPTS != 60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_DSTOPTS 60 #endif #if defined(IPPROTO_MTP) || (defined(HAVE_DECL_IPPROTO_MTP) && HAVE_DECL_IPPROTO_MTP) - XLAT(IPPROTO_MTP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_MTP) == (92), "IPPROTO_MTP != 92"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_MTP 92 +#endif +#if defined(IPPROTO_BEETPH) || (defined(HAVE_DECL_IPPROTO_BEETPH) && HAVE_DECL_IPPROTO_BEETPH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_BEETPH) == (94), "IPPROTO_BEETPH != 94"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_BEETPH 94 #endif #if defined(IPPROTO_ENCAP) || (defined(HAVE_DECL_IPPROTO_ENCAP) && HAVE_DECL_IPPROTO_ENCAP) - XLAT(IPPROTO_ENCAP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_ENCAP) == (98), "IPPROTO_ENCAP != 98"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_ENCAP 98 #endif #if defined(IPPROTO_PIM) || (defined(HAVE_DECL_IPPROTO_PIM) && HAVE_DECL_IPPROTO_PIM) - XLAT(IPPROTO_PIM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_PIM) == (103), "IPPROTO_PIM != 103"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_PIM 103 #endif #if defined(IPPROTO_COMP) || (defined(HAVE_DECL_IPPROTO_COMP) && HAVE_DECL_IPPROTO_COMP) - XLAT(IPPROTO_COMP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_COMP) == (108), "IPPROTO_COMP != 108"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_COMP 108 +#endif +#if defined(IPPROTO_L2TP) || (defined(HAVE_DECL_IPPROTO_L2TP) && HAVE_DECL_IPPROTO_L2TP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_L2TP) == (115), "IPPROTO_L2TP != 115"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_L2TP 115 #endif #if defined(IPPROTO_SCTP) || (defined(HAVE_DECL_IPPROTO_SCTP) && HAVE_DECL_IPPROTO_SCTP) - XLAT(IPPROTO_SCTP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_SCTP) == (132), "IPPROTO_SCTP != 132"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_SCTP 132 +#endif +#if defined(IPPROTO_MH) || (defined(HAVE_DECL_IPPROTO_MH) && HAVE_DECL_IPPROTO_MH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_MH) == (135), "IPPROTO_MH != 135"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_MH 135 #endif #if defined(IPPROTO_UDPLITE) || (defined(HAVE_DECL_IPPROTO_UDPLITE) && HAVE_DECL_IPPROTO_UDPLITE) - XLAT(IPPROTO_UDPLITE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_UDPLITE) == (136), "IPPROTO_UDPLITE != 136"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_UDPLITE 136 #endif #if defined(IPPROTO_MPLS) || (defined(HAVE_DECL_IPPROTO_MPLS) && HAVE_DECL_IPPROTO_MPLS) - XLAT(IPPROTO_MPLS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_MPLS) == (137), "IPPROTO_MPLS != 137"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_MPLS 137 #endif #if defined(IPPROTO_RAW) || (defined(HAVE_DECL_IPPROTO_RAW) && HAVE_DECL_IPPROTO_RAW) - XLAT(IPPROTO_RAW), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_RAW) == (255), "IPPROTO_RAW != 255"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_RAW 255 #endif #if defined(IPPROTO_MAX) || (defined(HAVE_DECL_IPPROTO_MAX) && HAVE_DECL_IPPROTO_MAX) - XLAT(IPPROTO_MAX), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPPROTO_MAX) == (256), "IPPROTO_MAX != 256"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPPROTO_MAX 256 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS + +const struct xlat inet_protocols[] = { + + XLAT(IPPROTO_IP), + XLAT(IPPROTO_ICMP), + XLAT(IPPROTO_IGMP), + XLAT(IPPROTO_IPIP), + XLAT(IPPROTO_TCP), + XLAT(IPPROTO_EGP), + XLAT(IPPROTO_PUP), + XLAT(IPPROTO_UDP), + XLAT(IPPROTO_IDP), + XLAT(IPPROTO_TP), + XLAT(IPPROTO_DCCP), + XLAT(IPPROTO_IPV6), + XLAT(IPPROTO_ROUTING), + XLAT(IPPROTO_FRAGMENT), + XLAT(IPPROTO_RSVP), + XLAT(IPPROTO_GRE), + XLAT(IPPROTO_ESP), + XLAT(IPPROTO_AH), + XLAT(IPPROTO_ICMPV6), + XLAT(IPPROTO_NONE), + XLAT(IPPROTO_DSTOPTS), + XLAT(IPPROTO_MTP), + XLAT(IPPROTO_BEETPH), + XLAT(IPPROTO_ENCAP), + XLAT(IPPROTO_PIM), + XLAT(IPPROTO_COMP), + XLAT(IPPROTO_L2TP), + XLAT(IPPROTO_SCTP), + XLAT(IPPROTO_MH), + XLAT(IPPROTO_UDPLITE), + XLAT(IPPROTO_MPLS), + XLAT(IPPROTO_RAW), + XLAT(IPPROTO_MAX), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/inet_protocols.in b/xlat/inet_protocols.in index b7e13c97..b35b4283 100644 --- a/xlat/inet_protocols.in +++ b/xlat/inet_protocols.in @@ -1,33 +1,34 @@ -IPPROTO_IP -IPPROTO_ICMP -IPPROTO_TCP -IPPROTO_UDP -IPPROTO_IGMP -IPPROTO_GGP -IPPROTO_IPIP -IPPROTO_EGP -IPPROTO_PUP -IPPROTO_IDP -IPPROTO_TP -IPPROTO_DCCP -IPPROTO_IPV6 -IPPROTO_ROUTING -IPPROTO_FRAGMENT -IPPROTO_RSVP -IPPROTO_GRE -IPPROTO_ESP -IPPROTO_AH -IPPROTO_ICMPV6 -IPPROTO_NONE -IPPROTO_DSTOPTS -IPPROTO_HELLO -IPPROTO_ND -IPPROTO_MTP -IPPROTO_ENCAP -IPPROTO_PIM -IPPROTO_COMP -IPPROTO_SCTP -IPPROTO_UDPLITE -IPPROTO_MPLS -IPPROTO_RAW -IPPROTO_MAX +/* sort -k2,2n */ +IPPROTO_IP 0 +IPPROTO_ICMP 1 +IPPROTO_IGMP 2 +IPPROTO_IPIP 4 +IPPROTO_TCP 6 +IPPROTO_EGP 8 +IPPROTO_PUP 12 +IPPROTO_UDP 17 +IPPROTO_IDP 22 +IPPROTO_TP 29 +IPPROTO_DCCP 33 +IPPROTO_IPV6 41 +IPPROTO_ROUTING 43 +IPPROTO_FRAGMENT 44 +IPPROTO_RSVP 46 +IPPROTO_GRE 47 +IPPROTO_ESP 50 +IPPROTO_AH 51 +IPPROTO_ICMPV6 58 +IPPROTO_NONE 59 +IPPROTO_DSTOPTS 60 +IPPROTO_MTP 92 +IPPROTO_BEETPH 94 +IPPROTO_ENCAP 98 +IPPROTO_PIM 103 +IPPROTO_COMP 108 +IPPROTO_L2TP 115 +IPPROTO_SCTP 132 +IPPROTO_MH 135 +IPPROTO_UDPLITE 136 +IPPROTO_MPLS 137 +IPPROTO_RAW 255 +IPPROTO_MAX 256 diff --git a/xlat/inotify_flags.h b/xlat/inotify_flags.h index 5638f5bd..1cab92d0 100644 --- a/xlat/inotify_flags.h +++ b/xlat/inotify_flags.h @@ -1,73 +1,163 @@ /* Generated by ./xlat/gen.sh from ./xlat/inotify_flags.in; do not edit. */ -#if !(defined(IN_ACCESS) || (defined(HAVE_DECL_IN_ACCESS) && HAVE_DECL_IN_ACCESS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IN_ACCESS) || (defined(HAVE_DECL_IN_ACCESS) && HAVE_DECL_IN_ACCESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_ACCESS) == (0x00000001), "IN_ACCESS != 0x00000001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_ACCESS 0x00000001 #endif -#if !(defined(IN_MODIFY) || (defined(HAVE_DECL_IN_MODIFY) && HAVE_DECL_IN_MODIFY)) +#if defined(IN_MODIFY) || (defined(HAVE_DECL_IN_MODIFY) && HAVE_DECL_IN_MODIFY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_MODIFY) == (0x00000002), "IN_MODIFY != 0x00000002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_MODIFY 0x00000002 #endif -#if !(defined(IN_ATTRIB) || (defined(HAVE_DECL_IN_ATTRIB) && HAVE_DECL_IN_ATTRIB)) +#if defined(IN_ATTRIB) || (defined(HAVE_DECL_IN_ATTRIB) && HAVE_DECL_IN_ATTRIB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_ATTRIB) == (0x00000004), "IN_ATTRIB != 0x00000004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_ATTRIB 0x00000004 #endif -#if !(defined(IN_CLOSE_WRITE) || (defined(HAVE_DECL_IN_CLOSE_WRITE) && HAVE_DECL_IN_CLOSE_WRITE)) +#if defined(IN_CLOSE_WRITE) || (defined(HAVE_DECL_IN_CLOSE_WRITE) && HAVE_DECL_IN_CLOSE_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_CLOSE_WRITE) == (0x00000008), "IN_CLOSE_WRITE != 0x00000008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_CLOSE_WRITE 0x00000008 #endif -#if !(defined(IN_CLOSE_NOWRITE) || (defined(HAVE_DECL_IN_CLOSE_NOWRITE) && HAVE_DECL_IN_CLOSE_NOWRITE)) +#if defined(IN_CLOSE_NOWRITE) || (defined(HAVE_DECL_IN_CLOSE_NOWRITE) && HAVE_DECL_IN_CLOSE_NOWRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_CLOSE_NOWRITE) == (0x00000010), "IN_CLOSE_NOWRITE != 0x00000010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_CLOSE_NOWRITE 0x00000010 #endif -#if !(defined(IN_OPEN) || (defined(HAVE_DECL_IN_OPEN) && HAVE_DECL_IN_OPEN)) +#if defined(IN_OPEN) || (defined(HAVE_DECL_IN_OPEN) && HAVE_DECL_IN_OPEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_OPEN) == (0x00000020), "IN_OPEN != 0x00000020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_OPEN 0x00000020 #endif -#if !(defined(IN_MOVED_FROM) || (defined(HAVE_DECL_IN_MOVED_FROM) && HAVE_DECL_IN_MOVED_FROM)) +#if defined(IN_MOVED_FROM) || (defined(HAVE_DECL_IN_MOVED_FROM) && HAVE_DECL_IN_MOVED_FROM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_MOVED_FROM) == (0x00000040), "IN_MOVED_FROM != 0x00000040"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_MOVED_FROM 0x00000040 #endif -#if !(defined(IN_MOVED_TO) || (defined(HAVE_DECL_IN_MOVED_TO) && HAVE_DECL_IN_MOVED_TO)) +#if defined(IN_MOVED_TO) || (defined(HAVE_DECL_IN_MOVED_TO) && HAVE_DECL_IN_MOVED_TO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_MOVED_TO) == (0x00000080), "IN_MOVED_TO != 0x00000080"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_MOVED_TO 0x00000080 #endif -#if !(defined(IN_CREATE) || (defined(HAVE_DECL_IN_CREATE) && HAVE_DECL_IN_CREATE)) +#if defined(IN_CREATE) || (defined(HAVE_DECL_IN_CREATE) && HAVE_DECL_IN_CREATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_CREATE) == (0x00000100), "IN_CREATE != 0x00000100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_CREATE 0x00000100 #endif -#if !(defined(IN_DELETE) || (defined(HAVE_DECL_IN_DELETE) && HAVE_DECL_IN_DELETE)) +#if defined(IN_DELETE) || (defined(HAVE_DECL_IN_DELETE) && HAVE_DECL_IN_DELETE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_DELETE) == (0x00000200), "IN_DELETE != 0x00000200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_DELETE 0x00000200 #endif -#if !(defined(IN_DELETE_SELF) || (defined(HAVE_DECL_IN_DELETE_SELF) && HAVE_DECL_IN_DELETE_SELF)) +#if defined(IN_DELETE_SELF) || (defined(HAVE_DECL_IN_DELETE_SELF) && HAVE_DECL_IN_DELETE_SELF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_DELETE_SELF) == (0x00000400), "IN_DELETE_SELF != 0x00000400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_DELETE_SELF 0x00000400 #endif -#if !(defined(IN_MOVE_SELF) || (defined(HAVE_DECL_IN_MOVE_SELF) && HAVE_DECL_IN_MOVE_SELF)) +#if defined(IN_MOVE_SELF) || (defined(HAVE_DECL_IN_MOVE_SELF) && HAVE_DECL_IN_MOVE_SELF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_MOVE_SELF) == (0x00000800), "IN_MOVE_SELF != 0x00000800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_MOVE_SELF 0x00000800 #endif -#if !(defined(IN_UNMOUNT) || (defined(HAVE_DECL_IN_UNMOUNT) && HAVE_DECL_IN_UNMOUNT)) +#if defined(IN_UNMOUNT) || (defined(HAVE_DECL_IN_UNMOUNT) && HAVE_DECL_IN_UNMOUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_UNMOUNT) == (0x00002000), "IN_UNMOUNT != 0x00002000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_UNMOUNT 0x00002000 #endif -#if !(defined(IN_Q_OVERFLOW) || (defined(HAVE_DECL_IN_Q_OVERFLOW) && HAVE_DECL_IN_Q_OVERFLOW)) +#if defined(IN_Q_OVERFLOW) || (defined(HAVE_DECL_IN_Q_OVERFLOW) && HAVE_DECL_IN_Q_OVERFLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_Q_OVERFLOW) == (0x00004000), "IN_Q_OVERFLOW != 0x00004000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_Q_OVERFLOW 0x00004000 #endif -#if !(defined(IN_IGNORED) || (defined(HAVE_DECL_IN_IGNORED) && HAVE_DECL_IN_IGNORED)) +#if defined(IN_IGNORED) || (defined(HAVE_DECL_IN_IGNORED) && HAVE_DECL_IN_IGNORED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_IGNORED) == (0x00008000), "IN_IGNORED != 0x00008000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_IGNORED 0x00008000 #endif -#if !(defined(IN_ONLYDIR) || (defined(HAVE_DECL_IN_ONLYDIR) && HAVE_DECL_IN_ONLYDIR)) +#if defined(IN_ONLYDIR) || (defined(HAVE_DECL_IN_ONLYDIR) && HAVE_DECL_IN_ONLYDIR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_ONLYDIR) == (0x01000000), "IN_ONLYDIR != 0x01000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_ONLYDIR 0x01000000 #endif -#if !(defined(IN_DONT_FOLLOW) || (defined(HAVE_DECL_IN_DONT_FOLLOW) && HAVE_DECL_IN_DONT_FOLLOW)) +#if defined(IN_DONT_FOLLOW) || (defined(HAVE_DECL_IN_DONT_FOLLOW) && HAVE_DECL_IN_DONT_FOLLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_DONT_FOLLOW) == (0x02000000), "IN_DONT_FOLLOW != 0x02000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_DONT_FOLLOW 0x02000000 #endif -#if !(defined(IN_EXCL_UNLINK) || (defined(HAVE_DECL_IN_EXCL_UNLINK) && HAVE_DECL_IN_EXCL_UNLINK)) +#if defined(IN_EXCL_UNLINK) || (defined(HAVE_DECL_IN_EXCL_UNLINK) && HAVE_DECL_IN_EXCL_UNLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_EXCL_UNLINK) == (0x04000000), "IN_EXCL_UNLINK != 0x04000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_EXCL_UNLINK 0x04000000 #endif -#if !(defined(IN_MASK_ADD) || (defined(HAVE_DECL_IN_MASK_ADD) && HAVE_DECL_IN_MASK_ADD)) +#if defined(IN_MASK_ADD) || (defined(HAVE_DECL_IN_MASK_ADD) && HAVE_DECL_IN_MASK_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_MASK_ADD) == (0x20000000), "IN_MASK_ADD != 0x20000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_MASK_ADD 0x20000000 #endif -#if !(defined(IN_ISDIR) || (defined(HAVE_DECL_IN_ISDIR) && HAVE_DECL_IN_ISDIR)) +#if defined(IN_ISDIR) || (defined(HAVE_DECL_IN_ISDIR) && HAVE_DECL_IN_ISDIR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_ISDIR) == (0x40000000), "IN_ISDIR != 0x40000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_ISDIR 0x40000000 #endif -#if !(defined(IN_ONESHOT) || (defined(HAVE_DECL_IN_ONESHOT) && HAVE_DECL_IN_ONESHOT)) +#if defined(IN_ONESHOT) || (defined(HAVE_DECL_IN_ONESHOT) && HAVE_DECL_IN_ONESHOT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_ONESHOT) == (0x80000000), "IN_ONESHOT != 0x80000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_ONESHOT 0x80000000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat inotify_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat inotify_flags in mpers mode + +# else static const struct xlat inotify_flags[] = { @@ -95,4 +185,6 @@ const struct xlat inotify_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/inotify_init_flags.h b/xlat/inotify_init_flags.h index f4131472..973a54bd 100644 --- a/xlat/inotify_init_flags.h +++ b/xlat/inotify_init_flags.h @@ -1,18 +1,32 @@ /* Generated by ./xlat/gen.sh from ./xlat/inotify_init_flags.in; do not edit. */ -#if !(defined(IN_NONBLOCK) || (defined(HAVE_DECL_IN_NONBLOCK) && HAVE_DECL_IN_NONBLOCK)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IN_NONBLOCK) || (defined(HAVE_DECL_IN_NONBLOCK) && HAVE_DECL_IN_NONBLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_NONBLOCK) == (O_NONBLOCK), "IN_NONBLOCK != O_NONBLOCK"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_NONBLOCK O_NONBLOCK #endif #if defined IN_CLOEXEC || defined O_CLOEXEC -#if !(defined(IN_CLOEXEC) || (defined(HAVE_DECL_IN_CLOEXEC) && HAVE_DECL_IN_CLOEXEC)) +#if defined(IN_CLOEXEC) || (defined(HAVE_DECL_IN_CLOEXEC) && HAVE_DECL_IN_CLOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IN_CLOEXEC) == (O_CLOEXEC), "IN_CLOEXEC != O_CLOEXEC"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IN_CLOEXEC O_CLOEXEC #endif #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat inotify_init_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat inotify_init_flags in mpers mode + +# else static const struct xlat inotify_init_flags[] = { @@ -23,4 +37,6 @@ const struct xlat inotify_init_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ioctl_dirs.h b/xlat/ioctl_dirs.h index 14bb3e44..d4cae213 100644 --- a/xlat/ioctl_dirs.h +++ b/xlat/ioctl_dirs.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ioctl_dirs.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ioctl_dirs in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ioctl_dirs in mpers mode + +# else static const struct xlat ioctl_dirs[] = { @@ -20,4 +26,6 @@ const struct xlat ioctl_dirs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ioprio_class.h b/xlat/ioprio_class.h index 3e4f893a..c7bfa4bd 100644 --- a/xlat/ioprio_class.h +++ b/xlat/ioprio_class.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ioprio_class.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ioprio_class in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ioprio_class in mpers mode + +# else static const struct xlat ioprio_class[] = { @@ -15,4 +21,6 @@ const struct xlat ioprio_class[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ioprio_who.h b/xlat/ioprio_who.h index b7880ca5..e296fdef 100644 --- a/xlat/ioprio_who.h +++ b/xlat/ioprio_who.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ioprio_who.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ioprio_who in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ioprio_who in mpers mode + +# else static const struct xlat ioprio_who[] = { @@ -14,4 +20,6 @@ const struct xlat ioprio_who[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ip_cmsg_types.h b/xlat/ip_cmsg_types.h index 979d2953..5d714e35 100644 --- a/xlat/ip_cmsg_types.h +++ b/xlat/ip_cmsg_types.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/ip_cmsg_types.in; do not edit. */ -#if !(defined(IP_TOS) || (defined(HAVE_DECL_IP_TOS) && HAVE_DECL_IP_TOS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IP_TOS) || (defined(HAVE_DECL_IP_TOS) && HAVE_DECL_IP_TOS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IP_TOS) == (1), "IP_TOS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IP_TOS 1 #endif -#if !(defined(IP_TTL) || (defined(HAVE_DECL_IP_TTL) && HAVE_DECL_IP_TTL)) +#if defined(IP_TTL) || (defined(HAVE_DECL_IP_TTL) && HAVE_DECL_IP_TTL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IP_TTL) == (2), "IP_TTL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IP_TTL 2 #endif -#if !(defined(IP_RECVOPTS) || (defined(HAVE_DECL_IP_RECVOPTS) && HAVE_DECL_IP_RECVOPTS)) +#if defined(IP_RECVOPTS) || (defined(HAVE_DECL_IP_RECVOPTS) && HAVE_DECL_IP_RECVOPTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IP_RECVOPTS) == (6), "IP_RECVOPTS != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IP_RECVOPTS 6 #endif -#if !(defined(IP_RETOPTS) || (defined(HAVE_DECL_IP_RETOPTS) && HAVE_DECL_IP_RETOPTS)) +#if defined(IP_RETOPTS) || (defined(HAVE_DECL_IP_RETOPTS) && HAVE_DECL_IP_RETOPTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IP_RETOPTS) == (7), "IP_RETOPTS != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IP_RETOPTS 7 #endif -#if !(defined(IP_PKTINFO) || (defined(HAVE_DECL_IP_PKTINFO) && HAVE_DECL_IP_PKTINFO)) +#if defined(IP_PKTINFO) || (defined(HAVE_DECL_IP_PKTINFO) && HAVE_DECL_IP_PKTINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IP_PKTINFO) == (8), "IP_PKTINFO != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IP_PKTINFO 8 #endif -#if !(defined(IP_RECVERR) || (defined(HAVE_DECL_IP_RECVERR) && HAVE_DECL_IP_RECVERR)) +#if defined(IP_RECVERR) || (defined(HAVE_DECL_IP_RECVERR) && HAVE_DECL_IP_RECVERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IP_RECVERR) == (11), "IP_RECVERR != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IP_RECVERR 11 #endif -#if !(defined(IP_ORIGDSTADDR) || (defined(HAVE_DECL_IP_ORIGDSTADDR) && HAVE_DECL_IP_ORIGDSTADDR)) +#if defined(IP_ORIGDSTADDR) || (defined(HAVE_DECL_IP_ORIGDSTADDR) && HAVE_DECL_IP_ORIGDSTADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IP_ORIGDSTADDR) == (20), "IP_ORIGDSTADDR != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IP_ORIGDSTADDR 20 #endif -#if !(defined(IP_CHECKSUM) || (defined(HAVE_DECL_IP_CHECKSUM) && HAVE_DECL_IP_CHECKSUM)) +#if defined(IP_CHECKSUM) || (defined(HAVE_DECL_IP_CHECKSUM) && HAVE_DECL_IP_CHECKSUM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IP_CHECKSUM) == (23), "IP_CHECKSUM != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IP_CHECKSUM 23 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat ip_cmsg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat ip_cmsg_types in mpers mode + +# else static const struct xlat ip_cmsg_types[] = { @@ -46,4 +84,6 @@ const struct xlat ip_cmsg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ip_type_of_services.h b/xlat/ip_type_of_services.h index 9a327fa6..78a451ca 100644 --- a/xlat/ip_type_of_services.h +++ b/xlat/ip_type_of_services.h @@ -1,6 +1,12 @@ /* Generated by ./xlat/gen.sh from ./xlat/ip_type_of_services.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat ip_type_of_services[] = { #if defined(IPTOS_LOWDELAY) || (defined(HAVE_DECL_IPTOS_LOWDELAY) && HAVE_DECL_IPTOS_LOWDELAY) @@ -18,4 +24,6 @@ const struct xlat ip_type_of_services[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ipc_msg_flags.h b/xlat/ipc_msg_flags.h index a37ca879..df3bd1df 100644 --- a/xlat/ipc_msg_flags.h +++ b/xlat/ipc_msg_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ipc_msg_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ipc_msg_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ipc_msg_flags in mpers mode + +# else static const struct xlat ipc_msg_flags[] = { @@ -20,4 +26,6 @@ const struct xlat ipc_msg_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ipc_private.h b/xlat/ipc_private.h new file mode 100644 index 00000000..d6dd0ea0 --- /dev/null +++ b/xlat/ipc_private.h @@ -0,0 +1,25 @@ +/* Generated by ./xlat/gen.sh from ./xlat/ipc_private.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IPC_PRIVATE) || (defined(HAVE_DECL_IPC_PRIVATE) && HAVE_DECL_IPC_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_PRIVATE) == (0), "IPC_PRIVATE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_PRIVATE 0 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS + +const struct xlat ipc_private[] = { + XLAT(IPC_PRIVATE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ipc_private.in b/xlat/ipc_private.in new file mode 100644 index 00000000..b3b233be --- /dev/null +++ b/xlat/ipc_private.in @@ -0,0 +1 @@ +IPC_PRIVATE 0 diff --git a/xlat/ipccalls.h b/xlat/ipccalls.h index fc988e6a..1079e3eb 100644 --- a/xlat/ipccalls.h +++ b/xlat/ipccalls.h @@ -1,46 +1,100 @@ /* Generated by ./xlat/gen.sh from ./xlat/ipccalls.in; do not edit. */ -#if !(defined(SEMOP) || (defined(HAVE_DECL_SEMOP) && HAVE_DECL_SEMOP)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SEMOP) || (defined(HAVE_DECL_SEMOP) && HAVE_DECL_SEMOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEMOP) == (1), "SEMOP != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SEMOP 1 #endif -#if !(defined(SEMGET) || (defined(HAVE_DECL_SEMGET) && HAVE_DECL_SEMGET)) +#if defined(SEMGET) || (defined(HAVE_DECL_SEMGET) && HAVE_DECL_SEMGET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEMGET) == (2), "SEMGET != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SEMGET 2 #endif -#if !(defined(SEMCTL) || (defined(HAVE_DECL_SEMCTL) && HAVE_DECL_SEMCTL)) +#if defined(SEMCTL) || (defined(HAVE_DECL_SEMCTL) && HAVE_DECL_SEMCTL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEMCTL) == (3), "SEMCTL != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SEMCTL 3 #endif -#if !(defined(SEMTIMEDOP) || (defined(HAVE_DECL_SEMTIMEDOP) && HAVE_DECL_SEMTIMEDOP)) +#if defined(SEMTIMEDOP) || (defined(HAVE_DECL_SEMTIMEDOP) && HAVE_DECL_SEMTIMEDOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEMTIMEDOP) == (4), "SEMTIMEDOP != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SEMTIMEDOP 4 #endif -#if !(defined(MSGSND) || (defined(HAVE_DECL_MSGSND) && HAVE_DECL_MSGSND)) +#if defined(MSGSND) || (defined(HAVE_DECL_MSGSND) && HAVE_DECL_MSGSND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSGSND) == (11), "MSGSND != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MSGSND 11 #endif -#if !(defined(MSGRCV) || (defined(HAVE_DECL_MSGRCV) && HAVE_DECL_MSGRCV)) +#if defined(MSGRCV) || (defined(HAVE_DECL_MSGRCV) && HAVE_DECL_MSGRCV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSGRCV) == (12), "MSGRCV != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MSGRCV 12 #endif -#if !(defined(MSGGET) || (defined(HAVE_DECL_MSGGET) && HAVE_DECL_MSGGET)) +#if defined(MSGGET) || (defined(HAVE_DECL_MSGGET) && HAVE_DECL_MSGGET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSGGET) == (13), "MSGGET != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MSGGET 13 #endif -#if !(defined(MSGCTL) || (defined(HAVE_DECL_MSGCTL) && HAVE_DECL_MSGCTL)) +#if defined(MSGCTL) || (defined(HAVE_DECL_MSGCTL) && HAVE_DECL_MSGCTL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSGCTL) == (14), "MSGCTL != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MSGCTL 14 #endif -#if !(defined(SHMAT) || (defined(HAVE_DECL_SHMAT) && HAVE_DECL_SHMAT)) +#if defined(SHMAT) || (defined(HAVE_DECL_SHMAT) && HAVE_DECL_SHMAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHMAT) == (21), "SHMAT != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SHMAT 21 #endif -#if !(defined(SHMDT) || (defined(HAVE_DECL_SHMDT) && HAVE_DECL_SHMDT)) +#if defined(SHMDT) || (defined(HAVE_DECL_SHMDT) && HAVE_DECL_SHMDT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHMDT) == (22), "SHMDT != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SHMDT 22 #endif -#if !(defined(SHMGET) || (defined(HAVE_DECL_SHMGET) && HAVE_DECL_SHMGET)) +#if defined(SHMGET) || (defined(HAVE_DECL_SHMGET) && HAVE_DECL_SHMGET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHMGET) == (23), "SHMGET != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SHMGET 23 #endif -#if !(defined(SHMCTL) || (defined(HAVE_DECL_SHMCTL) && HAVE_DECL_SHMCTL)) +#if defined(SHMCTL) || (defined(HAVE_DECL_SHMCTL) && HAVE_DECL_SHMCTL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHMCTL) == (24), "SHMCTL != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SHMCTL 24 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat ipccalls in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat ipccalls in mpers mode + +# else static const struct xlat ipccalls[] = { @@ -59,4 +113,6 @@ const struct xlat ipccalls[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/irda_protocols.h b/xlat/irda_protocols.h new file mode 100644 index 00000000..6c7e9adc --- /dev/null +++ b/xlat/irda_protocols.h @@ -0,0 +1,38 @@ +/* Generated by ./xlat/gen.sh from ./xlat/irda_protocols.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IRDAPROTO_UNITDATA) || (defined(HAVE_DECL_IRDAPROTO_UNITDATA) && HAVE_DECL_IRDAPROTO_UNITDATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRDAPROTO_UNITDATA) == (0), "IRDAPROTO_UNITDATA != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRDAPROTO_UNITDATA 0 +#endif +#if defined(IRDAPROTO_ULTRA) || (defined(HAVE_DECL_IRDAPROTO_ULTRA) && HAVE_DECL_IRDAPROTO_ULTRA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRDAPROTO_ULTRA) == (1), "IRDAPROTO_ULTRA != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRDAPROTO_ULTRA 1 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat irda_protocols in mpers mode + +# else + +static +const struct xlat irda_protocols[] = { + [IRDAPROTO_UNITDATA] = XLAT(IRDAPROTO_UNITDATA), + [IRDAPROTO_ULTRA] = XLAT(IRDAPROTO_ULTRA), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/irda_protocols.in b/xlat/irda_protocols.in new file mode 100644 index 00000000..e3cd40f6 --- /dev/null +++ b/xlat/irda_protocols.in @@ -0,0 +1,3 @@ +#value_indexed +IRDAPROTO_UNITDATA 0 +IRDAPROTO_ULTRA 1 diff --git a/xlat/isdn_protocols.h b/xlat/isdn_protocols.h new file mode 100644 index 00000000..51ecb7ad --- /dev/null +++ b/xlat/isdn_protocols.h @@ -0,0 +1,132 @@ +/* Generated by ./xlat/gen.sh from ./xlat/isdn_protocols.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(ISDN_P_BASE) || (defined(HAVE_DECL_ISDN_P_BASE) && HAVE_DECL_ISDN_P_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_BASE) == (0), "ISDN_P_BASE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_BASE 0 +#endif +#if defined(ISDN_P_TE_S0) || (defined(HAVE_DECL_ISDN_P_TE_S0) && HAVE_DECL_ISDN_P_TE_S0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_TE_S0) == (1), "ISDN_P_TE_S0 != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_TE_S0 1 +#endif +#if defined(ISDN_P_NT_S0) || (defined(HAVE_DECL_ISDN_P_NT_S0) && HAVE_DECL_ISDN_P_NT_S0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_NT_S0) == (2), "ISDN_P_NT_S0 != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_NT_S0 2 +#endif +#if defined(ISDN_P_TE_E1) || (defined(HAVE_DECL_ISDN_P_TE_E1) && HAVE_DECL_ISDN_P_TE_E1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_TE_E1) == (3), "ISDN_P_TE_E1 != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_TE_E1 3 +#endif +#if defined(ISDN_P_NT_E1) || (defined(HAVE_DECL_ISDN_P_NT_E1) && HAVE_DECL_ISDN_P_NT_E1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_NT_E1) == (4), "ISDN_P_NT_E1 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_NT_E1 4 +#endif +#if defined(ISDN_P_LAPD_TE) || (defined(HAVE_DECL_ISDN_P_LAPD_TE) && HAVE_DECL_ISDN_P_LAPD_TE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_LAPD_TE) == (0x10), "ISDN_P_LAPD_TE != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_LAPD_TE 0x10 +#endif +#if defined(ISDN_P_LAPD_NT) || (defined(HAVE_DECL_ISDN_P_LAPD_NT) && HAVE_DECL_ISDN_P_LAPD_NT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_LAPD_NT) == (0x11), "ISDN_P_LAPD_NT != 0x11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_LAPD_NT 0x11 +#endif +#if defined(ISDN_P_B_RAW) || (defined(HAVE_DECL_ISDN_P_B_RAW) && HAVE_DECL_ISDN_P_B_RAW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_B_RAW) == (0x21), "ISDN_P_B_RAW != 0x21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_B_RAW 0x21 +#endif +#if defined(ISDN_P_B_HDLC) || (defined(HAVE_DECL_ISDN_P_B_HDLC) && HAVE_DECL_ISDN_P_B_HDLC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_B_HDLC) == (0x22), "ISDN_P_B_HDLC != 0x22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_B_HDLC 0x22 +#endif +#if defined(ISDN_P_B_X75SLP) || (defined(HAVE_DECL_ISDN_P_B_X75SLP) && HAVE_DECL_ISDN_P_B_X75SLP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_B_X75SLP) == (0x23), "ISDN_P_B_X75SLP != 0x23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_B_X75SLP 0x23 +#endif +#if defined(ISDN_P_B_L2DTMF) || (defined(HAVE_DECL_ISDN_P_B_L2DTMF) && HAVE_DECL_ISDN_P_B_L2DTMF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_B_L2DTMF) == (0x24), "ISDN_P_B_L2DTMF != 0x24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_B_L2DTMF 0x24 +#endif +#if defined(ISDN_P_B_L2DSP) || (defined(HAVE_DECL_ISDN_P_B_L2DSP) && HAVE_DECL_ISDN_P_B_L2DSP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_B_L2DSP) == (0x25), "ISDN_P_B_L2DSP != 0x25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_B_L2DSP 0x25 +#endif +#if defined(ISDN_P_B_L2DSPHDLC) || (defined(HAVE_DECL_ISDN_P_B_L2DSPHDLC) && HAVE_DECL_ISDN_P_B_L2DSPHDLC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ISDN_P_B_L2DSPHDLC) == (0x26), "ISDN_P_B_L2DSPHDLC != 0x26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ISDN_P_B_L2DSPHDLC 0x26 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat isdn_protocols in mpers mode + +# else + +static +const struct xlat isdn_protocols[] = { + XLAT(ISDN_P_BASE), + XLAT(ISDN_P_TE_S0), + XLAT(ISDN_P_NT_S0), + XLAT(ISDN_P_TE_E1), + XLAT(ISDN_P_NT_E1), + XLAT(ISDN_P_LAPD_TE), + XLAT(ISDN_P_LAPD_NT), + XLAT(ISDN_P_B_RAW), + XLAT(ISDN_P_B_HDLC), + XLAT(ISDN_P_B_X75SLP), + XLAT(ISDN_P_B_L2DTMF), + XLAT(ISDN_P_B_L2DSP), + XLAT(ISDN_P_B_L2DSPHDLC), +/* +* those two are present in include/linux/mISDNif.h but are not handled during +* socket creation. +*/ + + + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/isdn_protocols.in b/xlat/isdn_protocols.in new file mode 100644 index 00000000..a1936077 --- /dev/null +++ b/xlat/isdn_protocols.in @@ -0,0 +1,19 @@ +ISDN_P_BASE 0 +ISDN_P_TE_S0 1 +ISDN_P_NT_S0 2 +ISDN_P_TE_E1 3 +ISDN_P_NT_E1 4 +ISDN_P_LAPD_TE 0x10 +ISDN_P_LAPD_NT 0x11 +ISDN_P_B_RAW 0x21 +ISDN_P_B_HDLC 0x22 +ISDN_P_B_X75SLP 0x23 +ISDN_P_B_L2DTMF 0x24 +ISDN_P_B_L2DSP 0x25 +ISDN_P_B_L2DSPHDLC 0x26 +/* + * those two are present in include/linux/mISDNif.h but are not handled during + * socket creation. + */ +/* ISDN_P_B_T30_FAX 0x27 */ +/* ISDN_P_B_MODEM_ASYNC 0x28 */ diff --git a/xlat/itimer_which.h b/xlat/itimer_which.h index a9180c6a..c82be255 100644 --- a/xlat/itimer_which.h +++ b/xlat/itimer_which.h @@ -1,23 +1,46 @@ /* Generated by ./xlat/gen.sh from ./xlat/itimer_which.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat itimer_which in mpers mode - -#else - -static -const struct xlat itimer_which[] = { #if defined(ITIMER_REAL) || (defined(HAVE_DECL_ITIMER_REAL) && HAVE_DECL_ITIMER_REAL) - XLAT(ITIMER_REAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ITIMER_REAL) == (0), "ITIMER_REAL != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ITIMER_REAL 0 #endif #if defined(ITIMER_VIRTUAL) || (defined(HAVE_DECL_ITIMER_VIRTUAL) && HAVE_DECL_ITIMER_VIRTUAL) - XLAT(ITIMER_VIRTUAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ITIMER_VIRTUAL) == (1), "ITIMER_VIRTUAL != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ITIMER_VIRTUAL 1 #endif #if defined(ITIMER_PROF) || (defined(HAVE_DECL_ITIMER_PROF) && HAVE_DECL_ITIMER_PROF) - XLAT(ITIMER_PROF), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ITIMER_PROF) == (2), "ITIMER_PROF != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ITIMER_PROF 2 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat itimer_which in mpers mode + +# else + +static +const struct xlat itimer_which[] = { + [ITIMER_REAL] = XLAT(ITIMER_REAL), + [ITIMER_VIRTUAL] = XLAT(ITIMER_VIRTUAL), + [ITIMER_PROF] = XLAT(ITIMER_PROF), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/itimer_which.in b/xlat/itimer_which.in index 768b20f4..23635a23 100644 --- a/xlat/itimer_which.in +++ b/xlat/itimer_which.in @@ -1,3 +1,4 @@ -ITIMER_REAL -ITIMER_VIRTUAL -ITIMER_PROF +#value_indexed +ITIMER_REAL 0 +ITIMER_VIRTUAL 1 +ITIMER_PROF 2 diff --git a/xlat/kcm_protocols.h b/xlat/kcm_protocols.h new file mode 100644 index 00000000..e386380b --- /dev/null +++ b/xlat/kcm_protocols.h @@ -0,0 +1,30 @@ +/* Generated by ./xlat/gen.sh from ./xlat/kcm_protocols.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KCMPROTO_CONNECTED) || (defined(HAVE_DECL_KCMPROTO_CONNECTED) && HAVE_DECL_KCMPROTO_CONNECTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCMPROTO_CONNECTED) == (0), "KCMPROTO_CONNECTED != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define KCMPROTO_CONNECTED 0 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat kcm_protocols in mpers mode + +# else + +static +const struct xlat kcm_protocols[] = { + [KCMPROTO_CONNECTED] = XLAT(KCMPROTO_CONNECTED), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/kcm_protocols.in b/xlat/kcm_protocols.in new file mode 100644 index 00000000..0001455d --- /dev/null +++ b/xlat/kcm_protocols.in @@ -0,0 +1,2 @@ +#value_indexed +KCMPROTO_CONNECTED 0 diff --git a/xlat/kcmp_types.h b/xlat/kcmp_types.h index 1b886079..d666fa21 100644 --- a/xlat/kcmp_types.h +++ b/xlat/kcmp_types.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/kcmp_types.in; do not edit. */ -#if !(defined(KCMP_FILE) || (defined(HAVE_DECL_KCMP_FILE) && HAVE_DECL_KCMP_FILE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KCMP_FILE) || (defined(HAVE_DECL_KCMP_FILE) && HAVE_DECL_KCMP_FILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCMP_FILE) == (0), "KCMP_FILE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KCMP_FILE 0 #endif -#if !(defined(KCMP_VM) || (defined(HAVE_DECL_KCMP_VM) && HAVE_DECL_KCMP_VM)) +#if defined(KCMP_VM) || (defined(HAVE_DECL_KCMP_VM) && HAVE_DECL_KCMP_VM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCMP_VM) == (1), "KCMP_VM != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KCMP_VM 1 #endif -#if !(defined(KCMP_FILES) || (defined(HAVE_DECL_KCMP_FILES) && HAVE_DECL_KCMP_FILES)) +#if defined(KCMP_FILES) || (defined(HAVE_DECL_KCMP_FILES) && HAVE_DECL_KCMP_FILES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCMP_FILES) == (2), "KCMP_FILES != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KCMP_FILES 2 #endif -#if !(defined(KCMP_FS) || (defined(HAVE_DECL_KCMP_FS) && HAVE_DECL_KCMP_FS)) +#if defined(KCMP_FS) || (defined(HAVE_DECL_KCMP_FS) && HAVE_DECL_KCMP_FS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCMP_FS) == (3), "KCMP_FS != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KCMP_FS 3 #endif -#if !(defined(KCMP_SIGHAND) || (defined(HAVE_DECL_KCMP_SIGHAND) && HAVE_DECL_KCMP_SIGHAND)) +#if defined(KCMP_SIGHAND) || (defined(HAVE_DECL_KCMP_SIGHAND) && HAVE_DECL_KCMP_SIGHAND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCMP_SIGHAND) == (4), "KCMP_SIGHAND != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KCMP_SIGHAND 4 #endif -#if !(defined(KCMP_IO) || (defined(HAVE_DECL_KCMP_IO) && HAVE_DECL_KCMP_IO)) +#if defined(KCMP_IO) || (defined(HAVE_DECL_KCMP_IO) && HAVE_DECL_KCMP_IO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCMP_IO) == (5), "KCMP_IO != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KCMP_IO 5 #endif -#if !(defined(KCMP_SYSVSEM) || (defined(HAVE_DECL_KCMP_SYSVSEM) && HAVE_DECL_KCMP_SYSVSEM)) +#if defined(KCMP_SYSVSEM) || (defined(HAVE_DECL_KCMP_SYSVSEM) && HAVE_DECL_KCMP_SYSVSEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCMP_SYSVSEM) == (6), "KCMP_SYSVSEM != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KCMP_SYSVSEM 6 #endif -#if !(defined(KCMP_EPOLL_TFD) || (defined(HAVE_DECL_KCMP_EPOLL_TFD) && HAVE_DECL_KCMP_EPOLL_TFD)) +#if defined(KCMP_EPOLL_TFD) || (defined(HAVE_DECL_KCMP_EPOLL_TFD) && HAVE_DECL_KCMP_EPOLL_TFD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCMP_EPOLL_TFD) == (7), "KCMP_EPOLL_TFD != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KCMP_EPOLL_TFD 7 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat kcmp_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat kcmp_types in mpers mode + +# else static const struct xlat kcmp_types[] = { @@ -43,4 +81,6 @@ const struct xlat kcmp_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/kexec_arch_values.h b/xlat/kexec_arch_values.h index 537ba4b6..df40c4b1 100644 --- a/xlat/kexec_arch_values.h +++ b/xlat/kexec_arch_values.h @@ -1,49 +1,107 @@ /* Generated by ./xlat/gen.sh from ./xlat/kexec_arch_values.in; do not edit. */ -#if !(defined(KEXEC_ARCH_DEFAULT) || (defined(HAVE_DECL_KEXEC_ARCH_DEFAULT) && HAVE_DECL_KEXEC_ARCH_DEFAULT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KEXEC_ARCH_DEFAULT) || (defined(HAVE_DECL_KEXEC_ARCH_DEFAULT) && HAVE_DECL_KEXEC_ARCH_DEFAULT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_DEFAULT) == (( 0 << 16)), "KEXEC_ARCH_DEFAULT != ( 0 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_DEFAULT ( 0 << 16) #endif -#if !(defined(KEXEC_ARCH_386) || (defined(HAVE_DECL_KEXEC_ARCH_386) && HAVE_DECL_KEXEC_ARCH_386)) +#if defined(KEXEC_ARCH_386) || (defined(HAVE_DECL_KEXEC_ARCH_386) && HAVE_DECL_KEXEC_ARCH_386) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_386) == (( 3 << 16)), "KEXEC_ARCH_386 != ( 3 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_386 ( 3 << 16) #endif -#if !(defined(KEXEC_ARCH_68K) || (defined(HAVE_DECL_KEXEC_ARCH_68K) && HAVE_DECL_KEXEC_ARCH_68K)) +#if defined(KEXEC_ARCH_68K) || (defined(HAVE_DECL_KEXEC_ARCH_68K) && HAVE_DECL_KEXEC_ARCH_68K) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_68K) == (( 4 << 16)), "KEXEC_ARCH_68K != ( 4 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_68K ( 4 << 16) #endif -#if !(defined(KEXEC_ARCH_X86_64) || (defined(HAVE_DECL_KEXEC_ARCH_X86_64) && HAVE_DECL_KEXEC_ARCH_X86_64)) +#if defined(KEXEC_ARCH_X86_64) || (defined(HAVE_DECL_KEXEC_ARCH_X86_64) && HAVE_DECL_KEXEC_ARCH_X86_64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_X86_64) == ((62 << 16)), "KEXEC_ARCH_X86_64 != (62 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_X86_64 (62 << 16) #endif -#if !(defined(KEXEC_ARCH_PPC) || (defined(HAVE_DECL_KEXEC_ARCH_PPC) && HAVE_DECL_KEXEC_ARCH_PPC)) +#if defined(KEXEC_ARCH_PPC) || (defined(HAVE_DECL_KEXEC_ARCH_PPC) && HAVE_DECL_KEXEC_ARCH_PPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_PPC) == ((20 << 16)), "KEXEC_ARCH_PPC != (20 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_PPC (20 << 16) #endif -#if !(defined(KEXEC_ARCH_PPC64) || (defined(HAVE_DECL_KEXEC_ARCH_PPC64) && HAVE_DECL_KEXEC_ARCH_PPC64)) +#if defined(KEXEC_ARCH_PPC64) || (defined(HAVE_DECL_KEXEC_ARCH_PPC64) && HAVE_DECL_KEXEC_ARCH_PPC64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_PPC64) == ((21 << 16)), "KEXEC_ARCH_PPC64 != (21 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_PPC64 (21 << 16) #endif -#if !(defined(KEXEC_ARCH_IA_64) || (defined(HAVE_DECL_KEXEC_ARCH_IA_64) && HAVE_DECL_KEXEC_ARCH_IA_64)) +#if defined(KEXEC_ARCH_IA_64) || (defined(HAVE_DECL_KEXEC_ARCH_IA_64) && HAVE_DECL_KEXEC_ARCH_IA_64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_IA_64) == ((50 << 16)), "KEXEC_ARCH_IA_64 != (50 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_IA_64 (50 << 16) #endif -#if !(defined(KEXEC_ARCH_ARM) || (defined(HAVE_DECL_KEXEC_ARCH_ARM) && HAVE_DECL_KEXEC_ARCH_ARM)) +#if defined(KEXEC_ARCH_ARM) || (defined(HAVE_DECL_KEXEC_ARCH_ARM) && HAVE_DECL_KEXEC_ARCH_ARM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_ARM) == ((40 << 16)), "KEXEC_ARCH_ARM != (40 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_ARM (40 << 16) #endif -#if !(defined(KEXEC_ARCH_S390) || (defined(HAVE_DECL_KEXEC_ARCH_S390) && HAVE_DECL_KEXEC_ARCH_S390)) +#if defined(KEXEC_ARCH_S390) || (defined(HAVE_DECL_KEXEC_ARCH_S390) && HAVE_DECL_KEXEC_ARCH_S390) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_S390) == ((22 << 16)), "KEXEC_ARCH_S390 != (22 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_S390 (22 << 16) #endif -#if !(defined(KEXEC_ARCH_SH) || (defined(HAVE_DECL_KEXEC_ARCH_SH) && HAVE_DECL_KEXEC_ARCH_SH)) +#if defined(KEXEC_ARCH_SH) || (defined(HAVE_DECL_KEXEC_ARCH_SH) && HAVE_DECL_KEXEC_ARCH_SH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_SH) == ((42 << 16)), "KEXEC_ARCH_SH != (42 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_SH (42 << 16) #endif -#if !(defined(KEXEC_ARCH_MIPS_LE) || (defined(HAVE_DECL_KEXEC_ARCH_MIPS_LE) && HAVE_DECL_KEXEC_ARCH_MIPS_LE)) +#if defined(KEXEC_ARCH_MIPS_LE) || (defined(HAVE_DECL_KEXEC_ARCH_MIPS_LE) && HAVE_DECL_KEXEC_ARCH_MIPS_LE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_MIPS_LE) == ((10 << 16)), "KEXEC_ARCH_MIPS_LE != (10 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_MIPS_LE (10 << 16) #endif -#if !(defined(KEXEC_ARCH_MIPS) || (defined(HAVE_DECL_KEXEC_ARCH_MIPS) && HAVE_DECL_KEXEC_ARCH_MIPS)) +#if defined(KEXEC_ARCH_MIPS) || (defined(HAVE_DECL_KEXEC_ARCH_MIPS) && HAVE_DECL_KEXEC_ARCH_MIPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_MIPS) == (( 8 << 16)), "KEXEC_ARCH_MIPS != ( 8 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_MIPS ( 8 << 16) #endif -#if !(defined(KEXEC_ARCH_AARCH64) || (defined(HAVE_DECL_KEXEC_ARCH_AARCH64) && HAVE_DECL_KEXEC_ARCH_AARCH64)) +#if defined(KEXEC_ARCH_AARCH64) || (defined(HAVE_DECL_KEXEC_ARCH_AARCH64) && HAVE_DECL_KEXEC_ARCH_AARCH64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ARCH_AARCH64) == ((183 << 16)), "KEXEC_ARCH_AARCH64 != (183 << 16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ARCH_AARCH64 (183 << 16) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat kexec_arch_values in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat kexec_arch_values in mpers mode + +# else static const struct xlat kexec_arch_values[] = { @@ -63,4 +121,6 @@ const struct xlat kexec_arch_values[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/kexec_file_load_flags.h b/xlat/kexec_file_load_flags.h index 340ca3ff..5c257c82 100644 --- a/xlat/kexec_file_load_flags.h +++ b/xlat/kexec_file_load_flags.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/kexec_file_load_flags.in; do not edit. */ -#if !(defined(KEXEC_FILE_UNLOAD) || (defined(HAVE_DECL_KEXEC_FILE_UNLOAD) && HAVE_DECL_KEXEC_FILE_UNLOAD)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KEXEC_FILE_UNLOAD) || (defined(HAVE_DECL_KEXEC_FILE_UNLOAD) && HAVE_DECL_KEXEC_FILE_UNLOAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_FILE_UNLOAD) == (1), "KEXEC_FILE_UNLOAD != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_FILE_UNLOAD 1 #endif -#if !(defined(KEXEC_FILE_ON_CRASH) || (defined(HAVE_DECL_KEXEC_FILE_ON_CRASH) && HAVE_DECL_KEXEC_FILE_ON_CRASH)) +#if defined(KEXEC_FILE_ON_CRASH) || (defined(HAVE_DECL_KEXEC_FILE_ON_CRASH) && HAVE_DECL_KEXEC_FILE_ON_CRASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_FILE_ON_CRASH) == (2), "KEXEC_FILE_ON_CRASH != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_FILE_ON_CRASH 2 #endif -#if !(defined(KEXEC_FILE_NO_INITRAMFS) || (defined(HAVE_DECL_KEXEC_FILE_NO_INITRAMFS) && HAVE_DECL_KEXEC_FILE_NO_INITRAMFS)) +#if defined(KEXEC_FILE_NO_INITRAMFS) || (defined(HAVE_DECL_KEXEC_FILE_NO_INITRAMFS) && HAVE_DECL_KEXEC_FILE_NO_INITRAMFS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_FILE_NO_INITRAMFS) == (4), "KEXEC_FILE_NO_INITRAMFS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_FILE_NO_INITRAMFS 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat kexec_file_load_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat kexec_file_load_flags in mpers mode + +# else static const struct xlat kexec_file_load_flags[] = { @@ -23,4 +41,6 @@ const struct xlat kexec_file_load_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/kexec_load_flags.h b/xlat/kexec_load_flags.h index 00a51c7a..dcee0c11 100644 --- a/xlat/kexec_load_flags.h +++ b/xlat/kexec_load_flags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/kexec_load_flags.in; do not edit. */ -#if !(defined(KEXEC_ON_CRASH) || (defined(HAVE_DECL_KEXEC_ON_CRASH) && HAVE_DECL_KEXEC_ON_CRASH)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KEXEC_ON_CRASH) || (defined(HAVE_DECL_KEXEC_ON_CRASH) && HAVE_DECL_KEXEC_ON_CRASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_ON_CRASH) == (0x00000001), "KEXEC_ON_CRASH != 0x00000001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_ON_CRASH 0x00000001 #endif -#if !(defined(KEXEC_PRESERVE_CONTEXT) || (defined(HAVE_DECL_KEXEC_PRESERVE_CONTEXT) && HAVE_DECL_KEXEC_PRESERVE_CONTEXT)) +#if defined(KEXEC_PRESERVE_CONTEXT) || (defined(HAVE_DECL_KEXEC_PRESERVE_CONTEXT) && HAVE_DECL_KEXEC_PRESERVE_CONTEXT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEXEC_PRESERVE_CONTEXT) == (0x00000002), "KEXEC_PRESERVE_CONTEXT != 0x00000002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEXEC_PRESERVE_CONTEXT 0x00000002 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat kexec_load_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat kexec_load_flags in mpers mode + +# else static const struct xlat kexec_load_flags[] = { @@ -19,4 +33,6 @@ const struct xlat kexec_load_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/key_perms.h b/xlat/key_perms.h index 4488f701..852a9fed 100644 --- a/xlat/key_perms.h +++ b/xlat/key_perms.h @@ -1,94 +1,212 @@ /* Generated by ./xlat/gen.sh from ./xlat/key_perms.in; do not edit. */ -#if !(defined(KEY_POS_VIEW) || (defined(HAVE_DECL_KEY_POS_VIEW) && HAVE_DECL_KEY_POS_VIEW)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KEY_POS_VIEW) || (defined(HAVE_DECL_KEY_POS_VIEW) && HAVE_DECL_KEY_POS_VIEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_POS_VIEW) == (0x01000000), "KEY_POS_VIEW != 0x01000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_POS_VIEW 0x01000000 #endif -#if !(defined(KEY_POS_READ) || (defined(HAVE_DECL_KEY_POS_READ) && HAVE_DECL_KEY_POS_READ)) +#if defined(KEY_POS_READ) || (defined(HAVE_DECL_KEY_POS_READ) && HAVE_DECL_KEY_POS_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_POS_READ) == (0x02000000), "KEY_POS_READ != 0x02000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_POS_READ 0x02000000 #endif -#if !(defined(KEY_POS_WRITE) || (defined(HAVE_DECL_KEY_POS_WRITE) && HAVE_DECL_KEY_POS_WRITE)) +#if defined(KEY_POS_WRITE) || (defined(HAVE_DECL_KEY_POS_WRITE) && HAVE_DECL_KEY_POS_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_POS_WRITE) == (0x04000000), "KEY_POS_WRITE != 0x04000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_POS_WRITE 0x04000000 #endif -#if !(defined(KEY_POS_SEARCH) || (defined(HAVE_DECL_KEY_POS_SEARCH) && HAVE_DECL_KEY_POS_SEARCH)) +#if defined(KEY_POS_SEARCH) || (defined(HAVE_DECL_KEY_POS_SEARCH) && HAVE_DECL_KEY_POS_SEARCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_POS_SEARCH) == (0x08000000), "KEY_POS_SEARCH != 0x08000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_POS_SEARCH 0x08000000 #endif -#if !(defined(KEY_POS_LINK) || (defined(HAVE_DECL_KEY_POS_LINK) && HAVE_DECL_KEY_POS_LINK)) +#if defined(KEY_POS_LINK) || (defined(HAVE_DECL_KEY_POS_LINK) && HAVE_DECL_KEY_POS_LINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_POS_LINK) == (0x10000000), "KEY_POS_LINK != 0x10000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_POS_LINK 0x10000000 #endif -#if !(defined(KEY_POS_SETATTR) || (defined(HAVE_DECL_KEY_POS_SETATTR) && HAVE_DECL_KEY_POS_SETATTR)) +#if defined(KEY_POS_SETATTR) || (defined(HAVE_DECL_KEY_POS_SETATTR) && HAVE_DECL_KEY_POS_SETATTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_POS_SETATTR) == (0x20000000), "KEY_POS_SETATTR != 0x20000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_POS_SETATTR 0x20000000 #endif -#if !(defined(KEY_POS_ALL) || (defined(HAVE_DECL_KEY_POS_ALL) && HAVE_DECL_KEY_POS_ALL)) +#if defined(KEY_POS_ALL) || (defined(HAVE_DECL_KEY_POS_ALL) && HAVE_DECL_KEY_POS_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_POS_ALL) == (0x3f000000), "KEY_POS_ALL != 0x3f000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_POS_ALL 0x3f000000 #endif -#if !(defined(KEY_USR_VIEW) || (defined(HAVE_DECL_KEY_USR_VIEW) && HAVE_DECL_KEY_USR_VIEW)) +#if defined(KEY_USR_VIEW) || (defined(HAVE_DECL_KEY_USR_VIEW) && HAVE_DECL_KEY_USR_VIEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_USR_VIEW) == (0x00010000), "KEY_USR_VIEW != 0x00010000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_USR_VIEW 0x00010000 #endif -#if !(defined(KEY_USR_READ) || (defined(HAVE_DECL_KEY_USR_READ) && HAVE_DECL_KEY_USR_READ)) +#if defined(KEY_USR_READ) || (defined(HAVE_DECL_KEY_USR_READ) && HAVE_DECL_KEY_USR_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_USR_READ) == (0x00020000), "KEY_USR_READ != 0x00020000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_USR_READ 0x00020000 #endif -#if !(defined(KEY_USR_WRITE) || (defined(HAVE_DECL_KEY_USR_WRITE) && HAVE_DECL_KEY_USR_WRITE)) +#if defined(KEY_USR_WRITE) || (defined(HAVE_DECL_KEY_USR_WRITE) && HAVE_DECL_KEY_USR_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_USR_WRITE) == (0x00040000), "KEY_USR_WRITE != 0x00040000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_USR_WRITE 0x00040000 #endif -#if !(defined(KEY_USR_SEARCH) || (defined(HAVE_DECL_KEY_USR_SEARCH) && HAVE_DECL_KEY_USR_SEARCH)) +#if defined(KEY_USR_SEARCH) || (defined(HAVE_DECL_KEY_USR_SEARCH) && HAVE_DECL_KEY_USR_SEARCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_USR_SEARCH) == (0x00080000), "KEY_USR_SEARCH != 0x00080000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_USR_SEARCH 0x00080000 #endif -#if !(defined(KEY_USR_LINK) || (defined(HAVE_DECL_KEY_USR_LINK) && HAVE_DECL_KEY_USR_LINK)) +#if defined(KEY_USR_LINK) || (defined(HAVE_DECL_KEY_USR_LINK) && HAVE_DECL_KEY_USR_LINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_USR_LINK) == (0x00100000), "KEY_USR_LINK != 0x00100000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_USR_LINK 0x00100000 #endif -#if !(defined(KEY_USR_SETATTR) || (defined(HAVE_DECL_KEY_USR_SETATTR) && HAVE_DECL_KEY_USR_SETATTR)) +#if defined(KEY_USR_SETATTR) || (defined(HAVE_DECL_KEY_USR_SETATTR) && HAVE_DECL_KEY_USR_SETATTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_USR_SETATTR) == (0x00200000), "KEY_USR_SETATTR != 0x00200000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_USR_SETATTR 0x00200000 #endif -#if !(defined(KEY_USR_ALL) || (defined(HAVE_DECL_KEY_USR_ALL) && HAVE_DECL_KEY_USR_ALL)) +#if defined(KEY_USR_ALL) || (defined(HAVE_DECL_KEY_USR_ALL) && HAVE_DECL_KEY_USR_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_USR_ALL) == (0x003f0000), "KEY_USR_ALL != 0x003f0000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_USR_ALL 0x003f0000 #endif -#if !(defined(KEY_GRP_VIEW) || (defined(HAVE_DECL_KEY_GRP_VIEW) && HAVE_DECL_KEY_GRP_VIEW)) +#if defined(KEY_GRP_VIEW) || (defined(HAVE_DECL_KEY_GRP_VIEW) && HAVE_DECL_KEY_GRP_VIEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GRP_VIEW) == (0x00000100), "KEY_GRP_VIEW != 0x00000100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GRP_VIEW 0x00000100 #endif -#if !(defined(KEY_GRP_READ) || (defined(HAVE_DECL_KEY_GRP_READ) && HAVE_DECL_KEY_GRP_READ)) +#if defined(KEY_GRP_READ) || (defined(HAVE_DECL_KEY_GRP_READ) && HAVE_DECL_KEY_GRP_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GRP_READ) == (0x00000200), "KEY_GRP_READ != 0x00000200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GRP_READ 0x00000200 #endif -#if !(defined(KEY_GRP_WRITE) || (defined(HAVE_DECL_KEY_GRP_WRITE) && HAVE_DECL_KEY_GRP_WRITE)) +#if defined(KEY_GRP_WRITE) || (defined(HAVE_DECL_KEY_GRP_WRITE) && HAVE_DECL_KEY_GRP_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GRP_WRITE) == (0x00000400), "KEY_GRP_WRITE != 0x00000400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GRP_WRITE 0x00000400 #endif -#if !(defined(KEY_GRP_SEARCH) || (defined(HAVE_DECL_KEY_GRP_SEARCH) && HAVE_DECL_KEY_GRP_SEARCH)) +#if defined(KEY_GRP_SEARCH) || (defined(HAVE_DECL_KEY_GRP_SEARCH) && HAVE_DECL_KEY_GRP_SEARCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GRP_SEARCH) == (0x00000800), "KEY_GRP_SEARCH != 0x00000800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GRP_SEARCH 0x00000800 #endif -#if !(defined(KEY_GRP_LINK) || (defined(HAVE_DECL_KEY_GRP_LINK) && HAVE_DECL_KEY_GRP_LINK)) +#if defined(KEY_GRP_LINK) || (defined(HAVE_DECL_KEY_GRP_LINK) && HAVE_DECL_KEY_GRP_LINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GRP_LINK) == (0x00001000), "KEY_GRP_LINK != 0x00001000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GRP_LINK 0x00001000 #endif -#if !(defined(KEY_GRP_SETATTR) || (defined(HAVE_DECL_KEY_GRP_SETATTR) && HAVE_DECL_KEY_GRP_SETATTR)) +#if defined(KEY_GRP_SETATTR) || (defined(HAVE_DECL_KEY_GRP_SETATTR) && HAVE_DECL_KEY_GRP_SETATTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GRP_SETATTR) == (0x00002000), "KEY_GRP_SETATTR != 0x00002000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GRP_SETATTR 0x00002000 #endif -#if !(defined(KEY_GRP_ALL) || (defined(HAVE_DECL_KEY_GRP_ALL) && HAVE_DECL_KEY_GRP_ALL)) +#if defined(KEY_GRP_ALL) || (defined(HAVE_DECL_KEY_GRP_ALL) && HAVE_DECL_KEY_GRP_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_GRP_ALL) == (0x00003f00), "KEY_GRP_ALL != 0x00003f00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_GRP_ALL 0x00003f00 #endif -#if !(defined(KEY_OTH_VIEW) || (defined(HAVE_DECL_KEY_OTH_VIEW) && HAVE_DECL_KEY_OTH_VIEW)) +#if defined(KEY_OTH_VIEW) || (defined(HAVE_DECL_KEY_OTH_VIEW) && HAVE_DECL_KEY_OTH_VIEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OTH_VIEW) == (0x00000001), "KEY_OTH_VIEW != 0x00000001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OTH_VIEW 0x00000001 #endif -#if !(defined(KEY_OTH_READ) || (defined(HAVE_DECL_KEY_OTH_READ) && HAVE_DECL_KEY_OTH_READ)) +#if defined(KEY_OTH_READ) || (defined(HAVE_DECL_KEY_OTH_READ) && HAVE_DECL_KEY_OTH_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OTH_READ) == (0x00000002), "KEY_OTH_READ != 0x00000002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OTH_READ 0x00000002 #endif -#if !(defined(KEY_OTH_WRITE) || (defined(HAVE_DECL_KEY_OTH_WRITE) && HAVE_DECL_KEY_OTH_WRITE)) +#if defined(KEY_OTH_WRITE) || (defined(HAVE_DECL_KEY_OTH_WRITE) && HAVE_DECL_KEY_OTH_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OTH_WRITE) == (0x00000004), "KEY_OTH_WRITE != 0x00000004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OTH_WRITE 0x00000004 #endif -#if !(defined(KEY_OTH_SEARCH) || (defined(HAVE_DECL_KEY_OTH_SEARCH) && HAVE_DECL_KEY_OTH_SEARCH)) +#if defined(KEY_OTH_SEARCH) || (defined(HAVE_DECL_KEY_OTH_SEARCH) && HAVE_DECL_KEY_OTH_SEARCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OTH_SEARCH) == (0x00000008), "KEY_OTH_SEARCH != 0x00000008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OTH_SEARCH 0x00000008 #endif -#if !(defined(KEY_OTH_LINK) || (defined(HAVE_DECL_KEY_OTH_LINK) && HAVE_DECL_KEY_OTH_LINK)) +#if defined(KEY_OTH_LINK) || (defined(HAVE_DECL_KEY_OTH_LINK) && HAVE_DECL_KEY_OTH_LINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OTH_LINK) == (0x00000010), "KEY_OTH_LINK != 0x00000010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OTH_LINK 0x00000010 #endif -#if !(defined(KEY_OTH_SETATTR) || (defined(HAVE_DECL_KEY_OTH_SETATTR) && HAVE_DECL_KEY_OTH_SETATTR)) +#if defined(KEY_OTH_SETATTR) || (defined(HAVE_DECL_KEY_OTH_SETATTR) && HAVE_DECL_KEY_OTH_SETATTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OTH_SETATTR) == (0x00000020), "KEY_OTH_SETATTR != 0x00000020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OTH_SETATTR 0x00000020 #endif -#if !(defined(KEY_OTH_ALL) || (defined(HAVE_DECL_KEY_OTH_ALL) && HAVE_DECL_KEY_OTH_ALL)) +#if defined(KEY_OTH_ALL) || (defined(HAVE_DECL_KEY_OTH_ALL) && HAVE_DECL_KEY_OTH_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_OTH_ALL) == (0x0000003f), "KEY_OTH_ALL != 0x0000003f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_OTH_ALL 0x0000003f #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat key_perms in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat key_perms in mpers mode + +# else static const struct xlat key_perms[] = { @@ -123,4 +241,6 @@ const struct xlat key_perms[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/key_reqkeys.h b/xlat/key_reqkeys.h index 920fbe48..52b0823e 100644 --- a/xlat/key_reqkeys.h +++ b/xlat/key_reqkeys.h @@ -1,50 +1,94 @@ /* Generated by ./xlat/gen.sh from ./xlat/key_reqkeys.in; do not edit. */ -#if !(defined(KEY_REQKEY_DEFL_NO_CHANGE) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_NO_CHANGE) && HAVE_DECL_KEY_REQKEY_DEFL_NO_CHANGE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KEY_REQKEY_DEFL_NO_CHANGE) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_NO_CHANGE) && HAVE_DECL_KEY_REQKEY_DEFL_NO_CHANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REQKEY_DEFL_NO_CHANGE) == (-1), "KEY_REQKEY_DEFL_NO_CHANGE != -1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REQKEY_DEFL_NO_CHANGE -1 #endif -#if !(defined(KEY_REQKEY_DEFL_DEFAULT) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_DEFAULT) && HAVE_DECL_KEY_REQKEY_DEFL_DEFAULT)) +#if defined(KEY_REQKEY_DEFL_DEFAULT) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_DEFAULT) && HAVE_DECL_KEY_REQKEY_DEFL_DEFAULT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REQKEY_DEFL_DEFAULT) == (0), "KEY_REQKEY_DEFL_DEFAULT != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REQKEY_DEFL_DEFAULT 0 #endif -#if !(defined(KEY_REQKEY_DEFL_THREAD_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_THREAD_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_THREAD_KEYRING)) +#if defined(KEY_REQKEY_DEFL_THREAD_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_THREAD_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_THREAD_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REQKEY_DEFL_THREAD_KEYRING) == (1), "KEY_REQKEY_DEFL_THREAD_KEYRING != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REQKEY_DEFL_THREAD_KEYRING 1 #endif -#if !(defined(KEY_REQKEY_DEFL_PROCESS_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_PROCESS_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_PROCESS_KEYRING)) +#if defined(KEY_REQKEY_DEFL_PROCESS_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_PROCESS_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_PROCESS_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REQKEY_DEFL_PROCESS_KEYRING) == (2), "KEY_REQKEY_DEFL_PROCESS_KEYRING != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REQKEY_DEFL_PROCESS_KEYRING 2 #endif -#if !(defined(KEY_REQKEY_DEFL_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_SESSION_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_SESSION_KEYRING)) +#if defined(KEY_REQKEY_DEFL_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_SESSION_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_SESSION_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REQKEY_DEFL_SESSION_KEYRING) == (3), "KEY_REQKEY_DEFL_SESSION_KEYRING != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REQKEY_DEFL_SESSION_KEYRING 3 #endif -#if !(defined(KEY_REQKEY_DEFL_USER_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_USER_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_USER_KEYRING)) +#if defined(KEY_REQKEY_DEFL_USER_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_USER_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_USER_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REQKEY_DEFL_USER_KEYRING) == (4), "KEY_REQKEY_DEFL_USER_KEYRING != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REQKEY_DEFL_USER_KEYRING 4 #endif -#if !(defined(KEY_REQKEY_DEFL_USER_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_USER_SESSION_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_USER_SESSION_KEYRING)) +#if defined(KEY_REQKEY_DEFL_USER_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_USER_SESSION_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_USER_SESSION_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REQKEY_DEFL_USER_SESSION_KEYRING) == (5), "KEY_REQKEY_DEFL_USER_SESSION_KEYRING != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REQKEY_DEFL_USER_SESSION_KEYRING 5 #endif -#if !(defined(KEY_REQKEY_DEFL_GROUP_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_GROUP_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_GROUP_KEYRING)) +#if defined(KEY_REQKEY_DEFL_GROUP_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_GROUP_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_GROUP_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REQKEY_DEFL_GROUP_KEYRING) == (6), "KEY_REQKEY_DEFL_GROUP_KEYRING != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REQKEY_DEFL_GROUP_KEYRING 6 #endif -#if !(defined(KEY_REQKEY_DEFL_REQUESTOR_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_REQUESTOR_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_REQUESTOR_KEYRING)) +#if defined(KEY_REQKEY_DEFL_REQUESTOR_KEYRING) || (defined(HAVE_DECL_KEY_REQKEY_DEFL_REQUESTOR_KEYRING) && HAVE_DECL_KEY_REQKEY_DEFL_REQUESTOR_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_REQKEY_DEFL_REQUESTOR_KEYRING) == (7), "KEY_REQKEY_DEFL_REQUESTOR_KEYRING != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_REQKEY_DEFL_REQUESTOR_KEYRING 7 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat key_reqkeys in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat key_reqkeys in mpers mode + +# else static const struct xlat key_reqkeys[] = { - XLAT(KEY_REQKEY_DEFL_NO_CHANGE), - XLAT(KEY_REQKEY_DEFL_DEFAULT), - XLAT(KEY_REQKEY_DEFL_THREAD_KEYRING), - XLAT(KEY_REQKEY_DEFL_PROCESS_KEYRING), - XLAT(KEY_REQKEY_DEFL_SESSION_KEYRING), - XLAT(KEY_REQKEY_DEFL_USER_KEYRING), - XLAT(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), - XLAT(KEY_REQKEY_DEFL_GROUP_KEYRING), - XLAT(KEY_REQKEY_DEFL_REQUESTOR_KEYRING), + XLAT_TYPE(int, KEY_REQKEY_DEFL_NO_CHANGE), + XLAT_TYPE(int, KEY_REQKEY_DEFL_DEFAULT), + XLAT_TYPE(int, KEY_REQKEY_DEFL_THREAD_KEYRING), + XLAT_TYPE(int, KEY_REQKEY_DEFL_PROCESS_KEYRING), + XLAT_TYPE(int, KEY_REQKEY_DEFL_SESSION_KEYRING), + XLAT_TYPE(int, KEY_REQKEY_DEFL_USER_KEYRING), + XLAT_TYPE(int, KEY_REQKEY_DEFL_USER_SESSION_KEYRING), + XLAT_TYPE(int, KEY_REQKEY_DEFL_GROUP_KEYRING), + XLAT_TYPE(int, KEY_REQKEY_DEFL_REQUESTOR_KEYRING), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/key_reqkeys.in b/xlat/key_reqkeys.in index 747e440b..ca60ca69 100644 --- a/xlat/key_reqkeys.in +++ b/xlat/key_reqkeys.in @@ -1,3 +1,4 @@ +#val_type int KEY_REQKEY_DEFL_NO_CHANGE -1 KEY_REQKEY_DEFL_DEFAULT 0 KEY_REQKEY_DEFL_THREAD_KEYRING 1 diff --git a/xlat/key_spec.h b/xlat/key_spec.h index 888a8f36..98d317da 100644 --- a/xlat/key_spec.h +++ b/xlat/key_spec.h @@ -1,46 +1,86 @@ /* Generated by ./xlat/gen.sh from ./xlat/key_spec.in; do not edit. */ -#if !(defined(KEY_SPEC_THREAD_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_THREAD_KEYRING) && HAVE_DECL_KEY_SPEC_THREAD_KEYRING)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KEY_SPEC_THREAD_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_THREAD_KEYRING) && HAVE_DECL_KEY_SPEC_THREAD_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPEC_THREAD_KEYRING) == (-1), "KEY_SPEC_THREAD_KEYRING != -1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPEC_THREAD_KEYRING -1 #endif -#if !(defined(KEY_SPEC_PROCESS_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_PROCESS_KEYRING) && HAVE_DECL_KEY_SPEC_PROCESS_KEYRING)) +#if defined(KEY_SPEC_PROCESS_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_PROCESS_KEYRING) && HAVE_DECL_KEY_SPEC_PROCESS_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPEC_PROCESS_KEYRING) == (-2), "KEY_SPEC_PROCESS_KEYRING != -2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPEC_PROCESS_KEYRING -2 #endif -#if !(defined(KEY_SPEC_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_SESSION_KEYRING) && HAVE_DECL_KEY_SPEC_SESSION_KEYRING)) +#if defined(KEY_SPEC_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_SESSION_KEYRING) && HAVE_DECL_KEY_SPEC_SESSION_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPEC_SESSION_KEYRING) == (-3), "KEY_SPEC_SESSION_KEYRING != -3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPEC_SESSION_KEYRING -3 #endif -#if !(defined(KEY_SPEC_USER_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_USER_KEYRING) && HAVE_DECL_KEY_SPEC_USER_KEYRING)) +#if defined(KEY_SPEC_USER_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_USER_KEYRING) && HAVE_DECL_KEY_SPEC_USER_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPEC_USER_KEYRING) == (-4), "KEY_SPEC_USER_KEYRING != -4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPEC_USER_KEYRING -4 #endif -#if !(defined(KEY_SPEC_USER_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_USER_SESSION_KEYRING) && HAVE_DECL_KEY_SPEC_USER_SESSION_KEYRING)) +#if defined(KEY_SPEC_USER_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_USER_SESSION_KEYRING) && HAVE_DECL_KEY_SPEC_USER_SESSION_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPEC_USER_SESSION_KEYRING) == (-5), "KEY_SPEC_USER_SESSION_KEYRING != -5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPEC_USER_SESSION_KEYRING -5 #endif -#if !(defined(KEY_SPEC_GROUP_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_GROUP_KEYRING) && HAVE_DECL_KEY_SPEC_GROUP_KEYRING)) +#if defined(KEY_SPEC_GROUP_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_GROUP_KEYRING) && HAVE_DECL_KEY_SPEC_GROUP_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPEC_GROUP_KEYRING) == (-6), "KEY_SPEC_GROUP_KEYRING != -6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPEC_GROUP_KEYRING -6 #endif -#if !(defined(KEY_SPEC_REQKEY_AUTH_KEY) || (defined(HAVE_DECL_KEY_SPEC_REQKEY_AUTH_KEY) && HAVE_DECL_KEY_SPEC_REQKEY_AUTH_KEY)) +#if defined(KEY_SPEC_REQKEY_AUTH_KEY) || (defined(HAVE_DECL_KEY_SPEC_REQKEY_AUTH_KEY) && HAVE_DECL_KEY_SPEC_REQKEY_AUTH_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPEC_REQKEY_AUTH_KEY) == (-7), "KEY_SPEC_REQKEY_AUTH_KEY != -7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPEC_REQKEY_AUTH_KEY -7 #endif -#if !(defined(KEY_SPEC_REQUESTOR_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_REQUESTOR_KEYRING) && HAVE_DECL_KEY_SPEC_REQUESTOR_KEYRING)) +#if defined(KEY_SPEC_REQUESTOR_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_REQUESTOR_KEYRING) && HAVE_DECL_KEY_SPEC_REQUESTOR_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEY_SPEC_REQUESTOR_KEYRING) == (-8), "KEY_SPEC_REQUESTOR_KEYRING != -8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEY_SPEC_REQUESTOR_KEYRING -8 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat key_spec in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat key_spec in mpers mode + +# else static const struct xlat key_spec[] = { - XLAT(KEY_SPEC_THREAD_KEYRING), - XLAT(KEY_SPEC_PROCESS_KEYRING), - XLAT(KEY_SPEC_SESSION_KEYRING), - XLAT(KEY_SPEC_USER_KEYRING), - XLAT(KEY_SPEC_USER_SESSION_KEYRING), - XLAT(KEY_SPEC_GROUP_KEYRING), - XLAT(KEY_SPEC_REQKEY_AUTH_KEY), - XLAT(KEY_SPEC_REQUESTOR_KEYRING), + XLAT_TYPE(int, KEY_SPEC_THREAD_KEYRING), + XLAT_TYPE(int, KEY_SPEC_PROCESS_KEYRING), + XLAT_TYPE(int, KEY_SPEC_SESSION_KEYRING), + XLAT_TYPE(int, KEY_SPEC_USER_KEYRING), + XLAT_TYPE(int, KEY_SPEC_USER_SESSION_KEYRING), + XLAT_TYPE(int, KEY_SPEC_GROUP_KEYRING), + XLAT_TYPE(int, KEY_SPEC_REQKEY_AUTH_KEY), + XLAT_TYPE(int, KEY_SPEC_REQUESTOR_KEYRING), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/key_spec.in b/xlat/key_spec.in index 3e879544..02d9ee04 100644 --- a/xlat/key_spec.in +++ b/xlat/key_spec.in @@ -1,3 +1,4 @@ +#val_type int KEY_SPEC_THREAD_KEYRING -1 KEY_SPEC_PROCESS_KEYRING -2 KEY_SPEC_SESSION_KEYRING -3 diff --git a/xlat/keyctl_commands.h b/xlat/keyctl_commands.h index cbe760de..27662719 100644 --- a/xlat/keyctl_commands.h +++ b/xlat/keyctl_commands.h @@ -1,85 +1,191 @@ /* Generated by ./xlat/gen.sh from ./xlat/keyctl_commands.in; do not edit. */ -#if !(defined(KEYCTL_GET_KEYRING_ID) || (defined(HAVE_DECL_KEYCTL_GET_KEYRING_ID) && HAVE_DECL_KEYCTL_GET_KEYRING_ID)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KEYCTL_GET_KEYRING_ID) || (defined(HAVE_DECL_KEYCTL_GET_KEYRING_ID) && HAVE_DECL_KEYCTL_GET_KEYRING_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_GET_KEYRING_ID) == (0), "KEYCTL_GET_KEYRING_ID != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_GET_KEYRING_ID 0 #endif -#if !(defined(KEYCTL_JOIN_SESSION_KEYRING) || (defined(HAVE_DECL_KEYCTL_JOIN_SESSION_KEYRING) && HAVE_DECL_KEYCTL_JOIN_SESSION_KEYRING)) +#if defined(KEYCTL_JOIN_SESSION_KEYRING) || (defined(HAVE_DECL_KEYCTL_JOIN_SESSION_KEYRING) && HAVE_DECL_KEYCTL_JOIN_SESSION_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_JOIN_SESSION_KEYRING) == (1), "KEYCTL_JOIN_SESSION_KEYRING != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_JOIN_SESSION_KEYRING 1 #endif -#if !(defined(KEYCTL_UPDATE) || (defined(HAVE_DECL_KEYCTL_UPDATE) && HAVE_DECL_KEYCTL_UPDATE)) +#if defined(KEYCTL_UPDATE) || (defined(HAVE_DECL_KEYCTL_UPDATE) && HAVE_DECL_KEYCTL_UPDATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_UPDATE) == (2), "KEYCTL_UPDATE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_UPDATE 2 #endif -#if !(defined(KEYCTL_REVOKE) || (defined(HAVE_DECL_KEYCTL_REVOKE) && HAVE_DECL_KEYCTL_REVOKE)) +#if defined(KEYCTL_REVOKE) || (defined(HAVE_DECL_KEYCTL_REVOKE) && HAVE_DECL_KEYCTL_REVOKE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_REVOKE) == (3), "KEYCTL_REVOKE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_REVOKE 3 #endif -#if !(defined(KEYCTL_CHOWN) || (defined(HAVE_DECL_KEYCTL_CHOWN) && HAVE_DECL_KEYCTL_CHOWN)) +#if defined(KEYCTL_CHOWN) || (defined(HAVE_DECL_KEYCTL_CHOWN) && HAVE_DECL_KEYCTL_CHOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_CHOWN) == (4), "KEYCTL_CHOWN != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_CHOWN 4 #endif -#if !(defined(KEYCTL_SETPERM) || (defined(HAVE_DECL_KEYCTL_SETPERM) && HAVE_DECL_KEYCTL_SETPERM)) +#if defined(KEYCTL_SETPERM) || (defined(HAVE_DECL_KEYCTL_SETPERM) && HAVE_DECL_KEYCTL_SETPERM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_SETPERM) == (5), "KEYCTL_SETPERM != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_SETPERM 5 #endif -#if !(defined(KEYCTL_DESCRIBE) || (defined(HAVE_DECL_KEYCTL_DESCRIBE) && HAVE_DECL_KEYCTL_DESCRIBE)) +#if defined(KEYCTL_DESCRIBE) || (defined(HAVE_DECL_KEYCTL_DESCRIBE) && HAVE_DECL_KEYCTL_DESCRIBE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_DESCRIBE) == (6), "KEYCTL_DESCRIBE != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_DESCRIBE 6 #endif -#if !(defined(KEYCTL_CLEAR) || (defined(HAVE_DECL_KEYCTL_CLEAR) && HAVE_DECL_KEYCTL_CLEAR)) +#if defined(KEYCTL_CLEAR) || (defined(HAVE_DECL_KEYCTL_CLEAR) && HAVE_DECL_KEYCTL_CLEAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_CLEAR) == (7), "KEYCTL_CLEAR != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_CLEAR 7 #endif -#if !(defined(KEYCTL_LINK) || (defined(HAVE_DECL_KEYCTL_LINK) && HAVE_DECL_KEYCTL_LINK)) +#if defined(KEYCTL_LINK) || (defined(HAVE_DECL_KEYCTL_LINK) && HAVE_DECL_KEYCTL_LINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_LINK) == (8), "KEYCTL_LINK != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_LINK 8 #endif -#if !(defined(KEYCTL_UNLINK) || (defined(HAVE_DECL_KEYCTL_UNLINK) && HAVE_DECL_KEYCTL_UNLINK)) +#if defined(KEYCTL_UNLINK) || (defined(HAVE_DECL_KEYCTL_UNLINK) && HAVE_DECL_KEYCTL_UNLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_UNLINK) == (9), "KEYCTL_UNLINK != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_UNLINK 9 #endif -#if !(defined(KEYCTL_SEARCH) || (defined(HAVE_DECL_KEYCTL_SEARCH) && HAVE_DECL_KEYCTL_SEARCH)) +#if defined(KEYCTL_SEARCH) || (defined(HAVE_DECL_KEYCTL_SEARCH) && HAVE_DECL_KEYCTL_SEARCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_SEARCH) == (10), "KEYCTL_SEARCH != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_SEARCH 10 #endif -#if !(defined(KEYCTL_READ) || (defined(HAVE_DECL_KEYCTL_READ) && HAVE_DECL_KEYCTL_READ)) +#if defined(KEYCTL_READ) || (defined(HAVE_DECL_KEYCTL_READ) && HAVE_DECL_KEYCTL_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_READ) == (11), "KEYCTL_READ != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_READ 11 #endif -#if !(defined(KEYCTL_INSTANTIATE) || (defined(HAVE_DECL_KEYCTL_INSTANTIATE) && HAVE_DECL_KEYCTL_INSTANTIATE)) +#if defined(KEYCTL_INSTANTIATE) || (defined(HAVE_DECL_KEYCTL_INSTANTIATE) && HAVE_DECL_KEYCTL_INSTANTIATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_INSTANTIATE) == (12), "KEYCTL_INSTANTIATE != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_INSTANTIATE 12 #endif -#if !(defined(KEYCTL_NEGATE) || (defined(HAVE_DECL_KEYCTL_NEGATE) && HAVE_DECL_KEYCTL_NEGATE)) +#if defined(KEYCTL_NEGATE) || (defined(HAVE_DECL_KEYCTL_NEGATE) && HAVE_DECL_KEYCTL_NEGATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_NEGATE) == (13), "KEYCTL_NEGATE != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_NEGATE 13 #endif -#if !(defined(KEYCTL_SET_REQKEY_KEYRING) || (defined(HAVE_DECL_KEYCTL_SET_REQKEY_KEYRING) && HAVE_DECL_KEYCTL_SET_REQKEY_KEYRING)) +#if defined(KEYCTL_SET_REQKEY_KEYRING) || (defined(HAVE_DECL_KEYCTL_SET_REQKEY_KEYRING) && HAVE_DECL_KEYCTL_SET_REQKEY_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_SET_REQKEY_KEYRING) == (14), "KEYCTL_SET_REQKEY_KEYRING != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_SET_REQKEY_KEYRING 14 #endif -#if !(defined(KEYCTL_SET_TIMEOUT) || (defined(HAVE_DECL_KEYCTL_SET_TIMEOUT) && HAVE_DECL_KEYCTL_SET_TIMEOUT)) +#if defined(KEYCTL_SET_TIMEOUT) || (defined(HAVE_DECL_KEYCTL_SET_TIMEOUT) && HAVE_DECL_KEYCTL_SET_TIMEOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_SET_TIMEOUT) == (15), "KEYCTL_SET_TIMEOUT != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_SET_TIMEOUT 15 #endif -#if !(defined(KEYCTL_ASSUME_AUTHORITY) || (defined(HAVE_DECL_KEYCTL_ASSUME_AUTHORITY) && HAVE_DECL_KEYCTL_ASSUME_AUTHORITY)) +#if defined(KEYCTL_ASSUME_AUTHORITY) || (defined(HAVE_DECL_KEYCTL_ASSUME_AUTHORITY) && HAVE_DECL_KEYCTL_ASSUME_AUTHORITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_ASSUME_AUTHORITY) == (16), "KEYCTL_ASSUME_AUTHORITY != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_ASSUME_AUTHORITY 16 #endif -#if !(defined(KEYCTL_GET_SECURITY) || (defined(HAVE_DECL_KEYCTL_GET_SECURITY) && HAVE_DECL_KEYCTL_GET_SECURITY)) +#if defined(KEYCTL_GET_SECURITY) || (defined(HAVE_DECL_KEYCTL_GET_SECURITY) && HAVE_DECL_KEYCTL_GET_SECURITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_GET_SECURITY) == (17), "KEYCTL_GET_SECURITY != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_GET_SECURITY 17 #endif -#if !(defined(KEYCTL_SESSION_TO_PARENT) || (defined(HAVE_DECL_KEYCTL_SESSION_TO_PARENT) && HAVE_DECL_KEYCTL_SESSION_TO_PARENT)) +#if defined(KEYCTL_SESSION_TO_PARENT) || (defined(HAVE_DECL_KEYCTL_SESSION_TO_PARENT) && HAVE_DECL_KEYCTL_SESSION_TO_PARENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_SESSION_TO_PARENT) == (18), "KEYCTL_SESSION_TO_PARENT != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_SESSION_TO_PARENT 18 #endif -#if !(defined(KEYCTL_REJECT) || (defined(HAVE_DECL_KEYCTL_REJECT) && HAVE_DECL_KEYCTL_REJECT)) +#if defined(KEYCTL_REJECT) || (defined(HAVE_DECL_KEYCTL_REJECT) && HAVE_DECL_KEYCTL_REJECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_REJECT) == (19), "KEYCTL_REJECT != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_REJECT 19 #endif -#if !(defined(KEYCTL_INSTANTIATE_IOV) || (defined(HAVE_DECL_KEYCTL_INSTANTIATE_IOV) && HAVE_DECL_KEYCTL_INSTANTIATE_IOV)) +#if defined(KEYCTL_INSTANTIATE_IOV) || (defined(HAVE_DECL_KEYCTL_INSTANTIATE_IOV) && HAVE_DECL_KEYCTL_INSTANTIATE_IOV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_INSTANTIATE_IOV) == (20), "KEYCTL_INSTANTIATE_IOV != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_INSTANTIATE_IOV 20 #endif -#if !(defined(KEYCTL_INVALIDATE) || (defined(HAVE_DECL_KEYCTL_INVALIDATE) && HAVE_DECL_KEYCTL_INVALIDATE)) +#if defined(KEYCTL_INVALIDATE) || (defined(HAVE_DECL_KEYCTL_INVALIDATE) && HAVE_DECL_KEYCTL_INVALIDATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_INVALIDATE) == (21), "KEYCTL_INVALIDATE != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_INVALIDATE 21 #endif -#if !(defined(KEYCTL_GET_PERSISTENT) || (defined(HAVE_DECL_KEYCTL_GET_PERSISTENT) && HAVE_DECL_KEYCTL_GET_PERSISTENT)) +#if defined(KEYCTL_GET_PERSISTENT) || (defined(HAVE_DECL_KEYCTL_GET_PERSISTENT) && HAVE_DECL_KEYCTL_GET_PERSISTENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_GET_PERSISTENT) == (22), "KEYCTL_GET_PERSISTENT != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_GET_PERSISTENT 22 #endif -#if !(defined(KEYCTL_DH_COMPUTE) || (defined(HAVE_DECL_KEYCTL_DH_COMPUTE) && HAVE_DECL_KEYCTL_DH_COMPUTE)) +#if defined(KEYCTL_DH_COMPUTE) || (defined(HAVE_DECL_KEYCTL_DH_COMPUTE) && HAVE_DECL_KEYCTL_DH_COMPUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_DH_COMPUTE) == (23), "KEYCTL_DH_COMPUTE != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_DH_COMPUTE 23 #endif -#if !(defined(KEYCTL_RESTRICT_KEYRING) || (defined(HAVE_DECL_KEYCTL_RESTRICT_KEYRING) && HAVE_DECL_KEYCTL_RESTRICT_KEYRING)) +#if defined(KEYCTL_RESTRICT_KEYRING) || (defined(HAVE_DECL_KEYCTL_RESTRICT_KEYRING) && HAVE_DECL_KEYCTL_RESTRICT_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KEYCTL_RESTRICT_KEYRING) == (29), "KEYCTL_RESTRICT_KEYRING != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KEYCTL_RESTRICT_KEYRING 29 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat keyctl_commands in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat keyctl_commands in mpers mode + +# else static const struct xlat keyctl_commands[] = { @@ -111,4 +217,6 @@ const struct xlat keyctl_commands[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/kvm_mem_flags.h b/xlat/kvm_mem_flags.h index 5a8ebee6..3598821c 100644 --- a/xlat/kvm_mem_flags.h +++ b/xlat/kvm_mem_flags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/kvm_mem_flags.in; do not edit. */ -#if !(defined(KVM_MEM_LOG_DIRTY_PAGES) || (defined(HAVE_DECL_KVM_MEM_LOG_DIRTY_PAGES) && HAVE_DECL_KVM_MEM_LOG_DIRTY_PAGES)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KVM_MEM_LOG_DIRTY_PAGES) || (defined(HAVE_DECL_KVM_MEM_LOG_DIRTY_PAGES) && HAVE_DECL_KVM_MEM_LOG_DIRTY_PAGES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KVM_MEM_LOG_DIRTY_PAGES) == ((1 << 0)), "KVM_MEM_LOG_DIRTY_PAGES != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KVM_MEM_LOG_DIRTY_PAGES (1 << 0) #endif -#if !(defined(KVM_MEM_READONLY) || (defined(HAVE_DECL_KVM_MEM_READONLY) && HAVE_DECL_KVM_MEM_READONLY)) +#if defined(KVM_MEM_READONLY) || (defined(HAVE_DECL_KVM_MEM_READONLY) && HAVE_DECL_KVM_MEM_READONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KVM_MEM_READONLY) == ((1 << 1)), "KVM_MEM_READONLY != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KVM_MEM_READONLY (1 << 1) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat kvm_mem_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat kvm_mem_flags in mpers mode + +# else static const struct xlat kvm_mem_flags[] = { @@ -19,4 +33,6 @@ const struct xlat kvm_mem_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/lockfcmds.h b/xlat/lockfcmds.h index 632c9cb7..da69625d 100644 --- a/xlat/lockfcmds.h +++ b/xlat/lockfcmds.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/lockfcmds.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat lockfcmds in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat lockfcmds in mpers mode + +# else static const struct xlat lockfcmds[] = { @@ -26,4 +32,6 @@ const struct xlat lockfcmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/loop_cmds.h b/xlat/loop_cmds.h index cc8a7c93..72308215 100644 --- a/xlat/loop_cmds.h +++ b/xlat/loop_cmds.h @@ -1,40 +1,96 @@ /* Generated by ./xlat/gen.sh from ./xlat/loop_cmds.in; do not edit. */ -#if !(defined(LOOP_SET_FD) || (defined(HAVE_DECL_LOOP_SET_FD) && HAVE_DECL_LOOP_SET_FD)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(LOOP_SET_FD) || (defined(HAVE_DECL_LOOP_SET_FD) && HAVE_DECL_LOOP_SET_FD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_SET_FD) == (0x4C00), "LOOP_SET_FD != 0x4C00"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_SET_FD 0x4C00 #endif -#if !(defined(LOOP_CLR_FD) || (defined(HAVE_DECL_LOOP_CLR_FD) && HAVE_DECL_LOOP_CLR_FD)) +#if defined(LOOP_CLR_FD) || (defined(HAVE_DECL_LOOP_CLR_FD) && HAVE_DECL_LOOP_CLR_FD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_CLR_FD) == (0x4C01), "LOOP_CLR_FD != 0x4C01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_CLR_FD 0x4C01 #endif -#if !(defined(LOOP_SET_STATUS) || (defined(HAVE_DECL_LOOP_SET_STATUS) && HAVE_DECL_LOOP_SET_STATUS)) +#if defined(LOOP_SET_STATUS) || (defined(HAVE_DECL_LOOP_SET_STATUS) && HAVE_DECL_LOOP_SET_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_SET_STATUS) == (0x4C02), "LOOP_SET_STATUS != 0x4C02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_SET_STATUS 0x4C02 #endif -#if !(defined(LOOP_GET_STATUS) || (defined(HAVE_DECL_LOOP_GET_STATUS) && HAVE_DECL_LOOP_GET_STATUS)) +#if defined(LOOP_GET_STATUS) || (defined(HAVE_DECL_LOOP_GET_STATUS) && HAVE_DECL_LOOP_GET_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_GET_STATUS) == (0x4C03), "LOOP_GET_STATUS != 0x4C03"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_GET_STATUS 0x4C03 #endif -#if !(defined(LOOP_SET_STATUS64) || (defined(HAVE_DECL_LOOP_SET_STATUS64) && HAVE_DECL_LOOP_SET_STATUS64)) +#if defined(LOOP_SET_STATUS64) || (defined(HAVE_DECL_LOOP_SET_STATUS64) && HAVE_DECL_LOOP_SET_STATUS64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_SET_STATUS64) == (0x4C04), "LOOP_SET_STATUS64 != 0x4C04"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_SET_STATUS64 0x4C04 #endif -#if !(defined(LOOP_GET_STATUS64) || (defined(HAVE_DECL_LOOP_GET_STATUS64) && HAVE_DECL_LOOP_GET_STATUS64)) +#if defined(LOOP_GET_STATUS64) || (defined(HAVE_DECL_LOOP_GET_STATUS64) && HAVE_DECL_LOOP_GET_STATUS64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_GET_STATUS64) == (0x4C05), "LOOP_GET_STATUS64 != 0x4C05"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_GET_STATUS64 0x4C05 #endif -#if !(defined(LOOP_CHANGE_FD) || (defined(HAVE_DECL_LOOP_CHANGE_FD) && HAVE_DECL_LOOP_CHANGE_FD)) +#if defined(LOOP_CHANGE_FD) || (defined(HAVE_DECL_LOOP_CHANGE_FD) && HAVE_DECL_LOOP_CHANGE_FD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_CHANGE_FD) == (0x4C06), "LOOP_CHANGE_FD != 0x4C06"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_CHANGE_FD 0x4C06 #endif -#if !(defined(LOOP_SET_CAPACITY) || (defined(HAVE_DECL_LOOP_SET_CAPACITY) && HAVE_DECL_LOOP_SET_CAPACITY)) +#if defined(LOOP_SET_CAPACITY) || (defined(HAVE_DECL_LOOP_SET_CAPACITY) && HAVE_DECL_LOOP_SET_CAPACITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_SET_CAPACITY) == (0x4C07), "LOOP_SET_CAPACITY != 0x4C07"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_SET_CAPACITY 0x4C07 #endif -#if !(defined(LOOP_SET_DIRECT_IO) || (defined(HAVE_DECL_LOOP_SET_DIRECT_IO) && HAVE_DECL_LOOP_SET_DIRECT_IO)) +#if defined(LOOP_SET_DIRECT_IO) || (defined(HAVE_DECL_LOOP_SET_DIRECT_IO) && HAVE_DECL_LOOP_SET_DIRECT_IO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_SET_DIRECT_IO) == (0x4C08), "LOOP_SET_DIRECT_IO != 0x4C08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_SET_DIRECT_IO 0x4C08 #endif -#if !(defined(LOOP_SET_BLOCK_SIZE) || (defined(HAVE_DECL_LOOP_SET_BLOCK_SIZE) && HAVE_DECL_LOOP_SET_BLOCK_SIZE)) +#if defined(LOOP_SET_BLOCK_SIZE) || (defined(HAVE_DECL_LOOP_SET_BLOCK_SIZE) && HAVE_DECL_LOOP_SET_BLOCK_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_SET_BLOCK_SIZE) == (0x4C09), "LOOP_SET_BLOCK_SIZE != 0x4C09"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_SET_BLOCK_SIZE 0x4C09 #endif -#if !(defined(LOOP_CTL_ADD) || (defined(HAVE_DECL_LOOP_CTL_ADD) && HAVE_DECL_LOOP_CTL_ADD)) +#if defined(LOOP_CTL_ADD) || (defined(HAVE_DECL_LOOP_CTL_ADD) && HAVE_DECL_LOOP_CTL_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_CTL_ADD) == (0x4C80), "LOOP_CTL_ADD != 0x4C80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_CTL_ADD 0x4C80 #endif -#if !(defined(LOOP_CTL_REMOVE) || (defined(HAVE_DECL_LOOP_CTL_REMOVE) && HAVE_DECL_LOOP_CTL_REMOVE)) +#if defined(LOOP_CTL_REMOVE) || (defined(HAVE_DECL_LOOP_CTL_REMOVE) && HAVE_DECL_LOOP_CTL_REMOVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_CTL_REMOVE) == (0x4C81), "LOOP_CTL_REMOVE != 0x4C81"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_CTL_REMOVE 0x4C81 #endif -#if !(defined(LOOP_CTL_GET_FREE) || (defined(HAVE_DECL_LOOP_CTL_GET_FREE) && HAVE_DECL_LOOP_CTL_GET_FREE)) +#if defined(LOOP_CTL_GET_FREE) || (defined(HAVE_DECL_LOOP_CTL_GET_FREE) && HAVE_DECL_LOOP_CTL_GET_FREE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LOOP_CTL_GET_FREE) == (0x4C82), "LOOP_CTL_GET_FREE != 0x4C82"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LOOP_CTL_GET_FREE 0x4C82 #endif diff --git a/xlat/loop_crypt_type_options.h b/xlat/loop_crypt_type_options.h index 478618bd..a08c6a74 100644 --- a/xlat/loop_crypt_type_options.h +++ b/xlat/loop_crypt_type_options.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/loop_crypt_type_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat loop_crypt_type_options[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat loop_crypt_type_options[] = { #if defined(LO_CRYPT_NONE) || (defined(HAVE_DECL_LO_CRYPT_NONE) && HAVE_DECL_LO_CRYPT_NONE) XLAT(LO_CRYPT_NONE), @@ -43,4 +49,6 @@ const struct xlat loop_crypt_type_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/loop_flags_options.h b/xlat/loop_flags_options.h index d69f53de..5af8dfc2 100644 --- a/xlat/loop_flags_options.h +++ b/xlat/loop_flags_options.h @@ -1,29 +1,55 @@ /* Generated by ./xlat/gen.sh from ./xlat/loop_flags_options.in; do not edit. */ -#if !(defined(LO_FLAGS_READ_ONLY) || (defined(HAVE_DECL_LO_FLAGS_READ_ONLY) && HAVE_DECL_LO_FLAGS_READ_ONLY)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(LO_FLAGS_READ_ONLY) || (defined(HAVE_DECL_LO_FLAGS_READ_ONLY) && HAVE_DECL_LO_FLAGS_READ_ONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LO_FLAGS_READ_ONLY) == (1), "LO_FLAGS_READ_ONLY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LO_FLAGS_READ_ONLY 1 #endif -#if !(defined(LO_FLAGS_USE_AOPS) || (defined(HAVE_DECL_LO_FLAGS_USE_AOPS) && HAVE_DECL_LO_FLAGS_USE_AOPS)) +#if defined(LO_FLAGS_USE_AOPS) || (defined(HAVE_DECL_LO_FLAGS_USE_AOPS) && HAVE_DECL_LO_FLAGS_USE_AOPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LO_FLAGS_USE_AOPS) == (2), "LO_FLAGS_USE_AOPS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LO_FLAGS_USE_AOPS 2 #endif -#if !(defined(LO_FLAGS_AUTOCLEAR) || (defined(HAVE_DECL_LO_FLAGS_AUTOCLEAR) && HAVE_DECL_LO_FLAGS_AUTOCLEAR)) +#if defined(LO_FLAGS_AUTOCLEAR) || (defined(HAVE_DECL_LO_FLAGS_AUTOCLEAR) && HAVE_DECL_LO_FLAGS_AUTOCLEAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LO_FLAGS_AUTOCLEAR) == (4), "LO_FLAGS_AUTOCLEAR != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LO_FLAGS_AUTOCLEAR 4 #endif -#if !(defined(LO_FLAGS_PARTSCAN) || (defined(HAVE_DECL_LO_FLAGS_PARTSCAN) && HAVE_DECL_LO_FLAGS_PARTSCAN)) +#if defined(LO_FLAGS_PARTSCAN) || (defined(HAVE_DECL_LO_FLAGS_PARTSCAN) && HAVE_DECL_LO_FLAGS_PARTSCAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LO_FLAGS_PARTSCAN) == (8), "LO_FLAGS_PARTSCAN != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LO_FLAGS_PARTSCAN 8 #endif -#if !(defined(LO_FLAGS_DIRECT_IO) || (defined(HAVE_DECL_LO_FLAGS_DIRECT_IO) && HAVE_DECL_LO_FLAGS_DIRECT_IO)) +#if defined(LO_FLAGS_DIRECT_IO) || (defined(HAVE_DECL_LO_FLAGS_DIRECT_IO) && HAVE_DECL_LO_FLAGS_DIRECT_IO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LO_FLAGS_DIRECT_IO) == (16), "LO_FLAGS_DIRECT_IO != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LO_FLAGS_DIRECT_IO 16 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat loop_flags_options[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat loop_flags_options[] = { XLAT(LO_FLAGS_READ_ONLY), @@ -37,4 +63,6 @@ const struct xlat loop_flags_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/lwtunnel_encap_types.h b/xlat/lwtunnel_encap_types.h index ce29b6fe..f5f4c5f1 100644 --- a/xlat/lwtunnel_encap_types.h +++ b/xlat/lwtunnel_encap_types.h @@ -1,31 +1,65 @@ /* Generated by ./xlat/gen.sh from ./xlat/lwtunnel_encap_types.in; do not edit. */ -#if !(defined(LWTUNNEL_ENCAP_NONE) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_NONE) && HAVE_DECL_LWTUNNEL_ENCAP_NONE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(LWTUNNEL_ENCAP_NONE) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_NONE) && HAVE_DECL_LWTUNNEL_ENCAP_NONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LWTUNNEL_ENCAP_NONE) == (0), "LWTUNNEL_ENCAP_NONE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LWTUNNEL_ENCAP_NONE 0 #endif -#if !(defined(LWTUNNEL_ENCAP_MPLS) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_MPLS) && HAVE_DECL_LWTUNNEL_ENCAP_MPLS)) +#if defined(LWTUNNEL_ENCAP_MPLS) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_MPLS) && HAVE_DECL_LWTUNNEL_ENCAP_MPLS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LWTUNNEL_ENCAP_MPLS) == (1), "LWTUNNEL_ENCAP_MPLS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LWTUNNEL_ENCAP_MPLS 1 #endif -#if !(defined(LWTUNNEL_ENCAP_IP) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_IP) && HAVE_DECL_LWTUNNEL_ENCAP_IP)) +#if defined(LWTUNNEL_ENCAP_IP) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_IP) && HAVE_DECL_LWTUNNEL_ENCAP_IP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LWTUNNEL_ENCAP_IP) == (2), "LWTUNNEL_ENCAP_IP != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LWTUNNEL_ENCAP_IP 2 #endif -#if !(defined(LWTUNNEL_ENCAP_ILA) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_ILA) && HAVE_DECL_LWTUNNEL_ENCAP_ILA)) +#if defined(LWTUNNEL_ENCAP_ILA) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_ILA) && HAVE_DECL_LWTUNNEL_ENCAP_ILA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LWTUNNEL_ENCAP_ILA) == (3), "LWTUNNEL_ENCAP_ILA != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LWTUNNEL_ENCAP_ILA 3 #endif -#if !(defined(LWTUNNEL_ENCAP_IP6) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_IP6) && HAVE_DECL_LWTUNNEL_ENCAP_IP6)) +#if defined(LWTUNNEL_ENCAP_IP6) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_IP6) && HAVE_DECL_LWTUNNEL_ENCAP_IP6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LWTUNNEL_ENCAP_IP6) == (4), "LWTUNNEL_ENCAP_IP6 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LWTUNNEL_ENCAP_IP6 4 #endif -#if !(defined(LWTUNNEL_ENCAP_SEG6) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_SEG6) && HAVE_DECL_LWTUNNEL_ENCAP_SEG6)) +#if defined(LWTUNNEL_ENCAP_SEG6) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_SEG6) && HAVE_DECL_LWTUNNEL_ENCAP_SEG6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LWTUNNEL_ENCAP_SEG6) == (5), "LWTUNNEL_ENCAP_SEG6 != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LWTUNNEL_ENCAP_SEG6 5 #endif -#if !(defined(LWTUNNEL_ENCAP_BPF) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_BPF) && HAVE_DECL_LWTUNNEL_ENCAP_BPF)) +#if defined(LWTUNNEL_ENCAP_BPF) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_BPF) && HAVE_DECL_LWTUNNEL_ENCAP_BPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LWTUNNEL_ENCAP_BPF) == (6), "LWTUNNEL_ENCAP_BPF != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define LWTUNNEL_ENCAP_BPF 6 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat lwtunnel_encap_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat lwtunnel_encap_types in mpers mode + +# else static const struct xlat lwtunnel_encap_types[] = { @@ -39,4 +73,6 @@ const struct xlat lwtunnel_encap_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/madvise_cmds.h b/xlat/madvise_cmds.h index ec5b06bc..15cdd0f7 100644 --- a/xlat/madvise_cmds.h +++ b/xlat/madvise_cmds.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/madvise_cmds.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat madvise_cmds in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat madvise_cmds in mpers mode + +# else static const struct xlat madvise_cmds[] = { @@ -68,4 +74,6 @@ const struct xlat madvise_cmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mbindflags.h b/xlat/mbindflags.h index eb30ba10..ea4e1ecd 100644 --- a/xlat/mbindflags.h +++ b/xlat/mbindflags.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/mbindflags.in; do not edit. */ -#if !(defined(MPOL_MF_STRICT) || (defined(HAVE_DECL_MPOL_MF_STRICT) && HAVE_DECL_MPOL_MF_STRICT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MPOL_MF_STRICT) || (defined(HAVE_DECL_MPOL_MF_STRICT) && HAVE_DECL_MPOL_MF_STRICT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MPOL_MF_STRICT) == (1), "MPOL_MF_STRICT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MPOL_MF_STRICT 1 #endif -#if !(defined(MPOL_MF_MOVE) || (defined(HAVE_DECL_MPOL_MF_MOVE) && HAVE_DECL_MPOL_MF_MOVE)) +#if defined(MPOL_MF_MOVE) || (defined(HAVE_DECL_MPOL_MF_MOVE) && HAVE_DECL_MPOL_MF_MOVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MPOL_MF_MOVE) == (2), "MPOL_MF_MOVE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MPOL_MF_MOVE 2 #endif -#if !(defined(MPOL_MF_MOVE_ALL) || (defined(HAVE_DECL_MPOL_MF_MOVE_ALL) && HAVE_DECL_MPOL_MF_MOVE_ALL)) +#if defined(MPOL_MF_MOVE_ALL) || (defined(HAVE_DECL_MPOL_MF_MOVE_ALL) && HAVE_DECL_MPOL_MF_MOVE_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MPOL_MF_MOVE_ALL) == (4), "MPOL_MF_MOVE_ALL != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MPOL_MF_MOVE_ALL 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat mbindflags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat mbindflags in mpers mode + +# else static const struct xlat mbindflags[] = { @@ -23,4 +41,6 @@ const struct xlat mbindflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mctl_sync.h b/xlat/mctl_sync.h index 144f7f79..f70c693b 100644 --- a/xlat/mctl_sync.h +++ b/xlat/mctl_sync.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/mctl_sync.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat mctl_sync in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat mctl_sync in mpers mode + +# else static const struct xlat mctl_sync[] = { @@ -20,4 +26,6 @@ const struct xlat mctl_sync[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mdb_flags.h b/xlat/mdb_flags.h index 4340f3ea..15b066c3 100644 --- a/xlat/mdb_flags.h +++ b/xlat/mdb_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/mdb_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat mdb_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat mdb_flags in mpers mode + +# else static const struct xlat mdb_flags[] = { @@ -14,4 +20,6 @@ const struct xlat mdb_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mdb_states.h b/xlat/mdb_states.h index dd1337d1..f5ca3ed2 100644 --- a/xlat/mdb_states.h +++ b/xlat/mdb_states.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/mdb_states.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat mdb_states in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat mdb_states in mpers mode + +# else static const struct xlat mdb_states[] = { @@ -17,4 +23,6 @@ const struct xlat mdb_states[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/membarrier_cmds.h b/xlat/membarrier_cmds.h index 25c3e323..71e29605 100644 --- a/xlat/membarrier_cmds.h +++ b/xlat/membarrier_cmds.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/membarrier_cmds.in; do not edit. */ -#if !(defined(MEMBARRIER_CMD_QUERY) || (defined(HAVE_DECL_MEMBARRIER_CMD_QUERY) && HAVE_DECL_MEMBARRIER_CMD_QUERY)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MEMBARRIER_CMD_QUERY) || (defined(HAVE_DECL_MEMBARRIER_CMD_QUERY) && HAVE_DECL_MEMBARRIER_CMD_QUERY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MEMBARRIER_CMD_QUERY) == (0), "MEMBARRIER_CMD_QUERY != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MEMBARRIER_CMD_QUERY 0 #endif -#if !(defined(MEMBARRIER_CMD_GLOBAL) || (defined(HAVE_DECL_MEMBARRIER_CMD_GLOBAL) && HAVE_DECL_MEMBARRIER_CMD_GLOBAL)) +#if defined(MEMBARRIER_CMD_GLOBAL) || (defined(HAVE_DECL_MEMBARRIER_CMD_GLOBAL) && HAVE_DECL_MEMBARRIER_CMD_GLOBAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MEMBARRIER_CMD_GLOBAL) == (1 << 0), "MEMBARRIER_CMD_GLOBAL != 1 << 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MEMBARRIER_CMD_GLOBAL 1 << 0 #endif -#if !(defined(MEMBARRIER_CMD_GLOBAL_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_GLOBAL_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_GLOBAL_EXPEDITED)) +#if defined(MEMBARRIER_CMD_GLOBAL_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_GLOBAL_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_GLOBAL_EXPEDITED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MEMBARRIER_CMD_GLOBAL_EXPEDITED) == (1 << 1), "MEMBARRIER_CMD_GLOBAL_EXPEDITED != 1 << 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MEMBARRIER_CMD_GLOBAL_EXPEDITED 1 << 1 #endif -#if !(defined(MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED)) +#if defined(MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED) == (1 << 2), "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED != 1 << 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED 1 << 2 #endif -#if !(defined(MEMBARRIER_CMD_PRIVATE_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED)) +#if defined(MEMBARRIER_CMD_PRIVATE_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MEMBARRIER_CMD_PRIVATE_EXPEDITED) == (1 << 3), "MEMBARRIER_CMD_PRIVATE_EXPEDITED != 1 << 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MEMBARRIER_CMD_PRIVATE_EXPEDITED 1 << 3 #endif -#if !(defined(MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED)) +#if defined(MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED) == (1 << 4), "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED != 1 << 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 1 << 4 #endif -#if !(defined(MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE) || (defined(HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE) && HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE)) +#if defined(MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE) || (defined(HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE) && HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE) == (1 << 5), "MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE != 1 << 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE 1 << 5 #endif -#if !(defined(MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE) || (defined(HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE) && HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE)) +#if defined(MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE) || (defined(HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE) && HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE) == (1 << 6), "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE != 1 << 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE 1 << 6 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat membarrier_cmds in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat membarrier_cmds in mpers mode + +# else static const struct xlat membarrier_cmds[] = { @@ -43,4 +81,6 @@ const struct xlat membarrier_cmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/memfd_create_flags.h b/xlat/memfd_create_flags.h index f656e6b0..1fd77d18 100644 --- a/xlat/memfd_create_flags.h +++ b/xlat/memfd_create_flags.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/memfd_create_flags.in; do not edit. */ -#if !(defined(MFD_CLOEXEC) || (defined(HAVE_DECL_MFD_CLOEXEC) && HAVE_DECL_MFD_CLOEXEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MFD_CLOEXEC) || (defined(HAVE_DECL_MFD_CLOEXEC) && HAVE_DECL_MFD_CLOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MFD_CLOEXEC) == (1), "MFD_CLOEXEC != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MFD_CLOEXEC 1 #endif -#if !(defined(MFD_ALLOW_SEALING) || (defined(HAVE_DECL_MFD_ALLOW_SEALING) && HAVE_DECL_MFD_ALLOW_SEALING)) +#if defined(MFD_ALLOW_SEALING) || (defined(HAVE_DECL_MFD_ALLOW_SEALING) && HAVE_DECL_MFD_ALLOW_SEALING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MFD_ALLOW_SEALING) == (2), "MFD_ALLOW_SEALING != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MFD_ALLOW_SEALING 2 #endif -#if !(defined(MFD_HUGETLB) || (defined(HAVE_DECL_MFD_HUGETLB) && HAVE_DECL_MFD_HUGETLB)) +#if defined(MFD_HUGETLB) || (defined(HAVE_DECL_MFD_HUGETLB) && HAVE_DECL_MFD_HUGETLB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MFD_HUGETLB) == (4), "MFD_HUGETLB != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MFD_HUGETLB 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat memfd_create_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat memfd_create_flags in mpers mode + +# else static const struct xlat memfd_create_flags[] = { @@ -23,4 +41,6 @@ const struct xlat memfd_create_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mempolicyflags.h b/xlat/mempolicyflags.h index 38db13cc..a68fcecd 100644 --- a/xlat/mempolicyflags.h +++ b/xlat/mempolicyflags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/mempolicyflags.in; do not edit. */ -#if !(defined(MPOL_F_NODE) || (defined(HAVE_DECL_MPOL_F_NODE) && HAVE_DECL_MPOL_F_NODE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MPOL_F_NODE) || (defined(HAVE_DECL_MPOL_F_NODE) && HAVE_DECL_MPOL_F_NODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MPOL_F_NODE) == (1), "MPOL_F_NODE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MPOL_F_NODE 1 #endif -#if !(defined(MPOL_F_ADDR) || (defined(HAVE_DECL_MPOL_F_ADDR) && HAVE_DECL_MPOL_F_ADDR)) +#if defined(MPOL_F_ADDR) || (defined(HAVE_DECL_MPOL_F_ADDR) && HAVE_DECL_MPOL_F_ADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MPOL_F_ADDR) == (2), "MPOL_F_ADDR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MPOL_F_ADDR 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat mempolicyflags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat mempolicyflags in mpers mode + +# else static const struct xlat mempolicyflags[] = { @@ -19,4 +33,6 @@ const struct xlat mempolicyflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mlock_flags.h b/xlat/mlock_flags.h index 9ec2e54b..f2ef3e4e 100644 --- a/xlat/mlock_flags.h +++ b/xlat/mlock_flags.h @@ -1,13 +1,23 @@ /* Generated by ./xlat/gen.sh from ./xlat/mlock_flags.in; do not edit. */ -#if !(defined(MLOCK_ONFAULT) || (defined(HAVE_DECL_MLOCK_ONFAULT) && HAVE_DECL_MLOCK_ONFAULT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MLOCK_ONFAULT) || (defined(HAVE_DECL_MLOCK_ONFAULT) && HAVE_DECL_MLOCK_ONFAULT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MLOCK_ONFAULT) == (1), "MLOCK_ONFAULT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MLOCK_ONFAULT 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat mlock_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat mlock_flags in mpers mode + +# else static const struct xlat mlock_flags[] = { @@ -15,4 +25,6 @@ const struct xlat mlock_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mlockall_flags.h b/xlat/mlockall_flags.h index c3fb08f8..718ce3f8 100644 --- a/xlat/mlockall_flags.h +++ b/xlat/mlockall_flags.h @@ -1,26 +1,76 @@ /* Generated by ./xlat/gen.sh from ./xlat/mlockall_flags.in; do not edit. */ -#if !(defined(MCL_CURRENT) || (defined(HAVE_DECL_MCL_CURRENT) && HAVE_DECL_MCL_CURRENT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined __alpha__ || defined __powerpc__ || defined __powerpc64__ || defined __sparc__ +#if defined(MCL_CURRENT) || (defined(HAVE_DECL_MCL_CURRENT) && HAVE_DECL_MCL_CURRENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MCL_CURRENT) == (0x2000), "MCL_CURRENT != 0x2000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MCL_CURRENT 0x2000 +#endif +#if defined(MCL_FUTURE) || (defined(HAVE_DECL_MCL_FUTURE) && HAVE_DECL_MCL_FUTURE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MCL_FUTURE) == (0x4000), "MCL_FUTURE != 0x4000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MCL_FUTURE 0x4000 +#endif +#if defined(MCL_ONFAULT) || (defined(HAVE_DECL_MCL_ONFAULT) && HAVE_DECL_MCL_ONFAULT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MCL_ONFAULT) == (0x8000), "MCL_ONFAULT != 0x8000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MCL_ONFAULT 0x8000 +#endif +#else +#if defined(MCL_CURRENT) || (defined(HAVE_DECL_MCL_CURRENT) && HAVE_DECL_MCL_CURRENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MCL_CURRENT) == (1), "MCL_CURRENT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MCL_CURRENT 1 #endif -#if !(defined(MCL_FUTURE) || (defined(HAVE_DECL_MCL_FUTURE) && HAVE_DECL_MCL_FUTURE)) +#if defined(MCL_FUTURE) || (defined(HAVE_DECL_MCL_FUTURE) && HAVE_DECL_MCL_FUTURE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MCL_FUTURE) == (2), "MCL_FUTURE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MCL_FUTURE 2 #endif -#if !(defined(MCL_ONFAULT) || (defined(HAVE_DECL_MCL_ONFAULT) && HAVE_DECL_MCL_ONFAULT)) +#if defined(MCL_ONFAULT) || (defined(HAVE_DECL_MCL_ONFAULT) && HAVE_DECL_MCL_ONFAULT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MCL_ONFAULT) == (4), "MCL_ONFAULT != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MCL_ONFAULT 4 #endif +#endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat mlockall_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat mlockall_flags in mpers mode + +# else static const struct xlat mlockall_flags[] = { +#if defined __alpha__ || defined __powerpc__ || defined __powerpc64__ || defined __sparc__ + XLAT(MCL_CURRENT), + XLAT(MCL_FUTURE), + XLAT(MCL_ONFAULT), +#else XLAT(MCL_CURRENT), XLAT(MCL_FUTURE), XLAT(MCL_ONFAULT), +#endif XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mlockall_flags.in b/xlat/mlockall_flags.in index a39d7ba0..d9ad7afd 100644 --- a/xlat/mlockall_flags.in +++ b/xlat/mlockall_flags.in @@ -1,3 +1,9 @@ +#if defined __alpha__ || defined __powerpc__ || defined __powerpc64__ || defined __sparc__ +MCL_CURRENT 0x2000 +MCL_FUTURE 0x4000 +MCL_ONFAULT 0x8000 +#else MCL_CURRENT 1 MCL_FUTURE 2 MCL_ONFAULT 4 +#endif diff --git a/xlat/mmap_flags.h b/xlat/mmap_flags.h index 4858f07f..aafa168c 100644 --- a/xlat/mmap_flags.h +++ b/xlat/mmap_flags.h @@ -1,21 +1,39 @@ /* Generated by ./xlat/gen.sh from ./xlat/mmap_flags.in; do not edit. */ -#if !(defined(MAP_SHARED) || (defined(HAVE_DECL_MAP_SHARED) && HAVE_DECL_MAP_SHARED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MAP_SHARED) || (defined(HAVE_DECL_MAP_SHARED) && HAVE_DECL_MAP_SHARED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MAP_SHARED) == (1), "MAP_SHARED != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MAP_SHARED 1 #endif -#if !(defined(MAP_PRIVATE) || (defined(HAVE_DECL_MAP_PRIVATE) && HAVE_DECL_MAP_PRIVATE)) +#if defined(MAP_PRIVATE) || (defined(HAVE_DECL_MAP_PRIVATE) && HAVE_DECL_MAP_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MAP_PRIVATE) == (2), "MAP_PRIVATE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MAP_PRIVATE 2 #endif -#if !(defined(MAP_SHARED_VALIDATE) || (defined(HAVE_DECL_MAP_SHARED_VALIDATE) && HAVE_DECL_MAP_SHARED_VALIDATE)) +#if defined(MAP_SHARED_VALIDATE) || (defined(HAVE_DECL_MAP_SHARED_VALIDATE) && HAVE_DECL_MAP_SHARED_VALIDATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MAP_SHARED_VALIDATE) == (3), "MAP_SHARED_VALIDATE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MAP_SHARED_VALIDATE 3 #endif #if defined MAP_UNINITIALIZED && MAP_UNINITIALIZED > 0 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat mmap_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat mmap_flags in mpers mode + +# else static const struct xlat mmap_flags[] = { @@ -87,6 +105,9 @@ const struct xlat mmap_flags[] = { XLAT(MAP_UNINITIALIZED), #endif #endif +#if defined(MAP_FIXED_NOREPLACE) || (defined(HAVE_DECL_MAP_FIXED_NOREPLACE) && HAVE_DECL_MAP_FIXED_NOREPLACE) + XLAT(MAP_FIXED_NOREPLACE), +#endif #if defined(MAP_AUTOGROW) || (defined(HAVE_DECL_MAP_AUTOGROW) && HAVE_DECL_MAP_AUTOGROW) XLAT(MAP_AUTOGROW), #endif @@ -102,4 +123,6 @@ const struct xlat mmap_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mmap_flags.in b/xlat/mmap_flags.in index 5b05e611..150717ab 100644 --- a/xlat/mmap_flags.in +++ b/xlat/mmap_flags.in @@ -24,6 +24,7 @@ MAP_SYNC #if defined MAP_UNINITIALIZED && MAP_UNINITIALIZED > 0 MAP_UNINITIALIZED #endif +MAP_FIXED_NOREPLACE MAP_AUTOGROW /* MIPS, xtensa */ MAP_AUTORSRV /* MIPS, xtensa */ MAP_LOCAL /* MIPS, xtensa */ diff --git a/xlat/mmap_prot.h b/xlat/mmap_prot.h index 0ff04eb9..310e7f1e 100644 --- a/xlat/mmap_prot.h +++ b/xlat/mmap_prot.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/mmap_prot.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat mmap_prot in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat mmap_prot in mpers mode + +# else static const struct xlat mmap_prot[] = { @@ -31,8 +37,13 @@ const struct xlat mmap_prot[] = { #endif #if defined(PROT_SAO) || (defined(HAVE_DECL_PROT_SAO) && HAVE_DECL_PROT_SAO) XLAT(PROT_SAO), +#endif +#if defined(PROT_ADI) || (defined(HAVE_DECL_PROT_ADI) && HAVE_DECL_PROT_ADI) + XLAT(PROT_ADI), #endif XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mmap_prot.in b/xlat/mmap_prot.in index 05899804..e99ec297 100644 --- a/xlat/mmap_prot.in +++ b/xlat/mmap_prot.in @@ -6,3 +6,4 @@ PROT_SEM PROT_GROWSDOWN PROT_GROWSUP PROT_SAO +PROT_ADI diff --git a/xlat/modem_flags.h b/xlat/modem_flags.h index f1719755..322ff11a 100644 --- a/xlat/modem_flags.h +++ b/xlat/modem_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/modem_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat modem_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat modem_flags in mpers mode + +# else static const struct xlat modem_flags[] = { @@ -44,4 +50,6 @@ const struct xlat modem_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/modetypes.h b/xlat/modetypes.h index 70d1868e..94bd51ab 100644 --- a/xlat/modetypes.h +++ b/xlat/modetypes.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/modetypes.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat modetypes in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat modetypes in mpers mode + +# else static const struct xlat modetypes[] = { @@ -32,4 +38,6 @@ const struct xlat modetypes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/module_init_flags.h b/xlat/module_init_flags.h index b3219d19..3057478e 100644 --- a/xlat/module_init_flags.h +++ b/xlat/module_init_flags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/module_init_flags.in; do not edit. */ -#if !(defined(MODULE_INIT_IGNORE_MODVERSIONS) || (defined(HAVE_DECL_MODULE_INIT_IGNORE_MODVERSIONS) && HAVE_DECL_MODULE_INIT_IGNORE_MODVERSIONS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MODULE_INIT_IGNORE_MODVERSIONS) || (defined(HAVE_DECL_MODULE_INIT_IGNORE_MODVERSIONS) && HAVE_DECL_MODULE_INIT_IGNORE_MODVERSIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MODULE_INIT_IGNORE_MODVERSIONS) == ((1 << 0)), "MODULE_INIT_IGNORE_MODVERSIONS != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MODULE_INIT_IGNORE_MODVERSIONS (1 << 0) #endif -#if !(defined(MODULE_INIT_IGNORE_VERMAGIC) || (defined(HAVE_DECL_MODULE_INIT_IGNORE_VERMAGIC) && HAVE_DECL_MODULE_INIT_IGNORE_VERMAGIC)) +#if defined(MODULE_INIT_IGNORE_VERMAGIC) || (defined(HAVE_DECL_MODULE_INIT_IGNORE_VERMAGIC) && HAVE_DECL_MODULE_INIT_IGNORE_VERMAGIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MODULE_INIT_IGNORE_VERMAGIC) == ((1 << 1)), "MODULE_INIT_IGNORE_VERMAGIC != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MODULE_INIT_IGNORE_VERMAGIC (1 << 1) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat module_init_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat module_init_flags in mpers mode + +# else static const struct xlat module_init_flags[] = { @@ -19,4 +33,6 @@ const struct xlat module_init_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mount_flags.h b/xlat/mount_flags.h index 98f1215e..8c552a42 100644 --- a/xlat/mount_flags.h +++ b/xlat/mount_flags.h @@ -1,97 +1,226 @@ /* Generated by ./xlat/gen.sh from ./xlat/mount_flags.in; do not edit. */ -#if !(defined(MS_RDONLY) || (defined(HAVE_DECL_MS_RDONLY) && HAVE_DECL_MS_RDONLY)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MS_RDONLY) || (defined(HAVE_DECL_MS_RDONLY) && HAVE_DECL_MS_RDONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_RDONLY) == (1), "MS_RDONLY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_RDONLY 1 #endif -#if !(defined(MS_NOSUID) || (defined(HAVE_DECL_MS_NOSUID) && HAVE_DECL_MS_NOSUID)) +#if defined(MS_NOSUID) || (defined(HAVE_DECL_MS_NOSUID) && HAVE_DECL_MS_NOSUID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_NOSUID) == (2), "MS_NOSUID != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_NOSUID 2 #endif -#if !(defined(MS_NODEV) || (defined(HAVE_DECL_MS_NODEV) && HAVE_DECL_MS_NODEV)) +#if defined(MS_NODEV) || (defined(HAVE_DECL_MS_NODEV) && HAVE_DECL_MS_NODEV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_NODEV) == (4), "MS_NODEV != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_NODEV 4 #endif -#if !(defined(MS_NOEXEC) || (defined(HAVE_DECL_MS_NOEXEC) && HAVE_DECL_MS_NOEXEC)) +#if defined(MS_NOEXEC) || (defined(HAVE_DECL_MS_NOEXEC) && HAVE_DECL_MS_NOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_NOEXEC) == (8), "MS_NOEXEC != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_NOEXEC 8 #endif -#if !(defined(MS_SYNCHRONOUS) || (defined(HAVE_DECL_MS_SYNCHRONOUS) && HAVE_DECL_MS_SYNCHRONOUS)) +#if defined(MS_SYNCHRONOUS) || (defined(HAVE_DECL_MS_SYNCHRONOUS) && HAVE_DECL_MS_SYNCHRONOUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_SYNCHRONOUS) == (16), "MS_SYNCHRONOUS != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_SYNCHRONOUS 16 #endif -#if !(defined(MS_REMOUNT) || (defined(HAVE_DECL_MS_REMOUNT) && HAVE_DECL_MS_REMOUNT)) +#if defined(MS_REMOUNT) || (defined(HAVE_DECL_MS_REMOUNT) && HAVE_DECL_MS_REMOUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_REMOUNT) == (32), "MS_REMOUNT != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_REMOUNT 32 #endif -#if !(defined(MS_MANDLOCK) || (defined(HAVE_DECL_MS_MANDLOCK) && HAVE_DECL_MS_MANDLOCK)) +#if defined(MS_MANDLOCK) || (defined(HAVE_DECL_MS_MANDLOCK) && HAVE_DECL_MS_MANDLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_MANDLOCK) == (64), "MS_MANDLOCK != 64"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_MANDLOCK 64 #endif -#if !(defined(MS_DIRSYNC) || (defined(HAVE_DECL_MS_DIRSYNC) && HAVE_DECL_MS_DIRSYNC)) +#if defined(MS_DIRSYNC) || (defined(HAVE_DECL_MS_DIRSYNC) && HAVE_DECL_MS_DIRSYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_DIRSYNC) == (128), "MS_DIRSYNC != 128"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_DIRSYNC 128 #endif -#if !(defined(MS_NOATIME) || (defined(HAVE_DECL_MS_NOATIME) && HAVE_DECL_MS_NOATIME)) +#if defined(MS_NOATIME) || (defined(HAVE_DECL_MS_NOATIME) && HAVE_DECL_MS_NOATIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_NOATIME) == (1024), "MS_NOATIME != 1024"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_NOATIME 1024 #endif -#if !(defined(MS_NODIRATIME) || (defined(HAVE_DECL_MS_NODIRATIME) && HAVE_DECL_MS_NODIRATIME)) +#if defined(MS_NODIRATIME) || (defined(HAVE_DECL_MS_NODIRATIME) && HAVE_DECL_MS_NODIRATIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_NODIRATIME) == (2048), "MS_NODIRATIME != 2048"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_NODIRATIME 2048 #endif -#if !(defined(MS_BIND) || (defined(HAVE_DECL_MS_BIND) && HAVE_DECL_MS_BIND)) +#if defined(MS_BIND) || (defined(HAVE_DECL_MS_BIND) && HAVE_DECL_MS_BIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_BIND) == (4096), "MS_BIND != 4096"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_BIND 4096 #endif -#if !(defined(MS_MOVE) || (defined(HAVE_DECL_MS_MOVE) && HAVE_DECL_MS_MOVE)) +#if defined(MS_MOVE) || (defined(HAVE_DECL_MS_MOVE) && HAVE_DECL_MS_MOVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_MOVE) == (8192), "MS_MOVE != 8192"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_MOVE 8192 #endif -#if !(defined(MS_REC) || (defined(HAVE_DECL_MS_REC) && HAVE_DECL_MS_REC)) +#if defined(MS_REC) || (defined(HAVE_DECL_MS_REC) && HAVE_DECL_MS_REC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_REC) == (16384), "MS_REC != 16384"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_REC 16384 #endif -#if !(defined(MS_SILENT) || (defined(HAVE_DECL_MS_SILENT) && HAVE_DECL_MS_SILENT)) +#if defined(MS_SILENT) || (defined(HAVE_DECL_MS_SILENT) && HAVE_DECL_MS_SILENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_SILENT) == (32768), "MS_SILENT != 32768"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_SILENT 32768 #endif -#if !(defined(MS_POSIXACL) || (defined(HAVE_DECL_MS_POSIXACL) && HAVE_DECL_MS_POSIXACL)) +#if defined(MS_POSIXACL) || (defined(HAVE_DECL_MS_POSIXACL) && HAVE_DECL_MS_POSIXACL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_POSIXACL) == ((1<<16)), "MS_POSIXACL != (1<<16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_POSIXACL (1<<16) #endif -#if !(defined(MS_UNBINDABLE) || (defined(HAVE_DECL_MS_UNBINDABLE) && HAVE_DECL_MS_UNBINDABLE)) +#if defined(MS_UNBINDABLE) || (defined(HAVE_DECL_MS_UNBINDABLE) && HAVE_DECL_MS_UNBINDABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_UNBINDABLE) == ((1<<17)), "MS_UNBINDABLE != (1<<17)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_UNBINDABLE (1<<17) #endif -#if !(defined(MS_PRIVATE) || (defined(HAVE_DECL_MS_PRIVATE) && HAVE_DECL_MS_PRIVATE)) +#if defined(MS_PRIVATE) || (defined(HAVE_DECL_MS_PRIVATE) && HAVE_DECL_MS_PRIVATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_PRIVATE) == ((1<<18)), "MS_PRIVATE != (1<<18)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_PRIVATE (1<<18) #endif -#if !(defined(MS_SLAVE) || (defined(HAVE_DECL_MS_SLAVE) && HAVE_DECL_MS_SLAVE)) +#if defined(MS_SLAVE) || (defined(HAVE_DECL_MS_SLAVE) && HAVE_DECL_MS_SLAVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_SLAVE) == ((1<<19)), "MS_SLAVE != (1<<19)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_SLAVE (1<<19) #endif -#if !(defined(MS_SHARED) || (defined(HAVE_DECL_MS_SHARED) && HAVE_DECL_MS_SHARED)) +#if defined(MS_SHARED) || (defined(HAVE_DECL_MS_SHARED) && HAVE_DECL_MS_SHARED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_SHARED) == ((1<<20)), "MS_SHARED != (1<<20)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_SHARED (1<<20) #endif -#if !(defined(MS_RELATIME) || (defined(HAVE_DECL_MS_RELATIME) && HAVE_DECL_MS_RELATIME)) +#if defined(MS_RELATIME) || (defined(HAVE_DECL_MS_RELATIME) && HAVE_DECL_MS_RELATIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_RELATIME) == ((1<<21)), "MS_RELATIME != (1<<21)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_RELATIME (1<<21) #endif -#if !(defined(MS_KERNMOUNT) || (defined(HAVE_DECL_MS_KERNMOUNT) && HAVE_DECL_MS_KERNMOUNT)) +#if defined(MS_KERNMOUNT) || (defined(HAVE_DECL_MS_KERNMOUNT) && HAVE_DECL_MS_KERNMOUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_KERNMOUNT) == ((1<<22)), "MS_KERNMOUNT != (1<<22)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_KERNMOUNT (1<<22) #endif -#if !(defined(MS_I_VERSION) || (defined(HAVE_DECL_MS_I_VERSION) && HAVE_DECL_MS_I_VERSION)) +#if defined(MS_I_VERSION) || (defined(HAVE_DECL_MS_I_VERSION) && HAVE_DECL_MS_I_VERSION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_I_VERSION) == ((1<<23)), "MS_I_VERSION != (1<<23)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_I_VERSION (1<<23) #endif -#if !(defined(MS_STRICTATIME) || (defined(HAVE_DECL_MS_STRICTATIME) && HAVE_DECL_MS_STRICTATIME)) +#if defined(MS_STRICTATIME) || (defined(HAVE_DECL_MS_STRICTATIME) && HAVE_DECL_MS_STRICTATIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_STRICTATIME) == ((1<<24)), "MS_STRICTATIME != (1<<24)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_STRICTATIME (1<<24) #endif -#if !(defined(MS_LAZYTIME) || (defined(HAVE_DECL_MS_LAZYTIME) && HAVE_DECL_MS_LAZYTIME)) +#if defined(MS_LAZYTIME) || (defined(HAVE_DECL_MS_LAZYTIME) && HAVE_DECL_MS_LAZYTIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_LAZYTIME) == ((1<<25)), "MS_LAZYTIME != (1<<25)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_LAZYTIME (1<<25) #endif -#if !(defined(MS_NOREMOTELOCK) || (defined(HAVE_DECL_MS_NOREMOTELOCK) && HAVE_DECL_MS_NOREMOTELOCK)) +#if defined(MS_SUBMOUNT) || (defined(HAVE_DECL_MS_SUBMOUNT) && HAVE_DECL_MS_SUBMOUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_SUBMOUNT) == ((1<<26)), "MS_SUBMOUNT != (1<<26)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MS_SUBMOUNT (1<<26) +#endif +#if defined(MS_NOREMOTELOCK) || (defined(HAVE_DECL_MS_NOREMOTELOCK) && HAVE_DECL_MS_NOREMOTELOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_NOREMOTELOCK) == ((1<<27)), "MS_NOREMOTELOCK != (1<<27)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_NOREMOTELOCK (1<<27) #endif -#if !(defined(MS_NOSEC) || (defined(HAVE_DECL_MS_NOSEC) && HAVE_DECL_MS_NOSEC)) +#if defined(MS_NOSEC) || (defined(HAVE_DECL_MS_NOSEC) && HAVE_DECL_MS_NOSEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_NOSEC) == ((1<<28)), "MS_NOSEC != (1<<28)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_NOSEC (1<<28) #endif -#if !(defined(MS_BORN) || (defined(HAVE_DECL_MS_BORN) && HAVE_DECL_MS_BORN)) +#if defined(MS_BORN) || (defined(HAVE_DECL_MS_BORN) && HAVE_DECL_MS_BORN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_BORN) == ((1<<29)), "MS_BORN != (1<<29)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_BORN (1<<29) #endif -#if !(defined(MS_ACTIVE) || (defined(HAVE_DECL_MS_ACTIVE) && HAVE_DECL_MS_ACTIVE)) +#if defined(MS_ACTIVE) || (defined(HAVE_DECL_MS_ACTIVE) && HAVE_DECL_MS_ACTIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_ACTIVE) == ((1<<30)), "MS_ACTIVE != (1<<30)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_ACTIVE (1<<30) #endif -#if !(defined(MS_NOUSER) || (defined(HAVE_DECL_MS_NOUSER) && HAVE_DECL_MS_NOUSER)) +#if defined(MS_NOUSER) || (defined(HAVE_DECL_MS_NOUSER) && HAVE_DECL_MS_NOUSER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MS_NOUSER) == ((1<<31)), "MS_NOUSER != (1<<31)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MS_NOUSER (1<<31) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat mount_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat mount_flags in mpers mode + +# else static const struct xlat mount_flags[] = { @@ -119,6 +248,7 @@ const struct xlat mount_flags[] = { XLAT(MS_I_VERSION), XLAT(MS_STRICTATIME), XLAT(MS_LAZYTIME), + XLAT(MS_SUBMOUNT), XLAT(MS_NOREMOTELOCK), XLAT(MS_NOSEC), XLAT(MS_BORN), @@ -127,4 +257,6 @@ const struct xlat mount_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mount_flags.in b/xlat/mount_flags.in index bf903d29..e7f3ce18 100644 --- a/xlat/mount_flags.in +++ b/xlat/mount_flags.in @@ -22,6 +22,7 @@ MS_KERNMOUNT (1<<22) MS_I_VERSION (1<<23) MS_STRICTATIME (1<<24) MS_LAZYTIME (1<<25) +MS_SUBMOUNT (1<<26) MS_NOREMOTELOCK (1<<27) MS_NOSEC (1<<28) MS_BORN (1<<29) diff --git a/xlat/move_pages_flags.h b/xlat/move_pages_flags.h index 0844fdaa..150d10df 100644 --- a/xlat/move_pages_flags.h +++ b/xlat/move_pages_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/move_pages_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat move_pages_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat move_pages_flags in mpers mode + +# else static const struct xlat move_pages_flags[] = { @@ -17,4 +23,6 @@ const struct xlat move_pages_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mq_attr_flags.h b/xlat/mq_attr_flags.h index ed2d767f..bde6678e 100644 --- a/xlat/mq_attr_flags.h +++ b/xlat/mq_attr_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/mq_attr_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat mq_attr_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat mq_attr_flags[] = { #if defined(O_NONBLOCK) || (defined(HAVE_DECL_O_NONBLOCK) && HAVE_DECL_O_NONBLOCK) XLAT(O_NONBLOCK), @@ -16,4 +22,6 @@ const struct xlat mq_attr_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mremap_flags.h b/xlat/mremap_flags.h index 803cdeb8..ad86af7e 100644 --- a/xlat/mremap_flags.h +++ b/xlat/mremap_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/mremap_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat mremap_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat mremap_flags in mpers mode + +# else static const struct xlat mremap_flags[] = { @@ -17,4 +23,6 @@ const struct xlat mremap_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/msg_flags.h b/xlat/msg_flags.h index 6518c9b0..a169d9c8 100644 --- a/xlat/msg_flags.h +++ b/xlat/msg_flags.h @@ -1,77 +1,223 @@ /* Generated by ./xlat/gen.sh from ./xlat/msg_flags.in; do not edit. */ -#if !(defined(MSG_BATCH) || (defined(HAVE_DECL_MSG_BATCH) && HAVE_DECL_MSG_BATCH)) -# define MSG_BATCH 0x40000 -#endif -#if !(defined(MSG_ZEROCOPY) || (defined(HAVE_DECL_MSG_ZEROCOPY) && HAVE_DECL_MSG_ZEROCOPY)) -# define MSG_ZEROCOPY 0x20000000 -#endif -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -const struct xlat msg_flags[] = { #if defined(MSG_OOB) || (defined(HAVE_DECL_MSG_OOB) && HAVE_DECL_MSG_OOB) - XLAT(MSG_OOB), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_OOB) == (0x1), "MSG_OOB != 0x1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_OOB 0x1 #endif #if defined(MSG_PEEK) || (defined(HAVE_DECL_MSG_PEEK) && HAVE_DECL_MSG_PEEK) - XLAT(MSG_PEEK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_PEEK) == (0x2), "MSG_PEEK != 0x2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_PEEK 0x2 #endif #if defined(MSG_DONTROUTE) || (defined(HAVE_DECL_MSG_DONTROUTE) && HAVE_DECL_MSG_DONTROUTE) - XLAT(MSG_DONTROUTE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_DONTROUTE) == (0x4), "MSG_DONTROUTE != 0x4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_DONTROUTE 0x4 #endif #if defined(MSG_CTRUNC) || (defined(HAVE_DECL_MSG_CTRUNC) && HAVE_DECL_MSG_CTRUNC) - XLAT(MSG_CTRUNC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_CTRUNC) == (0x8), "MSG_CTRUNC != 0x8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_CTRUNC 0x8 #endif #if defined(MSG_PROBE) || (defined(HAVE_DECL_MSG_PROBE) && HAVE_DECL_MSG_PROBE) - XLAT(MSG_PROBE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_PROBE) == (0x10), "MSG_PROBE != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_PROBE 0x10 #endif #if defined(MSG_TRUNC) || (defined(HAVE_DECL_MSG_TRUNC) && HAVE_DECL_MSG_TRUNC) - XLAT(MSG_TRUNC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_TRUNC) == (0x20), "MSG_TRUNC != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_TRUNC 0x20 #endif #if defined(MSG_DONTWAIT) || (defined(HAVE_DECL_MSG_DONTWAIT) && HAVE_DECL_MSG_DONTWAIT) - XLAT(MSG_DONTWAIT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_DONTWAIT) == (0x40), "MSG_DONTWAIT != 0x40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_DONTWAIT 0x40 #endif #if defined(MSG_EOR) || (defined(HAVE_DECL_MSG_EOR) && HAVE_DECL_MSG_EOR) - XLAT(MSG_EOR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_EOR) == (0x80), "MSG_EOR != 0x80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_EOR 0x80 #endif #if defined(MSG_WAITALL) || (defined(HAVE_DECL_MSG_WAITALL) && HAVE_DECL_MSG_WAITALL) - XLAT(MSG_WAITALL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_WAITALL) == (0x100), "MSG_WAITALL != 0x100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_WAITALL 0x100 #endif #if defined(MSG_FIN) || (defined(HAVE_DECL_MSG_FIN) && HAVE_DECL_MSG_FIN) - XLAT(MSG_FIN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_FIN) == (0x200), "MSG_FIN != 0x200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_FIN 0x200 #endif #if defined(MSG_SYN) || (defined(HAVE_DECL_MSG_SYN) && HAVE_DECL_MSG_SYN) - XLAT(MSG_SYN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_SYN) == (0x400), "MSG_SYN != 0x400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_SYN 0x400 #endif #if defined(MSG_CONFIRM) || (defined(HAVE_DECL_MSG_CONFIRM) && HAVE_DECL_MSG_CONFIRM) - XLAT(MSG_CONFIRM), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_CONFIRM) == (0x800), "MSG_CONFIRM != 0x800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_CONFIRM 0x800 #endif #if defined(MSG_RST) || (defined(HAVE_DECL_MSG_RST) && HAVE_DECL_MSG_RST) - XLAT(MSG_RST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_RST) == (0x1000), "MSG_RST != 0x1000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_RST 0x1000 #endif #if defined(MSG_ERRQUEUE) || (defined(HAVE_DECL_MSG_ERRQUEUE) && HAVE_DECL_MSG_ERRQUEUE) - XLAT(MSG_ERRQUEUE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_ERRQUEUE) == (0x2000), "MSG_ERRQUEUE != 0x2000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_ERRQUEUE 0x2000 #endif #if defined(MSG_NOSIGNAL) || (defined(HAVE_DECL_MSG_NOSIGNAL) && HAVE_DECL_MSG_NOSIGNAL) - XLAT(MSG_NOSIGNAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_NOSIGNAL) == (0x4000), "MSG_NOSIGNAL != 0x4000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_NOSIGNAL 0x4000 #endif #if defined(MSG_MORE) || (defined(HAVE_DECL_MSG_MORE) && HAVE_DECL_MSG_MORE) - XLAT(MSG_MORE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_MORE) == (0x8000), "MSG_MORE != 0x8000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_MORE 0x8000 #endif #if defined(MSG_WAITFORONE) || (defined(HAVE_DECL_MSG_WAITFORONE) && HAVE_DECL_MSG_WAITFORONE) - XLAT(MSG_WAITFORONE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_WAITFORONE) == (0x10000), "MSG_WAITFORONE != 0x10000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_WAITFORONE 0x10000 +#endif +#if defined(MSG_SENDPAGE_NOTLAST) || (defined(HAVE_DECL_MSG_SENDPAGE_NOTLAST) && HAVE_DECL_MSG_SENDPAGE_NOTLAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_SENDPAGE_NOTLAST) == (0x20000), "MSG_SENDPAGE_NOTLAST != 0x20000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_SENDPAGE_NOTLAST 0x20000 +#endif +#if defined(MSG_BATCH) || (defined(HAVE_DECL_MSG_BATCH) && HAVE_DECL_MSG_BATCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_BATCH) == (0x40000), "MSG_BATCH != 0x40000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_BATCH 0x40000 #endif - XLAT(MSG_BATCH), - XLAT(MSG_ZEROCOPY), -#if defined(MSG_EOF) || (defined(HAVE_DECL_MSG_EOF) && HAVE_DECL_MSG_EOF) - XLAT(MSG_EOF), +#if defined(MSG_NO_SHARED_FRAGS) || (defined(HAVE_DECL_MSG_NO_SHARED_FRAGS) && HAVE_DECL_MSG_NO_SHARED_FRAGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_NO_SHARED_FRAGS) == (0x80000), "MSG_NO_SHARED_FRAGS != 0x80000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_NO_SHARED_FRAGS 0x80000 +#endif +#if defined(MSG_ZEROCOPY) || (defined(HAVE_DECL_MSG_ZEROCOPY) && HAVE_DECL_MSG_ZEROCOPY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_ZEROCOPY) == (0x4000000), "MSG_ZEROCOPY != 0x4000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_ZEROCOPY 0x4000000 #endif #if defined(MSG_FASTOPEN) || (defined(HAVE_DECL_MSG_FASTOPEN) && HAVE_DECL_MSG_FASTOPEN) - XLAT(MSG_FASTOPEN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_FASTOPEN) == (0x20000000), "MSG_FASTOPEN != 0x20000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_FASTOPEN 0x20000000 #endif #if defined(MSG_CMSG_CLOEXEC) || (defined(HAVE_DECL_MSG_CMSG_CLOEXEC) && HAVE_DECL_MSG_CMSG_CLOEXEC) - XLAT(MSG_CMSG_CLOEXEC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_CMSG_CLOEXEC) == (0x40000000), "MSG_CMSG_CLOEXEC != 0x40000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_CMSG_CLOEXEC 0x40000000 +#endif +#ifndef STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT +# define STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT +# undef MSG_CMSG_COMPAT +#endif +#if defined(MSG_CMSG_COMPAT) || (defined(HAVE_DECL_MSG_CMSG_COMPAT) && HAVE_DECL_MSG_CMSG_COMPAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_CMSG_COMPAT) == (0x80000000), "MSG_CMSG_COMPAT != 0x80000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_CMSG_COMPAT 0x80000000 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS + +const struct xlat msg_flags[] = { + XLAT(MSG_OOB), + XLAT(MSG_PEEK), + XLAT(MSG_DONTROUTE), + + XLAT(MSG_CTRUNC), + XLAT(MSG_PROBE), + XLAT(MSG_TRUNC), + XLAT(MSG_DONTWAIT), + XLAT(MSG_EOR), + XLAT(MSG_WAITALL), + XLAT(MSG_FIN), + XLAT(MSG_SYN), + XLAT(MSG_CONFIRM), + XLAT(MSG_RST), + XLAT(MSG_ERRQUEUE), + XLAT(MSG_NOSIGNAL), + XLAT(MSG_MORE), + XLAT(MSG_WAITFORONE), + XLAT(MSG_SENDPAGE_NOTLAST), + XLAT(MSG_BATCH), + XLAT(MSG_NO_SHARED_FRAGS), + XLAT(MSG_ZEROCOPY), + + XLAT(MSG_FASTOPEN), + XLAT(MSG_CMSG_CLOEXEC), +#ifndef STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT +# define STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT +/* +* In Linux, the value of MSG_CMSG_COMPAT depends on CONFIG_COMPAT, +* and libc might want to replicate that behaviour. +*/ +# undef MSG_CMSG_COMPAT +#endif + XLAT(MSG_CMSG_COMPAT), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/msg_flags.in b/xlat/msg_flags.in index 1fdd8195..946b1326 100644 --- a/xlat/msg_flags.in +++ b/xlat/msg_flags.in @@ -1,22 +1,34 @@ -MSG_OOB -MSG_PEEK -MSG_DONTROUTE -MSG_CTRUNC -MSG_PROBE -MSG_TRUNC -MSG_DONTWAIT -MSG_EOR -MSG_WAITALL -MSG_FIN -MSG_SYN -MSG_CONFIRM -MSG_RST -MSG_ERRQUEUE -MSG_NOSIGNAL -MSG_MORE -MSG_WAITFORONE -MSG_BATCH 0x40000 -MSG_ZEROCOPY 0x20000000 -MSG_EOF -MSG_FASTOPEN -MSG_CMSG_CLOEXEC +MSG_OOB 0x1 +MSG_PEEK 0x2 +MSG_DONTROUTE 0x4 +/* MSG_TRYHARD 0x4 - synonym for MSG_DONTROUTE for DECnet */ +MSG_CTRUNC 0x8 +MSG_PROBE 0x10 +MSG_TRUNC 0x20 +MSG_DONTWAIT 0x40 +MSG_EOR 0x80 +MSG_WAITALL 0x100 +MSG_FIN 0x200 +MSG_SYN 0x400 +MSG_CONFIRM 0x800 +MSG_RST 0x1000 +MSG_ERRQUEUE 0x2000 +MSG_NOSIGNAL 0x4000 +MSG_MORE 0x8000 +MSG_WAITFORONE 0x10000 +MSG_SENDPAGE_NOTLAST 0x20000 /* sendpage() internal */ +MSG_BATCH 0x40000 +MSG_NO_SHARED_FRAGS 0x80000 /* sendpage() internal */ +MSG_ZEROCOPY 0x4000000 +/* MSG_EOF MSG_FIN */ +MSG_FASTOPEN 0x20000000 +MSG_CMSG_CLOEXEC 0x40000000 +#ifndef STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT +# define STRACE_WORKAROUND_FOR_MSG_CMSG_COMPAT +/* + * In Linux, the value of MSG_CMSG_COMPAT depends on CONFIG_COMPAT, + * and libc might want to replicate that behaviour. + */ +# undef MSG_CMSG_COMPAT +#endif +MSG_CMSG_COMPAT 0x80000000 diff --git a/xlat/msgctl_flags.h b/xlat/msgctl_flags.h index a78ee14b..0ac131d3 100644 --- a/xlat/msgctl_flags.h +++ b/xlat/msgctl_flags.h @@ -1,36 +1,81 @@ /* Generated by ./xlat/gen.sh from ./xlat/msgctl_flags.in; do not edit. */ -#if !(defined(MSG_STAT) || (defined(HAVE_DECL_MSG_STAT) && HAVE_DECL_MSG_STAT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IPC_RMID) || (defined(HAVE_DECL_IPC_RMID) && HAVE_DECL_IPC_RMID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_RMID) == (0), "IPC_RMID != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_RMID 0 +#endif +#if defined(IPC_SET) || (defined(HAVE_DECL_IPC_SET) && HAVE_DECL_IPC_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_SET) == (1), "IPC_SET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_SET 1 +#endif +#if defined(IPC_STAT) || (defined(HAVE_DECL_IPC_STAT) && HAVE_DECL_IPC_STAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_STAT) == (2), "IPC_STAT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_STAT 2 +#endif +#if defined(IPC_INFO) || (defined(HAVE_DECL_IPC_INFO) && HAVE_DECL_IPC_INFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_INFO) == (3), "IPC_INFO != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_INFO 3 +#endif +#if defined(MSG_STAT) || (defined(HAVE_DECL_MSG_STAT) && HAVE_DECL_MSG_STAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_STAT) == (11), "MSG_STAT != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MSG_STAT 11 #endif -#if !(defined(MSG_INFO) || (defined(HAVE_DECL_MSG_INFO) && HAVE_DECL_MSG_INFO)) +#if defined(MSG_INFO) || (defined(HAVE_DECL_MSG_INFO) && HAVE_DECL_MSG_INFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_INFO) == (12), "MSG_INFO != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MSG_INFO 12 #endif +#if defined(MSG_STAT_ANY) || (defined(HAVE_DECL_MSG_STAT_ANY) && HAVE_DECL_MSG_STAT_ANY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MSG_STAT_ANY) == (13), "MSG_STAT_ANY != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MSG_STAT_ANY 13 +#endif + +#ifndef XLAT_MACROS_ONLY -#ifdef IN_MPERS +# ifdef IN_MPERS extern const struct xlat msgctl_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat msgctl_flags[] = { -#if defined(IPC_RMID) || (defined(HAVE_DECL_IPC_RMID) && HAVE_DECL_IPC_RMID) - XLAT(IPC_RMID), -#endif -#if defined(IPC_SET) || (defined(HAVE_DECL_IPC_SET) && HAVE_DECL_IPC_SET) - XLAT(IPC_SET), -#endif -#if defined(IPC_STAT) || (defined(HAVE_DECL_IPC_STAT) && HAVE_DECL_IPC_STAT) - XLAT(IPC_STAT), -#endif -#if defined(IPC_INFO) || (defined(HAVE_DECL_IPC_INFO) && HAVE_DECL_IPC_INFO) - XLAT(IPC_INFO), -#endif + + XLAT(IPC_RMID), + XLAT(IPC_SET), + XLAT(IPC_STAT), + XLAT(IPC_INFO), XLAT(MSG_STAT), XLAT(MSG_INFO), + XLAT(MSG_STAT_ANY), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/msgctl_flags.in b/xlat/msgctl_flags.in index 4b54adf6..a81a8192 100644 --- a/xlat/msgctl_flags.in +++ b/xlat/msgctl_flags.in @@ -1,6 +1,8 @@ -IPC_RMID -IPC_SET -IPC_STAT -IPC_INFO +/* sort -k2,2g */ +IPC_RMID 0 +IPC_SET 1 +IPC_STAT 2 +IPC_INFO 3 MSG_STAT 11 MSG_INFO 12 +MSG_STAT_ANY 13 diff --git a/xlat/mtd_file_mode_options.h b/xlat/mtd_file_mode_options.h index 943919f3..0cbeeedb 100644 --- a/xlat/mtd_file_mode_options.h +++ b/xlat/mtd_file_mode_options.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/mtd_file_mode_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat mtd_file_mode_options[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat mtd_file_mode_options[] = { XLAT(MTD_FILE_MODE_NORMAL), XLAT(MTD_FILE_MODE_OTP_FACTORY), @@ -17,4 +23,6 @@ const struct xlat mtd_file_mode_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mtd_flags_options.h b/xlat/mtd_flags_options.h index 87125614..91d168f3 100644 --- a/xlat/mtd_flags_options.h +++ b/xlat/mtd_flags_options.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/mtd_flags_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat mtd_flags_options[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat mtd_flags_options[] = { #if defined(MTD_WRITEABLE) || (defined(HAVE_DECL_MTD_WRITEABLE) && HAVE_DECL_MTD_WRITEABLE) XLAT(MTD_WRITEABLE), @@ -25,4 +31,6 @@ const struct xlat mtd_flags_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mtd_mode_options.h b/xlat/mtd_mode_options.h index b7e8b4a6..89a238f0 100644 --- a/xlat/mtd_mode_options.h +++ b/xlat/mtd_mode_options.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/mtd_mode_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat mtd_mode_options[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat mtd_mode_options[] = { XLAT(MTD_OPS_PLACE_OOB), XLAT(MTD_OPS_AUTO_OOB), @@ -16,4 +22,6 @@ const struct xlat mtd_mode_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mtd_nandecc_options.h b/xlat/mtd_nandecc_options.h index 21b0166f..08a37f52 100644 --- a/xlat/mtd_nandecc_options.h +++ b/xlat/mtd_nandecc_options.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/mtd_nandecc_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat mtd_nandecc_options[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat mtd_nandecc_options[] = { #if defined(MTD_NANDECC_OFF) || (defined(HAVE_DECL_MTD_NANDECC_OFF) && HAVE_DECL_MTD_NANDECC_OFF) XLAT(MTD_NANDECC_OFF), @@ -28,4 +34,6 @@ const struct xlat mtd_nandecc_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mtd_otp_options.h b/xlat/mtd_otp_options.h index 2ee7f492..071fc5c3 100644 --- a/xlat/mtd_otp_options.h +++ b/xlat/mtd_otp_options.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/mtd_otp_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat mtd_otp_options[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat mtd_otp_options[] = { #if defined(MTD_OTP_OFF) || (defined(HAVE_DECL_MTD_OTP_OFF) && HAVE_DECL_MTD_OTP_OFF) XLAT(MTD_OTP_OFF), @@ -22,4 +28,6 @@ const struct xlat mtd_otp_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/mtd_type_options.h b/xlat/mtd_type_options.h index 46829e8f..c6e0ecf1 100644 --- a/xlat/mtd_type_options.h +++ b/xlat/mtd_type_options.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/mtd_type_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat mtd_type_options[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat mtd_type_options[] = { #if defined(MTD_ABSENT) || (defined(HAVE_DECL_MTD_ABSENT) && HAVE_DECL_MTD_ABSENT) XLAT(MTD_ABSENT), @@ -37,4 +43,6 @@ const struct xlat mtd_type_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/multicast_router_types.h b/xlat/multicast_router_types.h index 8c68b2f0..e1802054 100644 --- a/xlat/multicast_router_types.h +++ b/xlat/multicast_router_types.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/multicast_router_types.in; do not edit. */ -#if !(defined(MDB_RTR_TYPE_DISABLED) || (defined(HAVE_DECL_MDB_RTR_TYPE_DISABLED) && HAVE_DECL_MDB_RTR_TYPE_DISABLED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MDB_RTR_TYPE_DISABLED) || (defined(HAVE_DECL_MDB_RTR_TYPE_DISABLED) && HAVE_DECL_MDB_RTR_TYPE_DISABLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDB_RTR_TYPE_DISABLED) == (0), "MDB_RTR_TYPE_DISABLED != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDB_RTR_TYPE_DISABLED 0 #endif -#if !(defined(MDB_RTR_TYPE_TEMP_QUERY) || (defined(HAVE_DECL_MDB_RTR_TYPE_TEMP_QUERY) && HAVE_DECL_MDB_RTR_TYPE_TEMP_QUERY)) +#if defined(MDB_RTR_TYPE_TEMP_QUERY) || (defined(HAVE_DECL_MDB_RTR_TYPE_TEMP_QUERY) && HAVE_DECL_MDB_RTR_TYPE_TEMP_QUERY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDB_RTR_TYPE_TEMP_QUERY) == (1), "MDB_RTR_TYPE_TEMP_QUERY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDB_RTR_TYPE_TEMP_QUERY 1 #endif -#if !(defined(MDB_RTR_TYPE_PERM) || (defined(HAVE_DECL_MDB_RTR_TYPE_PERM) && HAVE_DECL_MDB_RTR_TYPE_PERM)) +#if defined(MDB_RTR_TYPE_PERM) || (defined(HAVE_DECL_MDB_RTR_TYPE_PERM) && HAVE_DECL_MDB_RTR_TYPE_PERM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDB_RTR_TYPE_PERM) == (2), "MDB_RTR_TYPE_PERM != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDB_RTR_TYPE_PERM 2 #endif -#if !(defined(MDB_RTR_TYPE_TEMP) || (defined(HAVE_DECL_MDB_RTR_TYPE_TEMP) && HAVE_DECL_MDB_RTR_TYPE_TEMP)) +#if defined(MDB_RTR_TYPE_TEMP) || (defined(HAVE_DECL_MDB_RTR_TYPE_TEMP) && HAVE_DECL_MDB_RTR_TYPE_TEMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDB_RTR_TYPE_TEMP) == (3), "MDB_RTR_TYPE_TEMP != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDB_RTR_TYPE_TEMP 3 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat multicast_router_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat multicast_router_types in mpers mode + +# else static const struct xlat multicast_router_types[] = { @@ -27,4 +49,6 @@ const struct xlat multicast_router_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/name_to_handle_at_flags.h b/xlat/name_to_handle_at_flags.h index 512889d7..87e63ae5 100644 --- a/xlat/name_to_handle_at_flags.h +++ b/xlat/name_to_handle_at_flags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/name_to_handle_at_flags.in; do not edit. */ -#if !(defined(AT_SYMLINK_FOLLOW) || (defined(HAVE_DECL_AT_SYMLINK_FOLLOW) && HAVE_DECL_AT_SYMLINK_FOLLOW)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(AT_SYMLINK_FOLLOW) || (defined(HAVE_DECL_AT_SYMLINK_FOLLOW) && HAVE_DECL_AT_SYMLINK_FOLLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_SYMLINK_FOLLOW) == (0x400), "AT_SYMLINK_FOLLOW != 0x400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_SYMLINK_FOLLOW 0x400 #endif -#if !(defined(AT_EMPTY_PATH) || (defined(HAVE_DECL_AT_EMPTY_PATH) && HAVE_DECL_AT_EMPTY_PATH)) +#if defined(AT_EMPTY_PATH) || (defined(HAVE_DECL_AT_EMPTY_PATH) && HAVE_DECL_AT_EMPTY_PATH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AT_EMPTY_PATH) == (0x1000), "AT_EMPTY_PATH != 0x1000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AT_EMPTY_PATH 0x1000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat name_to_handle_at_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat name_to_handle_at_flags in mpers mode + +# else static const struct xlat name_to_handle_at_flags[] = { @@ -19,4 +33,6 @@ const struct xlat name_to_handle_at_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/neighbor_cache_entry_flags.h b/xlat/neighbor_cache_entry_flags.h index 3bf2652a..491db923 100644 --- a/xlat/neighbor_cache_entry_flags.h +++ b/xlat/neighbor_cache_entry_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/neighbor_cache_entry_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat neighbor_cache_entry_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat neighbor_cache_entry_flags in mpers mode + +# else static const struct xlat neighbor_cache_entry_flags[] = { @@ -29,4 +35,6 @@ const struct xlat neighbor_cache_entry_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/neighbor_cache_entry_states.h b/xlat/neighbor_cache_entry_states.h index 40454ebc..d111697c 100644 --- a/xlat/neighbor_cache_entry_states.h +++ b/xlat/neighbor_cache_entry_states.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/neighbor_cache_entry_states.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat neighbor_cache_entry_states in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat neighbor_cache_entry_states in mpers mode + +# else static const struct xlat neighbor_cache_entry_states[] = { @@ -38,4 +44,6 @@ const struct xlat neighbor_cache_entry_states[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netfilter_versions.h b/xlat/netfilter_versions.h index 2055c5b9..9ccfd5a5 100644 --- a/xlat/netfilter_versions.h +++ b/xlat/netfilter_versions.h @@ -1,16 +1,30 @@ /* 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)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFNETLINK_V0) || (defined(HAVE_DECL_NFNETLINK_V0) && HAVE_DECL_NFNETLINK_V0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNETLINK_V0) == (0), "NFNETLINK_V0 != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNETLINK_V0 0 #endif -#if !(defined(NFNETLINK_V1) || (defined(HAVE_DECL_NFNETLINK_V1) && HAVE_DECL_NFNETLINK_V1)) +#if defined(NFNETLINK_V1) || (defined(HAVE_DECL_NFNETLINK_V1) && HAVE_DECL_NFNETLINK_V1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNETLINK_V1) == (1), "NFNETLINK_V1 != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNETLINK_V1 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat netfilter_versions in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat netfilter_versions in mpers mode + +# else static const struct xlat netfilter_versions[] = { @@ -19,4 +33,6 @@ const struct xlat netfilter_versions[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_ack_flags.h b/xlat/netlink_ack_flags.h index bb8c9d85..dbe197d7 100644 --- a/xlat/netlink_ack_flags.h +++ b/xlat/netlink_ack_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_ack_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat netlink_ack_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat netlink_ack_flags in mpers mode + +# else static const struct xlat netlink_ack_flags[] = { @@ -17,4 +23,6 @@ const struct xlat netlink_ack_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_delete_flags.h b/xlat/netlink_delete_flags.h index a40c7df5..4fe0db55 100644 --- a/xlat/netlink_delete_flags.h +++ b/xlat/netlink_delete_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_delete_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat netlink_delete_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat netlink_delete_flags in mpers mode + +# else static const struct xlat netlink_delete_flags[] = { @@ -14,4 +20,6 @@ const struct xlat netlink_delete_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_diag_attrs.h b/xlat/netlink_diag_attrs.h index 5dcc736b..fd8cd4f2 100644 --- a/xlat/netlink_diag_attrs.h +++ b/xlat/netlink_diag_attrs.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_diag_attrs.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat netlink_diag_attrs in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat netlink_diag_attrs in mpers mode + +# else static const struct xlat netlink_diag_attrs[] = { @@ -16,4 +22,6 @@ const struct xlat netlink_diag_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_diag_show.h b/xlat/netlink_diag_show.h index 7d6f9be6..e7afb750 100644 --- a/xlat/netlink_diag_show.h +++ b/xlat/netlink_diag_show.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_diag_show.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat netlink_diag_show in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat netlink_diag_show in mpers mode + +# else static const struct xlat netlink_diag_show[] = { @@ -23,4 +29,6 @@ const struct xlat netlink_diag_show[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_flags.h b/xlat/netlink_flags.h index ca1f3a31..217c9dfa 100644 --- a/xlat/netlink_flags.h +++ b/xlat/netlink_flags.h @@ -1,28 +1,58 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_flags.in; do not edit. */ -#if !(defined(NLM_F_REQUEST) || (defined(HAVE_DECL_NLM_F_REQUEST) && HAVE_DECL_NLM_F_REQUEST)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NLM_F_REQUEST) || (defined(HAVE_DECL_NLM_F_REQUEST) && HAVE_DECL_NLM_F_REQUEST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLM_F_REQUEST) == (0x1), "NLM_F_REQUEST != 0x1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLM_F_REQUEST 0x1 #endif -#if !(defined(NLM_F_MULTI) || (defined(HAVE_DECL_NLM_F_MULTI) && HAVE_DECL_NLM_F_MULTI)) +#if defined(NLM_F_MULTI) || (defined(HAVE_DECL_NLM_F_MULTI) && HAVE_DECL_NLM_F_MULTI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLM_F_MULTI) == (0x2), "NLM_F_MULTI != 0x2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLM_F_MULTI 0x2 #endif -#if !(defined(NLM_F_ACK) || (defined(HAVE_DECL_NLM_F_ACK) && HAVE_DECL_NLM_F_ACK)) +#if defined(NLM_F_ACK) || (defined(HAVE_DECL_NLM_F_ACK) && HAVE_DECL_NLM_F_ACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLM_F_ACK) == (0x4), "NLM_F_ACK != 0x4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLM_F_ACK 0x4 #endif -#if !(defined(NLM_F_ECHO) || (defined(HAVE_DECL_NLM_F_ECHO) && HAVE_DECL_NLM_F_ECHO)) +#if defined(NLM_F_ECHO) || (defined(HAVE_DECL_NLM_F_ECHO) && HAVE_DECL_NLM_F_ECHO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLM_F_ECHO) == (0x8), "NLM_F_ECHO != 0x8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLM_F_ECHO 0x8 #endif -#if !(defined(NLM_F_DUMP_INTR) || (defined(HAVE_DECL_NLM_F_DUMP_INTR) && HAVE_DECL_NLM_F_DUMP_INTR)) +#if defined(NLM_F_DUMP_INTR) || (defined(HAVE_DECL_NLM_F_DUMP_INTR) && HAVE_DECL_NLM_F_DUMP_INTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLM_F_DUMP_INTR) == (0x10), "NLM_F_DUMP_INTR != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLM_F_DUMP_INTR 0x10 #endif -#if !(defined(NLM_F_DUMP_FILTERED) || (defined(HAVE_DECL_NLM_F_DUMP_FILTERED) && HAVE_DECL_NLM_F_DUMP_FILTERED)) +#if defined(NLM_F_DUMP_FILTERED) || (defined(HAVE_DECL_NLM_F_DUMP_FILTERED) && HAVE_DECL_NLM_F_DUMP_FILTERED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLM_F_DUMP_FILTERED) == (0x20), "NLM_F_DUMP_FILTERED != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLM_F_DUMP_FILTERED 0x20 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat netlink_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat netlink_flags in mpers mode + +# else static const struct xlat netlink_flags[] = { @@ -35,4 +65,6 @@ const struct xlat netlink_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_get_flags.h b/xlat/netlink_get_flags.h index 3a4631cc..4855c782 100644 --- a/xlat/netlink_get_flags.h +++ b/xlat/netlink_get_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_get_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat netlink_get_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat netlink_get_flags in mpers mode + +# else static const struct xlat netlink_get_flags[] = { @@ -23,4 +29,6 @@ const struct xlat netlink_get_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_new_flags.h b/xlat/netlink_new_flags.h index 61af6d50..372432c4 100644 --- a/xlat/netlink_new_flags.h +++ b/xlat/netlink_new_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_new_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat netlink_new_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat netlink_new_flags in mpers mode + +# else static const struct xlat netlink_new_flags[] = { @@ -23,4 +29,6 @@ const struct xlat netlink_new_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_protocols.h b/xlat/netlink_protocols.h index fb862333..36845dc9 100644 --- a/xlat/netlink_protocols.h +++ b/xlat/netlink_protocols.h @@ -1,69 +1,166 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_protocols.in; do not edit. */ -#if !(defined(NETLINK_ROUTE) || (defined(HAVE_DECL_NETLINK_ROUTE) && HAVE_DECL_NETLINK_ROUTE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NETLINK_ROUTE) || (defined(HAVE_DECL_NETLINK_ROUTE) && HAVE_DECL_NETLINK_ROUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_ROUTE) == (0), "NETLINK_ROUTE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_ROUTE 0 #endif -#if !(defined(NETLINK_UNUSED) || (defined(HAVE_DECL_NETLINK_UNUSED) && HAVE_DECL_NETLINK_UNUSED)) +#if defined(NETLINK_UNUSED) || (defined(HAVE_DECL_NETLINK_UNUSED) && HAVE_DECL_NETLINK_UNUSED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_UNUSED) == (1), "NETLINK_UNUSED != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_UNUSED 1 #endif -#if !(defined(NETLINK_USERSOCK) || (defined(HAVE_DECL_NETLINK_USERSOCK) && HAVE_DECL_NETLINK_USERSOCK)) +#if defined(NETLINK_USERSOCK) || (defined(HAVE_DECL_NETLINK_USERSOCK) && HAVE_DECL_NETLINK_USERSOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_USERSOCK) == (2), "NETLINK_USERSOCK != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_USERSOCK 2 #endif -#if !(defined(NETLINK_FIREWALL) || (defined(HAVE_DECL_NETLINK_FIREWALL) && HAVE_DECL_NETLINK_FIREWALL)) +#if defined(NETLINK_FIREWALL) || (defined(HAVE_DECL_NETLINK_FIREWALL) && HAVE_DECL_NETLINK_FIREWALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_FIREWALL) == (3), "NETLINK_FIREWALL != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_FIREWALL 3 #endif -#if !(defined(NETLINK_SOCK_DIAG) || (defined(HAVE_DECL_NETLINK_SOCK_DIAG) && HAVE_DECL_NETLINK_SOCK_DIAG)) +#if defined(NETLINK_SOCK_DIAG) || (defined(HAVE_DECL_NETLINK_SOCK_DIAG) && HAVE_DECL_NETLINK_SOCK_DIAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_SOCK_DIAG) == (4), "NETLINK_SOCK_DIAG != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_SOCK_DIAG 4 #endif -#if !(defined(NETLINK_NFLOG) || (defined(HAVE_DECL_NETLINK_NFLOG) && HAVE_DECL_NETLINK_NFLOG)) +#if defined(NETLINK_NFLOG) || (defined(HAVE_DECL_NETLINK_NFLOG) && HAVE_DECL_NETLINK_NFLOG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_NFLOG) == (5), "NETLINK_NFLOG != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_NFLOG 5 #endif -#if !(defined(NETLINK_XFRM) || (defined(HAVE_DECL_NETLINK_XFRM) && HAVE_DECL_NETLINK_XFRM)) +#if defined(NETLINK_XFRM) || (defined(HAVE_DECL_NETLINK_XFRM) && HAVE_DECL_NETLINK_XFRM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_XFRM) == (6), "NETLINK_XFRM != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_XFRM 6 #endif -#if !(defined(NETLINK_SELINUX) || (defined(HAVE_DECL_NETLINK_SELINUX) && HAVE_DECL_NETLINK_SELINUX)) +#if defined(NETLINK_SELINUX) || (defined(HAVE_DECL_NETLINK_SELINUX) && HAVE_DECL_NETLINK_SELINUX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_SELINUX) == (7), "NETLINK_SELINUX != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_SELINUX 7 #endif -#if !(defined(NETLINK_ISCSI) || (defined(HAVE_DECL_NETLINK_ISCSI) && HAVE_DECL_NETLINK_ISCSI)) +#if defined(NETLINK_ISCSI) || (defined(HAVE_DECL_NETLINK_ISCSI) && HAVE_DECL_NETLINK_ISCSI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_ISCSI) == (8), "NETLINK_ISCSI != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_ISCSI 8 #endif -#if !(defined(NETLINK_AUDIT) || (defined(HAVE_DECL_NETLINK_AUDIT) && HAVE_DECL_NETLINK_AUDIT)) +#if defined(NETLINK_AUDIT) || (defined(HAVE_DECL_NETLINK_AUDIT) && HAVE_DECL_NETLINK_AUDIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_AUDIT) == (9), "NETLINK_AUDIT != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_AUDIT 9 #endif -#if !(defined(NETLINK_FIB_LOOKUP) || (defined(HAVE_DECL_NETLINK_FIB_LOOKUP) && HAVE_DECL_NETLINK_FIB_LOOKUP)) +#if defined(NETLINK_FIB_LOOKUP) || (defined(HAVE_DECL_NETLINK_FIB_LOOKUP) && HAVE_DECL_NETLINK_FIB_LOOKUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_FIB_LOOKUP) == (10), "NETLINK_FIB_LOOKUP != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_FIB_LOOKUP 10 #endif -#if !(defined(NETLINK_CONNECTOR) || (defined(HAVE_DECL_NETLINK_CONNECTOR) && HAVE_DECL_NETLINK_CONNECTOR)) +#if defined(NETLINK_CONNECTOR) || (defined(HAVE_DECL_NETLINK_CONNECTOR) && HAVE_DECL_NETLINK_CONNECTOR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_CONNECTOR) == (11), "NETLINK_CONNECTOR != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_CONNECTOR 11 #endif -#if !(defined(NETLINK_NETFILTER) || (defined(HAVE_DECL_NETLINK_NETFILTER) && HAVE_DECL_NETLINK_NETFILTER)) +#if defined(NETLINK_NETFILTER) || (defined(HAVE_DECL_NETLINK_NETFILTER) && HAVE_DECL_NETLINK_NETFILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_NETFILTER) == (12), "NETLINK_NETFILTER != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_NETFILTER 12 #endif -#if !(defined(NETLINK_IP6_FW) || (defined(HAVE_DECL_NETLINK_IP6_FW) && HAVE_DECL_NETLINK_IP6_FW)) +#if defined(NETLINK_IP6_FW) || (defined(HAVE_DECL_NETLINK_IP6_FW) && HAVE_DECL_NETLINK_IP6_FW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_IP6_FW) == (13), "NETLINK_IP6_FW != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_IP6_FW 13 #endif -#if !(defined(NETLINK_DNRTMSG) || (defined(HAVE_DECL_NETLINK_DNRTMSG) && HAVE_DECL_NETLINK_DNRTMSG)) +#if defined(NETLINK_DNRTMSG) || (defined(HAVE_DECL_NETLINK_DNRTMSG) && HAVE_DECL_NETLINK_DNRTMSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_DNRTMSG) == (14), "NETLINK_DNRTMSG != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_DNRTMSG 14 #endif -#if !(defined(NETLINK_KOBJECT_UEVENT) || (defined(HAVE_DECL_NETLINK_KOBJECT_UEVENT) && HAVE_DECL_NETLINK_KOBJECT_UEVENT)) +#if defined(NETLINK_KOBJECT_UEVENT) || (defined(HAVE_DECL_NETLINK_KOBJECT_UEVENT) && HAVE_DECL_NETLINK_KOBJECT_UEVENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_KOBJECT_UEVENT) == (15), "NETLINK_KOBJECT_UEVENT != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_KOBJECT_UEVENT 15 #endif -#if !(defined(NETLINK_GENERIC) || (defined(HAVE_DECL_NETLINK_GENERIC) && HAVE_DECL_NETLINK_GENERIC)) +#if defined(NETLINK_GENERIC) || (defined(HAVE_DECL_NETLINK_GENERIC) && HAVE_DECL_NETLINK_GENERIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_GENERIC) == (16), "NETLINK_GENERIC != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_GENERIC 16 #endif -#if !(defined(NETLINK_SCSITRANSPORT) || (defined(HAVE_DECL_NETLINK_SCSITRANSPORT) && HAVE_DECL_NETLINK_SCSITRANSPORT)) +#if defined(NETLINK_SCSITRANSPORT) || (defined(HAVE_DECL_NETLINK_SCSITRANSPORT) && HAVE_DECL_NETLINK_SCSITRANSPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_SCSITRANSPORT) == (18), "NETLINK_SCSITRANSPORT != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_SCSITRANSPORT 18 #endif -#if !(defined(NETLINK_ECRYPTFS) || (defined(HAVE_DECL_NETLINK_ECRYPTFS) && HAVE_DECL_NETLINK_ECRYPTFS)) +#if defined(NETLINK_ECRYPTFS) || (defined(HAVE_DECL_NETLINK_ECRYPTFS) && HAVE_DECL_NETLINK_ECRYPTFS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_ECRYPTFS) == (19), "NETLINK_ECRYPTFS != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_ECRYPTFS 19 #endif -#if !(defined(NETLINK_RDMA) || (defined(HAVE_DECL_NETLINK_RDMA) && HAVE_DECL_NETLINK_RDMA)) +#if defined(NETLINK_RDMA) || (defined(HAVE_DECL_NETLINK_RDMA) && HAVE_DECL_NETLINK_RDMA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_RDMA) == (20), "NETLINK_RDMA != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_RDMA 20 #endif -#if !(defined(NETLINK_CRYPTO) || (defined(HAVE_DECL_NETLINK_CRYPTO) && HAVE_DECL_NETLINK_CRYPTO)) +#if defined(NETLINK_CRYPTO) || (defined(HAVE_DECL_NETLINK_CRYPTO) && HAVE_DECL_NETLINK_CRYPTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_CRYPTO) == (21), "NETLINK_CRYPTO != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_CRYPTO 21 #endif +#if defined(NETLINK_SMC) || (defined(HAVE_DECL_NETLINK_SMC) && HAVE_DECL_NETLINK_SMC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_SMC) == (22), "NETLINK_SMC != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_SMC 22 +#endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat netlink_protocols[] = { XLAT(NETLINK_ROUTE), @@ -87,7 +184,10 @@ const struct xlat netlink_protocols[] = { XLAT(NETLINK_ECRYPTFS), XLAT(NETLINK_RDMA), XLAT(NETLINK_CRYPTO), + XLAT(NETLINK_SMC), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_protocols.in b/xlat/netlink_protocols.in index 45116cf0..a76ebd7e 100644 --- a/xlat/netlink_protocols.in +++ b/xlat/netlink_protocols.in @@ -19,3 +19,4 @@ NETLINK_SCSITRANSPORT 18 NETLINK_ECRYPTFS 19 NETLINK_RDMA 20 NETLINK_CRYPTO 21 +NETLINK_SMC 22 diff --git a/xlat/netlink_sk_meminfo_indices.h b/xlat/netlink_sk_meminfo_indices.h new file mode 100644 index 00000000..9d36e152 --- /dev/null +++ b/xlat/netlink_sk_meminfo_indices.h @@ -0,0 +1,94 @@ +/* Generated by ./xlat/gen.sh from ./xlat/netlink_sk_meminfo_indices.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SK_MEMINFO_RMEM_ALLOC) || (defined(HAVE_DECL_SK_MEMINFO_RMEM_ALLOC) && HAVE_DECL_SK_MEMINFO_RMEM_ALLOC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SK_MEMINFO_RMEM_ALLOC) == (0), "SK_MEMINFO_RMEM_ALLOC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SK_MEMINFO_RMEM_ALLOC 0 +#endif +#if defined(SK_MEMINFO_RCVBUF) || (defined(HAVE_DECL_SK_MEMINFO_RCVBUF) && HAVE_DECL_SK_MEMINFO_RCVBUF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SK_MEMINFO_RCVBUF) == (1), "SK_MEMINFO_RCVBUF != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SK_MEMINFO_RCVBUF 1 +#endif +#if defined(SK_MEMINFO_WMEM_ALLOC) || (defined(HAVE_DECL_SK_MEMINFO_WMEM_ALLOC) && HAVE_DECL_SK_MEMINFO_WMEM_ALLOC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SK_MEMINFO_WMEM_ALLOC) == (2), "SK_MEMINFO_WMEM_ALLOC != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SK_MEMINFO_WMEM_ALLOC 2 +#endif +#if defined(SK_MEMINFO_SNDBUF) || (defined(HAVE_DECL_SK_MEMINFO_SNDBUF) && HAVE_DECL_SK_MEMINFO_SNDBUF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SK_MEMINFO_SNDBUF) == (3), "SK_MEMINFO_SNDBUF != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SK_MEMINFO_SNDBUF 3 +#endif +#if defined(SK_MEMINFO_FWD_ALLOC) || (defined(HAVE_DECL_SK_MEMINFO_FWD_ALLOC) && HAVE_DECL_SK_MEMINFO_FWD_ALLOC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SK_MEMINFO_FWD_ALLOC) == (4), "SK_MEMINFO_FWD_ALLOC != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SK_MEMINFO_FWD_ALLOC 4 +#endif +#if defined(SK_MEMINFO_WMEM_QUEUED) || (defined(HAVE_DECL_SK_MEMINFO_WMEM_QUEUED) && HAVE_DECL_SK_MEMINFO_WMEM_QUEUED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SK_MEMINFO_WMEM_QUEUED) == (5), "SK_MEMINFO_WMEM_QUEUED != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SK_MEMINFO_WMEM_QUEUED 5 +#endif +#if defined(SK_MEMINFO_OPTMEM) || (defined(HAVE_DECL_SK_MEMINFO_OPTMEM) && HAVE_DECL_SK_MEMINFO_OPTMEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SK_MEMINFO_OPTMEM) == (6), "SK_MEMINFO_OPTMEM != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SK_MEMINFO_OPTMEM 6 +#endif +#if defined(SK_MEMINFO_BACKLOG) || (defined(HAVE_DECL_SK_MEMINFO_BACKLOG) && HAVE_DECL_SK_MEMINFO_BACKLOG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SK_MEMINFO_BACKLOG) == (7), "SK_MEMINFO_BACKLOG != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SK_MEMINFO_BACKLOG 7 +#endif +#if defined(SK_MEMINFO_DROPS) || (defined(HAVE_DECL_SK_MEMINFO_DROPS) && HAVE_DECL_SK_MEMINFO_DROPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SK_MEMINFO_DROPS) == (8), "SK_MEMINFO_DROPS != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SK_MEMINFO_DROPS 8 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat netlink_sk_meminfo_indices in mpers mode + +# else + +static +const struct xlat netlink_sk_meminfo_indices[] = { + [SK_MEMINFO_RMEM_ALLOC] = XLAT(SK_MEMINFO_RMEM_ALLOC), + [SK_MEMINFO_RCVBUF] = XLAT(SK_MEMINFO_RCVBUF), + [SK_MEMINFO_WMEM_ALLOC] = XLAT(SK_MEMINFO_WMEM_ALLOC), + [SK_MEMINFO_SNDBUF] = XLAT(SK_MEMINFO_SNDBUF), + [SK_MEMINFO_FWD_ALLOC] = XLAT(SK_MEMINFO_FWD_ALLOC), + [SK_MEMINFO_WMEM_QUEUED] = XLAT(SK_MEMINFO_WMEM_QUEUED), + [SK_MEMINFO_OPTMEM] = XLAT(SK_MEMINFO_OPTMEM), + [SK_MEMINFO_BACKLOG] = XLAT(SK_MEMINFO_BACKLOG), + [SK_MEMINFO_DROPS] = XLAT(SK_MEMINFO_DROPS), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_sk_meminfo_indices.in b/xlat/netlink_sk_meminfo_indices.in new file mode 100644 index 00000000..1e2f7950 --- /dev/null +++ b/xlat/netlink_sk_meminfo_indices.in @@ -0,0 +1,10 @@ +#value_indexed +SK_MEMINFO_RMEM_ALLOC 0 +SK_MEMINFO_RCVBUF 1 +SK_MEMINFO_WMEM_ALLOC 2 +SK_MEMINFO_SNDBUF 3 +SK_MEMINFO_FWD_ALLOC 4 +SK_MEMINFO_WMEM_QUEUED 5 +SK_MEMINFO_OPTMEM 6 +SK_MEMINFO_BACKLOG 7 +SK_MEMINFO_DROPS 8 diff --git a/xlat/netlink_socket_flags.h b/xlat/netlink_socket_flags.h index bd9a8309..7c090d24 100644 --- a/xlat/netlink_socket_flags.h +++ b/xlat/netlink_socket_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_socket_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat netlink_socket_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat netlink_socket_flags in mpers mode + +# else static const struct xlat netlink_socket_flags[] = { @@ -29,4 +35,6 @@ const struct xlat netlink_socket_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_states.h b/xlat/netlink_states.h index 600b52f0..47dc9ed8 100644 --- a/xlat/netlink_states.h +++ b/xlat/netlink_states.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_states.in; do not edit. */ -#if !(defined(NETLINK_UNCONNECTED) || (defined(HAVE_DECL_NETLINK_UNCONNECTED) && HAVE_DECL_NETLINK_UNCONNECTED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NETLINK_UNCONNECTED) || (defined(HAVE_DECL_NETLINK_UNCONNECTED) && HAVE_DECL_NETLINK_UNCONNECTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_UNCONNECTED) == (0), "NETLINK_UNCONNECTED != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_UNCONNECTED 0 #endif -#if !(defined(NETLINK_CONNECTED) || (defined(HAVE_DECL_NETLINK_CONNECTED) && HAVE_DECL_NETLINK_CONNECTED)) +#if defined(NETLINK_CONNECTED) || (defined(HAVE_DECL_NETLINK_CONNECTED) && HAVE_DECL_NETLINK_CONNECTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_CONNECTED) == (1), "NETLINK_CONNECTED != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETLINK_CONNECTED 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat netlink_states in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat netlink_states in mpers mode + +# else static const struct xlat netlink_states[] = { @@ -19,4 +33,6 @@ const struct xlat netlink_states[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/netlink_types.h b/xlat/netlink_types.h index 96031f2a..f6d44a38 100644 --- a/xlat/netlink_types.h +++ b/xlat/netlink_types.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/netlink_types.in; do not edit. */ -#if !(defined(NLMSG_NOOP) || (defined(HAVE_DECL_NLMSG_NOOP) && HAVE_DECL_NLMSG_NOOP)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NLMSG_NOOP) || (defined(HAVE_DECL_NLMSG_NOOP) && HAVE_DECL_NLMSG_NOOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLMSG_NOOP) == (0x1), "NLMSG_NOOP != 0x1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLMSG_NOOP 0x1 #endif -#if !(defined(NLMSG_ERROR) || (defined(HAVE_DECL_NLMSG_ERROR) && HAVE_DECL_NLMSG_ERROR)) +#if defined(NLMSG_ERROR) || (defined(HAVE_DECL_NLMSG_ERROR) && HAVE_DECL_NLMSG_ERROR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLMSG_ERROR) == (0x2), "NLMSG_ERROR != 0x2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLMSG_ERROR 0x2 #endif -#if !(defined(NLMSG_DONE) || (defined(HAVE_DECL_NLMSG_DONE) && HAVE_DECL_NLMSG_DONE)) +#if defined(NLMSG_DONE) || (defined(HAVE_DECL_NLMSG_DONE) && HAVE_DECL_NLMSG_DONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLMSG_DONE) == (0x3), "NLMSG_DONE != 0x3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLMSG_DONE 0x3 #endif -#if !(defined(NLMSG_OVERRUN) || (defined(HAVE_DECL_NLMSG_OVERRUN) && HAVE_DECL_NLMSG_OVERRUN)) +#if defined(NLMSG_OVERRUN) || (defined(HAVE_DECL_NLMSG_OVERRUN) && HAVE_DECL_NLMSG_OVERRUN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLMSG_OVERRUN) == (0x4), "NLMSG_OVERRUN != 0x4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLMSG_OVERRUN 0x4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat netlink_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat netlink_types in mpers mode + +# else static const struct xlat netlink_types[] = { @@ -27,4 +49,6 @@ const struct xlat netlink_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_acct_msg_types.h b/xlat/nf_acct_msg_types.h index d20681a6..d0584b37 100644 --- a/xlat/nf_acct_msg_types.h +++ b/xlat/nf_acct_msg_types.h @@ -1,25 +1,51 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_acct_msg_types.in; do not edit. */ -#if !(defined(NFNL_MSG_ACCT_NEW) || (defined(HAVE_DECL_NFNL_MSG_ACCT_NEW) && HAVE_DECL_NFNL_MSG_ACCT_NEW)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFNL_MSG_ACCT_NEW) || (defined(HAVE_DECL_NFNL_MSG_ACCT_NEW) && HAVE_DECL_NFNL_MSG_ACCT_NEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_ACCT_NEW) == (0), "NFNL_MSG_ACCT_NEW != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_ACCT_NEW 0 #endif -#if !(defined(NFNL_MSG_ACCT_GET) || (defined(HAVE_DECL_NFNL_MSG_ACCT_GET) && HAVE_DECL_NFNL_MSG_ACCT_GET)) +#if defined(NFNL_MSG_ACCT_GET) || (defined(HAVE_DECL_NFNL_MSG_ACCT_GET) && HAVE_DECL_NFNL_MSG_ACCT_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_ACCT_GET) == (1), "NFNL_MSG_ACCT_GET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_ACCT_GET 1 #endif -#if !(defined(NFNL_MSG_ACCT_GET_CTRZERO) || (defined(HAVE_DECL_NFNL_MSG_ACCT_GET_CTRZERO) && HAVE_DECL_NFNL_MSG_ACCT_GET_CTRZERO)) +#if defined(NFNL_MSG_ACCT_GET_CTRZERO) || (defined(HAVE_DECL_NFNL_MSG_ACCT_GET_CTRZERO) && HAVE_DECL_NFNL_MSG_ACCT_GET_CTRZERO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_ACCT_GET_CTRZERO) == (2), "NFNL_MSG_ACCT_GET_CTRZERO != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_ACCT_GET_CTRZERO 2 #endif -#if !(defined(NFNL_MSG_ACCT_DEL) || (defined(HAVE_DECL_NFNL_MSG_ACCT_DEL) && HAVE_DECL_NFNL_MSG_ACCT_DEL)) +#if defined(NFNL_MSG_ACCT_DEL) || (defined(HAVE_DECL_NFNL_MSG_ACCT_DEL) && HAVE_DECL_NFNL_MSG_ACCT_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_ACCT_DEL) == (3), "NFNL_MSG_ACCT_DEL != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_ACCT_DEL 3 #endif -#if !(defined(NFNL_MSG_ACCT_OVERQUOTA) || (defined(HAVE_DECL_NFNL_MSG_ACCT_OVERQUOTA) && HAVE_DECL_NFNL_MSG_ACCT_OVERQUOTA)) +#if defined(NFNL_MSG_ACCT_OVERQUOTA) || (defined(HAVE_DECL_NFNL_MSG_ACCT_OVERQUOTA) && HAVE_DECL_NFNL_MSG_ACCT_OVERQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_ACCT_OVERQUOTA) == (4), "NFNL_MSG_ACCT_OVERQUOTA != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_ACCT_OVERQUOTA 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_acct_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_acct_msg_types in mpers mode + +# else static const struct xlat nf_acct_msg_types[] = { @@ -31,4 +57,6 @@ const struct xlat nf_acct_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_cthelper_msg_types.h b/xlat/nf_cthelper_msg_types.h index 3b3ee1bf..0fa432a8 100644 --- a/xlat/nf_cthelper_msg_types.h +++ b/xlat/nf_cthelper_msg_types.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_cthelper_msg_types.in; do not edit. */ -#if !(defined(NFNL_MSG_CTHELPER_NEW) || (defined(HAVE_DECL_NFNL_MSG_CTHELPER_NEW) && HAVE_DECL_NFNL_MSG_CTHELPER_NEW)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFNL_MSG_CTHELPER_NEW) || (defined(HAVE_DECL_NFNL_MSG_CTHELPER_NEW) && HAVE_DECL_NFNL_MSG_CTHELPER_NEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_CTHELPER_NEW) == (0), "NFNL_MSG_CTHELPER_NEW != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_CTHELPER_NEW 0 #endif -#if !(defined(NFNL_MSG_CTHELPER_GET) || (defined(HAVE_DECL_NFNL_MSG_CTHELPER_GET) && HAVE_DECL_NFNL_MSG_CTHELPER_GET)) +#if defined(NFNL_MSG_CTHELPER_GET) || (defined(HAVE_DECL_NFNL_MSG_CTHELPER_GET) && HAVE_DECL_NFNL_MSG_CTHELPER_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_CTHELPER_GET) == (1), "NFNL_MSG_CTHELPER_GET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_CTHELPER_GET 1 #endif -#if !(defined(NFNL_MSG_CTHELPER_DEL) || (defined(HAVE_DECL_NFNL_MSG_CTHELPER_DEL) && HAVE_DECL_NFNL_MSG_CTHELPER_DEL)) +#if defined(NFNL_MSG_CTHELPER_DEL) || (defined(HAVE_DECL_NFNL_MSG_CTHELPER_DEL) && HAVE_DECL_NFNL_MSG_CTHELPER_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_CTHELPER_DEL) == (2), "NFNL_MSG_CTHELPER_DEL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_CTHELPER_DEL 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_cthelper_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_cthelper_msg_types in mpers mode + +# else static const struct xlat nf_cthelper_msg_types[] = { @@ -23,4 +41,6 @@ const struct xlat nf_cthelper_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_ctnetlink_exp_msg_types.h b/xlat/nf_ctnetlink_exp_msg_types.h index 4988dd37..a6b13a10 100644 --- a/xlat/nf_ctnetlink_exp_msg_types.h +++ b/xlat/nf_ctnetlink_exp_msg_types.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_ctnetlink_exp_msg_types.in; do not edit. */ -#if !(defined(IPCTNL_MSG_EXP_NEW) || (defined(HAVE_DECL_IPCTNL_MSG_EXP_NEW) && HAVE_DECL_IPCTNL_MSG_EXP_NEW)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IPCTNL_MSG_EXP_NEW) || (defined(HAVE_DECL_IPCTNL_MSG_EXP_NEW) && HAVE_DECL_IPCTNL_MSG_EXP_NEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_EXP_NEW) == (0), "IPCTNL_MSG_EXP_NEW != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_EXP_NEW 0 #endif -#if !(defined(IPCTNL_MSG_EXP_GET) || (defined(HAVE_DECL_IPCTNL_MSG_EXP_GET) && HAVE_DECL_IPCTNL_MSG_EXP_GET)) +#if defined(IPCTNL_MSG_EXP_GET) || (defined(HAVE_DECL_IPCTNL_MSG_EXP_GET) && HAVE_DECL_IPCTNL_MSG_EXP_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_EXP_GET) == (1), "IPCTNL_MSG_EXP_GET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_EXP_GET 1 #endif -#if !(defined(IPCTNL_MSG_EXP_DELETE) || (defined(HAVE_DECL_IPCTNL_MSG_EXP_DELETE) && HAVE_DECL_IPCTNL_MSG_EXP_DELETE)) +#if defined(IPCTNL_MSG_EXP_DELETE) || (defined(HAVE_DECL_IPCTNL_MSG_EXP_DELETE) && HAVE_DECL_IPCTNL_MSG_EXP_DELETE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_EXP_DELETE) == (2), "IPCTNL_MSG_EXP_DELETE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_EXP_DELETE 2 #endif -#if !(defined(IPCTNL_MSG_EXP_GET_STATS_CPU) || (defined(HAVE_DECL_IPCTNL_MSG_EXP_GET_STATS_CPU) && HAVE_DECL_IPCTNL_MSG_EXP_GET_STATS_CPU)) +#if defined(IPCTNL_MSG_EXP_GET_STATS_CPU) || (defined(HAVE_DECL_IPCTNL_MSG_EXP_GET_STATS_CPU) && HAVE_DECL_IPCTNL_MSG_EXP_GET_STATS_CPU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_EXP_GET_STATS_CPU) == (3), "IPCTNL_MSG_EXP_GET_STATS_CPU != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_EXP_GET_STATS_CPU 3 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_ctnetlink_exp_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_ctnetlink_exp_msg_types in mpers mode + +# else static const struct xlat nf_ctnetlink_exp_msg_types[] = { @@ -27,4 +49,6 @@ const struct xlat nf_ctnetlink_exp_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_ctnetlink_msg_types.h b/xlat/nf_ctnetlink_msg_types.h index 8b61e44b..71d24aed 100644 --- a/xlat/nf_ctnetlink_msg_types.h +++ b/xlat/nf_ctnetlink_msg_types.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_ctnetlink_msg_types.in; do not edit. */ -#if !(defined(IPCTNL_MSG_CT_NEW) || (defined(HAVE_DECL_IPCTNL_MSG_CT_NEW) && HAVE_DECL_IPCTNL_MSG_CT_NEW)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IPCTNL_MSG_CT_NEW) || (defined(HAVE_DECL_IPCTNL_MSG_CT_NEW) && HAVE_DECL_IPCTNL_MSG_CT_NEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_CT_NEW) == (0), "IPCTNL_MSG_CT_NEW != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_CT_NEW 0 #endif -#if !(defined(IPCTNL_MSG_CT_GET) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET) && HAVE_DECL_IPCTNL_MSG_CT_GET)) +#if defined(IPCTNL_MSG_CT_GET) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET) && HAVE_DECL_IPCTNL_MSG_CT_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_CT_GET) == (1), "IPCTNL_MSG_CT_GET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_CT_GET 1 #endif -#if !(defined(IPCTNL_MSG_CT_DELETE) || (defined(HAVE_DECL_IPCTNL_MSG_CT_DELETE) && HAVE_DECL_IPCTNL_MSG_CT_DELETE)) +#if defined(IPCTNL_MSG_CT_DELETE) || (defined(HAVE_DECL_IPCTNL_MSG_CT_DELETE) && HAVE_DECL_IPCTNL_MSG_CT_DELETE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_CT_DELETE) == (2), "IPCTNL_MSG_CT_DELETE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_CT_DELETE 2 #endif -#if !(defined(IPCTNL_MSG_CT_GET_CTRZERO) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_CTRZERO) && HAVE_DECL_IPCTNL_MSG_CT_GET_CTRZERO)) +#if defined(IPCTNL_MSG_CT_GET_CTRZERO) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_CTRZERO) && HAVE_DECL_IPCTNL_MSG_CT_GET_CTRZERO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_CT_GET_CTRZERO) == (3), "IPCTNL_MSG_CT_GET_CTRZERO != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_CT_GET_CTRZERO 3 #endif -#if !(defined(IPCTNL_MSG_CT_GET_STATS_CPU) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_STATS_CPU) && HAVE_DECL_IPCTNL_MSG_CT_GET_STATS_CPU)) +#if defined(IPCTNL_MSG_CT_GET_STATS_CPU) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_STATS_CPU) && HAVE_DECL_IPCTNL_MSG_CT_GET_STATS_CPU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_CT_GET_STATS_CPU) == (4), "IPCTNL_MSG_CT_GET_STATS_CPU != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_CT_GET_STATS_CPU 4 #endif -#if !(defined(IPCTNL_MSG_CT_GET_STATS) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_STATS) && HAVE_DECL_IPCTNL_MSG_CT_GET_STATS)) +#if defined(IPCTNL_MSG_CT_GET_STATS) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_STATS) && HAVE_DECL_IPCTNL_MSG_CT_GET_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_CT_GET_STATS) == (5), "IPCTNL_MSG_CT_GET_STATS != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_CT_GET_STATS 5 #endif -#if !(defined(IPCTNL_MSG_CT_GET_DYING) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_DYING) && HAVE_DECL_IPCTNL_MSG_CT_GET_DYING)) +#if defined(IPCTNL_MSG_CT_GET_DYING) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_DYING) && HAVE_DECL_IPCTNL_MSG_CT_GET_DYING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_CT_GET_DYING) == (6), "IPCTNL_MSG_CT_GET_DYING != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_CT_GET_DYING 6 #endif -#if !(defined(IPCTNL_MSG_CT_GET_UNCONFIRMED) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_UNCONFIRMED) && HAVE_DECL_IPCTNL_MSG_CT_GET_UNCONFIRMED)) +#if defined(IPCTNL_MSG_CT_GET_UNCONFIRMED) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_UNCONFIRMED) && HAVE_DECL_IPCTNL_MSG_CT_GET_UNCONFIRMED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_CT_GET_UNCONFIRMED) == (7), "IPCTNL_MSG_CT_GET_UNCONFIRMED != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_CT_GET_UNCONFIRMED 7 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_ctnetlink_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_ctnetlink_msg_types in mpers mode + +# else static const struct xlat nf_ctnetlink_msg_types[] = { @@ -43,4 +81,6 @@ const struct xlat nf_ctnetlink_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_cttimeout_msg_types.h b/xlat/nf_cttimeout_msg_types.h index 9c7b5513..43ebec40 100644 --- a/xlat/nf_cttimeout_msg_types.h +++ b/xlat/nf_cttimeout_msg_types.h @@ -1,25 +1,51 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_cttimeout_msg_types.in; do not edit. */ -#if !(defined(IPCTNL_MSG_TIMEOUT_NEW) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_NEW) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_NEW)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IPCTNL_MSG_TIMEOUT_NEW) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_NEW) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_NEW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_TIMEOUT_NEW) == (0), "IPCTNL_MSG_TIMEOUT_NEW != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_TIMEOUT_NEW 0 #endif -#if !(defined(IPCTNL_MSG_TIMEOUT_GET) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_GET) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_GET)) +#if defined(IPCTNL_MSG_TIMEOUT_GET) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_GET) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_TIMEOUT_GET) == (1), "IPCTNL_MSG_TIMEOUT_GET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_TIMEOUT_GET 1 #endif -#if !(defined(IPCTNL_MSG_TIMEOUT_DELETE) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_DELETE) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_DELETE)) +#if defined(IPCTNL_MSG_TIMEOUT_DELETE) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_DELETE) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_DELETE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_TIMEOUT_DELETE) == (2), "IPCTNL_MSG_TIMEOUT_DELETE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_TIMEOUT_DELETE 2 #endif -#if !(defined(IPCTNL_MSG_TIMEOUT_DEFAULT_SET) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_SET) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_SET)) +#if defined(IPCTNL_MSG_TIMEOUT_DEFAULT_SET) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_SET) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_TIMEOUT_DEFAULT_SET) == (3), "IPCTNL_MSG_TIMEOUT_DEFAULT_SET != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_TIMEOUT_DEFAULT_SET 3 #endif -#if !(defined(IPCTNL_MSG_TIMEOUT_DEFAULT_GET) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_GET) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_GET)) +#if defined(IPCTNL_MSG_TIMEOUT_DEFAULT_GET) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_GET) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPCTNL_MSG_TIMEOUT_DEFAULT_GET) == (4), "IPCTNL_MSG_TIMEOUT_DEFAULT_GET != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPCTNL_MSG_TIMEOUT_DEFAULT_GET 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_cttimeout_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_cttimeout_msg_types in mpers mode + +# else static const struct xlat nf_cttimeout_msg_types[] = { @@ -31,4 +57,6 @@ const struct xlat nf_cttimeout_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_ipset_msg_types.h b/xlat/nf_ipset_msg_types.h index b6b32bb8..4fdedd93 100644 --- a/xlat/nf_ipset_msg_types.h +++ b/xlat/nf_ipset_msg_types.h @@ -1,67 +1,149 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_ipset_msg_types.in; do not edit. */ -#if !(defined(IPSET_CMD_NONE) || (defined(HAVE_DECL_IPSET_CMD_NONE) && HAVE_DECL_IPSET_CMD_NONE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IPSET_CMD_NONE) || (defined(HAVE_DECL_IPSET_CMD_NONE) && HAVE_DECL_IPSET_CMD_NONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_NONE) == (0), "IPSET_CMD_NONE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_NONE 0 #endif -#if !(defined(IPSET_CMD_PROTOCOL) || (defined(HAVE_DECL_IPSET_CMD_PROTOCOL) && HAVE_DECL_IPSET_CMD_PROTOCOL)) +#if defined(IPSET_CMD_PROTOCOL) || (defined(HAVE_DECL_IPSET_CMD_PROTOCOL) && HAVE_DECL_IPSET_CMD_PROTOCOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_PROTOCOL) == (1), "IPSET_CMD_PROTOCOL != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_PROTOCOL 1 #endif -#if !(defined(IPSET_CMD_CREATE) || (defined(HAVE_DECL_IPSET_CMD_CREATE) && HAVE_DECL_IPSET_CMD_CREATE)) +#if defined(IPSET_CMD_CREATE) || (defined(HAVE_DECL_IPSET_CMD_CREATE) && HAVE_DECL_IPSET_CMD_CREATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_CREATE) == (2), "IPSET_CMD_CREATE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_CREATE 2 #endif -#if !(defined(IPSET_CMD_DESTROY) || (defined(HAVE_DECL_IPSET_CMD_DESTROY) && HAVE_DECL_IPSET_CMD_DESTROY)) +#if defined(IPSET_CMD_DESTROY) || (defined(HAVE_DECL_IPSET_CMD_DESTROY) && HAVE_DECL_IPSET_CMD_DESTROY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_DESTROY) == (3), "IPSET_CMD_DESTROY != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_DESTROY 3 #endif -#if !(defined(IPSET_CMD_FLUSH) || (defined(HAVE_DECL_IPSET_CMD_FLUSH) && HAVE_DECL_IPSET_CMD_FLUSH)) +#if defined(IPSET_CMD_FLUSH) || (defined(HAVE_DECL_IPSET_CMD_FLUSH) && HAVE_DECL_IPSET_CMD_FLUSH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_FLUSH) == (4), "IPSET_CMD_FLUSH != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_FLUSH 4 #endif -#if !(defined(IPSET_CMD_RENAME) || (defined(HAVE_DECL_IPSET_CMD_RENAME) && HAVE_DECL_IPSET_CMD_RENAME)) +#if defined(IPSET_CMD_RENAME) || (defined(HAVE_DECL_IPSET_CMD_RENAME) && HAVE_DECL_IPSET_CMD_RENAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_RENAME) == (5), "IPSET_CMD_RENAME != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_RENAME 5 #endif -#if !(defined(IPSET_CMD_SWAP) || (defined(HAVE_DECL_IPSET_CMD_SWAP) && HAVE_DECL_IPSET_CMD_SWAP)) +#if defined(IPSET_CMD_SWAP) || (defined(HAVE_DECL_IPSET_CMD_SWAP) && HAVE_DECL_IPSET_CMD_SWAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_SWAP) == (6), "IPSET_CMD_SWAP != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_SWAP 6 #endif -#if !(defined(IPSET_CMD_LIST) || (defined(HAVE_DECL_IPSET_CMD_LIST) && HAVE_DECL_IPSET_CMD_LIST)) +#if defined(IPSET_CMD_LIST) || (defined(HAVE_DECL_IPSET_CMD_LIST) && HAVE_DECL_IPSET_CMD_LIST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_LIST) == (7), "IPSET_CMD_LIST != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_LIST 7 #endif -#if !(defined(IPSET_CMD_SAVE) || (defined(HAVE_DECL_IPSET_CMD_SAVE) && HAVE_DECL_IPSET_CMD_SAVE)) +#if defined(IPSET_CMD_SAVE) || (defined(HAVE_DECL_IPSET_CMD_SAVE) && HAVE_DECL_IPSET_CMD_SAVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_SAVE) == (8), "IPSET_CMD_SAVE != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_SAVE 8 #endif -#if !(defined(IPSET_CMD_ADD) || (defined(HAVE_DECL_IPSET_CMD_ADD) && HAVE_DECL_IPSET_CMD_ADD)) +#if defined(IPSET_CMD_ADD) || (defined(HAVE_DECL_IPSET_CMD_ADD) && HAVE_DECL_IPSET_CMD_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_ADD) == (9), "IPSET_CMD_ADD != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_ADD 9 #endif -#if !(defined(IPSET_CMD_DEL) || (defined(HAVE_DECL_IPSET_CMD_DEL) && HAVE_DECL_IPSET_CMD_DEL)) +#if defined(IPSET_CMD_DEL) || (defined(HAVE_DECL_IPSET_CMD_DEL) && HAVE_DECL_IPSET_CMD_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_DEL) == (10), "IPSET_CMD_DEL != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_DEL 10 #endif -#if !(defined(IPSET_CMD_TEST) || (defined(HAVE_DECL_IPSET_CMD_TEST) && HAVE_DECL_IPSET_CMD_TEST)) +#if defined(IPSET_CMD_TEST) || (defined(HAVE_DECL_IPSET_CMD_TEST) && HAVE_DECL_IPSET_CMD_TEST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_TEST) == (11), "IPSET_CMD_TEST != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_TEST 11 #endif -#if !(defined(IPSET_CMD_HEADER) || (defined(HAVE_DECL_IPSET_CMD_HEADER) && HAVE_DECL_IPSET_CMD_HEADER)) +#if defined(IPSET_CMD_HEADER) || (defined(HAVE_DECL_IPSET_CMD_HEADER) && HAVE_DECL_IPSET_CMD_HEADER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_HEADER) == (12), "IPSET_CMD_HEADER != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_HEADER 12 #endif -#if !(defined(IPSET_CMD_TYPE) || (defined(HAVE_DECL_IPSET_CMD_TYPE) && HAVE_DECL_IPSET_CMD_TYPE)) +#if defined(IPSET_CMD_TYPE) || (defined(HAVE_DECL_IPSET_CMD_TYPE) && HAVE_DECL_IPSET_CMD_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_TYPE) == (13), "IPSET_CMD_TYPE != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_TYPE 13 #endif -#if !(defined(IPSET_CMD_RESTORE) || (defined(HAVE_DECL_IPSET_CMD_RESTORE) && HAVE_DECL_IPSET_CMD_RESTORE)) +#if defined(IPSET_CMD_RESTORE) || (defined(HAVE_DECL_IPSET_CMD_RESTORE) && HAVE_DECL_IPSET_CMD_RESTORE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_RESTORE) == (14), "IPSET_CMD_RESTORE != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_RESTORE 14 #endif -#if !(defined(IPSET_CMD_HELP) || (defined(HAVE_DECL_IPSET_CMD_HELP) && HAVE_DECL_IPSET_CMD_HELP)) +#if defined(IPSET_CMD_HELP) || (defined(HAVE_DECL_IPSET_CMD_HELP) && HAVE_DECL_IPSET_CMD_HELP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_HELP) == (15), "IPSET_CMD_HELP != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_HELP 15 #endif -#if !(defined(IPSET_CMD_VERSION) || (defined(HAVE_DECL_IPSET_CMD_VERSION) && HAVE_DECL_IPSET_CMD_VERSION)) +#if defined(IPSET_CMD_VERSION) || (defined(HAVE_DECL_IPSET_CMD_VERSION) && HAVE_DECL_IPSET_CMD_VERSION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_VERSION) == (16), "IPSET_CMD_VERSION != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_VERSION 16 #endif -#if !(defined(IPSET_CMD_QUIT) || (defined(HAVE_DECL_IPSET_CMD_QUIT) && HAVE_DECL_IPSET_CMD_QUIT)) +#if defined(IPSET_CMD_QUIT) || (defined(HAVE_DECL_IPSET_CMD_QUIT) && HAVE_DECL_IPSET_CMD_QUIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_QUIT) == (17), "IPSET_CMD_QUIT != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_QUIT 17 #endif -#if !(defined(IPSET_CMD_COMMIT) || (defined(HAVE_DECL_IPSET_CMD_COMMIT) && HAVE_DECL_IPSET_CMD_COMMIT)) +#if defined(IPSET_CMD_COMMIT) || (defined(HAVE_DECL_IPSET_CMD_COMMIT) && HAVE_DECL_IPSET_CMD_COMMIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSET_CMD_COMMIT) == (18), "IPSET_CMD_COMMIT != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IPSET_CMD_COMMIT 18 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_ipset_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_ipset_msg_types in mpers mode + +# else static const struct xlat nf_ipset_msg_types[] = { @@ -89,4 +171,6 @@ const struct xlat nf_ipset_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_nft_compat_msg_types.h b/xlat/nf_nft_compat_msg_types.h index 11346783..010ec9d2 100644 --- a/xlat/nf_nft_compat_msg_types.h +++ b/xlat/nf_nft_compat_msg_types.h @@ -1,13 +1,23 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_nft_compat_msg_types.in; do not edit. */ -#if !(defined(NFNL_MSG_COMPAT_GET) || (defined(HAVE_DECL_NFNL_MSG_COMPAT_GET) && HAVE_DECL_NFNL_MSG_COMPAT_GET)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFNL_MSG_COMPAT_GET) || (defined(HAVE_DECL_NFNL_MSG_COMPAT_GET) && HAVE_DECL_NFNL_MSG_COMPAT_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_COMPAT_GET) == (0), "NFNL_MSG_COMPAT_GET != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_COMPAT_GET 0 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_nft_compat_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_nft_compat_msg_types in mpers mode + +# else static const struct xlat nf_nft_compat_msg_types[] = { @@ -15,4 +25,6 @@ const struct xlat nf_nft_compat_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_nftables_msg_types.h b/xlat/nf_nftables_msg_types.h index 8a1a6def..f2b3c51a 100644 --- a/xlat/nf_nftables_msg_types.h +++ b/xlat/nf_nftables_msg_types.h @@ -1,76 +1,170 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_nftables_msg_types.in; do not edit. */ -#if !(defined(NFT_MSG_NEWTABLE) || (defined(HAVE_DECL_NFT_MSG_NEWTABLE) && HAVE_DECL_NFT_MSG_NEWTABLE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFT_MSG_NEWTABLE) || (defined(HAVE_DECL_NFT_MSG_NEWTABLE) && HAVE_DECL_NFT_MSG_NEWTABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_NEWTABLE) == (0), "NFT_MSG_NEWTABLE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_NEWTABLE 0 #endif -#if !(defined(NFT_MSG_GETTABLE) || (defined(HAVE_DECL_NFT_MSG_GETTABLE) && HAVE_DECL_NFT_MSG_GETTABLE)) +#if defined(NFT_MSG_GETTABLE) || (defined(HAVE_DECL_NFT_MSG_GETTABLE) && HAVE_DECL_NFT_MSG_GETTABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_GETTABLE) == (1), "NFT_MSG_GETTABLE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_GETTABLE 1 #endif -#if !(defined(NFT_MSG_DELTABLE) || (defined(HAVE_DECL_NFT_MSG_DELTABLE) && HAVE_DECL_NFT_MSG_DELTABLE)) +#if defined(NFT_MSG_DELTABLE) || (defined(HAVE_DECL_NFT_MSG_DELTABLE) && HAVE_DECL_NFT_MSG_DELTABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_DELTABLE) == (2), "NFT_MSG_DELTABLE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_DELTABLE 2 #endif -#if !(defined(NFT_MSG_NEWCHAIN) || (defined(HAVE_DECL_NFT_MSG_NEWCHAIN) && HAVE_DECL_NFT_MSG_NEWCHAIN)) +#if defined(NFT_MSG_NEWCHAIN) || (defined(HAVE_DECL_NFT_MSG_NEWCHAIN) && HAVE_DECL_NFT_MSG_NEWCHAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_NEWCHAIN) == (3), "NFT_MSG_NEWCHAIN != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_NEWCHAIN 3 #endif -#if !(defined(NFT_MSG_GETCHAIN) || (defined(HAVE_DECL_NFT_MSG_GETCHAIN) && HAVE_DECL_NFT_MSG_GETCHAIN)) +#if defined(NFT_MSG_GETCHAIN) || (defined(HAVE_DECL_NFT_MSG_GETCHAIN) && HAVE_DECL_NFT_MSG_GETCHAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_GETCHAIN) == (4), "NFT_MSG_GETCHAIN != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_GETCHAIN 4 #endif -#if !(defined(NFT_MSG_DELCHAIN) || (defined(HAVE_DECL_NFT_MSG_DELCHAIN) && HAVE_DECL_NFT_MSG_DELCHAIN)) +#if defined(NFT_MSG_DELCHAIN) || (defined(HAVE_DECL_NFT_MSG_DELCHAIN) && HAVE_DECL_NFT_MSG_DELCHAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_DELCHAIN) == (5), "NFT_MSG_DELCHAIN != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_DELCHAIN 5 #endif -#if !(defined(NFT_MSG_NEWRULE) || (defined(HAVE_DECL_NFT_MSG_NEWRULE) && HAVE_DECL_NFT_MSG_NEWRULE)) +#if defined(NFT_MSG_NEWRULE) || (defined(HAVE_DECL_NFT_MSG_NEWRULE) && HAVE_DECL_NFT_MSG_NEWRULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_NEWRULE) == (6), "NFT_MSG_NEWRULE != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_NEWRULE 6 #endif -#if !(defined(NFT_MSG_GETRULE) || (defined(HAVE_DECL_NFT_MSG_GETRULE) && HAVE_DECL_NFT_MSG_GETRULE)) +#if defined(NFT_MSG_GETRULE) || (defined(HAVE_DECL_NFT_MSG_GETRULE) && HAVE_DECL_NFT_MSG_GETRULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_GETRULE) == (7), "NFT_MSG_GETRULE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_GETRULE 7 #endif -#if !(defined(NFT_MSG_DELRULE) || (defined(HAVE_DECL_NFT_MSG_DELRULE) && HAVE_DECL_NFT_MSG_DELRULE)) +#if defined(NFT_MSG_DELRULE) || (defined(HAVE_DECL_NFT_MSG_DELRULE) && HAVE_DECL_NFT_MSG_DELRULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_DELRULE) == (8), "NFT_MSG_DELRULE != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_DELRULE 8 #endif -#if !(defined(NFT_MSG_NEWSET) || (defined(HAVE_DECL_NFT_MSG_NEWSET) && HAVE_DECL_NFT_MSG_NEWSET)) +#if defined(NFT_MSG_NEWSET) || (defined(HAVE_DECL_NFT_MSG_NEWSET) && HAVE_DECL_NFT_MSG_NEWSET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_NEWSET) == (9), "NFT_MSG_NEWSET != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_NEWSET 9 #endif -#if !(defined(NFT_MSG_GETSET) || (defined(HAVE_DECL_NFT_MSG_GETSET) && HAVE_DECL_NFT_MSG_GETSET)) +#if defined(NFT_MSG_GETSET) || (defined(HAVE_DECL_NFT_MSG_GETSET) && HAVE_DECL_NFT_MSG_GETSET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_GETSET) == (10), "NFT_MSG_GETSET != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_GETSET 10 #endif -#if !(defined(NFT_MSG_DELSET) || (defined(HAVE_DECL_NFT_MSG_DELSET) && HAVE_DECL_NFT_MSG_DELSET)) +#if defined(NFT_MSG_DELSET) || (defined(HAVE_DECL_NFT_MSG_DELSET) && HAVE_DECL_NFT_MSG_DELSET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_DELSET) == (11), "NFT_MSG_DELSET != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_DELSET 11 #endif -#if !(defined(NFT_MSG_NEWSETELEM) || (defined(HAVE_DECL_NFT_MSG_NEWSETELEM) && HAVE_DECL_NFT_MSG_NEWSETELEM)) +#if defined(NFT_MSG_NEWSETELEM) || (defined(HAVE_DECL_NFT_MSG_NEWSETELEM) && HAVE_DECL_NFT_MSG_NEWSETELEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_NEWSETELEM) == (12), "NFT_MSG_NEWSETELEM != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_NEWSETELEM 12 #endif -#if !(defined(NFT_MSG_GETSETELEM) || (defined(HAVE_DECL_NFT_MSG_GETSETELEM) && HAVE_DECL_NFT_MSG_GETSETELEM)) +#if defined(NFT_MSG_GETSETELEM) || (defined(HAVE_DECL_NFT_MSG_GETSETELEM) && HAVE_DECL_NFT_MSG_GETSETELEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_GETSETELEM) == (13), "NFT_MSG_GETSETELEM != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_GETSETELEM 13 #endif -#if !(defined(NFT_MSG_DELSETELEM) || (defined(HAVE_DECL_NFT_MSG_DELSETELEM) && HAVE_DECL_NFT_MSG_DELSETELEM)) +#if defined(NFT_MSG_DELSETELEM) || (defined(HAVE_DECL_NFT_MSG_DELSETELEM) && HAVE_DECL_NFT_MSG_DELSETELEM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_DELSETELEM) == (14), "NFT_MSG_DELSETELEM != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_DELSETELEM 14 #endif -#if !(defined(NFT_MSG_NEWGEN) || (defined(HAVE_DECL_NFT_MSG_NEWGEN) && HAVE_DECL_NFT_MSG_NEWGEN)) +#if defined(NFT_MSG_NEWGEN) || (defined(HAVE_DECL_NFT_MSG_NEWGEN) && HAVE_DECL_NFT_MSG_NEWGEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_NEWGEN) == (15), "NFT_MSG_NEWGEN != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_NEWGEN 15 #endif -#if !(defined(NFT_MSG_GETGEN) || (defined(HAVE_DECL_NFT_MSG_GETGEN) && HAVE_DECL_NFT_MSG_GETGEN)) +#if defined(NFT_MSG_GETGEN) || (defined(HAVE_DECL_NFT_MSG_GETGEN) && HAVE_DECL_NFT_MSG_GETGEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_GETGEN) == (16), "NFT_MSG_GETGEN != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_GETGEN 16 #endif -#if !(defined(NFT_MSG_TRACE) || (defined(HAVE_DECL_NFT_MSG_TRACE) && HAVE_DECL_NFT_MSG_TRACE)) +#if defined(NFT_MSG_TRACE) || (defined(HAVE_DECL_NFT_MSG_TRACE) && HAVE_DECL_NFT_MSG_TRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_TRACE) == (17), "NFT_MSG_TRACE != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_TRACE 17 #endif -#if !(defined(NFT_MSG_NEWOBJ) || (defined(HAVE_DECL_NFT_MSG_NEWOBJ) && HAVE_DECL_NFT_MSG_NEWOBJ)) +#if defined(NFT_MSG_NEWOBJ) || (defined(HAVE_DECL_NFT_MSG_NEWOBJ) && HAVE_DECL_NFT_MSG_NEWOBJ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_NEWOBJ) == (18), "NFT_MSG_NEWOBJ != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_NEWOBJ 18 #endif -#if !(defined(NFT_MSG_GETOBJ) || (defined(HAVE_DECL_NFT_MSG_GETOBJ) && HAVE_DECL_NFT_MSG_GETOBJ)) +#if defined(NFT_MSG_GETOBJ) || (defined(HAVE_DECL_NFT_MSG_GETOBJ) && HAVE_DECL_NFT_MSG_GETOBJ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_GETOBJ) == (19), "NFT_MSG_GETOBJ != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_GETOBJ 19 #endif -#if !(defined(NFT_MSG_DELOBJ) || (defined(HAVE_DECL_NFT_MSG_DELOBJ) && HAVE_DECL_NFT_MSG_DELOBJ)) +#if defined(NFT_MSG_DELOBJ) || (defined(HAVE_DECL_NFT_MSG_DELOBJ) && HAVE_DECL_NFT_MSG_DELOBJ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_DELOBJ) == (20), "NFT_MSG_DELOBJ != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_DELOBJ 20 #endif -#if !(defined(NFT_MSG_GETOBJ_RESET) || (defined(HAVE_DECL_NFT_MSG_GETOBJ_RESET) && HAVE_DECL_NFT_MSG_GETOBJ_RESET)) +#if defined(NFT_MSG_GETOBJ_RESET) || (defined(HAVE_DECL_NFT_MSG_GETOBJ_RESET) && HAVE_DECL_NFT_MSG_GETOBJ_RESET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFT_MSG_GETOBJ_RESET) == (21), "NFT_MSG_GETOBJ_RESET != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFT_MSG_GETOBJ_RESET 21 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_nftables_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_nftables_msg_types in mpers mode + +# else static const struct xlat nf_nftables_msg_types[] = { @@ -99,4 +193,6 @@ const struct xlat nf_nftables_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_osf_msg_types.h b/xlat/nf_osf_msg_types.h index f5661efa..bf84df60 100644 --- a/xlat/nf_osf_msg_types.h +++ b/xlat/nf_osf_msg_types.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_osf_msg_types.in; do not edit. */ -#if !(defined(OSF_MSG_ADD) || (defined(HAVE_DECL_OSF_MSG_ADD) && HAVE_DECL_OSF_MSG_ADD)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(OSF_MSG_ADD) || (defined(HAVE_DECL_OSF_MSG_ADD) && HAVE_DECL_OSF_MSG_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((OSF_MSG_ADD) == (0), "OSF_MSG_ADD != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define OSF_MSG_ADD 0 #endif -#if !(defined(OSF_MSG_REMOVE) || (defined(HAVE_DECL_OSF_MSG_REMOVE) && HAVE_DECL_OSF_MSG_REMOVE)) +#if defined(OSF_MSG_REMOVE) || (defined(HAVE_DECL_OSF_MSG_REMOVE) && HAVE_DECL_OSF_MSG_REMOVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((OSF_MSG_REMOVE) == (1), "OSF_MSG_REMOVE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define OSF_MSG_REMOVE 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_osf_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_osf_msg_types in mpers mode + +# else static const struct xlat nf_osf_msg_types[] = { @@ -19,4 +33,6 @@ const struct xlat nf_osf_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_queue_msg_types.h b/xlat/nf_queue_msg_types.h index 7b4f4a43..88ab109d 100644 --- a/xlat/nf_queue_msg_types.h +++ b/xlat/nf_queue_msg_types.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_queue_msg_types.in; do not edit. */ -#if !(defined(NFQNL_MSG_PACKET) || (defined(HAVE_DECL_NFQNL_MSG_PACKET) && HAVE_DECL_NFQNL_MSG_PACKET)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFQNL_MSG_PACKET) || (defined(HAVE_DECL_NFQNL_MSG_PACKET) && HAVE_DECL_NFQNL_MSG_PACKET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFQNL_MSG_PACKET) == (0), "NFQNL_MSG_PACKET != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFQNL_MSG_PACKET 0 #endif -#if !(defined(NFQNL_MSG_VERDICT) || (defined(HAVE_DECL_NFQNL_MSG_VERDICT) && HAVE_DECL_NFQNL_MSG_VERDICT)) +#if defined(NFQNL_MSG_VERDICT) || (defined(HAVE_DECL_NFQNL_MSG_VERDICT) && HAVE_DECL_NFQNL_MSG_VERDICT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFQNL_MSG_VERDICT) == (1), "NFQNL_MSG_VERDICT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFQNL_MSG_VERDICT 1 #endif -#if !(defined(NFQNL_MSG_CONFIG) || (defined(HAVE_DECL_NFQNL_MSG_CONFIG) && HAVE_DECL_NFQNL_MSG_CONFIG)) +#if defined(NFQNL_MSG_CONFIG) || (defined(HAVE_DECL_NFQNL_MSG_CONFIG) && HAVE_DECL_NFQNL_MSG_CONFIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFQNL_MSG_CONFIG) == (2), "NFQNL_MSG_CONFIG != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFQNL_MSG_CONFIG 2 #endif -#if !(defined(NFQNL_MSG_VERDICT_BATCH) || (defined(HAVE_DECL_NFQNL_MSG_VERDICT_BATCH) && HAVE_DECL_NFQNL_MSG_VERDICT_BATCH)) +#if defined(NFQNL_MSG_VERDICT_BATCH) || (defined(HAVE_DECL_NFQNL_MSG_VERDICT_BATCH) && HAVE_DECL_NFQNL_MSG_VERDICT_BATCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFQNL_MSG_VERDICT_BATCH) == (3), "NFQNL_MSG_VERDICT_BATCH != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFQNL_MSG_VERDICT_BATCH 3 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_queue_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_queue_msg_types in mpers mode + +# else static const struct xlat nf_queue_msg_types[] = { @@ -27,4 +49,6 @@ const struct xlat nf_queue_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nf_ulog_msg_types.h b/xlat/nf_ulog_msg_types.h index b0ab0513..c8c8389b 100644 --- a/xlat/nf_ulog_msg_types.h +++ b/xlat/nf_ulog_msg_types.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/nf_ulog_msg_types.in; do not edit. */ -#if !(defined(NFULNL_MSG_PACKET) || (defined(HAVE_DECL_NFULNL_MSG_PACKET) && HAVE_DECL_NFULNL_MSG_PACKET)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFULNL_MSG_PACKET) || (defined(HAVE_DECL_NFULNL_MSG_PACKET) && HAVE_DECL_NFULNL_MSG_PACKET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFULNL_MSG_PACKET) == (0), "NFULNL_MSG_PACKET != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFULNL_MSG_PACKET 0 #endif -#if !(defined(NFULNL_MSG_CONFIG) || (defined(HAVE_DECL_NFULNL_MSG_CONFIG) && HAVE_DECL_NFULNL_MSG_CONFIG)) +#if defined(NFULNL_MSG_CONFIG) || (defined(HAVE_DECL_NFULNL_MSG_CONFIG) && HAVE_DECL_NFULNL_MSG_CONFIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFULNL_MSG_CONFIG) == (1), "NFULNL_MSG_CONFIG != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFULNL_MSG_CONFIG 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nf_ulog_msg_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nf_ulog_msg_types in mpers mode + +# else static const struct xlat nf_ulog_msg_types[] = { @@ -19,4 +33,6 @@ const struct xlat nf_ulog_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nfc_protocols.h b/xlat/nfc_protocols.h new file mode 100644 index 00000000..88331a53 --- /dev/null +++ b/xlat/nfc_protocols.h @@ -0,0 +1,38 @@ +/* Generated by ./xlat/gen.sh from ./xlat/nfc_protocols.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFC_SOCKPROTO_RAW) || (defined(HAVE_DECL_NFC_SOCKPROTO_RAW) && HAVE_DECL_NFC_SOCKPROTO_RAW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFC_SOCKPROTO_RAW) == (0), "NFC_SOCKPROTO_RAW != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NFC_SOCKPROTO_RAW 0 +#endif +#if defined(NFC_SOCKPROTO_LLCP) || (defined(HAVE_DECL_NFC_SOCKPROTO_LLCP) && HAVE_DECL_NFC_SOCKPROTO_LLCP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFC_SOCKPROTO_LLCP) == (1), "NFC_SOCKPROTO_LLCP != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NFC_SOCKPROTO_LLCP 1 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat nfc_protocols in mpers mode + +# else + +static +const struct xlat nfc_protocols[] = { + [NFC_SOCKPROTO_RAW] = XLAT(NFC_SOCKPROTO_RAW), + [NFC_SOCKPROTO_LLCP] = XLAT(NFC_SOCKPROTO_LLCP), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nfc_protocols.in b/xlat/nfc_protocols.in new file mode 100644 index 00000000..27718976 --- /dev/null +++ b/xlat/nfc_protocols.in @@ -0,0 +1,3 @@ +#value_indexed +NFC_SOCKPROTO_RAW 0 +NFC_SOCKPROTO_LLCP 1 diff --git a/xlat/nl_audit_types.h b/xlat/nl_audit_types.h index 37f658a6..076bcc5e 100644 --- a/xlat/nl_audit_types.h +++ b/xlat/nl_audit_types.h @@ -1,280 +1,650 @@ /* Generated by ./xlat/gen.sh from ./xlat/nl_audit_types.in; do not edit. */ -#if !(defined(AUDIT_GET) || (defined(HAVE_DECL_AUDIT_GET) && HAVE_DECL_AUDIT_GET)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(AUDIT_GET) || (defined(HAVE_DECL_AUDIT_GET) && HAVE_DECL_AUDIT_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_GET) == (1000), "AUDIT_GET != 1000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_GET 1000 #endif -#if !(defined(AUDIT_SET) || (defined(HAVE_DECL_AUDIT_SET) && HAVE_DECL_AUDIT_SET)) +#if defined(AUDIT_SET) || (defined(HAVE_DECL_AUDIT_SET) && HAVE_DECL_AUDIT_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_SET) == (1001), "AUDIT_SET != 1001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_SET 1001 #endif -#if !(defined(AUDIT_LIST) || (defined(HAVE_DECL_AUDIT_LIST) && HAVE_DECL_AUDIT_LIST)) +#if defined(AUDIT_LIST) || (defined(HAVE_DECL_AUDIT_LIST) && HAVE_DECL_AUDIT_LIST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_LIST) == (1002), "AUDIT_LIST != 1002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_LIST 1002 #endif -#if !(defined(AUDIT_ADD) || (defined(HAVE_DECL_AUDIT_ADD) && HAVE_DECL_AUDIT_ADD)) +#if defined(AUDIT_ADD) || (defined(HAVE_DECL_AUDIT_ADD) && HAVE_DECL_AUDIT_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_ADD) == (1003), "AUDIT_ADD != 1003"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_ADD 1003 #endif -#if !(defined(AUDIT_DEL) || (defined(HAVE_DECL_AUDIT_DEL) && HAVE_DECL_AUDIT_DEL)) +#if defined(AUDIT_DEL) || (defined(HAVE_DECL_AUDIT_DEL) && HAVE_DECL_AUDIT_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_DEL) == (1004), "AUDIT_DEL != 1004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_DEL 1004 #endif -#if !(defined(AUDIT_USER) || (defined(HAVE_DECL_AUDIT_USER) && HAVE_DECL_AUDIT_USER)) +#if defined(AUDIT_USER) || (defined(HAVE_DECL_AUDIT_USER) && HAVE_DECL_AUDIT_USER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_USER) == (1005), "AUDIT_USER != 1005"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_USER 1005 #endif -#if !(defined(AUDIT_LOGIN) || (defined(HAVE_DECL_AUDIT_LOGIN) && HAVE_DECL_AUDIT_LOGIN)) +#if defined(AUDIT_LOGIN) || (defined(HAVE_DECL_AUDIT_LOGIN) && HAVE_DECL_AUDIT_LOGIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_LOGIN) == (1006), "AUDIT_LOGIN != 1006"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_LOGIN 1006 #endif -#if !(defined(AUDIT_WATCH_INS) || (defined(HAVE_DECL_AUDIT_WATCH_INS) && HAVE_DECL_AUDIT_WATCH_INS)) +#if defined(AUDIT_WATCH_INS) || (defined(HAVE_DECL_AUDIT_WATCH_INS) && HAVE_DECL_AUDIT_WATCH_INS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_WATCH_INS) == (1007), "AUDIT_WATCH_INS != 1007"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_WATCH_INS 1007 #endif -#if !(defined(AUDIT_WATCH_REM) || (defined(HAVE_DECL_AUDIT_WATCH_REM) && HAVE_DECL_AUDIT_WATCH_REM)) +#if defined(AUDIT_WATCH_REM) || (defined(HAVE_DECL_AUDIT_WATCH_REM) && HAVE_DECL_AUDIT_WATCH_REM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_WATCH_REM) == (1008), "AUDIT_WATCH_REM != 1008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_WATCH_REM 1008 #endif -#if !(defined(AUDIT_WATCH_LIST) || (defined(HAVE_DECL_AUDIT_WATCH_LIST) && HAVE_DECL_AUDIT_WATCH_LIST)) +#if defined(AUDIT_WATCH_LIST) || (defined(HAVE_DECL_AUDIT_WATCH_LIST) && HAVE_DECL_AUDIT_WATCH_LIST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_WATCH_LIST) == (1009), "AUDIT_WATCH_LIST != 1009"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_WATCH_LIST 1009 #endif -#if !(defined(AUDIT_SIGNAL_INFO) || (defined(HAVE_DECL_AUDIT_SIGNAL_INFO) && HAVE_DECL_AUDIT_SIGNAL_INFO)) +#if defined(AUDIT_SIGNAL_INFO) || (defined(HAVE_DECL_AUDIT_SIGNAL_INFO) && HAVE_DECL_AUDIT_SIGNAL_INFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_SIGNAL_INFO) == (1010), "AUDIT_SIGNAL_INFO != 1010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_SIGNAL_INFO 1010 #endif -#if !(defined(AUDIT_ADD_RULE) || (defined(HAVE_DECL_AUDIT_ADD_RULE) && HAVE_DECL_AUDIT_ADD_RULE)) +#if defined(AUDIT_ADD_RULE) || (defined(HAVE_DECL_AUDIT_ADD_RULE) && HAVE_DECL_AUDIT_ADD_RULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_ADD_RULE) == (1011), "AUDIT_ADD_RULE != 1011"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_ADD_RULE 1011 #endif -#if !(defined(AUDIT_DEL_RULE) || (defined(HAVE_DECL_AUDIT_DEL_RULE) && HAVE_DECL_AUDIT_DEL_RULE)) +#if defined(AUDIT_DEL_RULE) || (defined(HAVE_DECL_AUDIT_DEL_RULE) && HAVE_DECL_AUDIT_DEL_RULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_DEL_RULE) == (1012), "AUDIT_DEL_RULE != 1012"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_DEL_RULE 1012 #endif -#if !(defined(AUDIT_LIST_RULES) || (defined(HAVE_DECL_AUDIT_LIST_RULES) && HAVE_DECL_AUDIT_LIST_RULES)) +#if defined(AUDIT_LIST_RULES) || (defined(HAVE_DECL_AUDIT_LIST_RULES) && HAVE_DECL_AUDIT_LIST_RULES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_LIST_RULES) == (1013), "AUDIT_LIST_RULES != 1013"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_LIST_RULES 1013 #endif -#if !(defined(AUDIT_TRIM) || (defined(HAVE_DECL_AUDIT_TRIM) && HAVE_DECL_AUDIT_TRIM)) +#if defined(AUDIT_TRIM) || (defined(HAVE_DECL_AUDIT_TRIM) && HAVE_DECL_AUDIT_TRIM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_TRIM) == (1014), "AUDIT_TRIM != 1014"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_TRIM 1014 #endif -#if !(defined(AUDIT_MAKE_EQUIV) || (defined(HAVE_DECL_AUDIT_MAKE_EQUIV) && HAVE_DECL_AUDIT_MAKE_EQUIV)) +#if defined(AUDIT_MAKE_EQUIV) || (defined(HAVE_DECL_AUDIT_MAKE_EQUIV) && HAVE_DECL_AUDIT_MAKE_EQUIV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAKE_EQUIV) == (1015), "AUDIT_MAKE_EQUIV != 1015"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAKE_EQUIV 1015 #endif -#if !(defined(AUDIT_TTY_GET) || (defined(HAVE_DECL_AUDIT_TTY_GET) && HAVE_DECL_AUDIT_TTY_GET)) +#if defined(AUDIT_TTY_GET) || (defined(HAVE_DECL_AUDIT_TTY_GET) && HAVE_DECL_AUDIT_TTY_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_TTY_GET) == (1016), "AUDIT_TTY_GET != 1016"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_TTY_GET 1016 #endif -#if !(defined(AUDIT_TTY_SET) || (defined(HAVE_DECL_AUDIT_TTY_SET) && HAVE_DECL_AUDIT_TTY_SET)) +#if defined(AUDIT_TTY_SET) || (defined(HAVE_DECL_AUDIT_TTY_SET) && HAVE_DECL_AUDIT_TTY_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_TTY_SET) == (1017), "AUDIT_TTY_SET != 1017"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_TTY_SET 1017 #endif -#if !(defined(AUDIT_SET_FEATURE) || (defined(HAVE_DECL_AUDIT_SET_FEATURE) && HAVE_DECL_AUDIT_SET_FEATURE)) +#if defined(AUDIT_SET_FEATURE) || (defined(HAVE_DECL_AUDIT_SET_FEATURE) && HAVE_DECL_AUDIT_SET_FEATURE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_SET_FEATURE) == (1018), "AUDIT_SET_FEATURE != 1018"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_SET_FEATURE 1018 #endif -#if !(defined(AUDIT_GET_FEATURE) || (defined(HAVE_DECL_AUDIT_GET_FEATURE) && HAVE_DECL_AUDIT_GET_FEATURE)) +#if defined(AUDIT_GET_FEATURE) || (defined(HAVE_DECL_AUDIT_GET_FEATURE) && HAVE_DECL_AUDIT_GET_FEATURE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_GET_FEATURE) == (1019), "AUDIT_GET_FEATURE != 1019"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_GET_FEATURE 1019 #endif -#if !(defined(AUDIT_FIRST_USER_MSG) || (defined(HAVE_DECL_AUDIT_FIRST_USER_MSG) && HAVE_DECL_AUDIT_FIRST_USER_MSG)) +#if defined(AUDIT_FIRST_USER_MSG) || (defined(HAVE_DECL_AUDIT_FIRST_USER_MSG) && HAVE_DECL_AUDIT_FIRST_USER_MSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_FIRST_USER_MSG) == (1100), "AUDIT_FIRST_USER_MSG != 1100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_FIRST_USER_MSG 1100 #endif -#if !(defined(AUDIT_USER_AVC) || (defined(HAVE_DECL_AUDIT_USER_AVC) && HAVE_DECL_AUDIT_USER_AVC)) +#if defined(AUDIT_USER_AVC) || (defined(HAVE_DECL_AUDIT_USER_AVC) && HAVE_DECL_AUDIT_USER_AVC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_USER_AVC) == (1107), "AUDIT_USER_AVC != 1107"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_USER_AVC 1107 #endif -#if !(defined(AUDIT_USER_TTY) || (defined(HAVE_DECL_AUDIT_USER_TTY) && HAVE_DECL_AUDIT_USER_TTY)) +#if defined(AUDIT_USER_TTY) || (defined(HAVE_DECL_AUDIT_USER_TTY) && HAVE_DECL_AUDIT_USER_TTY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_USER_TTY) == (1124), "AUDIT_USER_TTY != 1124"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_USER_TTY 1124 #endif -#if !(defined(AUDIT_LAST_USER_MSG) || (defined(HAVE_DECL_AUDIT_LAST_USER_MSG) && HAVE_DECL_AUDIT_LAST_USER_MSG)) +#if defined(AUDIT_LAST_USER_MSG) || (defined(HAVE_DECL_AUDIT_LAST_USER_MSG) && HAVE_DECL_AUDIT_LAST_USER_MSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_LAST_USER_MSG) == (1199), "AUDIT_LAST_USER_MSG != 1199"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_LAST_USER_MSG 1199 #endif -#if !(defined(AUDIT_DAEMON_START) || (defined(HAVE_DECL_AUDIT_DAEMON_START) && HAVE_DECL_AUDIT_DAEMON_START)) +#if defined(AUDIT_DAEMON_START) || (defined(HAVE_DECL_AUDIT_DAEMON_START) && HAVE_DECL_AUDIT_DAEMON_START) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_DAEMON_START) == (1200), "AUDIT_DAEMON_START != 1200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_DAEMON_START 1200 #endif -#if !(defined(AUDIT_DAEMON_END) || (defined(HAVE_DECL_AUDIT_DAEMON_END) && HAVE_DECL_AUDIT_DAEMON_END)) +#if defined(AUDIT_DAEMON_END) || (defined(HAVE_DECL_AUDIT_DAEMON_END) && HAVE_DECL_AUDIT_DAEMON_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_DAEMON_END) == (1201), "AUDIT_DAEMON_END != 1201"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_DAEMON_END 1201 #endif -#if !(defined(AUDIT_DAEMON_ABORT) || (defined(HAVE_DECL_AUDIT_DAEMON_ABORT) && HAVE_DECL_AUDIT_DAEMON_ABORT)) +#if defined(AUDIT_DAEMON_ABORT) || (defined(HAVE_DECL_AUDIT_DAEMON_ABORT) && HAVE_DECL_AUDIT_DAEMON_ABORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_DAEMON_ABORT) == (1202), "AUDIT_DAEMON_ABORT != 1202"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_DAEMON_ABORT 1202 #endif -#if !(defined(AUDIT_DAEMON_CONFIG) || (defined(HAVE_DECL_AUDIT_DAEMON_CONFIG) && HAVE_DECL_AUDIT_DAEMON_CONFIG)) +#if defined(AUDIT_DAEMON_CONFIG) || (defined(HAVE_DECL_AUDIT_DAEMON_CONFIG) && HAVE_DECL_AUDIT_DAEMON_CONFIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_DAEMON_CONFIG) == (1203), "AUDIT_DAEMON_CONFIG != 1203"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_DAEMON_CONFIG 1203 #endif -#if !(defined(AUDIT_SYSCALL) || (defined(HAVE_DECL_AUDIT_SYSCALL) && HAVE_DECL_AUDIT_SYSCALL)) +#if defined(AUDIT_SYSCALL) || (defined(HAVE_DECL_AUDIT_SYSCALL) && HAVE_DECL_AUDIT_SYSCALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_SYSCALL) == (1300), "AUDIT_SYSCALL != 1300"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_SYSCALL 1300 #endif -#if !(defined(AUDIT_FS_WATCH) || (defined(HAVE_DECL_AUDIT_FS_WATCH) && HAVE_DECL_AUDIT_FS_WATCH)) +#if defined(AUDIT_FS_WATCH) || (defined(HAVE_DECL_AUDIT_FS_WATCH) && HAVE_DECL_AUDIT_FS_WATCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_FS_WATCH) == (1301), "AUDIT_FS_WATCH != 1301"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_FS_WATCH 1301 #endif -#if !(defined(AUDIT_PATH) || (defined(HAVE_DECL_AUDIT_PATH) && HAVE_DECL_AUDIT_PATH)) +#if defined(AUDIT_PATH) || (defined(HAVE_DECL_AUDIT_PATH) && HAVE_DECL_AUDIT_PATH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_PATH) == (1302), "AUDIT_PATH != 1302"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_PATH 1302 #endif -#if !(defined(AUDIT_IPC) || (defined(HAVE_DECL_AUDIT_IPC) && HAVE_DECL_AUDIT_IPC)) +#if defined(AUDIT_IPC) || (defined(HAVE_DECL_AUDIT_IPC) && HAVE_DECL_AUDIT_IPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_IPC) == (1303), "AUDIT_IPC != 1303"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_IPC 1303 #endif -#if !(defined(AUDIT_SOCKETCALL) || (defined(HAVE_DECL_AUDIT_SOCKETCALL) && HAVE_DECL_AUDIT_SOCKETCALL)) +#if defined(AUDIT_SOCKETCALL) || (defined(HAVE_DECL_AUDIT_SOCKETCALL) && HAVE_DECL_AUDIT_SOCKETCALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_SOCKETCALL) == (1304), "AUDIT_SOCKETCALL != 1304"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_SOCKETCALL 1304 #endif -#if !(defined(AUDIT_CONFIG_CHANGE) || (defined(HAVE_DECL_AUDIT_CONFIG_CHANGE) && HAVE_DECL_AUDIT_CONFIG_CHANGE)) +#if defined(AUDIT_CONFIG_CHANGE) || (defined(HAVE_DECL_AUDIT_CONFIG_CHANGE) && HAVE_DECL_AUDIT_CONFIG_CHANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_CONFIG_CHANGE) == (1305), "AUDIT_CONFIG_CHANGE != 1305"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_CONFIG_CHANGE 1305 #endif -#if !(defined(AUDIT_SOCKADDR) || (defined(HAVE_DECL_AUDIT_SOCKADDR) && HAVE_DECL_AUDIT_SOCKADDR)) +#if defined(AUDIT_SOCKADDR) || (defined(HAVE_DECL_AUDIT_SOCKADDR) && HAVE_DECL_AUDIT_SOCKADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_SOCKADDR) == (1306), "AUDIT_SOCKADDR != 1306"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_SOCKADDR 1306 #endif -#if !(defined(AUDIT_CWD) || (defined(HAVE_DECL_AUDIT_CWD) && HAVE_DECL_AUDIT_CWD)) +#if defined(AUDIT_CWD) || (defined(HAVE_DECL_AUDIT_CWD) && HAVE_DECL_AUDIT_CWD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_CWD) == (1307), "AUDIT_CWD != 1307"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_CWD 1307 #endif -#if !(defined(AUDIT_EXECVE) || (defined(HAVE_DECL_AUDIT_EXECVE) && HAVE_DECL_AUDIT_EXECVE)) +#if defined(AUDIT_EXECVE) || (defined(HAVE_DECL_AUDIT_EXECVE) && HAVE_DECL_AUDIT_EXECVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_EXECVE) == (1309), "AUDIT_EXECVE != 1309"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_EXECVE 1309 #endif -#if !(defined(AUDIT_IPC_SET_PERM) || (defined(HAVE_DECL_AUDIT_IPC_SET_PERM) && HAVE_DECL_AUDIT_IPC_SET_PERM)) +#if defined(AUDIT_IPC_SET_PERM) || (defined(HAVE_DECL_AUDIT_IPC_SET_PERM) && HAVE_DECL_AUDIT_IPC_SET_PERM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_IPC_SET_PERM) == (1311), "AUDIT_IPC_SET_PERM != 1311"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_IPC_SET_PERM 1311 #endif -#if !(defined(AUDIT_MQ_OPEN) || (defined(HAVE_DECL_AUDIT_MQ_OPEN) && HAVE_DECL_AUDIT_MQ_OPEN)) +#if defined(AUDIT_MQ_OPEN) || (defined(HAVE_DECL_AUDIT_MQ_OPEN) && HAVE_DECL_AUDIT_MQ_OPEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MQ_OPEN) == (1312), "AUDIT_MQ_OPEN != 1312"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MQ_OPEN 1312 #endif -#if !(defined(AUDIT_MQ_SENDRECV) || (defined(HAVE_DECL_AUDIT_MQ_SENDRECV) && HAVE_DECL_AUDIT_MQ_SENDRECV)) +#if defined(AUDIT_MQ_SENDRECV) || (defined(HAVE_DECL_AUDIT_MQ_SENDRECV) && HAVE_DECL_AUDIT_MQ_SENDRECV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MQ_SENDRECV) == (1313), "AUDIT_MQ_SENDRECV != 1313"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MQ_SENDRECV 1313 #endif -#if !(defined(AUDIT_MQ_NOTIFY) || (defined(HAVE_DECL_AUDIT_MQ_NOTIFY) && HAVE_DECL_AUDIT_MQ_NOTIFY)) +#if defined(AUDIT_MQ_NOTIFY) || (defined(HAVE_DECL_AUDIT_MQ_NOTIFY) && HAVE_DECL_AUDIT_MQ_NOTIFY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MQ_NOTIFY) == (1314), "AUDIT_MQ_NOTIFY != 1314"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MQ_NOTIFY 1314 #endif -#if !(defined(AUDIT_MQ_GETSETATTR) || (defined(HAVE_DECL_AUDIT_MQ_GETSETATTR) && HAVE_DECL_AUDIT_MQ_GETSETATTR)) +#if defined(AUDIT_MQ_GETSETATTR) || (defined(HAVE_DECL_AUDIT_MQ_GETSETATTR) && HAVE_DECL_AUDIT_MQ_GETSETATTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MQ_GETSETATTR) == (1315), "AUDIT_MQ_GETSETATTR != 1315"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MQ_GETSETATTR 1315 #endif -#if !(defined(AUDIT_KERNEL_OTHER) || (defined(HAVE_DECL_AUDIT_KERNEL_OTHER) && HAVE_DECL_AUDIT_KERNEL_OTHER)) +#if defined(AUDIT_KERNEL_OTHER) || (defined(HAVE_DECL_AUDIT_KERNEL_OTHER) && HAVE_DECL_AUDIT_KERNEL_OTHER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_KERNEL_OTHER) == (1316), "AUDIT_KERNEL_OTHER != 1316"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_KERNEL_OTHER 1316 #endif -#if !(defined(AUDIT_FD_PAIR) || (defined(HAVE_DECL_AUDIT_FD_PAIR) && HAVE_DECL_AUDIT_FD_PAIR)) +#if defined(AUDIT_FD_PAIR) || (defined(HAVE_DECL_AUDIT_FD_PAIR) && HAVE_DECL_AUDIT_FD_PAIR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_FD_PAIR) == (1317), "AUDIT_FD_PAIR != 1317"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_FD_PAIR 1317 #endif -#if !(defined(AUDIT_OBJ_PID) || (defined(HAVE_DECL_AUDIT_OBJ_PID) && HAVE_DECL_AUDIT_OBJ_PID)) +#if defined(AUDIT_OBJ_PID) || (defined(HAVE_DECL_AUDIT_OBJ_PID) && HAVE_DECL_AUDIT_OBJ_PID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_OBJ_PID) == (1318), "AUDIT_OBJ_PID != 1318"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_OBJ_PID 1318 #endif -#if !(defined(AUDIT_TTY) || (defined(HAVE_DECL_AUDIT_TTY) && HAVE_DECL_AUDIT_TTY)) +#if defined(AUDIT_TTY) || (defined(HAVE_DECL_AUDIT_TTY) && HAVE_DECL_AUDIT_TTY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_TTY) == (1319), "AUDIT_TTY != 1319"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_TTY 1319 #endif -#if !(defined(AUDIT_EOE) || (defined(HAVE_DECL_AUDIT_EOE) && HAVE_DECL_AUDIT_EOE)) +#if defined(AUDIT_EOE) || (defined(HAVE_DECL_AUDIT_EOE) && HAVE_DECL_AUDIT_EOE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_EOE) == (1320), "AUDIT_EOE != 1320"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_EOE 1320 #endif -#if !(defined(AUDIT_BPRM_FCAPS) || (defined(HAVE_DECL_AUDIT_BPRM_FCAPS) && HAVE_DECL_AUDIT_BPRM_FCAPS)) +#if defined(AUDIT_BPRM_FCAPS) || (defined(HAVE_DECL_AUDIT_BPRM_FCAPS) && HAVE_DECL_AUDIT_BPRM_FCAPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_BPRM_FCAPS) == (1321), "AUDIT_BPRM_FCAPS != 1321"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_BPRM_FCAPS 1321 #endif -#if !(defined(AUDIT_CAPSET) || (defined(HAVE_DECL_AUDIT_CAPSET) && HAVE_DECL_AUDIT_CAPSET)) +#if defined(AUDIT_CAPSET) || (defined(HAVE_DECL_AUDIT_CAPSET) && HAVE_DECL_AUDIT_CAPSET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_CAPSET) == (1322), "AUDIT_CAPSET != 1322"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_CAPSET 1322 #endif -#if !(defined(AUDIT_MMAP) || (defined(HAVE_DECL_AUDIT_MMAP) && HAVE_DECL_AUDIT_MMAP)) +#if defined(AUDIT_MMAP) || (defined(HAVE_DECL_AUDIT_MMAP) && HAVE_DECL_AUDIT_MMAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MMAP) == (1323), "AUDIT_MMAP != 1323"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MMAP 1323 #endif -#if !(defined(AUDIT_NETFILTER_PKT) || (defined(HAVE_DECL_AUDIT_NETFILTER_PKT) && HAVE_DECL_AUDIT_NETFILTER_PKT)) +#if defined(AUDIT_NETFILTER_PKT) || (defined(HAVE_DECL_AUDIT_NETFILTER_PKT) && HAVE_DECL_AUDIT_NETFILTER_PKT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_NETFILTER_PKT) == (1324), "AUDIT_NETFILTER_PKT != 1324"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_NETFILTER_PKT 1324 #endif -#if !(defined(AUDIT_NETFILTER_CFG) || (defined(HAVE_DECL_AUDIT_NETFILTER_CFG) && HAVE_DECL_AUDIT_NETFILTER_CFG)) +#if defined(AUDIT_NETFILTER_CFG) || (defined(HAVE_DECL_AUDIT_NETFILTER_CFG) && HAVE_DECL_AUDIT_NETFILTER_CFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_NETFILTER_CFG) == (1325), "AUDIT_NETFILTER_CFG != 1325"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_NETFILTER_CFG 1325 #endif -#if !(defined(AUDIT_SECCOMP) || (defined(HAVE_DECL_AUDIT_SECCOMP) && HAVE_DECL_AUDIT_SECCOMP)) +#if defined(AUDIT_SECCOMP) || (defined(HAVE_DECL_AUDIT_SECCOMP) && HAVE_DECL_AUDIT_SECCOMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_SECCOMP) == (1326), "AUDIT_SECCOMP != 1326"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_SECCOMP 1326 #endif -#if !(defined(AUDIT_PROCTITLE) || (defined(HAVE_DECL_AUDIT_PROCTITLE) && HAVE_DECL_AUDIT_PROCTITLE)) +#if defined(AUDIT_PROCTITLE) || (defined(HAVE_DECL_AUDIT_PROCTITLE) && HAVE_DECL_AUDIT_PROCTITLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_PROCTITLE) == (1327), "AUDIT_PROCTITLE != 1327"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_PROCTITLE 1327 #endif -#if !(defined(AUDIT_FEATURE_CHANGE) || (defined(HAVE_DECL_AUDIT_FEATURE_CHANGE) && HAVE_DECL_AUDIT_FEATURE_CHANGE)) +#ifndef STRACE_WORKAROUND_FOR_AUDIT_FEATURE_CHANGE +# define STRACE_WORKAROUND_FOR_AUDIT_FEATURE_CHANGE +# undef AUDIT_FEATURE_CHANGE +#endif +#if defined(AUDIT_FEATURE_CHANGE) || (defined(HAVE_DECL_AUDIT_FEATURE_CHANGE) && HAVE_DECL_AUDIT_FEATURE_CHANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_FEATURE_CHANGE) == (1328), "AUDIT_FEATURE_CHANGE != 1328"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_FEATURE_CHANGE 1328 #endif -#if !(defined(AUDIT_REPLACE) || (defined(HAVE_DECL_AUDIT_REPLACE) && HAVE_DECL_AUDIT_REPLACE)) +#if defined(AUDIT_REPLACE) || (defined(HAVE_DECL_AUDIT_REPLACE) && HAVE_DECL_AUDIT_REPLACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_REPLACE) == (1329), "AUDIT_REPLACE != 1329"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_REPLACE 1329 #endif -#if !(defined(AUDIT_KERN_MODULE) || (defined(HAVE_DECL_AUDIT_KERN_MODULE) && HAVE_DECL_AUDIT_KERN_MODULE)) +#if defined(AUDIT_KERN_MODULE) || (defined(HAVE_DECL_AUDIT_KERN_MODULE) && HAVE_DECL_AUDIT_KERN_MODULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_KERN_MODULE) == (1330), "AUDIT_KERN_MODULE != 1330"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_KERN_MODULE 1330 #endif -#if !(defined(AUDIT_AVC) || (defined(HAVE_DECL_AUDIT_AVC) && HAVE_DECL_AUDIT_AVC)) +#if defined(AUDIT_AVC) || (defined(HAVE_DECL_AUDIT_AVC) && HAVE_DECL_AUDIT_AVC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_AVC) == (1400), "AUDIT_AVC != 1400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_AVC 1400 #endif -#if !(defined(AUDIT_SELINUX_ERR) || (defined(HAVE_DECL_AUDIT_SELINUX_ERR) && HAVE_DECL_AUDIT_SELINUX_ERR)) +#if defined(AUDIT_SELINUX_ERR) || (defined(HAVE_DECL_AUDIT_SELINUX_ERR) && HAVE_DECL_AUDIT_SELINUX_ERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_SELINUX_ERR) == (1401), "AUDIT_SELINUX_ERR != 1401"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_SELINUX_ERR 1401 #endif -#if !(defined(AUDIT_AVC_PATH) || (defined(HAVE_DECL_AUDIT_AVC_PATH) && HAVE_DECL_AUDIT_AVC_PATH)) +#if defined(AUDIT_AVC_PATH) || (defined(HAVE_DECL_AUDIT_AVC_PATH) && HAVE_DECL_AUDIT_AVC_PATH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_AVC_PATH) == (1402), "AUDIT_AVC_PATH != 1402"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_AVC_PATH 1402 #endif -#if !(defined(AUDIT_MAC_POLICY_LOAD) || (defined(HAVE_DECL_AUDIT_MAC_POLICY_LOAD) && HAVE_DECL_AUDIT_MAC_POLICY_LOAD)) +#if defined(AUDIT_MAC_POLICY_LOAD) || (defined(HAVE_DECL_AUDIT_MAC_POLICY_LOAD) && HAVE_DECL_AUDIT_MAC_POLICY_LOAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_POLICY_LOAD) == (1403), "AUDIT_MAC_POLICY_LOAD != 1403"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_POLICY_LOAD 1403 #endif -#if !(defined(AUDIT_MAC_STATUS) || (defined(HAVE_DECL_AUDIT_MAC_STATUS) && HAVE_DECL_AUDIT_MAC_STATUS)) +#if defined(AUDIT_MAC_STATUS) || (defined(HAVE_DECL_AUDIT_MAC_STATUS) && HAVE_DECL_AUDIT_MAC_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_STATUS) == (1404), "AUDIT_MAC_STATUS != 1404"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_STATUS 1404 #endif -#if !(defined(AUDIT_MAC_CONFIG_CHANGE) || (defined(HAVE_DECL_AUDIT_MAC_CONFIG_CHANGE) && HAVE_DECL_AUDIT_MAC_CONFIG_CHANGE)) +#if defined(AUDIT_MAC_CONFIG_CHANGE) || (defined(HAVE_DECL_AUDIT_MAC_CONFIG_CHANGE) && HAVE_DECL_AUDIT_MAC_CONFIG_CHANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_CONFIG_CHANGE) == (1405), "AUDIT_MAC_CONFIG_CHANGE != 1405"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_CONFIG_CHANGE 1405 #endif -#if !(defined(AUDIT_MAC_UNLBL_ALLOW) || (defined(HAVE_DECL_AUDIT_MAC_UNLBL_ALLOW) && HAVE_DECL_AUDIT_MAC_UNLBL_ALLOW)) +#if defined(AUDIT_MAC_UNLBL_ALLOW) || (defined(HAVE_DECL_AUDIT_MAC_UNLBL_ALLOW) && HAVE_DECL_AUDIT_MAC_UNLBL_ALLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_UNLBL_ALLOW) == (1406), "AUDIT_MAC_UNLBL_ALLOW != 1406"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_UNLBL_ALLOW 1406 #endif -#if !(defined(AUDIT_MAC_CIPSOV4_ADD) || (defined(HAVE_DECL_AUDIT_MAC_CIPSOV4_ADD) && HAVE_DECL_AUDIT_MAC_CIPSOV4_ADD)) +#if defined(AUDIT_MAC_CIPSOV4_ADD) || (defined(HAVE_DECL_AUDIT_MAC_CIPSOV4_ADD) && HAVE_DECL_AUDIT_MAC_CIPSOV4_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_CIPSOV4_ADD) == (1407), "AUDIT_MAC_CIPSOV4_ADD != 1407"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_CIPSOV4_ADD 1407 #endif -#if !(defined(AUDIT_MAC_CIPSOV4_DEL) || (defined(HAVE_DECL_AUDIT_MAC_CIPSOV4_DEL) && HAVE_DECL_AUDIT_MAC_CIPSOV4_DEL)) +#if defined(AUDIT_MAC_CIPSOV4_DEL) || (defined(HAVE_DECL_AUDIT_MAC_CIPSOV4_DEL) && HAVE_DECL_AUDIT_MAC_CIPSOV4_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_CIPSOV4_DEL) == (1408), "AUDIT_MAC_CIPSOV4_DEL != 1408"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_CIPSOV4_DEL 1408 #endif -#if !(defined(AUDIT_MAC_MAP_ADD) || (defined(HAVE_DECL_AUDIT_MAC_MAP_ADD) && HAVE_DECL_AUDIT_MAC_MAP_ADD)) +#if defined(AUDIT_MAC_MAP_ADD) || (defined(HAVE_DECL_AUDIT_MAC_MAP_ADD) && HAVE_DECL_AUDIT_MAC_MAP_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_MAP_ADD) == (1409), "AUDIT_MAC_MAP_ADD != 1409"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_MAP_ADD 1409 #endif -#if !(defined(AUDIT_MAC_MAP_DEL) || (defined(HAVE_DECL_AUDIT_MAC_MAP_DEL) && HAVE_DECL_AUDIT_MAC_MAP_DEL)) +#if defined(AUDIT_MAC_MAP_DEL) || (defined(HAVE_DECL_AUDIT_MAC_MAP_DEL) && HAVE_DECL_AUDIT_MAC_MAP_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_MAP_DEL) == (1410), "AUDIT_MAC_MAP_DEL != 1410"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_MAP_DEL 1410 #endif -#if !(defined(AUDIT_MAC_IPSEC_ADDSA) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_ADDSA) && HAVE_DECL_AUDIT_MAC_IPSEC_ADDSA)) +#if defined(AUDIT_MAC_IPSEC_ADDSA) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_ADDSA) && HAVE_DECL_AUDIT_MAC_IPSEC_ADDSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_IPSEC_ADDSA) == (1411), "AUDIT_MAC_IPSEC_ADDSA != 1411"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_IPSEC_ADDSA 1411 #endif -#if !(defined(AUDIT_MAC_IPSEC_DELSA) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_DELSA) && HAVE_DECL_AUDIT_MAC_IPSEC_DELSA)) +#if defined(AUDIT_MAC_IPSEC_DELSA) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_DELSA) && HAVE_DECL_AUDIT_MAC_IPSEC_DELSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_IPSEC_DELSA) == (1412), "AUDIT_MAC_IPSEC_DELSA != 1412"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_IPSEC_DELSA 1412 #endif -#if !(defined(AUDIT_MAC_IPSEC_ADDSPD) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_ADDSPD) && HAVE_DECL_AUDIT_MAC_IPSEC_ADDSPD)) +#if defined(AUDIT_MAC_IPSEC_ADDSPD) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_ADDSPD) && HAVE_DECL_AUDIT_MAC_IPSEC_ADDSPD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_IPSEC_ADDSPD) == (1413), "AUDIT_MAC_IPSEC_ADDSPD != 1413"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_IPSEC_ADDSPD 1413 #endif -#if !(defined(AUDIT_MAC_IPSEC_DELSPD) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_DELSPD) && HAVE_DECL_AUDIT_MAC_IPSEC_DELSPD)) +#if defined(AUDIT_MAC_IPSEC_DELSPD) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_DELSPD) && HAVE_DECL_AUDIT_MAC_IPSEC_DELSPD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_IPSEC_DELSPD) == (1414), "AUDIT_MAC_IPSEC_DELSPD != 1414"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_IPSEC_DELSPD 1414 #endif -#if !(defined(AUDIT_MAC_IPSEC_EVENT) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_EVENT) && HAVE_DECL_AUDIT_MAC_IPSEC_EVENT)) +#if defined(AUDIT_MAC_IPSEC_EVENT) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_EVENT) && HAVE_DECL_AUDIT_MAC_IPSEC_EVENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_IPSEC_EVENT) == (1415), "AUDIT_MAC_IPSEC_EVENT != 1415"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_IPSEC_EVENT 1415 #endif -#if !(defined(AUDIT_MAC_UNLBL_STCADD) || (defined(HAVE_DECL_AUDIT_MAC_UNLBL_STCADD) && HAVE_DECL_AUDIT_MAC_UNLBL_STCADD)) +#if defined(AUDIT_MAC_UNLBL_STCADD) || (defined(HAVE_DECL_AUDIT_MAC_UNLBL_STCADD) && HAVE_DECL_AUDIT_MAC_UNLBL_STCADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_UNLBL_STCADD) == (1416), "AUDIT_MAC_UNLBL_STCADD != 1416"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_UNLBL_STCADD 1416 #endif -#if !(defined(AUDIT_MAC_UNLBL_STCDEL) || (defined(HAVE_DECL_AUDIT_MAC_UNLBL_STCDEL) && HAVE_DECL_AUDIT_MAC_UNLBL_STCDEL)) +#if defined(AUDIT_MAC_UNLBL_STCDEL) || (defined(HAVE_DECL_AUDIT_MAC_UNLBL_STCDEL) && HAVE_DECL_AUDIT_MAC_UNLBL_STCDEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_UNLBL_STCDEL) == (1417), "AUDIT_MAC_UNLBL_STCDEL != 1417"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_UNLBL_STCDEL 1417 #endif -#if !(defined(AUDIT_MAC_CALIPSO_ADD) || (defined(HAVE_DECL_AUDIT_MAC_CALIPSO_ADD) && HAVE_DECL_AUDIT_MAC_CALIPSO_ADD)) +#if defined(AUDIT_MAC_CALIPSO_ADD) || (defined(HAVE_DECL_AUDIT_MAC_CALIPSO_ADD) && HAVE_DECL_AUDIT_MAC_CALIPSO_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_CALIPSO_ADD) == (1418), "AUDIT_MAC_CALIPSO_ADD != 1418"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_CALIPSO_ADD 1418 #endif -#if !(defined(AUDIT_MAC_CALIPSO_DEL) || (defined(HAVE_DECL_AUDIT_MAC_CALIPSO_DEL) && HAVE_DECL_AUDIT_MAC_CALIPSO_DEL)) +#if defined(AUDIT_MAC_CALIPSO_DEL) || (defined(HAVE_DECL_AUDIT_MAC_CALIPSO_DEL) && HAVE_DECL_AUDIT_MAC_CALIPSO_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_MAC_CALIPSO_DEL) == (1419), "AUDIT_MAC_CALIPSO_DEL != 1419"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_MAC_CALIPSO_DEL 1419 #endif -#if !(defined(AUDIT_ANOM_PROMISCUOUS) || (defined(HAVE_DECL_AUDIT_ANOM_PROMISCUOUS) && HAVE_DECL_AUDIT_ANOM_PROMISCUOUS)) +#if defined(AUDIT_ANOM_PROMISCUOUS) || (defined(HAVE_DECL_AUDIT_ANOM_PROMISCUOUS) && HAVE_DECL_AUDIT_ANOM_PROMISCUOUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_ANOM_PROMISCUOUS) == (1700), "AUDIT_ANOM_PROMISCUOUS != 1700"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_ANOM_PROMISCUOUS 1700 #endif -#if !(defined(AUDIT_ANOM_ABEND) || (defined(HAVE_DECL_AUDIT_ANOM_ABEND) && HAVE_DECL_AUDIT_ANOM_ABEND)) +#if defined(AUDIT_ANOM_ABEND) || (defined(HAVE_DECL_AUDIT_ANOM_ABEND) && HAVE_DECL_AUDIT_ANOM_ABEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_ANOM_ABEND) == (1701), "AUDIT_ANOM_ABEND != 1701"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_ANOM_ABEND 1701 #endif -#if !(defined(AUDIT_ANOM_LINK) || (defined(HAVE_DECL_AUDIT_ANOM_LINK) && HAVE_DECL_AUDIT_ANOM_LINK)) +#if defined(AUDIT_ANOM_LINK) || (defined(HAVE_DECL_AUDIT_ANOM_LINK) && HAVE_DECL_AUDIT_ANOM_LINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_ANOM_LINK) == (1702), "AUDIT_ANOM_LINK != 1702"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_ANOM_LINK 1702 #endif -#if !(defined(AUDIT_LAST_KERN_ANOM_MSG) || (defined(HAVE_DECL_AUDIT_LAST_KERN_ANOM_MSG) && HAVE_DECL_AUDIT_LAST_KERN_ANOM_MSG)) +#if defined(AUDIT_LAST_KERN_ANOM_MSG) || (defined(HAVE_DECL_AUDIT_LAST_KERN_ANOM_MSG) && HAVE_DECL_AUDIT_LAST_KERN_ANOM_MSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_LAST_KERN_ANOM_MSG) == (1799), "AUDIT_LAST_KERN_ANOM_MSG != 1799"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_LAST_KERN_ANOM_MSG 1799 #endif -#if !(defined(AUDIT_INTEGRITY_DATA) || (defined(HAVE_DECL_AUDIT_INTEGRITY_DATA) && HAVE_DECL_AUDIT_INTEGRITY_DATA)) +#if defined(AUDIT_INTEGRITY_DATA) || (defined(HAVE_DECL_AUDIT_INTEGRITY_DATA) && HAVE_DECL_AUDIT_INTEGRITY_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_INTEGRITY_DATA) == (1800), "AUDIT_INTEGRITY_DATA != 1800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_INTEGRITY_DATA 1800 #endif -#if !(defined(AUDIT_INTEGRITY_METADATA) || (defined(HAVE_DECL_AUDIT_INTEGRITY_METADATA) && HAVE_DECL_AUDIT_INTEGRITY_METADATA)) +#if defined(AUDIT_INTEGRITY_METADATA) || (defined(HAVE_DECL_AUDIT_INTEGRITY_METADATA) && HAVE_DECL_AUDIT_INTEGRITY_METADATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_INTEGRITY_METADATA) == (1801), "AUDIT_INTEGRITY_METADATA != 1801"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_INTEGRITY_METADATA 1801 #endif -#if !(defined(AUDIT_INTEGRITY_STATUS) || (defined(HAVE_DECL_AUDIT_INTEGRITY_STATUS) && HAVE_DECL_AUDIT_INTEGRITY_STATUS)) +#if defined(AUDIT_INTEGRITY_STATUS) || (defined(HAVE_DECL_AUDIT_INTEGRITY_STATUS) && HAVE_DECL_AUDIT_INTEGRITY_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_INTEGRITY_STATUS) == (1802), "AUDIT_INTEGRITY_STATUS != 1802"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_INTEGRITY_STATUS 1802 #endif -#if !(defined(AUDIT_INTEGRITY_HASH) || (defined(HAVE_DECL_AUDIT_INTEGRITY_HASH) && HAVE_DECL_AUDIT_INTEGRITY_HASH)) +#if defined(AUDIT_INTEGRITY_HASH) || (defined(HAVE_DECL_AUDIT_INTEGRITY_HASH) && HAVE_DECL_AUDIT_INTEGRITY_HASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_INTEGRITY_HASH) == (1803), "AUDIT_INTEGRITY_HASH != 1803"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_INTEGRITY_HASH 1803 #endif -#if !(defined(AUDIT_INTEGRITY_PCR) || (defined(HAVE_DECL_AUDIT_INTEGRITY_PCR) && HAVE_DECL_AUDIT_INTEGRITY_PCR)) +#if defined(AUDIT_INTEGRITY_PCR) || (defined(HAVE_DECL_AUDIT_INTEGRITY_PCR) && HAVE_DECL_AUDIT_INTEGRITY_PCR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_INTEGRITY_PCR) == (1804), "AUDIT_INTEGRITY_PCR != 1804"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_INTEGRITY_PCR 1804 #endif -#if !(defined(AUDIT_INTEGRITY_RULE) || (defined(HAVE_DECL_AUDIT_INTEGRITY_RULE) && HAVE_DECL_AUDIT_INTEGRITY_RULE)) +#if defined(AUDIT_INTEGRITY_RULE) || (defined(HAVE_DECL_AUDIT_INTEGRITY_RULE) && HAVE_DECL_AUDIT_INTEGRITY_RULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_INTEGRITY_RULE) == (1805), "AUDIT_INTEGRITY_RULE != 1805"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_INTEGRITY_RULE 1805 #endif -#if !(defined(AUDIT_KERNEL) || (defined(HAVE_DECL_AUDIT_KERNEL) && HAVE_DECL_AUDIT_KERNEL)) +#if defined(AUDIT_KERNEL) || (defined(HAVE_DECL_AUDIT_KERNEL) && HAVE_DECL_AUDIT_KERNEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_KERNEL) == (2000), "AUDIT_KERNEL != 2000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_KERNEL 2000 #endif -#if !(defined(AUDIT_FIRST_USER_MSG2) || (defined(HAVE_DECL_AUDIT_FIRST_USER_MSG2) && HAVE_DECL_AUDIT_FIRST_USER_MSG2)) +#if defined(AUDIT_FIRST_USER_MSG2) || (defined(HAVE_DECL_AUDIT_FIRST_USER_MSG2) && HAVE_DECL_AUDIT_FIRST_USER_MSG2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_FIRST_USER_MSG2) == (2100), "AUDIT_FIRST_USER_MSG2 != 2100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_FIRST_USER_MSG2 2100 #endif -#if !(defined(AUDIT_LAST_USER_MSG2) || (defined(HAVE_DECL_AUDIT_LAST_USER_MSG2) && HAVE_DECL_AUDIT_LAST_USER_MSG2)) +#if defined(AUDIT_LAST_USER_MSG2) || (defined(HAVE_DECL_AUDIT_LAST_USER_MSG2) && HAVE_DECL_AUDIT_LAST_USER_MSG2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((AUDIT_LAST_USER_MSG2) == (2999), "AUDIT_LAST_USER_MSG2 != 2999"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define AUDIT_LAST_USER_MSG2 2999 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nl_audit_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nl_audit_types in mpers mode + +# else static const struct xlat nl_audit_types[] = { @@ -335,7 +705,24 @@ const struct xlat nl_audit_types[] = { XLAT(AUDIT_NETFILTER_CFG), XLAT(AUDIT_SECCOMP), XLAT(AUDIT_PROCTITLE), + +#ifndef STRACE_WORKAROUND_FOR_AUDIT_FEATURE_CHANGE +# define STRACE_WORKAROUND_FOR_AUDIT_FEATURE_CHANGE +/* +* Linux kernel commit v3.15-rc1~18^2~1 has changed the value +* of AUDIT_FEATURE_CHANGE constant introduced by commit v3.13-rc1~19^2~20 +* which is of course an ABI breakage that affected 3.13 and 3.14 kernel +* releases as well as their LTS derivatives. +* Linux kernel commit v3.15-rc1~18^2~1 also claims that the old value +* of AUDIT_FEATURE_CHANGE was ignored by userspace because of the established +* convention how netlink messages for the audit system are divided into blocks. +* Looks like the best way to handle this situation is to pretend that +* the old value of AUDIT_FEATURE_CHANGE didn't exist. +*/ +# undef AUDIT_FEATURE_CHANGE +#endif XLAT(AUDIT_FEATURE_CHANGE), + XLAT(AUDIT_REPLACE), XLAT(AUDIT_KERN_MODULE), @@ -379,4 +766,6 @@ const struct xlat nl_audit_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nl_audit_types.in b/xlat/nl_audit_types.in index 8b52010e..f03dd018 100644 --- a/xlat/nl_audit_types.in +++ b/xlat/nl_audit_types.in @@ -55,7 +55,24 @@ AUDIT_NETFILTER_PKT 1324 AUDIT_NETFILTER_CFG 1325 AUDIT_SECCOMP 1326 AUDIT_PROCTITLE 1327 + +#ifndef STRACE_WORKAROUND_FOR_AUDIT_FEATURE_CHANGE +# define STRACE_WORKAROUND_FOR_AUDIT_FEATURE_CHANGE +/* + * Linux kernel commit v3.15-rc1~18^2~1 has changed the value + * of AUDIT_FEATURE_CHANGE constant introduced by commit v3.13-rc1~19^2~20 + * which is of course an ABI breakage that affected 3.13 and 3.14 kernel + * releases as well as their LTS derivatives. + * Linux kernel commit v3.15-rc1~18^2~1 also claims that the old value + * of AUDIT_FEATURE_CHANGE was ignored by userspace because of the established + * convention how netlink messages for the audit system are divided into blocks. + * Looks like the best way to handle this situation is to pretend that + * the old value of AUDIT_FEATURE_CHANGE didn't exist. + */ +# undef AUDIT_FEATURE_CHANGE +#endif AUDIT_FEATURE_CHANGE 1328 + AUDIT_REPLACE 1329 AUDIT_KERN_MODULE 1330 diff --git a/xlat/nl_crypto_types.h b/xlat/nl_crypto_types.h index 4e15ec6e..87b6a68f 100644 --- a/xlat/nl_crypto_types.h +++ b/xlat/nl_crypto_types.h @@ -1,25 +1,51 @@ /* Generated by ./xlat/gen.sh from ./xlat/nl_crypto_types.in; do not edit. */ -#if !(defined(CRYPTO_MSG_NEWALG) || (defined(HAVE_DECL_CRYPTO_MSG_NEWALG) && HAVE_DECL_CRYPTO_MSG_NEWALG)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(CRYPTO_MSG_NEWALG) || (defined(HAVE_DECL_CRYPTO_MSG_NEWALG) && HAVE_DECL_CRYPTO_MSG_NEWALG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTO_MSG_NEWALG) == (0x10), "CRYPTO_MSG_NEWALG != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTO_MSG_NEWALG 0x10 #endif -#if !(defined(CRYPTO_MSG_DELALG) || (defined(HAVE_DECL_CRYPTO_MSG_DELALG) && HAVE_DECL_CRYPTO_MSG_DELALG)) +#if defined(CRYPTO_MSG_DELALG) || (defined(HAVE_DECL_CRYPTO_MSG_DELALG) && HAVE_DECL_CRYPTO_MSG_DELALG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTO_MSG_DELALG) == (0x11), "CRYPTO_MSG_DELALG != 0x11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTO_MSG_DELALG 0x11 #endif -#if !(defined(CRYPTO_MSG_UPDATEALG) || (defined(HAVE_DECL_CRYPTO_MSG_UPDATEALG) && HAVE_DECL_CRYPTO_MSG_UPDATEALG)) +#if defined(CRYPTO_MSG_UPDATEALG) || (defined(HAVE_DECL_CRYPTO_MSG_UPDATEALG) && HAVE_DECL_CRYPTO_MSG_UPDATEALG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTO_MSG_UPDATEALG) == (0x12), "CRYPTO_MSG_UPDATEALG != 0x12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTO_MSG_UPDATEALG 0x12 #endif -#if !(defined(CRYPTO_MSG_GETALG) || (defined(HAVE_DECL_CRYPTO_MSG_GETALG) && HAVE_DECL_CRYPTO_MSG_GETALG)) +#if defined(CRYPTO_MSG_GETALG) || (defined(HAVE_DECL_CRYPTO_MSG_GETALG) && HAVE_DECL_CRYPTO_MSG_GETALG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTO_MSG_GETALG) == (0x13), "CRYPTO_MSG_GETALG != 0x13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTO_MSG_GETALG 0x13 #endif -#if !(defined(CRYPTO_MSG_DELRNG) || (defined(HAVE_DECL_CRYPTO_MSG_DELRNG) && HAVE_DECL_CRYPTO_MSG_DELRNG)) +#if defined(CRYPTO_MSG_DELRNG) || (defined(HAVE_DECL_CRYPTO_MSG_DELRNG) && HAVE_DECL_CRYPTO_MSG_DELRNG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CRYPTO_MSG_DELRNG) == (0x14), "CRYPTO_MSG_DELRNG != 0x14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CRYPTO_MSG_DELRNG 0x14 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nl_crypto_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nl_crypto_types in mpers mode + +# else static const struct xlat nl_crypto_types[] = { @@ -31,4 +57,6 @@ const struct xlat nl_crypto_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nl_netfilter_msg_types.h b/xlat/nl_netfilter_msg_types.h index 0614af4e..a92f1870 100644 --- a/xlat/nl_netfilter_msg_types.h +++ b/xlat/nl_netfilter_msg_types.h @@ -1,12 +1,26 @@ /* Generated by ./xlat/gen.sh from ./xlat/nl_netfilter_msg_types.in; do not edit. */ -#if !(defined(NFNL_MSG_BATCH_BEGIN) || (defined(HAVE_DECL_NFNL_MSG_BATCH_BEGIN) && HAVE_DECL_NFNL_MSG_BATCH_BEGIN)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFNL_MSG_BATCH_BEGIN) || (defined(HAVE_DECL_NFNL_MSG_BATCH_BEGIN) && HAVE_DECL_NFNL_MSG_BATCH_BEGIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_BATCH_BEGIN) == (0x10), "NFNL_MSG_BATCH_BEGIN != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_BATCH_BEGIN 0x10 #endif -#if !(defined(NFNL_MSG_BATCH_END) || (defined(HAVE_DECL_NFNL_MSG_BATCH_END) && HAVE_DECL_NFNL_MSG_BATCH_END)) +#if defined(NFNL_MSG_BATCH_END) || (defined(HAVE_DECL_NFNL_MSG_BATCH_END) && HAVE_DECL_NFNL_MSG_BATCH_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_MSG_BATCH_END) == (0x11), "NFNL_MSG_BATCH_END != 0x11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_MSG_BATCH_END 0x11 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat nl_netfilter_msg_types[] = { XLAT(NFNL_MSG_BATCH_BEGIN), @@ -14,4 +28,6 @@ const struct xlat nl_netfilter_msg_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nl_netfilter_subsys_ids.h b/xlat/nl_netfilter_subsys_ids.h index 3d3a7ba3..f6af1f3f 100644 --- a/xlat/nl_netfilter_subsys_ids.h +++ b/xlat/nl_netfilter_subsys_ids.h @@ -1,46 +1,100 @@ /* Generated by ./xlat/gen.sh from ./xlat/nl_netfilter_subsys_ids.in; do not edit. */ -#if !(defined(NFNL_SUBSYS_NONE) || (defined(HAVE_DECL_NFNL_SUBSYS_NONE) && HAVE_DECL_NFNL_SUBSYS_NONE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFNL_SUBSYS_NONE) || (defined(HAVE_DECL_NFNL_SUBSYS_NONE) && HAVE_DECL_NFNL_SUBSYS_NONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_NONE) == (0), "NFNL_SUBSYS_NONE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_NONE 0 #endif -#if !(defined(NFNL_SUBSYS_CTNETLINK) || (defined(HAVE_DECL_NFNL_SUBSYS_CTNETLINK) && HAVE_DECL_NFNL_SUBSYS_CTNETLINK)) +#if defined(NFNL_SUBSYS_CTNETLINK) || (defined(HAVE_DECL_NFNL_SUBSYS_CTNETLINK) && HAVE_DECL_NFNL_SUBSYS_CTNETLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_CTNETLINK) == (1), "NFNL_SUBSYS_CTNETLINK != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_CTNETLINK 1 #endif -#if !(defined(NFNL_SUBSYS_CTNETLINK_EXP) || (defined(HAVE_DECL_NFNL_SUBSYS_CTNETLINK_EXP) && HAVE_DECL_NFNL_SUBSYS_CTNETLINK_EXP)) +#if defined(NFNL_SUBSYS_CTNETLINK_EXP) || (defined(HAVE_DECL_NFNL_SUBSYS_CTNETLINK_EXP) && HAVE_DECL_NFNL_SUBSYS_CTNETLINK_EXP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_CTNETLINK_EXP) == (2), "NFNL_SUBSYS_CTNETLINK_EXP != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_CTNETLINK_EXP 2 #endif -#if !(defined(NFNL_SUBSYS_QUEUE) || (defined(HAVE_DECL_NFNL_SUBSYS_QUEUE) && HAVE_DECL_NFNL_SUBSYS_QUEUE)) +#if defined(NFNL_SUBSYS_QUEUE) || (defined(HAVE_DECL_NFNL_SUBSYS_QUEUE) && HAVE_DECL_NFNL_SUBSYS_QUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_QUEUE) == (3), "NFNL_SUBSYS_QUEUE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_QUEUE 3 #endif -#if !(defined(NFNL_SUBSYS_ULOG) || (defined(HAVE_DECL_NFNL_SUBSYS_ULOG) && HAVE_DECL_NFNL_SUBSYS_ULOG)) +#if defined(NFNL_SUBSYS_ULOG) || (defined(HAVE_DECL_NFNL_SUBSYS_ULOG) && HAVE_DECL_NFNL_SUBSYS_ULOG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_ULOG) == (4), "NFNL_SUBSYS_ULOG != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_ULOG 4 #endif -#if !(defined(NFNL_SUBSYS_OSF) || (defined(HAVE_DECL_NFNL_SUBSYS_OSF) && HAVE_DECL_NFNL_SUBSYS_OSF)) +#if defined(NFNL_SUBSYS_OSF) || (defined(HAVE_DECL_NFNL_SUBSYS_OSF) && HAVE_DECL_NFNL_SUBSYS_OSF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_OSF) == (5), "NFNL_SUBSYS_OSF != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_OSF 5 #endif -#if !(defined(NFNL_SUBSYS_IPSET) || (defined(HAVE_DECL_NFNL_SUBSYS_IPSET) && HAVE_DECL_NFNL_SUBSYS_IPSET)) +#if defined(NFNL_SUBSYS_IPSET) || (defined(HAVE_DECL_NFNL_SUBSYS_IPSET) && HAVE_DECL_NFNL_SUBSYS_IPSET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_IPSET) == (6), "NFNL_SUBSYS_IPSET != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_IPSET 6 #endif -#if !(defined(NFNL_SUBSYS_ACCT) || (defined(HAVE_DECL_NFNL_SUBSYS_ACCT) && HAVE_DECL_NFNL_SUBSYS_ACCT)) +#if defined(NFNL_SUBSYS_ACCT) || (defined(HAVE_DECL_NFNL_SUBSYS_ACCT) && HAVE_DECL_NFNL_SUBSYS_ACCT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_ACCT) == (7), "NFNL_SUBSYS_ACCT != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_ACCT 7 #endif -#if !(defined(NFNL_SUBSYS_CTNETLINK_TIMEOUT) || (defined(HAVE_DECL_NFNL_SUBSYS_CTNETLINK_TIMEOUT) && HAVE_DECL_NFNL_SUBSYS_CTNETLINK_TIMEOUT)) +#if defined(NFNL_SUBSYS_CTNETLINK_TIMEOUT) || (defined(HAVE_DECL_NFNL_SUBSYS_CTNETLINK_TIMEOUT) && HAVE_DECL_NFNL_SUBSYS_CTNETLINK_TIMEOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_CTNETLINK_TIMEOUT) == (8), "NFNL_SUBSYS_CTNETLINK_TIMEOUT != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_CTNETLINK_TIMEOUT 8 #endif -#if !(defined(NFNL_SUBSYS_CTHELPER) || (defined(HAVE_DECL_NFNL_SUBSYS_CTHELPER) && HAVE_DECL_NFNL_SUBSYS_CTHELPER)) +#if defined(NFNL_SUBSYS_CTHELPER) || (defined(HAVE_DECL_NFNL_SUBSYS_CTHELPER) && HAVE_DECL_NFNL_SUBSYS_CTHELPER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_CTHELPER) == (9), "NFNL_SUBSYS_CTHELPER != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_CTHELPER 9 #endif -#if !(defined(NFNL_SUBSYS_NFTABLES) || (defined(HAVE_DECL_NFNL_SUBSYS_NFTABLES) && HAVE_DECL_NFNL_SUBSYS_NFTABLES)) +#if defined(NFNL_SUBSYS_NFTABLES) || (defined(HAVE_DECL_NFNL_SUBSYS_NFTABLES) && HAVE_DECL_NFNL_SUBSYS_NFTABLES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_NFTABLES) == (10), "NFNL_SUBSYS_NFTABLES != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_NFTABLES 10 #endif -#if !(defined(NFNL_SUBSYS_NFT_COMPAT) || (defined(HAVE_DECL_NFNL_SUBSYS_NFT_COMPAT) && HAVE_DECL_NFNL_SUBSYS_NFT_COMPAT)) +#if defined(NFNL_SUBSYS_NFT_COMPAT) || (defined(HAVE_DECL_NFNL_SUBSYS_NFT_COMPAT) && HAVE_DECL_NFNL_SUBSYS_NFT_COMPAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFNL_SUBSYS_NFT_COMPAT) == (11), "NFNL_SUBSYS_NFT_COMPAT != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NFNL_SUBSYS_NFT_COMPAT 11 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nl_netfilter_subsys_ids in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nl_netfilter_subsys_ids in mpers mode + +# else static const struct xlat nl_netfilter_subsys_ids[] = { @@ -59,4 +113,6 @@ const struct xlat nl_netfilter_subsys_ids[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nl_route_types.h b/xlat/nl_route_types.h index 5f8159f5..80b06fe5 100644 --- a/xlat/nl_route_types.h +++ b/xlat/nl_route_types.h @@ -1,162 +1,376 @@ /* Generated by ./xlat/gen.sh from ./xlat/nl_route_types.in; do not edit. */ -#if !(defined(RTM_NEWLINK) || (defined(HAVE_DECL_RTM_NEWLINK) && HAVE_DECL_RTM_NEWLINK)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RTM_NEWLINK) || (defined(HAVE_DECL_RTM_NEWLINK) && HAVE_DECL_RTM_NEWLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWLINK) == (16), "RTM_NEWLINK != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWLINK 16 #endif -#if !(defined(RTM_DELLINK) || (defined(HAVE_DECL_RTM_DELLINK) && HAVE_DECL_RTM_DELLINK)) +#if defined(RTM_DELLINK) || (defined(HAVE_DECL_RTM_DELLINK) && HAVE_DECL_RTM_DELLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELLINK) == (17), "RTM_DELLINK != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELLINK 17 #endif -#if !(defined(RTM_GETLINK) || (defined(HAVE_DECL_RTM_GETLINK) && HAVE_DECL_RTM_GETLINK)) +#if defined(RTM_GETLINK) || (defined(HAVE_DECL_RTM_GETLINK) && HAVE_DECL_RTM_GETLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETLINK) == (18), "RTM_GETLINK != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETLINK 18 #endif -#if !(defined(RTM_SETLINK) || (defined(HAVE_DECL_RTM_SETLINK) && HAVE_DECL_RTM_SETLINK)) +#if defined(RTM_SETLINK) || (defined(HAVE_DECL_RTM_SETLINK) && HAVE_DECL_RTM_SETLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_SETLINK) == (19), "RTM_SETLINK != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_SETLINK 19 #endif -#if !(defined(RTM_NEWADDR) || (defined(HAVE_DECL_RTM_NEWADDR) && HAVE_DECL_RTM_NEWADDR)) +#if defined(RTM_NEWADDR) || (defined(HAVE_DECL_RTM_NEWADDR) && HAVE_DECL_RTM_NEWADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWADDR) == (20), "RTM_NEWADDR != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWADDR 20 #endif -#if !(defined(RTM_DELADDR) || (defined(HAVE_DECL_RTM_DELADDR) && HAVE_DECL_RTM_DELADDR)) +#if defined(RTM_DELADDR) || (defined(HAVE_DECL_RTM_DELADDR) && HAVE_DECL_RTM_DELADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELADDR) == (21), "RTM_DELADDR != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELADDR 21 #endif -#if !(defined(RTM_GETADDR) || (defined(HAVE_DECL_RTM_GETADDR) && HAVE_DECL_RTM_GETADDR)) +#if defined(RTM_GETADDR) || (defined(HAVE_DECL_RTM_GETADDR) && HAVE_DECL_RTM_GETADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETADDR) == (22), "RTM_GETADDR != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETADDR 22 #endif -#if !(defined(RTM_NEWROUTE) || (defined(HAVE_DECL_RTM_NEWROUTE) && HAVE_DECL_RTM_NEWROUTE)) +#if defined(RTM_NEWROUTE) || (defined(HAVE_DECL_RTM_NEWROUTE) && HAVE_DECL_RTM_NEWROUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWROUTE) == (24), "RTM_NEWROUTE != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWROUTE 24 #endif -#if !(defined(RTM_DELROUTE) || (defined(HAVE_DECL_RTM_DELROUTE) && HAVE_DECL_RTM_DELROUTE)) +#if defined(RTM_DELROUTE) || (defined(HAVE_DECL_RTM_DELROUTE) && HAVE_DECL_RTM_DELROUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELROUTE) == (25), "RTM_DELROUTE != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELROUTE 25 #endif -#if !(defined(RTM_GETROUTE) || (defined(HAVE_DECL_RTM_GETROUTE) && HAVE_DECL_RTM_GETROUTE)) +#if defined(RTM_GETROUTE) || (defined(HAVE_DECL_RTM_GETROUTE) && HAVE_DECL_RTM_GETROUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETROUTE) == (26), "RTM_GETROUTE != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETROUTE 26 #endif -#if !(defined(RTM_NEWNEIGH) || (defined(HAVE_DECL_RTM_NEWNEIGH) && HAVE_DECL_RTM_NEWNEIGH)) +#if defined(RTM_NEWNEIGH) || (defined(HAVE_DECL_RTM_NEWNEIGH) && HAVE_DECL_RTM_NEWNEIGH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWNEIGH) == (28), "RTM_NEWNEIGH != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWNEIGH 28 #endif -#if !(defined(RTM_DELNEIGH) || (defined(HAVE_DECL_RTM_DELNEIGH) && HAVE_DECL_RTM_DELNEIGH)) +#if defined(RTM_DELNEIGH) || (defined(HAVE_DECL_RTM_DELNEIGH) && HAVE_DECL_RTM_DELNEIGH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELNEIGH) == (29), "RTM_DELNEIGH != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELNEIGH 29 #endif -#if !(defined(RTM_GETNEIGH) || (defined(HAVE_DECL_RTM_GETNEIGH) && HAVE_DECL_RTM_GETNEIGH)) +#if defined(RTM_GETNEIGH) || (defined(HAVE_DECL_RTM_GETNEIGH) && HAVE_DECL_RTM_GETNEIGH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETNEIGH) == (30), "RTM_GETNEIGH != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETNEIGH 30 #endif -#if !(defined(RTM_NEWRULE) || (defined(HAVE_DECL_RTM_NEWRULE) && HAVE_DECL_RTM_NEWRULE)) +#if defined(RTM_NEWRULE) || (defined(HAVE_DECL_RTM_NEWRULE) && HAVE_DECL_RTM_NEWRULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWRULE) == (32), "RTM_NEWRULE != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWRULE 32 #endif -#if !(defined(RTM_DELRULE) || (defined(HAVE_DECL_RTM_DELRULE) && HAVE_DECL_RTM_DELRULE)) +#if defined(RTM_DELRULE) || (defined(HAVE_DECL_RTM_DELRULE) && HAVE_DECL_RTM_DELRULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELRULE) == (33), "RTM_DELRULE != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELRULE 33 #endif -#if !(defined(RTM_GETRULE) || (defined(HAVE_DECL_RTM_GETRULE) && HAVE_DECL_RTM_GETRULE)) +#if defined(RTM_GETRULE) || (defined(HAVE_DECL_RTM_GETRULE) && HAVE_DECL_RTM_GETRULE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETRULE) == (34), "RTM_GETRULE != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETRULE 34 #endif -#if !(defined(RTM_NEWQDISC) || (defined(HAVE_DECL_RTM_NEWQDISC) && HAVE_DECL_RTM_NEWQDISC)) +#if defined(RTM_NEWQDISC) || (defined(HAVE_DECL_RTM_NEWQDISC) && HAVE_DECL_RTM_NEWQDISC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWQDISC) == (36), "RTM_NEWQDISC != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWQDISC 36 #endif -#if !(defined(RTM_DELQDISC) || (defined(HAVE_DECL_RTM_DELQDISC) && HAVE_DECL_RTM_DELQDISC)) +#if defined(RTM_DELQDISC) || (defined(HAVE_DECL_RTM_DELQDISC) && HAVE_DECL_RTM_DELQDISC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELQDISC) == (37), "RTM_DELQDISC != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELQDISC 37 #endif -#if !(defined(RTM_GETQDISC) || (defined(HAVE_DECL_RTM_GETQDISC) && HAVE_DECL_RTM_GETQDISC)) +#if defined(RTM_GETQDISC) || (defined(HAVE_DECL_RTM_GETQDISC) && HAVE_DECL_RTM_GETQDISC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETQDISC) == (38), "RTM_GETQDISC != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETQDISC 38 #endif -#if !(defined(RTM_NEWTCLASS) || (defined(HAVE_DECL_RTM_NEWTCLASS) && HAVE_DECL_RTM_NEWTCLASS)) +#if defined(RTM_NEWTCLASS) || (defined(HAVE_DECL_RTM_NEWTCLASS) && HAVE_DECL_RTM_NEWTCLASS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWTCLASS) == (40), "RTM_NEWTCLASS != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWTCLASS 40 #endif -#if !(defined(RTM_DELTCLASS) || (defined(HAVE_DECL_RTM_DELTCLASS) && HAVE_DECL_RTM_DELTCLASS)) +#if defined(RTM_DELTCLASS) || (defined(HAVE_DECL_RTM_DELTCLASS) && HAVE_DECL_RTM_DELTCLASS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELTCLASS) == (41), "RTM_DELTCLASS != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELTCLASS 41 #endif -#if !(defined(RTM_GETTCLASS) || (defined(HAVE_DECL_RTM_GETTCLASS) && HAVE_DECL_RTM_GETTCLASS)) +#if defined(RTM_GETTCLASS) || (defined(HAVE_DECL_RTM_GETTCLASS) && HAVE_DECL_RTM_GETTCLASS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETTCLASS) == (42), "RTM_GETTCLASS != 42"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETTCLASS 42 #endif -#if !(defined(RTM_NEWTFILTER) || (defined(HAVE_DECL_RTM_NEWTFILTER) && HAVE_DECL_RTM_NEWTFILTER)) +#if defined(RTM_NEWTFILTER) || (defined(HAVE_DECL_RTM_NEWTFILTER) && HAVE_DECL_RTM_NEWTFILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWTFILTER) == (44), "RTM_NEWTFILTER != 44"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWTFILTER 44 #endif -#if !(defined(RTM_DELTFILTER) || (defined(HAVE_DECL_RTM_DELTFILTER) && HAVE_DECL_RTM_DELTFILTER)) +#if defined(RTM_DELTFILTER) || (defined(HAVE_DECL_RTM_DELTFILTER) && HAVE_DECL_RTM_DELTFILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELTFILTER) == (45), "RTM_DELTFILTER != 45"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELTFILTER 45 #endif -#if !(defined(RTM_GETTFILTER) || (defined(HAVE_DECL_RTM_GETTFILTER) && HAVE_DECL_RTM_GETTFILTER)) +#if defined(RTM_GETTFILTER) || (defined(HAVE_DECL_RTM_GETTFILTER) && HAVE_DECL_RTM_GETTFILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETTFILTER) == (46), "RTM_GETTFILTER != 46"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETTFILTER 46 #endif -#if !(defined(RTM_NEWACTION) || (defined(HAVE_DECL_RTM_NEWACTION) && HAVE_DECL_RTM_NEWACTION)) +#if defined(RTM_NEWACTION) || (defined(HAVE_DECL_RTM_NEWACTION) && HAVE_DECL_RTM_NEWACTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWACTION) == (48), "RTM_NEWACTION != 48"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWACTION 48 #endif -#if !(defined(RTM_DELACTION) || (defined(HAVE_DECL_RTM_DELACTION) && HAVE_DECL_RTM_DELACTION)) +#if defined(RTM_DELACTION) || (defined(HAVE_DECL_RTM_DELACTION) && HAVE_DECL_RTM_DELACTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELACTION) == (49), "RTM_DELACTION != 49"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELACTION 49 #endif -#if !(defined(RTM_GETACTION) || (defined(HAVE_DECL_RTM_GETACTION) && HAVE_DECL_RTM_GETACTION)) +#if defined(RTM_GETACTION) || (defined(HAVE_DECL_RTM_GETACTION) && HAVE_DECL_RTM_GETACTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETACTION) == (50), "RTM_GETACTION != 50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETACTION 50 #endif -#if !(defined(RTM_NEWPREFIX) || (defined(HAVE_DECL_RTM_NEWPREFIX) && HAVE_DECL_RTM_NEWPREFIX)) +#if defined(RTM_NEWPREFIX) || (defined(HAVE_DECL_RTM_NEWPREFIX) && HAVE_DECL_RTM_NEWPREFIX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWPREFIX) == (52), "RTM_NEWPREFIX != 52"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWPREFIX 52 #endif -#if !(defined(RTM_GETPREFIX) || (defined(HAVE_DECL_RTM_GETPREFIX) && HAVE_DECL_RTM_GETPREFIX)) +#if defined(RTM_GETPREFIX) || (defined(HAVE_DECL_RTM_GETPREFIX) && HAVE_DECL_RTM_GETPREFIX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETPREFIX) == (54), "RTM_GETPREFIX != 54"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETPREFIX 54 #endif -#if !(defined(RTM_GETMULTICAST) || (defined(HAVE_DECL_RTM_GETMULTICAST) && HAVE_DECL_RTM_GETMULTICAST)) +#if defined(RTM_GETMULTICAST) || (defined(HAVE_DECL_RTM_GETMULTICAST) && HAVE_DECL_RTM_GETMULTICAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETMULTICAST) == (58), "RTM_GETMULTICAST != 58"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETMULTICAST 58 #endif -#if !(defined(RTM_GETANYCAST) || (defined(HAVE_DECL_RTM_GETANYCAST) && HAVE_DECL_RTM_GETANYCAST)) +#if defined(RTM_GETANYCAST) || (defined(HAVE_DECL_RTM_GETANYCAST) && HAVE_DECL_RTM_GETANYCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETANYCAST) == (62), "RTM_GETANYCAST != 62"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETANYCAST 62 #endif -#if !(defined(RTM_NEWNEIGHTBL) || (defined(HAVE_DECL_RTM_NEWNEIGHTBL) && HAVE_DECL_RTM_NEWNEIGHTBL)) +#if defined(RTM_NEWNEIGHTBL) || (defined(HAVE_DECL_RTM_NEWNEIGHTBL) && HAVE_DECL_RTM_NEWNEIGHTBL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWNEIGHTBL) == (64), "RTM_NEWNEIGHTBL != 64"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWNEIGHTBL 64 #endif -#if !(defined(RTM_GETNEIGHTBL) || (defined(HAVE_DECL_RTM_GETNEIGHTBL) && HAVE_DECL_RTM_GETNEIGHTBL)) +#if defined(RTM_GETNEIGHTBL) || (defined(HAVE_DECL_RTM_GETNEIGHTBL) && HAVE_DECL_RTM_GETNEIGHTBL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETNEIGHTBL) == (66), "RTM_GETNEIGHTBL != 66"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETNEIGHTBL 66 #endif -#if !(defined(RTM_SETNEIGHTBL) || (defined(HAVE_DECL_RTM_SETNEIGHTBL) && HAVE_DECL_RTM_SETNEIGHTBL)) +#if defined(RTM_SETNEIGHTBL) || (defined(HAVE_DECL_RTM_SETNEIGHTBL) && HAVE_DECL_RTM_SETNEIGHTBL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_SETNEIGHTBL) == (67), "RTM_SETNEIGHTBL != 67"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_SETNEIGHTBL 67 #endif -#if !(defined(RTM_NEWNDUSEROPT) || (defined(HAVE_DECL_RTM_NEWNDUSEROPT) && HAVE_DECL_RTM_NEWNDUSEROPT)) +#if defined(RTM_NEWNDUSEROPT) || (defined(HAVE_DECL_RTM_NEWNDUSEROPT) && HAVE_DECL_RTM_NEWNDUSEROPT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWNDUSEROPT) == (68), "RTM_NEWNDUSEROPT != 68"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWNDUSEROPT 68 #endif -#if !(defined(RTM_NEWADDRLABEL) || (defined(HAVE_DECL_RTM_NEWADDRLABEL) && HAVE_DECL_RTM_NEWADDRLABEL)) +#if defined(RTM_NEWADDRLABEL) || (defined(HAVE_DECL_RTM_NEWADDRLABEL) && HAVE_DECL_RTM_NEWADDRLABEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWADDRLABEL) == (72), "RTM_NEWADDRLABEL != 72"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWADDRLABEL 72 #endif -#if !(defined(RTM_DELADDRLABEL) || (defined(HAVE_DECL_RTM_DELADDRLABEL) && HAVE_DECL_RTM_DELADDRLABEL)) +#if defined(RTM_DELADDRLABEL) || (defined(HAVE_DECL_RTM_DELADDRLABEL) && HAVE_DECL_RTM_DELADDRLABEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELADDRLABEL) == (73), "RTM_DELADDRLABEL != 73"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELADDRLABEL 73 #endif -#if !(defined(RTM_GETADDRLABEL) || (defined(HAVE_DECL_RTM_GETADDRLABEL) && HAVE_DECL_RTM_GETADDRLABEL)) +#if defined(RTM_GETADDRLABEL) || (defined(HAVE_DECL_RTM_GETADDRLABEL) && HAVE_DECL_RTM_GETADDRLABEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETADDRLABEL) == (74), "RTM_GETADDRLABEL != 74"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETADDRLABEL 74 #endif -#if !(defined(RTM_GETDCB) || (defined(HAVE_DECL_RTM_GETDCB) && HAVE_DECL_RTM_GETDCB)) +#if defined(RTM_GETDCB) || (defined(HAVE_DECL_RTM_GETDCB) && HAVE_DECL_RTM_GETDCB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETDCB) == (78), "RTM_GETDCB != 78"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETDCB 78 #endif -#if !(defined(RTM_SETDCB) || (defined(HAVE_DECL_RTM_SETDCB) && HAVE_DECL_RTM_SETDCB)) +#if defined(RTM_SETDCB) || (defined(HAVE_DECL_RTM_SETDCB) && HAVE_DECL_RTM_SETDCB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_SETDCB) == (79), "RTM_SETDCB != 79"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_SETDCB 79 #endif -#if !(defined(RTM_NEWNETCONF) || (defined(HAVE_DECL_RTM_NEWNETCONF) && HAVE_DECL_RTM_NEWNETCONF)) +#if defined(RTM_NEWNETCONF) || (defined(HAVE_DECL_RTM_NEWNETCONF) && HAVE_DECL_RTM_NEWNETCONF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWNETCONF) == (80), "RTM_NEWNETCONF != 80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWNETCONF 80 #endif -#if !(defined(RTM_DELNETCONF) || (defined(HAVE_DECL_RTM_DELNETCONF) && HAVE_DECL_RTM_DELNETCONF)) +#if defined(RTM_DELNETCONF) || (defined(HAVE_DECL_RTM_DELNETCONF) && HAVE_DECL_RTM_DELNETCONF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELNETCONF) == (81), "RTM_DELNETCONF != 81"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELNETCONF 81 #endif -#if !(defined(RTM_GETNETCONF) || (defined(HAVE_DECL_RTM_GETNETCONF) && HAVE_DECL_RTM_GETNETCONF)) +#if defined(RTM_GETNETCONF) || (defined(HAVE_DECL_RTM_GETNETCONF) && HAVE_DECL_RTM_GETNETCONF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETNETCONF) == (82), "RTM_GETNETCONF != 82"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETNETCONF 82 #endif -#if !(defined(RTM_NEWMDB) || (defined(HAVE_DECL_RTM_NEWMDB) && HAVE_DECL_RTM_NEWMDB)) +#if defined(RTM_NEWMDB) || (defined(HAVE_DECL_RTM_NEWMDB) && HAVE_DECL_RTM_NEWMDB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWMDB) == (84), "RTM_NEWMDB != 84"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWMDB 84 #endif -#if !(defined(RTM_DELMDB) || (defined(HAVE_DECL_RTM_DELMDB) && HAVE_DECL_RTM_DELMDB)) +#if defined(RTM_DELMDB) || (defined(HAVE_DECL_RTM_DELMDB) && HAVE_DECL_RTM_DELMDB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELMDB) == (85), "RTM_DELMDB != 85"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELMDB 85 #endif -#if !(defined(RTM_GETMDB) || (defined(HAVE_DECL_RTM_GETMDB) && HAVE_DECL_RTM_GETMDB)) +#if defined(RTM_GETMDB) || (defined(HAVE_DECL_RTM_GETMDB) && HAVE_DECL_RTM_GETMDB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETMDB) == (86), "RTM_GETMDB != 86"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETMDB 86 #endif -#if !(defined(RTM_NEWNSID) || (defined(HAVE_DECL_RTM_NEWNSID) && HAVE_DECL_RTM_NEWNSID)) +#if defined(RTM_NEWNSID) || (defined(HAVE_DECL_RTM_NEWNSID) && HAVE_DECL_RTM_NEWNSID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWNSID) == (88), "RTM_NEWNSID != 88"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWNSID 88 #endif -#if !(defined(RTM_DELNSID) || (defined(HAVE_DECL_RTM_DELNSID) && HAVE_DECL_RTM_DELNSID)) +#if defined(RTM_DELNSID) || (defined(HAVE_DECL_RTM_DELNSID) && HAVE_DECL_RTM_DELNSID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_DELNSID) == (89), "RTM_DELNSID != 89"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_DELNSID 89 #endif -#if !(defined(RTM_GETNSID) || (defined(HAVE_DECL_RTM_GETNSID) && HAVE_DECL_RTM_GETNSID)) +#if defined(RTM_GETNSID) || (defined(HAVE_DECL_RTM_GETNSID) && HAVE_DECL_RTM_GETNSID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETNSID) == (90), "RTM_GETNSID != 90"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETNSID 90 #endif -#if !(defined(RTM_NEWSTATS) || (defined(HAVE_DECL_RTM_NEWSTATS) && HAVE_DECL_RTM_NEWSTATS)) +#if defined(RTM_NEWSTATS) || (defined(HAVE_DECL_RTM_NEWSTATS) && HAVE_DECL_RTM_NEWSTATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_NEWSTATS) == (92), "RTM_NEWSTATS != 92"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_NEWSTATS 92 #endif -#if !(defined(RTM_GETSTATS) || (defined(HAVE_DECL_RTM_GETSTATS) && HAVE_DECL_RTM_GETSTATS)) +#if defined(RTM_GETSTATS) || (defined(HAVE_DECL_RTM_GETSTATS) && HAVE_DECL_RTM_GETSTATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTM_GETSTATS) == (94), "RTM_GETSTATS != 94"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTM_GETSTATS 94 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat nl_route_types[] = { XLAT(RTM_NEWLINK), @@ -233,4 +447,6 @@ const struct xlat nl_route_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nl_selinux_types.h b/xlat/nl_selinux_types.h index 29903bcc..95ae3df0 100644 --- a/xlat/nl_selinux_types.h +++ b/xlat/nl_selinux_types.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/nl_selinux_types.in; do not edit. */ -#if !(defined(SELNL_MSG_SETENFORCE) || (defined(HAVE_DECL_SELNL_MSG_SETENFORCE) && HAVE_DECL_SELNL_MSG_SETENFORCE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SELNL_MSG_SETENFORCE) || (defined(HAVE_DECL_SELNL_MSG_SETENFORCE) && HAVE_DECL_SELNL_MSG_SETENFORCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SELNL_MSG_SETENFORCE) == (0x10), "SELNL_MSG_SETENFORCE != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SELNL_MSG_SETENFORCE 0x10 #endif -#if !(defined(SELNL_MSG_POLICYLOAD) || (defined(HAVE_DECL_SELNL_MSG_POLICYLOAD) && HAVE_DECL_SELNL_MSG_POLICYLOAD)) +#if defined(SELNL_MSG_POLICYLOAD) || (defined(HAVE_DECL_SELNL_MSG_POLICYLOAD) && HAVE_DECL_SELNL_MSG_POLICYLOAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SELNL_MSG_POLICYLOAD) == (0x11), "SELNL_MSG_POLICYLOAD != 0x11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SELNL_MSG_POLICYLOAD 0x11 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nl_selinux_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nl_selinux_types in mpers mode + +# else static const struct xlat nl_selinux_types[] = { @@ -19,4 +33,6 @@ const struct xlat nl_selinux_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nl_sock_diag_types.h b/xlat/nl_sock_diag_types.h index 24697023..d0afe449 100644 --- a/xlat/nl_sock_diag_types.h +++ b/xlat/nl_sock_diag_types.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/nl_sock_diag_types.in; do not edit. */ -#if !(defined(TCPDIAG_GETSOCK) || (defined(HAVE_DECL_TCPDIAG_GETSOCK) && HAVE_DECL_TCPDIAG_GETSOCK)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TCPDIAG_GETSOCK) || (defined(HAVE_DECL_TCPDIAG_GETSOCK) && HAVE_DECL_TCPDIAG_GETSOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCPDIAG_GETSOCK) == (18), "TCPDIAG_GETSOCK != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCPDIAG_GETSOCK 18 #endif -#if !(defined(DCCPDIAG_GETSOCK) || (defined(HAVE_DECL_DCCPDIAG_GETSOCK) && HAVE_DECL_DCCPDIAG_GETSOCK)) +#if defined(DCCPDIAG_GETSOCK) || (defined(HAVE_DECL_DCCPDIAG_GETSOCK) && HAVE_DECL_DCCPDIAG_GETSOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCPDIAG_GETSOCK) == (19), "DCCPDIAG_GETSOCK != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCCPDIAG_GETSOCK 19 #endif -#if !(defined(SOCK_DIAG_BY_FAMILY) || (defined(HAVE_DECL_SOCK_DIAG_BY_FAMILY) && HAVE_DECL_SOCK_DIAG_BY_FAMILY)) +#if defined(SOCK_DIAG_BY_FAMILY) || (defined(HAVE_DECL_SOCK_DIAG_BY_FAMILY) && HAVE_DECL_SOCK_DIAG_BY_FAMILY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOCK_DIAG_BY_FAMILY) == (20), "SOCK_DIAG_BY_FAMILY != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOCK_DIAG_BY_FAMILY 20 #endif -#if !(defined(SOCK_DESTROY) || (defined(HAVE_DECL_SOCK_DESTROY) && HAVE_DECL_SOCK_DESTROY)) +#if defined(SOCK_DESTROY) || (defined(HAVE_DECL_SOCK_DESTROY) && HAVE_DECL_SOCK_DESTROY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOCK_DESTROY) == (21), "SOCK_DESTROY != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOCK_DESTROY 21 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nl_sock_diag_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nl_sock_diag_types in mpers mode + +# else static const struct xlat nl_sock_diag_types[] = { @@ -27,4 +49,6 @@ const struct xlat nl_sock_diag_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nl_xfrm_types.h b/xlat/nl_xfrm_types.h index 28d6d8ad..47240fdb 100644 --- a/xlat/nl_xfrm_types.h +++ b/xlat/nl_xfrm_types.h @@ -1,79 +1,177 @@ /* Generated by ./xlat/gen.sh from ./xlat/nl_xfrm_types.in; do not edit. */ -#if !(defined(XFRM_MSG_NEWSA) || (defined(HAVE_DECL_XFRM_MSG_NEWSA) && HAVE_DECL_XFRM_MSG_NEWSA)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(XFRM_MSG_NEWSA) || (defined(HAVE_DECL_XFRM_MSG_NEWSA) && HAVE_DECL_XFRM_MSG_NEWSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_NEWSA) == (0x10), "XFRM_MSG_NEWSA != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_NEWSA 0x10 #endif -#if !(defined(XFRM_MSG_DELSA) || (defined(HAVE_DECL_XFRM_MSG_DELSA) && HAVE_DECL_XFRM_MSG_DELSA)) +#if defined(XFRM_MSG_DELSA) || (defined(HAVE_DECL_XFRM_MSG_DELSA) && HAVE_DECL_XFRM_MSG_DELSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_DELSA) == (0x11), "XFRM_MSG_DELSA != 0x11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_DELSA 0x11 #endif -#if !(defined(XFRM_MSG_GETSA) || (defined(HAVE_DECL_XFRM_MSG_GETSA) && HAVE_DECL_XFRM_MSG_GETSA)) +#if defined(XFRM_MSG_GETSA) || (defined(HAVE_DECL_XFRM_MSG_GETSA) && HAVE_DECL_XFRM_MSG_GETSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_GETSA) == (0x12), "XFRM_MSG_GETSA != 0x12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_GETSA 0x12 #endif -#if !(defined(XFRM_MSG_NEWPOLICY) || (defined(HAVE_DECL_XFRM_MSG_NEWPOLICY) && HAVE_DECL_XFRM_MSG_NEWPOLICY)) +#if defined(XFRM_MSG_NEWPOLICY) || (defined(HAVE_DECL_XFRM_MSG_NEWPOLICY) && HAVE_DECL_XFRM_MSG_NEWPOLICY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_NEWPOLICY) == (0x13), "XFRM_MSG_NEWPOLICY != 0x13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_NEWPOLICY 0x13 #endif -#if !(defined(XFRM_MSG_DELPOLICY) || (defined(HAVE_DECL_XFRM_MSG_DELPOLICY) && HAVE_DECL_XFRM_MSG_DELPOLICY)) +#if defined(XFRM_MSG_DELPOLICY) || (defined(HAVE_DECL_XFRM_MSG_DELPOLICY) && HAVE_DECL_XFRM_MSG_DELPOLICY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_DELPOLICY) == (0x14), "XFRM_MSG_DELPOLICY != 0x14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_DELPOLICY 0x14 #endif -#if !(defined(XFRM_MSG_GETPOLICY) || (defined(HAVE_DECL_XFRM_MSG_GETPOLICY) && HAVE_DECL_XFRM_MSG_GETPOLICY)) +#if defined(XFRM_MSG_GETPOLICY) || (defined(HAVE_DECL_XFRM_MSG_GETPOLICY) && HAVE_DECL_XFRM_MSG_GETPOLICY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_GETPOLICY) == (0x15), "XFRM_MSG_GETPOLICY != 0x15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_GETPOLICY 0x15 #endif -#if !(defined(XFRM_MSG_ALLOCSPI) || (defined(HAVE_DECL_XFRM_MSG_ALLOCSPI) && HAVE_DECL_XFRM_MSG_ALLOCSPI)) +#if defined(XFRM_MSG_ALLOCSPI) || (defined(HAVE_DECL_XFRM_MSG_ALLOCSPI) && HAVE_DECL_XFRM_MSG_ALLOCSPI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_ALLOCSPI) == (0x16), "XFRM_MSG_ALLOCSPI != 0x16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_ALLOCSPI 0x16 #endif -#if !(defined(XFRM_MSG_ACQUIRE) || (defined(HAVE_DECL_XFRM_MSG_ACQUIRE) && HAVE_DECL_XFRM_MSG_ACQUIRE)) +#if defined(XFRM_MSG_ACQUIRE) || (defined(HAVE_DECL_XFRM_MSG_ACQUIRE) && HAVE_DECL_XFRM_MSG_ACQUIRE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_ACQUIRE) == (0x17), "XFRM_MSG_ACQUIRE != 0x17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_ACQUIRE 0x17 #endif -#if !(defined(XFRM_MSG_EXPIRE) || (defined(HAVE_DECL_XFRM_MSG_EXPIRE) && HAVE_DECL_XFRM_MSG_EXPIRE)) +#if defined(XFRM_MSG_EXPIRE) || (defined(HAVE_DECL_XFRM_MSG_EXPIRE) && HAVE_DECL_XFRM_MSG_EXPIRE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_EXPIRE) == (0x18), "XFRM_MSG_EXPIRE != 0x18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_EXPIRE 0x18 #endif -#if !(defined(XFRM_MSG_UPDPOLICY) || (defined(HAVE_DECL_XFRM_MSG_UPDPOLICY) && HAVE_DECL_XFRM_MSG_UPDPOLICY)) +#if defined(XFRM_MSG_UPDPOLICY) || (defined(HAVE_DECL_XFRM_MSG_UPDPOLICY) && HAVE_DECL_XFRM_MSG_UPDPOLICY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_UPDPOLICY) == (0x19), "XFRM_MSG_UPDPOLICY != 0x19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_UPDPOLICY 0x19 #endif -#if !(defined(XFRM_MSG_UPDSA) || (defined(HAVE_DECL_XFRM_MSG_UPDSA) && HAVE_DECL_XFRM_MSG_UPDSA)) +#if defined(XFRM_MSG_UPDSA) || (defined(HAVE_DECL_XFRM_MSG_UPDSA) && HAVE_DECL_XFRM_MSG_UPDSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_UPDSA) == (0x1a), "XFRM_MSG_UPDSA != 0x1a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_UPDSA 0x1a #endif -#if !(defined(XFRM_MSG_POLEXPIRE) || (defined(HAVE_DECL_XFRM_MSG_POLEXPIRE) && HAVE_DECL_XFRM_MSG_POLEXPIRE)) +#if defined(XFRM_MSG_POLEXPIRE) || (defined(HAVE_DECL_XFRM_MSG_POLEXPIRE) && HAVE_DECL_XFRM_MSG_POLEXPIRE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_POLEXPIRE) == (0x1b), "XFRM_MSG_POLEXPIRE != 0x1b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_POLEXPIRE 0x1b #endif -#if !(defined(XFRM_MSG_FLUSHSA) || (defined(HAVE_DECL_XFRM_MSG_FLUSHSA) && HAVE_DECL_XFRM_MSG_FLUSHSA)) +#if defined(XFRM_MSG_FLUSHSA) || (defined(HAVE_DECL_XFRM_MSG_FLUSHSA) && HAVE_DECL_XFRM_MSG_FLUSHSA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_FLUSHSA) == (0x1c), "XFRM_MSG_FLUSHSA != 0x1c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_FLUSHSA 0x1c #endif -#if !(defined(XFRM_MSG_FLUSHPOLICY) || (defined(HAVE_DECL_XFRM_MSG_FLUSHPOLICY) && HAVE_DECL_XFRM_MSG_FLUSHPOLICY)) +#if defined(XFRM_MSG_FLUSHPOLICY) || (defined(HAVE_DECL_XFRM_MSG_FLUSHPOLICY) && HAVE_DECL_XFRM_MSG_FLUSHPOLICY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_FLUSHPOLICY) == (0x1d), "XFRM_MSG_FLUSHPOLICY != 0x1d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_FLUSHPOLICY 0x1d #endif -#if !(defined(XFRM_MSG_NEWAE) || (defined(HAVE_DECL_XFRM_MSG_NEWAE) && HAVE_DECL_XFRM_MSG_NEWAE)) +#if defined(XFRM_MSG_NEWAE) || (defined(HAVE_DECL_XFRM_MSG_NEWAE) && HAVE_DECL_XFRM_MSG_NEWAE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_NEWAE) == (0x1e), "XFRM_MSG_NEWAE != 0x1e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_NEWAE 0x1e #endif -#if !(defined(XFRM_MSG_GETAE) || (defined(HAVE_DECL_XFRM_MSG_GETAE) && HAVE_DECL_XFRM_MSG_GETAE)) +#if defined(XFRM_MSG_GETAE) || (defined(HAVE_DECL_XFRM_MSG_GETAE) && HAVE_DECL_XFRM_MSG_GETAE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_GETAE) == (0x1f), "XFRM_MSG_GETAE != 0x1f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_GETAE 0x1f #endif -#if !(defined(XFRM_MSG_REPORT) || (defined(HAVE_DECL_XFRM_MSG_REPORT) && HAVE_DECL_XFRM_MSG_REPORT)) +#if defined(XFRM_MSG_REPORT) || (defined(HAVE_DECL_XFRM_MSG_REPORT) && HAVE_DECL_XFRM_MSG_REPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_REPORT) == (0x20), "XFRM_MSG_REPORT != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_REPORT 0x20 #endif -#if !(defined(XFRM_MSG_MIGRATE) || (defined(HAVE_DECL_XFRM_MSG_MIGRATE) && HAVE_DECL_XFRM_MSG_MIGRATE)) +#if defined(XFRM_MSG_MIGRATE) || (defined(HAVE_DECL_XFRM_MSG_MIGRATE) && HAVE_DECL_XFRM_MSG_MIGRATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_MIGRATE) == (0x21), "XFRM_MSG_MIGRATE != 0x21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_MIGRATE 0x21 #endif -#if !(defined(XFRM_MSG_NEWSADINFO) || (defined(HAVE_DECL_XFRM_MSG_NEWSADINFO) && HAVE_DECL_XFRM_MSG_NEWSADINFO)) +#if defined(XFRM_MSG_NEWSADINFO) || (defined(HAVE_DECL_XFRM_MSG_NEWSADINFO) && HAVE_DECL_XFRM_MSG_NEWSADINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_NEWSADINFO) == (0x22), "XFRM_MSG_NEWSADINFO != 0x22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_NEWSADINFO 0x22 #endif -#if !(defined(XFRM_MSG_GETSADINFO) || (defined(HAVE_DECL_XFRM_MSG_GETSADINFO) && HAVE_DECL_XFRM_MSG_GETSADINFO)) +#if defined(XFRM_MSG_GETSADINFO) || (defined(HAVE_DECL_XFRM_MSG_GETSADINFO) && HAVE_DECL_XFRM_MSG_GETSADINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_GETSADINFO) == (0x23), "XFRM_MSG_GETSADINFO != 0x23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_GETSADINFO 0x23 #endif -#if !(defined(XFRM_MSG_NEWSPDINFO) || (defined(HAVE_DECL_XFRM_MSG_NEWSPDINFO) && HAVE_DECL_XFRM_MSG_NEWSPDINFO)) +#if defined(XFRM_MSG_NEWSPDINFO) || (defined(HAVE_DECL_XFRM_MSG_NEWSPDINFO) && HAVE_DECL_XFRM_MSG_NEWSPDINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_NEWSPDINFO) == (0x24), "XFRM_MSG_NEWSPDINFO != 0x24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_NEWSPDINFO 0x24 #endif -#if !(defined(XFRM_MSG_GETSPDINFO) || (defined(HAVE_DECL_XFRM_MSG_GETSPDINFO) && HAVE_DECL_XFRM_MSG_GETSPDINFO)) +#if defined(XFRM_MSG_GETSPDINFO) || (defined(HAVE_DECL_XFRM_MSG_GETSPDINFO) && HAVE_DECL_XFRM_MSG_GETSPDINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_GETSPDINFO) == (0x25), "XFRM_MSG_GETSPDINFO != 0x25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_GETSPDINFO 0x25 #endif -#if !(defined(XFRM_MSG_MAPPING) || (defined(HAVE_DECL_XFRM_MSG_MAPPING) && HAVE_DECL_XFRM_MSG_MAPPING)) +#if defined(XFRM_MSG_MAPPING) || (defined(HAVE_DECL_XFRM_MSG_MAPPING) && HAVE_DECL_XFRM_MSG_MAPPING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFRM_MSG_MAPPING) == (0x26), "XFRM_MSG_MAPPING != 0x26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFRM_MSG_MAPPING 0x26 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nl_xfrm_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nl_xfrm_types in mpers mode + +# else static const struct xlat nl_xfrm_types[] = { @@ -114,4 +212,6 @@ const struct xlat nl_xfrm_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nlmsgerr_attrs.h b/xlat/nlmsgerr_attrs.h index 3772db98..2d0f46f4 100644 --- a/xlat/nlmsgerr_attrs.h +++ b/xlat/nlmsgerr_attrs.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/nlmsgerr_attrs.in; do not edit. */ -#if !(defined(NLMSGERR_ATTR_UNUSED) || (defined(HAVE_DECL_NLMSGERR_ATTR_UNUSED) && HAVE_DECL_NLMSGERR_ATTR_UNUSED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NLMSGERR_ATTR_UNUSED) || (defined(HAVE_DECL_NLMSGERR_ATTR_UNUSED) && HAVE_DECL_NLMSGERR_ATTR_UNUSED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLMSGERR_ATTR_UNUSED) == (0), "NLMSGERR_ATTR_UNUSED != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLMSGERR_ATTR_UNUSED 0 #endif -#if !(defined(NLMSGERR_ATTR_MSG) || (defined(HAVE_DECL_NLMSGERR_ATTR_MSG) && HAVE_DECL_NLMSGERR_ATTR_MSG)) +#if defined(NLMSGERR_ATTR_MSG) || (defined(HAVE_DECL_NLMSGERR_ATTR_MSG) && HAVE_DECL_NLMSGERR_ATTR_MSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLMSGERR_ATTR_MSG) == (1), "NLMSGERR_ATTR_MSG != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLMSGERR_ATTR_MSG 1 #endif -#if !(defined(NLMSGERR_ATTR_OFFS) || (defined(HAVE_DECL_NLMSGERR_ATTR_OFFS) && HAVE_DECL_NLMSGERR_ATTR_OFFS)) +#if defined(NLMSGERR_ATTR_OFFS) || (defined(HAVE_DECL_NLMSGERR_ATTR_OFFS) && HAVE_DECL_NLMSGERR_ATTR_OFFS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLMSGERR_ATTR_OFFS) == (2), "NLMSGERR_ATTR_OFFS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLMSGERR_ATTR_OFFS 2 #endif -#if !(defined(NLMSGERR_ATTR_COOKIE) || (defined(HAVE_DECL_NLMSGERR_ATTR_COOKIE) && HAVE_DECL_NLMSGERR_ATTR_COOKIE)) +#if defined(NLMSGERR_ATTR_COOKIE) || (defined(HAVE_DECL_NLMSGERR_ATTR_COOKIE) && HAVE_DECL_NLMSGERR_ATTR_COOKIE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NLMSGERR_ATTR_COOKIE) == (3), "NLMSGERR_ATTR_COOKIE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NLMSGERR_ATTR_COOKIE 3 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nlmsgerr_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nlmsgerr_attrs in mpers mode + +# else static const struct xlat nlmsgerr_attrs[] = { @@ -27,4 +49,6 @@ const struct xlat nlmsgerr_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/notifyflags.h b/xlat/notifyflags.h index e496e8cd..cccc7d1f 100644 --- a/xlat/notifyflags.h +++ b/xlat/notifyflags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/notifyflags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat notifyflags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat notifyflags in mpers mode + +# else static const struct xlat notifyflags[] = { @@ -32,4 +38,6 @@ const struct xlat notifyflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/nt_descriptor_types.h b/xlat/nt_descriptor_types.h index edab7afc..7527d799 100644 --- a/xlat/nt_descriptor_types.h +++ b/xlat/nt_descriptor_types.h @@ -1,199 +1,457 @@ /* Generated by ./xlat/gen.sh from ./xlat/nt_descriptor_types.in; do not edit. */ -#if !(defined(NT_PRSTATUS) || (defined(HAVE_DECL_NT_PRSTATUS) && HAVE_DECL_NT_PRSTATUS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NT_PRSTATUS) || (defined(HAVE_DECL_NT_PRSTATUS) && HAVE_DECL_NT_PRSTATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PRSTATUS) == (1), "NT_PRSTATUS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PRSTATUS 1 #endif -#if !(defined(NT_FPREGSET) || (defined(HAVE_DECL_NT_FPREGSET) && HAVE_DECL_NT_FPREGSET)) +#if defined(NT_FPREGSET) || (defined(HAVE_DECL_NT_FPREGSET) && HAVE_DECL_NT_FPREGSET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_FPREGSET) == (2), "NT_FPREGSET != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_FPREGSET 2 #endif -#if !(defined(NT_PRPSINFO) || (defined(HAVE_DECL_NT_PRPSINFO) && HAVE_DECL_NT_PRPSINFO)) +#if defined(NT_PRPSINFO) || (defined(HAVE_DECL_NT_PRPSINFO) && HAVE_DECL_NT_PRPSINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PRPSINFO) == (3), "NT_PRPSINFO != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PRPSINFO 3 #endif -#if !(defined(NT_PRXREG) || (defined(HAVE_DECL_NT_PRXREG) && HAVE_DECL_NT_PRXREG)) +#if defined(NT_PRXREG) || (defined(HAVE_DECL_NT_PRXREG) && HAVE_DECL_NT_PRXREG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PRXREG) == (4), "NT_PRXREG != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PRXREG 4 #endif -#if !(defined(NT_TASKSTRUCT) || (defined(HAVE_DECL_NT_TASKSTRUCT) && HAVE_DECL_NT_TASKSTRUCT)) +#if defined(NT_TASKSTRUCT) || (defined(HAVE_DECL_NT_TASKSTRUCT) && HAVE_DECL_NT_TASKSTRUCT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_TASKSTRUCT) == (4), "NT_TASKSTRUCT != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_TASKSTRUCT 4 #endif -#if !(defined(NT_PLATFORM) || (defined(HAVE_DECL_NT_PLATFORM) && HAVE_DECL_NT_PLATFORM)) +#if defined(NT_PLATFORM) || (defined(HAVE_DECL_NT_PLATFORM) && HAVE_DECL_NT_PLATFORM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PLATFORM) == (5), "NT_PLATFORM != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PLATFORM 5 #endif -#if !(defined(NT_AUXV) || (defined(HAVE_DECL_NT_AUXV) && HAVE_DECL_NT_AUXV)) +#if defined(NT_AUXV) || (defined(HAVE_DECL_NT_AUXV) && HAVE_DECL_NT_AUXV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_AUXV) == (6), "NT_AUXV != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_AUXV 6 #endif -#if !(defined(NT_GWINDOWS) || (defined(HAVE_DECL_NT_GWINDOWS) && HAVE_DECL_NT_GWINDOWS)) +#if defined(NT_GWINDOWS) || (defined(HAVE_DECL_NT_GWINDOWS) && HAVE_DECL_NT_GWINDOWS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_GWINDOWS) == (7), "NT_GWINDOWS != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_GWINDOWS 7 #endif -#if !(defined(NT_ASRS) || (defined(HAVE_DECL_NT_ASRS) && HAVE_DECL_NT_ASRS)) +#if defined(NT_ASRS) || (defined(HAVE_DECL_NT_ASRS) && HAVE_DECL_NT_ASRS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_ASRS) == (8), "NT_ASRS != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_ASRS 8 #endif -#if !(defined(NT_PSTATUS) || (defined(HAVE_DECL_NT_PSTATUS) && HAVE_DECL_NT_PSTATUS)) +#if defined(NT_PSTATUS) || (defined(HAVE_DECL_NT_PSTATUS) && HAVE_DECL_NT_PSTATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PSTATUS) == (10), "NT_PSTATUS != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PSTATUS 10 #endif -#if !(defined(NT_PSINFO) || (defined(HAVE_DECL_NT_PSINFO) && HAVE_DECL_NT_PSINFO)) +#if defined(NT_PSINFO) || (defined(HAVE_DECL_NT_PSINFO) && HAVE_DECL_NT_PSINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PSINFO) == (13), "NT_PSINFO != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PSINFO 13 #endif -#if !(defined(NT_PRCRED) || (defined(HAVE_DECL_NT_PRCRED) && HAVE_DECL_NT_PRCRED)) +#if defined(NT_PRCRED) || (defined(HAVE_DECL_NT_PRCRED) && HAVE_DECL_NT_PRCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PRCRED) == (14), "NT_PRCRED != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PRCRED 14 #endif -#if !(defined(NT_UTSNAME) || (defined(HAVE_DECL_NT_UTSNAME) && HAVE_DECL_NT_UTSNAME)) +#if defined(NT_UTSNAME) || (defined(HAVE_DECL_NT_UTSNAME) && HAVE_DECL_NT_UTSNAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_UTSNAME) == (15), "NT_UTSNAME != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_UTSNAME 15 #endif -#if !(defined(NT_LWPSTATUS) || (defined(HAVE_DECL_NT_LWPSTATUS) && HAVE_DECL_NT_LWPSTATUS)) +#if defined(NT_LWPSTATUS) || (defined(HAVE_DECL_NT_LWPSTATUS) && HAVE_DECL_NT_LWPSTATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_LWPSTATUS) == (16), "NT_LWPSTATUS != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_LWPSTATUS 16 #endif -#if !(defined(NT_LWPSINFO) || (defined(HAVE_DECL_NT_LWPSINFO) && HAVE_DECL_NT_LWPSINFO)) +#if defined(NT_LWPSINFO) || (defined(HAVE_DECL_NT_LWPSINFO) && HAVE_DECL_NT_LWPSINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_LWPSINFO) == (17), "NT_LWPSINFO != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_LWPSINFO 17 #endif -#if !(defined(NT_PRFPXREG) || (defined(HAVE_DECL_NT_PRFPXREG) && HAVE_DECL_NT_PRFPXREG)) +#if defined(NT_PRFPXREG) || (defined(HAVE_DECL_NT_PRFPXREG) && HAVE_DECL_NT_PRFPXREG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PRFPXREG) == (20), "NT_PRFPXREG != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PRFPXREG 20 #endif -#if !(defined(NT_SIGINFO) || (defined(HAVE_DECL_NT_SIGINFO) && HAVE_DECL_NT_SIGINFO)) +#if defined(NT_SIGINFO) || (defined(HAVE_DECL_NT_SIGINFO) && HAVE_DECL_NT_SIGINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_SIGINFO) == (0x53494749), "NT_SIGINFO != 0x53494749"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_SIGINFO 0x53494749 #endif -#if !(defined(NT_FILE) || (defined(HAVE_DECL_NT_FILE) && HAVE_DECL_NT_FILE)) +#if defined(NT_FILE) || (defined(HAVE_DECL_NT_FILE) && HAVE_DECL_NT_FILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_FILE) == (0x46494c45), "NT_FILE != 0x46494c45"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_FILE 0x46494c45 #endif -#if !(defined(NT_PRXFPREG) || (defined(HAVE_DECL_NT_PRXFPREG) && HAVE_DECL_NT_PRXFPREG)) +#if defined(NT_PRXFPREG) || (defined(HAVE_DECL_NT_PRXFPREG) && HAVE_DECL_NT_PRXFPREG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PRXFPREG) == (0x46e62b7f), "NT_PRXFPREG != 0x46e62b7f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PRXFPREG 0x46e62b7f #endif -#if !(defined(NT_PPC_VMX) || (defined(HAVE_DECL_NT_PPC_VMX) && HAVE_DECL_NT_PPC_VMX)) +#if defined(NT_PPC_VMX) || (defined(HAVE_DECL_NT_PPC_VMX) && HAVE_DECL_NT_PPC_VMX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_VMX) == (0x100), "NT_PPC_VMX != 0x100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_VMX 0x100 #endif -#if !(defined(NT_PPC_SPE) || (defined(HAVE_DECL_NT_PPC_SPE) && HAVE_DECL_NT_PPC_SPE)) +#if defined(NT_PPC_SPE) || (defined(HAVE_DECL_NT_PPC_SPE) && HAVE_DECL_NT_PPC_SPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_SPE) == (0x101), "NT_PPC_SPE != 0x101"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_SPE 0x101 #endif -#if !(defined(NT_PPC_VSX) || (defined(HAVE_DECL_NT_PPC_VSX) && HAVE_DECL_NT_PPC_VSX)) +#if defined(NT_PPC_VSX) || (defined(HAVE_DECL_NT_PPC_VSX) && HAVE_DECL_NT_PPC_VSX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_VSX) == (0x102), "NT_PPC_VSX != 0x102"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_VSX 0x102 #endif -#if !(defined(NT_PPC_TAR) || (defined(HAVE_DECL_NT_PPC_TAR) && HAVE_DECL_NT_PPC_TAR)) +#if defined(NT_PPC_TAR) || (defined(HAVE_DECL_NT_PPC_TAR) && HAVE_DECL_NT_PPC_TAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_TAR) == (0x103), "NT_PPC_TAR != 0x103"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_TAR 0x103 #endif -#if !(defined(NT_PPC_PPR) || (defined(HAVE_DECL_NT_PPC_PPR) && HAVE_DECL_NT_PPC_PPR)) +#if defined(NT_PPC_PPR) || (defined(HAVE_DECL_NT_PPC_PPR) && HAVE_DECL_NT_PPC_PPR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_PPR) == (0x104), "NT_PPC_PPR != 0x104"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_PPR 0x104 #endif -#if !(defined(NT_PPC_DSCR) || (defined(HAVE_DECL_NT_PPC_DSCR) && HAVE_DECL_NT_PPC_DSCR)) +#if defined(NT_PPC_DSCR) || (defined(HAVE_DECL_NT_PPC_DSCR) && HAVE_DECL_NT_PPC_DSCR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_DSCR) == (0x105), "NT_PPC_DSCR != 0x105"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_DSCR 0x105 #endif -#if !(defined(NT_PPC_EBB) || (defined(HAVE_DECL_NT_PPC_EBB) && HAVE_DECL_NT_PPC_EBB)) +#if defined(NT_PPC_EBB) || (defined(HAVE_DECL_NT_PPC_EBB) && HAVE_DECL_NT_PPC_EBB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_EBB) == (0x106), "NT_PPC_EBB != 0x106"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_EBB 0x106 #endif -#if !(defined(NT_PPC_PMU) || (defined(HAVE_DECL_NT_PPC_PMU) && HAVE_DECL_NT_PPC_PMU)) +#if defined(NT_PPC_PMU) || (defined(HAVE_DECL_NT_PPC_PMU) && HAVE_DECL_NT_PPC_PMU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_PMU) == (0x107), "NT_PPC_PMU != 0x107"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_PMU 0x107 #endif -#if !(defined(NT_PPC_TM_CGPR) || (defined(HAVE_DECL_NT_PPC_TM_CGPR) && HAVE_DECL_NT_PPC_TM_CGPR)) +#if defined(NT_PPC_TM_CGPR) || (defined(HAVE_DECL_NT_PPC_TM_CGPR) && HAVE_DECL_NT_PPC_TM_CGPR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_TM_CGPR) == (0x108), "NT_PPC_TM_CGPR != 0x108"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_TM_CGPR 0x108 #endif -#if !(defined(NT_PPC_TM_CFPR) || (defined(HAVE_DECL_NT_PPC_TM_CFPR) && HAVE_DECL_NT_PPC_TM_CFPR)) +#if defined(NT_PPC_TM_CFPR) || (defined(HAVE_DECL_NT_PPC_TM_CFPR) && HAVE_DECL_NT_PPC_TM_CFPR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_TM_CFPR) == (0x109), "NT_PPC_TM_CFPR != 0x109"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_TM_CFPR 0x109 #endif -#if !(defined(NT_PPC_TM_CVMX) || (defined(HAVE_DECL_NT_PPC_TM_CVMX) && HAVE_DECL_NT_PPC_TM_CVMX)) +#if defined(NT_PPC_TM_CVMX) || (defined(HAVE_DECL_NT_PPC_TM_CVMX) && HAVE_DECL_NT_PPC_TM_CVMX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_TM_CVMX) == (0x10a), "NT_PPC_TM_CVMX != 0x10a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_TM_CVMX 0x10a #endif -#if !(defined(NT_PPC_TM_CVSX) || (defined(HAVE_DECL_NT_PPC_TM_CVSX) && HAVE_DECL_NT_PPC_TM_CVSX)) +#if defined(NT_PPC_TM_CVSX) || (defined(HAVE_DECL_NT_PPC_TM_CVSX) && HAVE_DECL_NT_PPC_TM_CVSX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_TM_CVSX) == (0x10b), "NT_PPC_TM_CVSX != 0x10b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_TM_CVSX 0x10b #endif -#if !(defined(NT_PPC_TM_SPR) || (defined(HAVE_DECL_NT_PPC_TM_SPR) && HAVE_DECL_NT_PPC_TM_SPR)) +#if defined(NT_PPC_TM_SPR) || (defined(HAVE_DECL_NT_PPC_TM_SPR) && HAVE_DECL_NT_PPC_TM_SPR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_TM_SPR) == (0x10c), "NT_PPC_TM_SPR != 0x10c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_TM_SPR 0x10c #endif -#if !(defined(NT_PPC_TM_CTAR) || (defined(HAVE_DECL_NT_PPC_TM_CTAR) && HAVE_DECL_NT_PPC_TM_CTAR)) +#if defined(NT_PPC_TM_CTAR) || (defined(HAVE_DECL_NT_PPC_TM_CTAR) && HAVE_DECL_NT_PPC_TM_CTAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_TM_CTAR) == (0x10d), "NT_PPC_TM_CTAR != 0x10d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_TM_CTAR 0x10d #endif -#if !(defined(NT_PPC_TM_CPPR) || (defined(HAVE_DECL_NT_PPC_TM_CPPR) && HAVE_DECL_NT_PPC_TM_CPPR)) +#if defined(NT_PPC_TM_CPPR) || (defined(HAVE_DECL_NT_PPC_TM_CPPR) && HAVE_DECL_NT_PPC_TM_CPPR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_TM_CPPR) == (0x10e), "NT_PPC_TM_CPPR != 0x10e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_TM_CPPR 0x10e #endif -#if !(defined(NT_PPC_TM_CDSCR) || (defined(HAVE_DECL_NT_PPC_TM_CDSCR) && HAVE_DECL_NT_PPC_TM_CDSCR)) +#if defined(NT_PPC_TM_CDSCR) || (defined(HAVE_DECL_NT_PPC_TM_CDSCR) && HAVE_DECL_NT_PPC_TM_CDSCR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_TM_CDSCR) == (0x10f), "NT_PPC_TM_CDSCR != 0x10f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_TM_CDSCR 0x10f #endif -#if !(defined(NT_PPC_PKEY) || (defined(HAVE_DECL_NT_PPC_PKEY) && HAVE_DECL_NT_PPC_PKEY)) +#if defined(NT_PPC_PKEY) || (defined(HAVE_DECL_NT_PPC_PKEY) && HAVE_DECL_NT_PPC_PKEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_PPC_PKEY) == (0x110), "NT_PPC_PKEY != 0x110"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_PPC_PKEY 0x110 #endif -#if !(defined(NT_386_TLS) || (defined(HAVE_DECL_NT_386_TLS) && HAVE_DECL_NT_386_TLS)) +#if defined(NT_386_TLS) || (defined(HAVE_DECL_NT_386_TLS) && HAVE_DECL_NT_386_TLS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_386_TLS) == (0x200), "NT_386_TLS != 0x200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_386_TLS 0x200 #endif -#if !(defined(NT_386_IOPERM) || (defined(HAVE_DECL_NT_386_IOPERM) && HAVE_DECL_NT_386_IOPERM)) +#if defined(NT_386_IOPERM) || (defined(HAVE_DECL_NT_386_IOPERM) && HAVE_DECL_NT_386_IOPERM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_386_IOPERM) == (0x201), "NT_386_IOPERM != 0x201"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_386_IOPERM 0x201 #endif -#if !(defined(NT_X86_XSTATE) || (defined(HAVE_DECL_NT_X86_XSTATE) && HAVE_DECL_NT_X86_XSTATE)) +#if defined(NT_X86_XSTATE) || (defined(HAVE_DECL_NT_X86_XSTATE) && HAVE_DECL_NT_X86_XSTATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_X86_XSTATE) == (0x202), "NT_X86_XSTATE != 0x202"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_X86_XSTATE 0x202 #endif -#if !(defined(NT_S390_HIGH_GPRS) || (defined(HAVE_DECL_NT_S390_HIGH_GPRS) && HAVE_DECL_NT_S390_HIGH_GPRS)) +#if defined(NT_S390_HIGH_GPRS) || (defined(HAVE_DECL_NT_S390_HIGH_GPRS) && HAVE_DECL_NT_S390_HIGH_GPRS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_HIGH_GPRS) == (0x300), "NT_S390_HIGH_GPRS != 0x300"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_HIGH_GPRS 0x300 #endif -#if !(defined(NT_S390_TIMER) || (defined(HAVE_DECL_NT_S390_TIMER) && HAVE_DECL_NT_S390_TIMER)) +#if defined(NT_S390_TIMER) || (defined(HAVE_DECL_NT_S390_TIMER) && HAVE_DECL_NT_S390_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_TIMER) == (0x301), "NT_S390_TIMER != 0x301"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_TIMER 0x301 #endif -#if !(defined(NT_S390_TODCMP) || (defined(HAVE_DECL_NT_S390_TODCMP) && HAVE_DECL_NT_S390_TODCMP)) +#if defined(NT_S390_TODCMP) || (defined(HAVE_DECL_NT_S390_TODCMP) && HAVE_DECL_NT_S390_TODCMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_TODCMP) == (0x302), "NT_S390_TODCMP != 0x302"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_TODCMP 0x302 #endif -#if !(defined(NT_S390_TODPREG) || (defined(HAVE_DECL_NT_S390_TODPREG) && HAVE_DECL_NT_S390_TODPREG)) +#if defined(NT_S390_TODPREG) || (defined(HAVE_DECL_NT_S390_TODPREG) && HAVE_DECL_NT_S390_TODPREG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_TODPREG) == (0x303), "NT_S390_TODPREG != 0x303"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_TODPREG 0x303 #endif -#if !(defined(NT_S390_CTRS) || (defined(HAVE_DECL_NT_S390_CTRS) && HAVE_DECL_NT_S390_CTRS)) +#if defined(NT_S390_CTRS) || (defined(HAVE_DECL_NT_S390_CTRS) && HAVE_DECL_NT_S390_CTRS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_CTRS) == (0x304), "NT_S390_CTRS != 0x304"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_CTRS 0x304 #endif -#if !(defined(NT_S390_PREFIX) || (defined(HAVE_DECL_NT_S390_PREFIX) && HAVE_DECL_NT_S390_PREFIX)) +#if defined(NT_S390_PREFIX) || (defined(HAVE_DECL_NT_S390_PREFIX) && HAVE_DECL_NT_S390_PREFIX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_PREFIX) == (0x305), "NT_S390_PREFIX != 0x305"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_PREFIX 0x305 #endif -#if !(defined(NT_S390_LAST_BREAK) || (defined(HAVE_DECL_NT_S390_LAST_BREAK) && HAVE_DECL_NT_S390_LAST_BREAK)) +#if defined(NT_S390_LAST_BREAK) || (defined(HAVE_DECL_NT_S390_LAST_BREAK) && HAVE_DECL_NT_S390_LAST_BREAK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_LAST_BREAK) == (0x306), "NT_S390_LAST_BREAK != 0x306"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_LAST_BREAK 0x306 #endif -#if !(defined(NT_S390_SYSTEM_CALL) || (defined(HAVE_DECL_NT_S390_SYSTEM_CALL) && HAVE_DECL_NT_S390_SYSTEM_CALL)) +#if defined(NT_S390_SYSTEM_CALL) || (defined(HAVE_DECL_NT_S390_SYSTEM_CALL) && HAVE_DECL_NT_S390_SYSTEM_CALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_SYSTEM_CALL) == (0x307), "NT_S390_SYSTEM_CALL != 0x307"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_SYSTEM_CALL 0x307 #endif -#if !(defined(NT_S390_TDB) || (defined(HAVE_DECL_NT_S390_TDB) && HAVE_DECL_NT_S390_TDB)) +#if defined(NT_S390_TDB) || (defined(HAVE_DECL_NT_S390_TDB) && HAVE_DECL_NT_S390_TDB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_TDB) == (0x308), "NT_S390_TDB != 0x308"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_TDB 0x308 #endif -#if !(defined(NT_S390_VXRS_LOW) || (defined(HAVE_DECL_NT_S390_VXRS_LOW) && HAVE_DECL_NT_S390_VXRS_LOW)) +#if defined(NT_S390_VXRS_LOW) || (defined(HAVE_DECL_NT_S390_VXRS_LOW) && HAVE_DECL_NT_S390_VXRS_LOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_VXRS_LOW) == (0x309), "NT_S390_VXRS_LOW != 0x309"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_VXRS_LOW 0x309 #endif -#if !(defined(NT_S390_VXRS_HIGH) || (defined(HAVE_DECL_NT_S390_VXRS_HIGH) && HAVE_DECL_NT_S390_VXRS_HIGH)) +#if defined(NT_S390_VXRS_HIGH) || (defined(HAVE_DECL_NT_S390_VXRS_HIGH) && HAVE_DECL_NT_S390_VXRS_HIGH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_VXRS_HIGH) == (0x30a), "NT_S390_VXRS_HIGH != 0x30a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_VXRS_HIGH 0x30a #endif -#if !(defined(NT_S390_GS_CB) || (defined(HAVE_DECL_NT_S390_GS_CB) && HAVE_DECL_NT_S390_GS_CB)) +#if defined(NT_S390_GS_CB) || (defined(HAVE_DECL_NT_S390_GS_CB) && HAVE_DECL_NT_S390_GS_CB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_GS_CB) == (0x30b), "NT_S390_GS_CB != 0x30b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_GS_CB 0x30b #endif -#if !(defined(NT_S390_GS_BC) || (defined(HAVE_DECL_NT_S390_GS_BC) && HAVE_DECL_NT_S390_GS_BC)) +#if defined(NT_S390_GS_BC) || (defined(HAVE_DECL_NT_S390_GS_BC) && HAVE_DECL_NT_S390_GS_BC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_GS_BC) == (0x30c), "NT_S390_GS_BC != 0x30c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_GS_BC 0x30c #endif -#if !(defined(NT_S390_RI_CB) || (defined(HAVE_DECL_NT_S390_RI_CB) && HAVE_DECL_NT_S390_RI_CB)) +#if defined(NT_S390_RI_CB) || (defined(HAVE_DECL_NT_S390_RI_CB) && HAVE_DECL_NT_S390_RI_CB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_S390_RI_CB) == (0x30d), "NT_S390_RI_CB != 0x30d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_S390_RI_CB 0x30d #endif -#if !(defined(NT_ARM_VFP) || (defined(HAVE_DECL_NT_ARM_VFP) && HAVE_DECL_NT_ARM_VFP)) +#if defined(NT_ARM_VFP) || (defined(HAVE_DECL_NT_ARM_VFP) && HAVE_DECL_NT_ARM_VFP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_ARM_VFP) == (0x400), "NT_ARM_VFP != 0x400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_ARM_VFP 0x400 #endif -#if !(defined(NT_ARM_TLS) || (defined(HAVE_DECL_NT_ARM_TLS) && HAVE_DECL_NT_ARM_TLS)) +#if defined(NT_ARM_TLS) || (defined(HAVE_DECL_NT_ARM_TLS) && HAVE_DECL_NT_ARM_TLS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_ARM_TLS) == (0x401), "NT_ARM_TLS != 0x401"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_ARM_TLS 0x401 #endif -#if !(defined(NT_ARM_HW_BREAK) || (defined(HAVE_DECL_NT_ARM_HW_BREAK) && HAVE_DECL_NT_ARM_HW_BREAK)) +#if defined(NT_ARM_HW_BREAK) || (defined(HAVE_DECL_NT_ARM_HW_BREAK) && HAVE_DECL_NT_ARM_HW_BREAK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_ARM_HW_BREAK) == (0x402), "NT_ARM_HW_BREAK != 0x402"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_ARM_HW_BREAK 0x402 #endif -#if !(defined(NT_ARM_HW_WATCH) || (defined(HAVE_DECL_NT_ARM_HW_WATCH) && HAVE_DECL_NT_ARM_HW_WATCH)) +#if defined(NT_ARM_HW_WATCH) || (defined(HAVE_DECL_NT_ARM_HW_WATCH) && HAVE_DECL_NT_ARM_HW_WATCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_ARM_HW_WATCH) == (0x403), "NT_ARM_HW_WATCH != 0x403"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_ARM_HW_WATCH 0x403 #endif -#if !(defined(NT_ARM_SYSTEM_CALL) || (defined(HAVE_DECL_NT_ARM_SYSTEM_CALL) && HAVE_DECL_NT_ARM_SYSTEM_CALL)) +#if defined(NT_ARM_SYSTEM_CALL) || (defined(HAVE_DECL_NT_ARM_SYSTEM_CALL) && HAVE_DECL_NT_ARM_SYSTEM_CALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_ARM_SYSTEM_CALL) == (0x404), "NT_ARM_SYSTEM_CALL != 0x404"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_ARM_SYSTEM_CALL 0x404 #endif -#if !(defined(NT_ARM_SVE) || (defined(HAVE_DECL_NT_ARM_SVE) && HAVE_DECL_NT_ARM_SVE)) +#if defined(NT_ARM_SVE) || (defined(HAVE_DECL_NT_ARM_SVE) && HAVE_DECL_NT_ARM_SVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_ARM_SVE) == (0x405), "NT_ARM_SVE != 0x405"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_ARM_SVE 0x405 #endif -#if !(defined(NT_METAG_CBUF) || (defined(HAVE_DECL_NT_METAG_CBUF) && HAVE_DECL_NT_METAG_CBUF)) +#if defined(NT_METAG_CBUF) || (defined(HAVE_DECL_NT_METAG_CBUF) && HAVE_DECL_NT_METAG_CBUF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_METAG_CBUF) == (0x500), "NT_METAG_CBUF != 0x500"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_METAG_CBUF 0x500 #endif -#if !(defined(NT_METAG_RPIPE) || (defined(HAVE_DECL_NT_METAG_RPIPE) && HAVE_DECL_NT_METAG_RPIPE)) +#if defined(NT_METAG_RPIPE) || (defined(HAVE_DECL_NT_METAG_RPIPE) && HAVE_DECL_NT_METAG_RPIPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_METAG_RPIPE) == (0x501), "NT_METAG_RPIPE != 0x501"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_METAG_RPIPE 0x501 #endif -#if !(defined(NT_METAG_TLS) || (defined(HAVE_DECL_NT_METAG_TLS) && HAVE_DECL_NT_METAG_TLS)) +#if defined(NT_METAG_TLS) || (defined(HAVE_DECL_NT_METAG_TLS) && HAVE_DECL_NT_METAG_TLS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_METAG_TLS) == (0x502), "NT_METAG_TLS != 0x502"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_METAG_TLS 0x502 #endif -#if !(defined(NT_ARC_V2) || (defined(HAVE_DECL_NT_ARC_V2) && HAVE_DECL_NT_ARC_V2)) +#if defined(NT_ARC_V2) || (defined(HAVE_DECL_NT_ARC_V2) && HAVE_DECL_NT_ARC_V2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NT_ARC_V2) == (0x600), "NT_ARC_V2 != 0x600"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NT_ARC_V2 0x600 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat nt_descriptor_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat nt_descriptor_types in mpers mode + +# else static const struct xlat nt_descriptor_types[] = { @@ -263,4 +521,6 @@ const struct xlat nt_descriptor_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/numa_node.h b/xlat/numa_node.h new file mode 100644 index 00000000..0d167456 --- /dev/null +++ b/xlat/numa_node.h @@ -0,0 +1,30 @@ +/* Generated by ./xlat/gen.sh from ./xlat/numa_node.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NUMA_NO_NODE) || (defined(HAVE_DECL_NUMA_NO_NODE) && HAVE_DECL_NUMA_NO_NODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NUMA_NO_NODE) == (-1U), "NUMA_NO_NODE != -1U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NUMA_NO_NODE -1U +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat numa_node in mpers mode + +# else + +static +const struct xlat numa_node[] = { + XLAT(NUMA_NO_NODE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/numa_node.in b/xlat/numa_node.in new file mode 100644 index 00000000..414b35a9 --- /dev/null +++ b/xlat/numa_node.in @@ -0,0 +1 @@ +NUMA_NO_NODE -1U diff --git a/xlat/open_access_modes.h b/xlat/open_access_modes.h index 8b11517c..75778513 100644 --- a/xlat/open_access_modes.h +++ b/xlat/open_access_modes.h @@ -1,6 +1,12 @@ /* Generated by ./xlat/gen.sh from ./xlat/open_access_modes.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat open_access_modes[] = { #if defined(O_RDONLY) || (defined(HAVE_DECL_O_RDONLY) && HAVE_DECL_O_RDONLY) @@ -18,4 +24,6 @@ const struct xlat open_access_modes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/open_mode_flags.h b/xlat/open_mode_flags.h index 1dfb186c..126ddd76 100644 --- a/xlat/open_mode_flags.h +++ b/xlat/open_mode_flags.h @@ -1,8 +1,14 @@ /* Generated by ./xlat/gen.sh from ./xlat/open_mode_flags.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + #if defined(O_NDELAY) && (O_NDELAY != O_NONBLOCK) #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat open_mode_flags[] = { #if defined(O_CREAT) || (defined(HAVE_DECL_O_CREAT) && HAVE_DECL_O_CREAT) @@ -123,4 +129,6 @@ const struct xlat open_mode_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/packet_diag_attrs.h b/xlat/packet_diag_attrs.h index 83bf88a5..90253b89 100644 --- a/xlat/packet_diag_attrs.h +++ b/xlat/packet_diag_attrs.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/packet_diag_attrs.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat packet_diag_attrs in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat packet_diag_attrs in mpers mode + +# else static const struct xlat packet_diag_attrs[] = { @@ -19,4 +25,6 @@ const struct xlat packet_diag_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/packet_diag_info_flags.h b/xlat/packet_diag_info_flags.h index b7a1a7ba..8a083da7 100644 --- a/xlat/packet_diag_info_flags.h +++ b/xlat/packet_diag_info_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/packet_diag_info_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat packet_diag_info_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat packet_diag_info_flags in mpers mode + +# else static const struct xlat packet_diag_info_flags[] = { @@ -26,4 +32,6 @@ const struct xlat packet_diag_info_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/packet_diag_show.h b/xlat/packet_diag_show.h index 76d84fad..40df9733 100644 --- a/xlat/packet_diag_show.h +++ b/xlat/packet_diag_show.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/packet_diag_show.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat packet_diag_show in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat packet_diag_show in mpers mode + +# else static const struct xlat packet_diag_show[] = { @@ -29,4 +35,6 @@ const struct xlat packet_diag_show[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/packet_mreq_type.h b/xlat/packet_mreq_type.h index 012d3e78..c1448d37 100644 --- a/xlat/packet_mreq_type.h +++ b/xlat/packet_mreq_type.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/packet_mreq_type.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat packet_mreq_type in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat packet_mreq_type in mpers mode + +# else static const struct xlat packet_mreq_type[] = { @@ -23,4 +29,6 @@ const struct xlat packet_mreq_type[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_attr_size.h b/xlat/perf_attr_size.h index ecebb4d7..fa876d3a 100644 --- a/xlat/perf_attr_size.h +++ b/xlat/perf_attr_size.h @@ -1,28 +1,58 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_attr_size.in; do not edit. */ -#if !(defined(PERF_ATTR_SIZE_VER0) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER0) && HAVE_DECL_PERF_ATTR_SIZE_VER0)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_ATTR_SIZE_VER0) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER0) && HAVE_DECL_PERF_ATTR_SIZE_VER0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_ATTR_SIZE_VER0) == (64), "PERF_ATTR_SIZE_VER0 != 64"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_ATTR_SIZE_VER0 64 #endif -#if !(defined(PERF_ATTR_SIZE_VER1) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER1) && HAVE_DECL_PERF_ATTR_SIZE_VER1)) +#if defined(PERF_ATTR_SIZE_VER1) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER1) && HAVE_DECL_PERF_ATTR_SIZE_VER1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_ATTR_SIZE_VER1) == (72), "PERF_ATTR_SIZE_VER1 != 72"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_ATTR_SIZE_VER1 72 #endif -#if !(defined(PERF_ATTR_SIZE_VER2) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER2) && HAVE_DECL_PERF_ATTR_SIZE_VER2)) +#if defined(PERF_ATTR_SIZE_VER2) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER2) && HAVE_DECL_PERF_ATTR_SIZE_VER2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_ATTR_SIZE_VER2) == (80), "PERF_ATTR_SIZE_VER2 != 80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_ATTR_SIZE_VER2 80 #endif -#if !(defined(PERF_ATTR_SIZE_VER3) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER3) && HAVE_DECL_PERF_ATTR_SIZE_VER3)) +#if defined(PERF_ATTR_SIZE_VER3) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER3) && HAVE_DECL_PERF_ATTR_SIZE_VER3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_ATTR_SIZE_VER3) == (96), "PERF_ATTR_SIZE_VER3 != 96"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_ATTR_SIZE_VER3 96 #endif -#if !(defined(PERF_ATTR_SIZE_VER4) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER4) && HAVE_DECL_PERF_ATTR_SIZE_VER4)) +#if defined(PERF_ATTR_SIZE_VER4) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER4) && HAVE_DECL_PERF_ATTR_SIZE_VER4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_ATTR_SIZE_VER4) == (104), "PERF_ATTR_SIZE_VER4 != 104"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_ATTR_SIZE_VER4 104 #endif -#if !(defined(PERF_ATTR_SIZE_VER5) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER5) && HAVE_DECL_PERF_ATTR_SIZE_VER5)) +#if defined(PERF_ATTR_SIZE_VER5) || (defined(HAVE_DECL_PERF_ATTR_SIZE_VER5) && HAVE_DECL_PERF_ATTR_SIZE_VER5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_ATTR_SIZE_VER5) == (112), "PERF_ATTR_SIZE_VER5 != 112"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_ATTR_SIZE_VER5 112 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_attr_size in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_attr_size in mpers mode + +# else static const struct xlat perf_attr_size[] = { @@ -35,4 +65,6 @@ const struct xlat perf_attr_size[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_branch_sample_type.h b/xlat/perf_branch_sample_type.h index 7c6a5bf8..3632fa82 100644 --- a/xlat/perf_branch_sample_type.h +++ b/xlat/perf_branch_sample_type.h @@ -1,61 +1,135 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_branch_sample_type.in; do not edit. */ -#if !(defined(PERF_SAMPLE_BRANCH_USER) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_USER) && HAVE_DECL_PERF_SAMPLE_BRANCH_USER)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_SAMPLE_BRANCH_USER) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_USER) && HAVE_DECL_PERF_SAMPLE_BRANCH_USER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_USER) == (1 << 0), "PERF_SAMPLE_BRANCH_USER != 1 << 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_USER 1 << 0 #endif -#if !(defined(PERF_SAMPLE_BRANCH_KERNEL) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_KERNEL) && HAVE_DECL_PERF_SAMPLE_BRANCH_KERNEL)) +#if defined(PERF_SAMPLE_BRANCH_KERNEL) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_KERNEL) && HAVE_DECL_PERF_SAMPLE_BRANCH_KERNEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_KERNEL) == (1 << 1), "PERF_SAMPLE_BRANCH_KERNEL != 1 << 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_KERNEL 1 << 1 #endif -#if !(defined(PERF_SAMPLE_BRANCH_HV) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_HV) && HAVE_DECL_PERF_SAMPLE_BRANCH_HV)) +#if defined(PERF_SAMPLE_BRANCH_HV) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_HV) && HAVE_DECL_PERF_SAMPLE_BRANCH_HV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_HV) == (1 << 2), "PERF_SAMPLE_BRANCH_HV != 1 << 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_HV 1 << 2 #endif -#if !(defined(PERF_SAMPLE_BRANCH_ANY) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_ANY) && HAVE_DECL_PERF_SAMPLE_BRANCH_ANY)) +#if defined(PERF_SAMPLE_BRANCH_ANY) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_ANY) && HAVE_DECL_PERF_SAMPLE_BRANCH_ANY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_ANY) == (1 << 3), "PERF_SAMPLE_BRANCH_ANY != 1 << 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_ANY 1 << 3 #endif -#if !(defined(PERF_SAMPLE_BRANCH_ANY_CALL) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_ANY_CALL) && HAVE_DECL_PERF_SAMPLE_BRANCH_ANY_CALL)) +#if defined(PERF_SAMPLE_BRANCH_ANY_CALL) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_ANY_CALL) && HAVE_DECL_PERF_SAMPLE_BRANCH_ANY_CALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_ANY_CALL) == (1 << 4), "PERF_SAMPLE_BRANCH_ANY_CALL != 1 << 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_ANY_CALL 1 << 4 #endif -#if !(defined(PERF_SAMPLE_BRANCH_ANY_RETURN) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_ANY_RETURN) && HAVE_DECL_PERF_SAMPLE_BRANCH_ANY_RETURN)) +#if defined(PERF_SAMPLE_BRANCH_ANY_RETURN) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_ANY_RETURN) && HAVE_DECL_PERF_SAMPLE_BRANCH_ANY_RETURN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_ANY_RETURN) == (1 << 5), "PERF_SAMPLE_BRANCH_ANY_RETURN != 1 << 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_ANY_RETURN 1 << 5 #endif -#if !(defined(PERF_SAMPLE_BRANCH_IND_CALL) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_IND_CALL) && HAVE_DECL_PERF_SAMPLE_BRANCH_IND_CALL)) +#if defined(PERF_SAMPLE_BRANCH_IND_CALL) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_IND_CALL) && HAVE_DECL_PERF_SAMPLE_BRANCH_IND_CALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_IND_CALL) == (1 << 6), "PERF_SAMPLE_BRANCH_IND_CALL != 1 << 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_IND_CALL 1 << 6 #endif -#if !(defined(PERF_SAMPLE_BRANCH_ABORT_TX) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_ABORT_TX) && HAVE_DECL_PERF_SAMPLE_BRANCH_ABORT_TX)) +#if defined(PERF_SAMPLE_BRANCH_ABORT_TX) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_ABORT_TX) && HAVE_DECL_PERF_SAMPLE_BRANCH_ABORT_TX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_ABORT_TX) == (1 << 7), "PERF_SAMPLE_BRANCH_ABORT_TX != 1 << 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_ABORT_TX 1 << 7 #endif -#if !(defined(PERF_SAMPLE_BRANCH_IN_TX) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_IN_TX) && HAVE_DECL_PERF_SAMPLE_BRANCH_IN_TX)) +#if defined(PERF_SAMPLE_BRANCH_IN_TX) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_IN_TX) && HAVE_DECL_PERF_SAMPLE_BRANCH_IN_TX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_IN_TX) == (1 << 8), "PERF_SAMPLE_BRANCH_IN_TX != 1 << 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_IN_TX 1 << 8 #endif -#if !(defined(PERF_SAMPLE_BRANCH_NO_TX) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_NO_TX) && HAVE_DECL_PERF_SAMPLE_BRANCH_NO_TX)) +#if defined(PERF_SAMPLE_BRANCH_NO_TX) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_NO_TX) && HAVE_DECL_PERF_SAMPLE_BRANCH_NO_TX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_NO_TX) == (1 << 9), "PERF_SAMPLE_BRANCH_NO_TX != 1 << 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_NO_TX 1 << 9 #endif -#if !(defined(PERF_SAMPLE_BRANCH_COND) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_COND) && HAVE_DECL_PERF_SAMPLE_BRANCH_COND)) +#if defined(PERF_SAMPLE_BRANCH_COND) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_COND) && HAVE_DECL_PERF_SAMPLE_BRANCH_COND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_COND) == (1 << 10), "PERF_SAMPLE_BRANCH_COND != 1 << 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_COND 1 << 10 #endif -#if !(defined(PERF_SAMPLE_BRANCH_CALL_STACK) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_CALL_STACK) && HAVE_DECL_PERF_SAMPLE_BRANCH_CALL_STACK)) +#if defined(PERF_SAMPLE_BRANCH_CALL_STACK) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_CALL_STACK) && HAVE_DECL_PERF_SAMPLE_BRANCH_CALL_STACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_CALL_STACK) == (1 << 11), "PERF_SAMPLE_BRANCH_CALL_STACK != 1 << 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_CALL_STACK 1 << 11 #endif -#if !(defined(PERF_SAMPLE_BRANCH_IND_JUMP) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_IND_JUMP) && HAVE_DECL_PERF_SAMPLE_BRANCH_IND_JUMP)) +#if defined(PERF_SAMPLE_BRANCH_IND_JUMP) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_IND_JUMP) && HAVE_DECL_PERF_SAMPLE_BRANCH_IND_JUMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_IND_JUMP) == (1 << 12), "PERF_SAMPLE_BRANCH_IND_JUMP != 1 << 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_IND_JUMP 1 << 12 #endif -#if !(defined(PERF_SAMPLE_BRANCH_CALL) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_CALL) && HAVE_DECL_PERF_SAMPLE_BRANCH_CALL)) +#if defined(PERF_SAMPLE_BRANCH_CALL) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_CALL) && HAVE_DECL_PERF_SAMPLE_BRANCH_CALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_CALL) == (1 << 13), "PERF_SAMPLE_BRANCH_CALL != 1 << 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_CALL 1 << 13 #endif -#if !(defined(PERF_SAMPLE_BRANCH_NO_FLAGS) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_NO_FLAGS) && HAVE_DECL_PERF_SAMPLE_BRANCH_NO_FLAGS)) +#if defined(PERF_SAMPLE_BRANCH_NO_FLAGS) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_NO_FLAGS) && HAVE_DECL_PERF_SAMPLE_BRANCH_NO_FLAGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_NO_FLAGS) == (1 << 14), "PERF_SAMPLE_BRANCH_NO_FLAGS != 1 << 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_NO_FLAGS 1 << 14 #endif -#if !(defined(PERF_SAMPLE_BRANCH_NO_CYCLES) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_NO_CYCLES) && HAVE_DECL_PERF_SAMPLE_BRANCH_NO_CYCLES)) +#if defined(PERF_SAMPLE_BRANCH_NO_CYCLES) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_NO_CYCLES) && HAVE_DECL_PERF_SAMPLE_BRANCH_NO_CYCLES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_NO_CYCLES) == (1 << 15), "PERF_SAMPLE_BRANCH_NO_CYCLES != 1 << 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_NO_CYCLES 1 << 15 #endif -#if !(defined(PERF_SAMPLE_BRANCH_TYPE_SAVE) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_TYPE_SAVE) && HAVE_DECL_PERF_SAMPLE_BRANCH_TYPE_SAVE)) +#if defined(PERF_SAMPLE_BRANCH_TYPE_SAVE) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_TYPE_SAVE) && HAVE_DECL_PERF_SAMPLE_BRANCH_TYPE_SAVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_TYPE_SAVE) == (1 << 16), "PERF_SAMPLE_BRANCH_TYPE_SAVE != 1 << 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_TYPE_SAVE 1 << 16 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_branch_sample_type in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_branch_sample_type in mpers mode + +# else static const struct xlat perf_branch_sample_type[] = { @@ -79,4 +153,6 @@ const struct xlat perf_branch_sample_type[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_event_open_flags.h b/xlat/perf_event_open_flags.h index 922f9c45..86475b9d 100644 --- a/xlat/perf_event_open_flags.h +++ b/xlat/perf_event_open_flags.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_event_open_flags.in; do not edit. */ -#if !(defined(PERF_FLAG_FD_NO_GROUP) || (defined(HAVE_DECL_PERF_FLAG_FD_NO_GROUP) && HAVE_DECL_PERF_FLAG_FD_NO_GROUP)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_FLAG_FD_NO_GROUP) || (defined(HAVE_DECL_PERF_FLAG_FD_NO_GROUP) && HAVE_DECL_PERF_FLAG_FD_NO_GROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_FLAG_FD_NO_GROUP) == (1), "PERF_FLAG_FD_NO_GROUP != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_FLAG_FD_NO_GROUP 1 #endif -#if !(defined(PERF_FLAG_FD_OUTPUT) || (defined(HAVE_DECL_PERF_FLAG_FD_OUTPUT) && HAVE_DECL_PERF_FLAG_FD_OUTPUT)) +#if defined(PERF_FLAG_FD_OUTPUT) || (defined(HAVE_DECL_PERF_FLAG_FD_OUTPUT) && HAVE_DECL_PERF_FLAG_FD_OUTPUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_FLAG_FD_OUTPUT) == (2), "PERF_FLAG_FD_OUTPUT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_FLAG_FD_OUTPUT 2 #endif -#if !(defined(PERF_FLAG_PID_CGROUP) || (defined(HAVE_DECL_PERF_FLAG_PID_CGROUP) && HAVE_DECL_PERF_FLAG_PID_CGROUP)) +#if defined(PERF_FLAG_PID_CGROUP) || (defined(HAVE_DECL_PERF_FLAG_PID_CGROUP) && HAVE_DECL_PERF_FLAG_PID_CGROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_FLAG_PID_CGROUP) == (4), "PERF_FLAG_PID_CGROUP != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_FLAG_PID_CGROUP 4 #endif -#if !(defined(PERF_FLAG_FD_CLOEXEC) || (defined(HAVE_DECL_PERF_FLAG_FD_CLOEXEC) && HAVE_DECL_PERF_FLAG_FD_CLOEXEC)) +#if defined(PERF_FLAG_FD_CLOEXEC) || (defined(HAVE_DECL_PERF_FLAG_FD_CLOEXEC) && HAVE_DECL_PERF_FLAG_FD_CLOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_FLAG_FD_CLOEXEC) == (8), "PERF_FLAG_FD_CLOEXEC != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_FLAG_FD_CLOEXEC 8 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_event_open_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_event_open_flags in mpers mode + +# else static const struct xlat perf_event_open_flags[] = { @@ -27,4 +49,6 @@ const struct xlat perf_event_open_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_event_read_format.h b/xlat/perf_event_read_format.h index 7b4c71d7..0c74308e 100644 --- a/xlat/perf_event_read_format.h +++ b/xlat/perf_event_read_format.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_event_read_format.in; do not edit. */ -#if !(defined(PERF_FORMAT_TOTAL_TIME_ENABLED) || (defined(HAVE_DECL_PERF_FORMAT_TOTAL_TIME_ENABLED) && HAVE_DECL_PERF_FORMAT_TOTAL_TIME_ENABLED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_FORMAT_TOTAL_TIME_ENABLED) || (defined(HAVE_DECL_PERF_FORMAT_TOTAL_TIME_ENABLED) && HAVE_DECL_PERF_FORMAT_TOTAL_TIME_ENABLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_FORMAT_TOTAL_TIME_ENABLED) == (1 << 0), "PERF_FORMAT_TOTAL_TIME_ENABLED != 1 << 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_FORMAT_TOTAL_TIME_ENABLED 1 << 0 #endif -#if !(defined(PERF_FORMAT_TOTAL_TIME_RUNNING) || (defined(HAVE_DECL_PERF_FORMAT_TOTAL_TIME_RUNNING) && HAVE_DECL_PERF_FORMAT_TOTAL_TIME_RUNNING)) +#if defined(PERF_FORMAT_TOTAL_TIME_RUNNING) || (defined(HAVE_DECL_PERF_FORMAT_TOTAL_TIME_RUNNING) && HAVE_DECL_PERF_FORMAT_TOTAL_TIME_RUNNING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_FORMAT_TOTAL_TIME_RUNNING) == (1 << 1), "PERF_FORMAT_TOTAL_TIME_RUNNING != 1 << 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_FORMAT_TOTAL_TIME_RUNNING 1 << 1 #endif -#if !(defined(PERF_FORMAT_ID) || (defined(HAVE_DECL_PERF_FORMAT_ID) && HAVE_DECL_PERF_FORMAT_ID)) +#if defined(PERF_FORMAT_ID) || (defined(HAVE_DECL_PERF_FORMAT_ID) && HAVE_DECL_PERF_FORMAT_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_FORMAT_ID) == (1 << 2), "PERF_FORMAT_ID != 1 << 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_FORMAT_ID 1 << 2 #endif -#if !(defined(PERF_FORMAT_GROUP) || (defined(HAVE_DECL_PERF_FORMAT_GROUP) && HAVE_DECL_PERF_FORMAT_GROUP)) +#if defined(PERF_FORMAT_GROUP) || (defined(HAVE_DECL_PERF_FORMAT_GROUP) && HAVE_DECL_PERF_FORMAT_GROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_FORMAT_GROUP) == (1 << 3), "PERF_FORMAT_GROUP != 1 << 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_FORMAT_GROUP 1 << 3 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_event_read_format in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_event_read_format in mpers mode + +# else static const struct xlat perf_event_read_format[] = { @@ -27,4 +49,6 @@ const struct xlat perf_event_read_format[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_event_sample_format.h b/xlat/perf_event_sample_format.h index 42094ba2..3adda9c5 100644 --- a/xlat/perf_event_sample_format.h +++ b/xlat/perf_event_sample_format.h @@ -1,70 +1,156 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_event_sample_format.in; do not edit. */ -#if !(defined(PERF_SAMPLE_IP) || (defined(HAVE_DECL_PERF_SAMPLE_IP) && HAVE_DECL_PERF_SAMPLE_IP)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_SAMPLE_IP) || (defined(HAVE_DECL_PERF_SAMPLE_IP) && HAVE_DECL_PERF_SAMPLE_IP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_IP) == (1 << 0), "PERF_SAMPLE_IP != 1 << 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_IP 1 << 0 #endif -#if !(defined(PERF_SAMPLE_TID) || (defined(HAVE_DECL_PERF_SAMPLE_TID) && HAVE_DECL_PERF_SAMPLE_TID)) +#if defined(PERF_SAMPLE_TID) || (defined(HAVE_DECL_PERF_SAMPLE_TID) && HAVE_DECL_PERF_SAMPLE_TID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_TID) == (1 << 1), "PERF_SAMPLE_TID != 1 << 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_TID 1 << 1 #endif -#if !(defined(PERF_SAMPLE_TIME) || (defined(HAVE_DECL_PERF_SAMPLE_TIME) && HAVE_DECL_PERF_SAMPLE_TIME)) +#if defined(PERF_SAMPLE_TIME) || (defined(HAVE_DECL_PERF_SAMPLE_TIME) && HAVE_DECL_PERF_SAMPLE_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_TIME) == (1 << 2), "PERF_SAMPLE_TIME != 1 << 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_TIME 1 << 2 #endif -#if !(defined(PERF_SAMPLE_ADDR) || (defined(HAVE_DECL_PERF_SAMPLE_ADDR) && HAVE_DECL_PERF_SAMPLE_ADDR)) +#if defined(PERF_SAMPLE_ADDR) || (defined(HAVE_DECL_PERF_SAMPLE_ADDR) && HAVE_DECL_PERF_SAMPLE_ADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_ADDR) == (1 << 3), "PERF_SAMPLE_ADDR != 1 << 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_ADDR 1 << 3 #endif -#if !(defined(PERF_SAMPLE_READ) || (defined(HAVE_DECL_PERF_SAMPLE_READ) && HAVE_DECL_PERF_SAMPLE_READ)) +#if defined(PERF_SAMPLE_READ) || (defined(HAVE_DECL_PERF_SAMPLE_READ) && HAVE_DECL_PERF_SAMPLE_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_READ) == (1 << 4), "PERF_SAMPLE_READ != 1 << 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_READ 1 << 4 #endif -#if !(defined(PERF_SAMPLE_CALLCHAIN) || (defined(HAVE_DECL_PERF_SAMPLE_CALLCHAIN) && HAVE_DECL_PERF_SAMPLE_CALLCHAIN)) +#if defined(PERF_SAMPLE_CALLCHAIN) || (defined(HAVE_DECL_PERF_SAMPLE_CALLCHAIN) && HAVE_DECL_PERF_SAMPLE_CALLCHAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_CALLCHAIN) == (1 << 5), "PERF_SAMPLE_CALLCHAIN != 1 << 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_CALLCHAIN 1 << 5 #endif -#if !(defined(PERF_SAMPLE_ID) || (defined(HAVE_DECL_PERF_SAMPLE_ID) && HAVE_DECL_PERF_SAMPLE_ID)) +#if defined(PERF_SAMPLE_ID) || (defined(HAVE_DECL_PERF_SAMPLE_ID) && HAVE_DECL_PERF_SAMPLE_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_ID) == (1 << 6), "PERF_SAMPLE_ID != 1 << 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_ID 1 << 6 #endif -#if !(defined(PERF_SAMPLE_CPU) || (defined(HAVE_DECL_PERF_SAMPLE_CPU) && HAVE_DECL_PERF_SAMPLE_CPU)) +#if defined(PERF_SAMPLE_CPU) || (defined(HAVE_DECL_PERF_SAMPLE_CPU) && HAVE_DECL_PERF_SAMPLE_CPU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_CPU) == (1 << 7), "PERF_SAMPLE_CPU != 1 << 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_CPU 1 << 7 #endif -#if !(defined(PERF_SAMPLE_PERIOD) || (defined(HAVE_DECL_PERF_SAMPLE_PERIOD) && HAVE_DECL_PERF_SAMPLE_PERIOD)) +#if defined(PERF_SAMPLE_PERIOD) || (defined(HAVE_DECL_PERF_SAMPLE_PERIOD) && HAVE_DECL_PERF_SAMPLE_PERIOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_PERIOD) == (1 << 8), "PERF_SAMPLE_PERIOD != 1 << 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_PERIOD 1 << 8 #endif -#if !(defined(PERF_SAMPLE_STREAM_ID) || (defined(HAVE_DECL_PERF_SAMPLE_STREAM_ID) && HAVE_DECL_PERF_SAMPLE_STREAM_ID)) +#if defined(PERF_SAMPLE_STREAM_ID) || (defined(HAVE_DECL_PERF_SAMPLE_STREAM_ID) && HAVE_DECL_PERF_SAMPLE_STREAM_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_STREAM_ID) == (1 << 9), "PERF_SAMPLE_STREAM_ID != 1 << 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_STREAM_ID 1 << 9 #endif -#if !(defined(PERF_SAMPLE_RAW) || (defined(HAVE_DECL_PERF_SAMPLE_RAW) && HAVE_DECL_PERF_SAMPLE_RAW)) +#if defined(PERF_SAMPLE_RAW) || (defined(HAVE_DECL_PERF_SAMPLE_RAW) && HAVE_DECL_PERF_SAMPLE_RAW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_RAW) == (1 << 10), "PERF_SAMPLE_RAW != 1 << 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_RAW 1 << 10 #endif -#if !(defined(PERF_SAMPLE_BRANCH_STACK) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_STACK) && HAVE_DECL_PERF_SAMPLE_BRANCH_STACK)) +#if defined(PERF_SAMPLE_BRANCH_STACK) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_STACK) && HAVE_DECL_PERF_SAMPLE_BRANCH_STACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_BRANCH_STACK) == (1 << 11), "PERF_SAMPLE_BRANCH_STACK != 1 << 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_BRANCH_STACK 1 << 11 #endif -#if !(defined(PERF_SAMPLE_REGS_USER) || (defined(HAVE_DECL_PERF_SAMPLE_REGS_USER) && HAVE_DECL_PERF_SAMPLE_REGS_USER)) +#if defined(PERF_SAMPLE_REGS_USER) || (defined(HAVE_DECL_PERF_SAMPLE_REGS_USER) && HAVE_DECL_PERF_SAMPLE_REGS_USER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_REGS_USER) == (1 << 12), "PERF_SAMPLE_REGS_USER != 1 << 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_REGS_USER 1 << 12 #endif -#if !(defined(PERF_SAMPLE_STACK_USER) || (defined(HAVE_DECL_PERF_SAMPLE_STACK_USER) && HAVE_DECL_PERF_SAMPLE_STACK_USER)) +#if defined(PERF_SAMPLE_STACK_USER) || (defined(HAVE_DECL_PERF_SAMPLE_STACK_USER) && HAVE_DECL_PERF_SAMPLE_STACK_USER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_STACK_USER) == (1 << 13), "PERF_SAMPLE_STACK_USER != 1 << 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_STACK_USER 1 << 13 #endif -#if !(defined(PERF_SAMPLE_WEIGHT) || (defined(HAVE_DECL_PERF_SAMPLE_WEIGHT) && HAVE_DECL_PERF_SAMPLE_WEIGHT)) +#if defined(PERF_SAMPLE_WEIGHT) || (defined(HAVE_DECL_PERF_SAMPLE_WEIGHT) && HAVE_DECL_PERF_SAMPLE_WEIGHT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_WEIGHT) == (1 << 14), "PERF_SAMPLE_WEIGHT != 1 << 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_WEIGHT 1 << 14 #endif -#if !(defined(PERF_SAMPLE_DATA_SRC) || (defined(HAVE_DECL_PERF_SAMPLE_DATA_SRC) && HAVE_DECL_PERF_SAMPLE_DATA_SRC)) +#if defined(PERF_SAMPLE_DATA_SRC) || (defined(HAVE_DECL_PERF_SAMPLE_DATA_SRC) && HAVE_DECL_PERF_SAMPLE_DATA_SRC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_DATA_SRC) == (1 << 15), "PERF_SAMPLE_DATA_SRC != 1 << 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_DATA_SRC 1 << 15 #endif -#if !(defined(PERF_SAMPLE_IDENTIFIER) || (defined(HAVE_DECL_PERF_SAMPLE_IDENTIFIER) && HAVE_DECL_PERF_SAMPLE_IDENTIFIER)) +#if defined(PERF_SAMPLE_IDENTIFIER) || (defined(HAVE_DECL_PERF_SAMPLE_IDENTIFIER) && HAVE_DECL_PERF_SAMPLE_IDENTIFIER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_IDENTIFIER) == (1 << 16), "PERF_SAMPLE_IDENTIFIER != 1 << 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_IDENTIFIER 1 << 16 #endif -#if !(defined(PERF_SAMPLE_TRANSACTION) || (defined(HAVE_DECL_PERF_SAMPLE_TRANSACTION) && HAVE_DECL_PERF_SAMPLE_TRANSACTION)) +#if defined(PERF_SAMPLE_TRANSACTION) || (defined(HAVE_DECL_PERF_SAMPLE_TRANSACTION) && HAVE_DECL_PERF_SAMPLE_TRANSACTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_TRANSACTION) == (1 << 17), "PERF_SAMPLE_TRANSACTION != 1 << 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_TRANSACTION 1 << 17 #endif -#if !(defined(PERF_SAMPLE_REGS_INTR) || (defined(HAVE_DECL_PERF_SAMPLE_REGS_INTR) && HAVE_DECL_PERF_SAMPLE_REGS_INTR)) +#if defined(PERF_SAMPLE_REGS_INTR) || (defined(HAVE_DECL_PERF_SAMPLE_REGS_INTR) && HAVE_DECL_PERF_SAMPLE_REGS_INTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_REGS_INTR) == (1 << 18), "PERF_SAMPLE_REGS_INTR != 1 << 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_REGS_INTR 1 << 18 #endif -#if !(defined(PERF_SAMPLE_PHYS_ADDR) || (defined(HAVE_DECL_PERF_SAMPLE_PHYS_ADDR) && HAVE_DECL_PERF_SAMPLE_PHYS_ADDR)) +#if defined(PERF_SAMPLE_PHYS_ADDR) || (defined(HAVE_DECL_PERF_SAMPLE_PHYS_ADDR) && HAVE_DECL_PERF_SAMPLE_PHYS_ADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_SAMPLE_PHYS_ADDR) == (1 << 19), "PERF_SAMPLE_PHYS_ADDR != 1 << 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_SAMPLE_PHYS_ADDR 1 << 19 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_event_sample_format in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_event_sample_format in mpers mode + +# else static const struct xlat perf_event_sample_format[] = { @@ -91,4 +177,6 @@ const struct xlat perf_event_sample_format[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_hw_cache_id.h b/xlat/perf_hw_cache_id.h index 86b9cbc8..04ef0585 100644 --- a/xlat/perf_hw_cache_id.h +++ b/xlat/perf_hw_cache_id.h @@ -1,31 +1,65 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_hw_cache_id.in; do not edit. */ -#if !(defined(PERF_COUNT_HW_CACHE_L1D) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_L1D) && HAVE_DECL_PERF_COUNT_HW_CACHE_L1D)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_COUNT_HW_CACHE_L1D) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_L1D) && HAVE_DECL_PERF_COUNT_HW_CACHE_L1D) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_L1D) == (0), "PERF_COUNT_HW_CACHE_L1D != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_L1D 0 #endif -#if !(defined(PERF_COUNT_HW_CACHE_L1I) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_L1I) && HAVE_DECL_PERF_COUNT_HW_CACHE_L1I)) +#if defined(PERF_COUNT_HW_CACHE_L1I) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_L1I) && HAVE_DECL_PERF_COUNT_HW_CACHE_L1I) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_L1I) == (1), "PERF_COUNT_HW_CACHE_L1I != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_L1I 1 #endif -#if !(defined(PERF_COUNT_HW_CACHE_LL) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_LL) && HAVE_DECL_PERF_COUNT_HW_CACHE_LL)) +#if defined(PERF_COUNT_HW_CACHE_LL) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_LL) && HAVE_DECL_PERF_COUNT_HW_CACHE_LL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_LL) == (2), "PERF_COUNT_HW_CACHE_LL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_LL 2 #endif -#if !(defined(PERF_COUNT_HW_CACHE_DTLB) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_DTLB) && HAVE_DECL_PERF_COUNT_HW_CACHE_DTLB)) +#if defined(PERF_COUNT_HW_CACHE_DTLB) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_DTLB) && HAVE_DECL_PERF_COUNT_HW_CACHE_DTLB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_DTLB) == (3), "PERF_COUNT_HW_CACHE_DTLB != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_DTLB 3 #endif -#if !(defined(PERF_COUNT_HW_CACHE_ITLB) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_ITLB) && HAVE_DECL_PERF_COUNT_HW_CACHE_ITLB)) +#if defined(PERF_COUNT_HW_CACHE_ITLB) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_ITLB) && HAVE_DECL_PERF_COUNT_HW_CACHE_ITLB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_ITLB) == (4), "PERF_COUNT_HW_CACHE_ITLB != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_ITLB 4 #endif -#if !(defined(PERF_COUNT_HW_CACHE_BPU) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_BPU) && HAVE_DECL_PERF_COUNT_HW_CACHE_BPU)) +#if defined(PERF_COUNT_HW_CACHE_BPU) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_BPU) && HAVE_DECL_PERF_COUNT_HW_CACHE_BPU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_BPU) == (5), "PERF_COUNT_HW_CACHE_BPU != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_BPU 5 #endif -#if !(defined(PERF_COUNT_HW_CACHE_NODE) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_NODE) && HAVE_DECL_PERF_COUNT_HW_CACHE_NODE)) +#if defined(PERF_COUNT_HW_CACHE_NODE) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_NODE) && HAVE_DECL_PERF_COUNT_HW_CACHE_NODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_NODE) == (6), "PERF_COUNT_HW_CACHE_NODE != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_NODE 6 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_hw_cache_id in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_hw_cache_id in mpers mode + +# else static const struct xlat perf_hw_cache_id[] = { @@ -40,4 +74,6 @@ const struct xlat perf_hw_cache_id[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_hw_cache_op_id.h b/xlat/perf_hw_cache_op_id.h index 5705f91f..b0cadd32 100644 --- a/xlat/perf_hw_cache_op_id.h +++ b/xlat/perf_hw_cache_op_id.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_hw_cache_op_id.in; do not edit. */ -#if !(defined(PERF_COUNT_HW_CACHE_OP_READ) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_OP_READ) && HAVE_DECL_PERF_COUNT_HW_CACHE_OP_READ)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_COUNT_HW_CACHE_OP_READ) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_OP_READ) && HAVE_DECL_PERF_COUNT_HW_CACHE_OP_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_OP_READ) == (0), "PERF_COUNT_HW_CACHE_OP_READ != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_OP_READ 0 #endif -#if !(defined(PERF_COUNT_HW_CACHE_OP_WRITE) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_OP_WRITE) && HAVE_DECL_PERF_COUNT_HW_CACHE_OP_WRITE)) +#if defined(PERF_COUNT_HW_CACHE_OP_WRITE) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_OP_WRITE) && HAVE_DECL_PERF_COUNT_HW_CACHE_OP_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_OP_WRITE) == (1), "PERF_COUNT_HW_CACHE_OP_WRITE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_OP_WRITE 1 #endif -#if !(defined(PERF_COUNT_HW_CACHE_OP_PREFETCH) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_OP_PREFETCH) && HAVE_DECL_PERF_COUNT_HW_CACHE_OP_PREFETCH)) +#if defined(PERF_COUNT_HW_CACHE_OP_PREFETCH) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_OP_PREFETCH) && HAVE_DECL_PERF_COUNT_HW_CACHE_OP_PREFETCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_OP_PREFETCH) == (2), "PERF_COUNT_HW_CACHE_OP_PREFETCH != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_OP_PREFETCH 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_hw_cache_op_id in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_hw_cache_op_id in mpers mode + +# else static const struct xlat perf_hw_cache_op_id[] = { @@ -24,4 +42,6 @@ const struct xlat perf_hw_cache_op_id[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_hw_cache_op_result_id.h b/xlat/perf_hw_cache_op_result_id.h index 70a9e9a4..c026ce88 100644 --- a/xlat/perf_hw_cache_op_result_id.h +++ b/xlat/perf_hw_cache_op_result_id.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_hw_cache_op_result_id.in; do not edit. */ -#if !(defined(PERF_COUNT_HW_CACHE_RESULT_ACCESS) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_RESULT_ACCESS) && HAVE_DECL_PERF_COUNT_HW_CACHE_RESULT_ACCESS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_COUNT_HW_CACHE_RESULT_ACCESS) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_RESULT_ACCESS) && HAVE_DECL_PERF_COUNT_HW_CACHE_RESULT_ACCESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_RESULT_ACCESS) == (0), "PERF_COUNT_HW_CACHE_RESULT_ACCESS != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_RESULT_ACCESS 0 #endif -#if !(defined(PERF_COUNT_HW_CACHE_RESULT_MISS) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_RESULT_MISS) && HAVE_DECL_PERF_COUNT_HW_CACHE_RESULT_MISS)) +#if defined(PERF_COUNT_HW_CACHE_RESULT_MISS) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_RESULT_MISS) && HAVE_DECL_PERF_COUNT_HW_CACHE_RESULT_MISS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_RESULT_MISS) == (1), "PERF_COUNT_HW_CACHE_RESULT_MISS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_RESULT_MISS 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_hw_cache_op_result_id in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_hw_cache_op_result_id in mpers mode + +# else static const struct xlat perf_hw_cache_op_result_id[] = { @@ -20,4 +34,6 @@ const struct xlat perf_hw_cache_op_result_id[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_hw_id.h b/xlat/perf_hw_id.h index a076eca7..8c71a546 100644 --- a/xlat/perf_hw_id.h +++ b/xlat/perf_hw_id.h @@ -1,40 +1,86 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_hw_id.in; do not edit. */ -#if !(defined(PERF_COUNT_HW_CPU_CYCLES) || (defined(HAVE_DECL_PERF_COUNT_HW_CPU_CYCLES) && HAVE_DECL_PERF_COUNT_HW_CPU_CYCLES)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_COUNT_HW_CPU_CYCLES) || (defined(HAVE_DECL_PERF_COUNT_HW_CPU_CYCLES) && HAVE_DECL_PERF_COUNT_HW_CPU_CYCLES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CPU_CYCLES) == (0), "PERF_COUNT_HW_CPU_CYCLES != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CPU_CYCLES 0 #endif -#if !(defined(PERF_COUNT_HW_INSTRUCTIONS) || (defined(HAVE_DECL_PERF_COUNT_HW_INSTRUCTIONS) && HAVE_DECL_PERF_COUNT_HW_INSTRUCTIONS)) +#if defined(PERF_COUNT_HW_INSTRUCTIONS) || (defined(HAVE_DECL_PERF_COUNT_HW_INSTRUCTIONS) && HAVE_DECL_PERF_COUNT_HW_INSTRUCTIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_INSTRUCTIONS) == (1), "PERF_COUNT_HW_INSTRUCTIONS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_INSTRUCTIONS 1 #endif -#if !(defined(PERF_COUNT_HW_CACHE_REFERENCES) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_REFERENCES) && HAVE_DECL_PERF_COUNT_HW_CACHE_REFERENCES)) +#if defined(PERF_COUNT_HW_CACHE_REFERENCES) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_REFERENCES) && HAVE_DECL_PERF_COUNT_HW_CACHE_REFERENCES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_REFERENCES) == (2), "PERF_COUNT_HW_CACHE_REFERENCES != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_REFERENCES 2 #endif -#if !(defined(PERF_COUNT_HW_CACHE_MISSES) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_MISSES) && HAVE_DECL_PERF_COUNT_HW_CACHE_MISSES)) +#if defined(PERF_COUNT_HW_CACHE_MISSES) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_MISSES) && HAVE_DECL_PERF_COUNT_HW_CACHE_MISSES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_CACHE_MISSES) == (3), "PERF_COUNT_HW_CACHE_MISSES != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_CACHE_MISSES 3 #endif -#if !(defined(PERF_COUNT_HW_BRANCH_INSTRUCTIONS) || (defined(HAVE_DECL_PERF_COUNT_HW_BRANCH_INSTRUCTIONS) && HAVE_DECL_PERF_COUNT_HW_BRANCH_INSTRUCTIONS)) +#if defined(PERF_COUNT_HW_BRANCH_INSTRUCTIONS) || (defined(HAVE_DECL_PERF_COUNT_HW_BRANCH_INSTRUCTIONS) && HAVE_DECL_PERF_COUNT_HW_BRANCH_INSTRUCTIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_BRANCH_INSTRUCTIONS) == (4), "PERF_COUNT_HW_BRANCH_INSTRUCTIONS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_BRANCH_INSTRUCTIONS 4 #endif -#if !(defined(PERF_COUNT_HW_BRANCH_MISSES) || (defined(HAVE_DECL_PERF_COUNT_HW_BRANCH_MISSES) && HAVE_DECL_PERF_COUNT_HW_BRANCH_MISSES)) +#if defined(PERF_COUNT_HW_BRANCH_MISSES) || (defined(HAVE_DECL_PERF_COUNT_HW_BRANCH_MISSES) && HAVE_DECL_PERF_COUNT_HW_BRANCH_MISSES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_BRANCH_MISSES) == (5), "PERF_COUNT_HW_BRANCH_MISSES != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_BRANCH_MISSES 5 #endif -#if !(defined(PERF_COUNT_HW_BUS_CYCLES) || (defined(HAVE_DECL_PERF_COUNT_HW_BUS_CYCLES) && HAVE_DECL_PERF_COUNT_HW_BUS_CYCLES)) +#if defined(PERF_COUNT_HW_BUS_CYCLES) || (defined(HAVE_DECL_PERF_COUNT_HW_BUS_CYCLES) && HAVE_DECL_PERF_COUNT_HW_BUS_CYCLES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_BUS_CYCLES) == (6), "PERF_COUNT_HW_BUS_CYCLES != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_BUS_CYCLES 6 #endif -#if !(defined(PERF_COUNT_HW_STALLED_CYCLES_FRONTEND) || (defined(HAVE_DECL_PERF_COUNT_HW_STALLED_CYCLES_FRONTEND) && HAVE_DECL_PERF_COUNT_HW_STALLED_CYCLES_FRONTEND)) +#if defined(PERF_COUNT_HW_STALLED_CYCLES_FRONTEND) || (defined(HAVE_DECL_PERF_COUNT_HW_STALLED_CYCLES_FRONTEND) && HAVE_DECL_PERF_COUNT_HW_STALLED_CYCLES_FRONTEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_STALLED_CYCLES_FRONTEND) == (7), "PERF_COUNT_HW_STALLED_CYCLES_FRONTEND != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_STALLED_CYCLES_FRONTEND 7 #endif -#if !(defined(PERF_COUNT_HW_STALLED_CYCLES_BACKEND) || (defined(HAVE_DECL_PERF_COUNT_HW_STALLED_CYCLES_BACKEND) && HAVE_DECL_PERF_COUNT_HW_STALLED_CYCLES_BACKEND)) +#if defined(PERF_COUNT_HW_STALLED_CYCLES_BACKEND) || (defined(HAVE_DECL_PERF_COUNT_HW_STALLED_CYCLES_BACKEND) && HAVE_DECL_PERF_COUNT_HW_STALLED_CYCLES_BACKEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_STALLED_CYCLES_BACKEND) == (8), "PERF_COUNT_HW_STALLED_CYCLES_BACKEND != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_STALLED_CYCLES_BACKEND 8 #endif -#if !(defined(PERF_COUNT_HW_REF_CPU_CYCLES) || (defined(HAVE_DECL_PERF_COUNT_HW_REF_CPU_CYCLES) && HAVE_DECL_PERF_COUNT_HW_REF_CPU_CYCLES)) +#if defined(PERF_COUNT_HW_REF_CPU_CYCLES) || (defined(HAVE_DECL_PERF_COUNT_HW_REF_CPU_CYCLES) && HAVE_DECL_PERF_COUNT_HW_REF_CPU_CYCLES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_HW_REF_CPU_CYCLES) == (9), "PERF_COUNT_HW_REF_CPU_CYCLES != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_HW_REF_CPU_CYCLES 9 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_hw_id in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_hw_id in mpers mode + +# else static const struct xlat perf_hw_id[] = { @@ -52,4 +98,6 @@ const struct xlat perf_hw_id[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_ioctl_cmds.h b/xlat/perf_ioctl_cmds.h new file mode 100644 index 00000000..d3f2a09a --- /dev/null +++ b/xlat/perf_ioctl_cmds.h @@ -0,0 +1,120 @@ +/* Generated by ./xlat/gen.sh from ./xlat/perf_ioctl_cmds.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_EVENT_IOC_ENABLE) || (defined(HAVE_DECL_PERF_EVENT_IOC_ENABLE) && HAVE_DECL_PERF_EVENT_IOC_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_ENABLE) == (_IO ('$', 0)), "PERF_EVENT_IOC_ENABLE != _IO ('$', 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_ENABLE _IO ('$', 0) +#endif +#if defined(PERF_EVENT_IOC_DISABLE) || (defined(HAVE_DECL_PERF_EVENT_IOC_DISABLE) && HAVE_DECL_PERF_EVENT_IOC_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_DISABLE) == (_IO ('$', 1)), "PERF_EVENT_IOC_DISABLE != _IO ('$', 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_DISABLE _IO ('$', 1) +#endif +#if defined(PERF_EVENT_IOC_REFRESH) || (defined(HAVE_DECL_PERF_EVENT_IOC_REFRESH) && HAVE_DECL_PERF_EVENT_IOC_REFRESH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_REFRESH) == (_IO ('$', 2)), "PERF_EVENT_IOC_REFRESH != _IO ('$', 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_REFRESH _IO ('$', 2) +#endif +#if defined(PERF_EVENT_IOC_RESET) || (defined(HAVE_DECL_PERF_EVENT_IOC_RESET) && HAVE_DECL_PERF_EVENT_IOC_RESET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_RESET) == (_IO ('$', 3)), "PERF_EVENT_IOC_RESET != _IO ('$', 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_RESET _IO ('$', 3) +#endif +#if defined(PERF_EVENT_IOC_PERIOD) || (defined(HAVE_DECL_PERF_EVENT_IOC_PERIOD) && HAVE_DECL_PERF_EVENT_IOC_PERIOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_PERIOD) == (_IOW('$', 4, uint64_t)), "PERF_EVENT_IOC_PERIOD != _IOW('$', 4, uint64_t)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_PERIOD _IOW('$', 4, uint64_t) +#endif +#if defined(PERF_EVENT_IOC_SET_OUTPUT) || (defined(HAVE_DECL_PERF_EVENT_IOC_SET_OUTPUT) && HAVE_DECL_PERF_EVENT_IOC_SET_OUTPUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_SET_OUTPUT) == (_IO ('$', 5)), "PERF_EVENT_IOC_SET_OUTPUT != _IO ('$', 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_SET_OUTPUT _IO ('$', 5) +#endif +#if defined(PERF_EVENT_IOC_SET_FILTER) || (defined(HAVE_DECL_PERF_EVENT_IOC_SET_FILTER) && HAVE_DECL_PERF_EVENT_IOC_SET_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_SET_FILTER) == (_IOW('$', 6, char *)), "PERF_EVENT_IOC_SET_FILTER != _IOW('$', 6, char *)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_SET_FILTER _IOW('$', 6, char *) +#endif +#if defined(PERF_EVENT_IOC_ID) || (defined(HAVE_DECL_PERF_EVENT_IOC_ID) && HAVE_DECL_PERF_EVENT_IOC_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_ID) == (_IOR('$', 7, uint64_t *)), "PERF_EVENT_IOC_ID != _IOR('$', 7, uint64_t *)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_ID _IOR('$', 7, uint64_t *) +#endif +#if defined(PERF_EVENT_IOC_SET_BPF) || (defined(HAVE_DECL_PERF_EVENT_IOC_SET_BPF) && HAVE_DECL_PERF_EVENT_IOC_SET_BPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_SET_BPF) == (_IOW('$', 8, uint32_t)), "PERF_EVENT_IOC_SET_BPF != _IOW('$', 8, uint32_t)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_SET_BPF _IOW('$', 8, uint32_t) +#endif +#if defined(PERF_EVENT_IOC_PAUSE_OUTPUT) || (defined(HAVE_DECL_PERF_EVENT_IOC_PAUSE_OUTPUT) && HAVE_DECL_PERF_EVENT_IOC_PAUSE_OUTPUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_PAUSE_OUTPUT) == (_IOW('$', 9, uint32_t)), "PERF_EVENT_IOC_PAUSE_OUTPUT != _IOW('$', 9, uint32_t)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_PAUSE_OUTPUT _IOW('$', 9, uint32_t) +#endif +#if defined(PERF_EVENT_IOC_QUERY_BPF) || (defined(HAVE_DECL_PERF_EVENT_IOC_QUERY_BPF) && HAVE_DECL_PERF_EVENT_IOC_QUERY_BPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_QUERY_BPF) == (_IOWR('$', 10, struct perf_event_query_bpf *)), "PERF_EVENT_IOC_QUERY_BPF != _IOWR('$', 10, struct perf_event_query_bpf *)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_QUERY_BPF _IOWR('$', 10, struct perf_event_query_bpf *) +#endif +#if defined(PERF_EVENT_IOC_MODIFY_ATTRIBUTES) || (defined(HAVE_DECL_PERF_EVENT_IOC_MODIFY_ATTRIBUTES) && HAVE_DECL_PERF_EVENT_IOC_MODIFY_ATTRIBUTES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_EVENT_IOC_MODIFY_ATTRIBUTES) == (_IOW('$', 11, struct perf_event_attr *)), "PERF_EVENT_IOC_MODIFY_ATTRIBUTES != _IOW('$', 11, struct perf_event_attr *)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_EVENT_IOC_MODIFY_ATTRIBUTES _IOW('$', 11, struct perf_event_attr *) +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +extern const struct xlat perf_ioctl_cmds[]; + +# else + +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +static +# endif +const struct xlat perf_ioctl_cmds[] = { + XLAT(PERF_EVENT_IOC_ENABLE), + XLAT(PERF_EVENT_IOC_DISABLE), + XLAT(PERF_EVENT_IOC_REFRESH), + XLAT(PERF_EVENT_IOC_RESET), + XLAT(PERF_EVENT_IOC_PERIOD), + XLAT(PERF_EVENT_IOC_SET_OUTPUT), + XLAT(PERF_EVENT_IOC_SET_FILTER), + XLAT(PERF_EVENT_IOC_ID), + XLAT(PERF_EVENT_IOC_SET_BPF), + XLAT(PERF_EVENT_IOC_PAUSE_OUTPUT), + XLAT(PERF_EVENT_IOC_QUERY_BPF), + XLAT(PERF_EVENT_IOC_MODIFY_ATTRIBUTES), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_ioctl_cmds.in b/xlat/perf_ioctl_cmds.in new file mode 100644 index 00000000..bf7ad78a --- /dev/null +++ b/xlat/perf_ioctl_cmds.in @@ -0,0 +1,12 @@ +PERF_EVENT_IOC_ENABLE _IO ('$', 0) +PERF_EVENT_IOC_DISABLE _IO ('$', 1) +PERF_EVENT_IOC_REFRESH _IO ('$', 2) +PERF_EVENT_IOC_RESET _IO ('$', 3) +PERF_EVENT_IOC_PERIOD _IOW('$', 4, uint64_t) +PERF_EVENT_IOC_SET_OUTPUT _IO ('$', 5) +PERF_EVENT_IOC_SET_FILTER _IOW('$', 6, char *) +PERF_EVENT_IOC_ID _IOR('$', 7, uint64_t *) +PERF_EVENT_IOC_SET_BPF _IOW('$', 8, uint32_t) +PERF_EVENT_IOC_PAUSE_OUTPUT _IOW('$', 9, uint32_t) +PERF_EVENT_IOC_QUERY_BPF _IOWR('$', 10, struct perf_event_query_bpf *) +PERF_EVENT_IOC_MODIFY_ATTRIBUTES _IOW('$', 11, struct perf_event_attr *) diff --git a/xlat/perf_ioctl_flags.h b/xlat/perf_ioctl_flags.h new file mode 100644 index 00000000..de3883aa --- /dev/null +++ b/xlat/perf_ioctl_flags.h @@ -0,0 +1,32 @@ +/* Generated by ./xlat/gen.sh from ./xlat/perf_ioctl_flags.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_IOC_FLAG_GROUP) || (defined(HAVE_DECL_PERF_IOC_FLAG_GROUP) && HAVE_DECL_PERF_IOC_FLAG_GROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_IOC_FLAG_GROUP) == ((1U << 0)), "PERF_IOC_FLAG_GROUP != (1U << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PERF_IOC_FLAG_GROUP (1U << 0) +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +extern const struct xlat perf_ioctl_flags[]; + +# else + +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +static +# endif +const struct xlat perf_ioctl_flags[] = { + XLAT(PERF_IOC_FLAG_GROUP), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_ioctl_flags.in b/xlat/perf_ioctl_flags.in new file mode 100644 index 00000000..502f69a7 --- /dev/null +++ b/xlat/perf_ioctl_flags.in @@ -0,0 +1 @@ +PERF_IOC_FLAG_GROUP (1U << 0) diff --git a/xlat/perf_sw_ids.h b/xlat/perf_sw_ids.h index 96c628db..ecf0f83f 100644 --- a/xlat/perf_sw_ids.h +++ b/xlat/perf_sw_ids.h @@ -1,43 +1,93 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_sw_ids.in; do not edit. */ -#if !(defined(PERF_COUNT_SW_CPU_CLOCK) || (defined(HAVE_DECL_PERF_COUNT_SW_CPU_CLOCK) && HAVE_DECL_PERF_COUNT_SW_CPU_CLOCK)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_COUNT_SW_CPU_CLOCK) || (defined(HAVE_DECL_PERF_COUNT_SW_CPU_CLOCK) && HAVE_DECL_PERF_COUNT_SW_CPU_CLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_CPU_CLOCK) == (0), "PERF_COUNT_SW_CPU_CLOCK != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_CPU_CLOCK 0 #endif -#if !(defined(PERF_COUNT_SW_TASK_CLOCK) || (defined(HAVE_DECL_PERF_COUNT_SW_TASK_CLOCK) && HAVE_DECL_PERF_COUNT_SW_TASK_CLOCK)) +#if defined(PERF_COUNT_SW_TASK_CLOCK) || (defined(HAVE_DECL_PERF_COUNT_SW_TASK_CLOCK) && HAVE_DECL_PERF_COUNT_SW_TASK_CLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_TASK_CLOCK) == (1), "PERF_COUNT_SW_TASK_CLOCK != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_TASK_CLOCK 1 #endif -#if !(defined(PERF_COUNT_SW_PAGE_FAULTS) || (defined(HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS) && HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS)) +#if defined(PERF_COUNT_SW_PAGE_FAULTS) || (defined(HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS) && HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_PAGE_FAULTS) == (2), "PERF_COUNT_SW_PAGE_FAULTS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_PAGE_FAULTS 2 #endif -#if !(defined(PERF_COUNT_SW_CONTEXT_SWITCHES) || (defined(HAVE_DECL_PERF_COUNT_SW_CONTEXT_SWITCHES) && HAVE_DECL_PERF_COUNT_SW_CONTEXT_SWITCHES)) +#if defined(PERF_COUNT_SW_CONTEXT_SWITCHES) || (defined(HAVE_DECL_PERF_COUNT_SW_CONTEXT_SWITCHES) && HAVE_DECL_PERF_COUNT_SW_CONTEXT_SWITCHES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_CONTEXT_SWITCHES) == (3), "PERF_COUNT_SW_CONTEXT_SWITCHES != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_CONTEXT_SWITCHES 3 #endif -#if !(defined(PERF_COUNT_SW_CPU_MIGRATIONS) || (defined(HAVE_DECL_PERF_COUNT_SW_CPU_MIGRATIONS) && HAVE_DECL_PERF_COUNT_SW_CPU_MIGRATIONS)) +#if defined(PERF_COUNT_SW_CPU_MIGRATIONS) || (defined(HAVE_DECL_PERF_COUNT_SW_CPU_MIGRATIONS) && HAVE_DECL_PERF_COUNT_SW_CPU_MIGRATIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_CPU_MIGRATIONS) == (4), "PERF_COUNT_SW_CPU_MIGRATIONS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_CPU_MIGRATIONS 4 #endif -#if !(defined(PERF_COUNT_SW_PAGE_FAULTS_MIN) || (defined(HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS_MIN) && HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS_MIN)) +#if defined(PERF_COUNT_SW_PAGE_FAULTS_MIN) || (defined(HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS_MIN) && HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS_MIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_PAGE_FAULTS_MIN) == (5), "PERF_COUNT_SW_PAGE_FAULTS_MIN != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_PAGE_FAULTS_MIN 5 #endif -#if !(defined(PERF_COUNT_SW_PAGE_FAULTS_MAJ) || (defined(HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS_MAJ) && HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS_MAJ)) +#if defined(PERF_COUNT_SW_PAGE_FAULTS_MAJ) || (defined(HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS_MAJ) && HAVE_DECL_PERF_COUNT_SW_PAGE_FAULTS_MAJ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_PAGE_FAULTS_MAJ) == (6), "PERF_COUNT_SW_PAGE_FAULTS_MAJ != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_PAGE_FAULTS_MAJ 6 #endif -#if !(defined(PERF_COUNT_SW_ALIGNMENT_FAULTS) || (defined(HAVE_DECL_PERF_COUNT_SW_ALIGNMENT_FAULTS) && HAVE_DECL_PERF_COUNT_SW_ALIGNMENT_FAULTS)) +#if defined(PERF_COUNT_SW_ALIGNMENT_FAULTS) || (defined(HAVE_DECL_PERF_COUNT_SW_ALIGNMENT_FAULTS) && HAVE_DECL_PERF_COUNT_SW_ALIGNMENT_FAULTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_ALIGNMENT_FAULTS) == (7), "PERF_COUNT_SW_ALIGNMENT_FAULTS != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_ALIGNMENT_FAULTS 7 #endif -#if !(defined(PERF_COUNT_SW_EMULATION_FAULTS) || (defined(HAVE_DECL_PERF_COUNT_SW_EMULATION_FAULTS) && HAVE_DECL_PERF_COUNT_SW_EMULATION_FAULTS)) +#if defined(PERF_COUNT_SW_EMULATION_FAULTS) || (defined(HAVE_DECL_PERF_COUNT_SW_EMULATION_FAULTS) && HAVE_DECL_PERF_COUNT_SW_EMULATION_FAULTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_EMULATION_FAULTS) == (8), "PERF_COUNT_SW_EMULATION_FAULTS != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_EMULATION_FAULTS 8 #endif -#if !(defined(PERF_COUNT_SW_DUMMY) || (defined(HAVE_DECL_PERF_COUNT_SW_DUMMY) && HAVE_DECL_PERF_COUNT_SW_DUMMY)) +#if defined(PERF_COUNT_SW_DUMMY) || (defined(HAVE_DECL_PERF_COUNT_SW_DUMMY) && HAVE_DECL_PERF_COUNT_SW_DUMMY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_DUMMY) == (9), "PERF_COUNT_SW_DUMMY != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_DUMMY 9 #endif -#if !(defined(PERF_COUNT_SW_BPF_OUTPUT) || (defined(HAVE_DECL_PERF_COUNT_SW_BPF_OUTPUT) && HAVE_DECL_PERF_COUNT_SW_BPF_OUTPUT)) +#if defined(PERF_COUNT_SW_BPF_OUTPUT) || (defined(HAVE_DECL_PERF_COUNT_SW_BPF_OUTPUT) && HAVE_DECL_PERF_COUNT_SW_BPF_OUTPUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_COUNT_SW_BPF_OUTPUT) == (10), "PERF_COUNT_SW_BPF_OUTPUT != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_COUNT_SW_BPF_OUTPUT 10 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_sw_ids in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_sw_ids in mpers mode + +# else static const struct xlat perf_sw_ids[] = { @@ -56,4 +106,6 @@ const struct xlat perf_sw_ids[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/perf_type_id.h b/xlat/perf_type_id.h index f83fc598..bbe5c581 100644 --- a/xlat/perf_type_id.h +++ b/xlat/perf_type_id.h @@ -1,28 +1,58 @@ /* Generated by ./xlat/gen.sh from ./xlat/perf_type_id.in; do not edit. */ -#if !(defined(PERF_TYPE_HARDWARE) || (defined(HAVE_DECL_PERF_TYPE_HARDWARE) && HAVE_DECL_PERF_TYPE_HARDWARE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PERF_TYPE_HARDWARE) || (defined(HAVE_DECL_PERF_TYPE_HARDWARE) && HAVE_DECL_PERF_TYPE_HARDWARE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_TYPE_HARDWARE) == (0), "PERF_TYPE_HARDWARE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_TYPE_HARDWARE 0 #endif -#if !(defined(PERF_TYPE_SOFTWARE) || (defined(HAVE_DECL_PERF_TYPE_SOFTWARE) && HAVE_DECL_PERF_TYPE_SOFTWARE)) +#if defined(PERF_TYPE_SOFTWARE) || (defined(HAVE_DECL_PERF_TYPE_SOFTWARE) && HAVE_DECL_PERF_TYPE_SOFTWARE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_TYPE_SOFTWARE) == (1), "PERF_TYPE_SOFTWARE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_TYPE_SOFTWARE 1 #endif -#if !(defined(PERF_TYPE_TRACEPOINT) || (defined(HAVE_DECL_PERF_TYPE_TRACEPOINT) && HAVE_DECL_PERF_TYPE_TRACEPOINT)) +#if defined(PERF_TYPE_TRACEPOINT) || (defined(HAVE_DECL_PERF_TYPE_TRACEPOINT) && HAVE_DECL_PERF_TYPE_TRACEPOINT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_TYPE_TRACEPOINT) == (2), "PERF_TYPE_TRACEPOINT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_TYPE_TRACEPOINT 2 #endif -#if !(defined(PERF_TYPE_HW_CACHE) || (defined(HAVE_DECL_PERF_TYPE_HW_CACHE) && HAVE_DECL_PERF_TYPE_HW_CACHE)) +#if defined(PERF_TYPE_HW_CACHE) || (defined(HAVE_DECL_PERF_TYPE_HW_CACHE) && HAVE_DECL_PERF_TYPE_HW_CACHE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_TYPE_HW_CACHE) == (3), "PERF_TYPE_HW_CACHE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_TYPE_HW_CACHE 3 #endif -#if !(defined(PERF_TYPE_RAW) || (defined(HAVE_DECL_PERF_TYPE_RAW) && HAVE_DECL_PERF_TYPE_RAW)) +#if defined(PERF_TYPE_RAW) || (defined(HAVE_DECL_PERF_TYPE_RAW) && HAVE_DECL_PERF_TYPE_RAW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_TYPE_RAW) == (4), "PERF_TYPE_RAW != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_TYPE_RAW 4 #endif -#if !(defined(PERF_TYPE_BREAKPOINT) || (defined(HAVE_DECL_PERF_TYPE_BREAKPOINT) && HAVE_DECL_PERF_TYPE_BREAKPOINT)) +#if defined(PERF_TYPE_BREAKPOINT) || (defined(HAVE_DECL_PERF_TYPE_BREAKPOINT) && HAVE_DECL_PERF_TYPE_BREAKPOINT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PERF_TYPE_BREAKPOINT) == (5), "PERF_TYPE_BREAKPOINT != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PERF_TYPE_BREAKPOINT 5 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat perf_type_id in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat perf_type_id in mpers mode + +# else static const struct xlat perf_type_id[] = { @@ -36,4 +66,6 @@ const struct xlat perf_type_id[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/personality_flags.h b/xlat/personality_flags.h index 6c32b735..4b2a3693 100644 --- a/xlat/personality_flags.h +++ b/xlat/personality_flags.h @@ -1,43 +1,93 @@ /* Generated by ./xlat/gen.sh from ./xlat/personality_flags.in; do not edit. */ -#if !(defined(UNAME26) || (defined(HAVE_DECL_UNAME26) && HAVE_DECL_UNAME26)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(UNAME26) || (defined(HAVE_DECL_UNAME26) && HAVE_DECL_UNAME26) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((UNAME26) == (0x0020000), "UNAME26 != 0x0020000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define UNAME26 0x0020000 #endif -#if !(defined(ADDR_NO_RANDOMIZE) || (defined(HAVE_DECL_ADDR_NO_RANDOMIZE) && HAVE_DECL_ADDR_NO_RANDOMIZE)) +#if defined(ADDR_NO_RANDOMIZE) || (defined(HAVE_DECL_ADDR_NO_RANDOMIZE) && HAVE_DECL_ADDR_NO_RANDOMIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADDR_NO_RANDOMIZE) == (0x0040000), "ADDR_NO_RANDOMIZE != 0x0040000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ADDR_NO_RANDOMIZE 0x0040000 #endif -#if !(defined(FDPIC_FUNCPTRS) || (defined(HAVE_DECL_FDPIC_FUNCPTRS) && HAVE_DECL_FDPIC_FUNCPTRS)) +#if defined(FDPIC_FUNCPTRS) || (defined(HAVE_DECL_FDPIC_FUNCPTRS) && HAVE_DECL_FDPIC_FUNCPTRS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FDPIC_FUNCPTRS) == (0x0080000), "FDPIC_FUNCPTRS != 0x0080000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FDPIC_FUNCPTRS 0x0080000 #endif -#if !(defined(MMAP_PAGE_ZERO) || (defined(HAVE_DECL_MMAP_PAGE_ZERO) && HAVE_DECL_MMAP_PAGE_ZERO)) +#if defined(MMAP_PAGE_ZERO) || (defined(HAVE_DECL_MMAP_PAGE_ZERO) && HAVE_DECL_MMAP_PAGE_ZERO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MMAP_PAGE_ZERO) == (0x0100000), "MMAP_PAGE_ZERO != 0x0100000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MMAP_PAGE_ZERO 0x0100000 #endif -#if !(defined(ADDR_COMPAT_LAYOUT) || (defined(HAVE_DECL_ADDR_COMPAT_LAYOUT) && HAVE_DECL_ADDR_COMPAT_LAYOUT)) +#if defined(ADDR_COMPAT_LAYOUT) || (defined(HAVE_DECL_ADDR_COMPAT_LAYOUT) && HAVE_DECL_ADDR_COMPAT_LAYOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADDR_COMPAT_LAYOUT) == (0x0200000), "ADDR_COMPAT_LAYOUT != 0x0200000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ADDR_COMPAT_LAYOUT 0x0200000 #endif -#if !(defined(READ_IMPLIES_EXEC) || (defined(HAVE_DECL_READ_IMPLIES_EXEC) && HAVE_DECL_READ_IMPLIES_EXEC)) +#if defined(READ_IMPLIES_EXEC) || (defined(HAVE_DECL_READ_IMPLIES_EXEC) && HAVE_DECL_READ_IMPLIES_EXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((READ_IMPLIES_EXEC) == (0x0400000), "READ_IMPLIES_EXEC != 0x0400000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define READ_IMPLIES_EXEC 0x0400000 #endif -#if !(defined(ADDR_LIMIT_32BIT) || (defined(HAVE_DECL_ADDR_LIMIT_32BIT) && HAVE_DECL_ADDR_LIMIT_32BIT)) +#if defined(ADDR_LIMIT_32BIT) || (defined(HAVE_DECL_ADDR_LIMIT_32BIT) && HAVE_DECL_ADDR_LIMIT_32BIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADDR_LIMIT_32BIT) == (0x0800000), "ADDR_LIMIT_32BIT != 0x0800000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ADDR_LIMIT_32BIT 0x0800000 #endif -#if !(defined(SHORT_INODE) || (defined(HAVE_DECL_SHORT_INODE) && HAVE_DECL_SHORT_INODE)) +#if defined(SHORT_INODE) || (defined(HAVE_DECL_SHORT_INODE) && HAVE_DECL_SHORT_INODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHORT_INODE) == (0x1000000), "SHORT_INODE != 0x1000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SHORT_INODE 0x1000000 #endif -#if !(defined(WHOLE_SECONDS) || (defined(HAVE_DECL_WHOLE_SECONDS) && HAVE_DECL_WHOLE_SECONDS)) +#if defined(WHOLE_SECONDS) || (defined(HAVE_DECL_WHOLE_SECONDS) && HAVE_DECL_WHOLE_SECONDS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((WHOLE_SECONDS) == (0x2000000), "WHOLE_SECONDS != 0x2000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define WHOLE_SECONDS 0x2000000 #endif -#if !(defined(STICKY_TIMEOUTS) || (defined(HAVE_DECL_STICKY_TIMEOUTS) && HAVE_DECL_STICKY_TIMEOUTS)) +#if defined(STICKY_TIMEOUTS) || (defined(HAVE_DECL_STICKY_TIMEOUTS) && HAVE_DECL_STICKY_TIMEOUTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STICKY_TIMEOUTS) == (0x4000000), "STICKY_TIMEOUTS != 0x4000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STICKY_TIMEOUTS 0x4000000 #endif -#if !(defined(ADDR_LIMIT_3GB) || (defined(HAVE_DECL_ADDR_LIMIT_3GB) && HAVE_DECL_ADDR_LIMIT_3GB)) +#if defined(ADDR_LIMIT_3GB) || (defined(HAVE_DECL_ADDR_LIMIT_3GB) && HAVE_DECL_ADDR_LIMIT_3GB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ADDR_LIMIT_3GB) == (0x8000000), "ADDR_LIMIT_3GB != 0x8000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ADDR_LIMIT_3GB 0x8000000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat personality_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat personality_flags in mpers mode + +# else static const struct xlat personality_flags[] = { @@ -55,4 +105,6 @@ const struct xlat personality_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/personality_types.h b/xlat/personality_types.h index 8e1e1e2c..7560b887 100644 --- a/xlat/personality_types.h +++ b/xlat/personality_types.h @@ -1,79 +1,177 @@ /* Generated by ./xlat/gen.sh from ./xlat/personality_types.in; do not edit. */ -#if !(defined(PER_LINUX) || (defined(HAVE_DECL_PER_LINUX) && HAVE_DECL_PER_LINUX)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PER_LINUX) || (defined(HAVE_DECL_PER_LINUX) && HAVE_DECL_PER_LINUX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_LINUX) == (0), "PER_LINUX != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_LINUX 0 #endif -#if !(defined(PER_LINUX_32BIT) || (defined(HAVE_DECL_PER_LINUX_32BIT) && HAVE_DECL_PER_LINUX_32BIT)) +#if defined(PER_LINUX_32BIT) || (defined(HAVE_DECL_PER_LINUX_32BIT) && HAVE_DECL_PER_LINUX_32BIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_LINUX_32BIT) == (ADDR_LIMIT_32BIT), "PER_LINUX_32BIT != ADDR_LIMIT_32BIT"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_LINUX_32BIT ADDR_LIMIT_32BIT #endif -#if !(defined(PER_LINUX_FDPIC) || (defined(HAVE_DECL_PER_LINUX_FDPIC) && HAVE_DECL_PER_LINUX_FDPIC)) +#if defined(PER_LINUX_FDPIC) || (defined(HAVE_DECL_PER_LINUX_FDPIC) && HAVE_DECL_PER_LINUX_FDPIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_LINUX_FDPIC) == (FDPIC_FUNCPTRS), "PER_LINUX_FDPIC != FDPIC_FUNCPTRS"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_LINUX_FDPIC FDPIC_FUNCPTRS #endif -#if !(defined(PER_SVR4) || (defined(HAVE_DECL_PER_SVR4) && HAVE_DECL_PER_SVR4)) +#if defined(PER_SVR4) || (defined(HAVE_DECL_PER_SVR4) && HAVE_DECL_PER_SVR4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_SVR4) == ((0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO)), "PER_SVR4 != (0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_SVR4 (0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO) #endif -#if !(defined(PER_SVR3) || (defined(HAVE_DECL_PER_SVR3) && HAVE_DECL_PER_SVR3)) +#if defined(PER_SVR3) || (defined(HAVE_DECL_PER_SVR3) && HAVE_DECL_PER_SVR3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_SVR3) == ((0x0002 | STICKY_TIMEOUTS | SHORT_INODE)), "PER_SVR3 != (0x0002 | STICKY_TIMEOUTS | SHORT_INODE)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_SVR3 (0x0002 | STICKY_TIMEOUTS | SHORT_INODE) #endif -#if !(defined(PER_SCOSVR3) || (defined(HAVE_DECL_PER_SCOSVR3) && HAVE_DECL_PER_SCOSVR3)) +#if defined(PER_SCOSVR3) || (defined(HAVE_DECL_PER_SCOSVR3) && HAVE_DECL_PER_SCOSVR3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_SCOSVR3) == ((0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE)), "PER_SCOSVR3 != (0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_SCOSVR3 (0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE) #endif -#if !(defined(PER_OSR5) || (defined(HAVE_DECL_PER_OSR5) && HAVE_DECL_PER_OSR5)) +#if defined(PER_OSR5) || (defined(HAVE_DECL_PER_OSR5) && HAVE_DECL_PER_OSR5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_OSR5) == ((0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS)), "PER_OSR5 != (0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_OSR5 (0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS) #endif -#if !(defined(PER_WYSEV386) || (defined(HAVE_DECL_PER_WYSEV386) && HAVE_DECL_PER_WYSEV386)) +#if defined(PER_WYSEV386) || (defined(HAVE_DECL_PER_WYSEV386) && HAVE_DECL_PER_WYSEV386) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_WYSEV386) == ((0x0004 | STICKY_TIMEOUTS | SHORT_INODE)), "PER_WYSEV386 != (0x0004 | STICKY_TIMEOUTS | SHORT_INODE)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_WYSEV386 (0x0004 | STICKY_TIMEOUTS | SHORT_INODE) #endif -#if !(defined(PER_ISCR4) || (defined(HAVE_DECL_PER_ISCR4) && HAVE_DECL_PER_ISCR4)) +#if defined(PER_ISCR4) || (defined(HAVE_DECL_PER_ISCR4) && HAVE_DECL_PER_ISCR4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_ISCR4) == ((0x0005 | STICKY_TIMEOUTS)), "PER_ISCR4 != (0x0005 | STICKY_TIMEOUTS)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_ISCR4 (0x0005 | STICKY_TIMEOUTS) #endif -#if !(defined(PER_BSD) || (defined(HAVE_DECL_PER_BSD) && HAVE_DECL_PER_BSD)) +#if defined(PER_BSD) || (defined(HAVE_DECL_PER_BSD) && HAVE_DECL_PER_BSD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_BSD) == (0x0006), "PER_BSD != 0x0006"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_BSD 0x0006 #endif -#if !(defined(PER_SUNOS) || (defined(HAVE_DECL_PER_SUNOS) && HAVE_DECL_PER_SUNOS)) +#if defined(PER_SUNOS) || (defined(HAVE_DECL_PER_SUNOS) && HAVE_DECL_PER_SUNOS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_SUNOS) == ((0x0006 | STICKY_TIMEOUTS)), "PER_SUNOS != (0x0006 | STICKY_TIMEOUTS)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_SUNOS (0x0006 | STICKY_TIMEOUTS) #endif -#if !(defined(PER_XENIX) || (defined(HAVE_DECL_PER_XENIX) && HAVE_DECL_PER_XENIX)) +#if defined(PER_XENIX) || (defined(HAVE_DECL_PER_XENIX) && HAVE_DECL_PER_XENIX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_XENIX) == ((0x0007 | STICKY_TIMEOUTS | SHORT_INODE)), "PER_XENIX != (0x0007 | STICKY_TIMEOUTS | SHORT_INODE)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_XENIX (0x0007 | STICKY_TIMEOUTS | SHORT_INODE) #endif -#if !(defined(PER_LINUX32) || (defined(HAVE_DECL_PER_LINUX32) && HAVE_DECL_PER_LINUX32)) +#if defined(PER_LINUX32) || (defined(HAVE_DECL_PER_LINUX32) && HAVE_DECL_PER_LINUX32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_LINUX32) == (0x0008), "PER_LINUX32 != 0x0008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_LINUX32 0x0008 #endif -#if !(defined(PER_LINUX32_3GB) || (defined(HAVE_DECL_PER_LINUX32_3GB) && HAVE_DECL_PER_LINUX32_3GB)) +#if defined(PER_LINUX32_3GB) || (defined(HAVE_DECL_PER_LINUX32_3GB) && HAVE_DECL_PER_LINUX32_3GB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_LINUX32_3GB) == ((0x0008 | ADDR_LIMIT_3GB)), "PER_LINUX32_3GB != (0x0008 | ADDR_LIMIT_3GB)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_LINUX32_3GB (0x0008 | ADDR_LIMIT_3GB) #endif -#if !(defined(PER_IRIX32) || (defined(HAVE_DECL_PER_IRIX32) && HAVE_DECL_PER_IRIX32)) +#if defined(PER_IRIX32) || (defined(HAVE_DECL_PER_IRIX32) && HAVE_DECL_PER_IRIX32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_IRIX32) == ((0x0009 | STICKY_TIMEOUTS)), "PER_IRIX32 != (0x0009 | STICKY_TIMEOUTS)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_IRIX32 (0x0009 | STICKY_TIMEOUTS) #endif -#if !(defined(PER_IRIXN32) || (defined(HAVE_DECL_PER_IRIXN32) && HAVE_DECL_PER_IRIXN32)) +#if defined(PER_IRIXN32) || (defined(HAVE_DECL_PER_IRIXN32) && HAVE_DECL_PER_IRIXN32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_IRIXN32) == ((0x000a | STICKY_TIMEOUTS)), "PER_IRIXN32 != (0x000a | STICKY_TIMEOUTS)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_IRIXN32 (0x000a | STICKY_TIMEOUTS) #endif -#if !(defined(PER_IRIX64) || (defined(HAVE_DECL_PER_IRIX64) && HAVE_DECL_PER_IRIX64)) +#if defined(PER_IRIX64) || (defined(HAVE_DECL_PER_IRIX64) && HAVE_DECL_PER_IRIX64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_IRIX64) == ((0x000b | STICKY_TIMEOUTS)), "PER_IRIX64 != (0x000b | STICKY_TIMEOUTS)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_IRIX64 (0x000b | STICKY_TIMEOUTS) #endif -#if !(defined(PER_RISCOS) || (defined(HAVE_DECL_PER_RISCOS) && HAVE_DECL_PER_RISCOS)) +#if defined(PER_RISCOS) || (defined(HAVE_DECL_PER_RISCOS) && HAVE_DECL_PER_RISCOS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_RISCOS) == (0x000c), "PER_RISCOS != 0x000c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_RISCOS 0x000c #endif -#if !(defined(PER_SOLARIS) || (defined(HAVE_DECL_PER_SOLARIS) && HAVE_DECL_PER_SOLARIS)) +#if defined(PER_SOLARIS) || (defined(HAVE_DECL_PER_SOLARIS) && HAVE_DECL_PER_SOLARIS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_SOLARIS) == ((0x000d | STICKY_TIMEOUTS)), "PER_SOLARIS != (0x000d | STICKY_TIMEOUTS)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_SOLARIS (0x000d | STICKY_TIMEOUTS) #endif -#if !(defined(PER_UW7) || (defined(HAVE_DECL_PER_UW7) && HAVE_DECL_PER_UW7)) +#if defined(PER_UW7) || (defined(HAVE_DECL_PER_UW7) && HAVE_DECL_PER_UW7) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_UW7) == ((0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO)), "PER_UW7 != (0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_UW7 (0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO) #endif -#if !(defined(PER_OSF4) || (defined(HAVE_DECL_PER_OSF4) && HAVE_DECL_PER_OSF4)) +#if defined(PER_OSF4) || (defined(HAVE_DECL_PER_OSF4) && HAVE_DECL_PER_OSF4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_OSF4) == (0x000f), "PER_OSF4 != 0x000f"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_OSF4 0x000f #endif -#if !(defined(PER_HPUX) || (defined(HAVE_DECL_PER_HPUX) && HAVE_DECL_PER_HPUX)) +#if defined(PER_HPUX) || (defined(HAVE_DECL_PER_HPUX) && HAVE_DECL_PER_HPUX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_HPUX) == (0x0010), "PER_HPUX != 0x0010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_HPUX 0x0010 #endif -#if !(defined(PER_MASK) || (defined(HAVE_DECL_PER_MASK) && HAVE_DECL_PER_MASK)) +#if defined(PER_MASK) || (defined(HAVE_DECL_PER_MASK) && HAVE_DECL_PER_MASK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PER_MASK) == (0x00ff), "PER_MASK != 0x00ff"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PER_MASK 0x00ff #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat personality_types in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat personality_types in mpers mode + +# else static const struct xlat personality_types[] = { @@ -103,4 +201,6 @@ const struct xlat personality_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/phonet_protocols.h b/xlat/phonet_protocols.h new file mode 100644 index 00000000..811672c2 --- /dev/null +++ b/xlat/phonet_protocols.h @@ -0,0 +1,46 @@ +/* Generated by ./xlat/gen.sh from ./xlat/phonet_protocols.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PN_PROTO_TRANSPORT) || (defined(HAVE_DECL_PN_PROTO_TRANSPORT) && HAVE_DECL_PN_PROTO_TRANSPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PN_PROTO_TRANSPORT) == (0), "PN_PROTO_TRANSPORT != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PN_PROTO_TRANSPORT 0 +#endif +#if defined(PN_PROTO_PHONET) || (defined(HAVE_DECL_PN_PROTO_PHONET) && HAVE_DECL_PN_PROTO_PHONET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PN_PROTO_PHONET) == (1), "PN_PROTO_PHONET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PN_PROTO_PHONET 1 +#endif +#if defined(PN_PROTO_PIPE) || (defined(HAVE_DECL_PN_PROTO_PIPE) && HAVE_DECL_PN_PROTO_PIPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PN_PROTO_PIPE) == (2), "PN_PROTO_PIPE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PN_PROTO_PIPE 2 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat phonet_protocols in mpers mode + +# else + +static +const struct xlat phonet_protocols[] = { + [PN_PROTO_TRANSPORT] = XLAT(PN_PROTO_TRANSPORT), + [PN_PROTO_PHONET] = XLAT(PN_PROTO_PHONET), + [PN_PROTO_PIPE] = XLAT(PN_PROTO_PIPE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/phonet_protocols.in b/xlat/phonet_protocols.in new file mode 100644 index 00000000..5245ed7e --- /dev/null +++ b/xlat/phonet_protocols.in @@ -0,0 +1,4 @@ +#value_indexed +PN_PROTO_TRANSPORT 0 +PN_PROTO_PHONET 1 +PN_PROTO_PIPE 2 diff --git a/xlat/pkey_access.h b/xlat/pkey_access.h index f9f31e0c..cc32932a 100644 --- a/xlat/pkey_access.h +++ b/xlat/pkey_access.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/pkey_access.in; do not edit. */ -#if !(defined(PKEY_DISABLE_ACCESS) || (defined(HAVE_DECL_PKEY_DISABLE_ACCESS) && HAVE_DECL_PKEY_DISABLE_ACCESS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PKEY_DISABLE_ACCESS) || (defined(HAVE_DECL_PKEY_DISABLE_ACCESS) && HAVE_DECL_PKEY_DISABLE_ACCESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PKEY_DISABLE_ACCESS) == (0x1), "PKEY_DISABLE_ACCESS != 0x1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PKEY_DISABLE_ACCESS 0x1 #endif -#if !(defined(PKEY_DISABLE_WRITE) || (defined(HAVE_DECL_PKEY_DISABLE_WRITE) && HAVE_DECL_PKEY_DISABLE_WRITE)) +#if defined(PKEY_DISABLE_WRITE) || (defined(HAVE_DECL_PKEY_DISABLE_WRITE) && HAVE_DECL_PKEY_DISABLE_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PKEY_DISABLE_WRITE) == (0x2), "PKEY_DISABLE_WRITE != 0x2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PKEY_DISABLE_WRITE 0x2 #endif -#if !(defined(PKEY_DISABLE_EXECUTE) || (defined(HAVE_DECL_PKEY_DISABLE_EXECUTE) && HAVE_DECL_PKEY_DISABLE_EXECUTE)) +#if defined(PKEY_DISABLE_EXECUTE) || (defined(HAVE_DECL_PKEY_DISABLE_EXECUTE) && HAVE_DECL_PKEY_DISABLE_EXECUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PKEY_DISABLE_EXECUTE) == (0x4), "PKEY_DISABLE_EXECUTE != 0x4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PKEY_DISABLE_EXECUTE 0x4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pkey_access in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pkey_access in mpers mode + +# else static const struct xlat pkey_access[] = { @@ -23,4 +41,6 @@ const struct xlat pkey_access[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/policies.h b/xlat/policies.h index 8b44db6d..9e4f4cf6 100644 --- a/xlat/policies.h +++ b/xlat/policies.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/policies.in; do not edit. */ -#if !(defined(MPOL_DEFAULT) || (defined(HAVE_DECL_MPOL_DEFAULT) && HAVE_DECL_MPOL_DEFAULT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MPOL_DEFAULT) || (defined(HAVE_DECL_MPOL_DEFAULT) && HAVE_DECL_MPOL_DEFAULT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MPOL_DEFAULT) == (0), "MPOL_DEFAULT != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MPOL_DEFAULT 0 #endif -#if !(defined(MPOL_PREFERRED) || (defined(HAVE_DECL_MPOL_PREFERRED) && HAVE_DECL_MPOL_PREFERRED)) +#if defined(MPOL_PREFERRED) || (defined(HAVE_DECL_MPOL_PREFERRED) && HAVE_DECL_MPOL_PREFERRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MPOL_PREFERRED) == (1), "MPOL_PREFERRED != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MPOL_PREFERRED 1 #endif -#if !(defined(MPOL_BIND) || (defined(HAVE_DECL_MPOL_BIND) && HAVE_DECL_MPOL_BIND)) +#if defined(MPOL_BIND) || (defined(HAVE_DECL_MPOL_BIND) && HAVE_DECL_MPOL_BIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MPOL_BIND) == (2), "MPOL_BIND != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MPOL_BIND 2 #endif -#if !(defined(MPOL_INTERLEAVE) || (defined(HAVE_DECL_MPOL_INTERLEAVE) && HAVE_DECL_MPOL_INTERLEAVE)) +#if defined(MPOL_INTERLEAVE) || (defined(HAVE_DECL_MPOL_INTERLEAVE) && HAVE_DECL_MPOL_INTERLEAVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MPOL_INTERLEAVE) == (3), "MPOL_INTERLEAVE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MPOL_INTERLEAVE 3 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat policies in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat policies in mpers mode + +# else static const struct xlat policies[] = { @@ -27,4 +49,6 @@ const struct xlat policies[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pollflags.h b/xlat/pollflags.h index 6fd03a91..00645f6a 100644 --- a/xlat/pollflags.h +++ b/xlat/pollflags.h @@ -1,37 +1,79 @@ /* Generated by ./xlat/gen.sh from ./xlat/pollflags.in; do not edit. */ -#if !(defined(POLLIN) || (defined(HAVE_DECL_POLLIN) && HAVE_DECL_POLLIN)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(POLLIN) || (defined(HAVE_DECL_POLLIN) && HAVE_DECL_POLLIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLLIN) == (0x0001), "POLLIN != 0x0001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLLIN 0x0001 #endif -#if !(defined(POLLPRI) || (defined(HAVE_DECL_POLLPRI) && HAVE_DECL_POLLPRI)) +#if defined(POLLPRI) || (defined(HAVE_DECL_POLLPRI) && HAVE_DECL_POLLPRI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLLPRI) == (0x0002), "POLLPRI != 0x0002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLLPRI 0x0002 #endif -#if !(defined(POLLOUT) || (defined(HAVE_DECL_POLLOUT) && HAVE_DECL_POLLOUT)) +#if defined(POLLOUT) || (defined(HAVE_DECL_POLLOUT) && HAVE_DECL_POLLOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLLOUT) == (0x0004), "POLLOUT != 0x0004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLLOUT 0x0004 #endif -#if !(defined(POLLRDNORM) || (defined(HAVE_DECL_POLLRDNORM) && HAVE_DECL_POLLRDNORM)) +#if defined(POLLRDNORM) || (defined(HAVE_DECL_POLLRDNORM) && HAVE_DECL_POLLRDNORM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLLRDNORM) == (0x0040), "POLLRDNORM != 0x0040"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLLRDNORM 0x0040 #endif -#if !(defined(POLLRDBAND) || (defined(HAVE_DECL_POLLRDBAND) && HAVE_DECL_POLLRDBAND)) +#if defined(POLLRDBAND) || (defined(HAVE_DECL_POLLRDBAND) && HAVE_DECL_POLLRDBAND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLLRDBAND) == (0x0080), "POLLRDBAND != 0x0080"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLLRDBAND 0x0080 #endif -#if !(defined(POLLERR) || (defined(HAVE_DECL_POLLERR) && HAVE_DECL_POLLERR)) +#if defined(POLLERR) || (defined(HAVE_DECL_POLLERR) && HAVE_DECL_POLLERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLLERR) == (0x0008), "POLLERR != 0x0008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLLERR 0x0008 #endif -#if !(defined(POLLHUP) || (defined(HAVE_DECL_POLLHUP) && HAVE_DECL_POLLHUP)) +#if defined(POLLHUP) || (defined(HAVE_DECL_POLLHUP) && HAVE_DECL_POLLHUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLLHUP) == (0x0010), "POLLHUP != 0x0010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLLHUP 0x0010 #endif -#if !(defined(POLLNVAL) || (defined(HAVE_DECL_POLLNVAL) && HAVE_DECL_POLLNVAL)) +#if defined(POLLNVAL) || (defined(HAVE_DECL_POLLNVAL) && HAVE_DECL_POLLNVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLLNVAL) == (0x0020), "POLLNVAL != 0x0020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLLNVAL 0x0020 #endif -#if !(defined(POLL_BUSY_LOOP) || (defined(HAVE_DECL_POLL_BUSY_LOOP) && HAVE_DECL_POLL_BUSY_LOOP)) +#if defined(POLL_BUSY_LOOP) || (defined(HAVE_DECL_POLL_BUSY_LOOP) && HAVE_DECL_POLL_BUSY_LOOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLL_BUSY_LOOP) == (0x8000), "POLL_BUSY_LOOP != 0x8000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLL_BUSY_LOOP 0x8000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pollflags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pollflags in mpers mode + +# else static const struct xlat pollflags[] = { @@ -62,4 +104,6 @@ const struct xlat pollflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_cap_ambient.h b/xlat/pr_cap_ambient.h index 83fa8822..2a89ebaa 100644 --- a/xlat/pr_cap_ambient.h +++ b/xlat/pr_cap_ambient.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/pr_cap_ambient.in; do not edit. */ -#if !(defined(PR_CAP_AMBIENT_IS_SET) || (defined(HAVE_DECL_PR_CAP_AMBIENT_IS_SET) && HAVE_DECL_PR_CAP_AMBIENT_IS_SET)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_CAP_AMBIENT_IS_SET) || (defined(HAVE_DECL_PR_CAP_AMBIENT_IS_SET) && HAVE_DECL_PR_CAP_AMBIENT_IS_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_CAP_AMBIENT_IS_SET) == (1), "PR_CAP_AMBIENT_IS_SET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_CAP_AMBIENT_IS_SET 1 #endif -#if !(defined(PR_CAP_AMBIENT_RAISE) || (defined(HAVE_DECL_PR_CAP_AMBIENT_RAISE) && HAVE_DECL_PR_CAP_AMBIENT_RAISE)) +#if defined(PR_CAP_AMBIENT_RAISE) || (defined(HAVE_DECL_PR_CAP_AMBIENT_RAISE) && HAVE_DECL_PR_CAP_AMBIENT_RAISE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_CAP_AMBIENT_RAISE) == (2), "PR_CAP_AMBIENT_RAISE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_CAP_AMBIENT_RAISE 2 #endif -#if !(defined(PR_CAP_AMBIENT_LOWER) || (defined(HAVE_DECL_PR_CAP_AMBIENT_LOWER) && HAVE_DECL_PR_CAP_AMBIENT_LOWER)) +#if defined(PR_CAP_AMBIENT_LOWER) || (defined(HAVE_DECL_PR_CAP_AMBIENT_LOWER) && HAVE_DECL_PR_CAP_AMBIENT_LOWER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_CAP_AMBIENT_LOWER) == (3), "PR_CAP_AMBIENT_LOWER != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_CAP_AMBIENT_LOWER 3 #endif -#if !(defined(PR_CAP_AMBIENT_CLEAR_ALL) || (defined(HAVE_DECL_PR_CAP_AMBIENT_CLEAR_ALL) && HAVE_DECL_PR_CAP_AMBIENT_CLEAR_ALL)) +#if defined(PR_CAP_AMBIENT_CLEAR_ALL) || (defined(HAVE_DECL_PR_CAP_AMBIENT_CLEAR_ALL) && HAVE_DECL_PR_CAP_AMBIENT_CLEAR_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_CAP_AMBIENT_CLEAR_ALL) == (4), "PR_CAP_AMBIENT_CLEAR_ALL != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_CAP_AMBIENT_CLEAR_ALL 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pr_cap_ambient in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pr_cap_ambient in mpers mode + +# else static const struct xlat pr_cap_ambient[] = { @@ -27,4 +49,6 @@ const struct xlat pr_cap_ambient[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_dumpable.h b/xlat/pr_dumpable.h index 4e625bcc..0a9404af 100644 --- a/xlat/pr_dumpable.h +++ b/xlat/pr_dumpable.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/pr_dumpable.in; do not edit. */ -#if !(defined(SUID_DUMP_DISABLE) || (defined(HAVE_DECL_SUID_DUMP_DISABLE) && HAVE_DECL_SUID_DUMP_DISABLE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SUID_DUMP_DISABLE) || (defined(HAVE_DECL_SUID_DUMP_DISABLE) && HAVE_DECL_SUID_DUMP_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SUID_DUMP_DISABLE) == (0), "SUID_DUMP_DISABLE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SUID_DUMP_DISABLE 0 #endif -#if !(defined(SUID_DUMP_USER) || (defined(HAVE_DECL_SUID_DUMP_USER) && HAVE_DECL_SUID_DUMP_USER)) +#if defined(SUID_DUMP_USER) || (defined(HAVE_DECL_SUID_DUMP_USER) && HAVE_DECL_SUID_DUMP_USER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SUID_DUMP_USER) == (1), "SUID_DUMP_USER != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SUID_DUMP_USER 1 #endif -#if !(defined(SUID_DUMP_ROOT) || (defined(HAVE_DECL_SUID_DUMP_ROOT) && HAVE_DECL_SUID_DUMP_ROOT)) +#if defined(SUID_DUMP_ROOT) || (defined(HAVE_DECL_SUID_DUMP_ROOT) && HAVE_DECL_SUID_DUMP_ROOT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SUID_DUMP_ROOT) == (2), "SUID_DUMP_ROOT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SUID_DUMP_ROOT 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pr_dumpable in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pr_dumpable in mpers mode + +# else static const struct xlat pr_dumpable[] = { @@ -24,4 +42,6 @@ const struct xlat pr_dumpable[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_fp_mode.h b/xlat/pr_fp_mode.h index 4620c489..40a59db4 100644 --- a/xlat/pr_fp_mode.h +++ b/xlat/pr_fp_mode.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/pr_fp_mode.in; do not edit. */ -#if !(defined(PR_FP_MODE_FR) || (defined(HAVE_DECL_PR_FP_MODE_FR) && HAVE_DECL_PR_FP_MODE_FR)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_FP_MODE_FR) || (defined(HAVE_DECL_PR_FP_MODE_FR) && HAVE_DECL_PR_FP_MODE_FR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_FP_MODE_FR) == ((1 << 0)), "PR_FP_MODE_FR != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_FP_MODE_FR (1 << 0) #endif -#if !(defined(PR_FP_MODE_FRE) || (defined(HAVE_DECL_PR_FP_MODE_FRE) && HAVE_DECL_PR_FP_MODE_FRE)) +#if defined(PR_FP_MODE_FRE) || (defined(HAVE_DECL_PR_FP_MODE_FRE) && HAVE_DECL_PR_FP_MODE_FRE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_FP_MODE_FRE) == ((1 << 1)), "PR_FP_MODE_FRE != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_FP_MODE_FRE (1 << 1) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pr_fp_mode in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pr_fp_mode in mpers mode + +# else static const struct xlat pr_fp_mode[] = { @@ -19,4 +33,6 @@ const struct xlat pr_fp_mode[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_mce_kill.h b/xlat/pr_mce_kill.h index d2839db9..1c490fe3 100644 --- a/xlat/pr_mce_kill.h +++ b/xlat/pr_mce_kill.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/pr_mce_kill.in; do not edit. */ -#if !(defined(PR_MCE_KILL_CLEAR) || (defined(HAVE_DECL_PR_MCE_KILL_CLEAR) && HAVE_DECL_PR_MCE_KILL_CLEAR)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_MCE_KILL_CLEAR) || (defined(HAVE_DECL_PR_MCE_KILL_CLEAR) && HAVE_DECL_PR_MCE_KILL_CLEAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_MCE_KILL_CLEAR) == (0), "PR_MCE_KILL_CLEAR != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_MCE_KILL_CLEAR 0 #endif -#if !(defined(PR_MCE_KILL_SET) || (defined(HAVE_DECL_PR_MCE_KILL_SET) && HAVE_DECL_PR_MCE_KILL_SET)) +#if defined(PR_MCE_KILL_SET) || (defined(HAVE_DECL_PR_MCE_KILL_SET) && HAVE_DECL_PR_MCE_KILL_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_MCE_KILL_SET) == (1), "PR_MCE_KILL_SET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_MCE_KILL_SET 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pr_mce_kill in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pr_mce_kill in mpers mode + +# else static const struct xlat pr_mce_kill[] = { @@ -19,4 +33,6 @@ const struct xlat pr_mce_kill[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_mce_kill_policy.h b/xlat/pr_mce_kill_policy.h index aee9568d..d60e2cad 100644 --- a/xlat/pr_mce_kill_policy.h +++ b/xlat/pr_mce_kill_policy.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/pr_mce_kill_policy.in; do not edit. */ -#if !(defined(PR_MCE_KILL_LATE) || (defined(HAVE_DECL_PR_MCE_KILL_LATE) && HAVE_DECL_PR_MCE_KILL_LATE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_MCE_KILL_LATE) || (defined(HAVE_DECL_PR_MCE_KILL_LATE) && HAVE_DECL_PR_MCE_KILL_LATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_MCE_KILL_LATE) == (0), "PR_MCE_KILL_LATE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_MCE_KILL_LATE 0 #endif -#if !(defined(PR_MCE_KILL_EARLY) || (defined(HAVE_DECL_PR_MCE_KILL_EARLY) && HAVE_DECL_PR_MCE_KILL_EARLY)) +#if defined(PR_MCE_KILL_EARLY) || (defined(HAVE_DECL_PR_MCE_KILL_EARLY) && HAVE_DECL_PR_MCE_KILL_EARLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_MCE_KILL_EARLY) == (1), "PR_MCE_KILL_EARLY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_MCE_KILL_EARLY 1 #endif -#if !(defined(PR_MCE_KILL_DEFAULT) || (defined(HAVE_DECL_PR_MCE_KILL_DEFAULT) && HAVE_DECL_PR_MCE_KILL_DEFAULT)) +#if defined(PR_MCE_KILL_DEFAULT) || (defined(HAVE_DECL_PR_MCE_KILL_DEFAULT) && HAVE_DECL_PR_MCE_KILL_DEFAULT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_MCE_KILL_DEFAULT) == (2), "PR_MCE_KILL_DEFAULT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_MCE_KILL_DEFAULT 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pr_mce_kill_policy in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pr_mce_kill_policy in mpers mode + +# else static const struct xlat pr_mce_kill_policy[] = { @@ -23,4 +41,6 @@ const struct xlat pr_mce_kill_policy[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_set_mm.h b/xlat/pr_set_mm.h index bc07483c..e70ffc25 100644 --- a/xlat/pr_set_mm.h +++ b/xlat/pr_set_mm.h @@ -1,55 +1,121 @@ /* Generated by ./xlat/gen.sh from ./xlat/pr_set_mm.in; do not edit. */ -#if !(defined(PR_SET_MM_START_CODE) || (defined(HAVE_DECL_PR_SET_MM_START_CODE) && HAVE_DECL_PR_SET_MM_START_CODE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_SET_MM_START_CODE) || (defined(HAVE_DECL_PR_SET_MM_START_CODE) && HAVE_DECL_PR_SET_MM_START_CODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_START_CODE) == (1), "PR_SET_MM_START_CODE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_START_CODE 1 #endif -#if !(defined(PR_SET_MM_END_CODE) || (defined(HAVE_DECL_PR_SET_MM_END_CODE) && HAVE_DECL_PR_SET_MM_END_CODE)) +#if defined(PR_SET_MM_END_CODE) || (defined(HAVE_DECL_PR_SET_MM_END_CODE) && HAVE_DECL_PR_SET_MM_END_CODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_END_CODE) == (2), "PR_SET_MM_END_CODE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_END_CODE 2 #endif -#if !(defined(PR_SET_MM_START_DATA) || (defined(HAVE_DECL_PR_SET_MM_START_DATA) && HAVE_DECL_PR_SET_MM_START_DATA)) +#if defined(PR_SET_MM_START_DATA) || (defined(HAVE_DECL_PR_SET_MM_START_DATA) && HAVE_DECL_PR_SET_MM_START_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_START_DATA) == (3), "PR_SET_MM_START_DATA != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_START_DATA 3 #endif -#if !(defined(PR_SET_MM_END_DATA) || (defined(HAVE_DECL_PR_SET_MM_END_DATA) && HAVE_DECL_PR_SET_MM_END_DATA)) +#if defined(PR_SET_MM_END_DATA) || (defined(HAVE_DECL_PR_SET_MM_END_DATA) && HAVE_DECL_PR_SET_MM_END_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_END_DATA) == (4), "PR_SET_MM_END_DATA != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_END_DATA 4 #endif -#if !(defined(PR_SET_MM_START_STACK) || (defined(HAVE_DECL_PR_SET_MM_START_STACK) && HAVE_DECL_PR_SET_MM_START_STACK)) +#if defined(PR_SET_MM_START_STACK) || (defined(HAVE_DECL_PR_SET_MM_START_STACK) && HAVE_DECL_PR_SET_MM_START_STACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_START_STACK) == (5), "PR_SET_MM_START_STACK != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_START_STACK 5 #endif -#if !(defined(PR_SET_MM_START_BRK) || (defined(HAVE_DECL_PR_SET_MM_START_BRK) && HAVE_DECL_PR_SET_MM_START_BRK)) +#if defined(PR_SET_MM_START_BRK) || (defined(HAVE_DECL_PR_SET_MM_START_BRK) && HAVE_DECL_PR_SET_MM_START_BRK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_START_BRK) == (6), "PR_SET_MM_START_BRK != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_START_BRK 6 #endif -#if !(defined(PR_SET_MM_BRK) || (defined(HAVE_DECL_PR_SET_MM_BRK) && HAVE_DECL_PR_SET_MM_BRK)) +#if defined(PR_SET_MM_BRK) || (defined(HAVE_DECL_PR_SET_MM_BRK) && HAVE_DECL_PR_SET_MM_BRK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_BRK) == (7), "PR_SET_MM_BRK != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_BRK 7 #endif -#if !(defined(PR_SET_MM_ARG_START) || (defined(HAVE_DECL_PR_SET_MM_ARG_START) && HAVE_DECL_PR_SET_MM_ARG_START)) +#if defined(PR_SET_MM_ARG_START) || (defined(HAVE_DECL_PR_SET_MM_ARG_START) && HAVE_DECL_PR_SET_MM_ARG_START) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_ARG_START) == (8), "PR_SET_MM_ARG_START != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_ARG_START 8 #endif -#if !(defined(PR_SET_MM_ARG_END) || (defined(HAVE_DECL_PR_SET_MM_ARG_END) && HAVE_DECL_PR_SET_MM_ARG_END)) +#if defined(PR_SET_MM_ARG_END) || (defined(HAVE_DECL_PR_SET_MM_ARG_END) && HAVE_DECL_PR_SET_MM_ARG_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_ARG_END) == (9), "PR_SET_MM_ARG_END != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_ARG_END 9 #endif -#if !(defined(PR_SET_MM_ENV_START) || (defined(HAVE_DECL_PR_SET_MM_ENV_START) && HAVE_DECL_PR_SET_MM_ENV_START)) +#if defined(PR_SET_MM_ENV_START) || (defined(HAVE_DECL_PR_SET_MM_ENV_START) && HAVE_DECL_PR_SET_MM_ENV_START) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_ENV_START) == (10), "PR_SET_MM_ENV_START != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_ENV_START 10 #endif -#if !(defined(PR_SET_MM_ENV_END) || (defined(HAVE_DECL_PR_SET_MM_ENV_END) && HAVE_DECL_PR_SET_MM_ENV_END)) +#if defined(PR_SET_MM_ENV_END) || (defined(HAVE_DECL_PR_SET_MM_ENV_END) && HAVE_DECL_PR_SET_MM_ENV_END) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_ENV_END) == (11), "PR_SET_MM_ENV_END != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_ENV_END 11 #endif -#if !(defined(PR_SET_MM_AUXV) || (defined(HAVE_DECL_PR_SET_MM_AUXV) && HAVE_DECL_PR_SET_MM_AUXV)) +#if defined(PR_SET_MM_AUXV) || (defined(HAVE_DECL_PR_SET_MM_AUXV) && HAVE_DECL_PR_SET_MM_AUXV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_AUXV) == (12), "PR_SET_MM_AUXV != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_AUXV 12 #endif -#if !(defined(PR_SET_MM_EXE_FILE) || (defined(HAVE_DECL_PR_SET_MM_EXE_FILE) && HAVE_DECL_PR_SET_MM_EXE_FILE)) +#if defined(PR_SET_MM_EXE_FILE) || (defined(HAVE_DECL_PR_SET_MM_EXE_FILE) && HAVE_DECL_PR_SET_MM_EXE_FILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_EXE_FILE) == (13), "PR_SET_MM_EXE_FILE != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_EXE_FILE 13 #endif -#if !(defined(PR_SET_MM_MAP) || (defined(HAVE_DECL_PR_SET_MM_MAP) && HAVE_DECL_PR_SET_MM_MAP)) +#if defined(PR_SET_MM_MAP) || (defined(HAVE_DECL_PR_SET_MM_MAP) && HAVE_DECL_PR_SET_MM_MAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_MAP) == (14), "PR_SET_MM_MAP != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_MAP 14 #endif -#if !(defined(PR_SET_MM_MAP_SIZE) || (defined(HAVE_DECL_PR_SET_MM_MAP_SIZE) && HAVE_DECL_PR_SET_MM_MAP_SIZE)) +#if defined(PR_SET_MM_MAP_SIZE) || (defined(HAVE_DECL_PR_SET_MM_MAP_SIZE) && HAVE_DECL_PR_SET_MM_MAP_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM_MAP_SIZE) == (15), "PR_SET_MM_MAP_SIZE != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM_MAP_SIZE 15 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pr_set_mm in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pr_set_mm in mpers mode + +# else static const struct xlat pr_set_mm[] = { @@ -71,4 +137,6 @@ const struct xlat pr_set_mm[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_spec_cmds.h b/xlat/pr_spec_cmds.h new file mode 100644 index 00000000..7724d242 --- /dev/null +++ b/xlat/pr_spec_cmds.h @@ -0,0 +1,30 @@ +/* Generated by ./xlat/gen.sh from ./xlat/pr_spec_cmds.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_SPEC_STORE_BYPASS) || (defined(HAVE_DECL_PR_SPEC_STORE_BYPASS) && HAVE_DECL_PR_SPEC_STORE_BYPASS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SPEC_STORE_BYPASS) == (0), "PR_SPEC_STORE_BYPASS != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SPEC_STORE_BYPASS 0 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat pr_spec_cmds in mpers mode + +# else + +static +const struct xlat pr_spec_cmds[] = { + XLAT(PR_SPEC_STORE_BYPASS), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_spec_cmds.in b/xlat/pr_spec_cmds.in new file mode 100644 index 00000000..e006923d --- /dev/null +++ b/xlat/pr_spec_cmds.in @@ -0,0 +1 @@ +PR_SPEC_STORE_BYPASS 0 diff --git a/xlat/pr_spec_get_store_bypass_flags.h b/xlat/pr_spec_get_store_bypass_flags.h new file mode 100644 index 00000000..6985caac --- /dev/null +++ b/xlat/pr_spec_get_store_bypass_flags.h @@ -0,0 +1,62 @@ +/* Generated by ./xlat/gen.sh from ./xlat/pr_spec_get_store_bypass_flags.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_SPEC_NOT_AFFECTED) || (defined(HAVE_DECL_PR_SPEC_NOT_AFFECTED) && HAVE_DECL_PR_SPEC_NOT_AFFECTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SPEC_NOT_AFFECTED) == (0), "PR_SPEC_NOT_AFFECTED != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SPEC_NOT_AFFECTED 0 +#endif +#if defined(PR_SPEC_PRCTL) || (defined(HAVE_DECL_PR_SPEC_PRCTL) && HAVE_DECL_PR_SPEC_PRCTL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SPEC_PRCTL) == ((1 << 0)), "PR_SPEC_PRCTL != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SPEC_PRCTL (1 << 0) +#endif +#if defined(PR_SPEC_ENABLE) || (defined(HAVE_DECL_PR_SPEC_ENABLE) && HAVE_DECL_PR_SPEC_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SPEC_ENABLE) == ((1 << 1)), "PR_SPEC_ENABLE != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SPEC_ENABLE (1 << 1) +#endif +#if defined(PR_SPEC_DISABLE) || (defined(HAVE_DECL_PR_SPEC_DISABLE) && HAVE_DECL_PR_SPEC_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SPEC_DISABLE) == ((1 << 2)), "PR_SPEC_DISABLE != (1 << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SPEC_DISABLE (1 << 2) +#endif +#if defined(PR_SPEC_FORCE_DISABLE) || (defined(HAVE_DECL_PR_SPEC_FORCE_DISABLE) && HAVE_DECL_PR_SPEC_FORCE_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SPEC_FORCE_DISABLE) == ((1 << 3)), "PR_SPEC_FORCE_DISABLE != (1 << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SPEC_FORCE_DISABLE (1 << 3) +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat pr_spec_get_store_bypass_flags in mpers mode + +# else + +static +const struct xlat pr_spec_get_store_bypass_flags[] = { + XLAT(PR_SPEC_NOT_AFFECTED), + XLAT(PR_SPEC_PRCTL), + XLAT(PR_SPEC_ENABLE), + XLAT(PR_SPEC_DISABLE), + XLAT(PR_SPEC_FORCE_DISABLE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_spec_get_store_bypass_flags.in b/xlat/pr_spec_get_store_bypass_flags.in new file mode 100644 index 00000000..81f3674d --- /dev/null +++ b/xlat/pr_spec_get_store_bypass_flags.in @@ -0,0 +1,5 @@ +PR_SPEC_NOT_AFFECTED 0 +PR_SPEC_PRCTL (1 << 0) +PR_SPEC_ENABLE (1 << 1) +PR_SPEC_DISABLE (1 << 2) +PR_SPEC_FORCE_DISABLE (1 << 3) diff --git a/xlat/pr_spec_set_store_bypass_flags.h b/xlat/pr_spec_set_store_bypass_flags.h new file mode 100644 index 00000000..1ff205b6 --- /dev/null +++ b/xlat/pr_spec_set_store_bypass_flags.h @@ -0,0 +1,46 @@ +/* Generated by ./xlat/gen.sh from ./xlat/pr_spec_set_store_bypass_flags.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_SPEC_ENABLE) || (defined(HAVE_DECL_PR_SPEC_ENABLE) && HAVE_DECL_PR_SPEC_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SPEC_ENABLE) == ((1 << 1)), "PR_SPEC_ENABLE != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SPEC_ENABLE (1 << 1) +#endif +#if defined(PR_SPEC_DISABLE) || (defined(HAVE_DECL_PR_SPEC_DISABLE) && HAVE_DECL_PR_SPEC_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SPEC_DISABLE) == ((1 << 2)), "PR_SPEC_DISABLE != (1 << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SPEC_DISABLE (1 << 2) +#endif +#if defined(PR_SPEC_FORCE_DISABLE) || (defined(HAVE_DECL_PR_SPEC_FORCE_DISABLE) && HAVE_DECL_PR_SPEC_FORCE_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SPEC_FORCE_DISABLE) == ((1 << 3)), "PR_SPEC_FORCE_DISABLE != (1 << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SPEC_FORCE_DISABLE (1 << 3) +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat pr_spec_set_store_bypass_flags in mpers mode + +# else + +static +const struct xlat pr_spec_set_store_bypass_flags[] = { + XLAT(PR_SPEC_ENABLE), + XLAT(PR_SPEC_DISABLE), + XLAT(PR_SPEC_FORCE_DISABLE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_spec_set_store_bypass_flags.in b/xlat/pr_spec_set_store_bypass_flags.in new file mode 100644 index 00000000..04f3a03d --- /dev/null +++ b/xlat/pr_spec_set_store_bypass_flags.in @@ -0,0 +1,3 @@ +PR_SPEC_ENABLE (1 << 1) +PR_SPEC_DISABLE (1 << 2) +PR_SPEC_FORCE_DISABLE (1 << 3) diff --git a/xlat/pr_sve_vl_flags.h b/xlat/pr_sve_vl_flags.h index 3dcbb062..9a524b01 100644 --- a/xlat/pr_sve_vl_flags.h +++ b/xlat/pr_sve_vl_flags.h @@ -1,16 +1,30 @@ /* 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)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_SVE_SET_VL_ONEXEC) || (defined(HAVE_DECL_PR_SVE_SET_VL_ONEXEC) && HAVE_DECL_PR_SVE_SET_VL_ONEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SVE_SET_VL_ONEXEC) == ((1 << 18)), "PR_SVE_SET_VL_ONEXEC != (1 << 18)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(PR_SVE_VL_INHERIT) || (defined(HAVE_DECL_PR_SVE_VL_INHERIT) && HAVE_DECL_PR_SVE_VL_INHERIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SVE_VL_INHERIT) == ((1 << 17)), "PR_SVE_VL_INHERIT != (1 << 17)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SVE_VL_INHERIT (1 << 17) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pr_sve_vl_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pr_sve_vl_flags in mpers mode + +# else static const struct xlat pr_sve_vl_flags[] = { @@ -19,4 +33,6 @@ const struct xlat pr_sve_vl_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_tsc.h b/xlat/pr_tsc.h index daec871e..52b8caf0 100644 --- a/xlat/pr_tsc.h +++ b/xlat/pr_tsc.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/pr_tsc.in; do not edit. */ -#if !(defined(PR_TSC_ENABLE) || (defined(HAVE_DECL_PR_TSC_ENABLE) && HAVE_DECL_PR_TSC_ENABLE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_TSC_ENABLE) || (defined(HAVE_DECL_PR_TSC_ENABLE) && HAVE_DECL_PR_TSC_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_TSC_ENABLE) == (1), "PR_TSC_ENABLE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_TSC_ENABLE 1 #endif -#if !(defined(PR_TSC_SIGSEGV) || (defined(HAVE_DECL_PR_TSC_SIGSEGV) && HAVE_DECL_PR_TSC_SIGSEGV)) +#if defined(PR_TSC_SIGSEGV) || (defined(HAVE_DECL_PR_TSC_SIGSEGV) && HAVE_DECL_PR_TSC_SIGSEGV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_TSC_SIGSEGV) == (2), "PR_TSC_SIGSEGV != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_TSC_SIGSEGV 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pr_tsc in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pr_tsc in mpers mode + +# else static const struct xlat pr_tsc[] = { @@ -19,4 +33,6 @@ const struct xlat pr_tsc[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/pr_unalign_flags.h b/xlat/pr_unalign_flags.h index 5a92686e..e80c130f 100644 --- a/xlat/pr_unalign_flags.h +++ b/xlat/pr_unalign_flags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/pr_unalign_flags.in; do not edit. */ -#if !(defined(PR_UNALIGN_NOPRINT) || (defined(HAVE_DECL_PR_UNALIGN_NOPRINT) && HAVE_DECL_PR_UNALIGN_NOPRINT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_UNALIGN_NOPRINT) || (defined(HAVE_DECL_PR_UNALIGN_NOPRINT) && HAVE_DECL_PR_UNALIGN_NOPRINT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_UNALIGN_NOPRINT) == (1), "PR_UNALIGN_NOPRINT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_UNALIGN_NOPRINT 1 #endif -#if !(defined(PR_UNALIGN_SIGBUS) || (defined(HAVE_DECL_PR_UNALIGN_SIGBUS) && HAVE_DECL_PR_UNALIGN_SIGBUS)) +#if defined(PR_UNALIGN_SIGBUS) || (defined(HAVE_DECL_PR_UNALIGN_SIGBUS) && HAVE_DECL_PR_UNALIGN_SIGBUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_UNALIGN_SIGBUS) == (2), "PR_UNALIGN_SIGBUS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_UNALIGN_SIGBUS 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat pr_unalign_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat pr_unalign_flags in mpers mode + +# else static const struct xlat pr_unalign_flags[] = { @@ -19,4 +33,6 @@ const struct xlat pr_unalign_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/prctl_options.h b/xlat/prctl_options.h index e1a470f3..b018dfca 100644 --- a/xlat/prctl_options.h +++ b/xlat/prctl_options.h @@ -1,157 +1,373 @@ /* Generated by ./xlat/gen.sh from ./xlat/prctl_options.in; do not edit. */ -#if !(defined(PR_SET_PDEATHSIG) || (defined(HAVE_DECL_PR_SET_PDEATHSIG) && HAVE_DECL_PR_SET_PDEATHSIG)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PR_SET_PDEATHSIG) || (defined(HAVE_DECL_PR_SET_PDEATHSIG) && HAVE_DECL_PR_SET_PDEATHSIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_PDEATHSIG) == (1), "PR_SET_PDEATHSIG != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_PDEATHSIG 1 #endif -#if !(defined(PR_GET_PDEATHSIG) || (defined(HAVE_DECL_PR_GET_PDEATHSIG) && HAVE_DECL_PR_GET_PDEATHSIG)) +#if defined(PR_GET_PDEATHSIG) || (defined(HAVE_DECL_PR_GET_PDEATHSIG) && HAVE_DECL_PR_GET_PDEATHSIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_PDEATHSIG) == (2), "PR_GET_PDEATHSIG != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_PDEATHSIG 2 #endif -#if !(defined(PR_GET_DUMPABLE) || (defined(HAVE_DECL_PR_GET_DUMPABLE) && HAVE_DECL_PR_GET_DUMPABLE)) +#if defined(PR_GET_DUMPABLE) || (defined(HAVE_DECL_PR_GET_DUMPABLE) && HAVE_DECL_PR_GET_DUMPABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_DUMPABLE) == (3), "PR_GET_DUMPABLE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_DUMPABLE 3 #endif -#if !(defined(PR_SET_DUMPABLE) || (defined(HAVE_DECL_PR_SET_DUMPABLE) && HAVE_DECL_PR_SET_DUMPABLE)) +#if defined(PR_SET_DUMPABLE) || (defined(HAVE_DECL_PR_SET_DUMPABLE) && HAVE_DECL_PR_SET_DUMPABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_DUMPABLE) == (4), "PR_SET_DUMPABLE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_DUMPABLE 4 #endif -#if !(defined(PR_GET_UNALIGN) || (defined(HAVE_DECL_PR_GET_UNALIGN) && HAVE_DECL_PR_GET_UNALIGN)) +#if defined(PR_GET_UNALIGN) || (defined(HAVE_DECL_PR_GET_UNALIGN) && HAVE_DECL_PR_GET_UNALIGN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_UNALIGN) == (5), "PR_GET_UNALIGN != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_UNALIGN 5 #endif -#if !(defined(PR_SET_UNALIGN) || (defined(HAVE_DECL_PR_SET_UNALIGN) && HAVE_DECL_PR_SET_UNALIGN)) +#if defined(PR_SET_UNALIGN) || (defined(HAVE_DECL_PR_SET_UNALIGN) && HAVE_DECL_PR_SET_UNALIGN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_UNALIGN) == (6), "PR_SET_UNALIGN != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_UNALIGN 6 #endif -#if !(defined(PR_GET_KEEPCAPS) || (defined(HAVE_DECL_PR_GET_KEEPCAPS) && HAVE_DECL_PR_GET_KEEPCAPS)) +#if defined(PR_GET_KEEPCAPS) || (defined(HAVE_DECL_PR_GET_KEEPCAPS) && HAVE_DECL_PR_GET_KEEPCAPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_KEEPCAPS) == (7), "PR_GET_KEEPCAPS != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_KEEPCAPS 7 #endif -#if !(defined(PR_SET_KEEPCAPS) || (defined(HAVE_DECL_PR_SET_KEEPCAPS) && HAVE_DECL_PR_SET_KEEPCAPS)) +#if defined(PR_SET_KEEPCAPS) || (defined(HAVE_DECL_PR_SET_KEEPCAPS) && HAVE_DECL_PR_SET_KEEPCAPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_KEEPCAPS) == (8), "PR_SET_KEEPCAPS != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_KEEPCAPS 8 #endif -#if !(defined(PR_GET_FPEMU) || (defined(HAVE_DECL_PR_GET_FPEMU) && HAVE_DECL_PR_GET_FPEMU)) +#if defined(PR_GET_FPEMU) || (defined(HAVE_DECL_PR_GET_FPEMU) && HAVE_DECL_PR_GET_FPEMU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_FPEMU) == (9), "PR_GET_FPEMU != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_FPEMU 9 #endif -#if !(defined(PR_SET_FPEMU) || (defined(HAVE_DECL_PR_SET_FPEMU) && HAVE_DECL_PR_SET_FPEMU)) +#if defined(PR_SET_FPEMU) || (defined(HAVE_DECL_PR_SET_FPEMU) && HAVE_DECL_PR_SET_FPEMU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_FPEMU) == (10), "PR_SET_FPEMU != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_FPEMU 10 #endif -#if !(defined(PR_GET_FPEXC) || (defined(HAVE_DECL_PR_GET_FPEXC) && HAVE_DECL_PR_GET_FPEXC)) +#if defined(PR_GET_FPEXC) || (defined(HAVE_DECL_PR_GET_FPEXC) && HAVE_DECL_PR_GET_FPEXC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_FPEXC) == (11), "PR_GET_FPEXC != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_FPEXC 11 #endif -#if !(defined(PR_SET_FPEXC) || (defined(HAVE_DECL_PR_SET_FPEXC) && HAVE_DECL_PR_SET_FPEXC)) +#if defined(PR_SET_FPEXC) || (defined(HAVE_DECL_PR_SET_FPEXC) && HAVE_DECL_PR_SET_FPEXC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_FPEXC) == (12), "PR_SET_FPEXC != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_FPEXC 12 #endif -#if !(defined(PR_GET_TIMING) || (defined(HAVE_DECL_PR_GET_TIMING) && HAVE_DECL_PR_GET_TIMING)) +#if defined(PR_GET_TIMING) || (defined(HAVE_DECL_PR_GET_TIMING) && HAVE_DECL_PR_GET_TIMING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_TIMING) == (13), "PR_GET_TIMING != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_TIMING 13 #endif -#if !(defined(PR_SET_TIMING) || (defined(HAVE_DECL_PR_SET_TIMING) && HAVE_DECL_PR_SET_TIMING)) +#if defined(PR_SET_TIMING) || (defined(HAVE_DECL_PR_SET_TIMING) && HAVE_DECL_PR_SET_TIMING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_TIMING) == (14), "PR_SET_TIMING != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_TIMING 14 #endif -#if !(defined(PR_SET_NAME) || (defined(HAVE_DECL_PR_SET_NAME) && HAVE_DECL_PR_SET_NAME)) +#if defined(PR_SET_NAME) || (defined(HAVE_DECL_PR_SET_NAME) && HAVE_DECL_PR_SET_NAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_NAME) == (15), "PR_SET_NAME != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_NAME 15 #endif -#if !(defined(PR_GET_NAME) || (defined(HAVE_DECL_PR_GET_NAME) && HAVE_DECL_PR_GET_NAME)) +#if defined(PR_GET_NAME) || (defined(HAVE_DECL_PR_GET_NAME) && HAVE_DECL_PR_GET_NAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_NAME) == (16), "PR_GET_NAME != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_NAME 16 #endif -#if !(defined(PR_GET_ENDIAN) || (defined(HAVE_DECL_PR_GET_ENDIAN) && HAVE_DECL_PR_GET_ENDIAN)) +#if defined(PR_GET_ENDIAN) || (defined(HAVE_DECL_PR_GET_ENDIAN) && HAVE_DECL_PR_GET_ENDIAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_ENDIAN) == (19), "PR_GET_ENDIAN != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_ENDIAN 19 #endif -#if !(defined(PR_SET_ENDIAN) || (defined(HAVE_DECL_PR_SET_ENDIAN) && HAVE_DECL_PR_SET_ENDIAN)) +#if defined(PR_SET_ENDIAN) || (defined(HAVE_DECL_PR_SET_ENDIAN) && HAVE_DECL_PR_SET_ENDIAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_ENDIAN) == (20), "PR_SET_ENDIAN != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_ENDIAN 20 #endif -#if !(defined(PR_GET_SECCOMP) || (defined(HAVE_DECL_PR_GET_SECCOMP) && HAVE_DECL_PR_GET_SECCOMP)) +#if defined(PR_GET_SECCOMP) || (defined(HAVE_DECL_PR_GET_SECCOMP) && HAVE_DECL_PR_GET_SECCOMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_SECCOMP) == (21), "PR_GET_SECCOMP != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_SECCOMP 21 #endif -#if !(defined(PR_SET_SECCOMP) || (defined(HAVE_DECL_PR_SET_SECCOMP) && HAVE_DECL_PR_SET_SECCOMP)) +#if defined(PR_SET_SECCOMP) || (defined(HAVE_DECL_PR_SET_SECCOMP) && HAVE_DECL_PR_SET_SECCOMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_SECCOMP) == (22), "PR_SET_SECCOMP != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_SECCOMP 22 #endif -#if !(defined(PR_CAPBSET_READ) || (defined(HAVE_DECL_PR_CAPBSET_READ) && HAVE_DECL_PR_CAPBSET_READ)) +#if defined(PR_CAPBSET_READ) || (defined(HAVE_DECL_PR_CAPBSET_READ) && HAVE_DECL_PR_CAPBSET_READ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_CAPBSET_READ) == (23), "PR_CAPBSET_READ != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_CAPBSET_READ 23 #endif -#if !(defined(PR_CAPBSET_DROP) || (defined(HAVE_DECL_PR_CAPBSET_DROP) && HAVE_DECL_PR_CAPBSET_DROP)) +#if defined(PR_CAPBSET_DROP) || (defined(HAVE_DECL_PR_CAPBSET_DROP) && HAVE_DECL_PR_CAPBSET_DROP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_CAPBSET_DROP) == (24), "PR_CAPBSET_DROP != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_CAPBSET_DROP 24 #endif -#if !(defined(PR_GET_TSC) || (defined(HAVE_DECL_PR_GET_TSC) && HAVE_DECL_PR_GET_TSC)) +#if defined(PR_GET_TSC) || (defined(HAVE_DECL_PR_GET_TSC) && HAVE_DECL_PR_GET_TSC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_TSC) == (25), "PR_GET_TSC != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_TSC 25 #endif -#if !(defined(PR_SET_TSC) || (defined(HAVE_DECL_PR_SET_TSC) && HAVE_DECL_PR_SET_TSC)) +#if defined(PR_SET_TSC) || (defined(HAVE_DECL_PR_SET_TSC) && HAVE_DECL_PR_SET_TSC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_TSC) == (26), "PR_SET_TSC != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_TSC 26 #endif -#if !(defined(PR_GET_SECUREBITS) || (defined(HAVE_DECL_PR_GET_SECUREBITS) && HAVE_DECL_PR_GET_SECUREBITS)) +#if defined(PR_GET_SECUREBITS) || (defined(HAVE_DECL_PR_GET_SECUREBITS) && HAVE_DECL_PR_GET_SECUREBITS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_SECUREBITS) == (27), "PR_GET_SECUREBITS != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_SECUREBITS 27 #endif -#if !(defined(PR_SET_SECUREBITS) || (defined(HAVE_DECL_PR_SET_SECUREBITS) && HAVE_DECL_PR_SET_SECUREBITS)) +#if defined(PR_SET_SECUREBITS) || (defined(HAVE_DECL_PR_SET_SECUREBITS) && HAVE_DECL_PR_SET_SECUREBITS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_SECUREBITS) == (28), "PR_SET_SECUREBITS != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_SECUREBITS 28 #endif -#if !(defined(PR_SET_TIMERSLACK) || (defined(HAVE_DECL_PR_SET_TIMERSLACK) && HAVE_DECL_PR_SET_TIMERSLACK)) +#if defined(PR_SET_TIMERSLACK) || (defined(HAVE_DECL_PR_SET_TIMERSLACK) && HAVE_DECL_PR_SET_TIMERSLACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_TIMERSLACK) == (29), "PR_SET_TIMERSLACK != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_TIMERSLACK 29 #endif -#if !(defined(PR_GET_TIMERSLACK) || (defined(HAVE_DECL_PR_GET_TIMERSLACK) && HAVE_DECL_PR_GET_TIMERSLACK)) +#if defined(PR_GET_TIMERSLACK) || (defined(HAVE_DECL_PR_GET_TIMERSLACK) && HAVE_DECL_PR_GET_TIMERSLACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_TIMERSLACK) == (30), "PR_GET_TIMERSLACK != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_TIMERSLACK 30 #endif -#if !(defined(PR_TASK_PERF_EVENTS_DISABLE) || (defined(HAVE_DECL_PR_TASK_PERF_EVENTS_DISABLE) && HAVE_DECL_PR_TASK_PERF_EVENTS_DISABLE)) +#if defined(PR_TASK_PERF_EVENTS_DISABLE) || (defined(HAVE_DECL_PR_TASK_PERF_EVENTS_DISABLE) && HAVE_DECL_PR_TASK_PERF_EVENTS_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_TASK_PERF_EVENTS_DISABLE) == (31), "PR_TASK_PERF_EVENTS_DISABLE != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_TASK_PERF_EVENTS_DISABLE 31 #endif -#if !(defined(PR_TASK_PERF_EVENTS_ENABLE) || (defined(HAVE_DECL_PR_TASK_PERF_EVENTS_ENABLE) && HAVE_DECL_PR_TASK_PERF_EVENTS_ENABLE)) +#if defined(PR_TASK_PERF_EVENTS_ENABLE) || (defined(HAVE_DECL_PR_TASK_PERF_EVENTS_ENABLE) && HAVE_DECL_PR_TASK_PERF_EVENTS_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_TASK_PERF_EVENTS_ENABLE) == (32), "PR_TASK_PERF_EVENTS_ENABLE != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_TASK_PERF_EVENTS_ENABLE 32 #endif -#if !(defined(PR_MCE_KILL) || (defined(HAVE_DECL_PR_MCE_KILL) && HAVE_DECL_PR_MCE_KILL)) +#if defined(PR_MCE_KILL) || (defined(HAVE_DECL_PR_MCE_KILL) && HAVE_DECL_PR_MCE_KILL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_MCE_KILL) == (33), "PR_MCE_KILL != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_MCE_KILL 33 #endif -#if !(defined(PR_MCE_KILL_GET) || (defined(HAVE_DECL_PR_MCE_KILL_GET) && HAVE_DECL_PR_MCE_KILL_GET)) +#if defined(PR_MCE_KILL_GET) || (defined(HAVE_DECL_PR_MCE_KILL_GET) && HAVE_DECL_PR_MCE_KILL_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_MCE_KILL_GET) == (34), "PR_MCE_KILL_GET != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_MCE_KILL_GET 34 #endif -#if !(defined(PR_SET_MM) || (defined(HAVE_DECL_PR_SET_MM) && HAVE_DECL_PR_SET_MM)) +#if defined(PR_SET_MM) || (defined(HAVE_DECL_PR_SET_MM) && HAVE_DECL_PR_SET_MM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_MM) == (35), "PR_SET_MM != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_MM 35 #endif -#if !(defined(PR_SET_PTRACER) || (defined(HAVE_DECL_PR_SET_PTRACER) && HAVE_DECL_PR_SET_PTRACER)) +#if defined(PR_SET_PTRACER) || (defined(HAVE_DECL_PR_SET_PTRACER) && HAVE_DECL_PR_SET_PTRACER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_PTRACER) == (0x59616d61), "PR_SET_PTRACER != 0x59616d61"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_PTRACER 0x59616d61 #endif -#if !(defined(PR_SET_CHILD_SUBREAPER) || (defined(HAVE_DECL_PR_SET_CHILD_SUBREAPER) && HAVE_DECL_PR_SET_CHILD_SUBREAPER)) +#if defined(PR_SET_CHILD_SUBREAPER) || (defined(HAVE_DECL_PR_SET_CHILD_SUBREAPER) && HAVE_DECL_PR_SET_CHILD_SUBREAPER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_CHILD_SUBREAPER) == (36), "PR_SET_CHILD_SUBREAPER != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_CHILD_SUBREAPER 36 #endif -#if !(defined(PR_GET_CHILD_SUBREAPER) || (defined(HAVE_DECL_PR_GET_CHILD_SUBREAPER) && HAVE_DECL_PR_GET_CHILD_SUBREAPER)) +#if defined(PR_GET_CHILD_SUBREAPER) || (defined(HAVE_DECL_PR_GET_CHILD_SUBREAPER) && HAVE_DECL_PR_GET_CHILD_SUBREAPER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_CHILD_SUBREAPER) == (37), "PR_GET_CHILD_SUBREAPER != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_CHILD_SUBREAPER 37 #endif -#if !(defined(PR_SET_NO_NEW_PRIVS) || (defined(HAVE_DECL_PR_SET_NO_NEW_PRIVS) && HAVE_DECL_PR_SET_NO_NEW_PRIVS)) +#if defined(PR_SET_NO_NEW_PRIVS) || (defined(HAVE_DECL_PR_SET_NO_NEW_PRIVS) && HAVE_DECL_PR_SET_NO_NEW_PRIVS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_NO_NEW_PRIVS) == (38), "PR_SET_NO_NEW_PRIVS != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_NO_NEW_PRIVS 38 #endif -#if !(defined(PR_GET_NO_NEW_PRIVS) || (defined(HAVE_DECL_PR_GET_NO_NEW_PRIVS) && HAVE_DECL_PR_GET_NO_NEW_PRIVS)) +#if defined(PR_GET_NO_NEW_PRIVS) || (defined(HAVE_DECL_PR_GET_NO_NEW_PRIVS) && HAVE_DECL_PR_GET_NO_NEW_PRIVS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_NO_NEW_PRIVS) == (39), "PR_GET_NO_NEW_PRIVS != 39"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_NO_NEW_PRIVS 39 #endif -#if !(defined(PR_GET_TID_ADDRESS) || (defined(HAVE_DECL_PR_GET_TID_ADDRESS) && HAVE_DECL_PR_GET_TID_ADDRESS)) +#if defined(PR_GET_TID_ADDRESS) || (defined(HAVE_DECL_PR_GET_TID_ADDRESS) && HAVE_DECL_PR_GET_TID_ADDRESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_TID_ADDRESS) == (40), "PR_GET_TID_ADDRESS != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_TID_ADDRESS 40 #endif -#if !(defined(PR_SET_THP_DISABLE) || (defined(HAVE_DECL_PR_SET_THP_DISABLE) && HAVE_DECL_PR_SET_THP_DISABLE)) +#if defined(PR_SET_THP_DISABLE) || (defined(HAVE_DECL_PR_SET_THP_DISABLE) && HAVE_DECL_PR_SET_THP_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_THP_DISABLE) == (41), "PR_SET_THP_DISABLE != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_THP_DISABLE 41 #endif -#if !(defined(PR_GET_THP_DISABLE) || (defined(HAVE_DECL_PR_GET_THP_DISABLE) && HAVE_DECL_PR_GET_THP_DISABLE)) +#if defined(PR_GET_THP_DISABLE) || (defined(HAVE_DECL_PR_GET_THP_DISABLE) && HAVE_DECL_PR_GET_THP_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_THP_DISABLE) == (42), "PR_GET_THP_DISABLE != 42"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_THP_DISABLE 42 #endif -#if !(defined(PR_MPX_ENABLE_MANAGEMENT) || (defined(HAVE_DECL_PR_MPX_ENABLE_MANAGEMENT) && HAVE_DECL_PR_MPX_ENABLE_MANAGEMENT)) +#if defined(PR_MPX_ENABLE_MANAGEMENT) || (defined(HAVE_DECL_PR_MPX_ENABLE_MANAGEMENT) && HAVE_DECL_PR_MPX_ENABLE_MANAGEMENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_MPX_ENABLE_MANAGEMENT) == (43), "PR_MPX_ENABLE_MANAGEMENT != 43"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_MPX_ENABLE_MANAGEMENT 43 #endif -#if !(defined(PR_MPX_DISABLE_MANAGEMENT) || (defined(HAVE_DECL_PR_MPX_DISABLE_MANAGEMENT) && HAVE_DECL_PR_MPX_DISABLE_MANAGEMENT)) +#if defined(PR_MPX_DISABLE_MANAGEMENT) || (defined(HAVE_DECL_PR_MPX_DISABLE_MANAGEMENT) && HAVE_DECL_PR_MPX_DISABLE_MANAGEMENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_MPX_DISABLE_MANAGEMENT) == (44), "PR_MPX_DISABLE_MANAGEMENT != 44"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_MPX_DISABLE_MANAGEMENT 44 #endif -#if !(defined(PR_SET_FP_MODE) || (defined(HAVE_DECL_PR_SET_FP_MODE) && HAVE_DECL_PR_SET_FP_MODE)) +#if defined(PR_SET_FP_MODE) || (defined(HAVE_DECL_PR_SET_FP_MODE) && HAVE_DECL_PR_SET_FP_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_FP_MODE) == (45), "PR_SET_FP_MODE != 45"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_FP_MODE 45 #endif -#if !(defined(PR_GET_FP_MODE) || (defined(HAVE_DECL_PR_GET_FP_MODE) && HAVE_DECL_PR_GET_FP_MODE)) +#if defined(PR_GET_FP_MODE) || (defined(HAVE_DECL_PR_GET_FP_MODE) && HAVE_DECL_PR_GET_FP_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_FP_MODE) == (46), "PR_GET_FP_MODE != 46"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_GET_FP_MODE 46 #endif -#if !(defined(PR_CAP_AMBIENT) || (defined(HAVE_DECL_PR_CAP_AMBIENT) && HAVE_DECL_PR_CAP_AMBIENT)) +#if defined(PR_CAP_AMBIENT) || (defined(HAVE_DECL_PR_CAP_AMBIENT) && HAVE_DECL_PR_CAP_AMBIENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_CAP_AMBIENT) == (47), "PR_CAP_AMBIENT != 47"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(PR_SVE_SET_VL) || (defined(HAVE_DECL_PR_SVE_SET_VL) && HAVE_DECL_PR_SVE_SET_VL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SVE_SET_VL) == (50), "PR_SVE_SET_VL != 50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(PR_SVE_GET_VL) || (defined(HAVE_DECL_PR_SVE_GET_VL) && HAVE_DECL_PR_SVE_GET_VL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SVE_GET_VL) == (51), "PR_SVE_GET_VL != 51"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SVE_GET_VL 51 #endif -#if !(defined(PR_SET_VMA) || (defined(HAVE_DECL_PR_SET_VMA) && HAVE_DECL_PR_SET_VMA)) +#if defined(PR_GET_SPECULATION_CTRL) || (defined(HAVE_DECL_PR_GET_SPECULATION_CTRL) && HAVE_DECL_PR_GET_SPECULATION_CTRL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_GET_SPECULATION_CTRL) == (52), "PR_GET_SPECULATION_CTRL != 52"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_GET_SPECULATION_CTRL 52 +#endif +#if defined(PR_SET_SPECULATION_CTRL) || (defined(HAVE_DECL_PR_SET_SPECULATION_CTRL) && HAVE_DECL_PR_SET_SPECULATION_CTRL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_SPECULATION_CTRL) == (53), "PR_SET_SPECULATION_CTRL != 53"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PR_SET_SPECULATION_CTRL 53 +#endif +#if defined(PR_SET_VMA) || (defined(HAVE_DECL_PR_SET_VMA) && HAVE_DECL_PR_SET_VMA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PR_SET_VMA) == (0x53564d41), "PR_SET_VMA != 0x53564d41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PR_SET_VMA 0x53564d41 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat prctl_options in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat prctl_options in mpers mode + +# else static const struct xlat prctl_options[] = { @@ -203,8 +419,12 @@ const struct xlat prctl_options[] = { XLAT(PR_CAP_AMBIENT), XLAT(PR_SVE_SET_VL), XLAT(PR_SVE_GET_VL), + XLAT(PR_GET_SPECULATION_CTRL), + XLAT(PR_SET_SPECULATION_CTRL), XLAT(PR_SET_VMA), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/prctl_options.in b/xlat/prctl_options.in index 86fcd2cd..82787e33 100644 --- a/xlat/prctl_options.in +++ b/xlat/prctl_options.in @@ -46,4 +46,6 @@ PR_GET_FP_MODE 46 PR_CAP_AMBIENT 47 PR_SVE_SET_VL 50 PR_SVE_GET_VL 51 +PR_GET_SPECULATION_CTRL 52 +PR_SET_SPECULATION_CTRL 53 PR_SET_VMA 0x53564d41 diff --git a/xlat/priorities.h b/xlat/priorities.h index 72c1a440..0163ee76 100644 --- a/xlat/priorities.h +++ b/xlat/priorities.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/priorities.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat priorities in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat priorities in mpers mode + +# else static const struct xlat priorities[] = { @@ -20,4 +26,6 @@ const struct xlat priorities[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ptp_flags_options.h b/xlat/ptp_flags_options.h index 4ceffa65..df4e2d3c 100644 --- a/xlat/ptp_flags_options.h +++ b/xlat/ptp_flags_options.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ptp_flags_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ptp_flags_options in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ptp_flags_options in mpers mode + +# else static const struct xlat ptp_flags_options[] = { @@ -20,4 +26,6 @@ const struct xlat ptp_flags_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ptrace_cmds.h b/xlat/ptrace_cmds.h index 4125bfac..36b4eaee 100644 --- a/xlat/ptrace_cmds.h +++ b/xlat/ptrace_cmds.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ptrace_cmds.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ptrace_cmds in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ptrace_cmds in mpers mode + +# else static const struct xlat ptrace_cmds[] = { @@ -312,4 +318,6 @@ const struct xlat ptrace_cmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ptrace_events.h b/xlat/ptrace_events.h index a94c1004..d0085bc2 100644 --- a/xlat/ptrace_events.h +++ b/xlat/ptrace_events.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ptrace_events.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ptrace_events in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ptrace_events in mpers mode + +# else static const struct xlat ptrace_events[] = { @@ -39,4 +45,6 @@ const struct xlat ptrace_events[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ptrace_peeksiginfo_flags.h b/xlat/ptrace_peeksiginfo_flags.h index c6152b77..c2a946cb 100644 --- a/xlat/ptrace_peeksiginfo_flags.h +++ b/xlat/ptrace_peeksiginfo_flags.h @@ -1,13 +1,23 @@ /* Generated by ./xlat/gen.sh from ./xlat/ptrace_peeksiginfo_flags.in; do not edit. */ -#if !(defined(PTRACE_PEEKSIGINFO_SHARED) || (defined(HAVE_DECL_PTRACE_PEEKSIGINFO_SHARED) && HAVE_DECL_PTRACE_PEEKSIGINFO_SHARED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PTRACE_PEEKSIGINFO_SHARED) || (defined(HAVE_DECL_PTRACE_PEEKSIGINFO_SHARED) && HAVE_DECL_PTRACE_PEEKSIGINFO_SHARED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PTRACE_PEEKSIGINFO_SHARED) == (1), "PTRACE_PEEKSIGINFO_SHARED != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PTRACE_PEEKSIGINFO_SHARED 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat ptrace_peeksiginfo_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat ptrace_peeksiginfo_flags in mpers mode + +# else static const struct xlat ptrace_peeksiginfo_flags[] = { @@ -15,4 +25,6 @@ const struct xlat ptrace_peeksiginfo_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ptrace_setoptions_flags.h b/xlat/ptrace_setoptions_flags.h index d9d14cbf..622354c4 100644 --- a/xlat/ptrace_setoptions_flags.h +++ b/xlat/ptrace_setoptions_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ptrace_setoptions_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ptrace_setoptions_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ptrace_setoptions_flags in mpers mode + +# else static const struct xlat ptrace_setoptions_flags[] = { @@ -45,4 +51,6 @@ const struct xlat ptrace_setoptions_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/quota_formats.h b/xlat/quota_formats.h index 37f40271..9a24084d 100644 --- a/xlat/quota_formats.h +++ b/xlat/quota_formats.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/quota_formats.in; do not edit. */ -#if !(defined(QFMT_VFS_OLD) || (defined(HAVE_DECL_QFMT_VFS_OLD) && HAVE_DECL_QFMT_VFS_OLD)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(QFMT_VFS_OLD) || (defined(HAVE_DECL_QFMT_VFS_OLD) && HAVE_DECL_QFMT_VFS_OLD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QFMT_VFS_OLD) == (1), "QFMT_VFS_OLD != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QFMT_VFS_OLD 1 #endif -#if !(defined(QFMT_VFS_V0) || (defined(HAVE_DECL_QFMT_VFS_V0) && HAVE_DECL_QFMT_VFS_V0)) +#if defined(QFMT_VFS_V0) || (defined(HAVE_DECL_QFMT_VFS_V0) && HAVE_DECL_QFMT_VFS_V0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QFMT_VFS_V0) == (2), "QFMT_VFS_V0 != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QFMT_VFS_V0 2 #endif -#if !(defined(QFMT_OCFS2) || (defined(HAVE_DECL_QFMT_OCFS2) && HAVE_DECL_QFMT_OCFS2)) +#if defined(QFMT_OCFS2) || (defined(HAVE_DECL_QFMT_OCFS2) && HAVE_DECL_QFMT_OCFS2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QFMT_OCFS2) == (3), "QFMT_OCFS2 != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QFMT_OCFS2 3 #endif -#if !(defined(QFMT_VFS_V1) || (defined(HAVE_DECL_QFMT_VFS_V1) && HAVE_DECL_QFMT_VFS_V1)) +#if defined(QFMT_VFS_V1) || (defined(HAVE_DECL_QFMT_VFS_V1) && HAVE_DECL_QFMT_VFS_V1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((QFMT_VFS_V1) == (4), "QFMT_VFS_V1 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define QFMT_VFS_V1 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat quota_formats in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat quota_formats in mpers mode + +# else static const struct xlat quota_formats[] = { @@ -27,4 +49,6 @@ const struct xlat quota_formats[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/quotacmds.h b/xlat/quotacmds.h index 675cde9d..54dfbadb 100644 --- a/xlat/quotacmds.h +++ b/xlat/quotacmds.h @@ -1,115 +1,261 @@ /* Generated by ./xlat/gen.sh from ./xlat/quotacmds.in; do not edit. */ -#if !(defined(Q_V1_QUOTAON) || (defined(HAVE_DECL_Q_V1_QUOTAON) && HAVE_DECL_Q_V1_QUOTAON)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(Q_V1_QUOTAON) || (defined(HAVE_DECL_Q_V1_QUOTAON) && HAVE_DECL_Q_V1_QUOTAON) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V1_QUOTAON) == (OLD_CMD(0x1)), "Q_V1_QUOTAON != OLD_CMD(0x1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V1_QUOTAON OLD_CMD(0x1) #endif -#if !(defined(Q_V1_QUOTAOFF) || (defined(HAVE_DECL_Q_V1_QUOTAOFF) && HAVE_DECL_Q_V1_QUOTAOFF)) +#if defined(Q_V1_QUOTAOFF) || (defined(HAVE_DECL_Q_V1_QUOTAOFF) && HAVE_DECL_Q_V1_QUOTAOFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V1_QUOTAOFF) == (OLD_CMD(0x2)), "Q_V1_QUOTAOFF != OLD_CMD(0x2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V1_QUOTAOFF OLD_CMD(0x2) #endif -#if !(defined(Q_V1_GETQUOTA) || (defined(HAVE_DECL_Q_V1_GETQUOTA) && HAVE_DECL_Q_V1_GETQUOTA)) +#if defined(Q_V1_GETQUOTA) || (defined(HAVE_DECL_Q_V1_GETQUOTA) && HAVE_DECL_Q_V1_GETQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V1_GETQUOTA) == (OLD_CMD(0x3)), "Q_V1_GETQUOTA != OLD_CMD(0x3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V1_GETQUOTA OLD_CMD(0x3) #endif -#if !(defined(Q_V1_SETQUOTA) || (defined(HAVE_DECL_Q_V1_SETQUOTA) && HAVE_DECL_Q_V1_SETQUOTA)) +#if defined(Q_V1_SETQUOTA) || (defined(HAVE_DECL_Q_V1_SETQUOTA) && HAVE_DECL_Q_V1_SETQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V1_SETQUOTA) == (OLD_CMD(0x4)), "Q_V1_SETQUOTA != OLD_CMD(0x4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V1_SETQUOTA OLD_CMD(0x4) #endif -#if !(defined(Q_V1_SETUSE) || (defined(HAVE_DECL_Q_V1_SETUSE) && HAVE_DECL_Q_V1_SETUSE)) +#if defined(Q_V1_SETUSE) || (defined(HAVE_DECL_Q_V1_SETUSE) && HAVE_DECL_Q_V1_SETUSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V1_SETUSE) == (OLD_CMD(0x5)), "Q_V1_SETUSE != OLD_CMD(0x5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V1_SETUSE OLD_CMD(0x5) #endif -#if !(defined(Q_V1_SYNC) || (defined(HAVE_DECL_Q_V1_SYNC) && HAVE_DECL_Q_V1_SYNC)) +#if defined(Q_V1_SYNC) || (defined(HAVE_DECL_Q_V1_SYNC) && HAVE_DECL_Q_V1_SYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V1_SYNC) == (OLD_CMD(0x6)), "Q_V1_SYNC != OLD_CMD(0x6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V1_SYNC OLD_CMD(0x6) #endif -#if !(defined(Q_SETQLIM) || (defined(HAVE_DECL_Q_SETQLIM) && HAVE_DECL_Q_SETQLIM)) +#if defined(Q_SETQLIM) || (defined(HAVE_DECL_Q_SETQLIM) && HAVE_DECL_Q_SETQLIM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_SETQLIM) == (OLD_CMD(0x7)), "Q_SETQLIM != OLD_CMD(0x7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_SETQLIM OLD_CMD(0x7) #endif -#if !(defined(Q_V1_GETSTATS) || (defined(HAVE_DECL_Q_V1_GETSTATS) && HAVE_DECL_Q_V1_GETSTATS)) +#if defined(Q_V1_GETSTATS) || (defined(HAVE_DECL_Q_V1_GETSTATS) && HAVE_DECL_Q_V1_GETSTATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V1_GETSTATS) == (OLD_CMD(0x8)), "Q_V1_GETSTATS != OLD_CMD(0x8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V1_GETSTATS OLD_CMD(0x8) #endif -#if !(defined(Q_V1_RSQUASH) || (defined(HAVE_DECL_Q_V1_RSQUASH) && HAVE_DECL_Q_V1_RSQUASH)) +#if defined(Q_V1_RSQUASH) || (defined(HAVE_DECL_Q_V1_RSQUASH) && HAVE_DECL_Q_V1_RSQUASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V1_RSQUASH) == (OLD_CMD(0x10)), "Q_V1_RSQUASH != OLD_CMD(0x10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V1_RSQUASH OLD_CMD(0x10) #endif -#if !(defined(Q_V2_GETQUOTA) || (defined(HAVE_DECL_Q_V2_GETQUOTA) && HAVE_DECL_Q_V2_GETQUOTA)) +#if defined(Q_V2_GETQUOTA) || (defined(HAVE_DECL_Q_V2_GETQUOTA) && HAVE_DECL_Q_V2_GETQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V2_GETQUOTA) == (OLD_CMD(0xD)), "Q_V2_GETQUOTA != OLD_CMD(0xD)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V2_GETQUOTA OLD_CMD(0xD) #endif -#if !(defined(Q_V2_SETQUOTA) || (defined(HAVE_DECL_Q_V2_SETQUOTA) && HAVE_DECL_Q_V2_SETQUOTA)) +#if defined(Q_V2_SETQUOTA) || (defined(HAVE_DECL_Q_V2_SETQUOTA) && HAVE_DECL_Q_V2_SETQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V2_SETQUOTA) == (OLD_CMD(0xE)), "Q_V2_SETQUOTA != OLD_CMD(0xE)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V2_SETQUOTA OLD_CMD(0xE) #endif -#if !(defined(Q_V2_SETUSE) || (defined(HAVE_DECL_Q_V2_SETUSE) && HAVE_DECL_Q_V2_SETUSE)) +#if defined(Q_V2_SETUSE) || (defined(HAVE_DECL_Q_V2_SETUSE) && HAVE_DECL_Q_V2_SETUSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V2_SETUSE) == (OLD_CMD(0xF)), "Q_V2_SETUSE != OLD_CMD(0xF)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V2_SETUSE OLD_CMD(0xF) #endif -#if !(defined(Q_V2_GETINFO) || (defined(HAVE_DECL_Q_V2_GETINFO) && HAVE_DECL_Q_V2_GETINFO)) +#if defined(Q_V2_GETINFO) || (defined(HAVE_DECL_Q_V2_GETINFO) && HAVE_DECL_Q_V2_GETINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V2_GETINFO) == (OLD_CMD(0x9)), "Q_V2_GETINFO != OLD_CMD(0x9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V2_GETINFO OLD_CMD(0x9) #endif -#if !(defined(Q_V2_SETINFO) || (defined(HAVE_DECL_Q_V2_SETINFO) && HAVE_DECL_Q_V2_SETINFO)) +#if defined(Q_V2_SETINFO) || (defined(HAVE_DECL_Q_V2_SETINFO) && HAVE_DECL_Q_V2_SETINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V2_SETINFO) == (OLD_CMD(0xA)), "Q_V2_SETINFO != OLD_CMD(0xA)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V2_SETINFO OLD_CMD(0xA) #endif -#if !(defined(Q_V2_SETGRACE) || (defined(HAVE_DECL_Q_V2_SETGRACE) && HAVE_DECL_Q_V2_SETGRACE)) +#if defined(Q_V2_SETGRACE) || (defined(HAVE_DECL_Q_V2_SETGRACE) && HAVE_DECL_Q_V2_SETGRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V2_SETGRACE) == (OLD_CMD(0xB)), "Q_V2_SETGRACE != OLD_CMD(0xB)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V2_SETGRACE OLD_CMD(0xB) #endif -#if !(defined(Q_V2_SETFLAGS) || (defined(HAVE_DECL_Q_V2_SETFLAGS) && HAVE_DECL_Q_V2_SETFLAGS)) +#if defined(Q_V2_SETFLAGS) || (defined(HAVE_DECL_Q_V2_SETFLAGS) && HAVE_DECL_Q_V2_SETFLAGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V2_SETFLAGS) == (OLD_CMD(0xC)), "Q_V2_SETFLAGS != OLD_CMD(0xC)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V2_SETFLAGS OLD_CMD(0xC) #endif -#if !(defined(Q_V2_GETSTATS) || (defined(HAVE_DECL_Q_V2_GETSTATS) && HAVE_DECL_Q_V2_GETSTATS)) +#if defined(Q_V2_GETSTATS) || (defined(HAVE_DECL_Q_V2_GETSTATS) && HAVE_DECL_Q_V2_GETSTATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_V2_GETSTATS) == (OLD_CMD(0x11)), "Q_V2_GETSTATS != OLD_CMD(0x11)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_V2_GETSTATS OLD_CMD(0x11) #endif -#if !(defined(Q_SYNC) || (defined(HAVE_DECL_Q_SYNC) && HAVE_DECL_Q_SYNC)) +#if defined(Q_SYNC) || (defined(HAVE_DECL_Q_SYNC) && HAVE_DECL_Q_SYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_SYNC) == (NEW_CMD(0x1)), "Q_SYNC != NEW_CMD(0x1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_SYNC NEW_CMD(0x1) #endif -#if !(defined(Q_QUOTAON) || (defined(HAVE_DECL_Q_QUOTAON) && HAVE_DECL_Q_QUOTAON)) +#if defined(Q_QUOTAON) || (defined(HAVE_DECL_Q_QUOTAON) && HAVE_DECL_Q_QUOTAON) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_QUOTAON) == (NEW_CMD(0x2)), "Q_QUOTAON != NEW_CMD(0x2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_QUOTAON NEW_CMD(0x2) #endif -#if !(defined(Q_QUOTAOFF) || (defined(HAVE_DECL_Q_QUOTAOFF) && HAVE_DECL_Q_QUOTAOFF)) +#if defined(Q_QUOTAOFF) || (defined(HAVE_DECL_Q_QUOTAOFF) && HAVE_DECL_Q_QUOTAOFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_QUOTAOFF) == (NEW_CMD(0x3)), "Q_QUOTAOFF != NEW_CMD(0x3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_QUOTAOFF NEW_CMD(0x3) #endif -#if !(defined(Q_GETFMT) || (defined(HAVE_DECL_Q_GETFMT) && HAVE_DECL_Q_GETFMT)) +#if defined(Q_GETFMT) || (defined(HAVE_DECL_Q_GETFMT) && HAVE_DECL_Q_GETFMT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_GETFMT) == (NEW_CMD(0x4)), "Q_GETFMT != NEW_CMD(0x4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_GETFMT NEW_CMD(0x4) #endif -#if !(defined(Q_GETINFO) || (defined(HAVE_DECL_Q_GETINFO) && HAVE_DECL_Q_GETINFO)) +#if defined(Q_GETINFO) || (defined(HAVE_DECL_Q_GETINFO) && HAVE_DECL_Q_GETINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_GETINFO) == (NEW_CMD(0x5)), "Q_GETINFO != NEW_CMD(0x5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_GETINFO NEW_CMD(0x5) #endif -#if !(defined(Q_SETINFO) || (defined(HAVE_DECL_Q_SETINFO) && HAVE_DECL_Q_SETINFO)) +#if defined(Q_SETINFO) || (defined(HAVE_DECL_Q_SETINFO) && HAVE_DECL_Q_SETINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_SETINFO) == (NEW_CMD(0x6)), "Q_SETINFO != NEW_CMD(0x6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_SETINFO NEW_CMD(0x6) #endif -#if !(defined(Q_GETQUOTA) || (defined(HAVE_DECL_Q_GETQUOTA) && HAVE_DECL_Q_GETQUOTA)) +#if defined(Q_GETQUOTA) || (defined(HAVE_DECL_Q_GETQUOTA) && HAVE_DECL_Q_GETQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_GETQUOTA) == (NEW_CMD(0x7)), "Q_GETQUOTA != NEW_CMD(0x7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_GETQUOTA NEW_CMD(0x7) #endif -#if !(defined(Q_SETQUOTA) || (defined(HAVE_DECL_Q_SETQUOTA) && HAVE_DECL_Q_SETQUOTA)) +#if defined(Q_SETQUOTA) || (defined(HAVE_DECL_Q_SETQUOTA) && HAVE_DECL_Q_SETQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_SETQUOTA) == (NEW_CMD(0x8)), "Q_SETQUOTA != NEW_CMD(0x8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_SETQUOTA NEW_CMD(0x8) #endif -#if !(defined(Q_GETNEXTQUOTA) || (defined(HAVE_DECL_Q_GETNEXTQUOTA) && HAVE_DECL_Q_GETNEXTQUOTA)) +#if defined(Q_GETNEXTQUOTA) || (defined(HAVE_DECL_Q_GETNEXTQUOTA) && HAVE_DECL_Q_GETNEXTQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_GETNEXTQUOTA) == (NEW_CMD(0x9)), "Q_GETNEXTQUOTA != NEW_CMD(0x9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_GETNEXTQUOTA NEW_CMD(0x9) #endif -#if !(defined(Q_XQUOTAON) || (defined(HAVE_DECL_Q_XQUOTAON) && HAVE_DECL_Q_XQUOTAON)) +#if defined(Q_XQUOTAON) || (defined(HAVE_DECL_Q_XQUOTAON) && HAVE_DECL_Q_XQUOTAON) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_XQUOTAON) == (XQM_CMD(0x1)), "Q_XQUOTAON != XQM_CMD(0x1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_XQUOTAON XQM_CMD(0x1) #endif -#if !(defined(Q_XQUOTAOFF) || (defined(HAVE_DECL_Q_XQUOTAOFF) && HAVE_DECL_Q_XQUOTAOFF)) +#if defined(Q_XQUOTAOFF) || (defined(HAVE_DECL_Q_XQUOTAOFF) && HAVE_DECL_Q_XQUOTAOFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_XQUOTAOFF) == (XQM_CMD(0x2)), "Q_XQUOTAOFF != XQM_CMD(0x2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_XQUOTAOFF XQM_CMD(0x2) #endif -#if !(defined(Q_XGETQUOTA) || (defined(HAVE_DECL_Q_XGETQUOTA) && HAVE_DECL_Q_XGETQUOTA)) +#if defined(Q_XGETQUOTA) || (defined(HAVE_DECL_Q_XGETQUOTA) && HAVE_DECL_Q_XGETQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_XGETQUOTA) == (XQM_CMD(0x3)), "Q_XGETQUOTA != XQM_CMD(0x3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_XGETQUOTA XQM_CMD(0x3) #endif -#if !(defined(Q_XSETQLIM) || (defined(HAVE_DECL_Q_XSETQLIM) && HAVE_DECL_Q_XSETQLIM)) +#if defined(Q_XSETQLIM) || (defined(HAVE_DECL_Q_XSETQLIM) && HAVE_DECL_Q_XSETQLIM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_XSETQLIM) == (XQM_CMD(0x4)), "Q_XSETQLIM != XQM_CMD(0x4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_XSETQLIM XQM_CMD(0x4) #endif -#if !(defined(Q_XGETQSTAT) || (defined(HAVE_DECL_Q_XGETQSTAT) && HAVE_DECL_Q_XGETQSTAT)) +#if defined(Q_XGETQSTAT) || (defined(HAVE_DECL_Q_XGETQSTAT) && HAVE_DECL_Q_XGETQSTAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_XGETQSTAT) == (XQM_CMD(0x5)), "Q_XGETQSTAT != XQM_CMD(0x5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_XGETQSTAT XQM_CMD(0x5) #endif -#if !(defined(Q_XQUOTARM) || (defined(HAVE_DECL_Q_XQUOTARM) && HAVE_DECL_Q_XQUOTARM)) +#if defined(Q_XQUOTARM) || (defined(HAVE_DECL_Q_XQUOTARM) && HAVE_DECL_Q_XQUOTARM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_XQUOTARM) == (XQM_CMD(0x6)), "Q_XQUOTARM != XQM_CMD(0x6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_XQUOTARM XQM_CMD(0x6) #endif -#if !(defined(Q_XQUOTASYNC) || (defined(HAVE_DECL_Q_XQUOTASYNC) && HAVE_DECL_Q_XQUOTASYNC)) +#if defined(Q_XQUOTASYNC) || (defined(HAVE_DECL_Q_XQUOTASYNC) && HAVE_DECL_Q_XQUOTASYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_XQUOTASYNC) == (XQM_CMD(0x7)), "Q_XQUOTASYNC != XQM_CMD(0x7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_XQUOTASYNC XQM_CMD(0x7) #endif -#if !(defined(Q_XGETQSTATV) || (defined(HAVE_DECL_Q_XGETQSTATV) && HAVE_DECL_Q_XGETQSTATV)) +#if defined(Q_XGETQSTATV) || (defined(HAVE_DECL_Q_XGETQSTATV) && HAVE_DECL_Q_XGETQSTATV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_XGETQSTATV) == (XQM_CMD(0x8)), "Q_XGETQSTATV != XQM_CMD(0x8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_XGETQSTATV XQM_CMD(0x8) #endif -#if !(defined(Q_XGETNEXTQUOTA) || (defined(HAVE_DECL_Q_XGETNEXTQUOTA) && HAVE_DECL_Q_XGETNEXTQUOTA)) +#if defined(Q_XGETNEXTQUOTA) || (defined(HAVE_DECL_Q_XGETNEXTQUOTA) && HAVE_DECL_Q_XGETNEXTQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((Q_XGETNEXTQUOTA) == (XQM_CMD(0x9)), "Q_XGETNEXTQUOTA != XQM_CMD(0x9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define Q_XGETNEXTQUOTA XQM_CMD(0x9) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat quotacmds in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat quotacmds in mpers mode + +# else static const struct xlat quotacmds[] = { @@ -154,4 +300,6 @@ const struct xlat quotacmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/quotatypes.h b/xlat/quotatypes.h index d2231444..bbc9567d 100644 --- a/xlat/quotatypes.h +++ b/xlat/quotatypes.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/quotatypes.in; do not edit. */ -#if !(defined(USRQUOTA) || (defined(HAVE_DECL_USRQUOTA) && HAVE_DECL_USRQUOTA)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(USRQUOTA) || (defined(HAVE_DECL_USRQUOTA) && HAVE_DECL_USRQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((USRQUOTA) == (0), "USRQUOTA != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define USRQUOTA 0 #endif -#if !(defined(GRPQUOTA) || (defined(HAVE_DECL_GRPQUOTA) && HAVE_DECL_GRPQUOTA)) +#if defined(GRPQUOTA) || (defined(HAVE_DECL_GRPQUOTA) && HAVE_DECL_GRPQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GRPQUOTA) == (1), "GRPQUOTA != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define GRPQUOTA 1 #endif -#if !(defined(PRJQUOTA) || (defined(HAVE_DECL_PRJQUOTA) && HAVE_DECL_PRJQUOTA)) +#if defined(PRJQUOTA) || (defined(HAVE_DECL_PRJQUOTA) && HAVE_DECL_PRJQUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PRJQUOTA) == (2), "PRJQUOTA != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define PRJQUOTA 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat quotatypes in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat quotatypes in mpers mode + +# else static const struct xlat quotatypes[] = { @@ -23,4 +41,6 @@ const struct xlat quotatypes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rename_flags.h b/xlat/rename_flags.h index 2fc0a76f..5eb07aac 100644 --- a/xlat/rename_flags.h +++ b/xlat/rename_flags.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/rename_flags.in; do not edit. */ -#if !(defined(RENAME_NOREPLACE) || (defined(HAVE_DECL_RENAME_NOREPLACE) && HAVE_DECL_RENAME_NOREPLACE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RENAME_NOREPLACE) || (defined(HAVE_DECL_RENAME_NOREPLACE) && HAVE_DECL_RENAME_NOREPLACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RENAME_NOREPLACE) == (1), "RENAME_NOREPLACE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RENAME_NOREPLACE 1 #endif -#if !(defined(RENAME_EXCHANGE) || (defined(HAVE_DECL_RENAME_EXCHANGE) && HAVE_DECL_RENAME_EXCHANGE)) +#if defined(RENAME_EXCHANGE) || (defined(HAVE_DECL_RENAME_EXCHANGE) && HAVE_DECL_RENAME_EXCHANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RENAME_EXCHANGE) == (2), "RENAME_EXCHANGE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RENAME_EXCHANGE 2 #endif -#if !(defined(RENAME_WHITEOUT) || (defined(HAVE_DECL_RENAME_WHITEOUT) && HAVE_DECL_RENAME_WHITEOUT)) +#if defined(RENAME_WHITEOUT) || (defined(HAVE_DECL_RENAME_WHITEOUT) && HAVE_DECL_RENAME_WHITEOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RENAME_WHITEOUT) == (4), "RENAME_WHITEOUT != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RENAME_WHITEOUT 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rename_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rename_flags in mpers mode + +# else static const struct xlat rename_flags[] = { @@ -23,4 +41,6 @@ const struct xlat rename_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/resource_flags.h b/xlat/resource_flags.h index 7761ca22..67bed2d2 100644 --- a/xlat/resource_flags.h +++ b/xlat/resource_flags.h @@ -1,6 +1,12 @@ /* Generated by ./xlat/gen.sh from ./xlat/resource_flags.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat resource_flags[] = { #if defined(IPC_CREAT) || (defined(HAVE_DECL_IPC_CREAT) && HAVE_DECL_IPC_CREAT) @@ -15,4 +21,6 @@ const struct xlat resource_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/resources.h b/xlat/resources.h index 4493b083..e4c11d15 100644 --- a/xlat/resources.h +++ b/xlat/resources.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/resources.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat resources in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat resources in mpers mode + +# else static const struct xlat resources[] = { @@ -62,4 +68,6 @@ const struct xlat resources[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/riscv_flush_icache_flags.h b/xlat/riscv_flush_icache_flags.h index b9a031c3..4b9a812b 100644 --- a/xlat/riscv_flush_icache_flags.h +++ b/xlat/riscv_flush_icache_flags.h @@ -1,13 +1,23 @@ /* Generated by ./xlat/gen.sh from ./xlat/riscv_flush_icache_flags.in; do not edit. */ -#if !(defined(SYS_RISCV_FLUSH_ICACHE_LOCAL) || (defined(HAVE_DECL_SYS_RISCV_FLUSH_ICACHE_LOCAL) && HAVE_DECL_SYS_RISCV_FLUSH_ICACHE_LOCAL)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SYS_RISCV_FLUSH_ICACHE_LOCAL) || (defined(HAVE_DECL_SYS_RISCV_FLUSH_ICACHE_LOCAL) && HAVE_DECL_SYS_RISCV_FLUSH_ICACHE_LOCAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_RISCV_FLUSH_ICACHE_LOCAL) == (1), "SYS_RISCV_FLUSH_ICACHE_LOCAL != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_RISCV_FLUSH_ICACHE_LOCAL 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat riscv_flush_icache_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat riscv_flush_icache_flags in mpers mode + +# else static const struct xlat riscv_flush_icache_flags[] = { @@ -15,4 +25,6 @@ const struct xlat riscv_flush_icache_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/route_nexthop_flags.h b/xlat/route_nexthop_flags.h index 89394167..2463b336 100644 --- a/xlat/route_nexthop_flags.h +++ b/xlat/route_nexthop_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/route_nexthop_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat route_nexthop_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat route_nexthop_flags in mpers mode + +# else static const struct xlat route_nexthop_flags[] = { @@ -29,4 +35,6 @@ const struct xlat route_nexthop_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/routing_flags.h b/xlat/routing_flags.h index 51cc689e..fa6a212c 100644 --- a/xlat/routing_flags.h +++ b/xlat/routing_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/routing_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat routing_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat routing_flags in mpers mode + +# else static const struct xlat routing_flags[] = { @@ -26,4 +32,6 @@ const struct xlat routing_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/routing_protocols.h b/xlat/routing_protocols.h index 97f1b2b3..46d76b87 100644 --- a/xlat/routing_protocols.h +++ b/xlat/routing_protocols.h @@ -1,62 +1,151 @@ /* Generated by ./xlat/gen.sh from ./xlat/routing_protocols.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat routing_protocols in mpers mode - -#else - -static -const struct xlat routing_protocols[] = { #if defined(RTPROT_UNSPEC) || (defined(HAVE_DECL_RTPROT_UNSPEC) && HAVE_DECL_RTPROT_UNSPEC) - XLAT(RTPROT_UNSPEC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_UNSPEC) == (0), "RTPROT_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_UNSPEC 0 #endif #if defined(RTPROT_REDIRECT) || (defined(HAVE_DECL_RTPROT_REDIRECT) && HAVE_DECL_RTPROT_REDIRECT) - XLAT(RTPROT_REDIRECT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_REDIRECT) == (1), "RTPROT_REDIRECT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_REDIRECT 1 #endif #if defined(RTPROT_KERNEL) || (defined(HAVE_DECL_RTPROT_KERNEL) && HAVE_DECL_RTPROT_KERNEL) - XLAT(RTPROT_KERNEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_KERNEL) == (2), "RTPROT_KERNEL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_KERNEL 2 #endif #if defined(RTPROT_BOOT) || (defined(HAVE_DECL_RTPROT_BOOT) && HAVE_DECL_RTPROT_BOOT) - XLAT(RTPROT_BOOT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_BOOT) == (3), "RTPROT_BOOT != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_BOOT 3 #endif #if defined(RTPROT_STATIC) || (defined(HAVE_DECL_RTPROT_STATIC) && HAVE_DECL_RTPROT_STATIC) - XLAT(RTPROT_STATIC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_STATIC) == (4), "RTPROT_STATIC != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_STATIC 4 #endif #if defined(RTPROT_GATED) || (defined(HAVE_DECL_RTPROT_GATED) && HAVE_DECL_RTPROT_GATED) - XLAT(RTPROT_GATED), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_GATED) == (8), "RTPROT_GATED != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_GATED 8 #endif #if defined(RTPROT_RA) || (defined(HAVE_DECL_RTPROT_RA) && HAVE_DECL_RTPROT_RA) - XLAT(RTPROT_RA), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_RA) == (9), "RTPROT_RA != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_RA 9 #endif #if defined(RTPROT_MRT) || (defined(HAVE_DECL_RTPROT_MRT) && HAVE_DECL_RTPROT_MRT) - XLAT(RTPROT_MRT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_MRT) == (10), "RTPROT_MRT != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_MRT 10 #endif #if defined(RTPROT_ZEBRA) || (defined(HAVE_DECL_RTPROT_ZEBRA) && HAVE_DECL_RTPROT_ZEBRA) - XLAT(RTPROT_ZEBRA), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_ZEBRA) == (11), "RTPROT_ZEBRA != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_ZEBRA 11 #endif #if defined(RTPROT_BIRD) || (defined(HAVE_DECL_RTPROT_BIRD) && HAVE_DECL_RTPROT_BIRD) - XLAT(RTPROT_BIRD), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_BIRD) == (12), "RTPROT_BIRD != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_BIRD 12 #endif #if defined(RTPROT_DNROUTED) || (defined(HAVE_DECL_RTPROT_DNROUTED) && HAVE_DECL_RTPROT_DNROUTED) - XLAT(RTPROT_DNROUTED), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_DNROUTED) == (13), "RTPROT_DNROUTED != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_DNROUTED 13 #endif #if defined(RTPROT_XORP) || (defined(HAVE_DECL_RTPROT_XORP) && HAVE_DECL_RTPROT_XORP) - XLAT(RTPROT_XORP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_XORP) == (14), "RTPROT_XORP != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_XORP 14 #endif #if defined(RTPROT_NTK) || (defined(HAVE_DECL_RTPROT_NTK) && HAVE_DECL_RTPROT_NTK) - XLAT(RTPROT_NTK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_NTK) == (15), "RTPROT_NTK != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_NTK 15 #endif #if defined(RTPROT_DHCP) || (defined(HAVE_DECL_RTPROT_DHCP) && HAVE_DECL_RTPROT_DHCP) - XLAT(RTPROT_DHCP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_DHCP) == (16), "RTPROT_DHCP != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_DHCP 16 #endif #if defined(RTPROT_MROUTED) || (defined(HAVE_DECL_RTPROT_MROUTED) && HAVE_DECL_RTPROT_MROUTED) - XLAT(RTPROT_MROUTED), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_MROUTED) == (17), "RTPROT_MROUTED != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_MROUTED 17 #endif #if defined(RTPROT_BABEL) || (defined(HAVE_DECL_RTPROT_BABEL) && HAVE_DECL_RTPROT_BABEL) - XLAT(RTPROT_BABEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTPROT_BABEL) == (42), "RTPROT_BABEL != 42"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RTPROT_BABEL 42 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat routing_protocols in mpers mode + +# else + +static +const struct xlat routing_protocols[] = { + + XLAT(RTPROT_UNSPEC), + XLAT(RTPROT_REDIRECT), + XLAT(RTPROT_KERNEL), + XLAT(RTPROT_BOOT), + XLAT(RTPROT_STATIC), + XLAT(RTPROT_GATED), + XLAT(RTPROT_RA), + XLAT(RTPROT_MRT), + XLAT(RTPROT_ZEBRA), + XLAT(RTPROT_BIRD), + XLAT(RTPROT_DNROUTED), + XLAT(RTPROT_XORP), + XLAT(RTPROT_NTK), + XLAT(RTPROT_DHCP), + XLAT(RTPROT_MROUTED), + XLAT(RTPROT_BABEL), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/routing_protocols.in b/xlat/routing_protocols.in index d366b670..004b0997 100644 --- a/xlat/routing_protocols.in +++ b/xlat/routing_protocols.in @@ -1,16 +1,17 @@ -RTPROT_UNSPEC -RTPROT_REDIRECT -RTPROT_KERNEL -RTPROT_BOOT -RTPROT_STATIC -RTPROT_GATED -RTPROT_RA -RTPROT_MRT -RTPROT_ZEBRA -RTPROT_BIRD -RTPROT_DNROUTED -RTPROT_XORP -RTPROT_NTK -RTPROT_DHCP -RTPROT_MROUTED -RTPROT_BABEL +/* sort -k2,2n */ +RTPROT_UNSPEC 0 +RTPROT_REDIRECT 1 +RTPROT_KERNEL 2 +RTPROT_BOOT 3 +RTPROT_STATIC 4 +RTPROT_GATED 8 +RTPROT_RA 9 +RTPROT_MRT 10 +RTPROT_ZEBRA 11 +RTPROT_BIRD 12 +RTPROT_DNROUTED 13 +RTPROT_XORP 14 +RTPROT_NTK 15 +RTPROT_DHCP 16 +RTPROT_MROUTED 17 +RTPROT_BABEL 42 diff --git a/xlat/routing_scopes.h b/xlat/routing_scopes.h index 51fb1a26..f718f3b4 100644 --- a/xlat/routing_scopes.h +++ b/xlat/routing_scopes.h @@ -1,21 +1,47 @@ /* Generated by ./xlat/gen.sh from ./xlat/routing_scopes.in; do not edit. */ -#if !(defined(RT_SCOPE_UNIVERSE) || (defined(HAVE_DECL_RT_SCOPE_UNIVERSE) && HAVE_DECL_RT_SCOPE_UNIVERSE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RT_SCOPE_UNIVERSE) || (defined(HAVE_DECL_RT_SCOPE_UNIVERSE) && HAVE_DECL_RT_SCOPE_UNIVERSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_SCOPE_UNIVERSE) == (0), "RT_SCOPE_UNIVERSE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_SCOPE_UNIVERSE 0 #endif -#if !(defined(RT_SCOPE_SITE) || (defined(HAVE_DECL_RT_SCOPE_SITE) && HAVE_DECL_RT_SCOPE_SITE)) +#if defined(RT_SCOPE_SITE) || (defined(HAVE_DECL_RT_SCOPE_SITE) && HAVE_DECL_RT_SCOPE_SITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_SCOPE_SITE) == (200), "RT_SCOPE_SITE != 200"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_SCOPE_SITE 200 #endif -#if !(defined(RT_SCOPE_LINK) || (defined(HAVE_DECL_RT_SCOPE_LINK) && HAVE_DECL_RT_SCOPE_LINK)) +#if defined(RT_SCOPE_LINK) || (defined(HAVE_DECL_RT_SCOPE_LINK) && HAVE_DECL_RT_SCOPE_LINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_SCOPE_LINK) == (253), "RT_SCOPE_LINK != 253"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_SCOPE_LINK 253 #endif -#if !(defined(RT_SCOPE_HOST) || (defined(HAVE_DECL_RT_SCOPE_HOST) && HAVE_DECL_RT_SCOPE_HOST)) +#if defined(RT_SCOPE_HOST) || (defined(HAVE_DECL_RT_SCOPE_HOST) && HAVE_DECL_RT_SCOPE_HOST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_SCOPE_HOST) == (254), "RT_SCOPE_HOST != 254"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_SCOPE_HOST 254 #endif -#if !(defined(RT_SCOPE_NOWHERE) || (defined(HAVE_DECL_RT_SCOPE_NOWHERE) && HAVE_DECL_RT_SCOPE_NOWHERE)) +#if defined(RT_SCOPE_NOWHERE) || (defined(HAVE_DECL_RT_SCOPE_NOWHERE) && HAVE_DECL_RT_SCOPE_NOWHERE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_SCOPE_NOWHERE) == (255), "RT_SCOPE_NOWHERE != 255"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_SCOPE_NOWHERE 255 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat routing_scopes[] = { XLAT(RT_SCOPE_UNIVERSE), @@ -26,4 +52,6 @@ const struct xlat routing_scopes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/routing_table_ids.h b/xlat/routing_table_ids.h index a3b61649..9bab8026 100644 --- a/xlat/routing_table_ids.h +++ b/xlat/routing_table_ids.h @@ -1,21 +1,47 @@ /* Generated by ./xlat/gen.sh from ./xlat/routing_table_ids.in; do not edit. */ -#if !(defined(RT_TABLE_UNSPEC) || (defined(HAVE_DECL_RT_TABLE_UNSPEC) && HAVE_DECL_RT_TABLE_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RT_TABLE_UNSPEC) || (defined(HAVE_DECL_RT_TABLE_UNSPEC) && HAVE_DECL_RT_TABLE_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_TABLE_UNSPEC) == (0), "RT_TABLE_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_TABLE_UNSPEC 0 #endif -#if !(defined(RT_TABLE_COMPAT) || (defined(HAVE_DECL_RT_TABLE_COMPAT) && HAVE_DECL_RT_TABLE_COMPAT)) +#if defined(RT_TABLE_COMPAT) || (defined(HAVE_DECL_RT_TABLE_COMPAT) && HAVE_DECL_RT_TABLE_COMPAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_TABLE_COMPAT) == (252), "RT_TABLE_COMPAT != 252"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_TABLE_COMPAT 252 #endif -#if !(defined(RT_TABLE_DEFAULT) || (defined(HAVE_DECL_RT_TABLE_DEFAULT) && HAVE_DECL_RT_TABLE_DEFAULT)) +#if defined(RT_TABLE_DEFAULT) || (defined(HAVE_DECL_RT_TABLE_DEFAULT) && HAVE_DECL_RT_TABLE_DEFAULT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_TABLE_DEFAULT) == (253), "RT_TABLE_DEFAULT != 253"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_TABLE_DEFAULT 253 #endif -#if !(defined(RT_TABLE_MAIN) || (defined(HAVE_DECL_RT_TABLE_MAIN) && HAVE_DECL_RT_TABLE_MAIN)) +#if defined(RT_TABLE_MAIN) || (defined(HAVE_DECL_RT_TABLE_MAIN) && HAVE_DECL_RT_TABLE_MAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_TABLE_MAIN) == (254), "RT_TABLE_MAIN != 254"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_TABLE_MAIN 254 #endif -#if !(defined(RT_TABLE_LOCAL) || (defined(HAVE_DECL_RT_TABLE_LOCAL) && HAVE_DECL_RT_TABLE_LOCAL)) +#if defined(RT_TABLE_LOCAL) || (defined(HAVE_DECL_RT_TABLE_LOCAL) && HAVE_DECL_RT_TABLE_LOCAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RT_TABLE_LOCAL) == (255), "RT_TABLE_LOCAL != 255"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RT_TABLE_LOCAL 255 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat routing_table_ids[] = { XLAT(RT_TABLE_UNSPEC), @@ -26,4 +52,6 @@ const struct xlat routing_table_ids[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/routing_types.h b/xlat/routing_types.h index 5e963739..e5b76fc3 100644 --- a/xlat/routing_types.h +++ b/xlat/routing_types.h @@ -1,42 +1,96 @@ /* Generated by ./xlat/gen.sh from ./xlat/routing_types.in; do not edit. */ -#if !(defined(RTN_UNSPEC) || (defined(HAVE_DECL_RTN_UNSPEC) && HAVE_DECL_RTN_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RTN_UNSPEC) || (defined(HAVE_DECL_RTN_UNSPEC) && HAVE_DECL_RTN_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_UNSPEC) == (0), "RTN_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_UNSPEC 0 #endif -#if !(defined(RTN_UNICAST) || (defined(HAVE_DECL_RTN_UNICAST) && HAVE_DECL_RTN_UNICAST)) +#if defined(RTN_UNICAST) || (defined(HAVE_DECL_RTN_UNICAST) && HAVE_DECL_RTN_UNICAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_UNICAST) == (1), "RTN_UNICAST != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_UNICAST 1 #endif -#if !(defined(RTN_LOCAL) || (defined(HAVE_DECL_RTN_LOCAL) && HAVE_DECL_RTN_LOCAL)) +#if defined(RTN_LOCAL) || (defined(HAVE_DECL_RTN_LOCAL) && HAVE_DECL_RTN_LOCAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_LOCAL) == (2), "RTN_LOCAL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_LOCAL 2 #endif -#if !(defined(RTN_BROADCAST) || (defined(HAVE_DECL_RTN_BROADCAST) && HAVE_DECL_RTN_BROADCAST)) +#if defined(RTN_BROADCAST) || (defined(HAVE_DECL_RTN_BROADCAST) && HAVE_DECL_RTN_BROADCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_BROADCAST) == (3), "RTN_BROADCAST != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_BROADCAST 3 #endif -#if !(defined(RTN_ANYCAST) || (defined(HAVE_DECL_RTN_ANYCAST) && HAVE_DECL_RTN_ANYCAST)) +#if defined(RTN_ANYCAST) || (defined(HAVE_DECL_RTN_ANYCAST) && HAVE_DECL_RTN_ANYCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_ANYCAST) == (4), "RTN_ANYCAST != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_ANYCAST 4 #endif -#if !(defined(RTN_MULTICAST) || (defined(HAVE_DECL_RTN_MULTICAST) && HAVE_DECL_RTN_MULTICAST)) +#if defined(RTN_MULTICAST) || (defined(HAVE_DECL_RTN_MULTICAST) && HAVE_DECL_RTN_MULTICAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_MULTICAST) == (5), "RTN_MULTICAST != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_MULTICAST 5 #endif -#if !(defined(RTN_BLACKHOLE) || (defined(HAVE_DECL_RTN_BLACKHOLE) && HAVE_DECL_RTN_BLACKHOLE)) +#if defined(RTN_BLACKHOLE) || (defined(HAVE_DECL_RTN_BLACKHOLE) && HAVE_DECL_RTN_BLACKHOLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_BLACKHOLE) == (6), "RTN_BLACKHOLE != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_BLACKHOLE 6 #endif -#if !(defined(RTN_UNREACHABLE) || (defined(HAVE_DECL_RTN_UNREACHABLE) && HAVE_DECL_RTN_UNREACHABLE)) +#if defined(RTN_UNREACHABLE) || (defined(HAVE_DECL_RTN_UNREACHABLE) && HAVE_DECL_RTN_UNREACHABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_UNREACHABLE) == (7), "RTN_UNREACHABLE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_UNREACHABLE 7 #endif -#if !(defined(RTN_PROHIBIT) || (defined(HAVE_DECL_RTN_PROHIBIT) && HAVE_DECL_RTN_PROHIBIT)) +#if defined(RTN_PROHIBIT) || (defined(HAVE_DECL_RTN_PROHIBIT) && HAVE_DECL_RTN_PROHIBIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_PROHIBIT) == (8), "RTN_PROHIBIT != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_PROHIBIT 8 #endif -#if !(defined(RTN_THROW) || (defined(HAVE_DECL_RTN_THROW) && HAVE_DECL_RTN_THROW)) +#if defined(RTN_THROW) || (defined(HAVE_DECL_RTN_THROW) && HAVE_DECL_RTN_THROW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_THROW) == (9), "RTN_THROW != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_THROW 9 #endif -#if !(defined(RTN_NAT) || (defined(HAVE_DECL_RTN_NAT) && HAVE_DECL_RTN_NAT)) +#if defined(RTN_NAT) || (defined(HAVE_DECL_RTN_NAT) && HAVE_DECL_RTN_NAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_NAT) == (10), "RTN_NAT != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_NAT 10 #endif -#if !(defined(RTN_XRESOLVE) || (defined(HAVE_DECL_RTN_XRESOLVE) && HAVE_DECL_RTN_XRESOLVE)) +#if defined(RTN_XRESOLVE) || (defined(HAVE_DECL_RTN_XRESOLVE) && HAVE_DECL_RTN_XRESOLVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTN_XRESOLVE) == (11), "RTN_XRESOLVE != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTN_XRESOLVE 11 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat routing_types[] = { XLAT(RTN_UNSPEC), @@ -54,4 +108,6 @@ const struct xlat routing_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_addr_attrs.h b/xlat/rtnl_addr_attrs.h index b9579b03..ac9d9c69 100644 --- a/xlat/rtnl_addr_attrs.h +++ b/xlat/rtnl_addr_attrs.h @@ -1,37 +1,79 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_addr_attrs.in; do not edit. */ -#if !(defined(IFA_UNSPEC) || (defined(HAVE_DECL_IFA_UNSPEC) && HAVE_DECL_IFA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFA_UNSPEC) || (defined(HAVE_DECL_IFA_UNSPEC) && HAVE_DECL_IFA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFA_UNSPEC) == (0), "IFA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFA_UNSPEC 0 #endif -#if !(defined(IFA_ADDRESS) || (defined(HAVE_DECL_IFA_ADDRESS) && HAVE_DECL_IFA_ADDRESS)) +#if defined(IFA_ADDRESS) || (defined(HAVE_DECL_IFA_ADDRESS) && HAVE_DECL_IFA_ADDRESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFA_ADDRESS) == (1), "IFA_ADDRESS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFA_ADDRESS 1 #endif -#if !(defined(IFA_LOCAL) || (defined(HAVE_DECL_IFA_LOCAL) && HAVE_DECL_IFA_LOCAL)) +#if defined(IFA_LOCAL) || (defined(HAVE_DECL_IFA_LOCAL) && HAVE_DECL_IFA_LOCAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFA_LOCAL) == (2), "IFA_LOCAL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFA_LOCAL 2 #endif -#if !(defined(IFA_LABEL) || (defined(HAVE_DECL_IFA_LABEL) && HAVE_DECL_IFA_LABEL)) +#if defined(IFA_LABEL) || (defined(HAVE_DECL_IFA_LABEL) && HAVE_DECL_IFA_LABEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFA_LABEL) == (3), "IFA_LABEL != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFA_LABEL 3 #endif -#if !(defined(IFA_BROADCAST) || (defined(HAVE_DECL_IFA_BROADCAST) && HAVE_DECL_IFA_BROADCAST)) +#if defined(IFA_BROADCAST) || (defined(HAVE_DECL_IFA_BROADCAST) && HAVE_DECL_IFA_BROADCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFA_BROADCAST) == (4), "IFA_BROADCAST != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFA_BROADCAST 4 #endif -#if !(defined(IFA_ANYCAST) || (defined(HAVE_DECL_IFA_ANYCAST) && HAVE_DECL_IFA_ANYCAST)) +#if defined(IFA_ANYCAST) || (defined(HAVE_DECL_IFA_ANYCAST) && HAVE_DECL_IFA_ANYCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFA_ANYCAST) == (5), "IFA_ANYCAST != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFA_ANYCAST 5 #endif -#if !(defined(IFA_CACHEINFO) || (defined(HAVE_DECL_IFA_CACHEINFO) && HAVE_DECL_IFA_CACHEINFO)) +#if defined(IFA_CACHEINFO) || (defined(HAVE_DECL_IFA_CACHEINFO) && HAVE_DECL_IFA_CACHEINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFA_CACHEINFO) == (6), "IFA_CACHEINFO != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFA_CACHEINFO 6 #endif -#if !(defined(IFA_MULTICAST) || (defined(HAVE_DECL_IFA_MULTICAST) && HAVE_DECL_IFA_MULTICAST)) +#if defined(IFA_MULTICAST) || (defined(HAVE_DECL_IFA_MULTICAST) && HAVE_DECL_IFA_MULTICAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFA_MULTICAST) == (7), "IFA_MULTICAST != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFA_MULTICAST 7 #endif -#if !(defined(IFA_FLAGS) || (defined(HAVE_DECL_IFA_FLAGS) && HAVE_DECL_IFA_FLAGS)) +#if defined(IFA_FLAGS) || (defined(HAVE_DECL_IFA_FLAGS) && HAVE_DECL_IFA_FLAGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFA_FLAGS) == (8), "IFA_FLAGS != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFA_FLAGS 8 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_addr_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_addr_attrs in mpers mode + +# else static const struct xlat rtnl_addr_attrs[] = { @@ -47,4 +89,6 @@ const struct xlat rtnl_addr_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_addrlabel_attrs.h b/xlat/rtnl_addrlabel_attrs.h index eab9b6cc..f4b7e7f6 100644 --- a/xlat/rtnl_addrlabel_attrs.h +++ b/xlat/rtnl_addrlabel_attrs.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_addrlabel_attrs.in; do not edit. */ -#if !(defined(IFAL_ADDRESS) || (defined(HAVE_DECL_IFAL_ADDRESS) && HAVE_DECL_IFAL_ADDRESS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFAL_ADDRESS) || (defined(HAVE_DECL_IFAL_ADDRESS) && HAVE_DECL_IFAL_ADDRESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFAL_ADDRESS) == (1), "IFAL_ADDRESS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFAL_ADDRESS 1 #endif -#if !(defined(IFAL_LABEL) || (defined(HAVE_DECL_IFAL_LABEL) && HAVE_DECL_IFAL_LABEL)) +#if defined(IFAL_LABEL) || (defined(HAVE_DECL_IFAL_LABEL) && HAVE_DECL_IFAL_LABEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFAL_LABEL) == (2), "IFAL_LABEL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFAL_LABEL 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_addrlabel_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_addrlabel_attrs in mpers mode + +# else static const struct xlat rtnl_addrlabel_attrs[] = { @@ -19,4 +33,6 @@ const struct xlat rtnl_addrlabel_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_dcb_attrs.h b/xlat/rtnl_dcb_attrs.h index e91bdf4b..9f2b6751 100644 --- a/xlat/rtnl_dcb_attrs.h +++ b/xlat/rtnl_dcb_attrs.h @@ -1,61 +1,135 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_dcb_attrs.in; do not edit. */ -#if !(defined(DCB_ATTR_UNDEFINED) || (defined(HAVE_DECL_DCB_ATTR_UNDEFINED) && HAVE_DECL_DCB_ATTR_UNDEFINED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(DCB_ATTR_UNDEFINED) || (defined(HAVE_DECL_DCB_ATTR_UNDEFINED) && HAVE_DECL_DCB_ATTR_UNDEFINED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_UNDEFINED) == (0), "DCB_ATTR_UNDEFINED != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_UNDEFINED 0 #endif -#if !(defined(DCB_ATTR_IFNAME) || (defined(HAVE_DECL_DCB_ATTR_IFNAME) && HAVE_DECL_DCB_ATTR_IFNAME)) +#if defined(DCB_ATTR_IFNAME) || (defined(HAVE_DECL_DCB_ATTR_IFNAME) && HAVE_DECL_DCB_ATTR_IFNAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_IFNAME) == (1), "DCB_ATTR_IFNAME != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_IFNAME 1 #endif -#if !(defined(DCB_ATTR_STATE) || (defined(HAVE_DECL_DCB_ATTR_STATE) && HAVE_DECL_DCB_ATTR_STATE)) +#if defined(DCB_ATTR_STATE) || (defined(HAVE_DECL_DCB_ATTR_STATE) && HAVE_DECL_DCB_ATTR_STATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_STATE) == (2), "DCB_ATTR_STATE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_STATE 2 #endif -#if !(defined(DCB_ATTR_PFC_STATE) || (defined(HAVE_DECL_DCB_ATTR_PFC_STATE) && HAVE_DECL_DCB_ATTR_PFC_STATE)) +#if defined(DCB_ATTR_PFC_STATE) || (defined(HAVE_DECL_DCB_ATTR_PFC_STATE) && HAVE_DECL_DCB_ATTR_PFC_STATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_PFC_STATE) == (3), "DCB_ATTR_PFC_STATE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_PFC_STATE 3 #endif -#if !(defined(DCB_ATTR_PFC_CFG) || (defined(HAVE_DECL_DCB_ATTR_PFC_CFG) && HAVE_DECL_DCB_ATTR_PFC_CFG)) +#if defined(DCB_ATTR_PFC_CFG) || (defined(HAVE_DECL_DCB_ATTR_PFC_CFG) && HAVE_DECL_DCB_ATTR_PFC_CFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_PFC_CFG) == (4), "DCB_ATTR_PFC_CFG != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_PFC_CFG 4 #endif -#if !(defined(DCB_ATTR_NUM_TC) || (defined(HAVE_DECL_DCB_ATTR_NUM_TC) && HAVE_DECL_DCB_ATTR_NUM_TC)) +#if defined(DCB_ATTR_NUM_TC) || (defined(HAVE_DECL_DCB_ATTR_NUM_TC) && HAVE_DECL_DCB_ATTR_NUM_TC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_NUM_TC) == (5), "DCB_ATTR_NUM_TC != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_NUM_TC 5 #endif -#if !(defined(DCB_ATTR_PG_CFG) || (defined(HAVE_DECL_DCB_ATTR_PG_CFG) && HAVE_DECL_DCB_ATTR_PG_CFG)) +#if defined(DCB_ATTR_PG_CFG) || (defined(HAVE_DECL_DCB_ATTR_PG_CFG) && HAVE_DECL_DCB_ATTR_PG_CFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_PG_CFG) == (6), "DCB_ATTR_PG_CFG != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_PG_CFG 6 #endif -#if !(defined(DCB_ATTR_SET_ALL) || (defined(HAVE_DECL_DCB_ATTR_SET_ALL) && HAVE_DECL_DCB_ATTR_SET_ALL)) +#if defined(DCB_ATTR_SET_ALL) || (defined(HAVE_DECL_DCB_ATTR_SET_ALL) && HAVE_DECL_DCB_ATTR_SET_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_SET_ALL) == (7), "DCB_ATTR_SET_ALL != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_SET_ALL 7 #endif -#if !(defined(DCB_ATTR_PERM_HWADDR) || (defined(HAVE_DECL_DCB_ATTR_PERM_HWADDR) && HAVE_DECL_DCB_ATTR_PERM_HWADDR)) +#if defined(DCB_ATTR_PERM_HWADDR) || (defined(HAVE_DECL_DCB_ATTR_PERM_HWADDR) && HAVE_DECL_DCB_ATTR_PERM_HWADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_PERM_HWADDR) == (8), "DCB_ATTR_PERM_HWADDR != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_PERM_HWADDR 8 #endif -#if !(defined(DCB_ATTR_CAP) || (defined(HAVE_DECL_DCB_ATTR_CAP) && HAVE_DECL_DCB_ATTR_CAP)) +#if defined(DCB_ATTR_CAP) || (defined(HAVE_DECL_DCB_ATTR_CAP) && HAVE_DECL_DCB_ATTR_CAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_CAP) == (9), "DCB_ATTR_CAP != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_CAP 9 #endif -#if !(defined(DCB_ATTR_NUMTCS) || (defined(HAVE_DECL_DCB_ATTR_NUMTCS) && HAVE_DECL_DCB_ATTR_NUMTCS)) +#if defined(DCB_ATTR_NUMTCS) || (defined(HAVE_DECL_DCB_ATTR_NUMTCS) && HAVE_DECL_DCB_ATTR_NUMTCS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_NUMTCS) == (10), "DCB_ATTR_NUMTCS != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_NUMTCS 10 #endif -#if !(defined(DCB_ATTR_BCN) || (defined(HAVE_DECL_DCB_ATTR_BCN) && HAVE_DECL_DCB_ATTR_BCN)) +#if defined(DCB_ATTR_BCN) || (defined(HAVE_DECL_DCB_ATTR_BCN) && HAVE_DECL_DCB_ATTR_BCN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_BCN) == (11), "DCB_ATTR_BCN != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_BCN 11 #endif -#if !(defined(DCB_ATTR_APP) || (defined(HAVE_DECL_DCB_ATTR_APP) && HAVE_DECL_DCB_ATTR_APP)) +#if defined(DCB_ATTR_APP) || (defined(HAVE_DECL_DCB_ATTR_APP) && HAVE_DECL_DCB_ATTR_APP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_APP) == (12), "DCB_ATTR_APP != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_APP 12 #endif -#if !(defined(DCB_ATTR_IEEE) || (defined(HAVE_DECL_DCB_ATTR_IEEE) && HAVE_DECL_DCB_ATTR_IEEE)) +#if defined(DCB_ATTR_IEEE) || (defined(HAVE_DECL_DCB_ATTR_IEEE) && HAVE_DECL_DCB_ATTR_IEEE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_IEEE) == (13), "DCB_ATTR_IEEE != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_IEEE 13 #endif -#if !(defined(DCB_ATTR_DCBX) || (defined(HAVE_DECL_DCB_ATTR_DCBX) && HAVE_DECL_DCB_ATTR_DCBX)) +#if defined(DCB_ATTR_DCBX) || (defined(HAVE_DECL_DCB_ATTR_DCBX) && HAVE_DECL_DCB_ATTR_DCBX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_DCBX) == (14), "DCB_ATTR_DCBX != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_DCBX 14 #endif -#if !(defined(DCB_ATTR_FEATCFG) || (defined(HAVE_DECL_DCB_ATTR_FEATCFG) && HAVE_DECL_DCB_ATTR_FEATCFG)) +#if defined(DCB_ATTR_FEATCFG) || (defined(HAVE_DECL_DCB_ATTR_FEATCFG) && HAVE_DECL_DCB_ATTR_FEATCFG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_FEATCFG) == (15), "DCB_ATTR_FEATCFG != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_FEATCFG 15 #endif -#if !(defined(DCB_ATTR_CEE) || (defined(HAVE_DECL_DCB_ATTR_CEE) && HAVE_DECL_DCB_ATTR_CEE)) +#if defined(DCB_ATTR_CEE) || (defined(HAVE_DECL_DCB_ATTR_CEE) && HAVE_DECL_DCB_ATTR_CEE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCB_ATTR_CEE) == (16), "DCB_ATTR_CEE != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define DCB_ATTR_CEE 16 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_dcb_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_dcb_attrs in mpers mode + +# else static const struct xlat rtnl_dcb_attrs[] = { @@ -79,4 +153,6 @@ const struct xlat rtnl_dcb_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_af_spec_inet6_attrs.h b/xlat/rtnl_ifla_af_spec_inet6_attrs.h new file mode 100644 index 00000000..7a2e18bb --- /dev/null +++ b/xlat/rtnl_ifla_af_spec_inet6_attrs.h @@ -0,0 +1,94 @@ +/* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_af_spec_inet6_attrs.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_INET6_UNSPEC) || (defined(HAVE_DECL_IFLA_INET6_UNSPEC) && HAVE_DECL_IFLA_INET6_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET6_UNSPEC) == (0), "IFLA_INET6_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET6_UNSPEC 0 +#endif +#if defined(IFLA_INET6_FLAGS) || (defined(HAVE_DECL_IFLA_INET6_FLAGS) && HAVE_DECL_IFLA_INET6_FLAGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET6_FLAGS) == (1), "IFLA_INET6_FLAGS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET6_FLAGS 1 +#endif +#if defined(IFLA_INET6_CONF) || (defined(HAVE_DECL_IFLA_INET6_CONF) && HAVE_DECL_IFLA_INET6_CONF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET6_CONF) == (2), "IFLA_INET6_CONF != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET6_CONF 2 +#endif +#if defined(IFLA_INET6_STATS) || (defined(HAVE_DECL_IFLA_INET6_STATS) && HAVE_DECL_IFLA_INET6_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET6_STATS) == (3), "IFLA_INET6_STATS != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET6_STATS 3 +#endif +#if defined(IFLA_INET6_MCAST) || (defined(HAVE_DECL_IFLA_INET6_MCAST) && HAVE_DECL_IFLA_INET6_MCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET6_MCAST) == (4), "IFLA_INET6_MCAST != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET6_MCAST 4 +#endif +#if defined(IFLA_INET6_CACHEINFO) || (defined(HAVE_DECL_IFLA_INET6_CACHEINFO) && HAVE_DECL_IFLA_INET6_CACHEINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET6_CACHEINFO) == (5), "IFLA_INET6_CACHEINFO != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET6_CACHEINFO 5 +#endif +#if defined(IFLA_INET6_ICMP6STATS) || (defined(HAVE_DECL_IFLA_INET6_ICMP6STATS) && HAVE_DECL_IFLA_INET6_ICMP6STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET6_ICMP6STATS) == (6), "IFLA_INET6_ICMP6STATS != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET6_ICMP6STATS 6 +#endif +#if defined(IFLA_INET6_TOKEN) || (defined(HAVE_DECL_IFLA_INET6_TOKEN) && HAVE_DECL_IFLA_INET6_TOKEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET6_TOKEN) == (7), "IFLA_INET6_TOKEN != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET6_TOKEN 7 +#endif +#if defined(IFLA_INET6_ADDR_GEN_MODE) || (defined(HAVE_DECL_IFLA_INET6_ADDR_GEN_MODE) && HAVE_DECL_IFLA_INET6_ADDR_GEN_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET6_ADDR_GEN_MODE) == (8), "IFLA_INET6_ADDR_GEN_MODE != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET6_ADDR_GEN_MODE 8 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat rtnl_ifla_af_spec_inet6_attrs in mpers mode + +# else + +static +const struct xlat rtnl_ifla_af_spec_inet6_attrs[] = { + [IFLA_INET6_UNSPEC] = XLAT(IFLA_INET6_UNSPEC), + [IFLA_INET6_FLAGS] = XLAT(IFLA_INET6_FLAGS), + [IFLA_INET6_CONF] = XLAT(IFLA_INET6_CONF), + [IFLA_INET6_STATS] = XLAT(IFLA_INET6_STATS), + [IFLA_INET6_MCAST] = XLAT(IFLA_INET6_MCAST), + [IFLA_INET6_CACHEINFO] = XLAT(IFLA_INET6_CACHEINFO), + [IFLA_INET6_ICMP6STATS] = XLAT(IFLA_INET6_ICMP6STATS), + [IFLA_INET6_TOKEN] = XLAT(IFLA_INET6_TOKEN), + [IFLA_INET6_ADDR_GEN_MODE] = XLAT(IFLA_INET6_ADDR_GEN_MODE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_af_spec_inet6_attrs.in b/xlat/rtnl_ifla_af_spec_inet6_attrs.in new file mode 100644 index 00000000..9717d5aa --- /dev/null +++ b/xlat/rtnl_ifla_af_spec_inet6_attrs.in @@ -0,0 +1,10 @@ +#value_indexed +IFLA_INET6_UNSPEC 0 +IFLA_INET6_FLAGS 1 +IFLA_INET6_CONF 2 +IFLA_INET6_STATS 3 +IFLA_INET6_MCAST 4 +IFLA_INET6_CACHEINFO 5 +IFLA_INET6_ICMP6STATS 6 +IFLA_INET6_TOKEN 7 +IFLA_INET6_ADDR_GEN_MODE 8 diff --git a/xlat/rtnl_ifla_af_spec_inet_attrs.h b/xlat/rtnl_ifla_af_spec_inet_attrs.h new file mode 100644 index 00000000..8dd12203 --- /dev/null +++ b/xlat/rtnl_ifla_af_spec_inet_attrs.h @@ -0,0 +1,38 @@ +/* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_af_spec_inet_attrs.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_INET_UNSPEC) || (defined(HAVE_DECL_IFLA_INET_UNSPEC) && HAVE_DECL_IFLA_INET_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET_UNSPEC) == (0), "IFLA_INET_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET_UNSPEC 0 +#endif +#if defined(IFLA_INET_CONF) || (defined(HAVE_DECL_IFLA_INET_CONF) && HAVE_DECL_IFLA_INET_CONF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INET_CONF) == (1), "IFLA_INET_CONF != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_INET_CONF 1 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat rtnl_ifla_af_spec_inet_attrs in mpers mode + +# else + +static +const struct xlat rtnl_ifla_af_spec_inet_attrs[] = { + [IFLA_INET_UNSPEC] = XLAT(IFLA_INET_UNSPEC), + [IFLA_INET_CONF] = XLAT(IFLA_INET_CONF), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_af_spec_inet_attrs.in b/xlat/rtnl_ifla_af_spec_inet_attrs.in new file mode 100644 index 00000000..79799758 --- /dev/null +++ b/xlat/rtnl_ifla_af_spec_inet_attrs.in @@ -0,0 +1,3 @@ +#value_indexed +IFLA_INET_UNSPEC 0 +IFLA_INET_CONF 1 diff --git a/xlat/rtnl_ifla_brport_attrs.h b/xlat/rtnl_ifla_brport_attrs.h index 8b4bd1d9..0fb749c1 100644 --- a/xlat/rtnl_ifla_brport_attrs.h +++ b/xlat/rtnl_ifla_brport_attrs.h @@ -1,103 +1,233 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_brport_attrs.in; do not edit. */ -#if !(defined(IFLA_BRPORT_UNSPEC) || (defined(HAVE_DECL_IFLA_BRPORT_UNSPEC) && HAVE_DECL_IFLA_BRPORT_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_BRPORT_UNSPEC) || (defined(HAVE_DECL_IFLA_BRPORT_UNSPEC) && HAVE_DECL_IFLA_BRPORT_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_UNSPEC) == (0), "IFLA_BRPORT_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_UNSPEC 0 #endif -#if !(defined(IFLA_BRPORT_STATE) || (defined(HAVE_DECL_IFLA_BRPORT_STATE) && HAVE_DECL_IFLA_BRPORT_STATE)) +#if defined(IFLA_BRPORT_STATE) || (defined(HAVE_DECL_IFLA_BRPORT_STATE) && HAVE_DECL_IFLA_BRPORT_STATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_STATE) == (1), "IFLA_BRPORT_STATE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_STATE 1 #endif -#if !(defined(IFLA_BRPORT_PRIORITY) || (defined(HAVE_DECL_IFLA_BRPORT_PRIORITY) && HAVE_DECL_IFLA_BRPORT_PRIORITY)) +#if defined(IFLA_BRPORT_PRIORITY) || (defined(HAVE_DECL_IFLA_BRPORT_PRIORITY) && HAVE_DECL_IFLA_BRPORT_PRIORITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_PRIORITY) == (2), "IFLA_BRPORT_PRIORITY != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_PRIORITY 2 #endif -#if !(defined(IFLA_BRPORT_COST) || (defined(HAVE_DECL_IFLA_BRPORT_COST) && HAVE_DECL_IFLA_BRPORT_COST)) +#if defined(IFLA_BRPORT_COST) || (defined(HAVE_DECL_IFLA_BRPORT_COST) && HAVE_DECL_IFLA_BRPORT_COST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_COST) == (3), "IFLA_BRPORT_COST != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_COST 3 #endif -#if !(defined(IFLA_BRPORT_MODE) || (defined(HAVE_DECL_IFLA_BRPORT_MODE) && HAVE_DECL_IFLA_BRPORT_MODE)) +#if defined(IFLA_BRPORT_MODE) || (defined(HAVE_DECL_IFLA_BRPORT_MODE) && HAVE_DECL_IFLA_BRPORT_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_MODE) == (4), "IFLA_BRPORT_MODE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_MODE 4 #endif -#if !(defined(IFLA_BRPORT_GUARD) || (defined(HAVE_DECL_IFLA_BRPORT_GUARD) && HAVE_DECL_IFLA_BRPORT_GUARD)) +#if defined(IFLA_BRPORT_GUARD) || (defined(HAVE_DECL_IFLA_BRPORT_GUARD) && HAVE_DECL_IFLA_BRPORT_GUARD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_GUARD) == (5), "IFLA_BRPORT_GUARD != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_GUARD 5 #endif -#if !(defined(IFLA_BRPORT_PROTECT) || (defined(HAVE_DECL_IFLA_BRPORT_PROTECT) && HAVE_DECL_IFLA_BRPORT_PROTECT)) +#if defined(IFLA_BRPORT_PROTECT) || (defined(HAVE_DECL_IFLA_BRPORT_PROTECT) && HAVE_DECL_IFLA_BRPORT_PROTECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_PROTECT) == (6), "IFLA_BRPORT_PROTECT != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_PROTECT 6 #endif -#if !(defined(IFLA_BRPORT_FAST_LEAVE) || (defined(HAVE_DECL_IFLA_BRPORT_FAST_LEAVE) && HAVE_DECL_IFLA_BRPORT_FAST_LEAVE)) +#if defined(IFLA_BRPORT_FAST_LEAVE) || (defined(HAVE_DECL_IFLA_BRPORT_FAST_LEAVE) && HAVE_DECL_IFLA_BRPORT_FAST_LEAVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_FAST_LEAVE) == (7), "IFLA_BRPORT_FAST_LEAVE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_FAST_LEAVE 7 #endif -#if !(defined(IFLA_BRPORT_LEARNING) || (defined(HAVE_DECL_IFLA_BRPORT_LEARNING) && HAVE_DECL_IFLA_BRPORT_LEARNING)) +#if defined(IFLA_BRPORT_LEARNING) || (defined(HAVE_DECL_IFLA_BRPORT_LEARNING) && HAVE_DECL_IFLA_BRPORT_LEARNING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_LEARNING) == (8), "IFLA_BRPORT_LEARNING != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_LEARNING 8 #endif -#if !(defined(IFLA_BRPORT_UNICAST_FLOOD) || (defined(HAVE_DECL_IFLA_BRPORT_UNICAST_FLOOD) && HAVE_DECL_IFLA_BRPORT_UNICAST_FLOOD)) +#if defined(IFLA_BRPORT_UNICAST_FLOOD) || (defined(HAVE_DECL_IFLA_BRPORT_UNICAST_FLOOD) && HAVE_DECL_IFLA_BRPORT_UNICAST_FLOOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_UNICAST_FLOOD) == (9), "IFLA_BRPORT_UNICAST_FLOOD != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_UNICAST_FLOOD 9 #endif -#if !(defined(IFLA_BRPORT_PROXYARP) || (defined(HAVE_DECL_IFLA_BRPORT_PROXYARP) && HAVE_DECL_IFLA_BRPORT_PROXYARP)) +#if defined(IFLA_BRPORT_PROXYARP) || (defined(HAVE_DECL_IFLA_BRPORT_PROXYARP) && HAVE_DECL_IFLA_BRPORT_PROXYARP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_PROXYARP) == (10), "IFLA_BRPORT_PROXYARP != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_PROXYARP 10 #endif -#if !(defined(IFLA_BRPORT_LEARNING_SYNC) || (defined(HAVE_DECL_IFLA_BRPORT_LEARNING_SYNC) && HAVE_DECL_IFLA_BRPORT_LEARNING_SYNC)) +#if defined(IFLA_BRPORT_LEARNING_SYNC) || (defined(HAVE_DECL_IFLA_BRPORT_LEARNING_SYNC) && HAVE_DECL_IFLA_BRPORT_LEARNING_SYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_LEARNING_SYNC) == (11), "IFLA_BRPORT_LEARNING_SYNC != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_LEARNING_SYNC 11 #endif -#if !(defined(IFLA_BRPORT_PROXYARP_WIFI) || (defined(HAVE_DECL_IFLA_BRPORT_PROXYARP_WIFI) && HAVE_DECL_IFLA_BRPORT_PROXYARP_WIFI)) +#if defined(IFLA_BRPORT_PROXYARP_WIFI) || (defined(HAVE_DECL_IFLA_BRPORT_PROXYARP_WIFI) && HAVE_DECL_IFLA_BRPORT_PROXYARP_WIFI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_PROXYARP_WIFI) == (12), "IFLA_BRPORT_PROXYARP_WIFI != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_PROXYARP_WIFI 12 #endif -#if !(defined(IFLA_BRPORT_ROOT_ID) || (defined(HAVE_DECL_IFLA_BRPORT_ROOT_ID) && HAVE_DECL_IFLA_BRPORT_ROOT_ID)) +#if defined(IFLA_BRPORT_ROOT_ID) || (defined(HAVE_DECL_IFLA_BRPORT_ROOT_ID) && HAVE_DECL_IFLA_BRPORT_ROOT_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_ROOT_ID) == (13), "IFLA_BRPORT_ROOT_ID != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_ROOT_ID 13 #endif -#if !(defined(IFLA_BRPORT_BRIDGE_ID) || (defined(HAVE_DECL_IFLA_BRPORT_BRIDGE_ID) && HAVE_DECL_IFLA_BRPORT_BRIDGE_ID)) +#if defined(IFLA_BRPORT_BRIDGE_ID) || (defined(HAVE_DECL_IFLA_BRPORT_BRIDGE_ID) && HAVE_DECL_IFLA_BRPORT_BRIDGE_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_BRIDGE_ID) == (14), "IFLA_BRPORT_BRIDGE_ID != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_BRIDGE_ID 14 #endif -#if !(defined(IFLA_BRPORT_DESIGNATED_PORT) || (defined(HAVE_DECL_IFLA_BRPORT_DESIGNATED_PORT) && HAVE_DECL_IFLA_BRPORT_DESIGNATED_PORT)) +#if defined(IFLA_BRPORT_DESIGNATED_PORT) || (defined(HAVE_DECL_IFLA_BRPORT_DESIGNATED_PORT) && HAVE_DECL_IFLA_BRPORT_DESIGNATED_PORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_DESIGNATED_PORT) == (15), "IFLA_BRPORT_DESIGNATED_PORT != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_DESIGNATED_PORT 15 #endif -#if !(defined(IFLA_BRPORT_DESIGNATED_COST) || (defined(HAVE_DECL_IFLA_BRPORT_DESIGNATED_COST) && HAVE_DECL_IFLA_BRPORT_DESIGNATED_COST)) +#if defined(IFLA_BRPORT_DESIGNATED_COST) || (defined(HAVE_DECL_IFLA_BRPORT_DESIGNATED_COST) && HAVE_DECL_IFLA_BRPORT_DESIGNATED_COST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_DESIGNATED_COST) == (16), "IFLA_BRPORT_DESIGNATED_COST != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_DESIGNATED_COST 16 #endif -#if !(defined(IFLA_BRPORT_ID) || (defined(HAVE_DECL_IFLA_BRPORT_ID) && HAVE_DECL_IFLA_BRPORT_ID)) +#if defined(IFLA_BRPORT_ID) || (defined(HAVE_DECL_IFLA_BRPORT_ID) && HAVE_DECL_IFLA_BRPORT_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_ID) == (17), "IFLA_BRPORT_ID != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_ID 17 #endif -#if !(defined(IFLA_BRPORT_NO) || (defined(HAVE_DECL_IFLA_BRPORT_NO) && HAVE_DECL_IFLA_BRPORT_NO)) +#if defined(IFLA_BRPORT_NO) || (defined(HAVE_DECL_IFLA_BRPORT_NO) && HAVE_DECL_IFLA_BRPORT_NO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_NO) == (18), "IFLA_BRPORT_NO != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_NO 18 #endif -#if !(defined(IFLA_BRPORT_TOPOLOGY_CHANGE_ACK) || (defined(HAVE_DECL_IFLA_BRPORT_TOPOLOGY_CHANGE_ACK) && HAVE_DECL_IFLA_BRPORT_TOPOLOGY_CHANGE_ACK)) +#if defined(IFLA_BRPORT_TOPOLOGY_CHANGE_ACK) || (defined(HAVE_DECL_IFLA_BRPORT_TOPOLOGY_CHANGE_ACK) && HAVE_DECL_IFLA_BRPORT_TOPOLOGY_CHANGE_ACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_TOPOLOGY_CHANGE_ACK) == (19), "IFLA_BRPORT_TOPOLOGY_CHANGE_ACK != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_TOPOLOGY_CHANGE_ACK 19 #endif -#if !(defined(IFLA_BRPORT_CONFIG_PENDING) || (defined(HAVE_DECL_IFLA_BRPORT_CONFIG_PENDING) && HAVE_DECL_IFLA_BRPORT_CONFIG_PENDING)) +#if defined(IFLA_BRPORT_CONFIG_PENDING) || (defined(HAVE_DECL_IFLA_BRPORT_CONFIG_PENDING) && HAVE_DECL_IFLA_BRPORT_CONFIG_PENDING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_CONFIG_PENDING) == (20), "IFLA_BRPORT_CONFIG_PENDING != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_CONFIG_PENDING 20 #endif -#if !(defined(IFLA_BRPORT_MESSAGE_AGE_TIMER) || (defined(HAVE_DECL_IFLA_BRPORT_MESSAGE_AGE_TIMER) && HAVE_DECL_IFLA_BRPORT_MESSAGE_AGE_TIMER)) +#if defined(IFLA_BRPORT_MESSAGE_AGE_TIMER) || (defined(HAVE_DECL_IFLA_BRPORT_MESSAGE_AGE_TIMER) && HAVE_DECL_IFLA_BRPORT_MESSAGE_AGE_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_MESSAGE_AGE_TIMER) == (21), "IFLA_BRPORT_MESSAGE_AGE_TIMER != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_MESSAGE_AGE_TIMER 21 #endif -#if !(defined(IFLA_BRPORT_FORWARD_DELAY_TIMER) || (defined(HAVE_DECL_IFLA_BRPORT_FORWARD_DELAY_TIMER) && HAVE_DECL_IFLA_BRPORT_FORWARD_DELAY_TIMER)) +#if defined(IFLA_BRPORT_FORWARD_DELAY_TIMER) || (defined(HAVE_DECL_IFLA_BRPORT_FORWARD_DELAY_TIMER) && HAVE_DECL_IFLA_BRPORT_FORWARD_DELAY_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_FORWARD_DELAY_TIMER) == (22), "IFLA_BRPORT_FORWARD_DELAY_TIMER != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_FORWARD_DELAY_TIMER 22 #endif -#if !(defined(IFLA_BRPORT_HOLD_TIMER) || (defined(HAVE_DECL_IFLA_BRPORT_HOLD_TIMER) && HAVE_DECL_IFLA_BRPORT_HOLD_TIMER)) +#if defined(IFLA_BRPORT_HOLD_TIMER) || (defined(HAVE_DECL_IFLA_BRPORT_HOLD_TIMER) && HAVE_DECL_IFLA_BRPORT_HOLD_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_HOLD_TIMER) == (23), "IFLA_BRPORT_HOLD_TIMER != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_HOLD_TIMER 23 #endif -#if !(defined(IFLA_BRPORT_FLUSH) || (defined(HAVE_DECL_IFLA_BRPORT_FLUSH) && HAVE_DECL_IFLA_BRPORT_FLUSH)) +#if defined(IFLA_BRPORT_FLUSH) || (defined(HAVE_DECL_IFLA_BRPORT_FLUSH) && HAVE_DECL_IFLA_BRPORT_FLUSH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_FLUSH) == (24), "IFLA_BRPORT_FLUSH != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_FLUSH 24 #endif -#if !(defined(IFLA_BRPORT_MULTICAST_ROUTER) || (defined(HAVE_DECL_IFLA_BRPORT_MULTICAST_ROUTER) && HAVE_DECL_IFLA_BRPORT_MULTICAST_ROUTER)) +#if defined(IFLA_BRPORT_MULTICAST_ROUTER) || (defined(HAVE_DECL_IFLA_BRPORT_MULTICAST_ROUTER) && HAVE_DECL_IFLA_BRPORT_MULTICAST_ROUTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_MULTICAST_ROUTER) == (25), "IFLA_BRPORT_MULTICAST_ROUTER != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_MULTICAST_ROUTER 25 #endif -#if !(defined(IFLA_BRPORT_PAD) || (defined(HAVE_DECL_IFLA_BRPORT_PAD) && HAVE_DECL_IFLA_BRPORT_PAD)) +#if defined(IFLA_BRPORT_PAD) || (defined(HAVE_DECL_IFLA_BRPORT_PAD) && HAVE_DECL_IFLA_BRPORT_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_PAD) == (26), "IFLA_BRPORT_PAD != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_PAD 26 #endif -#if !(defined(IFLA_BRPORT_MCAST_FLOOD) || (defined(HAVE_DECL_IFLA_BRPORT_MCAST_FLOOD) && HAVE_DECL_IFLA_BRPORT_MCAST_FLOOD)) +#if defined(IFLA_BRPORT_MCAST_FLOOD) || (defined(HAVE_DECL_IFLA_BRPORT_MCAST_FLOOD) && HAVE_DECL_IFLA_BRPORT_MCAST_FLOOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_MCAST_FLOOD) == (27), "IFLA_BRPORT_MCAST_FLOOD != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_MCAST_FLOOD 27 #endif -#if !(defined(IFLA_BRPORT_MCAST_TO_UCAST) || (defined(HAVE_DECL_IFLA_BRPORT_MCAST_TO_UCAST) && HAVE_DECL_IFLA_BRPORT_MCAST_TO_UCAST)) +#if defined(IFLA_BRPORT_MCAST_TO_UCAST) || (defined(HAVE_DECL_IFLA_BRPORT_MCAST_TO_UCAST) && HAVE_DECL_IFLA_BRPORT_MCAST_TO_UCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_MCAST_TO_UCAST) == (28), "IFLA_BRPORT_MCAST_TO_UCAST != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_MCAST_TO_UCAST 28 #endif -#if !(defined(IFLA_BRPORT_VLAN_TUNNEL) || (defined(HAVE_DECL_IFLA_BRPORT_VLAN_TUNNEL) && HAVE_DECL_IFLA_BRPORT_VLAN_TUNNEL)) +#if defined(IFLA_BRPORT_VLAN_TUNNEL) || (defined(HAVE_DECL_IFLA_BRPORT_VLAN_TUNNEL) && HAVE_DECL_IFLA_BRPORT_VLAN_TUNNEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_VLAN_TUNNEL) == (29), "IFLA_BRPORT_VLAN_TUNNEL != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_VLAN_TUNNEL 29 #endif -#if !(defined(IFLA_BRPORT_BCAST_FLOOD) || (defined(HAVE_DECL_IFLA_BRPORT_BCAST_FLOOD) && HAVE_DECL_IFLA_BRPORT_BCAST_FLOOD)) +#if defined(IFLA_BRPORT_BCAST_FLOOD) || (defined(HAVE_DECL_IFLA_BRPORT_BCAST_FLOOD) && HAVE_DECL_IFLA_BRPORT_BCAST_FLOOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BRPORT_BCAST_FLOOD) == (30), "IFLA_BRPORT_BCAST_FLOOD != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BRPORT_BCAST_FLOOD 30 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_ifla_brport_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_ifla_brport_attrs in mpers mode + +# else static const struct xlat rtnl_ifla_brport_attrs[] = { @@ -135,4 +265,6 @@ const struct xlat rtnl_ifla_brport_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_events.h b/xlat/rtnl_ifla_events.h index 50aee847..0f214d63 100644 --- a/xlat/rtnl_ifla_events.h +++ b/xlat/rtnl_ifla_events.h @@ -1,31 +1,65 @@ /* 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)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_EVENT_NONE) || (defined(HAVE_DECL_IFLA_EVENT_NONE) && HAVE_DECL_IFLA_EVENT_NONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_EVENT_NONE) == (0), "IFLA_EVENT_NONE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_EVENT_NONE 0 #endif -#if !(defined(IFLA_EVENT_REBOOT) || (defined(HAVE_DECL_IFLA_EVENT_REBOOT) && HAVE_DECL_IFLA_EVENT_REBOOT)) +#if defined(IFLA_EVENT_REBOOT) || (defined(HAVE_DECL_IFLA_EVENT_REBOOT) && HAVE_DECL_IFLA_EVENT_REBOOT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_EVENT_REBOOT) == (1), "IFLA_EVENT_REBOOT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_EVENT_REBOOT 1 #endif -#if !(defined(IFLA_EVENT_FEATURES) || (defined(HAVE_DECL_IFLA_EVENT_FEATURES) && HAVE_DECL_IFLA_EVENT_FEATURES)) +#if defined(IFLA_EVENT_FEATURES) || (defined(HAVE_DECL_IFLA_EVENT_FEATURES) && HAVE_DECL_IFLA_EVENT_FEATURES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_EVENT_FEATURES) == (2), "IFLA_EVENT_FEATURES != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(IFLA_EVENT_BONDING_FAILOVER) || (defined(HAVE_DECL_IFLA_EVENT_BONDING_FAILOVER) && HAVE_DECL_IFLA_EVENT_BONDING_FAILOVER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_EVENT_BONDING_FAILOVER) == (3), "IFLA_EVENT_BONDING_FAILOVER != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(IFLA_EVENT_NOTIFY_PEERS) || (defined(HAVE_DECL_IFLA_EVENT_NOTIFY_PEERS) && HAVE_DECL_IFLA_EVENT_NOTIFY_PEERS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_EVENT_NOTIFY_PEERS) == (4), "IFLA_EVENT_NOTIFY_PEERS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(IFLA_EVENT_IGMP_RESEND) || (defined(HAVE_DECL_IFLA_EVENT_IGMP_RESEND) && HAVE_DECL_IFLA_EVENT_IGMP_RESEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_EVENT_IGMP_RESEND) == (5), "IFLA_EVENT_IGMP_RESEND != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(IFLA_EVENT_BONDING_OPTIONS) || (defined(HAVE_DECL_IFLA_EVENT_BONDING_OPTIONS) && HAVE_DECL_IFLA_EVENT_BONDING_OPTIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_EVENT_BONDING_OPTIONS) == (6), "IFLA_EVENT_BONDING_OPTIONS != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_EVENT_BONDING_OPTIONS 6 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_ifla_events in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_ifla_events in mpers mode + +# else static const struct xlat rtnl_ifla_events[] = { @@ -39,4 +73,6 @@ const struct xlat rtnl_ifla_events[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_info_attrs.h b/xlat/rtnl_ifla_info_attrs.h index 66ed9c42..dd3124b0 100644 --- a/xlat/rtnl_ifla_info_attrs.h +++ b/xlat/rtnl_ifla_info_attrs.h @@ -1,28 +1,58 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_info_attrs.in; do not edit. */ -#if !(defined(IFLA_INFO_UNSPEC) || (defined(HAVE_DECL_IFLA_INFO_UNSPEC) && HAVE_DECL_IFLA_INFO_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_INFO_UNSPEC) || (defined(HAVE_DECL_IFLA_INFO_UNSPEC) && HAVE_DECL_IFLA_INFO_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INFO_UNSPEC) == (0), "IFLA_INFO_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_INFO_UNSPEC 0 #endif -#if !(defined(IFLA_INFO_KIND) || (defined(HAVE_DECL_IFLA_INFO_KIND) && HAVE_DECL_IFLA_INFO_KIND)) +#if defined(IFLA_INFO_KIND) || (defined(HAVE_DECL_IFLA_INFO_KIND) && HAVE_DECL_IFLA_INFO_KIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INFO_KIND) == (1), "IFLA_INFO_KIND != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_INFO_KIND 1 #endif -#if !(defined(IFLA_INFO_DATA) || (defined(HAVE_DECL_IFLA_INFO_DATA) && HAVE_DECL_IFLA_INFO_DATA)) +#if defined(IFLA_INFO_DATA) || (defined(HAVE_DECL_IFLA_INFO_DATA) && HAVE_DECL_IFLA_INFO_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INFO_DATA) == (2), "IFLA_INFO_DATA != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_INFO_DATA 2 #endif -#if !(defined(IFLA_INFO_XSTATS) || (defined(HAVE_DECL_IFLA_INFO_XSTATS) && HAVE_DECL_IFLA_INFO_XSTATS)) +#if defined(IFLA_INFO_XSTATS) || (defined(HAVE_DECL_IFLA_INFO_XSTATS) && HAVE_DECL_IFLA_INFO_XSTATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INFO_XSTATS) == (3), "IFLA_INFO_XSTATS != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_INFO_XSTATS 3 #endif -#if !(defined(IFLA_INFO_SLAVE_KIND) || (defined(HAVE_DECL_IFLA_INFO_SLAVE_KIND) && HAVE_DECL_IFLA_INFO_SLAVE_KIND)) +#if defined(IFLA_INFO_SLAVE_KIND) || (defined(HAVE_DECL_IFLA_INFO_SLAVE_KIND) && HAVE_DECL_IFLA_INFO_SLAVE_KIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INFO_SLAVE_KIND) == (4), "IFLA_INFO_SLAVE_KIND != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_INFO_SLAVE_KIND 4 #endif -#if !(defined(IFLA_INFO_SLAVE_DATA) || (defined(HAVE_DECL_IFLA_INFO_SLAVE_DATA) && HAVE_DECL_IFLA_INFO_SLAVE_DATA)) +#if defined(IFLA_INFO_SLAVE_DATA) || (defined(HAVE_DECL_IFLA_INFO_SLAVE_DATA) && HAVE_DECL_IFLA_INFO_SLAVE_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_INFO_SLAVE_DATA) == (5), "IFLA_INFO_SLAVE_DATA != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_INFO_SLAVE_DATA 5 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_ifla_info_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_ifla_info_attrs in mpers mode + +# else static const struct xlat rtnl_ifla_info_attrs[] = { @@ -35,4 +65,6 @@ const struct xlat rtnl_ifla_info_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_info_data_bridge_attrs.h b/xlat/rtnl_ifla_info_data_bridge_attrs.h new file mode 100644 index 00000000..7436ddf2 --- /dev/null +++ b/xlat/rtnl_ifla_info_data_bridge_attrs.h @@ -0,0 +1,382 @@ +/* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_info_data_bridge_attrs.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_BR_UNSPEC) || (defined(HAVE_DECL_IFLA_BR_UNSPEC) && HAVE_DECL_IFLA_BR_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_UNSPEC) == (0), "IFLA_BR_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_UNSPEC 0 +#endif +#if defined(IFLA_BR_FORWARD_DELAY) || (defined(HAVE_DECL_IFLA_BR_FORWARD_DELAY) && HAVE_DECL_IFLA_BR_FORWARD_DELAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_FORWARD_DELAY) == (1), "IFLA_BR_FORWARD_DELAY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_FORWARD_DELAY 1 +#endif +#if defined(IFLA_BR_HELLO_TIME) || (defined(HAVE_DECL_IFLA_BR_HELLO_TIME) && HAVE_DECL_IFLA_BR_HELLO_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_HELLO_TIME) == (2), "IFLA_BR_HELLO_TIME != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_HELLO_TIME 2 +#endif +#if defined(IFLA_BR_MAX_AGE) || (defined(HAVE_DECL_IFLA_BR_MAX_AGE) && HAVE_DECL_IFLA_BR_MAX_AGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MAX_AGE) == (3), "IFLA_BR_MAX_AGE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MAX_AGE 3 +#endif +#if defined(IFLA_BR_AGEING_TIME) || (defined(HAVE_DECL_IFLA_BR_AGEING_TIME) && HAVE_DECL_IFLA_BR_AGEING_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_AGEING_TIME) == (4), "IFLA_BR_AGEING_TIME != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_AGEING_TIME 4 +#endif +#if defined(IFLA_BR_STP_STATE) || (defined(HAVE_DECL_IFLA_BR_STP_STATE) && HAVE_DECL_IFLA_BR_STP_STATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_STP_STATE) == (5), "IFLA_BR_STP_STATE != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_STP_STATE 5 +#endif +#if defined(IFLA_BR_PRIORITY) || (defined(HAVE_DECL_IFLA_BR_PRIORITY) && HAVE_DECL_IFLA_BR_PRIORITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_PRIORITY) == (6), "IFLA_BR_PRIORITY != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_PRIORITY 6 +#endif +#if defined(IFLA_BR_VLAN_FILTERING) || (defined(HAVE_DECL_IFLA_BR_VLAN_FILTERING) && HAVE_DECL_IFLA_BR_VLAN_FILTERING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_VLAN_FILTERING) == (7), "IFLA_BR_VLAN_FILTERING != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_VLAN_FILTERING 7 +#endif +#if defined(IFLA_BR_VLAN_PROTOCOL) || (defined(HAVE_DECL_IFLA_BR_VLAN_PROTOCOL) && HAVE_DECL_IFLA_BR_VLAN_PROTOCOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_VLAN_PROTOCOL) == (8), "IFLA_BR_VLAN_PROTOCOL != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_VLAN_PROTOCOL 8 +#endif +#if defined(IFLA_BR_GROUP_FWD_MASK) || (defined(HAVE_DECL_IFLA_BR_GROUP_FWD_MASK) && HAVE_DECL_IFLA_BR_GROUP_FWD_MASK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_GROUP_FWD_MASK) == (9), "IFLA_BR_GROUP_FWD_MASK != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_GROUP_FWD_MASK 9 +#endif +#if defined(IFLA_BR_ROOT_ID) || (defined(HAVE_DECL_IFLA_BR_ROOT_ID) && HAVE_DECL_IFLA_BR_ROOT_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_ROOT_ID) == (10), "IFLA_BR_ROOT_ID != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_ROOT_ID 10 +#endif +#if defined(IFLA_BR_BRIDGE_ID) || (defined(HAVE_DECL_IFLA_BR_BRIDGE_ID) && HAVE_DECL_IFLA_BR_BRIDGE_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_BRIDGE_ID) == (11), "IFLA_BR_BRIDGE_ID != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_BRIDGE_ID 11 +#endif +#if defined(IFLA_BR_ROOT_PORT) || (defined(HAVE_DECL_IFLA_BR_ROOT_PORT) && HAVE_DECL_IFLA_BR_ROOT_PORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_ROOT_PORT) == (12), "IFLA_BR_ROOT_PORT != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_ROOT_PORT 12 +#endif +#if defined(IFLA_BR_ROOT_PATH_COST) || (defined(HAVE_DECL_IFLA_BR_ROOT_PATH_COST) && HAVE_DECL_IFLA_BR_ROOT_PATH_COST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_ROOT_PATH_COST) == (13), "IFLA_BR_ROOT_PATH_COST != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_ROOT_PATH_COST 13 +#endif +#if defined(IFLA_BR_TOPOLOGY_CHANGE) || (defined(HAVE_DECL_IFLA_BR_TOPOLOGY_CHANGE) && HAVE_DECL_IFLA_BR_TOPOLOGY_CHANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_TOPOLOGY_CHANGE) == (14), "IFLA_BR_TOPOLOGY_CHANGE != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_TOPOLOGY_CHANGE 14 +#endif +#if defined(IFLA_BR_TOPOLOGY_CHANGE_DETECTED) || (defined(HAVE_DECL_IFLA_BR_TOPOLOGY_CHANGE_DETECTED) && HAVE_DECL_IFLA_BR_TOPOLOGY_CHANGE_DETECTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_TOPOLOGY_CHANGE_DETECTED) == (15), "IFLA_BR_TOPOLOGY_CHANGE_DETECTED != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_TOPOLOGY_CHANGE_DETECTED 15 +#endif +#if defined(IFLA_BR_HELLO_TIMER) || (defined(HAVE_DECL_IFLA_BR_HELLO_TIMER) && HAVE_DECL_IFLA_BR_HELLO_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_HELLO_TIMER) == (16), "IFLA_BR_HELLO_TIMER != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_HELLO_TIMER 16 +#endif +#if defined(IFLA_BR_TCN_TIMER) || (defined(HAVE_DECL_IFLA_BR_TCN_TIMER) && HAVE_DECL_IFLA_BR_TCN_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_TCN_TIMER) == (17), "IFLA_BR_TCN_TIMER != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_TCN_TIMER 17 +#endif +#if defined(IFLA_BR_TOPOLOGY_CHANGE_TIMER) || (defined(HAVE_DECL_IFLA_BR_TOPOLOGY_CHANGE_TIMER) && HAVE_DECL_IFLA_BR_TOPOLOGY_CHANGE_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_TOPOLOGY_CHANGE_TIMER) == (18), "IFLA_BR_TOPOLOGY_CHANGE_TIMER != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_TOPOLOGY_CHANGE_TIMER 18 +#endif +#if defined(IFLA_BR_GC_TIMER) || (defined(HAVE_DECL_IFLA_BR_GC_TIMER) && HAVE_DECL_IFLA_BR_GC_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_GC_TIMER) == (19), "IFLA_BR_GC_TIMER != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_GC_TIMER 19 +#endif +#if defined(IFLA_BR_GROUP_ADDR) || (defined(HAVE_DECL_IFLA_BR_GROUP_ADDR) && HAVE_DECL_IFLA_BR_GROUP_ADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_GROUP_ADDR) == (20), "IFLA_BR_GROUP_ADDR != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_GROUP_ADDR 20 +#endif +#if defined(IFLA_BR_FDB_FLUSH) || (defined(HAVE_DECL_IFLA_BR_FDB_FLUSH) && HAVE_DECL_IFLA_BR_FDB_FLUSH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_FDB_FLUSH) == (21), "IFLA_BR_FDB_FLUSH != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_FDB_FLUSH 21 +#endif +#if defined(IFLA_BR_MCAST_ROUTER) || (defined(HAVE_DECL_IFLA_BR_MCAST_ROUTER) && HAVE_DECL_IFLA_BR_MCAST_ROUTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_ROUTER) == (22), "IFLA_BR_MCAST_ROUTER != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_ROUTER 22 +#endif +#if defined(IFLA_BR_MCAST_SNOOPING) || (defined(HAVE_DECL_IFLA_BR_MCAST_SNOOPING) && HAVE_DECL_IFLA_BR_MCAST_SNOOPING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_SNOOPING) == (23), "IFLA_BR_MCAST_SNOOPING != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_SNOOPING 23 +#endif +#if defined(IFLA_BR_MCAST_QUERY_USE_IFADDR) || (defined(HAVE_DECL_IFLA_BR_MCAST_QUERY_USE_IFADDR) && HAVE_DECL_IFLA_BR_MCAST_QUERY_USE_IFADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_QUERY_USE_IFADDR) == (24), "IFLA_BR_MCAST_QUERY_USE_IFADDR != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_QUERY_USE_IFADDR 24 +#endif +#if defined(IFLA_BR_MCAST_QUERIER) || (defined(HAVE_DECL_IFLA_BR_MCAST_QUERIER) && HAVE_DECL_IFLA_BR_MCAST_QUERIER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_QUERIER) == (25), "IFLA_BR_MCAST_QUERIER != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_QUERIER 25 +#endif +#if defined(IFLA_BR_MCAST_HASH_ELASTICITY) || (defined(HAVE_DECL_IFLA_BR_MCAST_HASH_ELASTICITY) && HAVE_DECL_IFLA_BR_MCAST_HASH_ELASTICITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_HASH_ELASTICITY) == (26), "IFLA_BR_MCAST_HASH_ELASTICITY != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_HASH_ELASTICITY 26 +#endif +#if defined(IFLA_BR_MCAST_HASH_MAX) || (defined(HAVE_DECL_IFLA_BR_MCAST_HASH_MAX) && HAVE_DECL_IFLA_BR_MCAST_HASH_MAX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_HASH_MAX) == (27), "IFLA_BR_MCAST_HASH_MAX != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_HASH_MAX 27 +#endif +#if defined(IFLA_BR_MCAST_LAST_MEMBER_CNT) || (defined(HAVE_DECL_IFLA_BR_MCAST_LAST_MEMBER_CNT) && HAVE_DECL_IFLA_BR_MCAST_LAST_MEMBER_CNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_LAST_MEMBER_CNT) == (28), "IFLA_BR_MCAST_LAST_MEMBER_CNT != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_LAST_MEMBER_CNT 28 +#endif +#if defined(IFLA_BR_MCAST_STARTUP_QUERY_CNT) || (defined(HAVE_DECL_IFLA_BR_MCAST_STARTUP_QUERY_CNT) && HAVE_DECL_IFLA_BR_MCAST_STARTUP_QUERY_CNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_STARTUP_QUERY_CNT) == (29), "IFLA_BR_MCAST_STARTUP_QUERY_CNT != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_STARTUP_QUERY_CNT 29 +#endif +#if defined(IFLA_BR_MCAST_LAST_MEMBER_INTVL) || (defined(HAVE_DECL_IFLA_BR_MCAST_LAST_MEMBER_INTVL) && HAVE_DECL_IFLA_BR_MCAST_LAST_MEMBER_INTVL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_LAST_MEMBER_INTVL) == (30), "IFLA_BR_MCAST_LAST_MEMBER_INTVL != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_LAST_MEMBER_INTVL 30 +#endif +#if defined(IFLA_BR_MCAST_MEMBERSHIP_INTVL) || (defined(HAVE_DECL_IFLA_BR_MCAST_MEMBERSHIP_INTVL) && HAVE_DECL_IFLA_BR_MCAST_MEMBERSHIP_INTVL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_MEMBERSHIP_INTVL) == (31), "IFLA_BR_MCAST_MEMBERSHIP_INTVL != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_MEMBERSHIP_INTVL 31 +#endif +#if defined(IFLA_BR_MCAST_QUERIER_INTVL) || (defined(HAVE_DECL_IFLA_BR_MCAST_QUERIER_INTVL) && HAVE_DECL_IFLA_BR_MCAST_QUERIER_INTVL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_QUERIER_INTVL) == (32), "IFLA_BR_MCAST_QUERIER_INTVL != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_QUERIER_INTVL 32 +#endif +#if defined(IFLA_BR_MCAST_QUERY_INTVL) || (defined(HAVE_DECL_IFLA_BR_MCAST_QUERY_INTVL) && HAVE_DECL_IFLA_BR_MCAST_QUERY_INTVL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_QUERY_INTVL) == (33), "IFLA_BR_MCAST_QUERY_INTVL != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_QUERY_INTVL 33 +#endif +#if defined(IFLA_BR_MCAST_QUERY_RESPONSE_INTVL) || (defined(HAVE_DECL_IFLA_BR_MCAST_QUERY_RESPONSE_INTVL) && HAVE_DECL_IFLA_BR_MCAST_QUERY_RESPONSE_INTVL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_QUERY_RESPONSE_INTVL) == (34), "IFLA_BR_MCAST_QUERY_RESPONSE_INTVL != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_QUERY_RESPONSE_INTVL 34 +#endif +#if defined(IFLA_BR_MCAST_STARTUP_QUERY_INTVL) || (defined(HAVE_DECL_IFLA_BR_MCAST_STARTUP_QUERY_INTVL) && HAVE_DECL_IFLA_BR_MCAST_STARTUP_QUERY_INTVL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_STARTUP_QUERY_INTVL) == (35), "IFLA_BR_MCAST_STARTUP_QUERY_INTVL != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_STARTUP_QUERY_INTVL 35 +#endif +#if defined(IFLA_BR_NF_CALL_IPTABLES) || (defined(HAVE_DECL_IFLA_BR_NF_CALL_IPTABLES) && HAVE_DECL_IFLA_BR_NF_CALL_IPTABLES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_NF_CALL_IPTABLES) == (36), "IFLA_BR_NF_CALL_IPTABLES != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_NF_CALL_IPTABLES 36 +#endif +#if defined(IFLA_BR_NF_CALL_IP6TABLES) || (defined(HAVE_DECL_IFLA_BR_NF_CALL_IP6TABLES) && HAVE_DECL_IFLA_BR_NF_CALL_IP6TABLES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_NF_CALL_IP6TABLES) == (37), "IFLA_BR_NF_CALL_IP6TABLES != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_NF_CALL_IP6TABLES 37 +#endif +#if defined(IFLA_BR_NF_CALL_ARPTABLES) || (defined(HAVE_DECL_IFLA_BR_NF_CALL_ARPTABLES) && HAVE_DECL_IFLA_BR_NF_CALL_ARPTABLES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_NF_CALL_ARPTABLES) == (38), "IFLA_BR_NF_CALL_ARPTABLES != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_NF_CALL_ARPTABLES 38 +#endif +#if defined(IFLA_BR_VLAN_DEFAULT_PVID) || (defined(HAVE_DECL_IFLA_BR_VLAN_DEFAULT_PVID) && HAVE_DECL_IFLA_BR_VLAN_DEFAULT_PVID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_VLAN_DEFAULT_PVID) == (39), "IFLA_BR_VLAN_DEFAULT_PVID != 39"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_VLAN_DEFAULT_PVID 39 +#endif +#if defined(IFLA_BR_PAD) || (defined(HAVE_DECL_IFLA_BR_PAD) && HAVE_DECL_IFLA_BR_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_PAD) == (40), "IFLA_BR_PAD != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_PAD 40 +#endif +#if defined(IFLA_BR_VLAN_STATS_ENABLED) || (defined(HAVE_DECL_IFLA_BR_VLAN_STATS_ENABLED) && HAVE_DECL_IFLA_BR_VLAN_STATS_ENABLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_VLAN_STATS_ENABLED) == (41), "IFLA_BR_VLAN_STATS_ENABLED != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_VLAN_STATS_ENABLED 41 +#endif +#if defined(IFLA_BR_MCAST_STATS_ENABLED) || (defined(HAVE_DECL_IFLA_BR_MCAST_STATS_ENABLED) && HAVE_DECL_IFLA_BR_MCAST_STATS_ENABLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_STATS_ENABLED) == (42), "IFLA_BR_MCAST_STATS_ENABLED != 42"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_STATS_ENABLED 42 +#endif +#if defined(IFLA_BR_MCAST_IGMP_VERSION) || (defined(HAVE_DECL_IFLA_BR_MCAST_IGMP_VERSION) && HAVE_DECL_IFLA_BR_MCAST_IGMP_VERSION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_IGMP_VERSION) == (43), "IFLA_BR_MCAST_IGMP_VERSION != 43"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_IGMP_VERSION 43 +#endif +#if defined(IFLA_BR_MCAST_MLD_VERSION) || (defined(HAVE_DECL_IFLA_BR_MCAST_MLD_VERSION) && HAVE_DECL_IFLA_BR_MCAST_MLD_VERSION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BR_MCAST_MLD_VERSION) == (44), "IFLA_BR_MCAST_MLD_VERSION != 44"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_BR_MCAST_MLD_VERSION 44 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat rtnl_ifla_info_data_bridge_attrs in mpers mode + +# else + +static +const struct xlat rtnl_ifla_info_data_bridge_attrs[] = { + [IFLA_BR_UNSPEC] = XLAT(IFLA_BR_UNSPEC), + [IFLA_BR_FORWARD_DELAY] = XLAT(IFLA_BR_FORWARD_DELAY), + [IFLA_BR_HELLO_TIME] = XLAT(IFLA_BR_HELLO_TIME), + [IFLA_BR_MAX_AGE] = XLAT(IFLA_BR_MAX_AGE), + [IFLA_BR_AGEING_TIME] = XLAT(IFLA_BR_AGEING_TIME), + [IFLA_BR_STP_STATE] = XLAT(IFLA_BR_STP_STATE), + [IFLA_BR_PRIORITY] = XLAT(IFLA_BR_PRIORITY), + [IFLA_BR_VLAN_FILTERING] = XLAT(IFLA_BR_VLAN_FILTERING), + [IFLA_BR_VLAN_PROTOCOL] = XLAT(IFLA_BR_VLAN_PROTOCOL), + [IFLA_BR_GROUP_FWD_MASK] = XLAT(IFLA_BR_GROUP_FWD_MASK), + [IFLA_BR_ROOT_ID] = XLAT(IFLA_BR_ROOT_ID), + [IFLA_BR_BRIDGE_ID] = XLAT(IFLA_BR_BRIDGE_ID), + [IFLA_BR_ROOT_PORT] = XLAT(IFLA_BR_ROOT_PORT), + [IFLA_BR_ROOT_PATH_COST] = XLAT(IFLA_BR_ROOT_PATH_COST), + [IFLA_BR_TOPOLOGY_CHANGE] = XLAT(IFLA_BR_TOPOLOGY_CHANGE), + [IFLA_BR_TOPOLOGY_CHANGE_DETECTED] = XLAT(IFLA_BR_TOPOLOGY_CHANGE_DETECTED), + [IFLA_BR_HELLO_TIMER] = XLAT(IFLA_BR_HELLO_TIMER), + [IFLA_BR_TCN_TIMER] = XLAT(IFLA_BR_TCN_TIMER), + [IFLA_BR_TOPOLOGY_CHANGE_TIMER] = XLAT(IFLA_BR_TOPOLOGY_CHANGE_TIMER), + [IFLA_BR_GC_TIMER] = XLAT(IFLA_BR_GC_TIMER), + [IFLA_BR_GROUP_ADDR] = XLAT(IFLA_BR_GROUP_ADDR), + [IFLA_BR_FDB_FLUSH] = XLAT(IFLA_BR_FDB_FLUSH), + [IFLA_BR_MCAST_ROUTER] = XLAT(IFLA_BR_MCAST_ROUTER), + [IFLA_BR_MCAST_SNOOPING] = XLAT(IFLA_BR_MCAST_SNOOPING), + [IFLA_BR_MCAST_QUERY_USE_IFADDR] = XLAT(IFLA_BR_MCAST_QUERY_USE_IFADDR), + [IFLA_BR_MCAST_QUERIER] = XLAT(IFLA_BR_MCAST_QUERIER), + [IFLA_BR_MCAST_HASH_ELASTICITY] = XLAT(IFLA_BR_MCAST_HASH_ELASTICITY), + [IFLA_BR_MCAST_HASH_MAX] = XLAT(IFLA_BR_MCAST_HASH_MAX), + [IFLA_BR_MCAST_LAST_MEMBER_CNT] = XLAT(IFLA_BR_MCAST_LAST_MEMBER_CNT), + [IFLA_BR_MCAST_STARTUP_QUERY_CNT] = XLAT(IFLA_BR_MCAST_STARTUP_QUERY_CNT), + [IFLA_BR_MCAST_LAST_MEMBER_INTVL] = XLAT(IFLA_BR_MCAST_LAST_MEMBER_INTVL), + [IFLA_BR_MCAST_MEMBERSHIP_INTVL] = XLAT(IFLA_BR_MCAST_MEMBERSHIP_INTVL), + [IFLA_BR_MCAST_QUERIER_INTVL] = XLAT(IFLA_BR_MCAST_QUERIER_INTVL), + [IFLA_BR_MCAST_QUERY_INTVL] = XLAT(IFLA_BR_MCAST_QUERY_INTVL), + [IFLA_BR_MCAST_QUERY_RESPONSE_INTVL] = XLAT(IFLA_BR_MCAST_QUERY_RESPONSE_INTVL), + [IFLA_BR_MCAST_STARTUP_QUERY_INTVL] = XLAT(IFLA_BR_MCAST_STARTUP_QUERY_INTVL), + [IFLA_BR_NF_CALL_IPTABLES] = XLAT(IFLA_BR_NF_CALL_IPTABLES), + [IFLA_BR_NF_CALL_IP6TABLES] = XLAT(IFLA_BR_NF_CALL_IP6TABLES), + [IFLA_BR_NF_CALL_ARPTABLES] = XLAT(IFLA_BR_NF_CALL_ARPTABLES), + [IFLA_BR_VLAN_DEFAULT_PVID] = XLAT(IFLA_BR_VLAN_DEFAULT_PVID), + [IFLA_BR_PAD] = XLAT(IFLA_BR_PAD), + [IFLA_BR_VLAN_STATS_ENABLED] = XLAT(IFLA_BR_VLAN_STATS_ENABLED), + [IFLA_BR_MCAST_STATS_ENABLED] = XLAT(IFLA_BR_MCAST_STATS_ENABLED), + [IFLA_BR_MCAST_IGMP_VERSION] = XLAT(IFLA_BR_MCAST_IGMP_VERSION), + [IFLA_BR_MCAST_MLD_VERSION] = XLAT(IFLA_BR_MCAST_MLD_VERSION), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_info_data_bridge_attrs.in b/xlat/rtnl_ifla_info_data_bridge_attrs.in new file mode 100644 index 00000000..524dc8b5 --- /dev/null +++ b/xlat/rtnl_ifla_info_data_bridge_attrs.in @@ -0,0 +1,46 @@ +#value_indexed +IFLA_BR_UNSPEC 0 +IFLA_BR_FORWARD_DELAY 1 +IFLA_BR_HELLO_TIME 2 +IFLA_BR_MAX_AGE 3 +IFLA_BR_AGEING_TIME 4 +IFLA_BR_STP_STATE 5 +IFLA_BR_PRIORITY 6 +IFLA_BR_VLAN_FILTERING 7 +IFLA_BR_VLAN_PROTOCOL 8 +IFLA_BR_GROUP_FWD_MASK 9 +IFLA_BR_ROOT_ID 10 +IFLA_BR_BRIDGE_ID 11 +IFLA_BR_ROOT_PORT 12 +IFLA_BR_ROOT_PATH_COST 13 +IFLA_BR_TOPOLOGY_CHANGE 14 +IFLA_BR_TOPOLOGY_CHANGE_DETECTED 15 +IFLA_BR_HELLO_TIMER 16 +IFLA_BR_TCN_TIMER 17 +IFLA_BR_TOPOLOGY_CHANGE_TIMER 18 +IFLA_BR_GC_TIMER 19 +IFLA_BR_GROUP_ADDR 20 +IFLA_BR_FDB_FLUSH 21 +IFLA_BR_MCAST_ROUTER 22 +IFLA_BR_MCAST_SNOOPING 23 +IFLA_BR_MCAST_QUERY_USE_IFADDR 24 +IFLA_BR_MCAST_QUERIER 25 +IFLA_BR_MCAST_HASH_ELASTICITY 26 +IFLA_BR_MCAST_HASH_MAX 27 +IFLA_BR_MCAST_LAST_MEMBER_CNT 28 +IFLA_BR_MCAST_STARTUP_QUERY_CNT 29 +IFLA_BR_MCAST_LAST_MEMBER_INTVL 30 +IFLA_BR_MCAST_MEMBERSHIP_INTVL 31 +IFLA_BR_MCAST_QUERIER_INTVL 32 +IFLA_BR_MCAST_QUERY_INTVL 33 +IFLA_BR_MCAST_QUERY_RESPONSE_INTVL 34 +IFLA_BR_MCAST_STARTUP_QUERY_INTVL 35 +IFLA_BR_NF_CALL_IPTABLES 36 +IFLA_BR_NF_CALL_IP6TABLES 37 +IFLA_BR_NF_CALL_ARPTABLES 38 +IFLA_BR_VLAN_DEFAULT_PVID 39 +IFLA_BR_PAD 40 +IFLA_BR_VLAN_STATS_ENABLED 41 +IFLA_BR_MCAST_STATS_ENABLED 42 +IFLA_BR_MCAST_IGMP_VERSION 43 +IFLA_BR_MCAST_MLD_VERSION 44 diff --git a/xlat/rtnl_ifla_info_data_tun_attrs.h b/xlat/rtnl_ifla_info_data_tun_attrs.h new file mode 100644 index 00000000..ee9ad580 --- /dev/null +++ b/xlat/rtnl_ifla_info_data_tun_attrs.h @@ -0,0 +1,102 @@ +/* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_info_data_tun_attrs.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_TUN_UNSPEC) || (defined(HAVE_DECL_IFLA_TUN_UNSPEC) && HAVE_DECL_IFLA_TUN_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_UNSPEC) == (0), "IFLA_TUN_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_UNSPEC 0 +#endif +#if defined(IFLA_TUN_OWNER) || (defined(HAVE_DECL_IFLA_TUN_OWNER) && HAVE_DECL_IFLA_TUN_OWNER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_OWNER) == (1), "IFLA_TUN_OWNER != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_OWNER 1 +#endif +#if defined(IFLA_TUN_GROUP) || (defined(HAVE_DECL_IFLA_TUN_GROUP) && HAVE_DECL_IFLA_TUN_GROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_GROUP) == (2), "IFLA_TUN_GROUP != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_GROUP 2 +#endif +#if defined(IFLA_TUN_TYPE) || (defined(HAVE_DECL_IFLA_TUN_TYPE) && HAVE_DECL_IFLA_TUN_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_TYPE) == (3), "IFLA_TUN_TYPE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_TYPE 3 +#endif +#if defined(IFLA_TUN_PI) || (defined(HAVE_DECL_IFLA_TUN_PI) && HAVE_DECL_IFLA_TUN_PI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_PI) == (4), "IFLA_TUN_PI != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_PI 4 +#endif +#if defined(IFLA_TUN_VNET_HDR) || (defined(HAVE_DECL_IFLA_TUN_VNET_HDR) && HAVE_DECL_IFLA_TUN_VNET_HDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_VNET_HDR) == (5), "IFLA_TUN_VNET_HDR != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_VNET_HDR 5 +#endif +#if defined(IFLA_TUN_PERSIST) || (defined(HAVE_DECL_IFLA_TUN_PERSIST) && HAVE_DECL_IFLA_TUN_PERSIST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_PERSIST) == (6), "IFLA_TUN_PERSIST != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_PERSIST 6 +#endif +#if defined(IFLA_TUN_MULTI_QUEUE) || (defined(HAVE_DECL_IFLA_TUN_MULTI_QUEUE) && HAVE_DECL_IFLA_TUN_MULTI_QUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_MULTI_QUEUE) == (7), "IFLA_TUN_MULTI_QUEUE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_MULTI_QUEUE 7 +#endif +#if defined(IFLA_TUN_NUM_QUEUES) || (defined(HAVE_DECL_IFLA_TUN_NUM_QUEUES) && HAVE_DECL_IFLA_TUN_NUM_QUEUES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_NUM_QUEUES) == (8), "IFLA_TUN_NUM_QUEUES != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_NUM_QUEUES 8 +#endif +#if defined(IFLA_TUN_NUM_DISABLED_QUEUES) || (defined(HAVE_DECL_IFLA_TUN_NUM_DISABLED_QUEUES) && HAVE_DECL_IFLA_TUN_NUM_DISABLED_QUEUES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TUN_NUM_DISABLED_QUEUES) == (9), "IFLA_TUN_NUM_DISABLED_QUEUES != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFLA_TUN_NUM_DISABLED_QUEUES 9 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat rtnl_ifla_info_data_tun_attrs in mpers mode + +# else + +static +const struct xlat rtnl_ifla_info_data_tun_attrs[] = { + [IFLA_TUN_UNSPEC] = XLAT(IFLA_TUN_UNSPEC), + [IFLA_TUN_OWNER] = XLAT(IFLA_TUN_OWNER), + [IFLA_TUN_GROUP] = XLAT(IFLA_TUN_GROUP), + [IFLA_TUN_TYPE] = XLAT(IFLA_TUN_TYPE), + [IFLA_TUN_PI] = XLAT(IFLA_TUN_PI), + [IFLA_TUN_VNET_HDR] = XLAT(IFLA_TUN_VNET_HDR), + [IFLA_TUN_PERSIST] = XLAT(IFLA_TUN_PERSIST), + [IFLA_TUN_MULTI_QUEUE] = XLAT(IFLA_TUN_MULTI_QUEUE), + [IFLA_TUN_NUM_QUEUES] = XLAT(IFLA_TUN_NUM_QUEUES), + [IFLA_TUN_NUM_DISABLED_QUEUES] = XLAT(IFLA_TUN_NUM_DISABLED_QUEUES), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_info_data_tun_attrs.in b/xlat/rtnl_ifla_info_data_tun_attrs.in new file mode 100644 index 00000000..2ac187e3 --- /dev/null +++ b/xlat/rtnl_ifla_info_data_tun_attrs.in @@ -0,0 +1,11 @@ +#value_indexed +IFLA_TUN_UNSPEC 0 +IFLA_TUN_OWNER 1 +IFLA_TUN_GROUP 2 +IFLA_TUN_TYPE 3 +IFLA_TUN_PI 4 +IFLA_TUN_VNET_HDR 5 +IFLA_TUN_PERSIST 6 +IFLA_TUN_MULTI_QUEUE 7 +IFLA_TUN_NUM_QUEUES 8 +IFLA_TUN_NUM_DISABLED_QUEUES 9 diff --git a/xlat/rtnl_ifla_port_attrs.h b/xlat/rtnl_ifla_port_attrs.h index 88cf635e..ce6af735 100644 --- a/xlat/rtnl_ifla_port_attrs.h +++ b/xlat/rtnl_ifla_port_attrs.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_port_attrs.in; do not edit. */ -#if !(defined(IFLA_PORT_UNSPEC) || (defined(HAVE_DECL_IFLA_PORT_UNSPEC) && HAVE_DECL_IFLA_PORT_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_PORT_UNSPEC) || (defined(HAVE_DECL_IFLA_PORT_UNSPEC) && HAVE_DECL_IFLA_PORT_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PORT_UNSPEC) == (0), "IFLA_PORT_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PORT_UNSPEC 0 #endif -#if !(defined(IFLA_PORT_VF) || (defined(HAVE_DECL_IFLA_PORT_VF) && HAVE_DECL_IFLA_PORT_VF)) +#if defined(IFLA_PORT_VF) || (defined(HAVE_DECL_IFLA_PORT_VF) && HAVE_DECL_IFLA_PORT_VF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PORT_VF) == (1), "IFLA_PORT_VF != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PORT_VF 1 #endif -#if !(defined(IFLA_PORT_PROFILE) || (defined(HAVE_DECL_IFLA_PORT_PROFILE) && HAVE_DECL_IFLA_PORT_PROFILE)) +#if defined(IFLA_PORT_PROFILE) || (defined(HAVE_DECL_IFLA_PORT_PROFILE) && HAVE_DECL_IFLA_PORT_PROFILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PORT_PROFILE) == (2), "IFLA_PORT_PROFILE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PORT_PROFILE 2 #endif -#if !(defined(IFLA_PORT_VSI_TYPE) || (defined(HAVE_DECL_IFLA_PORT_VSI_TYPE) && HAVE_DECL_IFLA_PORT_VSI_TYPE)) +#if defined(IFLA_PORT_VSI_TYPE) || (defined(HAVE_DECL_IFLA_PORT_VSI_TYPE) && HAVE_DECL_IFLA_PORT_VSI_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PORT_VSI_TYPE) == (3), "IFLA_PORT_VSI_TYPE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PORT_VSI_TYPE 3 #endif -#if !(defined(IFLA_PORT_INSTANCE_UUID) || (defined(HAVE_DECL_IFLA_PORT_INSTANCE_UUID) && HAVE_DECL_IFLA_PORT_INSTANCE_UUID)) +#if defined(IFLA_PORT_INSTANCE_UUID) || (defined(HAVE_DECL_IFLA_PORT_INSTANCE_UUID) && HAVE_DECL_IFLA_PORT_INSTANCE_UUID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PORT_INSTANCE_UUID) == (4), "IFLA_PORT_INSTANCE_UUID != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PORT_INSTANCE_UUID 4 #endif -#if !(defined(IFLA_PORT_HOST_UUID) || (defined(HAVE_DECL_IFLA_PORT_HOST_UUID) && HAVE_DECL_IFLA_PORT_HOST_UUID)) +#if defined(IFLA_PORT_HOST_UUID) || (defined(HAVE_DECL_IFLA_PORT_HOST_UUID) && HAVE_DECL_IFLA_PORT_HOST_UUID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PORT_HOST_UUID) == (5), "IFLA_PORT_HOST_UUID != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PORT_HOST_UUID 5 #endif -#if !(defined(IFLA_PORT_REQUEST) || (defined(HAVE_DECL_IFLA_PORT_REQUEST) && HAVE_DECL_IFLA_PORT_REQUEST)) +#if defined(IFLA_PORT_REQUEST) || (defined(HAVE_DECL_IFLA_PORT_REQUEST) && HAVE_DECL_IFLA_PORT_REQUEST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PORT_REQUEST) == (6), "IFLA_PORT_REQUEST != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PORT_REQUEST 6 #endif -#if !(defined(IFLA_PORT_RESPONSE) || (defined(HAVE_DECL_IFLA_PORT_RESPONSE) && HAVE_DECL_IFLA_PORT_RESPONSE)) +#if defined(IFLA_PORT_RESPONSE) || (defined(HAVE_DECL_IFLA_PORT_RESPONSE) && HAVE_DECL_IFLA_PORT_RESPONSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PORT_RESPONSE) == (7), "IFLA_PORT_RESPONSE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PORT_RESPONSE 7 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_ifla_port_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_ifla_port_attrs in mpers mode + +# else static const struct xlat rtnl_ifla_port_attrs[] = { @@ -43,4 +81,6 @@ const struct xlat rtnl_ifla_port_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_vf_port_attrs.h b/xlat/rtnl_ifla_vf_port_attrs.h index c4b9b429..6227bc31 100644 --- a/xlat/rtnl_ifla_vf_port_attrs.h +++ b/xlat/rtnl_ifla_vf_port_attrs.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_vf_port_attrs.in; do not edit. */ -#if !(defined(IFLA_VF_PORT_UNSPEC) || (defined(HAVE_DECL_IFLA_VF_PORT_UNSPEC) && HAVE_DECL_IFLA_VF_PORT_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_VF_PORT_UNSPEC) || (defined(HAVE_DECL_IFLA_VF_PORT_UNSPEC) && HAVE_DECL_IFLA_VF_PORT_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_VF_PORT_UNSPEC) == (0), "IFLA_VF_PORT_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_VF_PORT_UNSPEC 0 #endif -#if !(defined(IFLA_VF_PORT) || (defined(HAVE_DECL_IFLA_VF_PORT) && HAVE_DECL_IFLA_VF_PORT)) +#if defined(IFLA_VF_PORT) || (defined(HAVE_DECL_IFLA_VF_PORT) && HAVE_DECL_IFLA_VF_PORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_VF_PORT) == (1), "IFLA_VF_PORT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_VF_PORT 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_ifla_vf_port_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_ifla_vf_port_attrs in mpers mode + +# else static const struct xlat rtnl_ifla_vf_port_attrs[] = { @@ -19,4 +33,6 @@ const struct xlat rtnl_ifla_vf_port_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_ifla_xdp_attrs.h b/xlat/rtnl_ifla_xdp_attrs.h index 708f8ea1..3972d8eb 100644 --- a/xlat/rtnl_ifla_xdp_attrs.h +++ b/xlat/rtnl_ifla_xdp_attrs.h @@ -1,25 +1,51 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_xdp_attrs.in; do not edit. */ -#if !(defined(IFLA_XDP_UNSPEC) || (defined(HAVE_DECL_IFLA_XDP_UNSPEC) && HAVE_DECL_IFLA_XDP_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_XDP_UNSPEC) || (defined(HAVE_DECL_IFLA_XDP_UNSPEC) && HAVE_DECL_IFLA_XDP_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_XDP_UNSPEC) == (0), "IFLA_XDP_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_XDP_UNSPEC 0 #endif -#if !(defined(IFLA_XDP_FD) || (defined(HAVE_DECL_IFLA_XDP_FD) && HAVE_DECL_IFLA_XDP_FD)) +#if defined(IFLA_XDP_FD) || (defined(HAVE_DECL_IFLA_XDP_FD) && HAVE_DECL_IFLA_XDP_FD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_XDP_FD) == (1), "IFLA_XDP_FD != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_XDP_FD 1 #endif -#if !(defined(IFLA_XDP_ATTACHED) || (defined(HAVE_DECL_IFLA_XDP_ATTACHED) && HAVE_DECL_IFLA_XDP_ATTACHED)) +#if defined(IFLA_XDP_ATTACHED) || (defined(HAVE_DECL_IFLA_XDP_ATTACHED) && HAVE_DECL_IFLA_XDP_ATTACHED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_XDP_ATTACHED) == (2), "IFLA_XDP_ATTACHED != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_XDP_ATTACHED 2 #endif -#if !(defined(IFLA_XDP_FLAGS) || (defined(HAVE_DECL_IFLA_XDP_FLAGS) && HAVE_DECL_IFLA_XDP_FLAGS)) +#if defined(IFLA_XDP_FLAGS) || (defined(HAVE_DECL_IFLA_XDP_FLAGS) && HAVE_DECL_IFLA_XDP_FLAGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_XDP_FLAGS) == (3), "IFLA_XDP_FLAGS != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_XDP_FLAGS 3 #endif -#if !(defined(IFLA_XDP_PROG_ID) || (defined(HAVE_DECL_IFLA_XDP_PROG_ID) && HAVE_DECL_IFLA_XDP_PROG_ID)) +#if defined(IFLA_XDP_PROG_ID) || (defined(HAVE_DECL_IFLA_XDP_PROG_ID) && HAVE_DECL_IFLA_XDP_PROG_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_XDP_PROG_ID) == (4), "IFLA_XDP_PROG_ID != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_XDP_PROG_ID 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_ifla_xdp_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_ifla_xdp_attrs in mpers mode + +# else static const struct xlat rtnl_ifla_xdp_attrs[] = { @@ -31,4 +57,6 @@ const struct xlat rtnl_ifla_xdp_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_link_attrs.h b/xlat/rtnl_link_attrs.h index e212eaf6..2ce3ee48 100644 --- a/xlat/rtnl_link_attrs.h +++ b/xlat/rtnl_link_attrs.h @@ -1,160 +1,366 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_link_attrs.in; do not edit. */ -#if !(defined(IFLA_UNSPEC) || (defined(HAVE_DECL_IFLA_UNSPEC) && HAVE_DECL_IFLA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFLA_UNSPEC) || (defined(HAVE_DECL_IFLA_UNSPEC) && HAVE_DECL_IFLA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_UNSPEC) == (0), "IFLA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_UNSPEC 0 #endif -#if !(defined(IFLA_ADDRESS) || (defined(HAVE_DECL_IFLA_ADDRESS) && HAVE_DECL_IFLA_ADDRESS)) +#if defined(IFLA_ADDRESS) || (defined(HAVE_DECL_IFLA_ADDRESS) && HAVE_DECL_IFLA_ADDRESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_ADDRESS) == (1), "IFLA_ADDRESS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_ADDRESS 1 #endif -#if !(defined(IFLA_BROADCAST) || (defined(HAVE_DECL_IFLA_BROADCAST) && HAVE_DECL_IFLA_BROADCAST)) +#if defined(IFLA_BROADCAST) || (defined(HAVE_DECL_IFLA_BROADCAST) && HAVE_DECL_IFLA_BROADCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_BROADCAST) == (2), "IFLA_BROADCAST != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_BROADCAST 2 #endif -#if !(defined(IFLA_IFNAME) || (defined(HAVE_DECL_IFLA_IFNAME) && HAVE_DECL_IFLA_IFNAME)) +#if defined(IFLA_IFNAME) || (defined(HAVE_DECL_IFLA_IFNAME) && HAVE_DECL_IFLA_IFNAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_IFNAME) == (3), "IFLA_IFNAME != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_IFNAME 3 #endif -#if !(defined(IFLA_MTU) || (defined(HAVE_DECL_IFLA_MTU) && HAVE_DECL_IFLA_MTU)) +#if defined(IFLA_MTU) || (defined(HAVE_DECL_IFLA_MTU) && HAVE_DECL_IFLA_MTU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_MTU) == (4), "IFLA_MTU != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_MTU 4 #endif -#if !(defined(IFLA_LINK) || (defined(HAVE_DECL_IFLA_LINK) && HAVE_DECL_IFLA_LINK)) +#if defined(IFLA_LINK) || (defined(HAVE_DECL_IFLA_LINK) && HAVE_DECL_IFLA_LINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_LINK) == (5), "IFLA_LINK != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_LINK 5 #endif -#if !(defined(IFLA_QDISC) || (defined(HAVE_DECL_IFLA_QDISC) && HAVE_DECL_IFLA_QDISC)) +#if defined(IFLA_QDISC) || (defined(HAVE_DECL_IFLA_QDISC) && HAVE_DECL_IFLA_QDISC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_QDISC) == (6), "IFLA_QDISC != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_QDISC 6 #endif -#if !(defined(IFLA_STATS) || (defined(HAVE_DECL_IFLA_STATS) && HAVE_DECL_IFLA_STATS)) +#if defined(IFLA_STATS) || (defined(HAVE_DECL_IFLA_STATS) && HAVE_DECL_IFLA_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_STATS) == (7), "IFLA_STATS != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_STATS 7 #endif -#if !(defined(IFLA_COST) || (defined(HAVE_DECL_IFLA_COST) && HAVE_DECL_IFLA_COST)) +#if defined(IFLA_COST) || (defined(HAVE_DECL_IFLA_COST) && HAVE_DECL_IFLA_COST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_COST) == (8), "IFLA_COST != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_COST 8 #endif -#if !(defined(IFLA_PRIORITY) || (defined(HAVE_DECL_IFLA_PRIORITY) && HAVE_DECL_IFLA_PRIORITY)) +#if defined(IFLA_PRIORITY) || (defined(HAVE_DECL_IFLA_PRIORITY) && HAVE_DECL_IFLA_PRIORITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PRIORITY) == (9), "IFLA_PRIORITY != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PRIORITY 9 #endif -#if !(defined(IFLA_MASTER) || (defined(HAVE_DECL_IFLA_MASTER) && HAVE_DECL_IFLA_MASTER)) +#if defined(IFLA_MASTER) || (defined(HAVE_DECL_IFLA_MASTER) && HAVE_DECL_IFLA_MASTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_MASTER) == (10), "IFLA_MASTER != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_MASTER 10 #endif -#if !(defined(IFLA_WIRELESS) || (defined(HAVE_DECL_IFLA_WIRELESS) && HAVE_DECL_IFLA_WIRELESS)) +#if defined(IFLA_WIRELESS) || (defined(HAVE_DECL_IFLA_WIRELESS) && HAVE_DECL_IFLA_WIRELESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_WIRELESS) == (11), "IFLA_WIRELESS != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_WIRELESS 11 #endif -#if !(defined(IFLA_PROTINFO) || (defined(HAVE_DECL_IFLA_PROTINFO) && HAVE_DECL_IFLA_PROTINFO)) +#if defined(IFLA_PROTINFO) || (defined(HAVE_DECL_IFLA_PROTINFO) && HAVE_DECL_IFLA_PROTINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PROTINFO) == (12), "IFLA_PROTINFO != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PROTINFO 12 #endif -#if !(defined(IFLA_TXQLEN) || (defined(HAVE_DECL_IFLA_TXQLEN) && HAVE_DECL_IFLA_TXQLEN)) +#if defined(IFLA_TXQLEN) || (defined(HAVE_DECL_IFLA_TXQLEN) && HAVE_DECL_IFLA_TXQLEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_TXQLEN) == (13), "IFLA_TXQLEN != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_TXQLEN 13 #endif -#if !(defined(IFLA_MAP) || (defined(HAVE_DECL_IFLA_MAP) && HAVE_DECL_IFLA_MAP)) +#if defined(IFLA_MAP) || (defined(HAVE_DECL_IFLA_MAP) && HAVE_DECL_IFLA_MAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_MAP) == (14), "IFLA_MAP != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_MAP 14 #endif -#if !(defined(IFLA_WEIGHT) || (defined(HAVE_DECL_IFLA_WEIGHT) && HAVE_DECL_IFLA_WEIGHT)) +#if defined(IFLA_WEIGHT) || (defined(HAVE_DECL_IFLA_WEIGHT) && HAVE_DECL_IFLA_WEIGHT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_WEIGHT) == (15), "IFLA_WEIGHT != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_WEIGHT 15 #endif -#if !(defined(IFLA_OPERSTATE) || (defined(HAVE_DECL_IFLA_OPERSTATE) && HAVE_DECL_IFLA_OPERSTATE)) +#if defined(IFLA_OPERSTATE) || (defined(HAVE_DECL_IFLA_OPERSTATE) && HAVE_DECL_IFLA_OPERSTATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_OPERSTATE) == (16), "IFLA_OPERSTATE != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_OPERSTATE 16 #endif -#if !(defined(IFLA_LINKMODE) || (defined(HAVE_DECL_IFLA_LINKMODE) && HAVE_DECL_IFLA_LINKMODE)) +#if defined(IFLA_LINKMODE) || (defined(HAVE_DECL_IFLA_LINKMODE) && HAVE_DECL_IFLA_LINKMODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_LINKMODE) == (17), "IFLA_LINKMODE != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_LINKMODE 17 #endif -#if !(defined(IFLA_LINKINFO) || (defined(HAVE_DECL_IFLA_LINKINFO) && HAVE_DECL_IFLA_LINKINFO)) +#if defined(IFLA_LINKINFO) || (defined(HAVE_DECL_IFLA_LINKINFO) && HAVE_DECL_IFLA_LINKINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_LINKINFO) == (18), "IFLA_LINKINFO != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_LINKINFO 18 #endif -#if !(defined(IFLA_NET_NS_PID) || (defined(HAVE_DECL_IFLA_NET_NS_PID) && HAVE_DECL_IFLA_NET_NS_PID)) +#if defined(IFLA_NET_NS_PID) || (defined(HAVE_DECL_IFLA_NET_NS_PID) && HAVE_DECL_IFLA_NET_NS_PID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_NET_NS_PID) == (19), "IFLA_NET_NS_PID != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_NET_NS_PID 19 #endif -#if !(defined(IFLA_IFALIAS) || (defined(HAVE_DECL_IFLA_IFALIAS) && HAVE_DECL_IFLA_IFALIAS)) +#if defined(IFLA_IFALIAS) || (defined(HAVE_DECL_IFLA_IFALIAS) && HAVE_DECL_IFLA_IFALIAS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_IFALIAS) == (20), "IFLA_IFALIAS != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_IFALIAS 20 #endif -#if !(defined(IFLA_NUM_VF) || (defined(HAVE_DECL_IFLA_NUM_VF) && HAVE_DECL_IFLA_NUM_VF)) +#if defined(IFLA_NUM_VF) || (defined(HAVE_DECL_IFLA_NUM_VF) && HAVE_DECL_IFLA_NUM_VF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_NUM_VF) == (21), "IFLA_NUM_VF != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_NUM_VF 21 #endif -#if !(defined(IFLA_VFINFO_LIST) || (defined(HAVE_DECL_IFLA_VFINFO_LIST) && HAVE_DECL_IFLA_VFINFO_LIST)) +#if defined(IFLA_VFINFO_LIST) || (defined(HAVE_DECL_IFLA_VFINFO_LIST) && HAVE_DECL_IFLA_VFINFO_LIST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_VFINFO_LIST) == (22), "IFLA_VFINFO_LIST != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_VFINFO_LIST 22 #endif -#if !(defined(IFLA_STATS64) || (defined(HAVE_DECL_IFLA_STATS64) && HAVE_DECL_IFLA_STATS64)) +#if defined(IFLA_STATS64) || (defined(HAVE_DECL_IFLA_STATS64) && HAVE_DECL_IFLA_STATS64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_STATS64) == (23), "IFLA_STATS64 != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_STATS64 23 #endif -#if !(defined(IFLA_VF_PORTS) || (defined(HAVE_DECL_IFLA_VF_PORTS) && HAVE_DECL_IFLA_VF_PORTS)) +#if defined(IFLA_VF_PORTS) || (defined(HAVE_DECL_IFLA_VF_PORTS) && HAVE_DECL_IFLA_VF_PORTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_VF_PORTS) == (24), "IFLA_VF_PORTS != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_VF_PORTS 24 #endif -#if !(defined(IFLA_PORT_SELF) || (defined(HAVE_DECL_IFLA_PORT_SELF) && HAVE_DECL_IFLA_PORT_SELF)) +#if defined(IFLA_PORT_SELF) || (defined(HAVE_DECL_IFLA_PORT_SELF) && HAVE_DECL_IFLA_PORT_SELF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PORT_SELF) == (25), "IFLA_PORT_SELF != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PORT_SELF 25 #endif -#if !(defined(IFLA_AF_SPEC) || (defined(HAVE_DECL_IFLA_AF_SPEC) && HAVE_DECL_IFLA_AF_SPEC)) +#if defined(IFLA_AF_SPEC) || (defined(HAVE_DECL_IFLA_AF_SPEC) && HAVE_DECL_IFLA_AF_SPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_AF_SPEC) == (26), "IFLA_AF_SPEC != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_AF_SPEC 26 #endif -#if !(defined(IFLA_GROUP) || (defined(HAVE_DECL_IFLA_GROUP) && HAVE_DECL_IFLA_GROUP)) +#if defined(IFLA_GROUP) || (defined(HAVE_DECL_IFLA_GROUP) && HAVE_DECL_IFLA_GROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_GROUP) == (27), "IFLA_GROUP != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_GROUP 27 #endif -#if !(defined(IFLA_NET_NS_FD) || (defined(HAVE_DECL_IFLA_NET_NS_FD) && HAVE_DECL_IFLA_NET_NS_FD)) +#if defined(IFLA_NET_NS_FD) || (defined(HAVE_DECL_IFLA_NET_NS_FD) && HAVE_DECL_IFLA_NET_NS_FD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_NET_NS_FD) == (28), "IFLA_NET_NS_FD != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_NET_NS_FD 28 #endif -#if !(defined(IFLA_EXT_MASK) || (defined(HAVE_DECL_IFLA_EXT_MASK) && HAVE_DECL_IFLA_EXT_MASK)) +#if defined(IFLA_EXT_MASK) || (defined(HAVE_DECL_IFLA_EXT_MASK) && HAVE_DECL_IFLA_EXT_MASK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_EXT_MASK) == (29), "IFLA_EXT_MASK != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_EXT_MASK 29 #endif -#if !(defined(IFLA_PROMISCUITY) || (defined(HAVE_DECL_IFLA_PROMISCUITY) && HAVE_DECL_IFLA_PROMISCUITY)) +#if defined(IFLA_PROMISCUITY) || (defined(HAVE_DECL_IFLA_PROMISCUITY) && HAVE_DECL_IFLA_PROMISCUITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PROMISCUITY) == (30), "IFLA_PROMISCUITY != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PROMISCUITY 30 #endif -#if !(defined(IFLA_NUM_TX_QUEUES) || (defined(HAVE_DECL_IFLA_NUM_TX_QUEUES) && HAVE_DECL_IFLA_NUM_TX_QUEUES)) +#if defined(IFLA_NUM_TX_QUEUES) || (defined(HAVE_DECL_IFLA_NUM_TX_QUEUES) && HAVE_DECL_IFLA_NUM_TX_QUEUES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_NUM_TX_QUEUES) == (31), "IFLA_NUM_TX_QUEUES != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_NUM_TX_QUEUES 31 #endif -#if !(defined(IFLA_NUM_RX_QUEUES) || (defined(HAVE_DECL_IFLA_NUM_RX_QUEUES) && HAVE_DECL_IFLA_NUM_RX_QUEUES)) +#if defined(IFLA_NUM_RX_QUEUES) || (defined(HAVE_DECL_IFLA_NUM_RX_QUEUES) && HAVE_DECL_IFLA_NUM_RX_QUEUES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_NUM_RX_QUEUES) == (32), "IFLA_NUM_RX_QUEUES != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_NUM_RX_QUEUES 32 #endif -#if !(defined(IFLA_CARRIER) || (defined(HAVE_DECL_IFLA_CARRIER) && HAVE_DECL_IFLA_CARRIER)) +#if defined(IFLA_CARRIER) || (defined(HAVE_DECL_IFLA_CARRIER) && HAVE_DECL_IFLA_CARRIER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_CARRIER) == (33), "IFLA_CARRIER != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_CARRIER 33 #endif -#if !(defined(IFLA_PHYS_PORT_ID) || (defined(HAVE_DECL_IFLA_PHYS_PORT_ID) && HAVE_DECL_IFLA_PHYS_PORT_ID)) +#if defined(IFLA_PHYS_PORT_ID) || (defined(HAVE_DECL_IFLA_PHYS_PORT_ID) && HAVE_DECL_IFLA_PHYS_PORT_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PHYS_PORT_ID) == (34), "IFLA_PHYS_PORT_ID != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PHYS_PORT_ID 34 #endif -#if !(defined(IFLA_CARRIER_CHANGES) || (defined(HAVE_DECL_IFLA_CARRIER_CHANGES) && HAVE_DECL_IFLA_CARRIER_CHANGES)) +#if defined(IFLA_CARRIER_CHANGES) || (defined(HAVE_DECL_IFLA_CARRIER_CHANGES) && HAVE_DECL_IFLA_CARRIER_CHANGES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_CARRIER_CHANGES) == (35), "IFLA_CARRIER_CHANGES != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_CARRIER_CHANGES 35 #endif -#if !(defined(IFLA_PHYS_SWITCH_ID) || (defined(HAVE_DECL_IFLA_PHYS_SWITCH_ID) && HAVE_DECL_IFLA_PHYS_SWITCH_ID)) +#if defined(IFLA_PHYS_SWITCH_ID) || (defined(HAVE_DECL_IFLA_PHYS_SWITCH_ID) && HAVE_DECL_IFLA_PHYS_SWITCH_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PHYS_SWITCH_ID) == (36), "IFLA_PHYS_SWITCH_ID != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PHYS_SWITCH_ID 36 #endif -#if !(defined(IFLA_LINK_NETNSID) || (defined(HAVE_DECL_IFLA_LINK_NETNSID) && HAVE_DECL_IFLA_LINK_NETNSID)) +#if defined(IFLA_LINK_NETNSID) || (defined(HAVE_DECL_IFLA_LINK_NETNSID) && HAVE_DECL_IFLA_LINK_NETNSID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_LINK_NETNSID) == (37), "IFLA_LINK_NETNSID != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_LINK_NETNSID 37 #endif -#if !(defined(IFLA_PHYS_PORT_NAME) || (defined(HAVE_DECL_IFLA_PHYS_PORT_NAME) && HAVE_DECL_IFLA_PHYS_PORT_NAME)) +#if defined(IFLA_PHYS_PORT_NAME) || (defined(HAVE_DECL_IFLA_PHYS_PORT_NAME) && HAVE_DECL_IFLA_PHYS_PORT_NAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PHYS_PORT_NAME) == (38), "IFLA_PHYS_PORT_NAME != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PHYS_PORT_NAME 38 #endif -#if !(defined(IFLA_PROTO_DOWN) || (defined(HAVE_DECL_IFLA_PROTO_DOWN) && HAVE_DECL_IFLA_PROTO_DOWN)) +#if defined(IFLA_PROTO_DOWN) || (defined(HAVE_DECL_IFLA_PROTO_DOWN) && HAVE_DECL_IFLA_PROTO_DOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PROTO_DOWN) == (39), "IFLA_PROTO_DOWN != 39"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PROTO_DOWN 39 #endif -#if !(defined(IFLA_GSO_MAX_SEGS) || (defined(HAVE_DECL_IFLA_GSO_MAX_SEGS) && HAVE_DECL_IFLA_GSO_MAX_SEGS)) +#if defined(IFLA_GSO_MAX_SEGS) || (defined(HAVE_DECL_IFLA_GSO_MAX_SEGS) && HAVE_DECL_IFLA_GSO_MAX_SEGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_GSO_MAX_SEGS) == (40), "IFLA_GSO_MAX_SEGS != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_GSO_MAX_SEGS 40 #endif -#if !(defined(IFLA_GSO_MAX_SIZE) || (defined(HAVE_DECL_IFLA_GSO_MAX_SIZE) && HAVE_DECL_IFLA_GSO_MAX_SIZE)) +#if defined(IFLA_GSO_MAX_SIZE) || (defined(HAVE_DECL_IFLA_GSO_MAX_SIZE) && HAVE_DECL_IFLA_GSO_MAX_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_GSO_MAX_SIZE) == (41), "IFLA_GSO_MAX_SIZE != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_GSO_MAX_SIZE 41 #endif -#if !(defined(IFLA_PAD) || (defined(HAVE_DECL_IFLA_PAD) && HAVE_DECL_IFLA_PAD)) +#if defined(IFLA_PAD) || (defined(HAVE_DECL_IFLA_PAD) && HAVE_DECL_IFLA_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_PAD) == (42), "IFLA_PAD != 42"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_PAD 42 #endif -#if !(defined(IFLA_XDP) || (defined(HAVE_DECL_IFLA_XDP) && HAVE_DECL_IFLA_XDP)) +#if defined(IFLA_XDP) || (defined(HAVE_DECL_IFLA_XDP) && HAVE_DECL_IFLA_XDP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_XDP) == (43), "IFLA_XDP != 43"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_XDP 43 #endif -#if !(defined(IFLA_EVENT) || (defined(HAVE_DECL_IFLA_EVENT) && HAVE_DECL_IFLA_EVENT)) +#if defined(IFLA_EVENT) || (defined(HAVE_DECL_IFLA_EVENT) && HAVE_DECL_IFLA_EVENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_EVENT) == (44), "IFLA_EVENT != 44"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_EVENT 44 #endif -#if !(defined(IFLA_NEW_NETNSID) || (defined(HAVE_DECL_IFLA_NEW_NETNSID) && HAVE_DECL_IFLA_NEW_NETNSID)) +#if defined(IFLA_NEW_NETNSID) || (defined(HAVE_DECL_IFLA_NEW_NETNSID) && HAVE_DECL_IFLA_NEW_NETNSID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_NEW_NETNSID) == (45), "IFLA_NEW_NETNSID != 45"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_NEW_NETNSID 45 #endif -#if !(defined(IFLA_IF_NETNSID) || (defined(HAVE_DECL_IFLA_IF_NETNSID) && HAVE_DECL_IFLA_IF_NETNSID)) +#if defined(IFLA_IF_NETNSID) || (defined(HAVE_DECL_IFLA_IF_NETNSID) && HAVE_DECL_IFLA_IF_NETNSID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_IF_NETNSID) == (46), "IFLA_IF_NETNSID != 46"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(IFLA_CARRIER_UP_COUNT) || (defined(HAVE_DECL_IFLA_CARRIER_UP_COUNT) && HAVE_DECL_IFLA_CARRIER_UP_COUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_CARRIER_UP_COUNT) == (47), "IFLA_CARRIER_UP_COUNT != 47"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(IFLA_CARRIER_DOWN_COUNT) || (defined(HAVE_DECL_IFLA_CARRIER_DOWN_COUNT) && HAVE_DECL_IFLA_CARRIER_DOWN_COUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_CARRIER_DOWN_COUNT) == (48), "IFLA_CARRIER_DOWN_COUNT != 48"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_CARRIER_DOWN_COUNT 48 #endif -#if !(defined(IFLA_NEW_IFINDEX) || (defined(HAVE_DECL_IFLA_NEW_IFINDEX) && HAVE_DECL_IFLA_NEW_IFINDEX)) +#if defined(IFLA_NEW_IFINDEX) || (defined(HAVE_DECL_IFLA_NEW_IFINDEX) && HAVE_DECL_IFLA_NEW_IFINDEX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFLA_NEW_IFINDEX) == (49), "IFLA_NEW_IFINDEX != 49"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define IFLA_NEW_IFINDEX 49 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_link_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_link_attrs in mpers mode + +# else static const struct xlat rtnl_link_attrs[] = { @@ -211,4 +417,6 @@ const struct xlat rtnl_link_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_mdb_attrs.h b/xlat/rtnl_mdb_attrs.h index 6b56dee5..8dc0308b 100644 --- a/xlat/rtnl_mdb_attrs.h +++ b/xlat/rtnl_mdb_attrs.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_mdb_attrs.in; do not edit. */ -#if !(defined(MDBA_UNSPEC) || (defined(HAVE_DECL_MDBA_UNSPEC) && HAVE_DECL_MDBA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MDBA_UNSPEC) || (defined(HAVE_DECL_MDBA_UNSPEC) && HAVE_DECL_MDBA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_UNSPEC) == (0), "MDBA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_UNSPEC 0 #endif -#if !(defined(MDBA_MDB) || (defined(HAVE_DECL_MDBA_MDB) && HAVE_DECL_MDBA_MDB)) +#if defined(MDBA_MDB) || (defined(HAVE_DECL_MDBA_MDB) && HAVE_DECL_MDBA_MDB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_MDB) == (1), "MDBA_MDB != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_MDB 1 #endif -#if !(defined(MDBA_ROUTER) || (defined(HAVE_DECL_MDBA_ROUTER) && HAVE_DECL_MDBA_ROUTER)) +#if defined(MDBA_ROUTER) || (defined(HAVE_DECL_MDBA_ROUTER) && HAVE_DECL_MDBA_ROUTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_ROUTER) == (2), "MDBA_ROUTER != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_ROUTER 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_mdb_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_mdb_attrs in mpers mode + +# else static const struct xlat rtnl_mdb_attrs[] = { @@ -23,4 +41,6 @@ const struct xlat rtnl_mdb_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_mdba_mdb_attrs.h b/xlat/rtnl_mdba_mdb_attrs.h index f714dbdf..ff9c4aba 100644 --- a/xlat/rtnl_mdba_mdb_attrs.h +++ b/xlat/rtnl_mdba_mdb_attrs.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_mdba_mdb_attrs.in; do not edit. */ -#if !(defined(MDBA_MDB_UNSPEC) || (defined(HAVE_DECL_MDBA_MDB_UNSPEC) && HAVE_DECL_MDBA_MDB_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MDBA_MDB_UNSPEC) || (defined(HAVE_DECL_MDBA_MDB_UNSPEC) && HAVE_DECL_MDBA_MDB_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_MDB_UNSPEC) == (0), "MDBA_MDB_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_MDB_UNSPEC 0 #endif -#if !(defined(MDBA_MDB_ENTRY) || (defined(HAVE_DECL_MDBA_MDB_ENTRY) && HAVE_DECL_MDBA_MDB_ENTRY)) +#if defined(MDBA_MDB_ENTRY) || (defined(HAVE_DECL_MDBA_MDB_ENTRY) && HAVE_DECL_MDBA_MDB_ENTRY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_MDB_ENTRY) == (1), "MDBA_MDB_ENTRY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_MDB_ENTRY 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_mdba_mdb_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_mdba_mdb_attrs in mpers mode + +# else static const struct xlat rtnl_mdba_mdb_attrs[] = { @@ -19,4 +33,6 @@ const struct xlat rtnl_mdba_mdb_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_mdba_mdb_eattr_attrs.h b/xlat/rtnl_mdba_mdb_eattr_attrs.h index ce3b3bcd..47aa3bd9 100644 --- a/xlat/rtnl_mdba_mdb_eattr_attrs.h +++ b/xlat/rtnl_mdba_mdb_eattr_attrs.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_mdba_mdb_eattr_attrs.in; do not edit. */ -#if !(defined(MDBA_MDB_EATTR_UNSPEC) || (defined(HAVE_DECL_MDBA_MDB_EATTR_UNSPEC) && HAVE_DECL_MDBA_MDB_EATTR_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MDBA_MDB_EATTR_UNSPEC) || (defined(HAVE_DECL_MDBA_MDB_EATTR_UNSPEC) && HAVE_DECL_MDBA_MDB_EATTR_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_MDB_EATTR_UNSPEC) == (0), "MDBA_MDB_EATTR_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_MDB_EATTR_UNSPEC 0 #endif -#if !(defined(MDBA_MDB_EATTR_TIMER) || (defined(HAVE_DECL_MDBA_MDB_EATTR_TIMER) && HAVE_DECL_MDBA_MDB_EATTR_TIMER)) +#if defined(MDBA_MDB_EATTR_TIMER) || (defined(HAVE_DECL_MDBA_MDB_EATTR_TIMER) && HAVE_DECL_MDBA_MDB_EATTR_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_MDB_EATTR_TIMER) == (1), "MDBA_MDB_EATTR_TIMER != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_MDB_EATTR_TIMER 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_mdba_mdb_eattr_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_mdba_mdb_eattr_attrs in mpers mode + +# else static const struct xlat rtnl_mdba_mdb_eattr_attrs[] = { @@ -19,4 +33,6 @@ const struct xlat rtnl_mdba_mdb_eattr_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_mdba_mdb_entry_attrs.h b/xlat/rtnl_mdba_mdb_entry_attrs.h index 198374a7..8c385186 100644 --- a/xlat/rtnl_mdba_mdb_entry_attrs.h +++ b/xlat/rtnl_mdba_mdb_entry_attrs.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_mdba_mdb_entry_attrs.in; do not edit. */ -#if !(defined(MDBA_MDB_ENTRY_UNSPEC) || (defined(HAVE_DECL_MDBA_MDB_ENTRY_UNSPEC) && HAVE_DECL_MDBA_MDB_ENTRY_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MDBA_MDB_ENTRY_UNSPEC) || (defined(HAVE_DECL_MDBA_MDB_ENTRY_UNSPEC) && HAVE_DECL_MDBA_MDB_ENTRY_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_MDB_ENTRY_UNSPEC) == (0), "MDBA_MDB_ENTRY_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_MDB_ENTRY_UNSPEC 0 #endif -#if !(defined(MDBA_MDB_ENTRY_INFO) || (defined(HAVE_DECL_MDBA_MDB_ENTRY_INFO) && HAVE_DECL_MDBA_MDB_ENTRY_INFO)) +#if defined(MDBA_MDB_ENTRY_INFO) || (defined(HAVE_DECL_MDBA_MDB_ENTRY_INFO) && HAVE_DECL_MDBA_MDB_ENTRY_INFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_MDB_ENTRY_INFO) == (1), "MDBA_MDB_ENTRY_INFO != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_MDB_ENTRY_INFO 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_mdba_mdb_entry_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_mdba_mdb_entry_attrs in mpers mode + +# else static const struct xlat rtnl_mdba_mdb_entry_attrs[] = { @@ -19,4 +33,6 @@ const struct xlat rtnl_mdba_mdb_entry_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_mdba_router_attrs.h b/xlat/rtnl_mdba_router_attrs.h index 2efe5e39..cd50e549 100644 --- a/xlat/rtnl_mdba_router_attrs.h +++ b/xlat/rtnl_mdba_router_attrs.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_mdba_router_attrs.in; do not edit. */ -#if !(defined(MDBA_ROUTER_UNSPEC) || (defined(HAVE_DECL_MDBA_ROUTER_UNSPEC) && HAVE_DECL_MDBA_ROUTER_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MDBA_ROUTER_UNSPEC) || (defined(HAVE_DECL_MDBA_ROUTER_UNSPEC) && HAVE_DECL_MDBA_ROUTER_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_ROUTER_UNSPEC) == (0), "MDBA_ROUTER_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_ROUTER_UNSPEC 0 #endif -#if !(defined(MDBA_ROUTER_PORT) || (defined(HAVE_DECL_MDBA_ROUTER_PORT) && HAVE_DECL_MDBA_ROUTER_PORT)) +#if defined(MDBA_ROUTER_PORT) || (defined(HAVE_DECL_MDBA_ROUTER_PORT) && HAVE_DECL_MDBA_ROUTER_PORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_ROUTER_PORT) == (1), "MDBA_ROUTER_PORT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_ROUTER_PORT 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_mdba_router_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_mdba_router_attrs in mpers mode + +# else static const struct xlat rtnl_mdba_router_attrs[] = { @@ -19,4 +33,6 @@ const struct xlat rtnl_mdba_router_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_mdba_router_pattr_attrs.h b/xlat/rtnl_mdba_router_pattr_attrs.h index b364d31d..7081d57a 100644 --- a/xlat/rtnl_mdba_router_pattr_attrs.h +++ b/xlat/rtnl_mdba_router_pattr_attrs.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_mdba_router_pattr_attrs.in; do not edit. */ -#if !(defined(MDBA_ROUTER_PATTR_UNSPEC) || (defined(HAVE_DECL_MDBA_ROUTER_PATTR_UNSPEC) && HAVE_DECL_MDBA_ROUTER_PATTR_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MDBA_ROUTER_PATTR_UNSPEC) || (defined(HAVE_DECL_MDBA_ROUTER_PATTR_UNSPEC) && HAVE_DECL_MDBA_ROUTER_PATTR_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_ROUTER_PATTR_UNSPEC) == (0), "MDBA_ROUTER_PATTR_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_ROUTER_PATTR_UNSPEC 0 #endif -#if !(defined(MDBA_ROUTER_PATTR_TIMER) || (defined(HAVE_DECL_MDBA_ROUTER_PATTR_TIMER) && HAVE_DECL_MDBA_ROUTER_PATTR_TIMER)) +#if defined(MDBA_ROUTER_PATTR_TIMER) || (defined(HAVE_DECL_MDBA_ROUTER_PATTR_TIMER) && HAVE_DECL_MDBA_ROUTER_PATTR_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_ROUTER_PATTR_TIMER) == (1), "MDBA_ROUTER_PATTR_TIMER != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_ROUTER_PATTR_TIMER 1 #endif -#if !(defined(MDBA_ROUTER_PATTR_TYPE) || (defined(HAVE_DECL_MDBA_ROUTER_PATTR_TYPE) && HAVE_DECL_MDBA_ROUTER_PATTR_TYPE)) +#if defined(MDBA_ROUTER_PATTR_TYPE) || (defined(HAVE_DECL_MDBA_ROUTER_PATTR_TYPE) && HAVE_DECL_MDBA_ROUTER_PATTR_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MDBA_ROUTER_PATTR_TYPE) == (2), "MDBA_ROUTER_PATTR_TYPE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MDBA_ROUTER_PATTR_TYPE 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_mdba_router_pattr_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_mdba_router_pattr_attrs in mpers mode + +# else static const struct xlat rtnl_mdba_router_pattr_attrs[] = { @@ -23,4 +41,6 @@ const struct xlat rtnl_mdba_router_pattr_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_neigh_attrs.h b/xlat/rtnl_neigh_attrs.h index 492ea42a..e1287feb 100644 --- a/xlat/rtnl_neigh_attrs.h +++ b/xlat/rtnl_neigh_attrs.h @@ -1,46 +1,100 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_neigh_attrs.in; do not edit. */ -#if !(defined(NDA_UNSPEC) || (defined(HAVE_DECL_NDA_UNSPEC) && HAVE_DECL_NDA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NDA_UNSPEC) || (defined(HAVE_DECL_NDA_UNSPEC) && HAVE_DECL_NDA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_UNSPEC) == (0), "NDA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_UNSPEC 0 #endif -#if !(defined(NDA_DST) || (defined(HAVE_DECL_NDA_DST) && HAVE_DECL_NDA_DST)) +#if defined(NDA_DST) || (defined(HAVE_DECL_NDA_DST) && HAVE_DECL_NDA_DST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_DST) == (1), "NDA_DST != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_DST 1 #endif -#if !(defined(NDA_LLADDR) || (defined(HAVE_DECL_NDA_LLADDR) && HAVE_DECL_NDA_LLADDR)) +#if defined(NDA_LLADDR) || (defined(HAVE_DECL_NDA_LLADDR) && HAVE_DECL_NDA_LLADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_LLADDR) == (2), "NDA_LLADDR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_LLADDR 2 #endif -#if !(defined(NDA_CACHEINFO) || (defined(HAVE_DECL_NDA_CACHEINFO) && HAVE_DECL_NDA_CACHEINFO)) +#if defined(NDA_CACHEINFO) || (defined(HAVE_DECL_NDA_CACHEINFO) && HAVE_DECL_NDA_CACHEINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_CACHEINFO) == (3), "NDA_CACHEINFO != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_CACHEINFO 3 #endif -#if !(defined(NDA_PROBES) || (defined(HAVE_DECL_NDA_PROBES) && HAVE_DECL_NDA_PROBES)) +#if defined(NDA_PROBES) || (defined(HAVE_DECL_NDA_PROBES) && HAVE_DECL_NDA_PROBES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_PROBES) == (4), "NDA_PROBES != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_PROBES 4 #endif -#if !(defined(NDA_VLAN) || (defined(HAVE_DECL_NDA_VLAN) && HAVE_DECL_NDA_VLAN)) +#if defined(NDA_VLAN) || (defined(HAVE_DECL_NDA_VLAN) && HAVE_DECL_NDA_VLAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_VLAN) == (5), "NDA_VLAN != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_VLAN 5 #endif -#if !(defined(NDA_PORT) || (defined(HAVE_DECL_NDA_PORT) && HAVE_DECL_NDA_PORT)) +#if defined(NDA_PORT) || (defined(HAVE_DECL_NDA_PORT) && HAVE_DECL_NDA_PORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_PORT) == (6), "NDA_PORT != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_PORT 6 #endif -#if !(defined(NDA_VNI) || (defined(HAVE_DECL_NDA_VNI) && HAVE_DECL_NDA_VNI)) +#if defined(NDA_VNI) || (defined(HAVE_DECL_NDA_VNI) && HAVE_DECL_NDA_VNI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_VNI) == (7), "NDA_VNI != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_VNI 7 #endif -#if !(defined(NDA_IFINDEX) || (defined(HAVE_DECL_NDA_IFINDEX) && HAVE_DECL_NDA_IFINDEX)) +#if defined(NDA_IFINDEX) || (defined(HAVE_DECL_NDA_IFINDEX) && HAVE_DECL_NDA_IFINDEX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_IFINDEX) == (8), "NDA_IFINDEX != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_IFINDEX 8 #endif -#if !(defined(NDA_MASTER) || (defined(HAVE_DECL_NDA_MASTER) && HAVE_DECL_NDA_MASTER)) +#if defined(NDA_MASTER) || (defined(HAVE_DECL_NDA_MASTER) && HAVE_DECL_NDA_MASTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_MASTER) == (9), "NDA_MASTER != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_MASTER 9 #endif -#if !(defined(NDA_LINK_NETNSID) || (defined(HAVE_DECL_NDA_LINK_NETNSID) && HAVE_DECL_NDA_LINK_NETNSID)) +#if defined(NDA_LINK_NETNSID) || (defined(HAVE_DECL_NDA_LINK_NETNSID) && HAVE_DECL_NDA_LINK_NETNSID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_LINK_NETNSID) == (10), "NDA_LINK_NETNSID != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_LINK_NETNSID 10 #endif -#if !(defined(NDA_SRC_VNI) || (defined(HAVE_DECL_NDA_SRC_VNI) && HAVE_DECL_NDA_SRC_VNI)) +#if defined(NDA_SRC_VNI) || (defined(HAVE_DECL_NDA_SRC_VNI) && HAVE_DECL_NDA_SRC_VNI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDA_SRC_VNI) == (11), "NDA_SRC_VNI != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDA_SRC_VNI 11 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_neigh_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_neigh_attrs in mpers mode + +# else static const struct xlat rtnl_neigh_attrs[] = { @@ -59,4 +113,6 @@ const struct xlat rtnl_neigh_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_neightbl_attrs.h b/xlat/rtnl_neightbl_attrs.h index 748d8b7e..8768bab8 100644 --- a/xlat/rtnl_neightbl_attrs.h +++ b/xlat/rtnl_neightbl_attrs.h @@ -1,40 +1,86 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_neightbl_attrs.in; do not edit. */ -#if !(defined(NDTA_UNSPEC) || (defined(HAVE_DECL_NDTA_UNSPEC) && HAVE_DECL_NDTA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NDTA_UNSPEC) || (defined(HAVE_DECL_NDTA_UNSPEC) && HAVE_DECL_NDTA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_UNSPEC) == (0), "NDTA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_UNSPEC 0 #endif -#if !(defined(NDTA_NAME) || (defined(HAVE_DECL_NDTA_NAME) && HAVE_DECL_NDTA_NAME)) +#if defined(NDTA_NAME) || (defined(HAVE_DECL_NDTA_NAME) && HAVE_DECL_NDTA_NAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_NAME) == (1), "NDTA_NAME != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_NAME 1 #endif -#if !(defined(NDTA_THRESH1) || (defined(HAVE_DECL_NDTA_THRESH1) && HAVE_DECL_NDTA_THRESH1)) +#if defined(NDTA_THRESH1) || (defined(HAVE_DECL_NDTA_THRESH1) && HAVE_DECL_NDTA_THRESH1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_THRESH1) == (2), "NDTA_THRESH1 != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_THRESH1 2 #endif -#if !(defined(NDTA_THRESH2) || (defined(HAVE_DECL_NDTA_THRESH2) && HAVE_DECL_NDTA_THRESH2)) +#if defined(NDTA_THRESH2) || (defined(HAVE_DECL_NDTA_THRESH2) && HAVE_DECL_NDTA_THRESH2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_THRESH2) == (3), "NDTA_THRESH2 != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_THRESH2 3 #endif -#if !(defined(NDTA_THRESH3) || (defined(HAVE_DECL_NDTA_THRESH3) && HAVE_DECL_NDTA_THRESH3)) +#if defined(NDTA_THRESH3) || (defined(HAVE_DECL_NDTA_THRESH3) && HAVE_DECL_NDTA_THRESH3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_THRESH3) == (4), "NDTA_THRESH3 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_THRESH3 4 #endif -#if !(defined(NDTA_CONFIG) || (defined(HAVE_DECL_NDTA_CONFIG) && HAVE_DECL_NDTA_CONFIG)) +#if defined(NDTA_CONFIG) || (defined(HAVE_DECL_NDTA_CONFIG) && HAVE_DECL_NDTA_CONFIG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_CONFIG) == (5), "NDTA_CONFIG != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_CONFIG 5 #endif -#if !(defined(NDTA_PARMS) || (defined(HAVE_DECL_NDTA_PARMS) && HAVE_DECL_NDTA_PARMS)) +#if defined(NDTA_PARMS) || (defined(HAVE_DECL_NDTA_PARMS) && HAVE_DECL_NDTA_PARMS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_PARMS) == (6), "NDTA_PARMS != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_PARMS 6 #endif -#if !(defined(NDTA_STATS) || (defined(HAVE_DECL_NDTA_STATS) && HAVE_DECL_NDTA_STATS)) +#if defined(NDTA_STATS) || (defined(HAVE_DECL_NDTA_STATS) && HAVE_DECL_NDTA_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_STATS) == (7), "NDTA_STATS != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_STATS 7 #endif -#if !(defined(NDTA_GC_INTERVAL) || (defined(HAVE_DECL_NDTA_GC_INTERVAL) && HAVE_DECL_NDTA_GC_INTERVAL)) +#if defined(NDTA_GC_INTERVAL) || (defined(HAVE_DECL_NDTA_GC_INTERVAL) && HAVE_DECL_NDTA_GC_INTERVAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_GC_INTERVAL) == (8), "NDTA_GC_INTERVAL != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_GC_INTERVAL 8 #endif -#if !(defined(NDTA_PAD) || (defined(HAVE_DECL_NDTA_PAD) && HAVE_DECL_NDTA_PAD)) +#if defined(NDTA_PAD) || (defined(HAVE_DECL_NDTA_PAD) && HAVE_DECL_NDTA_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTA_PAD) == (9), "NDTA_PAD != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTA_PAD 9 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_neightbl_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_neightbl_attrs in mpers mode + +# else static const struct xlat rtnl_neightbl_attrs[] = { @@ -51,4 +97,6 @@ const struct xlat rtnl_neightbl_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_neightbl_parms_attrs.h b/xlat/rtnl_neightbl_parms_attrs.h index f86166e4..75bbdec7 100644 --- a/xlat/rtnl_neightbl_parms_attrs.h +++ b/xlat/rtnl_neightbl_parms_attrs.h @@ -1,67 +1,149 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_neightbl_parms_attrs.in; do not edit. */ -#if !(defined(NDTPA_UNSPEC) || (defined(HAVE_DECL_NDTPA_UNSPEC) && HAVE_DECL_NDTPA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NDTPA_UNSPEC) || (defined(HAVE_DECL_NDTPA_UNSPEC) && HAVE_DECL_NDTPA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_UNSPEC) == (0), "NDTPA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_UNSPEC 0 #endif -#if !(defined(NDTPA_IFINDEX) || (defined(HAVE_DECL_NDTPA_IFINDEX) && HAVE_DECL_NDTPA_IFINDEX)) +#if defined(NDTPA_IFINDEX) || (defined(HAVE_DECL_NDTPA_IFINDEX) && HAVE_DECL_NDTPA_IFINDEX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_IFINDEX) == (1), "NDTPA_IFINDEX != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_IFINDEX 1 #endif -#if !(defined(NDTPA_REFCNT) || (defined(HAVE_DECL_NDTPA_REFCNT) && HAVE_DECL_NDTPA_REFCNT)) +#if defined(NDTPA_REFCNT) || (defined(HAVE_DECL_NDTPA_REFCNT) && HAVE_DECL_NDTPA_REFCNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_REFCNT) == (2), "NDTPA_REFCNT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_REFCNT 2 #endif -#if !(defined(NDTPA_REACHABLE_TIME) || (defined(HAVE_DECL_NDTPA_REACHABLE_TIME) && HAVE_DECL_NDTPA_REACHABLE_TIME)) +#if defined(NDTPA_REACHABLE_TIME) || (defined(HAVE_DECL_NDTPA_REACHABLE_TIME) && HAVE_DECL_NDTPA_REACHABLE_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_REACHABLE_TIME) == (3), "NDTPA_REACHABLE_TIME != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_REACHABLE_TIME 3 #endif -#if !(defined(NDTPA_BASE_REACHABLE_TIME) || (defined(HAVE_DECL_NDTPA_BASE_REACHABLE_TIME) && HAVE_DECL_NDTPA_BASE_REACHABLE_TIME)) +#if defined(NDTPA_BASE_REACHABLE_TIME) || (defined(HAVE_DECL_NDTPA_BASE_REACHABLE_TIME) && HAVE_DECL_NDTPA_BASE_REACHABLE_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_BASE_REACHABLE_TIME) == (4), "NDTPA_BASE_REACHABLE_TIME != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_BASE_REACHABLE_TIME 4 #endif -#if !(defined(NDTPA_RETRANS_TIME) || (defined(HAVE_DECL_NDTPA_RETRANS_TIME) && HAVE_DECL_NDTPA_RETRANS_TIME)) +#if defined(NDTPA_RETRANS_TIME) || (defined(HAVE_DECL_NDTPA_RETRANS_TIME) && HAVE_DECL_NDTPA_RETRANS_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_RETRANS_TIME) == (5), "NDTPA_RETRANS_TIME != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_RETRANS_TIME 5 #endif -#if !(defined(NDTPA_GC_STALETIME) || (defined(HAVE_DECL_NDTPA_GC_STALETIME) && HAVE_DECL_NDTPA_GC_STALETIME)) +#if defined(NDTPA_GC_STALETIME) || (defined(HAVE_DECL_NDTPA_GC_STALETIME) && HAVE_DECL_NDTPA_GC_STALETIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_GC_STALETIME) == (6), "NDTPA_GC_STALETIME != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_GC_STALETIME 6 #endif -#if !(defined(NDTPA_DELAY_PROBE_TIME) || (defined(HAVE_DECL_NDTPA_DELAY_PROBE_TIME) && HAVE_DECL_NDTPA_DELAY_PROBE_TIME)) +#if defined(NDTPA_DELAY_PROBE_TIME) || (defined(HAVE_DECL_NDTPA_DELAY_PROBE_TIME) && HAVE_DECL_NDTPA_DELAY_PROBE_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_DELAY_PROBE_TIME) == (7), "NDTPA_DELAY_PROBE_TIME != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_DELAY_PROBE_TIME 7 #endif -#if !(defined(NDTPA_QUEUE_LEN) || (defined(HAVE_DECL_NDTPA_QUEUE_LEN) && HAVE_DECL_NDTPA_QUEUE_LEN)) +#if defined(NDTPA_QUEUE_LEN) || (defined(HAVE_DECL_NDTPA_QUEUE_LEN) && HAVE_DECL_NDTPA_QUEUE_LEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_QUEUE_LEN) == (8), "NDTPA_QUEUE_LEN != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_QUEUE_LEN 8 #endif -#if !(defined(NDTPA_APP_PROBES) || (defined(HAVE_DECL_NDTPA_APP_PROBES) && HAVE_DECL_NDTPA_APP_PROBES)) +#if defined(NDTPA_APP_PROBES) || (defined(HAVE_DECL_NDTPA_APP_PROBES) && HAVE_DECL_NDTPA_APP_PROBES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_APP_PROBES) == (9), "NDTPA_APP_PROBES != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_APP_PROBES 9 #endif -#if !(defined(NDTPA_UCAST_PROBES) || (defined(HAVE_DECL_NDTPA_UCAST_PROBES) && HAVE_DECL_NDTPA_UCAST_PROBES)) +#if defined(NDTPA_UCAST_PROBES) || (defined(HAVE_DECL_NDTPA_UCAST_PROBES) && HAVE_DECL_NDTPA_UCAST_PROBES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_UCAST_PROBES) == (10), "NDTPA_UCAST_PROBES != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_UCAST_PROBES 10 #endif -#if !(defined(NDTPA_MCAST_PROBES) || (defined(HAVE_DECL_NDTPA_MCAST_PROBES) && HAVE_DECL_NDTPA_MCAST_PROBES)) +#if defined(NDTPA_MCAST_PROBES) || (defined(HAVE_DECL_NDTPA_MCAST_PROBES) && HAVE_DECL_NDTPA_MCAST_PROBES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_MCAST_PROBES) == (11), "NDTPA_MCAST_PROBES != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_MCAST_PROBES 11 #endif -#if !(defined(NDTPA_ANYCAST_DELAY) || (defined(HAVE_DECL_NDTPA_ANYCAST_DELAY) && HAVE_DECL_NDTPA_ANYCAST_DELAY)) +#if defined(NDTPA_ANYCAST_DELAY) || (defined(HAVE_DECL_NDTPA_ANYCAST_DELAY) && HAVE_DECL_NDTPA_ANYCAST_DELAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_ANYCAST_DELAY) == (12), "NDTPA_ANYCAST_DELAY != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_ANYCAST_DELAY 12 #endif -#if !(defined(NDTPA_PROXY_DELAY) || (defined(HAVE_DECL_NDTPA_PROXY_DELAY) && HAVE_DECL_NDTPA_PROXY_DELAY)) +#if defined(NDTPA_PROXY_DELAY) || (defined(HAVE_DECL_NDTPA_PROXY_DELAY) && HAVE_DECL_NDTPA_PROXY_DELAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_PROXY_DELAY) == (13), "NDTPA_PROXY_DELAY != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_PROXY_DELAY 13 #endif -#if !(defined(NDTPA_PROXY_QLEN) || (defined(HAVE_DECL_NDTPA_PROXY_QLEN) && HAVE_DECL_NDTPA_PROXY_QLEN)) +#if defined(NDTPA_PROXY_QLEN) || (defined(HAVE_DECL_NDTPA_PROXY_QLEN) && HAVE_DECL_NDTPA_PROXY_QLEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_PROXY_QLEN) == (14), "NDTPA_PROXY_QLEN != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_PROXY_QLEN 14 #endif -#if !(defined(NDTPA_LOCKTIME) || (defined(HAVE_DECL_NDTPA_LOCKTIME) && HAVE_DECL_NDTPA_LOCKTIME)) +#if defined(NDTPA_LOCKTIME) || (defined(HAVE_DECL_NDTPA_LOCKTIME) && HAVE_DECL_NDTPA_LOCKTIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_LOCKTIME) == (15), "NDTPA_LOCKTIME != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_LOCKTIME 15 #endif -#if !(defined(NDTPA_QUEUE_LENBYTES) || (defined(HAVE_DECL_NDTPA_QUEUE_LENBYTES) && HAVE_DECL_NDTPA_QUEUE_LENBYTES)) +#if defined(NDTPA_QUEUE_LENBYTES) || (defined(HAVE_DECL_NDTPA_QUEUE_LENBYTES) && HAVE_DECL_NDTPA_QUEUE_LENBYTES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_QUEUE_LENBYTES) == (16), "NDTPA_QUEUE_LENBYTES != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_QUEUE_LENBYTES 16 #endif -#if !(defined(NDTPA_MCAST_REPROBES) || (defined(HAVE_DECL_NDTPA_MCAST_REPROBES) && HAVE_DECL_NDTPA_MCAST_REPROBES)) +#if defined(NDTPA_MCAST_REPROBES) || (defined(HAVE_DECL_NDTPA_MCAST_REPROBES) && HAVE_DECL_NDTPA_MCAST_REPROBES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_MCAST_REPROBES) == (17), "NDTPA_MCAST_REPROBES != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_MCAST_REPROBES 17 #endif -#if !(defined(NDTPA_PAD) || (defined(HAVE_DECL_NDTPA_PAD) && HAVE_DECL_NDTPA_PAD)) +#if defined(NDTPA_PAD) || (defined(HAVE_DECL_NDTPA_PAD) && HAVE_DECL_NDTPA_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NDTPA_PAD) == (18), "NDTPA_PAD != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NDTPA_PAD 18 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_neightbl_parms_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_neightbl_parms_attrs in mpers mode + +# else static const struct xlat rtnl_neightbl_parms_attrs[] = { @@ -87,4 +169,6 @@ const struct xlat rtnl_neightbl_parms_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_netconf_attrs.h b/xlat/rtnl_netconf_attrs.h index 3115d7a5..194aa586 100644 --- a/xlat/rtnl_netconf_attrs.h +++ b/xlat/rtnl_netconf_attrs.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_netconf_attrs.in; do not edit. */ -#if !(defined(NETCONFA_UNSPEC) || (defined(HAVE_DECL_NETCONFA_UNSPEC) && HAVE_DECL_NETCONFA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NETCONFA_UNSPEC) || (defined(HAVE_DECL_NETCONFA_UNSPEC) && HAVE_DECL_NETCONFA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETCONFA_UNSPEC) == (0), "NETCONFA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETCONFA_UNSPEC 0 #endif -#if !(defined(NETCONFA_IFINDEX) || (defined(HAVE_DECL_NETCONFA_IFINDEX) && HAVE_DECL_NETCONFA_IFINDEX)) +#if defined(NETCONFA_IFINDEX) || (defined(HAVE_DECL_NETCONFA_IFINDEX) && HAVE_DECL_NETCONFA_IFINDEX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETCONFA_IFINDEX) == (1), "NETCONFA_IFINDEX != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETCONFA_IFINDEX 1 #endif -#if !(defined(NETCONFA_FORWARDING) || (defined(HAVE_DECL_NETCONFA_FORWARDING) && HAVE_DECL_NETCONFA_FORWARDING)) +#if defined(NETCONFA_FORWARDING) || (defined(HAVE_DECL_NETCONFA_FORWARDING) && HAVE_DECL_NETCONFA_FORWARDING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETCONFA_FORWARDING) == (2), "NETCONFA_FORWARDING != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETCONFA_FORWARDING 2 #endif -#if !(defined(NETCONFA_RP_FILTER) || (defined(HAVE_DECL_NETCONFA_RP_FILTER) && HAVE_DECL_NETCONFA_RP_FILTER)) +#if defined(NETCONFA_RP_FILTER) || (defined(HAVE_DECL_NETCONFA_RP_FILTER) && HAVE_DECL_NETCONFA_RP_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETCONFA_RP_FILTER) == (3), "NETCONFA_RP_FILTER != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETCONFA_RP_FILTER 3 #endif -#if !(defined(NETCONFA_MC_FORWARDING) || (defined(HAVE_DECL_NETCONFA_MC_FORWARDING) && HAVE_DECL_NETCONFA_MC_FORWARDING)) +#if defined(NETCONFA_MC_FORWARDING) || (defined(HAVE_DECL_NETCONFA_MC_FORWARDING) && HAVE_DECL_NETCONFA_MC_FORWARDING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETCONFA_MC_FORWARDING) == (4), "NETCONFA_MC_FORWARDING != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETCONFA_MC_FORWARDING 4 #endif -#if !(defined(NETCONFA_PROXY_NEIGH) || (defined(HAVE_DECL_NETCONFA_PROXY_NEIGH) && HAVE_DECL_NETCONFA_PROXY_NEIGH)) +#if defined(NETCONFA_PROXY_NEIGH) || (defined(HAVE_DECL_NETCONFA_PROXY_NEIGH) && HAVE_DECL_NETCONFA_PROXY_NEIGH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETCONFA_PROXY_NEIGH) == (5), "NETCONFA_PROXY_NEIGH != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETCONFA_PROXY_NEIGH 5 #endif -#if !(defined(NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN) || (defined(HAVE_DECL_NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN) && HAVE_DECL_NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN)) +#if defined(NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN) || (defined(HAVE_DECL_NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN) && HAVE_DECL_NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN) == (6), "NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN 6 #endif -#if !(defined(NETCONFA_INPUT) || (defined(HAVE_DECL_NETCONFA_INPUT) && HAVE_DECL_NETCONFA_INPUT)) +#if defined(NETCONFA_INPUT) || (defined(HAVE_DECL_NETCONFA_INPUT) && HAVE_DECL_NETCONFA_INPUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETCONFA_INPUT) == (7), "NETCONFA_INPUT != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETCONFA_INPUT 7 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_netconf_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_netconf_attrs in mpers mode + +# else static const struct xlat rtnl_netconf_attrs[] = { @@ -43,4 +81,6 @@ const struct xlat rtnl_netconf_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_nsid_attrs.h b/xlat/rtnl_nsid_attrs.h index 8b1486a2..7d6afd2d 100644 --- a/xlat/rtnl_nsid_attrs.h +++ b/xlat/rtnl_nsid_attrs.h @@ -1,25 +1,51 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_nsid_attrs.in; do not edit. */ -#if !(defined(NETNSA_NSID_NOT_ASSIGNED) || (defined(HAVE_DECL_NETNSA_NSID_NOT_ASSIGNED) && HAVE_DECL_NETNSA_NSID_NOT_ASSIGNED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NETNSA_NSID_NOT_ASSIGNED) || (defined(HAVE_DECL_NETNSA_NSID_NOT_ASSIGNED) && HAVE_DECL_NETNSA_NSID_NOT_ASSIGNED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETNSA_NSID_NOT_ASSIGNED) == (-1), "NETNSA_NSID_NOT_ASSIGNED != -1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETNSA_NSID_NOT_ASSIGNED -1 #endif -#if !(defined(NETNSA_NONE) || (defined(HAVE_DECL_NETNSA_NONE) && HAVE_DECL_NETNSA_NONE)) +#if defined(NETNSA_NONE) || (defined(HAVE_DECL_NETNSA_NONE) && HAVE_DECL_NETNSA_NONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETNSA_NONE) == (0), "NETNSA_NONE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETNSA_NONE 0 #endif -#if !(defined(NETNSA_NSID) || (defined(HAVE_DECL_NETNSA_NSID) && HAVE_DECL_NETNSA_NSID)) +#if defined(NETNSA_NSID) || (defined(HAVE_DECL_NETNSA_NSID) && HAVE_DECL_NETNSA_NSID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETNSA_NSID) == (1), "NETNSA_NSID != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETNSA_NSID 1 #endif -#if !(defined(NETNSA_PID) || (defined(HAVE_DECL_NETNSA_PID) && HAVE_DECL_NETNSA_PID)) +#if defined(NETNSA_PID) || (defined(HAVE_DECL_NETNSA_PID) && HAVE_DECL_NETNSA_PID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETNSA_PID) == (2), "NETNSA_PID != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETNSA_PID 2 #endif -#if !(defined(NETNSA_FD) || (defined(HAVE_DECL_NETNSA_FD) && HAVE_DECL_NETNSA_FD)) +#if defined(NETNSA_FD) || (defined(HAVE_DECL_NETNSA_FD) && HAVE_DECL_NETNSA_FD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETNSA_FD) == (3), "NETNSA_FD != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define NETNSA_FD 3 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_nsid_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_nsid_attrs in mpers mode + +# else static const struct xlat rtnl_nsid_attrs[] = { @@ -31,4 +57,6 @@ const struct xlat rtnl_nsid_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_route_attrs.h b/xlat/rtnl_route_attrs.h index 82b5e1f0..7cb51fc1 100644 --- a/xlat/rtnl_route_attrs.h +++ b/xlat/rtnl_route_attrs.h @@ -1,91 +1,205 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_route_attrs.in; do not edit. */ -#if !(defined(RTA_UNSPEC) || (defined(HAVE_DECL_RTA_UNSPEC) && HAVE_DECL_RTA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RTA_UNSPEC) || (defined(HAVE_DECL_RTA_UNSPEC) && HAVE_DECL_RTA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_UNSPEC) == (0), "RTA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_UNSPEC 0 #endif -#if !(defined(RTA_DST) || (defined(HAVE_DECL_RTA_DST) && HAVE_DECL_RTA_DST)) +#if defined(RTA_DST) || (defined(HAVE_DECL_RTA_DST) && HAVE_DECL_RTA_DST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_DST) == (1), "RTA_DST != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_DST 1 #endif -#if !(defined(RTA_SRC) || (defined(HAVE_DECL_RTA_SRC) && HAVE_DECL_RTA_SRC)) +#if defined(RTA_SRC) || (defined(HAVE_DECL_RTA_SRC) && HAVE_DECL_RTA_SRC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_SRC) == (2), "RTA_SRC != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_SRC 2 #endif -#if !(defined(RTA_IIF) || (defined(HAVE_DECL_RTA_IIF) && HAVE_DECL_RTA_IIF)) +#if defined(RTA_IIF) || (defined(HAVE_DECL_RTA_IIF) && HAVE_DECL_RTA_IIF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_IIF) == (3), "RTA_IIF != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_IIF 3 #endif -#if !(defined(RTA_OIF) || (defined(HAVE_DECL_RTA_OIF) && HAVE_DECL_RTA_OIF)) +#if defined(RTA_OIF) || (defined(HAVE_DECL_RTA_OIF) && HAVE_DECL_RTA_OIF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_OIF) == (4), "RTA_OIF != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_OIF 4 #endif -#if !(defined(RTA_GATEWAY) || (defined(HAVE_DECL_RTA_GATEWAY) && HAVE_DECL_RTA_GATEWAY)) +#if defined(RTA_GATEWAY) || (defined(HAVE_DECL_RTA_GATEWAY) && HAVE_DECL_RTA_GATEWAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_GATEWAY) == (5), "RTA_GATEWAY != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_GATEWAY 5 #endif -#if !(defined(RTA_PRIORITY) || (defined(HAVE_DECL_RTA_PRIORITY) && HAVE_DECL_RTA_PRIORITY)) +#if defined(RTA_PRIORITY) || (defined(HAVE_DECL_RTA_PRIORITY) && HAVE_DECL_RTA_PRIORITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_PRIORITY) == (6), "RTA_PRIORITY != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_PRIORITY 6 #endif -#if !(defined(RTA_PREFSRC) || (defined(HAVE_DECL_RTA_PREFSRC) && HAVE_DECL_RTA_PREFSRC)) +#if defined(RTA_PREFSRC) || (defined(HAVE_DECL_RTA_PREFSRC) && HAVE_DECL_RTA_PREFSRC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_PREFSRC) == (7), "RTA_PREFSRC != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_PREFSRC 7 #endif -#if !(defined(RTA_METRICS) || (defined(HAVE_DECL_RTA_METRICS) && HAVE_DECL_RTA_METRICS)) +#if defined(RTA_METRICS) || (defined(HAVE_DECL_RTA_METRICS) && HAVE_DECL_RTA_METRICS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_METRICS) == (8), "RTA_METRICS != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_METRICS 8 #endif -#if !(defined(RTA_MULTIPATH) || (defined(HAVE_DECL_RTA_MULTIPATH) && HAVE_DECL_RTA_MULTIPATH)) +#if defined(RTA_MULTIPATH) || (defined(HAVE_DECL_RTA_MULTIPATH) && HAVE_DECL_RTA_MULTIPATH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_MULTIPATH) == (9), "RTA_MULTIPATH != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_MULTIPATH 9 #endif -#if !(defined(RTA_PROTOINFO) || (defined(HAVE_DECL_RTA_PROTOINFO) && HAVE_DECL_RTA_PROTOINFO)) +#if defined(RTA_PROTOINFO) || (defined(HAVE_DECL_RTA_PROTOINFO) && HAVE_DECL_RTA_PROTOINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_PROTOINFO) == (10), "RTA_PROTOINFO != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_PROTOINFO 10 #endif -#if !(defined(RTA_FLOW) || (defined(HAVE_DECL_RTA_FLOW) && HAVE_DECL_RTA_FLOW)) +#if defined(RTA_FLOW) || (defined(HAVE_DECL_RTA_FLOW) && HAVE_DECL_RTA_FLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_FLOW) == (11), "RTA_FLOW != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_FLOW 11 #endif -#if !(defined(RTA_CACHEINFO) || (defined(HAVE_DECL_RTA_CACHEINFO) && HAVE_DECL_RTA_CACHEINFO)) +#if defined(RTA_CACHEINFO) || (defined(HAVE_DECL_RTA_CACHEINFO) && HAVE_DECL_RTA_CACHEINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_CACHEINFO) == (12), "RTA_CACHEINFO != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_CACHEINFO 12 #endif -#if !(defined(RTA_SESSION) || (defined(HAVE_DECL_RTA_SESSION) && HAVE_DECL_RTA_SESSION)) +#if defined(RTA_SESSION) || (defined(HAVE_DECL_RTA_SESSION) && HAVE_DECL_RTA_SESSION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_SESSION) == (13), "RTA_SESSION != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_SESSION 13 #endif -#if !(defined(RTA_MP_ALGO) || (defined(HAVE_DECL_RTA_MP_ALGO) && HAVE_DECL_RTA_MP_ALGO)) +#if defined(RTA_MP_ALGO) || (defined(HAVE_DECL_RTA_MP_ALGO) && HAVE_DECL_RTA_MP_ALGO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_MP_ALGO) == (14), "RTA_MP_ALGO != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_MP_ALGO 14 #endif -#if !(defined(RTA_TABLE) || (defined(HAVE_DECL_RTA_TABLE) && HAVE_DECL_RTA_TABLE)) +#if defined(RTA_TABLE) || (defined(HAVE_DECL_RTA_TABLE) && HAVE_DECL_RTA_TABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_TABLE) == (15), "RTA_TABLE != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_TABLE 15 #endif -#if !(defined(RTA_MARK) || (defined(HAVE_DECL_RTA_MARK) && HAVE_DECL_RTA_MARK)) +#if defined(RTA_MARK) || (defined(HAVE_DECL_RTA_MARK) && HAVE_DECL_RTA_MARK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_MARK) == (16), "RTA_MARK != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_MARK 16 #endif -#if !(defined(RTA_MFC_STATS) || (defined(HAVE_DECL_RTA_MFC_STATS) && HAVE_DECL_RTA_MFC_STATS)) +#if defined(RTA_MFC_STATS) || (defined(HAVE_DECL_RTA_MFC_STATS) && HAVE_DECL_RTA_MFC_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_MFC_STATS) == (17), "RTA_MFC_STATS != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_MFC_STATS 17 #endif -#if !(defined(RTA_VIA) || (defined(HAVE_DECL_RTA_VIA) && HAVE_DECL_RTA_VIA)) +#if defined(RTA_VIA) || (defined(HAVE_DECL_RTA_VIA) && HAVE_DECL_RTA_VIA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_VIA) == (18), "RTA_VIA != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_VIA 18 #endif -#if !(defined(RTA_NEWDST) || (defined(HAVE_DECL_RTA_NEWDST) && HAVE_DECL_RTA_NEWDST)) +#if defined(RTA_NEWDST) || (defined(HAVE_DECL_RTA_NEWDST) && HAVE_DECL_RTA_NEWDST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_NEWDST) == (19), "RTA_NEWDST != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_NEWDST 19 #endif -#if !(defined(RTA_PREF) || (defined(HAVE_DECL_RTA_PREF) && HAVE_DECL_RTA_PREF)) +#if defined(RTA_PREF) || (defined(HAVE_DECL_RTA_PREF) && HAVE_DECL_RTA_PREF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_PREF) == (20), "RTA_PREF != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_PREF 20 #endif -#if !(defined(RTA_ENCAP_TYPE) || (defined(HAVE_DECL_RTA_ENCAP_TYPE) && HAVE_DECL_RTA_ENCAP_TYPE)) +#if defined(RTA_ENCAP_TYPE) || (defined(HAVE_DECL_RTA_ENCAP_TYPE) && HAVE_DECL_RTA_ENCAP_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_ENCAP_TYPE) == (21), "RTA_ENCAP_TYPE != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_ENCAP_TYPE 21 #endif -#if !(defined(RTA_ENCAP) || (defined(HAVE_DECL_RTA_ENCAP) && HAVE_DECL_RTA_ENCAP)) +#if defined(RTA_ENCAP) || (defined(HAVE_DECL_RTA_ENCAP) && HAVE_DECL_RTA_ENCAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_ENCAP) == (22), "RTA_ENCAP != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_ENCAP 22 #endif -#if !(defined(RTA_EXPIRES) || (defined(HAVE_DECL_RTA_EXPIRES) && HAVE_DECL_RTA_EXPIRES)) +#if defined(RTA_EXPIRES) || (defined(HAVE_DECL_RTA_EXPIRES) && HAVE_DECL_RTA_EXPIRES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_EXPIRES) == (23), "RTA_EXPIRES != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_EXPIRES 23 #endif -#if !(defined(RTA_PAD) || (defined(HAVE_DECL_RTA_PAD) && HAVE_DECL_RTA_PAD)) +#if defined(RTA_PAD) || (defined(HAVE_DECL_RTA_PAD) && HAVE_DECL_RTA_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_PAD) == (24), "RTA_PAD != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_PAD 24 #endif -#if !(defined(RTA_UID) || (defined(HAVE_DECL_RTA_UID) && HAVE_DECL_RTA_UID)) +#if defined(RTA_UID) || (defined(HAVE_DECL_RTA_UID) && HAVE_DECL_RTA_UID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_UID) == (25), "RTA_UID != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_UID 25 #endif -#if !(defined(RTA_TTL_PROPAGATE) || (defined(HAVE_DECL_RTA_TTL_PROPAGATE) && HAVE_DECL_RTA_TTL_PROPAGATE)) +#if defined(RTA_TTL_PROPAGATE) || (defined(HAVE_DECL_RTA_TTL_PROPAGATE) && HAVE_DECL_RTA_TTL_PROPAGATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTA_TTL_PROPAGATE) == (26), "RTA_TTL_PROPAGATE != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTA_TTL_PROPAGATE 26 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_route_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_route_attrs in mpers mode + +# else static const struct xlat rtnl_route_attrs[] = { @@ -119,4 +233,6 @@ const struct xlat rtnl_route_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_rta_metrics_attrs.h b/xlat/rtnl_rta_metrics_attrs.h index b395ca32..b4414592 100644 --- a/xlat/rtnl_rta_metrics_attrs.h +++ b/xlat/rtnl_rta_metrics_attrs.h @@ -1,61 +1,135 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_rta_metrics_attrs.in; do not edit. */ -#if !(defined(RTAX_UNSPEC) || (defined(HAVE_DECL_RTAX_UNSPEC) && HAVE_DECL_RTAX_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RTAX_UNSPEC) || (defined(HAVE_DECL_RTAX_UNSPEC) && HAVE_DECL_RTAX_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_UNSPEC) == (0), "RTAX_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_UNSPEC 0 #endif -#if !(defined(RTAX_LOCK) || (defined(HAVE_DECL_RTAX_LOCK) && HAVE_DECL_RTAX_LOCK)) +#if defined(RTAX_LOCK) || (defined(HAVE_DECL_RTAX_LOCK) && HAVE_DECL_RTAX_LOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_LOCK) == (1), "RTAX_LOCK != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_LOCK 1 #endif -#if !(defined(RTAX_MTU) || (defined(HAVE_DECL_RTAX_MTU) && HAVE_DECL_RTAX_MTU)) +#if defined(RTAX_MTU) || (defined(HAVE_DECL_RTAX_MTU) && HAVE_DECL_RTAX_MTU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_MTU) == (2), "RTAX_MTU != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_MTU 2 #endif -#if !(defined(RTAX_WINDOW) || (defined(HAVE_DECL_RTAX_WINDOW) && HAVE_DECL_RTAX_WINDOW)) +#if defined(RTAX_WINDOW) || (defined(HAVE_DECL_RTAX_WINDOW) && HAVE_DECL_RTAX_WINDOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_WINDOW) == (3), "RTAX_WINDOW != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_WINDOW 3 #endif -#if !(defined(RTAX_RTT) || (defined(HAVE_DECL_RTAX_RTT) && HAVE_DECL_RTAX_RTT)) +#if defined(RTAX_RTT) || (defined(HAVE_DECL_RTAX_RTT) && HAVE_DECL_RTAX_RTT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_RTT) == (4), "RTAX_RTT != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_RTT 4 #endif -#if !(defined(RTAX_RTTVAR) || (defined(HAVE_DECL_RTAX_RTTVAR) && HAVE_DECL_RTAX_RTTVAR)) +#if defined(RTAX_RTTVAR) || (defined(HAVE_DECL_RTAX_RTTVAR) && HAVE_DECL_RTAX_RTTVAR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_RTTVAR) == (5), "RTAX_RTTVAR != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_RTTVAR 5 #endif -#if !(defined(RTAX_SSTHRESH) || (defined(HAVE_DECL_RTAX_SSTHRESH) && HAVE_DECL_RTAX_SSTHRESH)) +#if defined(RTAX_SSTHRESH) || (defined(HAVE_DECL_RTAX_SSTHRESH) && HAVE_DECL_RTAX_SSTHRESH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_SSTHRESH) == (6), "RTAX_SSTHRESH != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_SSTHRESH 6 #endif -#if !(defined(RTAX_CWND) || (defined(HAVE_DECL_RTAX_CWND) && HAVE_DECL_RTAX_CWND)) +#if defined(RTAX_CWND) || (defined(HAVE_DECL_RTAX_CWND) && HAVE_DECL_RTAX_CWND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_CWND) == (7), "RTAX_CWND != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_CWND 7 #endif -#if !(defined(RTAX_ADVMSS) || (defined(HAVE_DECL_RTAX_ADVMSS) && HAVE_DECL_RTAX_ADVMSS)) +#if defined(RTAX_ADVMSS) || (defined(HAVE_DECL_RTAX_ADVMSS) && HAVE_DECL_RTAX_ADVMSS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_ADVMSS) == (8), "RTAX_ADVMSS != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_ADVMSS 8 #endif -#if !(defined(RTAX_REORDERING) || (defined(HAVE_DECL_RTAX_REORDERING) && HAVE_DECL_RTAX_REORDERING)) +#if defined(RTAX_REORDERING) || (defined(HAVE_DECL_RTAX_REORDERING) && HAVE_DECL_RTAX_REORDERING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_REORDERING) == (9), "RTAX_REORDERING != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_REORDERING 9 #endif -#if !(defined(RTAX_HOPLIMIT) || (defined(HAVE_DECL_RTAX_HOPLIMIT) && HAVE_DECL_RTAX_HOPLIMIT)) +#if defined(RTAX_HOPLIMIT) || (defined(HAVE_DECL_RTAX_HOPLIMIT) && HAVE_DECL_RTAX_HOPLIMIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_HOPLIMIT) == (10), "RTAX_HOPLIMIT != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_HOPLIMIT 10 #endif -#if !(defined(RTAX_INITCWND) || (defined(HAVE_DECL_RTAX_INITCWND) && HAVE_DECL_RTAX_INITCWND)) +#if defined(RTAX_INITCWND) || (defined(HAVE_DECL_RTAX_INITCWND) && HAVE_DECL_RTAX_INITCWND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_INITCWND) == (11), "RTAX_INITCWND != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_INITCWND 11 #endif -#if !(defined(RTAX_FEATURES) || (defined(HAVE_DECL_RTAX_FEATURES) && HAVE_DECL_RTAX_FEATURES)) +#if defined(RTAX_FEATURES) || (defined(HAVE_DECL_RTAX_FEATURES) && HAVE_DECL_RTAX_FEATURES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_FEATURES) == (12), "RTAX_FEATURES != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_FEATURES 12 #endif -#if !(defined(RTAX_RTO_MIN) || (defined(HAVE_DECL_RTAX_RTO_MIN) && HAVE_DECL_RTAX_RTO_MIN)) +#if defined(RTAX_RTO_MIN) || (defined(HAVE_DECL_RTAX_RTO_MIN) && HAVE_DECL_RTAX_RTO_MIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_RTO_MIN) == (13), "RTAX_RTO_MIN != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_RTO_MIN 13 #endif -#if !(defined(RTAX_INITRWND) || (defined(HAVE_DECL_RTAX_INITRWND) && HAVE_DECL_RTAX_INITRWND)) +#if defined(RTAX_INITRWND) || (defined(HAVE_DECL_RTAX_INITRWND) && HAVE_DECL_RTAX_INITRWND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_INITRWND) == (14), "RTAX_INITRWND != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_INITRWND 14 #endif -#if !(defined(RTAX_QUICKACK) || (defined(HAVE_DECL_RTAX_QUICKACK) && HAVE_DECL_RTAX_QUICKACK)) +#if defined(RTAX_QUICKACK) || (defined(HAVE_DECL_RTAX_QUICKACK) && HAVE_DECL_RTAX_QUICKACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_QUICKACK) == (15), "RTAX_QUICKACK != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_QUICKACK 15 #endif -#if !(defined(RTAX_CC_ALGO) || (defined(HAVE_DECL_RTAX_CC_ALGO) && HAVE_DECL_RTAX_CC_ALGO)) +#if defined(RTAX_CC_ALGO) || (defined(HAVE_DECL_RTAX_CC_ALGO) && HAVE_DECL_RTAX_CC_ALGO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RTAX_CC_ALGO) == (16), "RTAX_CC_ALGO != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RTAX_CC_ALGO 16 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_rta_metrics_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_rta_metrics_attrs in mpers mode + +# else static const struct xlat rtnl_rta_metrics_attrs[] = { @@ -79,4 +153,6 @@ const struct xlat rtnl_rta_metrics_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_rule_attrs.h b/xlat/rtnl_rule_attrs.h index c9680ec0..683bbee2 100644 --- a/xlat/rtnl_rule_attrs.h +++ b/xlat/rtnl_rule_attrs.h @@ -1,73 +1,191 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_rule_attrs.in; do not edit. */ -#if !(defined(FRA_UNSPEC) || (defined(HAVE_DECL_FRA_UNSPEC) && HAVE_DECL_FRA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FRA_UNSPEC) || (defined(HAVE_DECL_FRA_UNSPEC) && HAVE_DECL_FRA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_UNSPEC) == (0), "FRA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_UNSPEC 0 #endif -#if !(defined(FRA_DST) || (defined(HAVE_DECL_FRA_DST) && HAVE_DECL_FRA_DST)) +#if defined(FRA_DST) || (defined(HAVE_DECL_FRA_DST) && HAVE_DECL_FRA_DST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_DST) == (1), "FRA_DST != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_DST 1 #endif -#if !(defined(FRA_SRC) || (defined(HAVE_DECL_FRA_SRC) && HAVE_DECL_FRA_SRC)) +#if defined(FRA_SRC) || (defined(HAVE_DECL_FRA_SRC) && HAVE_DECL_FRA_SRC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_SRC) == (2), "FRA_SRC != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_SRC 2 #endif -#if !(defined(FRA_IIFNAME) || (defined(HAVE_DECL_FRA_IIFNAME) && HAVE_DECL_FRA_IIFNAME)) +#if defined(FRA_IIFNAME) || (defined(HAVE_DECL_FRA_IIFNAME) && HAVE_DECL_FRA_IIFNAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_IIFNAME) == (3), "FRA_IIFNAME != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_IIFNAME 3 #endif -#if !(defined(FRA_GOTO) || (defined(HAVE_DECL_FRA_GOTO) && HAVE_DECL_FRA_GOTO)) +#if defined(FRA_GOTO) || (defined(HAVE_DECL_FRA_GOTO) && HAVE_DECL_FRA_GOTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_GOTO) == (4), "FRA_GOTO != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_GOTO 4 #endif -#if !(defined(FRA_UNUSED2) || (defined(HAVE_DECL_FRA_UNUSED2) && HAVE_DECL_FRA_UNUSED2)) +#if defined(FRA_UNUSED2) || (defined(HAVE_DECL_FRA_UNUSED2) && HAVE_DECL_FRA_UNUSED2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_UNUSED2) == (5), "FRA_UNUSED2 != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_UNUSED2 5 #endif -#if !(defined(FRA_PRIORITY) || (defined(HAVE_DECL_FRA_PRIORITY) && HAVE_DECL_FRA_PRIORITY)) +#if defined(FRA_PRIORITY) || (defined(HAVE_DECL_FRA_PRIORITY) && HAVE_DECL_FRA_PRIORITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_PRIORITY) == (6), "FRA_PRIORITY != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_PRIORITY 6 #endif -#if !(defined(FRA_UNUSED3) || (defined(HAVE_DECL_FRA_UNUSED3) && HAVE_DECL_FRA_UNUSED3)) +#if defined(FRA_UNUSED3) || (defined(HAVE_DECL_FRA_UNUSED3) && HAVE_DECL_FRA_UNUSED3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_UNUSED3) == (7), "FRA_UNUSED3 != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_UNUSED3 7 #endif -#if !(defined(FRA_UNUSED4) || (defined(HAVE_DECL_FRA_UNUSED4) && HAVE_DECL_FRA_UNUSED4)) +#if defined(FRA_UNUSED4) || (defined(HAVE_DECL_FRA_UNUSED4) && HAVE_DECL_FRA_UNUSED4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_UNUSED4) == (8), "FRA_UNUSED4 != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_UNUSED4 8 #endif -#if !(defined(FRA_UNUSED5) || (defined(HAVE_DECL_FRA_UNUSED5) && HAVE_DECL_FRA_UNUSED5)) +#if defined(FRA_UNUSED5) || (defined(HAVE_DECL_FRA_UNUSED5) && HAVE_DECL_FRA_UNUSED5) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_UNUSED5) == (9), "FRA_UNUSED5 != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_UNUSED5 9 #endif -#if !(defined(FRA_FWMARK) || (defined(HAVE_DECL_FRA_FWMARK) && HAVE_DECL_FRA_FWMARK)) +#if defined(FRA_FWMARK) || (defined(HAVE_DECL_FRA_FWMARK) && HAVE_DECL_FRA_FWMARK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_FWMARK) == (10), "FRA_FWMARK != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_FWMARK 10 #endif -#if !(defined(FRA_FLOW) || (defined(HAVE_DECL_FRA_FLOW) && HAVE_DECL_FRA_FLOW)) +#if defined(FRA_FLOW) || (defined(HAVE_DECL_FRA_FLOW) && HAVE_DECL_FRA_FLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_FLOW) == (11), "FRA_FLOW != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_FLOW 11 #endif -#if !(defined(FRA_TUN_ID) || (defined(HAVE_DECL_FRA_TUN_ID) && HAVE_DECL_FRA_TUN_ID)) +#if defined(FRA_TUN_ID) || (defined(HAVE_DECL_FRA_TUN_ID) && HAVE_DECL_FRA_TUN_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_TUN_ID) == (12), "FRA_TUN_ID != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_TUN_ID 12 #endif -#if !(defined(FRA_SUPPRESS_IFGROUP) || (defined(HAVE_DECL_FRA_SUPPRESS_IFGROUP) && HAVE_DECL_FRA_SUPPRESS_IFGROUP)) +#if defined(FRA_SUPPRESS_IFGROUP) || (defined(HAVE_DECL_FRA_SUPPRESS_IFGROUP) && HAVE_DECL_FRA_SUPPRESS_IFGROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_SUPPRESS_IFGROUP) == (13), "FRA_SUPPRESS_IFGROUP != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_SUPPRESS_IFGROUP 13 #endif -#if !(defined(FRA_SUPPRESS_PREFIXLEN) || (defined(HAVE_DECL_FRA_SUPPRESS_PREFIXLEN) && HAVE_DECL_FRA_SUPPRESS_PREFIXLEN)) +#if defined(FRA_SUPPRESS_PREFIXLEN) || (defined(HAVE_DECL_FRA_SUPPRESS_PREFIXLEN) && HAVE_DECL_FRA_SUPPRESS_PREFIXLEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_SUPPRESS_PREFIXLEN) == (14), "FRA_SUPPRESS_PREFIXLEN != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_SUPPRESS_PREFIXLEN 14 #endif -#if !(defined(FRA_TABLE) || (defined(HAVE_DECL_FRA_TABLE) && HAVE_DECL_FRA_TABLE)) +#if defined(FRA_TABLE) || (defined(HAVE_DECL_FRA_TABLE) && HAVE_DECL_FRA_TABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_TABLE) == (15), "FRA_TABLE != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_TABLE 15 #endif -#if !(defined(FRA_FWMASK) || (defined(HAVE_DECL_FRA_FWMASK) && HAVE_DECL_FRA_FWMASK)) +#if defined(FRA_FWMASK) || (defined(HAVE_DECL_FRA_FWMASK) && HAVE_DECL_FRA_FWMASK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_FWMASK) == (16), "FRA_FWMASK != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_FWMASK 16 #endif -#if !(defined(FRA_OIFNAME) || (defined(HAVE_DECL_FRA_OIFNAME) && HAVE_DECL_FRA_OIFNAME)) +#if defined(FRA_OIFNAME) || (defined(HAVE_DECL_FRA_OIFNAME) && HAVE_DECL_FRA_OIFNAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_OIFNAME) == (17), "FRA_OIFNAME != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_OIFNAME 17 #endif -#if !(defined(FRA_PAD) || (defined(HAVE_DECL_FRA_PAD) && HAVE_DECL_FRA_PAD)) +#if defined(FRA_PAD) || (defined(HAVE_DECL_FRA_PAD) && HAVE_DECL_FRA_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_PAD) == (18), "FRA_PAD != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_PAD 18 #endif -#if !(defined(FRA_L3MDEV) || (defined(HAVE_DECL_FRA_L3MDEV) && HAVE_DECL_FRA_L3MDEV)) +#if defined(FRA_L3MDEV) || (defined(HAVE_DECL_FRA_L3MDEV) && HAVE_DECL_FRA_L3MDEV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_L3MDEV) == (19), "FRA_L3MDEV != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_L3MDEV 19 #endif -#if !(defined(FRA_UID_RANGE) || (defined(HAVE_DECL_FRA_UID_RANGE) && HAVE_DECL_FRA_UID_RANGE)) +#if defined(FRA_UID_RANGE) || (defined(HAVE_DECL_FRA_UID_RANGE) && HAVE_DECL_FRA_UID_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_UID_RANGE) == (20), "FRA_UID_RANGE != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FRA_UID_RANGE 20 #endif +#if defined(FRA_PROTOCOL) || (defined(HAVE_DECL_FRA_PROTOCOL) && HAVE_DECL_FRA_PROTOCOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_PROTOCOL) == (21), "FRA_PROTOCOL != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FRA_PROTOCOL 21 +#endif +#if defined(FRA_IP_PROTO) || (defined(HAVE_DECL_FRA_IP_PROTO) && HAVE_DECL_FRA_IP_PROTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_IP_PROTO) == (22), "FRA_IP_PROTO != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FRA_IP_PROTO 22 +#endif +#if defined(FRA_SPORT_RANGE) || (defined(HAVE_DECL_FRA_SPORT_RANGE) && HAVE_DECL_FRA_SPORT_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_SPORT_RANGE) == (23), "FRA_SPORT_RANGE != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FRA_SPORT_RANGE 23 +#endif +#if defined(FRA_DPORT_RANGE) || (defined(HAVE_DECL_FRA_DPORT_RANGE) && HAVE_DECL_FRA_DPORT_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FRA_DPORT_RANGE) == (24), "FRA_DPORT_RANGE != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FRA_DPORT_RANGE 24 +#endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_rule_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_rule_attrs in mpers mode + +# else static const struct xlat rtnl_rule_attrs[] = { @@ -92,7 +210,13 @@ const struct xlat rtnl_rule_attrs[] = { XLAT(FRA_PAD), XLAT(FRA_L3MDEV), XLAT(FRA_UID_RANGE), + XLAT(FRA_PROTOCOL), + XLAT(FRA_IP_PROTO), + XLAT(FRA_SPORT_RANGE), + XLAT(FRA_DPORT_RANGE), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_rule_attrs.in b/xlat/rtnl_rule_attrs.in index 971f1180..96ab4427 100644 --- a/xlat/rtnl_rule_attrs.in +++ b/xlat/rtnl_rule_attrs.in @@ -19,3 +19,7 @@ FRA_OIFNAME 17 FRA_PAD 18 FRA_L3MDEV 19 FRA_UID_RANGE 20 +FRA_PROTOCOL 21 +FRA_IP_PROTO 22 +FRA_SPORT_RANGE 23 +FRA_DPORT_RANGE 24 diff --git a/xlat/rtnl_tc_action_attrs.h b/xlat/rtnl_tc_action_attrs.h index d9500891..03990c5f 100644 --- a/xlat/rtnl_tc_action_attrs.h +++ b/xlat/rtnl_tc_action_attrs.h @@ -1,31 +1,65 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_tc_action_attrs.in; do not edit. */ -#if !(defined(TCA_ACT_UNSPEC) || (defined(HAVE_DECL_TCA_ACT_UNSPEC) && HAVE_DECL_TCA_ACT_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TCA_ACT_UNSPEC) || (defined(HAVE_DECL_TCA_ACT_UNSPEC) && HAVE_DECL_TCA_ACT_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_ACT_UNSPEC) == (0), "TCA_ACT_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_ACT_UNSPEC 0 #endif -#if !(defined(TCA_ACT_KIND) || (defined(HAVE_DECL_TCA_ACT_KIND) && HAVE_DECL_TCA_ACT_KIND)) +#if defined(TCA_ACT_KIND) || (defined(HAVE_DECL_TCA_ACT_KIND) && HAVE_DECL_TCA_ACT_KIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_ACT_KIND) == (1), "TCA_ACT_KIND != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_ACT_KIND 1 #endif -#if !(defined(TCA_ACT_OPTIONS) || (defined(HAVE_DECL_TCA_ACT_OPTIONS) && HAVE_DECL_TCA_ACT_OPTIONS)) +#if defined(TCA_ACT_OPTIONS) || (defined(HAVE_DECL_TCA_ACT_OPTIONS) && HAVE_DECL_TCA_ACT_OPTIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_ACT_OPTIONS) == (2), "TCA_ACT_OPTIONS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_ACT_OPTIONS 2 #endif -#if !(defined(TCA_ACT_INDEX) || (defined(HAVE_DECL_TCA_ACT_INDEX) && HAVE_DECL_TCA_ACT_INDEX)) +#if defined(TCA_ACT_INDEX) || (defined(HAVE_DECL_TCA_ACT_INDEX) && HAVE_DECL_TCA_ACT_INDEX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_ACT_INDEX) == (3), "TCA_ACT_INDEX != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_ACT_INDEX 3 #endif -#if !(defined(TCA_ACT_STATS) || (defined(HAVE_DECL_TCA_ACT_STATS) && HAVE_DECL_TCA_ACT_STATS)) +#if defined(TCA_ACT_STATS) || (defined(HAVE_DECL_TCA_ACT_STATS) && HAVE_DECL_TCA_ACT_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_ACT_STATS) == (4), "TCA_ACT_STATS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_ACT_STATS 4 #endif -#if !(defined(TCA_ACT_PAD) || (defined(HAVE_DECL_TCA_ACT_PAD) && HAVE_DECL_TCA_ACT_PAD)) +#if defined(TCA_ACT_PAD) || (defined(HAVE_DECL_TCA_ACT_PAD) && HAVE_DECL_TCA_ACT_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_ACT_PAD) == (5), "TCA_ACT_PAD != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_ACT_PAD 5 #endif -#if !(defined(TCA_ACT_COOKIE) || (defined(HAVE_DECL_TCA_ACT_COOKIE) && HAVE_DECL_TCA_ACT_COOKIE)) +#if defined(TCA_ACT_COOKIE) || (defined(HAVE_DECL_TCA_ACT_COOKIE) && HAVE_DECL_TCA_ACT_COOKIE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_ACT_COOKIE) == (6), "TCA_ACT_COOKIE != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_ACT_COOKIE 6 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_tc_action_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_tc_action_attrs in mpers mode + +# else static const struct xlat rtnl_tc_action_attrs[] = { @@ -39,4 +73,6 @@ const struct xlat rtnl_tc_action_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_tc_attrs.h b/xlat/rtnl_tc_attrs.h index f622eedc..fc0dedca 100644 --- a/xlat/rtnl_tc_attrs.h +++ b/xlat/rtnl_tc_attrs.h @@ -1,55 +1,121 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_tc_attrs.in; do not edit. */ -#if !(defined(TCA_UNSPEC) || (defined(HAVE_DECL_TCA_UNSPEC) && HAVE_DECL_TCA_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TCA_UNSPEC) || (defined(HAVE_DECL_TCA_UNSPEC) && HAVE_DECL_TCA_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_UNSPEC) == (0), "TCA_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_UNSPEC 0 #endif -#if !(defined(TCA_KIND) || (defined(HAVE_DECL_TCA_KIND) && HAVE_DECL_TCA_KIND)) +#if defined(TCA_KIND) || (defined(HAVE_DECL_TCA_KIND) && HAVE_DECL_TCA_KIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_KIND) == (1), "TCA_KIND != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_KIND 1 #endif -#if !(defined(TCA_OPTIONS) || (defined(HAVE_DECL_TCA_OPTIONS) && HAVE_DECL_TCA_OPTIONS)) +#if defined(TCA_OPTIONS) || (defined(HAVE_DECL_TCA_OPTIONS) && HAVE_DECL_TCA_OPTIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_OPTIONS) == (2), "TCA_OPTIONS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_OPTIONS 2 #endif -#if !(defined(TCA_STATS) || (defined(HAVE_DECL_TCA_STATS) && HAVE_DECL_TCA_STATS)) +#if defined(TCA_STATS) || (defined(HAVE_DECL_TCA_STATS) && HAVE_DECL_TCA_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STATS) == (3), "TCA_STATS != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STATS 3 #endif -#if !(defined(TCA_XSTATS) || (defined(HAVE_DECL_TCA_XSTATS) && HAVE_DECL_TCA_XSTATS)) +#if defined(TCA_XSTATS) || (defined(HAVE_DECL_TCA_XSTATS) && HAVE_DECL_TCA_XSTATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_XSTATS) == (4), "TCA_XSTATS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_XSTATS 4 #endif -#if !(defined(TCA_RATE) || (defined(HAVE_DECL_TCA_RATE) && HAVE_DECL_TCA_RATE)) +#if defined(TCA_RATE) || (defined(HAVE_DECL_TCA_RATE) && HAVE_DECL_TCA_RATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_RATE) == (5), "TCA_RATE != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_RATE 5 #endif -#if !(defined(TCA_FCNT) || (defined(HAVE_DECL_TCA_FCNT) && HAVE_DECL_TCA_FCNT)) +#if defined(TCA_FCNT) || (defined(HAVE_DECL_TCA_FCNT) && HAVE_DECL_TCA_FCNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_FCNT) == (6), "TCA_FCNT != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_FCNT 6 #endif -#if !(defined(TCA_STATS2) || (defined(HAVE_DECL_TCA_STATS2) && HAVE_DECL_TCA_STATS2)) +#if defined(TCA_STATS2) || (defined(HAVE_DECL_TCA_STATS2) && HAVE_DECL_TCA_STATS2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STATS2) == (7), "TCA_STATS2 != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STATS2 7 #endif -#if !(defined(TCA_STAB) || (defined(HAVE_DECL_TCA_STAB) && HAVE_DECL_TCA_STAB)) +#if defined(TCA_STAB) || (defined(HAVE_DECL_TCA_STAB) && HAVE_DECL_TCA_STAB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STAB) == (8), "TCA_STAB != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STAB 8 #endif -#if !(defined(TCA_PAD) || (defined(HAVE_DECL_TCA_PAD) && HAVE_DECL_TCA_PAD)) +#if defined(TCA_PAD) || (defined(HAVE_DECL_TCA_PAD) && HAVE_DECL_TCA_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_PAD) == (9), "TCA_PAD != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_PAD 9 #endif -#if !(defined(TCA_DUMP_INVISIBLE) || (defined(HAVE_DECL_TCA_DUMP_INVISIBLE) && HAVE_DECL_TCA_DUMP_INVISIBLE)) +#if defined(TCA_DUMP_INVISIBLE) || (defined(HAVE_DECL_TCA_DUMP_INVISIBLE) && HAVE_DECL_TCA_DUMP_INVISIBLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_DUMP_INVISIBLE) == (10), "TCA_DUMP_INVISIBLE != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_DUMP_INVISIBLE 10 #endif -#if !(defined(TCA_CHAIN) || (defined(HAVE_DECL_TCA_CHAIN) && HAVE_DECL_TCA_CHAIN)) +#if defined(TCA_CHAIN) || (defined(HAVE_DECL_TCA_CHAIN) && HAVE_DECL_TCA_CHAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_CHAIN) == (11), "TCA_CHAIN != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_CHAIN 11 #endif -#if !(defined(TCA_HW_OFFLOAD) || (defined(HAVE_DECL_TCA_HW_OFFLOAD) && HAVE_DECL_TCA_HW_OFFLOAD)) +#if defined(TCA_HW_OFFLOAD) || (defined(HAVE_DECL_TCA_HW_OFFLOAD) && HAVE_DECL_TCA_HW_OFFLOAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_HW_OFFLOAD) == (12), "TCA_HW_OFFLOAD != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_HW_OFFLOAD 12 #endif -#if !(defined(TCA_INGRESS_BLOCK) || (defined(HAVE_DECL_TCA_INGRESS_BLOCK) && HAVE_DECL_TCA_INGRESS_BLOCK)) +#if defined(TCA_INGRESS_BLOCK) || (defined(HAVE_DECL_TCA_INGRESS_BLOCK) && HAVE_DECL_TCA_INGRESS_BLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_INGRESS_BLOCK) == (13), "TCA_INGRESS_BLOCK != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_INGRESS_BLOCK 13 #endif -#if !(defined(TCA_EGRESS_BLOCK) || (defined(HAVE_DECL_TCA_EGRESS_BLOCK) && HAVE_DECL_TCA_EGRESS_BLOCK)) +#if defined(TCA_EGRESS_BLOCK) || (defined(HAVE_DECL_TCA_EGRESS_BLOCK) && HAVE_DECL_TCA_EGRESS_BLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_EGRESS_BLOCK) == (14), "TCA_EGRESS_BLOCK != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_EGRESS_BLOCK 14 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_tc_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_tc_attrs in mpers mode + +# else static const struct xlat rtnl_tc_attrs[] = { @@ -71,4 +137,6 @@ const struct xlat rtnl_tc_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_tca_stab_attrs.h b/xlat/rtnl_tca_stab_attrs.h index 8e01f14a..ca2f1678 100644 --- a/xlat/rtnl_tca_stab_attrs.h +++ b/xlat/rtnl_tca_stab_attrs.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_tca_stab_attrs.in; do not edit. */ -#if !(defined(TCA_STAB_UNSPEC) || (defined(HAVE_DECL_TCA_STAB_UNSPEC) && HAVE_DECL_TCA_STAB_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TCA_STAB_UNSPEC) || (defined(HAVE_DECL_TCA_STAB_UNSPEC) && HAVE_DECL_TCA_STAB_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STAB_UNSPEC) == (0), "TCA_STAB_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STAB_UNSPEC 0 #endif -#if !(defined(TCA_STAB_BASE) || (defined(HAVE_DECL_TCA_STAB_BASE) && HAVE_DECL_TCA_STAB_BASE)) +#if defined(TCA_STAB_BASE) || (defined(HAVE_DECL_TCA_STAB_BASE) && HAVE_DECL_TCA_STAB_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STAB_BASE) == (1), "TCA_STAB_BASE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STAB_BASE 1 #endif -#if !(defined(TCA_STAB_DATA) || (defined(HAVE_DECL_TCA_STAB_DATA) && HAVE_DECL_TCA_STAB_DATA)) +#if defined(TCA_STAB_DATA) || (defined(HAVE_DECL_TCA_STAB_DATA) && HAVE_DECL_TCA_STAB_DATA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STAB_DATA) == (2), "TCA_STAB_DATA != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STAB_DATA 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_tca_stab_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_tca_stab_attrs in mpers mode + +# else static const struct xlat rtnl_tca_stab_attrs[] = { @@ -23,4 +41,6 @@ const struct xlat rtnl_tca_stab_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rtnl_tca_stats_attrs.h b/xlat/rtnl_tca_stats_attrs.h index 87a7ee4d..6441ede8 100644 --- a/xlat/rtnl_tca_stats_attrs.h +++ b/xlat/rtnl_tca_stats_attrs.h @@ -1,31 +1,65 @@ /* Generated by ./xlat/gen.sh from ./xlat/rtnl_tca_stats_attrs.in; do not edit. */ -#if !(defined(TCA_STATS_UNSPEC) || (defined(HAVE_DECL_TCA_STATS_UNSPEC) && HAVE_DECL_TCA_STATS_UNSPEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TCA_STATS_UNSPEC) || (defined(HAVE_DECL_TCA_STATS_UNSPEC) && HAVE_DECL_TCA_STATS_UNSPEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STATS_UNSPEC) == (0), "TCA_STATS_UNSPEC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STATS_UNSPEC 0 #endif -#if !(defined(TCA_STATS_BASIC) || (defined(HAVE_DECL_TCA_STATS_BASIC) && HAVE_DECL_TCA_STATS_BASIC)) +#if defined(TCA_STATS_BASIC) || (defined(HAVE_DECL_TCA_STATS_BASIC) && HAVE_DECL_TCA_STATS_BASIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STATS_BASIC) == (1), "TCA_STATS_BASIC != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STATS_BASIC 1 #endif -#if !(defined(TCA_STATS_RATE_EST) || (defined(HAVE_DECL_TCA_STATS_RATE_EST) && HAVE_DECL_TCA_STATS_RATE_EST)) +#if defined(TCA_STATS_RATE_EST) || (defined(HAVE_DECL_TCA_STATS_RATE_EST) && HAVE_DECL_TCA_STATS_RATE_EST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STATS_RATE_EST) == (2), "TCA_STATS_RATE_EST != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STATS_RATE_EST 2 #endif -#if !(defined(TCA_STATS_QUEUE) || (defined(HAVE_DECL_TCA_STATS_QUEUE) && HAVE_DECL_TCA_STATS_QUEUE)) +#if defined(TCA_STATS_QUEUE) || (defined(HAVE_DECL_TCA_STATS_QUEUE) && HAVE_DECL_TCA_STATS_QUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STATS_QUEUE) == (3), "TCA_STATS_QUEUE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STATS_QUEUE 3 #endif -#if !(defined(TCA_STATS_APP) || (defined(HAVE_DECL_TCA_STATS_APP) && HAVE_DECL_TCA_STATS_APP)) +#if defined(TCA_STATS_APP) || (defined(HAVE_DECL_TCA_STATS_APP) && HAVE_DECL_TCA_STATS_APP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STATS_APP) == (4), "TCA_STATS_APP != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STATS_APP 4 #endif -#if !(defined(TCA_STATS_RATE_EST64) || (defined(HAVE_DECL_TCA_STATS_RATE_EST64) && HAVE_DECL_TCA_STATS_RATE_EST64)) +#if defined(TCA_STATS_RATE_EST64) || (defined(HAVE_DECL_TCA_STATS_RATE_EST64) && HAVE_DECL_TCA_STATS_RATE_EST64) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STATS_RATE_EST64) == (5), "TCA_STATS_RATE_EST64 != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STATS_RATE_EST64 5 #endif -#if !(defined(TCA_STATS_PAD) || (defined(HAVE_DECL_TCA_STATS_PAD) && HAVE_DECL_TCA_STATS_PAD)) +#if defined(TCA_STATS_PAD) || (defined(HAVE_DECL_TCA_STATS_PAD) && HAVE_DECL_TCA_STATS_PAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCA_STATS_PAD) == (6), "TCA_STATS_PAD != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCA_STATS_PAD 6 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rtnl_tca_stats_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rtnl_tca_stats_attrs in mpers mode + +# else static const struct xlat rtnl_tca_stats_attrs[] = { @@ -39,4 +73,6 @@ const struct xlat rtnl_tca_stats_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/rwf_flags.h b/xlat/rwf_flags.h index dee1f8b3..9b410e8f 100644 --- a/xlat/rwf_flags.h +++ b/xlat/rwf_flags.h @@ -1,25 +1,51 @@ /* 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)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RWF_HIPRI) || (defined(HAVE_DECL_RWF_HIPRI) && HAVE_DECL_RWF_HIPRI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RWF_HIPRI) == (0x01), "RWF_HIPRI != 0x01"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RWF_HIPRI 0x01 #endif -#if !(defined(RWF_DSYNC) || (defined(HAVE_DECL_RWF_DSYNC) && HAVE_DECL_RWF_DSYNC)) +#if defined(RWF_DSYNC) || (defined(HAVE_DECL_RWF_DSYNC) && HAVE_DECL_RWF_DSYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RWF_DSYNC) == (0x02), "RWF_DSYNC != 0x02"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RWF_DSYNC 0x02 #endif -#if !(defined(RWF_SYNC) || (defined(HAVE_DECL_RWF_SYNC) && HAVE_DECL_RWF_SYNC)) +#if defined(RWF_SYNC) || (defined(HAVE_DECL_RWF_SYNC) && HAVE_DECL_RWF_SYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RWF_SYNC) == (0x04), "RWF_SYNC != 0x04"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RWF_SYNC 0x04 #endif -#if !(defined(RWF_NOWAIT) || (defined(HAVE_DECL_RWF_NOWAIT) && HAVE_DECL_RWF_NOWAIT)) +#if defined(RWF_NOWAIT) || (defined(HAVE_DECL_RWF_NOWAIT) && HAVE_DECL_RWF_NOWAIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RWF_NOWAIT) == (0x08), "RWF_NOWAIT != 0x08"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RWF_NOWAIT 0x08 #endif -#if !(defined(RWF_APPEND) || (defined(HAVE_DECL_RWF_APPEND) && HAVE_DECL_RWF_APPEND)) +#if defined(RWF_APPEND) || (defined(HAVE_DECL_RWF_APPEND) && HAVE_DECL_RWF_APPEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RWF_APPEND) == (0x10), "RWF_APPEND != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RWF_APPEND 0x10 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat rwf_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat rwf_flags in mpers mode + +# else static const struct xlat rwf_flags[] = { @@ -31,4 +57,6 @@ const struct xlat rwf_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/s390_guarded_storage_commands.h b/xlat/s390_guarded_storage_commands.h index d2d0a36d..9899819d 100644 --- a/xlat/s390_guarded_storage_commands.h +++ b/xlat/s390_guarded_storage_commands.h @@ -1,25 +1,51 @@ /* Generated by ./xlat/gen.sh from ./xlat/s390_guarded_storage_commands.in; do not edit. */ -#if !(defined(GS_ENABLE) || (defined(HAVE_DECL_GS_ENABLE) && HAVE_DECL_GS_ENABLE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(GS_ENABLE) || (defined(HAVE_DECL_GS_ENABLE) && HAVE_DECL_GS_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GS_ENABLE) == (0), "GS_ENABLE != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define GS_ENABLE 0 #endif -#if !(defined(GS_DISABLE) || (defined(HAVE_DECL_GS_DISABLE) && HAVE_DECL_GS_DISABLE)) +#if defined(GS_DISABLE) || (defined(HAVE_DECL_GS_DISABLE) && HAVE_DECL_GS_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GS_DISABLE) == (1), "GS_DISABLE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define GS_DISABLE 1 #endif -#if !(defined(GS_SET_BC_CB) || (defined(HAVE_DECL_GS_SET_BC_CB) && HAVE_DECL_GS_SET_BC_CB)) +#if defined(GS_SET_BC_CB) || (defined(HAVE_DECL_GS_SET_BC_CB) && HAVE_DECL_GS_SET_BC_CB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GS_SET_BC_CB) == (2), "GS_SET_BC_CB != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define GS_SET_BC_CB 2 #endif -#if !(defined(GS_CLEAR_BC_CB) || (defined(HAVE_DECL_GS_CLEAR_BC_CB) && HAVE_DECL_GS_CLEAR_BC_CB)) +#if defined(GS_CLEAR_BC_CB) || (defined(HAVE_DECL_GS_CLEAR_BC_CB) && HAVE_DECL_GS_CLEAR_BC_CB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GS_CLEAR_BC_CB) == (3), "GS_CLEAR_BC_CB != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define GS_CLEAR_BC_CB 3 #endif -#if !(defined(GS_BROADCAST) || (defined(HAVE_DECL_GS_BROADCAST) && HAVE_DECL_GS_BROADCAST)) +#if defined(GS_BROADCAST) || (defined(HAVE_DECL_GS_BROADCAST) && HAVE_DECL_GS_BROADCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GS_BROADCAST) == (4), "GS_BROADCAST != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define GS_BROADCAST 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat s390_guarded_storage_commands in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat s390_guarded_storage_commands in mpers mode + +# else static const struct xlat s390_guarded_storage_commands[] = { @@ -31,4 +57,6 @@ const struct xlat s390_guarded_storage_commands[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/s390_runtime_instr_commands.h b/xlat/s390_runtime_instr_commands.h index 5d4aefd4..a33a97f0 100644 --- a/xlat/s390_runtime_instr_commands.h +++ b/xlat/s390_runtime_instr_commands.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/s390_runtime_instr_commands.in; do not edit. */ -#if !(defined(S390_RUNTIME_INSTR_START) || (defined(HAVE_DECL_S390_RUNTIME_INSTR_START) && HAVE_DECL_S390_RUNTIME_INSTR_START)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(S390_RUNTIME_INSTR_START) || (defined(HAVE_DECL_S390_RUNTIME_INSTR_START) && HAVE_DECL_S390_RUNTIME_INSTR_START) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((S390_RUNTIME_INSTR_START) == (0x1), "S390_RUNTIME_INSTR_START != 0x1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define S390_RUNTIME_INSTR_START 0x1 #endif -#if !(defined(S390_RUNTIME_INSTR_STOP) || (defined(HAVE_DECL_S390_RUNTIME_INSTR_STOP) && HAVE_DECL_S390_RUNTIME_INSTR_STOP)) +#if defined(S390_RUNTIME_INSTR_STOP) || (defined(HAVE_DECL_S390_RUNTIME_INSTR_STOP) && HAVE_DECL_S390_RUNTIME_INSTR_STOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((S390_RUNTIME_INSTR_STOP) == (0x2), "S390_RUNTIME_INSTR_STOP != 0x2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define S390_RUNTIME_INSTR_STOP 0x2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat s390_runtime_instr_commands in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat s390_runtime_instr_commands in mpers mode + +# else static const struct xlat s390_runtime_instr_commands[] = { @@ -19,4 +33,6 @@ const struct xlat s390_runtime_instr_commands[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/s390_sthyi_function_codes.h b/xlat/s390_sthyi_function_codes.h index d82b93c2..df04b309 100644 --- a/xlat/s390_sthyi_function_codes.h +++ b/xlat/s390_sthyi_function_codes.h @@ -1,13 +1,23 @@ /* Generated by ./xlat/gen.sh from ./xlat/s390_sthyi_function_codes.in; do not edit. */ -#if !(defined(STHYI_FC_CP_IFL_CAP) || (defined(HAVE_DECL_STHYI_FC_CP_IFL_CAP) && HAVE_DECL_STHYI_FC_CP_IFL_CAP)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(STHYI_FC_CP_IFL_CAP) || (defined(HAVE_DECL_STHYI_FC_CP_IFL_CAP) && HAVE_DECL_STHYI_FC_CP_IFL_CAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STHYI_FC_CP_IFL_CAP) == (0), "STHYI_FC_CP_IFL_CAP != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STHYI_FC_CP_IFL_CAP 0 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat s390_sthyi_function_codes in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat s390_sthyi_function_codes in mpers mode + +# else static const struct xlat s390_sthyi_function_codes[] = { @@ -15,4 +25,6 @@ const struct xlat s390_sthyi_function_codes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sa_handler_values.h b/xlat/sa_handler_values.h index 3d7da047..796e4b75 100644 --- a/xlat/sa_handler_values.h +++ b/xlat/sa_handler_values.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sa_handler_values.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sa_handler_values in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sa_handler_values in mpers mode + +# else static const struct xlat sa_handler_values[] = { @@ -20,4 +26,6 @@ const struct xlat sa_handler_values[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sched_flags.h b/xlat/sched_flags.h index d087e15d..759994f1 100644 --- a/xlat/sched_flags.h +++ b/xlat/sched_flags.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/sched_flags.in; do not edit. */ -#if !(defined(SCHED_FLAG_RESET_ON_FORK) || (defined(HAVE_DECL_SCHED_FLAG_RESET_ON_FORK) && HAVE_DECL_SCHED_FLAG_RESET_ON_FORK)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SCHED_FLAG_RESET_ON_FORK) || (defined(HAVE_DECL_SCHED_FLAG_RESET_ON_FORK) && HAVE_DECL_SCHED_FLAG_RESET_ON_FORK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCHED_FLAG_RESET_ON_FORK) == (1), "SCHED_FLAG_RESET_ON_FORK != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SCHED_FLAG_RESET_ON_FORK 1 #endif -#if !(defined(SCHED_FLAG_RECLAIM) || (defined(HAVE_DECL_SCHED_FLAG_RECLAIM) && HAVE_DECL_SCHED_FLAG_RECLAIM)) +#if defined(SCHED_FLAG_RECLAIM) || (defined(HAVE_DECL_SCHED_FLAG_RECLAIM) && HAVE_DECL_SCHED_FLAG_RECLAIM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCHED_FLAG_RECLAIM) == (2), "SCHED_FLAG_RECLAIM != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(SCHED_FLAG_DL_OVERRUN) || (defined(HAVE_DECL_SCHED_FLAG_DL_OVERRUN) && HAVE_DECL_SCHED_FLAG_DL_OVERRUN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCHED_FLAG_DL_OVERRUN) == (4), "SCHED_FLAG_DL_OVERRUN != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SCHED_FLAG_DL_OVERRUN 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat sched_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat sched_flags in mpers mode + +# else static const struct xlat sched_flags[] = { @@ -23,4 +41,6 @@ const struct xlat sched_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/schedulers.h b/xlat/schedulers.h index 099db27d..2ce324f9 100644 --- a/xlat/schedulers.h +++ b/xlat/schedulers.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/schedulers.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat schedulers in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat schedulers in mpers mode + +# else static const struct xlat schedulers[] = { @@ -32,4 +38,6 @@ const struct xlat schedulers[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/scmvals.h b/xlat/scmvals.h index da66af7e..ed142cb5 100644 --- a/xlat/scmvals.h +++ b/xlat/scmvals.h @@ -1,11 +1,27 @@ /* Generated by ./xlat/gen.sh from ./xlat/scmvals.in; do not edit. */ -#if !(defined(SCM_RIGHTS) || (defined(HAVE_DECL_SCM_RIGHTS) && HAVE_DECL_SCM_RIGHTS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SCM_RIGHTS) || (defined(HAVE_DECL_SCM_RIGHTS) && HAVE_DECL_SCM_RIGHTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCM_RIGHTS) == (1), "SCM_RIGHTS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SCM_RIGHTS 1 #endif -#if !(defined(SCM_CREDENTIALS) || (defined(HAVE_DECL_SCM_CREDENTIALS) && HAVE_DECL_SCM_CREDENTIALS)) +#if defined(SCM_CREDENTIALS) || (defined(HAVE_DECL_SCM_CREDENTIALS) && HAVE_DECL_SCM_CREDENTIALS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCM_CREDENTIALS) == (2), "SCM_CREDENTIALS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SCM_CREDENTIALS 2 #endif -#if !(defined(SCM_SECURITY) || (defined(HAVE_DECL_SCM_SECURITY) && HAVE_DECL_SCM_SECURITY)) +#if defined(SCM_SECURITY) || (defined(HAVE_DECL_SCM_SECURITY) && HAVE_DECL_SCM_SECURITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCM_SECURITY) == (3), "SCM_SECURITY != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SCM_SECURITY 3 #endif #ifndef SCM_TIMESTAMP @@ -63,11 +79,13 @@ # endif #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat scmvals in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat scmvals in mpers mode + +# else static const struct xlat scmvals[] = { @@ -155,4 +173,6 @@ const struct xlat scmvals[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/scsi_sg_commands.h b/xlat/scsi_sg_commands.h index 6ccafbc7..b274b225 100644 --- a/xlat/scsi_sg_commands.h +++ b/xlat/scsi_sg_commands.h @@ -1,76 +1,180 @@ /* Generated by ./xlat/gen.sh from ./xlat/scsi_sg_commands.in; do not edit. */ -#if !(defined(SG_SET_TIMEOUT) || (defined(HAVE_DECL_SG_SET_TIMEOUT) && HAVE_DECL_SG_SET_TIMEOUT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SG_SET_TIMEOUT) || (defined(HAVE_DECL_SG_SET_TIMEOUT) && HAVE_DECL_SG_SET_TIMEOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SET_TIMEOUT) == (0x2201), "SG_SET_TIMEOUT != 0x2201"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SET_TIMEOUT 0x2201 #endif -#if !(defined(SG_GET_TIMEOUT) || (defined(HAVE_DECL_SG_GET_TIMEOUT) && HAVE_DECL_SG_GET_TIMEOUT)) +#if defined(SG_GET_TIMEOUT) || (defined(HAVE_DECL_SG_GET_TIMEOUT) && HAVE_DECL_SG_GET_TIMEOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_TIMEOUT) == (0x2202), "SG_GET_TIMEOUT != 0x2202"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_TIMEOUT 0x2202 #endif -#if !(defined(SG_EMULATED_HOST) || (defined(HAVE_DECL_SG_EMULATED_HOST) && HAVE_DECL_SG_EMULATED_HOST)) +#if defined(SG_EMULATED_HOST) || (defined(HAVE_DECL_SG_EMULATED_HOST) && HAVE_DECL_SG_EMULATED_HOST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_EMULATED_HOST) == (0x2203), "SG_EMULATED_HOST != 0x2203"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_EMULATED_HOST 0x2203 #endif -#if !(defined(SG_SET_TRANSFORM) || (defined(HAVE_DECL_SG_SET_TRANSFORM) && HAVE_DECL_SG_SET_TRANSFORM)) +#if defined(SG_SET_TRANSFORM) || (defined(HAVE_DECL_SG_SET_TRANSFORM) && HAVE_DECL_SG_SET_TRANSFORM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SET_TRANSFORM) == (0x2204), "SG_SET_TRANSFORM != 0x2204"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SET_TRANSFORM 0x2204 #endif -#if !(defined(SG_GET_TRANSFORM) || (defined(HAVE_DECL_SG_GET_TRANSFORM) && HAVE_DECL_SG_GET_TRANSFORM)) +#if defined(SG_GET_TRANSFORM) || (defined(HAVE_DECL_SG_GET_TRANSFORM) && HAVE_DECL_SG_GET_TRANSFORM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_TRANSFORM) == (0x2205), "SG_GET_TRANSFORM != 0x2205"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_TRANSFORM 0x2205 #endif -#if !(defined(SG_GET_COMMAND_Q) || (defined(HAVE_DECL_SG_GET_COMMAND_Q) && HAVE_DECL_SG_GET_COMMAND_Q)) +#if defined(SG_GET_COMMAND_Q) || (defined(HAVE_DECL_SG_GET_COMMAND_Q) && HAVE_DECL_SG_GET_COMMAND_Q) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_COMMAND_Q) == (0x2270), "SG_GET_COMMAND_Q != 0x2270"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_COMMAND_Q 0x2270 #endif -#if !(defined(SG_SET_COMMAND_Q) || (defined(HAVE_DECL_SG_SET_COMMAND_Q) && HAVE_DECL_SG_SET_COMMAND_Q)) +#if defined(SG_SET_COMMAND_Q) || (defined(HAVE_DECL_SG_SET_COMMAND_Q) && HAVE_DECL_SG_SET_COMMAND_Q) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SET_COMMAND_Q) == (0x2271), "SG_SET_COMMAND_Q != 0x2271"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SET_COMMAND_Q 0x2271 #endif -#if !(defined(SG_GET_RESERVED_SIZE) || (defined(HAVE_DECL_SG_GET_RESERVED_SIZE) && HAVE_DECL_SG_GET_RESERVED_SIZE)) +#if defined(SG_GET_RESERVED_SIZE) || (defined(HAVE_DECL_SG_GET_RESERVED_SIZE) && HAVE_DECL_SG_GET_RESERVED_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_RESERVED_SIZE) == (0x2272), "SG_GET_RESERVED_SIZE != 0x2272"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_RESERVED_SIZE 0x2272 #endif -#if !(defined(SG_SET_RESERVED_SIZE) || (defined(HAVE_DECL_SG_SET_RESERVED_SIZE) && HAVE_DECL_SG_SET_RESERVED_SIZE)) +#if defined(SG_SET_RESERVED_SIZE) || (defined(HAVE_DECL_SG_SET_RESERVED_SIZE) && HAVE_DECL_SG_SET_RESERVED_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SET_RESERVED_SIZE) == (0x2275), "SG_SET_RESERVED_SIZE != 0x2275"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SET_RESERVED_SIZE 0x2275 #endif -#if !(defined(SG_GET_SCSI_ID) || (defined(HAVE_DECL_SG_GET_SCSI_ID) && HAVE_DECL_SG_GET_SCSI_ID)) +#if defined(SG_GET_SCSI_ID) || (defined(HAVE_DECL_SG_GET_SCSI_ID) && HAVE_DECL_SG_GET_SCSI_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_SCSI_ID) == (0x2276), "SG_GET_SCSI_ID != 0x2276"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_SCSI_ID 0x2276 #endif -#if !(defined(SG_SET_FORCE_LOW_DMA) || (defined(HAVE_DECL_SG_SET_FORCE_LOW_DMA) && HAVE_DECL_SG_SET_FORCE_LOW_DMA)) +#if defined(SG_SET_FORCE_LOW_DMA) || (defined(HAVE_DECL_SG_SET_FORCE_LOW_DMA) && HAVE_DECL_SG_SET_FORCE_LOW_DMA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SET_FORCE_LOW_DMA) == (0x2279), "SG_SET_FORCE_LOW_DMA != 0x2279"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SET_FORCE_LOW_DMA 0x2279 #endif -#if !(defined(SG_GET_LOW_DMA) || (defined(HAVE_DECL_SG_GET_LOW_DMA) && HAVE_DECL_SG_GET_LOW_DMA)) +#if defined(SG_GET_LOW_DMA) || (defined(HAVE_DECL_SG_GET_LOW_DMA) && HAVE_DECL_SG_GET_LOW_DMA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_LOW_DMA) == (0x227a), "SG_GET_LOW_DMA != 0x227a"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_LOW_DMA 0x227a #endif -#if !(defined(SG_SET_FORCE_PACK_ID) || (defined(HAVE_DECL_SG_SET_FORCE_PACK_ID) && HAVE_DECL_SG_SET_FORCE_PACK_ID)) +#if defined(SG_SET_FORCE_PACK_ID) || (defined(HAVE_DECL_SG_SET_FORCE_PACK_ID) && HAVE_DECL_SG_SET_FORCE_PACK_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SET_FORCE_PACK_ID) == (0x227b), "SG_SET_FORCE_PACK_ID != 0x227b"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SET_FORCE_PACK_ID 0x227b #endif -#if !(defined(SG_GET_PACK_ID) || (defined(HAVE_DECL_SG_GET_PACK_ID) && HAVE_DECL_SG_GET_PACK_ID)) +#if defined(SG_GET_PACK_ID) || (defined(HAVE_DECL_SG_GET_PACK_ID) && HAVE_DECL_SG_GET_PACK_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_PACK_ID) == (0x227c), "SG_GET_PACK_ID != 0x227c"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_PACK_ID 0x227c #endif -#if !(defined(SG_GET_NUM_WAITING) || (defined(HAVE_DECL_SG_GET_NUM_WAITING) && HAVE_DECL_SG_GET_NUM_WAITING)) +#if defined(SG_GET_NUM_WAITING) || (defined(HAVE_DECL_SG_GET_NUM_WAITING) && HAVE_DECL_SG_GET_NUM_WAITING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_NUM_WAITING) == (0x227d), "SG_GET_NUM_WAITING != 0x227d"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_NUM_WAITING 0x227d #endif -#if !(defined(SG_SET_DEBUG) || (defined(HAVE_DECL_SG_SET_DEBUG) && HAVE_DECL_SG_SET_DEBUG)) +#if defined(SG_SET_DEBUG) || (defined(HAVE_DECL_SG_SET_DEBUG) && HAVE_DECL_SG_SET_DEBUG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SET_DEBUG) == (0x227e), "SG_SET_DEBUG != 0x227e"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SET_DEBUG 0x227e #endif -#if !(defined(SG_GET_SG_TABLESIZE) || (defined(HAVE_DECL_SG_GET_SG_TABLESIZE) && HAVE_DECL_SG_GET_SG_TABLESIZE)) +#if defined(SG_GET_SG_TABLESIZE) || (defined(HAVE_DECL_SG_GET_SG_TABLESIZE) && HAVE_DECL_SG_GET_SG_TABLESIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_SG_TABLESIZE) == (0x227F), "SG_GET_SG_TABLESIZE != 0x227F"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_SG_TABLESIZE 0x227F #endif -#if !(defined(SG_GET_VERSION_NUM) || (defined(HAVE_DECL_SG_GET_VERSION_NUM) && HAVE_DECL_SG_GET_VERSION_NUM)) +#if defined(SG_GET_VERSION_NUM) || (defined(HAVE_DECL_SG_GET_VERSION_NUM) && HAVE_DECL_SG_GET_VERSION_NUM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_VERSION_NUM) == (0x2282), "SG_GET_VERSION_NUM != 0x2282"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_VERSION_NUM 0x2282 #endif -#if !(defined(SG_NEXT_CMD_LEN) || (defined(HAVE_DECL_SG_NEXT_CMD_LEN) && HAVE_DECL_SG_NEXT_CMD_LEN)) +#if defined(SG_NEXT_CMD_LEN) || (defined(HAVE_DECL_SG_NEXT_CMD_LEN) && HAVE_DECL_SG_NEXT_CMD_LEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_NEXT_CMD_LEN) == (0x2283), "SG_NEXT_CMD_LEN != 0x2283"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_NEXT_CMD_LEN 0x2283 #endif -#if !(defined(SG_SCSI_RESET) || (defined(HAVE_DECL_SG_SCSI_RESET) && HAVE_DECL_SG_SCSI_RESET)) +#if defined(SG_SCSI_RESET) || (defined(HAVE_DECL_SG_SCSI_RESET) && HAVE_DECL_SG_SCSI_RESET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SCSI_RESET) == (0x2284), "SG_SCSI_RESET != 0x2284"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SCSI_RESET 0x2284 #endif -#if !(defined(SG_IO) || (defined(HAVE_DECL_SG_IO) && HAVE_DECL_SG_IO)) +#if defined(SG_IO) || (defined(HAVE_DECL_SG_IO) && HAVE_DECL_SG_IO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_IO) == (0x2285), "SG_IO != 0x2285"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_IO 0x2285 #endif -#if !(defined(SG_GET_REQUEST_TABLE) || (defined(HAVE_DECL_SG_GET_REQUEST_TABLE) && HAVE_DECL_SG_GET_REQUEST_TABLE)) +#if defined(SG_GET_REQUEST_TABLE) || (defined(HAVE_DECL_SG_GET_REQUEST_TABLE) && HAVE_DECL_SG_GET_REQUEST_TABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_REQUEST_TABLE) == (0x2286), "SG_GET_REQUEST_TABLE != 0x2286"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_REQUEST_TABLE 0x2286 #endif -#if !(defined(SG_SET_KEEP_ORPHAN) || (defined(HAVE_DECL_SG_SET_KEEP_ORPHAN) && HAVE_DECL_SG_SET_KEEP_ORPHAN)) +#if defined(SG_SET_KEEP_ORPHAN) || (defined(HAVE_DECL_SG_SET_KEEP_ORPHAN) && HAVE_DECL_SG_SET_KEEP_ORPHAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SET_KEEP_ORPHAN) == (0x2287), "SG_SET_KEEP_ORPHAN != 0x2287"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SET_KEEP_ORPHAN 0x2287 #endif -#if !(defined(SG_GET_KEEP_ORPHAN) || (defined(HAVE_DECL_SG_GET_KEEP_ORPHAN) && HAVE_DECL_SG_GET_KEEP_ORPHAN)) +#if defined(SG_GET_KEEP_ORPHAN) || (defined(HAVE_DECL_SG_GET_KEEP_ORPHAN) && HAVE_DECL_SG_GET_KEEP_ORPHAN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_KEEP_ORPHAN) == (0x2288), "SG_GET_KEEP_ORPHAN != 0x2288"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_KEEP_ORPHAN 0x2288 #endif -#if !(defined(SG_GET_ACCESS_COUNT) || (defined(HAVE_DECL_SG_GET_ACCESS_COUNT) && HAVE_DECL_SG_GET_ACCESS_COUNT)) +#if defined(SG_GET_ACCESS_COUNT) || (defined(HAVE_DECL_SG_GET_ACCESS_COUNT) && HAVE_DECL_SG_GET_ACCESS_COUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_GET_ACCESS_COUNT) == (0x2289), "SG_GET_ACCESS_COUNT != 0x2289"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_GET_ACCESS_COUNT 0x2289 #endif diff --git a/xlat/secbits.h b/xlat/secbits.h index d616e1f5..50589302 100644 --- a/xlat/secbits.h +++ b/xlat/secbits.h @@ -1,34 +1,72 @@ /* Generated by ./xlat/gen.sh from ./xlat/secbits.in; do not edit. */ -#if !(defined(SECBIT_NOROOT) || (defined(HAVE_DECL_SECBIT_NOROOT) && HAVE_DECL_SECBIT_NOROOT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SECBIT_NOROOT) || (defined(HAVE_DECL_SECBIT_NOROOT) && HAVE_DECL_SECBIT_NOROOT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECBIT_NOROOT) == ((1 << 0)), "SECBIT_NOROOT != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECBIT_NOROOT (1 << 0) #endif -#if !(defined(SECBIT_NOROOT_LOCKED) || (defined(HAVE_DECL_SECBIT_NOROOT_LOCKED) && HAVE_DECL_SECBIT_NOROOT_LOCKED)) +#if defined(SECBIT_NOROOT_LOCKED) || (defined(HAVE_DECL_SECBIT_NOROOT_LOCKED) && HAVE_DECL_SECBIT_NOROOT_LOCKED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECBIT_NOROOT_LOCKED) == ((1 << 1)), "SECBIT_NOROOT_LOCKED != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECBIT_NOROOT_LOCKED (1 << 1) #endif -#if !(defined(SECBIT_NO_SETUID_FIXUP) || (defined(HAVE_DECL_SECBIT_NO_SETUID_FIXUP) && HAVE_DECL_SECBIT_NO_SETUID_FIXUP)) +#if defined(SECBIT_NO_SETUID_FIXUP) || (defined(HAVE_DECL_SECBIT_NO_SETUID_FIXUP) && HAVE_DECL_SECBIT_NO_SETUID_FIXUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECBIT_NO_SETUID_FIXUP) == ((1 << 2)), "SECBIT_NO_SETUID_FIXUP != (1 << 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECBIT_NO_SETUID_FIXUP (1 << 2) #endif -#if !(defined(SECBIT_NO_SETUID_FIXUP_LOCKED) || (defined(HAVE_DECL_SECBIT_NO_SETUID_FIXUP_LOCKED) && HAVE_DECL_SECBIT_NO_SETUID_FIXUP_LOCKED)) +#if defined(SECBIT_NO_SETUID_FIXUP_LOCKED) || (defined(HAVE_DECL_SECBIT_NO_SETUID_FIXUP_LOCKED) && HAVE_DECL_SECBIT_NO_SETUID_FIXUP_LOCKED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECBIT_NO_SETUID_FIXUP_LOCKED) == ((1 << 3)), "SECBIT_NO_SETUID_FIXUP_LOCKED != (1 << 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECBIT_NO_SETUID_FIXUP_LOCKED (1 << 3) #endif -#if !(defined(SECBIT_KEEP_CAPS) || (defined(HAVE_DECL_SECBIT_KEEP_CAPS) && HAVE_DECL_SECBIT_KEEP_CAPS)) +#if defined(SECBIT_KEEP_CAPS) || (defined(HAVE_DECL_SECBIT_KEEP_CAPS) && HAVE_DECL_SECBIT_KEEP_CAPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECBIT_KEEP_CAPS) == ((1 << 4)), "SECBIT_KEEP_CAPS != (1 << 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECBIT_KEEP_CAPS (1 << 4) #endif -#if !(defined(SECBIT_KEEP_CAPS_LOCKED) || (defined(HAVE_DECL_SECBIT_KEEP_CAPS_LOCKED) && HAVE_DECL_SECBIT_KEEP_CAPS_LOCKED)) +#if defined(SECBIT_KEEP_CAPS_LOCKED) || (defined(HAVE_DECL_SECBIT_KEEP_CAPS_LOCKED) && HAVE_DECL_SECBIT_KEEP_CAPS_LOCKED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECBIT_KEEP_CAPS_LOCKED) == ((1 << 5)), "SECBIT_KEEP_CAPS_LOCKED != (1 << 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECBIT_KEEP_CAPS_LOCKED (1 << 5) #endif -#if !(defined(SECBIT_NO_CAP_AMBIENT_RAISE) || (defined(HAVE_DECL_SECBIT_NO_CAP_AMBIENT_RAISE) && HAVE_DECL_SECBIT_NO_CAP_AMBIENT_RAISE)) +#if defined(SECBIT_NO_CAP_AMBIENT_RAISE) || (defined(HAVE_DECL_SECBIT_NO_CAP_AMBIENT_RAISE) && HAVE_DECL_SECBIT_NO_CAP_AMBIENT_RAISE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECBIT_NO_CAP_AMBIENT_RAISE) == ((1 << 6)), "SECBIT_NO_CAP_AMBIENT_RAISE != (1 << 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECBIT_NO_CAP_AMBIENT_RAISE (1 << 6) #endif -#if !(defined(SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED) || (defined(HAVE_DECL_SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED) && HAVE_DECL_SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED)) +#if defined(SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED) || (defined(HAVE_DECL_SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED) && HAVE_DECL_SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED) == ((1 << 7)), "SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED != (1 << 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED (1 << 7) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat secbits in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat secbits in mpers mode + +# else static const struct xlat secbits[] = { @@ -43,4 +81,6 @@ const struct xlat secbits[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/seccomp_filter_flags.h b/xlat/seccomp_filter_flags.h index e9801d71..c670e60f 100644 --- a/xlat/seccomp_filter_flags.h +++ b/xlat/seccomp_filter_flags.h @@ -1,17 +1,41 @@ /* Generated by ./xlat/gen.sh from ./xlat/seccomp_filter_flags.in; do not edit. */ -#if !(defined(SECCOMP_FILTER_FLAG_TSYNC) || (defined(HAVE_DECL_SECCOMP_FILTER_FLAG_TSYNC) && HAVE_DECL_SECCOMP_FILTER_FLAG_TSYNC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SECCOMP_FILTER_FLAG_TSYNC) || (defined(HAVE_DECL_SECCOMP_FILTER_FLAG_TSYNC) && HAVE_DECL_SECCOMP_FILTER_FLAG_TSYNC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_FILTER_FLAG_TSYNC) == (1), "SECCOMP_FILTER_FLAG_TSYNC != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_FILTER_FLAG_TSYNC 1 #endif -#if !(defined(SECCOMP_FILTER_FLAG_LOG) || (defined(HAVE_DECL_SECCOMP_FILTER_FLAG_LOG) && HAVE_DECL_SECCOMP_FILTER_FLAG_LOG)) +#if defined(SECCOMP_FILTER_FLAG_LOG) || (defined(HAVE_DECL_SECCOMP_FILTER_FLAG_LOG) && HAVE_DECL_SECCOMP_FILTER_FLAG_LOG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_FILTER_FLAG_LOG) == (2), "SECCOMP_FILTER_FLAG_LOG != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_FILTER_FLAG_LOG 2 #endif +#if defined(SECCOMP_FILTER_FLAG_SPEC_ALLOW) || (defined(HAVE_DECL_SECCOMP_FILTER_FLAG_SPEC_ALLOW) && HAVE_DECL_SECCOMP_FILTER_FLAG_SPEC_ALLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_FILTER_FLAG_SPEC_ALLOW) == (4), "SECCOMP_FILTER_FLAG_SPEC_ALLOW != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SECCOMP_FILTER_FLAG_SPEC_ALLOW 4 +#endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat seccomp_filter_flags[] = { XLAT(SECCOMP_FILTER_FLAG_TSYNC), XLAT(SECCOMP_FILTER_FLAG_LOG), + XLAT(SECCOMP_FILTER_FLAG_SPEC_ALLOW), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/seccomp_filter_flags.in b/xlat/seccomp_filter_flags.in index 439f3813..be2dab87 100644 --- a/xlat/seccomp_filter_flags.in +++ b/xlat/seccomp_filter_flags.in @@ -1,2 +1,3 @@ SECCOMP_FILTER_FLAG_TSYNC 1 SECCOMP_FILTER_FLAG_LOG 2 +SECCOMP_FILTER_FLAG_SPEC_ALLOW 4 diff --git a/xlat/seccomp_mode.h b/xlat/seccomp_mode.h index 842dd444..bb5200f1 100644 --- a/xlat/seccomp_mode.h +++ b/xlat/seccomp_mode.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/seccomp_mode.in; do not edit. */ -#if !(defined(SECCOMP_MODE_DISABLED) || (defined(HAVE_DECL_SECCOMP_MODE_DISABLED) && HAVE_DECL_SECCOMP_MODE_DISABLED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SECCOMP_MODE_DISABLED) || (defined(HAVE_DECL_SECCOMP_MODE_DISABLED) && HAVE_DECL_SECCOMP_MODE_DISABLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_MODE_DISABLED) == (0), "SECCOMP_MODE_DISABLED != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_MODE_DISABLED 0 #endif -#if !(defined(SECCOMP_MODE_STRICT) || (defined(HAVE_DECL_SECCOMP_MODE_STRICT) && HAVE_DECL_SECCOMP_MODE_STRICT)) +#if defined(SECCOMP_MODE_STRICT) || (defined(HAVE_DECL_SECCOMP_MODE_STRICT) && HAVE_DECL_SECCOMP_MODE_STRICT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_MODE_STRICT) == (1), "SECCOMP_MODE_STRICT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_MODE_STRICT 1 #endif -#if !(defined(SECCOMP_MODE_FILTER) || (defined(HAVE_DECL_SECCOMP_MODE_FILTER) && HAVE_DECL_SECCOMP_MODE_FILTER)) +#if defined(SECCOMP_MODE_FILTER) || (defined(HAVE_DECL_SECCOMP_MODE_FILTER) && HAVE_DECL_SECCOMP_MODE_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_MODE_FILTER) == (2), "SECCOMP_MODE_FILTER != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_MODE_FILTER 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat seccomp_mode in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat seccomp_mode in mpers mode + +# else static const struct xlat seccomp_mode[] = { @@ -23,4 +41,6 @@ const struct xlat seccomp_mode[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/seccomp_ops.h b/xlat/seccomp_ops.h index b6f0e2a3..67e62c24 100644 --- a/xlat/seccomp_ops.h +++ b/xlat/seccomp_ops.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/seccomp_ops.in; do not edit. */ -#if !(defined(SECCOMP_SET_MODE_STRICT) || (defined(HAVE_DECL_SECCOMP_SET_MODE_STRICT) && HAVE_DECL_SECCOMP_SET_MODE_STRICT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SECCOMP_SET_MODE_STRICT) || (defined(HAVE_DECL_SECCOMP_SET_MODE_STRICT) && HAVE_DECL_SECCOMP_SET_MODE_STRICT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_SET_MODE_STRICT) == (0), "SECCOMP_SET_MODE_STRICT != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_SET_MODE_STRICT 0 #endif -#if !(defined(SECCOMP_SET_MODE_FILTER) || (defined(HAVE_DECL_SECCOMP_SET_MODE_FILTER) && HAVE_DECL_SECCOMP_SET_MODE_FILTER)) +#if defined(SECCOMP_SET_MODE_FILTER) || (defined(HAVE_DECL_SECCOMP_SET_MODE_FILTER) && HAVE_DECL_SECCOMP_SET_MODE_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_SET_MODE_FILTER) == (1), "SECCOMP_SET_MODE_FILTER != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_SET_MODE_FILTER 1 #endif -#if !(defined(SECCOMP_GET_ACTION_AVAIL) || (defined(HAVE_DECL_SECCOMP_GET_ACTION_AVAIL) && HAVE_DECL_SECCOMP_GET_ACTION_AVAIL)) +#if defined(SECCOMP_GET_ACTION_AVAIL) || (defined(HAVE_DECL_SECCOMP_GET_ACTION_AVAIL) && HAVE_DECL_SECCOMP_GET_ACTION_AVAIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_GET_ACTION_AVAIL) == (2), "SECCOMP_GET_ACTION_AVAIL != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_GET_ACTION_AVAIL 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat seccomp_ops in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat seccomp_ops in mpers mode + +# else static const struct xlat seccomp_ops[] = { @@ -23,4 +41,6 @@ const struct xlat seccomp_ops[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/seccomp_ret_action.h b/xlat/seccomp_ret_action.h index 79376411..21a14cd5 100644 --- a/xlat/seccomp_ret_action.h +++ b/xlat/seccomp_ret_action.h @@ -1,27 +1,61 @@ /* Generated by ./xlat/gen.sh from ./xlat/seccomp_ret_action.in; do not edit. */ -#if !(defined(SECCOMP_RET_KILL_PROCESS) || (defined(HAVE_DECL_SECCOMP_RET_KILL_PROCESS) && HAVE_DECL_SECCOMP_RET_KILL_PROCESS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SECCOMP_RET_KILL_PROCESS) || (defined(HAVE_DECL_SECCOMP_RET_KILL_PROCESS) && HAVE_DECL_SECCOMP_RET_KILL_PROCESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_RET_KILL_PROCESS) == (0x80000000U), "SECCOMP_RET_KILL_PROCESS != 0x80000000U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_RET_KILL_PROCESS 0x80000000U #endif -#if !(defined(SECCOMP_RET_KILL_THREAD) || (defined(HAVE_DECL_SECCOMP_RET_KILL_THREAD) && HAVE_DECL_SECCOMP_RET_KILL_THREAD)) +#if defined(SECCOMP_RET_KILL_THREAD) || (defined(HAVE_DECL_SECCOMP_RET_KILL_THREAD) && HAVE_DECL_SECCOMP_RET_KILL_THREAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_RET_KILL_THREAD) == (0), "SECCOMP_RET_KILL_THREAD != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_RET_KILL_THREAD 0 #endif -#if !(defined(SECCOMP_RET_TRAP) || (defined(HAVE_DECL_SECCOMP_RET_TRAP) && HAVE_DECL_SECCOMP_RET_TRAP)) +#if defined(SECCOMP_RET_TRAP) || (defined(HAVE_DECL_SECCOMP_RET_TRAP) && HAVE_DECL_SECCOMP_RET_TRAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_RET_TRAP) == (0x00030000U), "SECCOMP_RET_TRAP != 0x00030000U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_RET_TRAP 0x00030000U #endif -#if !(defined(SECCOMP_RET_ERRNO) || (defined(HAVE_DECL_SECCOMP_RET_ERRNO) && HAVE_DECL_SECCOMP_RET_ERRNO)) +#if defined(SECCOMP_RET_ERRNO) || (defined(HAVE_DECL_SECCOMP_RET_ERRNO) && HAVE_DECL_SECCOMP_RET_ERRNO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_RET_ERRNO) == (0x00050000U), "SECCOMP_RET_ERRNO != 0x00050000U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_RET_ERRNO 0x00050000U #endif -#if !(defined(SECCOMP_RET_TRACE) || (defined(HAVE_DECL_SECCOMP_RET_TRACE) && HAVE_DECL_SECCOMP_RET_TRACE)) +#if defined(SECCOMP_RET_TRACE) || (defined(HAVE_DECL_SECCOMP_RET_TRACE) && HAVE_DECL_SECCOMP_RET_TRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_RET_TRACE) == (0x7ff00000U), "SECCOMP_RET_TRACE != 0x7ff00000U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_RET_TRACE 0x7ff00000U #endif -#if !(defined(SECCOMP_RET_LOG) || (defined(HAVE_DECL_SECCOMP_RET_LOG) && HAVE_DECL_SECCOMP_RET_LOG)) +#if defined(SECCOMP_RET_LOG) || (defined(HAVE_DECL_SECCOMP_RET_LOG) && HAVE_DECL_SECCOMP_RET_LOG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_RET_LOG) == (0x7ffc0000U), "SECCOMP_RET_LOG != 0x7ffc0000U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_RET_LOG 0x7ffc0000U #endif -#if !(defined(SECCOMP_RET_ALLOW) || (defined(HAVE_DECL_SECCOMP_RET_ALLOW) && HAVE_DECL_SECCOMP_RET_ALLOW)) +#if defined(SECCOMP_RET_ALLOW) || (defined(HAVE_DECL_SECCOMP_RET_ALLOW) && HAVE_DECL_SECCOMP_RET_ALLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SECCOMP_RET_ALLOW) == (0x7fff0000U), "SECCOMP_RET_ALLOW != 0x7fff0000U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SECCOMP_RET_ALLOW 0x7fff0000U #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat seccomp_ret_action[] = { XLAT(SECCOMP_RET_KILL_PROCESS), @@ -34,4 +68,6 @@ const struct xlat seccomp_ret_action[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/semctl_flags.h b/xlat/semctl_flags.h index b8e0c629..ffb88de5 100644 --- a/xlat/semctl_flags.h +++ b/xlat/semctl_flags.h @@ -1,55 +1,135 @@ /* Generated by ./xlat/gen.sh from ./xlat/semctl_flags.in; do not edit. */ -#if !(defined(SEM_STAT) || (defined(HAVE_DECL_SEM_STAT) && HAVE_DECL_SEM_STAT)) -# define SEM_STAT 18 -#endif -#if !(defined(SEM_INFO) || (defined(HAVE_DECL_SEM_INFO) && HAVE_DECL_SEM_INFO)) -# define SEM_INFO 19 -#endif - -#ifdef IN_MPERS -# error static const struct xlat semctl_flags in mpers mode +#include "gcc_compat.h" +#include "static_assert.h" -#else - -static -const struct xlat semctl_flags[] = { #if defined(IPC_RMID) || (defined(HAVE_DECL_IPC_RMID) && HAVE_DECL_IPC_RMID) - XLAT(IPC_RMID), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_RMID) == (0), "IPC_RMID != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_RMID 0 #endif #if defined(IPC_SET) || (defined(HAVE_DECL_IPC_SET) && HAVE_DECL_IPC_SET) - XLAT(IPC_SET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_SET) == (1), "IPC_SET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_SET 1 #endif #if defined(IPC_STAT) || (defined(HAVE_DECL_IPC_STAT) && HAVE_DECL_IPC_STAT) - XLAT(IPC_STAT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_STAT) == (2), "IPC_STAT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_STAT 2 #endif #if defined(IPC_INFO) || (defined(HAVE_DECL_IPC_INFO) && HAVE_DECL_IPC_INFO) - XLAT(IPC_INFO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_INFO) == (3), "IPC_INFO != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_INFO 3 #endif - XLAT(SEM_STAT), - XLAT(SEM_INFO), #if defined(GETPID) || (defined(HAVE_DECL_GETPID) && HAVE_DECL_GETPID) - XLAT(GETPID), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GETPID) == (11), "GETPID != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define GETPID 11 #endif #if defined(GETVAL) || (defined(HAVE_DECL_GETVAL) && HAVE_DECL_GETVAL) - XLAT(GETVAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GETVAL) == (12), "GETVAL != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define GETVAL 12 #endif #if defined(GETALL) || (defined(HAVE_DECL_GETALL) && HAVE_DECL_GETALL) - XLAT(GETALL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GETALL) == (13), "GETALL != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define GETALL 13 #endif #if defined(GETNCNT) || (defined(HAVE_DECL_GETNCNT) && HAVE_DECL_GETNCNT) - XLAT(GETNCNT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GETNCNT) == (14), "GETNCNT != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define GETNCNT 14 #endif #if defined(GETZCNT) || (defined(HAVE_DECL_GETZCNT) && HAVE_DECL_GETZCNT) - XLAT(GETZCNT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((GETZCNT) == (15), "GETZCNT != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define GETZCNT 15 #endif #if defined(SETVAL) || (defined(HAVE_DECL_SETVAL) && HAVE_DECL_SETVAL) - XLAT(SETVAL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SETVAL) == (16), "SETVAL != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SETVAL 16 #endif #if defined(SETALL) || (defined(HAVE_DECL_SETALL) && HAVE_DECL_SETALL) - XLAT(SETALL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SETALL) == (17), "SETALL != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SETALL 17 +#endif +#if defined(SEM_STAT) || (defined(HAVE_DECL_SEM_STAT) && HAVE_DECL_SEM_STAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEM_STAT) == (18), "SEM_STAT != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SEM_STAT 18 +#endif +#if defined(SEM_INFO) || (defined(HAVE_DECL_SEM_INFO) && HAVE_DECL_SEM_INFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEM_INFO) == (19), "SEM_INFO != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SEM_INFO 19 #endif +#if defined(SEM_STAT_ANY) || (defined(HAVE_DECL_SEM_STAT_ANY) && HAVE_DECL_SEM_STAT_ANY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEM_STAT_ANY) == (20), "SEM_STAT_ANY != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SEM_STAT_ANY 20 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat semctl_flags in mpers mode + +# else + +static +const struct xlat semctl_flags[] = { + + XLAT(IPC_RMID), + XLAT(IPC_SET), + XLAT(IPC_STAT), + XLAT(IPC_INFO), + XLAT(GETPID), + XLAT(GETVAL), + XLAT(GETALL), + XLAT(GETNCNT), + XLAT(GETZCNT), + XLAT(SETVAL), + XLAT(SETALL), + XLAT(SEM_STAT), + XLAT(SEM_INFO), + XLAT(SEM_STAT_ANY), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/semctl_flags.in b/xlat/semctl_flags.in index 5638adba..9e8b84b3 100644 --- a/xlat/semctl_flags.in +++ b/xlat/semctl_flags.in @@ -1,13 +1,15 @@ -IPC_RMID -IPC_SET -IPC_STAT -IPC_INFO +/* sort -k2,2g */ +IPC_RMID 0 +IPC_SET 1 +IPC_STAT 2 +IPC_INFO 3 +GETPID 11 +GETVAL 12 +GETALL 13 +GETNCNT 14 +GETZCNT 15 +SETVAL 16 +SETALL 17 SEM_STAT 18 SEM_INFO 19 -GETPID -GETVAL -GETALL -GETNCNT -GETZCNT -SETVAL -SETALL +SEM_STAT_ANY 20 diff --git a/xlat/semop_flags.h b/xlat/semop_flags.h index b5ce4a01..fcd9e117 100644 --- a/xlat/semop_flags.h +++ b/xlat/semop_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/semop_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat semop_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat semop_flags in mpers mode + +# else static const struct xlat semop_flags[] = { @@ -17,4 +23,6 @@ const struct xlat semop_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/setns_types.h b/xlat/setns_types.h index a91171d0..2b5368fc 100644 --- a/xlat/setns_types.h +++ b/xlat/setns_types.h @@ -1,27 +1,61 @@ /* Generated by ./xlat/gen.sh from ./xlat/setns_types.in; do not edit. */ -#if !(defined(CLONE_NEWNS) || (defined(HAVE_DECL_CLONE_NEWNS) && HAVE_DECL_CLONE_NEWNS)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(CLONE_NEWNS) || (defined(HAVE_DECL_CLONE_NEWNS) && HAVE_DECL_CLONE_NEWNS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWNS) == (0x00020000), "CLONE_NEWNS != 0x00020000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWNS 0x00020000 #endif -#if !(defined(CLONE_NEWCGROUP) || (defined(HAVE_DECL_CLONE_NEWCGROUP) && HAVE_DECL_CLONE_NEWCGROUP)) +#if defined(CLONE_NEWCGROUP) || (defined(HAVE_DECL_CLONE_NEWCGROUP) && HAVE_DECL_CLONE_NEWCGROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWCGROUP) == (0x02000000), "CLONE_NEWCGROUP != 0x02000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWCGROUP 0x02000000 #endif -#if !(defined(CLONE_NEWUTS) || (defined(HAVE_DECL_CLONE_NEWUTS) && HAVE_DECL_CLONE_NEWUTS)) +#if defined(CLONE_NEWUTS) || (defined(HAVE_DECL_CLONE_NEWUTS) && HAVE_DECL_CLONE_NEWUTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWUTS) == (0x04000000), "CLONE_NEWUTS != 0x04000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWUTS 0x04000000 #endif -#if !(defined(CLONE_NEWIPC) || (defined(HAVE_DECL_CLONE_NEWIPC) && HAVE_DECL_CLONE_NEWIPC)) +#if defined(CLONE_NEWIPC) || (defined(HAVE_DECL_CLONE_NEWIPC) && HAVE_DECL_CLONE_NEWIPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWIPC) == (0x08000000), "CLONE_NEWIPC != 0x08000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWIPC 0x08000000 #endif -#if !(defined(CLONE_NEWUSER) || (defined(HAVE_DECL_CLONE_NEWUSER) && HAVE_DECL_CLONE_NEWUSER)) +#if defined(CLONE_NEWUSER) || (defined(HAVE_DECL_CLONE_NEWUSER) && HAVE_DECL_CLONE_NEWUSER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWUSER) == (0x10000000), "CLONE_NEWUSER != 0x10000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWUSER 0x10000000 #endif -#if !(defined(CLONE_NEWPID) || (defined(HAVE_DECL_CLONE_NEWPID) && HAVE_DECL_CLONE_NEWPID)) +#if defined(CLONE_NEWPID) || (defined(HAVE_DECL_CLONE_NEWPID) && HAVE_DECL_CLONE_NEWPID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWPID) == (0x20000000), "CLONE_NEWPID != 0x20000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWPID 0x20000000 #endif -#if !(defined(CLONE_NEWNET) || (defined(HAVE_DECL_CLONE_NEWNET) && HAVE_DECL_CLONE_NEWNET)) +#if defined(CLONE_NEWNET) || (defined(HAVE_DECL_CLONE_NEWNET) && HAVE_DECL_CLONE_NEWNET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLONE_NEWNET) == (0x40000000), "CLONE_NEWNET != 0x40000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLONE_NEWNET 0x40000000 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat setns_types[] = { XLAT(0), @@ -35,4 +69,6 @@ const struct xlat setns_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/setsockipoptions.h b/xlat/setsock_ip_options.h similarity index 89% rename from xlat/setsockipoptions.h rename to xlat/setsock_ip_options.h index 34ae307f..c5f8fc59 100644 --- a/xlat/setsockipoptions.h +++ b/xlat/setsock_ip_options.h @@ -1,17 +1,23 @@ -/* Generated by ./xlat/gen.sh from ./xlat/setsockipoptions.in; do not edit. */ +/* Generated by ./xlat/gen.sh from ./xlat/setsock_ip_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat setsockipoptions in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat setsock_ip_options in mpers mode + +# else static -const struct xlat setsockipoptions[] = { +const struct xlat setsock_ip_options[] = { /* * Options specific to setsockopt(SOL_IP). * Common {g,s}etsockopt(SOL_IP) options -* should be in sockipoptions.in instead. +* should be in sock_ip_options.in instead. */ #if defined(ARPT_SO_SET_REPLACE) || (defined(HAVE_DECL_ARPT_SO_SET_REPLACE) && HAVE_DECL_ARPT_SO_SET_REPLACE) @@ -86,4 +92,6 @@ const struct xlat setsockipoptions[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/setsock_ip_options.in b/xlat/setsock_ip_options.in new file mode 100644 index 00000000..c811439f --- /dev/null +++ b/xlat/setsock_ip_options.in @@ -0,0 +1,31 @@ +/* + * Options specific to setsockopt(SOL_IP). + * Common {g,s}etsockopt(SOL_IP) options + * should be in sock_ip_options.in instead. + */ + +ARPT_SO_SET_REPLACE +ARPT_SO_SET_ADD_COUNTERS + +EBT_SO_SET_ENTRIES +EBT_SO_SET_COUNTERS + +IP_VS_SO_SET_NONE +IP_VS_SO_SET_INSERT +IP_VS_SO_SET_ADD +IP_VS_SO_SET_EDIT +IP_VS_SO_SET_DEL +IP_VS_SO_SET_FLUSH +IP_VS_SO_SET_LIST +IP_VS_SO_SET_ADDDEST +IP_VS_SO_SET_DELDEST +IP_VS_SO_SET_EDITDEST +IP_VS_SO_SET_TIMEOUT +IP_VS_SO_SET_STARTDAEMON +IP_VS_SO_SET_STOPDAEMON +IP_VS_SO_SET_RESTORE +IP_VS_SO_SET_SAVE +IP_VS_SO_SET_ZERO + +IPT_SO_SET_REPLACE +IPT_SO_SET_ADD_COUNTERS diff --git a/xlat/setsockipv6options.h b/xlat/setsock_ipv6_options.h similarity index 51% rename from xlat/setsockipv6options.h rename to xlat/setsock_ipv6_options.h index 4fea6bc2..8a473e6b 100644 --- a/xlat/setsockipv6options.h +++ b/xlat/setsock_ipv6_options.h @@ -1,17 +1,23 @@ -/* Generated by ./xlat/gen.sh from ./xlat/setsockipv6options.in; do not edit. */ +/* Generated by ./xlat/gen.sh from ./xlat/setsock_ipv6_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat setsockipv6options in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat setsock_ipv6_options in mpers mode + +# else static -const struct xlat setsockipv6options[] = { +const struct xlat setsock_ipv6_options[] = { /* * Options specific to setsockopt(SOL_IPV6). * Common {g,s}etsockopt(SOL_IPV6) options -* should be in sockipv6options.in instead. +* should be in sock_ipv6_options.in instead. */ #if defined(IP6T_SO_SET_REPLACE) || (defined(HAVE_DECL_IP6T_SO_SET_REPLACE) && HAVE_DECL_IP6T_SO_SET_REPLACE) @@ -23,4 +29,6 @@ const struct xlat setsockipv6options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/setsock_ipv6_options.in b/xlat/setsock_ipv6_options.in new file mode 100644 index 00000000..087a176b --- /dev/null +++ b/xlat/setsock_ipv6_options.in @@ -0,0 +1,8 @@ +/* + * Options specific to setsockopt(SOL_IPV6). + * Common {g,s}etsockopt(SOL_IPV6) options + * should be in sock_ipv6_options.in instead. + */ + +IP6T_SO_SET_REPLACE +IP6T_SO_SET_ADD_COUNTERS diff --git a/xlat/setsock_options.h b/xlat/setsock_options.h new file mode 100644 index 00000000..2ee500c9 --- /dev/null +++ b/xlat/setsock_options.h @@ -0,0 +1,44 @@ +/* Generated by ./xlat/gen.sh from ./xlat/setsock_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined __hppa__ +#if defined(SO_ATTACH_FILTER) || (defined(HAVE_DECL_SO_ATTACH_FILTER) && HAVE_DECL_SO_ATTACH_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_FILTER) == (16410), "SO_ATTACH_FILTER != 16410"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_FILTER 16410 +#endif +#else +#if defined(SO_ATTACH_FILTER) || (defined(HAVE_DECL_SO_ATTACH_FILTER) && HAVE_DECL_SO_ATTACH_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_FILTER) == (26), "SO_ATTACH_FILTER != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_FILTER 26 +#endif +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat setsock_options in mpers mode + +# else + +static +const struct xlat setsock_options[] = { +#if defined __hppa__ + XLAT(SO_ATTACH_FILTER), +#else + XLAT(SO_ATTACH_FILTER), +#endif + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/setsock_options.in b/xlat/setsock_options.in new file mode 100644 index 00000000..38f29207 --- /dev/null +++ b/xlat/setsock_options.in @@ -0,0 +1,5 @@ +#if defined __hppa__ +SO_ATTACH_FILTER 16410 +#else +SO_ATTACH_FILTER 26 +#endif diff --git a/xlat/sfd_flags.h b/xlat/sfd_flags.h index 23d08b81..84e29ded 100644 --- a/xlat/sfd_flags.h +++ b/xlat/sfd_flags.h @@ -1,18 +1,32 @@ /* Generated by ./xlat/gen.sh from ./xlat/sfd_flags.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + #if defined SFD_CLOEXEC || defined O_CLOEXEC -#if !(defined(SFD_CLOEXEC) || (defined(HAVE_DECL_SFD_CLOEXEC) && HAVE_DECL_SFD_CLOEXEC)) +#if defined(SFD_CLOEXEC) || (defined(HAVE_DECL_SFD_CLOEXEC) && HAVE_DECL_SFD_CLOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SFD_CLOEXEC) == (O_CLOEXEC), "SFD_CLOEXEC != O_CLOEXEC"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SFD_CLOEXEC O_CLOEXEC #endif #endif -#if !(defined(SFD_NONBLOCK) || (defined(HAVE_DECL_SFD_NONBLOCK) && HAVE_DECL_SFD_NONBLOCK)) +#if defined(SFD_NONBLOCK) || (defined(HAVE_DECL_SFD_NONBLOCK) && HAVE_DECL_SFD_NONBLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SFD_NONBLOCK) == (O_NONBLOCK), "SFD_NONBLOCK != O_NONBLOCK"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SFD_NONBLOCK O_NONBLOCK #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat sfd_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat sfd_flags in mpers mode + +# else static const struct xlat sfd_flags[] = { @@ -23,4 +37,6 @@ const struct xlat sfd_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sg_io_dxfer_direction.h b/xlat/sg_io_dxfer_direction.h index 4923016d..93dda68a 100644 --- a/xlat/sg_io_dxfer_direction.h +++ b/xlat/sg_io_dxfer_direction.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/sg_io_dxfer_direction.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sg_io_dxfer_direction[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sg_io_dxfer_direction[] = { #if defined(SG_DXFER_NONE) || (defined(HAVE_DECL_SG_DXFER_NONE) && HAVE_DECL_SG_DXFER_NONE) XLAT(SG_DXFER_NONE), @@ -25,4 +31,6 @@ const struct xlat sg_io_dxfer_direction[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sg_io_flags.h b/xlat/sg_io_flags.h index 5c25ad7e..9b938e9f 100644 --- a/xlat/sg_io_flags.h +++ b/xlat/sg_io_flags.h @@ -1,32 +1,62 @@ /* Generated by ./xlat/gen.sh from ./xlat/sg_io_flags.in; do not edit. */ -#if !(defined(SG_FLAG_DIRECT_IO) || (defined(HAVE_DECL_SG_FLAG_DIRECT_IO) && HAVE_DECL_SG_FLAG_DIRECT_IO)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SG_FLAG_DIRECT_IO) || (defined(HAVE_DECL_SG_FLAG_DIRECT_IO) && HAVE_DECL_SG_FLAG_DIRECT_IO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_FLAG_DIRECT_IO) == (1), "SG_FLAG_DIRECT_IO != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_FLAG_DIRECT_IO 1 #endif -#if !(defined(SG_FLAG_UNUSED_LUN_INHIBIT) || (defined(HAVE_DECL_SG_FLAG_UNUSED_LUN_INHIBIT) && HAVE_DECL_SG_FLAG_UNUSED_LUN_INHIBIT)) +#if defined(SG_FLAG_UNUSED_LUN_INHIBIT) || (defined(HAVE_DECL_SG_FLAG_UNUSED_LUN_INHIBIT) && HAVE_DECL_SG_FLAG_UNUSED_LUN_INHIBIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_FLAG_UNUSED_LUN_INHIBIT) == (2), "SG_FLAG_UNUSED_LUN_INHIBIT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_FLAG_UNUSED_LUN_INHIBIT 2 #endif -#if !(defined(SG_FLAG_MMAP_IO) || (defined(HAVE_DECL_SG_FLAG_MMAP_IO) && HAVE_DECL_SG_FLAG_MMAP_IO)) +#if defined(SG_FLAG_MMAP_IO) || (defined(HAVE_DECL_SG_FLAG_MMAP_IO) && HAVE_DECL_SG_FLAG_MMAP_IO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_FLAG_MMAP_IO) == (4), "SG_FLAG_MMAP_IO != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_FLAG_MMAP_IO 4 #endif -#if !(defined(SG_FLAG_NO_DXFER) || (defined(HAVE_DECL_SG_FLAG_NO_DXFER) && HAVE_DECL_SG_FLAG_NO_DXFER)) +#if defined(SG_FLAG_NO_DXFER) || (defined(HAVE_DECL_SG_FLAG_NO_DXFER) && HAVE_DECL_SG_FLAG_NO_DXFER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_FLAG_NO_DXFER) == (0x10000), "SG_FLAG_NO_DXFER != 0x10000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_FLAG_NO_DXFER 0x10000 #endif -#if !(defined(SG_FLAG_Q_AT_TAIL) || (defined(HAVE_DECL_SG_FLAG_Q_AT_TAIL) && HAVE_DECL_SG_FLAG_Q_AT_TAIL)) +#if defined(SG_FLAG_Q_AT_TAIL) || (defined(HAVE_DECL_SG_FLAG_Q_AT_TAIL) && HAVE_DECL_SG_FLAG_Q_AT_TAIL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_FLAG_Q_AT_TAIL) == (0x10), "SG_FLAG_Q_AT_TAIL != 0x10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_FLAG_Q_AT_TAIL 0x10 #endif -#if !(defined(SG_FLAG_Q_AT_HEAD) || (defined(HAVE_DECL_SG_FLAG_Q_AT_HEAD) && HAVE_DECL_SG_FLAG_Q_AT_HEAD)) +#if defined(SG_FLAG_Q_AT_HEAD) || (defined(HAVE_DECL_SG_FLAG_Q_AT_HEAD) && HAVE_DECL_SG_FLAG_Q_AT_HEAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_FLAG_Q_AT_HEAD) == (0x20), "SG_FLAG_Q_AT_HEAD != 0x20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_FLAG_Q_AT_HEAD 0x20 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sg_io_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sg_io_flags[] = { XLAT(SG_FLAG_DIRECT_IO), XLAT(SG_FLAG_UNUSED_LUN_INHIBIT), @@ -37,4 +67,6 @@ const struct xlat sg_io_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sg_io_info.h b/xlat/sg_io_info.h index 49929be4..af88616d 100644 --- a/xlat/sg_io_info.h +++ b/xlat/sg_io_info.h @@ -1,15 +1,33 @@ /* Generated by ./xlat/gen.sh from ./xlat/sg_io_info.in; do not edit. */ -#if !(defined(SG_INFO_CHECK) || (defined(HAVE_DECL_SG_INFO_CHECK) && HAVE_DECL_SG_INFO_CHECK)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SG_INFO_CHECK) || (defined(HAVE_DECL_SG_INFO_CHECK) && HAVE_DECL_SG_INFO_CHECK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_INFO_CHECK) == (1), "SG_INFO_CHECK != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_INFO_CHECK 1 #endif -#if !(defined(SG_INFO_DIRECT_IO) || (defined(HAVE_DECL_SG_INFO_DIRECT_IO) && HAVE_DECL_SG_INFO_DIRECT_IO)) +#if defined(SG_INFO_DIRECT_IO) || (defined(HAVE_DECL_SG_INFO_DIRECT_IO) && HAVE_DECL_SG_INFO_DIRECT_IO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_INFO_DIRECT_IO) == (2), "SG_INFO_DIRECT_IO != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_INFO_DIRECT_IO 2 #endif -#if !(defined(SG_INFO_MIXED_IO) || (defined(HAVE_DECL_SG_INFO_MIXED_IO) && HAVE_DECL_SG_INFO_MIXED_IO)) +#if defined(SG_INFO_MIXED_IO) || (defined(HAVE_DECL_SG_INFO_MIXED_IO) && HAVE_DECL_SG_INFO_MIXED_IO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_INFO_MIXED_IO) == (4), "SG_INFO_MIXED_IO != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_INFO_MIXED_IO 4 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat sg_io_info[] = { XLAT(SG_INFO_CHECK), @@ -18,4 +36,6 @@ const struct xlat sg_io_info[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sg_scsi_reset.h b/xlat/sg_scsi_reset.h index b33ed1d6..e261fd53 100644 --- a/xlat/sg_scsi_reset.h +++ b/xlat/sg_scsi_reset.h @@ -1,28 +1,58 @@ /* Generated by ./xlat/gen.sh from ./xlat/sg_scsi_reset.in; do not edit. */ -#if !(defined(SG_SCSI_RESET_NOTHING) || (defined(HAVE_DECL_SG_SCSI_RESET_NOTHING) && HAVE_DECL_SG_SCSI_RESET_NOTHING)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SG_SCSI_RESET_NOTHING) || (defined(HAVE_DECL_SG_SCSI_RESET_NOTHING) && HAVE_DECL_SG_SCSI_RESET_NOTHING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SCSI_RESET_NOTHING) == (0), "SG_SCSI_RESET_NOTHING != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SCSI_RESET_NOTHING 0 #endif -#if !(defined(SG_SCSI_RESET_DEVICE) || (defined(HAVE_DECL_SG_SCSI_RESET_DEVICE) && HAVE_DECL_SG_SCSI_RESET_DEVICE)) +#if defined(SG_SCSI_RESET_DEVICE) || (defined(HAVE_DECL_SG_SCSI_RESET_DEVICE) && HAVE_DECL_SG_SCSI_RESET_DEVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SCSI_RESET_DEVICE) == (1), "SG_SCSI_RESET_DEVICE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SCSI_RESET_DEVICE 1 #endif -#if !(defined(SG_SCSI_RESET_BUS) || (defined(HAVE_DECL_SG_SCSI_RESET_BUS) && HAVE_DECL_SG_SCSI_RESET_BUS)) +#if defined(SG_SCSI_RESET_BUS) || (defined(HAVE_DECL_SG_SCSI_RESET_BUS) && HAVE_DECL_SG_SCSI_RESET_BUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SCSI_RESET_BUS) == (2), "SG_SCSI_RESET_BUS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SCSI_RESET_BUS 2 #endif -#if !(defined(SG_SCSI_RESET_HOST) || (defined(HAVE_DECL_SG_SCSI_RESET_HOST) && HAVE_DECL_SG_SCSI_RESET_HOST)) +#if defined(SG_SCSI_RESET_HOST) || (defined(HAVE_DECL_SG_SCSI_RESET_HOST) && HAVE_DECL_SG_SCSI_RESET_HOST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SCSI_RESET_HOST) == (3), "SG_SCSI_RESET_HOST != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SCSI_RESET_HOST 3 #endif -#if !(defined(SG_SCSI_RESET_TARGET) || (defined(HAVE_DECL_SG_SCSI_RESET_TARGET) && HAVE_DECL_SG_SCSI_RESET_TARGET)) +#if defined(SG_SCSI_RESET_TARGET) || (defined(HAVE_DECL_SG_SCSI_RESET_TARGET) && HAVE_DECL_SG_SCSI_RESET_TARGET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SCSI_RESET_TARGET) == (4), "SG_SCSI_RESET_TARGET != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SCSI_RESET_TARGET 4 #endif -#if !(defined(SG_SCSI_RESET_NO_ESCALATE) || (defined(HAVE_DECL_SG_SCSI_RESET_NO_ESCALATE) && HAVE_DECL_SG_SCSI_RESET_NO_ESCALATE)) +#if defined(SG_SCSI_RESET_NO_ESCALATE) || (defined(HAVE_DECL_SG_SCSI_RESET_NO_ESCALATE) && HAVE_DECL_SG_SCSI_RESET_NO_ESCALATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SG_SCSI_RESET_NO_ESCALATE) == (0x100), "SG_SCSI_RESET_NO_ESCALATE != 0x100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SG_SCSI_RESET_NO_ESCALATE 0x100 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat sg_scsi_reset in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat sg_scsi_reset in mpers mode + +# else static const struct xlat sg_scsi_reset[] = { @@ -35,4 +65,6 @@ const struct xlat sg_scsi_reset[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/shm_flags.h b/xlat/shm_flags.h index 59191536..f7f5b38c 100644 --- a/xlat/shm_flags.h +++ b/xlat/shm_flags.h @@ -1,13 +1,23 @@ /* Generated by ./xlat/gen.sh from ./xlat/shm_flags.in; do not edit. */ -#if !(defined(SHM_EXEC) || (defined(HAVE_DECL_SHM_EXEC) && HAVE_DECL_SHM_EXEC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SHM_EXEC) || (defined(HAVE_DECL_SHM_EXEC) && HAVE_DECL_SHM_EXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHM_EXEC) == (0100000), "SHM_EXEC != 0100000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SHM_EXEC 0100000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat shm_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat shm_flags in mpers mode + +# else static const struct xlat shm_flags[] = { @@ -24,4 +34,6 @@ const struct xlat shm_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/shm_resource_flags.h b/xlat/shm_resource_flags.h index 11caf5ad..6b703af1 100644 --- a/xlat/shm_resource_flags.h +++ b/xlat/shm_resource_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/shm_resource_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat shm_resource_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat shm_resource_flags in mpers mode + +# else static const struct xlat shm_resource_flags[] = { @@ -23,4 +29,6 @@ const struct xlat shm_resource_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/shmctl_flags.h b/xlat/shmctl_flags.h index eac0c1da..40ac3aef 100644 --- a/xlat/shmctl_flags.h +++ b/xlat/shmctl_flags.h @@ -1,40 +1,97 @@ /* Generated by ./xlat/gen.sh from ./xlat/shmctl_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -extern const struct xlat shmctl_flags[]; - -#else - -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) -static -# endif -const struct xlat shmctl_flags[] = { #if defined(IPC_RMID) || (defined(HAVE_DECL_IPC_RMID) && HAVE_DECL_IPC_RMID) - XLAT(IPC_RMID), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_RMID) == (0), "IPC_RMID != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_RMID 0 #endif #if defined(IPC_SET) || (defined(HAVE_DECL_IPC_SET) && HAVE_DECL_IPC_SET) - XLAT(IPC_SET), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_SET) == (1), "IPC_SET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_SET 1 #endif #if defined(IPC_STAT) || (defined(HAVE_DECL_IPC_STAT) && HAVE_DECL_IPC_STAT) - XLAT(IPC_STAT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_STAT) == (2), "IPC_STAT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_STAT 2 #endif #if defined(IPC_INFO) || (defined(HAVE_DECL_IPC_INFO) && HAVE_DECL_IPC_INFO) - XLAT(IPC_INFO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPC_INFO) == (3), "IPC_INFO != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPC_INFO 3 #endif #if defined(SHM_LOCK) || (defined(HAVE_DECL_SHM_LOCK) && HAVE_DECL_SHM_LOCK) - XLAT(SHM_LOCK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHM_LOCK) == (11), "SHM_LOCK != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SHM_LOCK 11 #endif #if defined(SHM_UNLOCK) || (defined(HAVE_DECL_SHM_UNLOCK) && HAVE_DECL_SHM_UNLOCK) - XLAT(SHM_UNLOCK), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHM_UNLOCK) == (12), "SHM_UNLOCK != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SHM_UNLOCK 12 #endif #if defined(SHM_STAT) || (defined(HAVE_DECL_SHM_STAT) && HAVE_DECL_SHM_STAT) - XLAT(SHM_STAT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHM_STAT) == (13), "SHM_STAT != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SHM_STAT 13 #endif #if defined(SHM_INFO) || (defined(HAVE_DECL_SHM_INFO) && HAVE_DECL_SHM_INFO) - XLAT(SHM_INFO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHM_INFO) == (14), "SHM_INFO != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SHM_INFO 14 +#endif +#if defined(SHM_STAT_ANY) || (defined(HAVE_DECL_SHM_STAT_ANY) && HAVE_DECL_SHM_STAT_ANY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHM_STAT_ANY) == (15), "SHM_STAT_ANY != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SHM_STAT_ANY 15 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +extern const struct xlat shmctl_flags[]; + +# else + +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +static +# endif +const struct xlat shmctl_flags[] = { + + XLAT(IPC_RMID), + XLAT(IPC_SET), + XLAT(IPC_STAT), + XLAT(IPC_INFO), + XLAT(SHM_LOCK), + XLAT(SHM_UNLOCK), + XLAT(SHM_STAT), + XLAT(SHM_INFO), + XLAT(SHM_STAT_ANY), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/shmctl_flags.in b/xlat/shmctl_flags.in index f22e793d..b7943064 100644 --- a/xlat/shmctl_flags.in +++ b/xlat/shmctl_flags.in @@ -1,8 +1,10 @@ -IPC_RMID -IPC_SET -IPC_STAT -IPC_INFO -SHM_LOCK -SHM_UNLOCK -SHM_STAT -SHM_INFO +/* sort -k2,2g */ +IPC_RMID 0 +IPC_SET 1 +IPC_STAT 2 +IPC_INFO 3 +SHM_LOCK 11 +SHM_UNLOCK 12 +SHM_STAT 13 +SHM_INFO 14 +SHM_STAT_ANY 15 diff --git a/xlat/shutdown_modes.h b/xlat/shutdown_modes.h index f34cb6b7..2662c369 100644 --- a/xlat/shutdown_modes.h +++ b/xlat/shutdown_modes.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/shutdown_modes.in; do not edit. */ -#if !(defined(SHUT_RD) || (defined(HAVE_DECL_SHUT_RD) && HAVE_DECL_SHUT_RD)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SHUT_RD) || (defined(HAVE_DECL_SHUT_RD) && HAVE_DECL_SHUT_RD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHUT_RD) == (0), "SHUT_RD != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SHUT_RD 0 #endif -#if !(defined(SHUT_WR) || (defined(HAVE_DECL_SHUT_WR) && HAVE_DECL_SHUT_WR)) +#if defined(SHUT_WR) || (defined(HAVE_DECL_SHUT_WR) && HAVE_DECL_SHUT_WR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHUT_WR) == (1), "SHUT_WR != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SHUT_WR 1 #endif -#if !(defined(SHUT_RDWR) || (defined(HAVE_DECL_SHUT_RDWR) && HAVE_DECL_SHUT_RDWR)) +#if defined(SHUT_RDWR) || (defined(HAVE_DECL_SHUT_RDWR) && HAVE_DECL_SHUT_RDWR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SHUT_RDWR) == (2), "SHUT_RDWR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SHUT_RDWR 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat shutdown_modes in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat shutdown_modes in mpers mode + +# else static const struct xlat shutdown_modes[] = { @@ -23,4 +41,6 @@ const struct xlat shutdown_modes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigact_flags.h b/xlat/sigact_flags.h index 7149b928..14bb0128 100644 --- a/xlat/sigact_flags.h +++ b/xlat/sigact_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigact_flags.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + #if defined SA_NOMASK && SA_NODEFER != SA_NOMASK #endif #if defined SA_ONESHOT && SA_ONESHOT != SA_RESETHAND #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat sigact_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat sigact_flags in mpers mode + +# else static const struct xlat sigact_flags[] = { @@ -67,4 +73,6 @@ const struct xlat sigact_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigaltstack_flags.h b/xlat/sigaltstack_flags.h index 76ed327d..68359b45 100644 --- a/xlat/sigaltstack_flags.h +++ b/xlat/sigaltstack_flags.h @@ -1,23 +1,41 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigaltstack_flags.in; do not edit. */ -#if !(defined(SS_ONSTACK) || (defined(HAVE_DECL_SS_ONSTACK) && HAVE_DECL_SS_ONSTACK)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SS_ONSTACK) || (defined(HAVE_DECL_SS_ONSTACK) && HAVE_DECL_SS_ONSTACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SS_ONSTACK) == (1), "SS_ONSTACK != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SS_ONSTACK 1 #endif -#if !(defined(SS_DISABLE) || (defined(HAVE_DECL_SS_DISABLE) && HAVE_DECL_SS_DISABLE)) +#if defined(SS_DISABLE) || (defined(HAVE_DECL_SS_DISABLE) && HAVE_DECL_SS_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SS_DISABLE) == (2), "SS_DISABLE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SS_DISABLE 2 #endif -#if !(defined(SS_AUTODISARM) || (defined(HAVE_DECL_SS_AUTODISARM) && HAVE_DECL_SS_AUTODISARM)) +#if defined(SS_AUTODISARM) || (defined(HAVE_DECL_SS_AUTODISARM) && HAVE_DECL_SS_AUTODISARM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SS_AUTODISARM) == ((1U << 31)), "SS_AUTODISARM != (1U << 31)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SS_AUTODISARM (1U << 31) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigaltstack_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigaltstack_flags[] = { XLAT(SS_ONSTACK), XLAT(SS_DISABLE), @@ -25,4 +43,6 @@ const struct xlat sigaltstack_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigbus_codes.h b/xlat/sigbus_codes.h index 30c017d9..42123568 100644 --- a/xlat/sigbus_codes.h +++ b/xlat/sigbus_codes.h @@ -1,29 +1,55 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigbus_codes.in; do not edit. */ -#if !(defined(BUS_ADRALN) || (defined(HAVE_DECL_BUS_ADRALN) && HAVE_DECL_BUS_ADRALN)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BUS_ADRALN) || (defined(HAVE_DECL_BUS_ADRALN) && HAVE_DECL_BUS_ADRALN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BUS_ADRALN) == (1), "BUS_ADRALN != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BUS_ADRALN 1 #endif -#if !(defined(BUS_ADRERR) || (defined(HAVE_DECL_BUS_ADRERR) && HAVE_DECL_BUS_ADRERR)) +#if defined(BUS_ADRERR) || (defined(HAVE_DECL_BUS_ADRERR) && HAVE_DECL_BUS_ADRERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BUS_ADRERR) == (2), "BUS_ADRERR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BUS_ADRERR 2 #endif -#if !(defined(BUS_OBJERR) || (defined(HAVE_DECL_BUS_OBJERR) && HAVE_DECL_BUS_OBJERR)) +#if defined(BUS_OBJERR) || (defined(HAVE_DECL_BUS_OBJERR) && HAVE_DECL_BUS_OBJERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BUS_OBJERR) == (3), "BUS_OBJERR != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BUS_OBJERR 3 #endif -#if !(defined(BUS_MCEERR_AR) || (defined(HAVE_DECL_BUS_MCEERR_AR) && HAVE_DECL_BUS_MCEERR_AR)) +#if defined(BUS_MCEERR_AR) || (defined(HAVE_DECL_BUS_MCEERR_AR) && HAVE_DECL_BUS_MCEERR_AR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BUS_MCEERR_AR) == (4), "BUS_MCEERR_AR != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BUS_MCEERR_AR 4 #endif -#if !(defined(BUS_MCEERR_AO) || (defined(HAVE_DECL_BUS_MCEERR_AO) && HAVE_DECL_BUS_MCEERR_AO)) +#if defined(BUS_MCEERR_AO) || (defined(HAVE_DECL_BUS_MCEERR_AO) && HAVE_DECL_BUS_MCEERR_AO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BUS_MCEERR_AO) == (5), "BUS_MCEERR_AO != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define BUS_MCEERR_AO 5 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigbus_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigbus_codes[] = { XLAT(BUS_ADRALN), XLAT(BUS_ADRERR), @@ -36,4 +62,6 @@ const struct xlat sigbus_codes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigchld_codes.h b/xlat/sigchld_codes.h index e1bf046d..515eb2cd 100644 --- a/xlat/sigchld_codes.h +++ b/xlat/sigchld_codes.h @@ -1,32 +1,62 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigchld_codes.in; do not edit. */ -#if !(defined(CLD_EXITED) || (defined(HAVE_DECL_CLD_EXITED) && HAVE_DECL_CLD_EXITED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(CLD_EXITED) || (defined(HAVE_DECL_CLD_EXITED) && HAVE_DECL_CLD_EXITED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLD_EXITED) == (1), "CLD_EXITED != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLD_EXITED 1 #endif -#if !(defined(CLD_KILLED) || (defined(HAVE_DECL_CLD_KILLED) && HAVE_DECL_CLD_KILLED)) +#if defined(CLD_KILLED) || (defined(HAVE_DECL_CLD_KILLED) && HAVE_DECL_CLD_KILLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLD_KILLED) == (2), "CLD_KILLED != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLD_KILLED 2 #endif -#if !(defined(CLD_DUMPED) || (defined(HAVE_DECL_CLD_DUMPED) && HAVE_DECL_CLD_DUMPED)) +#if defined(CLD_DUMPED) || (defined(HAVE_DECL_CLD_DUMPED) && HAVE_DECL_CLD_DUMPED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLD_DUMPED) == (3), "CLD_DUMPED != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLD_DUMPED 3 #endif -#if !(defined(CLD_TRAPPED) || (defined(HAVE_DECL_CLD_TRAPPED) && HAVE_DECL_CLD_TRAPPED)) +#if defined(CLD_TRAPPED) || (defined(HAVE_DECL_CLD_TRAPPED) && HAVE_DECL_CLD_TRAPPED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLD_TRAPPED) == (4), "CLD_TRAPPED != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLD_TRAPPED 4 #endif -#if !(defined(CLD_STOPPED) || (defined(HAVE_DECL_CLD_STOPPED) && HAVE_DECL_CLD_STOPPED)) +#if defined(CLD_STOPPED) || (defined(HAVE_DECL_CLD_STOPPED) && HAVE_DECL_CLD_STOPPED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLD_STOPPED) == (5), "CLD_STOPPED != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLD_STOPPED 5 #endif -#if !(defined(CLD_CONTINUED) || (defined(HAVE_DECL_CLD_CONTINUED) && HAVE_DECL_CLD_CONTINUED)) +#if defined(CLD_CONTINUED) || (defined(HAVE_DECL_CLD_CONTINUED) && HAVE_DECL_CLD_CONTINUED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CLD_CONTINUED) == (6), "CLD_CONTINUED != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define CLD_CONTINUED 6 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigchld_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigchld_codes[] = { XLAT(CLD_EXITED), XLAT(CLD_KILLED), @@ -37,4 +67,6 @@ const struct xlat sigchld_codes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigemt_codes.h b/xlat/sigemt_codes.h index 68f6fb4d..0938327d 100644 --- a/xlat/sigemt_codes.h +++ b/xlat/sigemt_codes.h @@ -1,20 +1,32 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigemt_codes.in; do not edit. */ -#if !(defined(EMT_TAGOVF) || (defined(HAVE_DECL_EMT_TAGOVF) && HAVE_DECL_EMT_TAGOVF)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(EMT_TAGOVF) || (defined(HAVE_DECL_EMT_TAGOVF) && HAVE_DECL_EMT_TAGOVF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((EMT_TAGOVF) == (1), "EMT_TAGOVF != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define EMT_TAGOVF 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigemt_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigemt_codes[] = { XLAT(EMT_TAGOVF), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigev_value.h b/xlat/sigev_value.h index 7c569a5a..c9069d57 100644 --- a/xlat/sigev_value.h +++ b/xlat/sigev_value.h @@ -1,26 +1,48 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigev_value.in; do not edit. */ -#if !(defined(SIGEV_SIGNAL) || (defined(HAVE_DECL_SIGEV_SIGNAL) && HAVE_DECL_SIGEV_SIGNAL)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SIGEV_SIGNAL) || (defined(HAVE_DECL_SIGEV_SIGNAL) && HAVE_DECL_SIGEV_SIGNAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SIGEV_SIGNAL) == (0), "SIGEV_SIGNAL != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SIGEV_SIGNAL 0 #endif -#if !(defined(SIGEV_NONE) || (defined(HAVE_DECL_SIGEV_NONE) && HAVE_DECL_SIGEV_NONE)) +#if defined(SIGEV_NONE) || (defined(HAVE_DECL_SIGEV_NONE) && HAVE_DECL_SIGEV_NONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SIGEV_NONE) == (1), "SIGEV_NONE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SIGEV_NONE 1 #endif -#if !(defined(SIGEV_THREAD) || (defined(HAVE_DECL_SIGEV_THREAD) && HAVE_DECL_SIGEV_THREAD)) +#if defined(SIGEV_THREAD) || (defined(HAVE_DECL_SIGEV_THREAD) && HAVE_DECL_SIGEV_THREAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SIGEV_THREAD) == (2), "SIGEV_THREAD != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SIGEV_THREAD 2 #endif -#if !(defined(SIGEV_THREAD_ID) || (defined(HAVE_DECL_SIGEV_THREAD_ID) && HAVE_DECL_SIGEV_THREAD_ID)) +#if defined(SIGEV_THREAD_ID) || (defined(HAVE_DECL_SIGEV_THREAD_ID) && HAVE_DECL_SIGEV_THREAD_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SIGEV_THREAD_ID) == (4), "SIGEV_THREAD_ID != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SIGEV_THREAD_ID 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigev_value[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigev_value[] = { XLAT(SIGEV_SIGNAL), XLAT(SIGEV_NONE), @@ -29,4 +51,6 @@ const struct xlat sigev_value[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigfpe_codes.h b/xlat/sigfpe_codes.h index 1821f34d..eab8237d 100644 --- a/xlat/sigfpe_codes.h +++ b/xlat/sigfpe_codes.h @@ -1,38 +1,90 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigfpe_codes.in; do not edit. */ -#if !(defined(FPE_INTDIV) || (defined(HAVE_DECL_FPE_INTDIV) && HAVE_DECL_FPE_INTDIV)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(FPE_INTDIV) || (defined(HAVE_DECL_FPE_INTDIV) && HAVE_DECL_FPE_INTDIV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_INTDIV) == (1), "FPE_INTDIV != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FPE_INTDIV 1 #endif -#if !(defined(FPE_INTOVF) || (defined(HAVE_DECL_FPE_INTOVF) && HAVE_DECL_FPE_INTOVF)) +#if defined(FPE_INTOVF) || (defined(HAVE_DECL_FPE_INTOVF) && HAVE_DECL_FPE_INTOVF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_INTOVF) == (2), "FPE_INTOVF != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FPE_INTOVF 2 #endif -#if !(defined(FPE_FLTDIV) || (defined(HAVE_DECL_FPE_FLTDIV) && HAVE_DECL_FPE_FLTDIV)) +#if defined(FPE_FLTDIV) || (defined(HAVE_DECL_FPE_FLTDIV) && HAVE_DECL_FPE_FLTDIV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_FLTDIV) == (3), "FPE_FLTDIV != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FPE_FLTDIV 3 #endif -#if !(defined(FPE_FLTOVF) || (defined(HAVE_DECL_FPE_FLTOVF) && HAVE_DECL_FPE_FLTOVF)) +#if defined(FPE_FLTOVF) || (defined(HAVE_DECL_FPE_FLTOVF) && HAVE_DECL_FPE_FLTOVF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_FLTOVF) == (4), "FPE_FLTOVF != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FPE_FLTOVF 4 #endif -#if !(defined(FPE_FLTUND) || (defined(HAVE_DECL_FPE_FLTUND) && HAVE_DECL_FPE_FLTUND)) +#if defined(FPE_FLTUND) || (defined(HAVE_DECL_FPE_FLTUND) && HAVE_DECL_FPE_FLTUND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_FLTUND) == (5), "FPE_FLTUND != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FPE_FLTUND 5 #endif -#if !(defined(FPE_FLTRES) || (defined(HAVE_DECL_FPE_FLTRES) && HAVE_DECL_FPE_FLTRES)) +#if defined(FPE_FLTRES) || (defined(HAVE_DECL_FPE_FLTRES) && HAVE_DECL_FPE_FLTRES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_FLTRES) == (6), "FPE_FLTRES != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FPE_FLTRES 6 #endif -#if !(defined(FPE_FLTINV) || (defined(HAVE_DECL_FPE_FLTINV) && HAVE_DECL_FPE_FLTINV)) +#if defined(FPE_FLTINV) || (defined(HAVE_DECL_FPE_FLTINV) && HAVE_DECL_FPE_FLTINV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_FLTINV) == (7), "FPE_FLTINV != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FPE_FLTINV 7 #endif -#if !(defined(FPE_FLTSUB) || (defined(HAVE_DECL_FPE_FLTSUB) && HAVE_DECL_FPE_FLTSUB)) +#if defined(FPE_FLTSUB) || (defined(HAVE_DECL_FPE_FLTSUB) && HAVE_DECL_FPE_FLTSUB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_FLTSUB) == (8), "FPE_FLTSUB != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define FPE_FLTSUB 8 #endif +#if defined(FPE_FLTUNK) || (defined(HAVE_DECL_FPE_FLTUNK) && HAVE_DECL_FPE_FLTUNK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_FLTUNK) == (14), "FPE_FLTUNK != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FPE_FLTUNK 14 +#endif +#if defined(FPE_CONDTRAP) || (defined(HAVE_DECL_FPE_CONDTRAP) && HAVE_DECL_FPE_CONDTRAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((FPE_CONDTRAP) == (15), "FPE_CONDTRAP != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define FPE_CONDTRAP 15 +#endif + +#ifndef XLAT_MACROS_ONLY -#ifdef IN_MPERS +# ifdef IN_MPERS extern const struct xlat sigfpe_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigfpe_codes[] = { XLAT(FPE_INTDIV), XLAT(FPE_INTOVF), @@ -60,7 +112,11 @@ const struct xlat sigfpe_codes[] = { #if defined(__FPE_INVDEC) || (defined(HAVE_DECL___FPE_INVDEC) && HAVE_DECL___FPE_INVDEC) XLAT(__FPE_INVDEC), #endif + XLAT(FPE_FLTUNK), + XLAT(FPE_CONDTRAP), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigfpe_codes.in b/xlat/sigfpe_codes.in index 31cc924f..4abd621a 100644 --- a/xlat/sigfpe_codes.in +++ b/xlat/sigfpe_codes.in @@ -12,3 +12,5 @@ __FPE_DECDIV /* 10 - ia64 */ __FPE_DECERR /* 11 - ia64 */ __FPE_INVASC /* 12 - ia64 */ __FPE_INVDEC /* 13 - ia64 */ +FPE_FLTUNK 14 +FPE_CONDTRAP 15 diff --git a/xlat/sigill_codes.h b/xlat/sigill_codes.h index 24fe266b..74eaea09 100644 --- a/xlat/sigill_codes.h +++ b/xlat/sigill_codes.h @@ -1,38 +1,76 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigill_codes.in; do not edit. */ -#if !(defined(ILL_ILLOPC) || (defined(HAVE_DECL_ILL_ILLOPC) && HAVE_DECL_ILL_ILLOPC)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(ILL_ILLOPC) || (defined(HAVE_DECL_ILL_ILLOPC) && HAVE_DECL_ILL_ILLOPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ILL_ILLOPC) == (1), "ILL_ILLOPC != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ILL_ILLOPC 1 #endif -#if !(defined(ILL_ILLOPN) || (defined(HAVE_DECL_ILL_ILLOPN) && HAVE_DECL_ILL_ILLOPN)) +#if defined(ILL_ILLOPN) || (defined(HAVE_DECL_ILL_ILLOPN) && HAVE_DECL_ILL_ILLOPN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ILL_ILLOPN) == (2), "ILL_ILLOPN != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ILL_ILLOPN 2 #endif -#if !(defined(ILL_ILLADR) || (defined(HAVE_DECL_ILL_ILLADR) && HAVE_DECL_ILL_ILLADR)) +#if defined(ILL_ILLADR) || (defined(HAVE_DECL_ILL_ILLADR) && HAVE_DECL_ILL_ILLADR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ILL_ILLADR) == (3), "ILL_ILLADR != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ILL_ILLADR 3 #endif -#if !(defined(ILL_ILLTRP) || (defined(HAVE_DECL_ILL_ILLTRP) && HAVE_DECL_ILL_ILLTRP)) +#if defined(ILL_ILLTRP) || (defined(HAVE_DECL_ILL_ILLTRP) && HAVE_DECL_ILL_ILLTRP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ILL_ILLTRP) == (4), "ILL_ILLTRP != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ILL_ILLTRP 4 #endif -#if !(defined(ILL_PRVOPC) || (defined(HAVE_DECL_ILL_PRVOPC) && HAVE_DECL_ILL_PRVOPC)) +#if defined(ILL_PRVOPC) || (defined(HAVE_DECL_ILL_PRVOPC) && HAVE_DECL_ILL_PRVOPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ILL_PRVOPC) == (5), "ILL_PRVOPC != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ILL_PRVOPC 5 #endif -#if !(defined(ILL_PRVREG) || (defined(HAVE_DECL_ILL_PRVREG) && HAVE_DECL_ILL_PRVREG)) +#if defined(ILL_PRVREG) || (defined(HAVE_DECL_ILL_PRVREG) && HAVE_DECL_ILL_PRVREG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ILL_PRVREG) == (6), "ILL_PRVREG != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ILL_PRVREG 6 #endif -#if !(defined(ILL_COPROC) || (defined(HAVE_DECL_ILL_COPROC) && HAVE_DECL_ILL_COPROC)) +#if defined(ILL_COPROC) || (defined(HAVE_DECL_ILL_COPROC) && HAVE_DECL_ILL_COPROC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ILL_COPROC) == (7), "ILL_COPROC != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ILL_COPROC 7 #endif -#if !(defined(ILL_BADSTK) || (defined(HAVE_DECL_ILL_BADSTK) && HAVE_DECL_ILL_BADSTK)) +#if defined(ILL_BADSTK) || (defined(HAVE_DECL_ILL_BADSTK) && HAVE_DECL_ILL_BADSTK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ILL_BADSTK) == (8), "ILL_BADSTK != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ILL_BADSTK 8 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigill_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigill_codes[] = { XLAT(ILL_ILLOPC), #if defined(ILL_ILLPARAOP) || (defined(HAVE_DECL_ILL_ILLPARAOP) && HAVE_DECL_ILL_ILLPARAOP) @@ -75,4 +113,6 @@ const struct xlat sigill_codes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/siginfo_codes.h b/xlat/siginfo_codes.h index faef6c79..a882d248 100644 --- a/xlat/siginfo_codes.h +++ b/xlat/siginfo_codes.h @@ -1,51 +1,129 @@ /* Generated by ./xlat/gen.sh from ./xlat/siginfo_codes.in; do not edit. */ -#if !(defined(SI_USER) || (defined(HAVE_DECL_SI_USER) && HAVE_DECL_SI_USER)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SI_USER) || (defined(HAVE_DECL_SI_USER) && HAVE_DECL_SI_USER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_USER) == (0), "SI_USER != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_USER 0 #endif -#if !(defined(SI_KERNEL) || (defined(HAVE_DECL_SI_KERNEL) && HAVE_DECL_SI_KERNEL)) +#if defined(SI_KERNEL) || (defined(HAVE_DECL_SI_KERNEL) && HAVE_DECL_SI_KERNEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_KERNEL) == (0x80), "SI_KERNEL != 0x80"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_KERNEL 0x80 #endif -#if !(defined(SI_QUEUE) || (defined(HAVE_DECL_SI_QUEUE) && HAVE_DECL_SI_QUEUE)) +#if defined(SI_QUEUE) || (defined(HAVE_DECL_SI_QUEUE) && HAVE_DECL_SI_QUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_QUEUE) == (-1), "SI_QUEUE != -1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_QUEUE -1 #endif -#if !(defined(SI_TIMER) || (defined(HAVE_DECL_SI_TIMER) && HAVE_DECL_SI_TIMER)) +#ifdef __mips__ +#if defined(SI_ASYNCIO) || (defined(HAVE_DECL_SI_ASYNCIO) && HAVE_DECL_SI_ASYNCIO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_ASYNCIO) == (-2), "SI_ASYNCIO != -2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SI_ASYNCIO -2 +#endif +#if defined(SI_TIMER) || (defined(HAVE_DECL_SI_TIMER) && HAVE_DECL_SI_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_TIMER) == (-3), "SI_TIMER != -3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SI_TIMER -3 +#endif +#if defined(SI_MESGQ) || (defined(HAVE_DECL_SI_MESGQ) && HAVE_DECL_SI_MESGQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_MESGQ) == (-4), "SI_MESGQ != -4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SI_MESGQ -4 +#endif +#else +#if defined(SI_TIMER) || (defined(HAVE_DECL_SI_TIMER) && HAVE_DECL_SI_TIMER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_TIMER) == (-2), "SI_TIMER != -2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_TIMER -2 #endif -#if !(defined(SI_MESGQ) || (defined(HAVE_DECL_SI_MESGQ) && HAVE_DECL_SI_MESGQ)) +#if defined(SI_MESGQ) || (defined(HAVE_DECL_SI_MESGQ) && HAVE_DECL_SI_MESGQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_MESGQ) == (-3), "SI_MESGQ != -3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_MESGQ -3 #endif -#if !(defined(SI_ASYNCIO) || (defined(HAVE_DECL_SI_ASYNCIO) && HAVE_DECL_SI_ASYNCIO)) +#if defined(SI_ASYNCIO) || (defined(HAVE_DECL_SI_ASYNCIO) && HAVE_DECL_SI_ASYNCIO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_ASYNCIO) == (-4), "SI_ASYNCIO != -4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_ASYNCIO -4 #endif -#if !(defined(SI_SIGIO) || (defined(HAVE_DECL_SI_SIGIO) && HAVE_DECL_SI_SIGIO)) +#endif +#if defined(SI_SIGIO) || (defined(HAVE_DECL_SI_SIGIO) && HAVE_DECL_SI_SIGIO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_SIGIO) == (-5), "SI_SIGIO != -5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_SIGIO -5 #endif -#if !(defined(SI_TKILL) || (defined(HAVE_DECL_SI_TKILL) && HAVE_DECL_SI_TKILL)) +#if defined(SI_TKILL) || (defined(HAVE_DECL_SI_TKILL) && HAVE_DECL_SI_TKILL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_TKILL) == (-6), "SI_TKILL != -6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_TKILL -6 #endif -#if !(defined(SI_DETHREAD) || (defined(HAVE_DECL_SI_DETHREAD) && HAVE_DECL_SI_DETHREAD)) +#if defined(SI_DETHREAD) || (defined(HAVE_DECL_SI_DETHREAD) && HAVE_DECL_SI_DETHREAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_DETHREAD) == (-7), "SI_DETHREAD != -7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_DETHREAD -7 #endif -#if !(defined(SI_ASYNCNL) || (defined(HAVE_DECL_SI_ASYNCNL) && HAVE_DECL_SI_ASYNCNL)) +#if defined(SI_ASYNCNL) || (defined(HAVE_DECL_SI_ASYNCNL) && HAVE_DECL_SI_ASYNCNL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SI_ASYNCNL) == (-60), "SI_ASYNCNL != -60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SI_ASYNCNL -60 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat siginfo_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat siginfo_codes[] = { XLAT(SI_USER), XLAT(SI_KERNEL), XLAT(SI_QUEUE), + +#ifdef __mips__ + XLAT(SI_ASYNCIO), + XLAT(SI_TIMER), + XLAT(SI_MESGQ), +#else XLAT(SI_TIMER), XLAT(SI_MESGQ), XLAT(SI_ASYNCIO), +#endif + XLAT(SI_SIGIO), XLAT(SI_TKILL), XLAT(SI_DETHREAD), @@ -59,4 +137,6 @@ const struct xlat siginfo_codes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/siginfo_codes.in b/xlat/siginfo_codes.in index a57c370c..968c660c 100644 --- a/xlat/siginfo_codes.in +++ b/xlat/siginfo_codes.in @@ -1,9 +1,17 @@ SI_USER 0 SI_KERNEL 0x80 SI_QUEUE -1 + +#ifdef __mips__ +SI_ASYNCIO -2 +SI_TIMER -3 +SI_MESGQ -4 +#else SI_TIMER -2 SI_MESGQ -3 SI_ASYNCIO -4 +#endif + SI_SIGIO -5 SI_TKILL -6 SI_DETHREAD -7 diff --git a/xlat/sigpoll_codes.h b/xlat/sigpoll_codes.h index 55cc1bbf..5e9f08b7 100644 --- a/xlat/sigpoll_codes.h +++ b/xlat/sigpoll_codes.h @@ -1,32 +1,62 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigpoll_codes.in; do not edit. */ -#if !(defined(POLL_IN) || (defined(HAVE_DECL_POLL_IN) && HAVE_DECL_POLL_IN)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(POLL_IN) || (defined(HAVE_DECL_POLL_IN) && HAVE_DECL_POLL_IN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLL_IN) == (1), "POLL_IN != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLL_IN 1 #endif -#if !(defined(POLL_OUT) || (defined(HAVE_DECL_POLL_OUT) && HAVE_DECL_POLL_OUT)) +#if defined(POLL_OUT) || (defined(HAVE_DECL_POLL_OUT) && HAVE_DECL_POLL_OUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLL_OUT) == (2), "POLL_OUT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLL_OUT 2 #endif -#if !(defined(POLL_MSG) || (defined(HAVE_DECL_POLL_MSG) && HAVE_DECL_POLL_MSG)) +#if defined(POLL_MSG) || (defined(HAVE_DECL_POLL_MSG) && HAVE_DECL_POLL_MSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLL_MSG) == (3), "POLL_MSG != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLL_MSG 3 #endif -#if !(defined(POLL_ERR) || (defined(HAVE_DECL_POLL_ERR) && HAVE_DECL_POLL_ERR)) +#if defined(POLL_ERR) || (defined(HAVE_DECL_POLL_ERR) && HAVE_DECL_POLL_ERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLL_ERR) == (4), "POLL_ERR != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLL_ERR 4 #endif -#if !(defined(POLL_PRI) || (defined(HAVE_DECL_POLL_PRI) && HAVE_DECL_POLL_PRI)) +#if defined(POLL_PRI) || (defined(HAVE_DECL_POLL_PRI) && HAVE_DECL_POLL_PRI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLL_PRI) == (5), "POLL_PRI != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLL_PRI 5 #endif -#if !(defined(POLL_HUP) || (defined(HAVE_DECL_POLL_HUP) && HAVE_DECL_POLL_HUP)) +#if defined(POLL_HUP) || (defined(HAVE_DECL_POLL_HUP) && HAVE_DECL_POLL_HUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((POLL_HUP) == (6), "POLL_HUP != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define POLL_HUP 6 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigpoll_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigpoll_codes[] = { XLAT(POLL_IN), XLAT(POLL_OUT), @@ -37,4 +67,6 @@ const struct xlat sigpoll_codes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigprocmaskcmds.h b/xlat/sigprocmaskcmds.h index 427680bd..02df7057 100644 --- a/xlat/sigprocmaskcmds.h +++ b/xlat/sigprocmaskcmds.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigprocmaskcmds.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sigprocmaskcmds in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sigprocmaskcmds in mpers mode + +# else static const struct xlat sigprocmaskcmds[] = { @@ -23,4 +29,6 @@ const struct xlat sigprocmaskcmds[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigprof_codes.h b/xlat/sigprof_codes.h index 2323b9e7..6776434a 100644 --- a/xlat/sigprof_codes.h +++ b/xlat/sigprof_codes.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigprof_codes.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigprof_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigprof_codes[] = { #if defined(PROF_SIG) || (defined(HAVE_DECL_PROF_SIG) && HAVE_DECL_PROF_SIG) XLAT(PROF_SIG), @@ -16,4 +22,6 @@ const struct xlat sigprof_codes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigsegv_codes.h b/xlat/sigsegv_codes.h index 30dceee4..64fbc794 100644 --- a/xlat/sigsegv_codes.h +++ b/xlat/sigsegv_codes.h @@ -1,26 +1,69 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigsegv_codes.in; do not edit. */ -#if !(defined(SEGV_MAPERR) || (defined(HAVE_DECL_SEGV_MAPERR) && HAVE_DECL_SEGV_MAPERR)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SEGV_MAPERR) || (defined(HAVE_DECL_SEGV_MAPERR) && HAVE_DECL_SEGV_MAPERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEGV_MAPERR) == (1), "SEGV_MAPERR != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SEGV_MAPERR 1 #endif -#if !(defined(SEGV_ACCERR) || (defined(HAVE_DECL_SEGV_ACCERR) && HAVE_DECL_SEGV_ACCERR)) +#if defined(SEGV_ACCERR) || (defined(HAVE_DECL_SEGV_ACCERR) && HAVE_DECL_SEGV_ACCERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEGV_ACCERR) == (2), "SEGV_ACCERR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SEGV_ACCERR 2 #endif -#if !(defined(SEGV_BNDERR) || (defined(HAVE_DECL_SEGV_BNDERR) && HAVE_DECL_SEGV_BNDERR)) +#if defined(SEGV_BNDERR) || (defined(HAVE_DECL_SEGV_BNDERR) && HAVE_DECL_SEGV_BNDERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEGV_BNDERR) == (3), "SEGV_BNDERR != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SEGV_BNDERR 3 #endif -#if !(defined(SEGV_PKUERR) || (defined(HAVE_DECL_SEGV_PKUERR) && HAVE_DECL_SEGV_PKUERR)) +#if defined(SEGV_PKUERR) || (defined(HAVE_DECL_SEGV_PKUERR) && HAVE_DECL_SEGV_PKUERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEGV_PKUERR) == (4), "SEGV_PKUERR != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SEGV_PKUERR 4 #endif +#if defined(SEGV_ACCADI) || (defined(HAVE_DECL_SEGV_ACCADI) && HAVE_DECL_SEGV_ACCADI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEGV_ACCADI) == (5), "SEGV_ACCADI != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SEGV_ACCADI 5 +#endif +#if defined(SEGV_ADIDERR) || (defined(HAVE_DECL_SEGV_ADIDERR) && HAVE_DECL_SEGV_ADIDERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEGV_ADIDERR) == (6), "SEGV_ADIDERR != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SEGV_ADIDERR 6 +#endif +#if defined(SEGV_ADIPERR) || (defined(HAVE_DECL_SEGV_ADIPERR) && HAVE_DECL_SEGV_ADIPERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SEGV_ADIPERR) == (7), "SEGV_ADIPERR != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SEGV_ADIPERR 7 +#endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigsegv_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigsegv_codes[] = { XLAT(SEGV_MAPERR), XLAT(SEGV_ACCERR), @@ -32,7 +75,12 @@ const struct xlat sigsegv_codes[] = { XLAT(__SEGV_PSTKOVF), #endif XLAT(SEGV_PKUERR), + XLAT(SEGV_ACCADI), + XLAT(SEGV_ADIDERR), + XLAT(SEGV_ADIPERR), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigsegv_codes.in b/xlat/sigsegv_codes.in index 86dbdc5f..2ca98f6d 100644 --- a/xlat/sigsegv_codes.in +++ b/xlat/sigsegv_codes.in @@ -4,3 +4,6 @@ SEGV_STACKFLOW /* 3 - bfin */ SEGV_BNDERR 3 __SEGV_PSTKOVF /* 4 - ia64 */ SEGV_PKUERR 4 +SEGV_ACCADI 5 /* sparc */ +SEGV_ADIDERR 6 /* sparc */ +SEGV_ADIPERR 7 /* sparc */ diff --git a/xlat/sigsys_codes.h b/xlat/sigsys_codes.h index 6fba1fbb..45397403 100644 --- a/xlat/sigsys_codes.h +++ b/xlat/sigsys_codes.h @@ -1,20 +1,32 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigsys_codes.in; do not edit. */ -#if !(defined(SYS_SECCOMP) || (defined(HAVE_DECL_SYS_SECCOMP) && HAVE_DECL_SYS_SECCOMP)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SYS_SECCOMP) || (defined(HAVE_DECL_SYS_SECCOMP) && HAVE_DECL_SYS_SECCOMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_SECCOMP) == (1), "SYS_SECCOMP != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_SECCOMP 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigsys_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigsys_codes[] = { XLAT(SYS_SECCOMP), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sigtrap_codes.h b/xlat/sigtrap_codes.h index db2a7c90..0fbac5c4 100644 --- a/xlat/sigtrap_codes.h +++ b/xlat/sigtrap_codes.h @@ -1,26 +1,48 @@ /* Generated by ./xlat/gen.sh from ./xlat/sigtrap_codes.in; do not edit. */ -#if !(defined(TRAP_BRKPT) || (defined(HAVE_DECL_TRAP_BRKPT) && HAVE_DECL_TRAP_BRKPT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TRAP_BRKPT) || (defined(HAVE_DECL_TRAP_BRKPT) && HAVE_DECL_TRAP_BRKPT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TRAP_BRKPT) == (1), "TRAP_BRKPT != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TRAP_BRKPT 1 #endif -#if !(defined(TRAP_TRACE) || (defined(HAVE_DECL_TRAP_TRACE) && HAVE_DECL_TRAP_TRACE)) +#if defined(TRAP_TRACE) || (defined(HAVE_DECL_TRAP_TRACE) && HAVE_DECL_TRAP_TRACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TRAP_TRACE) == (2), "TRAP_TRACE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TRAP_TRACE 2 #endif -#if !(defined(TRAP_BRANCH) || (defined(HAVE_DECL_TRAP_BRANCH) && HAVE_DECL_TRAP_BRANCH)) +#if defined(TRAP_BRANCH) || (defined(HAVE_DECL_TRAP_BRANCH) && HAVE_DECL_TRAP_BRANCH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TRAP_BRANCH) == (3), "TRAP_BRANCH != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TRAP_BRANCH 3 #endif -#if !(defined(TRAP_HWBKPT) || (defined(HAVE_DECL_TRAP_HWBKPT) && HAVE_DECL_TRAP_HWBKPT)) +#if defined(TRAP_HWBKPT) || (defined(HAVE_DECL_TRAP_HWBKPT) && HAVE_DECL_TRAP_HWBKPT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TRAP_HWBKPT) == (4), "TRAP_HWBKPT != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TRAP_HWBKPT 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat sigtrap_codes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat sigtrap_codes[] = { #if defined(TRAP_STEP) || (defined(HAVE_DECL_TRAP_STEP) && HAVE_DECL_TRAP_STEP) XLAT(TRAP_STEP), @@ -41,4 +63,6 @@ const struct xlat sigtrap_codes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/skf_ad.h b/xlat/skf_ad.h index 23b157f7..fac1518c 100644 --- a/xlat/skf_ad.h +++ b/xlat/skf_ad.h @@ -1,58 +1,128 @@ /* Generated by ./xlat/gen.sh from ./xlat/skf_ad.in; do not edit. */ -#if !(defined(SKF_AD_PROTOCOL) || (defined(HAVE_DECL_SKF_AD_PROTOCOL) && HAVE_DECL_SKF_AD_PROTOCOL)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SKF_AD_PROTOCOL) || (defined(HAVE_DECL_SKF_AD_PROTOCOL) && HAVE_DECL_SKF_AD_PROTOCOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_PROTOCOL) == (0), "SKF_AD_PROTOCOL != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_PROTOCOL 0 #endif -#if !(defined(SKF_AD_PKTTYPE) || (defined(HAVE_DECL_SKF_AD_PKTTYPE) && HAVE_DECL_SKF_AD_PKTTYPE)) +#if defined(SKF_AD_PKTTYPE) || (defined(HAVE_DECL_SKF_AD_PKTTYPE) && HAVE_DECL_SKF_AD_PKTTYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_PKTTYPE) == (4), "SKF_AD_PKTTYPE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_PKTTYPE 4 #endif -#if !(defined(SKF_AD_IFINDEX) || (defined(HAVE_DECL_SKF_AD_IFINDEX) && HAVE_DECL_SKF_AD_IFINDEX)) +#if defined(SKF_AD_IFINDEX) || (defined(HAVE_DECL_SKF_AD_IFINDEX) && HAVE_DECL_SKF_AD_IFINDEX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_IFINDEX) == (8), "SKF_AD_IFINDEX != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_IFINDEX 8 #endif -#if !(defined(SKF_AD_NLATTR) || (defined(HAVE_DECL_SKF_AD_NLATTR) && HAVE_DECL_SKF_AD_NLATTR)) +#if defined(SKF_AD_NLATTR) || (defined(HAVE_DECL_SKF_AD_NLATTR) && HAVE_DECL_SKF_AD_NLATTR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_NLATTR) == (12), "SKF_AD_NLATTR != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_NLATTR 12 #endif -#if !(defined(SKF_AD_NLATTR_NEST) || (defined(HAVE_DECL_SKF_AD_NLATTR_NEST) && HAVE_DECL_SKF_AD_NLATTR_NEST)) +#if defined(SKF_AD_NLATTR_NEST) || (defined(HAVE_DECL_SKF_AD_NLATTR_NEST) && HAVE_DECL_SKF_AD_NLATTR_NEST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_NLATTR_NEST) == (16), "SKF_AD_NLATTR_NEST != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_NLATTR_NEST 16 #endif -#if !(defined(SKF_AD_MARK) || (defined(HAVE_DECL_SKF_AD_MARK) && HAVE_DECL_SKF_AD_MARK)) +#if defined(SKF_AD_MARK) || (defined(HAVE_DECL_SKF_AD_MARK) && HAVE_DECL_SKF_AD_MARK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_MARK) == (20), "SKF_AD_MARK != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_MARK 20 #endif -#if !(defined(SKF_AD_QUEUE) || (defined(HAVE_DECL_SKF_AD_QUEUE) && HAVE_DECL_SKF_AD_QUEUE)) +#if defined(SKF_AD_QUEUE) || (defined(HAVE_DECL_SKF_AD_QUEUE) && HAVE_DECL_SKF_AD_QUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_QUEUE) == (24), "SKF_AD_QUEUE != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_QUEUE 24 #endif -#if !(defined(SKF_AD_HATYPE) || (defined(HAVE_DECL_SKF_AD_HATYPE) && HAVE_DECL_SKF_AD_HATYPE)) +#if defined(SKF_AD_HATYPE) || (defined(HAVE_DECL_SKF_AD_HATYPE) && HAVE_DECL_SKF_AD_HATYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_HATYPE) == (28), "SKF_AD_HATYPE != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_HATYPE 28 #endif -#if !(defined(SKF_AD_RXHASH) || (defined(HAVE_DECL_SKF_AD_RXHASH) && HAVE_DECL_SKF_AD_RXHASH)) +#if defined(SKF_AD_RXHASH) || (defined(HAVE_DECL_SKF_AD_RXHASH) && HAVE_DECL_SKF_AD_RXHASH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_RXHASH) == (32), "SKF_AD_RXHASH != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_RXHASH 32 #endif -#if !(defined(SKF_AD_CPU) || (defined(HAVE_DECL_SKF_AD_CPU) && HAVE_DECL_SKF_AD_CPU)) +#if defined(SKF_AD_CPU) || (defined(HAVE_DECL_SKF_AD_CPU) && HAVE_DECL_SKF_AD_CPU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_CPU) == (36), "SKF_AD_CPU != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_CPU 36 #endif -#if !(defined(SKF_AD_ALU_XOR_X) || (defined(HAVE_DECL_SKF_AD_ALU_XOR_X) && HAVE_DECL_SKF_AD_ALU_XOR_X)) +#if defined(SKF_AD_ALU_XOR_X) || (defined(HAVE_DECL_SKF_AD_ALU_XOR_X) && HAVE_DECL_SKF_AD_ALU_XOR_X) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_ALU_XOR_X) == (40), "SKF_AD_ALU_XOR_X != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_ALU_XOR_X 40 #endif -#if !(defined(SKF_AD_VLAN_TAG) || (defined(HAVE_DECL_SKF_AD_VLAN_TAG) && HAVE_DECL_SKF_AD_VLAN_TAG)) +#if defined(SKF_AD_VLAN_TAG) || (defined(HAVE_DECL_SKF_AD_VLAN_TAG) && HAVE_DECL_SKF_AD_VLAN_TAG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_VLAN_TAG) == (44), "SKF_AD_VLAN_TAG != 44"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_VLAN_TAG 44 #endif -#if !(defined(SKF_AD_VLAN_TAG_PRESENT) || (defined(HAVE_DECL_SKF_AD_VLAN_TAG_PRESENT) && HAVE_DECL_SKF_AD_VLAN_TAG_PRESENT)) +#if defined(SKF_AD_VLAN_TAG_PRESENT) || (defined(HAVE_DECL_SKF_AD_VLAN_TAG_PRESENT) && HAVE_DECL_SKF_AD_VLAN_TAG_PRESENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_VLAN_TAG_PRESENT) == (48), "SKF_AD_VLAN_TAG_PRESENT != 48"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_VLAN_TAG_PRESENT 48 #endif -#if !(defined(SKF_AD_PAY_OFFSET) || (defined(HAVE_DECL_SKF_AD_PAY_OFFSET) && HAVE_DECL_SKF_AD_PAY_OFFSET)) +#if defined(SKF_AD_PAY_OFFSET) || (defined(HAVE_DECL_SKF_AD_PAY_OFFSET) && HAVE_DECL_SKF_AD_PAY_OFFSET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_PAY_OFFSET) == (52), "SKF_AD_PAY_OFFSET != 52"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_PAY_OFFSET 52 #endif -#if !(defined(SKF_AD_RANDOM) || (defined(HAVE_DECL_SKF_AD_RANDOM) && HAVE_DECL_SKF_AD_RANDOM)) +#if defined(SKF_AD_RANDOM) || (defined(HAVE_DECL_SKF_AD_RANDOM) && HAVE_DECL_SKF_AD_RANDOM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_RANDOM) == (56), "SKF_AD_RANDOM != 56"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_RANDOM 56 #endif -#if !(defined(SKF_AD_VLAN_TPID) || (defined(HAVE_DECL_SKF_AD_VLAN_TPID) && HAVE_DECL_SKF_AD_VLAN_TPID)) +#if defined(SKF_AD_VLAN_TPID) || (defined(HAVE_DECL_SKF_AD_VLAN_TPID) && HAVE_DECL_SKF_AD_VLAN_TPID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_VLAN_TPID) == (60), "SKF_AD_VLAN_TPID != 60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SKF_AD_VLAN_TPID 60 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat skf_ad in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat skf_ad in mpers mode + +# else static const struct xlat skf_ad[] = { @@ -75,4 +145,6 @@ const struct xlat skf_ad[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/skf_off.h b/xlat/skf_off.h new file mode 100644 index 00000000..77afe64d --- /dev/null +++ b/xlat/skf_off.h @@ -0,0 +1,26 @@ +/* Generated by ./xlat/gen.sh from ./xlat/skf_off.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SKF_AD_OFF) || (defined(HAVE_DECL_SKF_AD_OFF) && HAVE_DECL_SKF_AD_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_AD_OFF) == (-0x1000), "SKF_AD_OFF != -0x1000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SKF_AD_OFF -0x1000 +#endif +#if defined(SKF_NET_OFF) || (defined(HAVE_DECL_SKF_NET_OFF) && HAVE_DECL_SKF_NET_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_NET_OFF) == (-0x100000), "SKF_NET_OFF != -0x100000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SKF_NET_OFF -0x100000 +#endif +#if defined(SKF_LL_OFF) || (defined(HAVE_DECL_SKF_LL_OFF) && HAVE_DECL_SKF_LL_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SKF_LL_OFF) == (-0x200000), "SKF_LL_OFF != -0x200000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SKF_LL_OFF -0x200000 +#endif diff --git a/xlat/skf_off.in b/xlat/skf_off.in new file mode 100644 index 00000000..6db30a9a --- /dev/null +++ b/xlat/skf_off.in @@ -0,0 +1,4 @@ +SKF_AD_OFF -0x1000 +SKF_NET_OFF -0x100000 +SKF_LL_OFF -0x200000 +#stop diff --git a/xlat/smc_diag_attrs.h b/xlat/smc_diag_attrs.h index 84899ee6..e6c0a4e6 100644 --- a/xlat/smc_diag_attrs.h +++ b/xlat/smc_diag_attrs.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/smc_diag_attrs.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat smc_diag_attrs in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat smc_diag_attrs in mpers mode + +# else static const struct xlat smc_diag_attrs[] = { @@ -15,4 +21,6 @@ const struct xlat smc_diag_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/smc_diag_extended_flags.h b/xlat/smc_diag_extended_flags.h index 988dc942..48cb3a4e 100644 --- a/xlat/smc_diag_extended_flags.h +++ b/xlat/smc_diag_extended_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/smc_diag_extended_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat smc_diag_extended_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat smc_diag_extended_flags in mpers mode + +# else static const struct xlat smc_diag_extended_flags[] = { @@ -13,4 +19,6 @@ const struct xlat smc_diag_extended_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/smc_link_group_roles.h b/xlat/smc_link_group_roles.h index a52e8539..24f2f5dd 100644 --- a/xlat/smc_link_group_roles.h +++ b/xlat/smc_link_group_roles.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/smc_link_group_roles.in; do not edit. */ -#if !(defined(SMC_CLNT) || (defined(HAVE_DECL_SMC_CLNT) && HAVE_DECL_SMC_CLNT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SMC_CLNT) || (defined(HAVE_DECL_SMC_CLNT) && HAVE_DECL_SMC_CLNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_CLNT) == (0), "SMC_CLNT != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_CLNT 0 #endif -#if !(defined(SMC_SERV) || (defined(HAVE_DECL_SMC_SERV) && HAVE_DECL_SMC_SERV)) +#if defined(SMC_SERV) || (defined(HAVE_DECL_SMC_SERV) && HAVE_DECL_SMC_SERV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_SERV) == (1), "SMC_SERV != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_SERV 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat smc_link_group_roles in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat smc_link_group_roles in mpers mode + +# else static const struct xlat smc_link_group_roles[] = { @@ -19,4 +33,6 @@ const struct xlat smc_link_group_roles[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/smc_protocols.h b/xlat/smc_protocols.h new file mode 100644 index 00000000..18ab3836 --- /dev/null +++ b/xlat/smc_protocols.h @@ -0,0 +1,38 @@ +/* Generated by ./xlat/gen.sh from ./xlat/smc_protocols.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MCPROTO_SMC) || (defined(HAVE_DECL_MCPROTO_SMC) && HAVE_DECL_MCPROTO_SMC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MCPROTO_SMC) == (0), "MCPROTO_SMC != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define MCPROTO_SMC 0 +#endif +#if defined(SMCPROTO_SMC6) || (defined(HAVE_DECL_SMCPROTO_SMC6) && HAVE_DECL_SMCPROTO_SMC6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMCPROTO_SMC6) == (1), "SMCPROTO_SMC6 != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SMCPROTO_SMC6 1 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat smc_protocols in mpers mode + +# else + +static +const struct xlat smc_protocols[] = { + [MCPROTO_SMC] = XLAT(MCPROTO_SMC), + [SMCPROTO_SMC6] = XLAT(SMCPROTO_SMC6), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/smc_protocols.in b/xlat/smc_protocols.in new file mode 100644 index 00000000..3a65a394 --- /dev/null +++ b/xlat/smc_protocols.in @@ -0,0 +1,3 @@ +#value_indexed +MCPROTO_SMC 0 +SMCPROTO_SMC6 1 diff --git a/xlat/smc_states.h b/xlat/smc_states.h index a5371d74..e88a62c2 100644 --- a/xlat/smc_states.h +++ b/xlat/smc_states.h @@ -1,46 +1,100 @@ /* Generated by ./xlat/gen.sh from ./xlat/smc_states.in; do not edit. */ -#if !(defined(SMC_ACTIVE) || (defined(HAVE_DECL_SMC_ACTIVE) && HAVE_DECL_SMC_ACTIVE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SMC_ACTIVE) || (defined(HAVE_DECL_SMC_ACTIVE) && HAVE_DECL_SMC_ACTIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_ACTIVE) == (1), "SMC_ACTIVE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_ACTIVE 1 #endif -#if !(defined(SMC_INIT) || (defined(HAVE_DECL_SMC_INIT) && HAVE_DECL_SMC_INIT)) +#if defined(SMC_INIT) || (defined(HAVE_DECL_SMC_INIT) && HAVE_DECL_SMC_INIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_INIT) == (2), "SMC_INIT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_INIT 2 #endif -#if !(defined(SMC_CLOSED) || (defined(HAVE_DECL_SMC_CLOSED) && HAVE_DECL_SMC_CLOSED)) +#if defined(SMC_CLOSED) || (defined(HAVE_DECL_SMC_CLOSED) && HAVE_DECL_SMC_CLOSED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_CLOSED) == (7), "SMC_CLOSED != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_CLOSED 7 #endif -#if !(defined(SMC_LISTEN) || (defined(HAVE_DECL_SMC_LISTEN) && HAVE_DECL_SMC_LISTEN)) +#if defined(SMC_LISTEN) || (defined(HAVE_DECL_SMC_LISTEN) && HAVE_DECL_SMC_LISTEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_LISTEN) == (10), "SMC_LISTEN != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_LISTEN 10 #endif -#if !(defined(SMC_PEERCLOSEWAIT1) || (defined(HAVE_DECL_SMC_PEERCLOSEWAIT1) && HAVE_DECL_SMC_PEERCLOSEWAIT1)) +#if defined(SMC_PEERCLOSEWAIT1) || (defined(HAVE_DECL_SMC_PEERCLOSEWAIT1) && HAVE_DECL_SMC_PEERCLOSEWAIT1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_PEERCLOSEWAIT1) == (20), "SMC_PEERCLOSEWAIT1 != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_PEERCLOSEWAIT1 20 #endif -#if !(defined(SMC_PEERCLOSEWAIT2) || (defined(HAVE_DECL_SMC_PEERCLOSEWAIT2) && HAVE_DECL_SMC_PEERCLOSEWAIT2)) +#if defined(SMC_PEERCLOSEWAIT2) || (defined(HAVE_DECL_SMC_PEERCLOSEWAIT2) && HAVE_DECL_SMC_PEERCLOSEWAIT2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_PEERCLOSEWAIT2) == (21), "SMC_PEERCLOSEWAIT2 != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_PEERCLOSEWAIT2 21 #endif -#if !(defined(SMC_APPFINCLOSEWAIT) || (defined(HAVE_DECL_SMC_APPFINCLOSEWAIT) && HAVE_DECL_SMC_APPFINCLOSEWAIT)) +#if defined(SMC_APPFINCLOSEWAIT) || (defined(HAVE_DECL_SMC_APPFINCLOSEWAIT) && HAVE_DECL_SMC_APPFINCLOSEWAIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_APPFINCLOSEWAIT) == (24), "SMC_APPFINCLOSEWAIT != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_APPFINCLOSEWAIT 24 #endif -#if !(defined(SMC_APPCLOSEWAIT1) || (defined(HAVE_DECL_SMC_APPCLOSEWAIT1) && HAVE_DECL_SMC_APPCLOSEWAIT1)) +#if defined(SMC_APPCLOSEWAIT1) || (defined(HAVE_DECL_SMC_APPCLOSEWAIT1) && HAVE_DECL_SMC_APPCLOSEWAIT1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_APPCLOSEWAIT1) == (22), "SMC_APPCLOSEWAIT1 != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_APPCLOSEWAIT1 22 #endif -#if !(defined(SMC_APPCLOSEWAIT2) || (defined(HAVE_DECL_SMC_APPCLOSEWAIT2) && HAVE_DECL_SMC_APPCLOSEWAIT2)) +#if defined(SMC_APPCLOSEWAIT2) || (defined(HAVE_DECL_SMC_APPCLOSEWAIT2) && HAVE_DECL_SMC_APPCLOSEWAIT2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_APPCLOSEWAIT2) == (23), "SMC_APPCLOSEWAIT2 != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_APPCLOSEWAIT2 23 #endif -#if !(defined(SMC_PEERFINCLOSEWAIT) || (defined(HAVE_DECL_SMC_PEERFINCLOSEWAIT) && HAVE_DECL_SMC_PEERFINCLOSEWAIT)) +#if defined(SMC_PEERFINCLOSEWAIT) || (defined(HAVE_DECL_SMC_PEERFINCLOSEWAIT) && HAVE_DECL_SMC_PEERFINCLOSEWAIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_PEERFINCLOSEWAIT) == (25), "SMC_PEERFINCLOSEWAIT != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_PEERFINCLOSEWAIT 25 #endif -#if !(defined(SMC_PEERABORTWAIT) || (defined(HAVE_DECL_SMC_PEERABORTWAIT) && HAVE_DECL_SMC_PEERABORTWAIT)) +#if defined(SMC_PEERABORTWAIT) || (defined(HAVE_DECL_SMC_PEERABORTWAIT) && HAVE_DECL_SMC_PEERABORTWAIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_PEERABORTWAIT) == (26), "SMC_PEERABORTWAIT != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_PEERABORTWAIT 26 #endif -#if !(defined(SMC_PROCESSABORT) || (defined(HAVE_DECL_SMC_PROCESSABORT) && HAVE_DECL_SMC_PROCESSABORT)) +#if defined(SMC_PROCESSABORT) || (defined(HAVE_DECL_SMC_PROCESSABORT) && HAVE_DECL_SMC_PROCESSABORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SMC_PROCESSABORT) == (27), "SMC_PROCESSABORT != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SMC_PROCESSABORT 27 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat smc_states in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat smc_states in mpers mode + +# else static const struct xlat smc_states[] = { @@ -59,4 +113,6 @@ const struct xlat smc_states[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/snmp_icmp6_stats.h b/xlat/snmp_icmp6_stats.h new file mode 100644 index 00000000..62553d53 --- /dev/null +++ b/xlat/snmp_icmp6_stats.h @@ -0,0 +1,70 @@ +/* Generated by ./xlat/gen.sh from ./xlat/snmp_icmp6_stats.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(ICMP6_MIB_NUM) || (defined(HAVE_DECL_ICMP6_MIB_NUM) && HAVE_DECL_ICMP6_MIB_NUM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ICMP6_MIB_NUM) == (0), "ICMP6_MIB_NUM != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ICMP6_MIB_NUM 0 +#endif +#if defined(ICMP6_MIB_INMSGS) || (defined(HAVE_DECL_ICMP6_MIB_INMSGS) && HAVE_DECL_ICMP6_MIB_INMSGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ICMP6_MIB_INMSGS) == (1), "ICMP6_MIB_INMSGS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ICMP6_MIB_INMSGS 1 +#endif +#if defined(ICMP6_MIB_INERRORS) || (defined(HAVE_DECL_ICMP6_MIB_INERRORS) && HAVE_DECL_ICMP6_MIB_INERRORS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ICMP6_MIB_INERRORS) == (2), "ICMP6_MIB_INERRORS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ICMP6_MIB_INERRORS 2 +#endif +#if defined(ICMP6_MIB_OUTMSGS) || (defined(HAVE_DECL_ICMP6_MIB_OUTMSGS) && HAVE_DECL_ICMP6_MIB_OUTMSGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ICMP6_MIB_OUTMSGS) == (3), "ICMP6_MIB_OUTMSGS != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ICMP6_MIB_OUTMSGS 3 +#endif +#if defined(ICMP6_MIB_OUTERRORS) || (defined(HAVE_DECL_ICMP6_MIB_OUTERRORS) && HAVE_DECL_ICMP6_MIB_OUTERRORS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ICMP6_MIB_OUTERRORS) == (4), "ICMP6_MIB_OUTERRORS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ICMP6_MIB_OUTERRORS 4 +#endif +#if defined(ICMP6_MIB_CSUMERRORS) || (defined(HAVE_DECL_ICMP6_MIB_CSUMERRORS) && HAVE_DECL_ICMP6_MIB_CSUMERRORS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ICMP6_MIB_CSUMERRORS) == (5), "ICMP6_MIB_CSUMERRORS != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ICMP6_MIB_CSUMERRORS 5 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat snmp_icmp6_stats in mpers mode + +# else + +static +const struct xlat snmp_icmp6_stats[] = { + [ICMP6_MIB_NUM] = XLAT(ICMP6_MIB_NUM), + [ICMP6_MIB_INMSGS] = XLAT(ICMP6_MIB_INMSGS), + [ICMP6_MIB_INERRORS] = XLAT(ICMP6_MIB_INERRORS), + [ICMP6_MIB_OUTMSGS] = XLAT(ICMP6_MIB_OUTMSGS), + [ICMP6_MIB_OUTERRORS] = XLAT(ICMP6_MIB_OUTERRORS), + [ICMP6_MIB_CSUMERRORS] = XLAT(ICMP6_MIB_CSUMERRORS), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/snmp_icmp6_stats.in b/xlat/snmp_icmp6_stats.in new file mode 100644 index 00000000..ee4769e7 --- /dev/null +++ b/xlat/snmp_icmp6_stats.in @@ -0,0 +1,7 @@ +#value_indexed +ICMP6_MIB_NUM 0 +ICMP6_MIB_INMSGS 1 +ICMP6_MIB_INERRORS 2 +ICMP6_MIB_OUTMSGS 3 +ICMP6_MIB_OUTERRORS 4 +ICMP6_MIB_CSUMERRORS 5 diff --git a/xlat/snmp_ip_stats.h b/xlat/snmp_ip_stats.h new file mode 100644 index 00000000..e2a4af96 --- /dev/null +++ b/xlat/snmp_ip_stats.h @@ -0,0 +1,310 @@ +/* Generated by ./xlat/gen.sh from ./xlat/snmp_ip_stats.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IPSTATS_MIB_NUM) || (defined(HAVE_DECL_IPSTATS_MIB_NUM) && HAVE_DECL_IPSTATS_MIB_NUM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_NUM) == (0), "IPSTATS_MIB_NUM != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_NUM 0 +#endif +#if defined(IPSTATS_MIB_INPKTS) || (defined(HAVE_DECL_IPSTATS_MIB_INPKTS) && HAVE_DECL_IPSTATS_MIB_INPKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INPKTS) == (1), "IPSTATS_MIB_INPKTS != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INPKTS 1 +#endif +#if defined(IPSTATS_MIB_INOCTETS) || (defined(HAVE_DECL_IPSTATS_MIB_INOCTETS) && HAVE_DECL_IPSTATS_MIB_INOCTETS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INOCTETS) == (2), "IPSTATS_MIB_INOCTETS != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INOCTETS 2 +#endif +#if defined(IPSTATS_MIB_INDELIVERS) || (defined(HAVE_DECL_IPSTATS_MIB_INDELIVERS) && HAVE_DECL_IPSTATS_MIB_INDELIVERS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INDELIVERS) == (3), "IPSTATS_MIB_INDELIVERS != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INDELIVERS 3 +#endif +#if defined(IPSTATS_MIB_OUTFORWDATAGRAMS) || (defined(HAVE_DECL_IPSTATS_MIB_OUTFORWDATAGRAMS) && HAVE_DECL_IPSTATS_MIB_OUTFORWDATAGRAMS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_OUTFORWDATAGRAMS) == (4), "IPSTATS_MIB_OUTFORWDATAGRAMS != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_OUTFORWDATAGRAMS 4 +#endif +#if defined(IPSTATS_MIB_OUTPKTS) || (defined(HAVE_DECL_IPSTATS_MIB_OUTPKTS) && HAVE_DECL_IPSTATS_MIB_OUTPKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_OUTPKTS) == (5), "IPSTATS_MIB_OUTPKTS != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_OUTPKTS 5 +#endif +#if defined(IPSTATS_MIB_OUTOCTETS) || (defined(HAVE_DECL_IPSTATS_MIB_OUTOCTETS) && HAVE_DECL_IPSTATS_MIB_OUTOCTETS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_OUTOCTETS) == (6), "IPSTATS_MIB_OUTOCTETS != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_OUTOCTETS 6 +#endif +#if defined(IPSTATS_MIB_INHDRERRORS) || (defined(HAVE_DECL_IPSTATS_MIB_INHDRERRORS) && HAVE_DECL_IPSTATS_MIB_INHDRERRORS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INHDRERRORS) == (7), "IPSTATS_MIB_INHDRERRORS != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INHDRERRORS 7 +#endif +#if defined(IPSTATS_MIB_INTOOBIGERRORS) || (defined(HAVE_DECL_IPSTATS_MIB_INTOOBIGERRORS) && HAVE_DECL_IPSTATS_MIB_INTOOBIGERRORS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INTOOBIGERRORS) == (8), "IPSTATS_MIB_INTOOBIGERRORS != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INTOOBIGERRORS 8 +#endif +#if defined(IPSTATS_MIB_INNOROUTES) || (defined(HAVE_DECL_IPSTATS_MIB_INNOROUTES) && HAVE_DECL_IPSTATS_MIB_INNOROUTES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INNOROUTES) == (9), "IPSTATS_MIB_INNOROUTES != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INNOROUTES 9 +#endif +#if defined(IPSTATS_MIB_INADDRERRORS) || (defined(HAVE_DECL_IPSTATS_MIB_INADDRERRORS) && HAVE_DECL_IPSTATS_MIB_INADDRERRORS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INADDRERRORS) == (10), "IPSTATS_MIB_INADDRERRORS != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INADDRERRORS 10 +#endif +#if defined(IPSTATS_MIB_INUNKNOWNPROTOS) || (defined(HAVE_DECL_IPSTATS_MIB_INUNKNOWNPROTOS) && HAVE_DECL_IPSTATS_MIB_INUNKNOWNPROTOS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INUNKNOWNPROTOS) == (11), "IPSTATS_MIB_INUNKNOWNPROTOS != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INUNKNOWNPROTOS 11 +#endif +#if defined(IPSTATS_MIB_INTRUNCATEDPKTS) || (defined(HAVE_DECL_IPSTATS_MIB_INTRUNCATEDPKTS) && HAVE_DECL_IPSTATS_MIB_INTRUNCATEDPKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INTRUNCATEDPKTS) == (12), "IPSTATS_MIB_INTRUNCATEDPKTS != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INTRUNCATEDPKTS 12 +#endif +#if defined(IPSTATS_MIB_INDISCARDS) || (defined(HAVE_DECL_IPSTATS_MIB_INDISCARDS) && HAVE_DECL_IPSTATS_MIB_INDISCARDS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INDISCARDS) == (13), "IPSTATS_MIB_INDISCARDS != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INDISCARDS 13 +#endif +#if defined(IPSTATS_MIB_OUTDISCARDS) || (defined(HAVE_DECL_IPSTATS_MIB_OUTDISCARDS) && HAVE_DECL_IPSTATS_MIB_OUTDISCARDS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_OUTDISCARDS) == (14), "IPSTATS_MIB_OUTDISCARDS != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_OUTDISCARDS 14 +#endif +#if defined(IPSTATS_MIB_OUTNOROUTES) || (defined(HAVE_DECL_IPSTATS_MIB_OUTNOROUTES) && HAVE_DECL_IPSTATS_MIB_OUTNOROUTES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_OUTNOROUTES) == (15), "IPSTATS_MIB_OUTNOROUTES != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_OUTNOROUTES 15 +#endif +#if defined(IPSTATS_MIB_REASMTIMEOUT) || (defined(HAVE_DECL_IPSTATS_MIB_REASMTIMEOUT) && HAVE_DECL_IPSTATS_MIB_REASMTIMEOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_REASMTIMEOUT) == (16), "IPSTATS_MIB_REASMTIMEOUT != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_REASMTIMEOUT 16 +#endif +#if defined(IPSTATS_MIB_REASMREQDS) || (defined(HAVE_DECL_IPSTATS_MIB_REASMREQDS) && HAVE_DECL_IPSTATS_MIB_REASMREQDS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_REASMREQDS) == (17), "IPSTATS_MIB_REASMREQDS != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_REASMREQDS 17 +#endif +#if defined(IPSTATS_MIB_REASMOKS) || (defined(HAVE_DECL_IPSTATS_MIB_REASMOKS) && HAVE_DECL_IPSTATS_MIB_REASMOKS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_REASMOKS) == (18), "IPSTATS_MIB_REASMOKS != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_REASMOKS 18 +#endif +#if defined(IPSTATS_MIB_REASMFAILS) || (defined(HAVE_DECL_IPSTATS_MIB_REASMFAILS) && HAVE_DECL_IPSTATS_MIB_REASMFAILS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_REASMFAILS) == (19), "IPSTATS_MIB_REASMFAILS != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_REASMFAILS 19 +#endif +#if defined(IPSTATS_MIB_FRAGOKS) || (defined(HAVE_DECL_IPSTATS_MIB_FRAGOKS) && HAVE_DECL_IPSTATS_MIB_FRAGOKS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_FRAGOKS) == (20), "IPSTATS_MIB_FRAGOKS != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_FRAGOKS 20 +#endif +#if defined(IPSTATS_MIB_FRAGFAILS) || (defined(HAVE_DECL_IPSTATS_MIB_FRAGFAILS) && HAVE_DECL_IPSTATS_MIB_FRAGFAILS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_FRAGFAILS) == (21), "IPSTATS_MIB_FRAGFAILS != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_FRAGFAILS 21 +#endif +#if defined(IPSTATS_MIB_FRAGCREATES) || (defined(HAVE_DECL_IPSTATS_MIB_FRAGCREATES) && HAVE_DECL_IPSTATS_MIB_FRAGCREATES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_FRAGCREATES) == (22), "IPSTATS_MIB_FRAGCREATES != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_FRAGCREATES 22 +#endif +#if defined(IPSTATS_MIB_INMCASTPKTS) || (defined(HAVE_DECL_IPSTATS_MIB_INMCASTPKTS) && HAVE_DECL_IPSTATS_MIB_INMCASTPKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INMCASTPKTS) == (23), "IPSTATS_MIB_INMCASTPKTS != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INMCASTPKTS 23 +#endif +#if defined(IPSTATS_MIB_OUTMCASTPKTS) || (defined(HAVE_DECL_IPSTATS_MIB_OUTMCASTPKTS) && HAVE_DECL_IPSTATS_MIB_OUTMCASTPKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_OUTMCASTPKTS) == (24), "IPSTATS_MIB_OUTMCASTPKTS != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_OUTMCASTPKTS 24 +#endif +#if defined(IPSTATS_MIB_INBCASTPKTS) || (defined(HAVE_DECL_IPSTATS_MIB_INBCASTPKTS) && HAVE_DECL_IPSTATS_MIB_INBCASTPKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INBCASTPKTS) == (25), "IPSTATS_MIB_INBCASTPKTS != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INBCASTPKTS 25 +#endif +#if defined(IPSTATS_MIB_OUTBCASTPKTS) || (defined(HAVE_DECL_IPSTATS_MIB_OUTBCASTPKTS) && HAVE_DECL_IPSTATS_MIB_OUTBCASTPKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_OUTBCASTPKTS) == (26), "IPSTATS_MIB_OUTBCASTPKTS != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_OUTBCASTPKTS 26 +#endif +#if defined(IPSTATS_MIB_INMCASTOCTETS) || (defined(HAVE_DECL_IPSTATS_MIB_INMCASTOCTETS) && HAVE_DECL_IPSTATS_MIB_INMCASTOCTETS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INMCASTOCTETS) == (27), "IPSTATS_MIB_INMCASTOCTETS != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INMCASTOCTETS 27 +#endif +#if defined(IPSTATS_MIB_OUTMCASTOCTETS) || (defined(HAVE_DECL_IPSTATS_MIB_OUTMCASTOCTETS) && HAVE_DECL_IPSTATS_MIB_OUTMCASTOCTETS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_OUTMCASTOCTETS) == (28), "IPSTATS_MIB_OUTMCASTOCTETS != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_OUTMCASTOCTETS 28 +#endif +#if defined(IPSTATS_MIB_INBCASTOCTETS) || (defined(HAVE_DECL_IPSTATS_MIB_INBCASTOCTETS) && HAVE_DECL_IPSTATS_MIB_INBCASTOCTETS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_INBCASTOCTETS) == (29), "IPSTATS_MIB_INBCASTOCTETS != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_INBCASTOCTETS 29 +#endif +#if defined(IPSTATS_MIB_OUTBCASTOCTETS) || (defined(HAVE_DECL_IPSTATS_MIB_OUTBCASTOCTETS) && HAVE_DECL_IPSTATS_MIB_OUTBCASTOCTETS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_OUTBCASTOCTETS) == (30), "IPSTATS_MIB_OUTBCASTOCTETS != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_OUTBCASTOCTETS 30 +#endif +#if defined(IPSTATS_MIB_CSUMERRORS) || (defined(HAVE_DECL_IPSTATS_MIB_CSUMERRORS) && HAVE_DECL_IPSTATS_MIB_CSUMERRORS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_CSUMERRORS) == (31), "IPSTATS_MIB_CSUMERRORS != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_CSUMERRORS 31 +#endif +#if defined(IPSTATS_MIB_NOECTPKTS) || (defined(HAVE_DECL_IPSTATS_MIB_NOECTPKTS) && HAVE_DECL_IPSTATS_MIB_NOECTPKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_NOECTPKTS) == (32), "IPSTATS_MIB_NOECTPKTS != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_NOECTPKTS 32 +#endif +#if defined(IPSTATS_MIB_ECT1PKTS) || (defined(HAVE_DECL_IPSTATS_MIB_ECT1PKTS) && HAVE_DECL_IPSTATS_MIB_ECT1PKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_ECT1PKTS) == (33), "IPSTATS_MIB_ECT1PKTS != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_ECT1PKTS 33 +#endif +#if defined(IPSTATS_MIB_ECT0PKTS) || (defined(HAVE_DECL_IPSTATS_MIB_ECT0PKTS) && HAVE_DECL_IPSTATS_MIB_ECT0PKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_ECT0PKTS) == (34), "IPSTATS_MIB_ECT0PKTS != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_ECT0PKTS 34 +#endif +#if defined(IPSTATS_MIB_CEPKTS) || (defined(HAVE_DECL_IPSTATS_MIB_CEPKTS) && HAVE_DECL_IPSTATS_MIB_CEPKTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IPSTATS_MIB_CEPKTS) == (35), "IPSTATS_MIB_CEPKTS != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IPSTATS_MIB_CEPKTS 35 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat snmp_ip_stats in mpers mode + +# else + +static +const struct xlat snmp_ip_stats[] = { + [IPSTATS_MIB_NUM] = XLAT(IPSTATS_MIB_NUM), + [IPSTATS_MIB_INPKTS] = XLAT(IPSTATS_MIB_INPKTS), + [IPSTATS_MIB_INOCTETS] = XLAT(IPSTATS_MIB_INOCTETS), + [IPSTATS_MIB_INDELIVERS] = XLAT(IPSTATS_MIB_INDELIVERS), + [IPSTATS_MIB_OUTFORWDATAGRAMS] = XLAT(IPSTATS_MIB_OUTFORWDATAGRAMS), + [IPSTATS_MIB_OUTPKTS] = XLAT(IPSTATS_MIB_OUTPKTS), + [IPSTATS_MIB_OUTOCTETS] = XLAT(IPSTATS_MIB_OUTOCTETS), + [IPSTATS_MIB_INHDRERRORS] = XLAT(IPSTATS_MIB_INHDRERRORS), + [IPSTATS_MIB_INTOOBIGERRORS] = XLAT(IPSTATS_MIB_INTOOBIGERRORS), + [IPSTATS_MIB_INNOROUTES] = XLAT(IPSTATS_MIB_INNOROUTES), + [IPSTATS_MIB_INADDRERRORS] = XLAT(IPSTATS_MIB_INADDRERRORS), + [IPSTATS_MIB_INUNKNOWNPROTOS] = XLAT(IPSTATS_MIB_INUNKNOWNPROTOS), + [IPSTATS_MIB_INTRUNCATEDPKTS] = XLAT(IPSTATS_MIB_INTRUNCATEDPKTS), + [IPSTATS_MIB_INDISCARDS] = XLAT(IPSTATS_MIB_INDISCARDS), + [IPSTATS_MIB_OUTDISCARDS] = XLAT(IPSTATS_MIB_OUTDISCARDS), + [IPSTATS_MIB_OUTNOROUTES] = XLAT(IPSTATS_MIB_OUTNOROUTES), + [IPSTATS_MIB_REASMTIMEOUT] = XLAT(IPSTATS_MIB_REASMTIMEOUT), + [IPSTATS_MIB_REASMREQDS] = XLAT(IPSTATS_MIB_REASMREQDS), + [IPSTATS_MIB_REASMOKS] = XLAT(IPSTATS_MIB_REASMOKS), + [IPSTATS_MIB_REASMFAILS] = XLAT(IPSTATS_MIB_REASMFAILS), + [IPSTATS_MIB_FRAGOKS] = XLAT(IPSTATS_MIB_FRAGOKS), + [IPSTATS_MIB_FRAGFAILS] = XLAT(IPSTATS_MIB_FRAGFAILS), + [IPSTATS_MIB_FRAGCREATES] = XLAT(IPSTATS_MIB_FRAGCREATES), + [IPSTATS_MIB_INMCASTPKTS] = XLAT(IPSTATS_MIB_INMCASTPKTS), + [IPSTATS_MIB_OUTMCASTPKTS] = XLAT(IPSTATS_MIB_OUTMCASTPKTS), + [IPSTATS_MIB_INBCASTPKTS] = XLAT(IPSTATS_MIB_INBCASTPKTS), + [IPSTATS_MIB_OUTBCASTPKTS] = XLAT(IPSTATS_MIB_OUTBCASTPKTS), + [IPSTATS_MIB_INMCASTOCTETS] = XLAT(IPSTATS_MIB_INMCASTOCTETS), + [IPSTATS_MIB_OUTMCASTOCTETS] = XLAT(IPSTATS_MIB_OUTMCASTOCTETS), + [IPSTATS_MIB_INBCASTOCTETS] = XLAT(IPSTATS_MIB_INBCASTOCTETS), + [IPSTATS_MIB_OUTBCASTOCTETS] = XLAT(IPSTATS_MIB_OUTBCASTOCTETS), + [IPSTATS_MIB_CSUMERRORS] = XLAT(IPSTATS_MIB_CSUMERRORS), + [IPSTATS_MIB_NOECTPKTS] = XLAT(IPSTATS_MIB_NOECTPKTS), + [IPSTATS_MIB_ECT1PKTS] = XLAT(IPSTATS_MIB_ECT1PKTS), + [IPSTATS_MIB_ECT0PKTS] = XLAT(IPSTATS_MIB_ECT0PKTS), + [IPSTATS_MIB_CEPKTS] = XLAT(IPSTATS_MIB_CEPKTS), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/snmp_ip_stats.in b/xlat/snmp_ip_stats.in new file mode 100644 index 00000000..4bfb7ee2 --- /dev/null +++ b/xlat/snmp_ip_stats.in @@ -0,0 +1,37 @@ +#value_indexed +IPSTATS_MIB_NUM 0 +IPSTATS_MIB_INPKTS 1 +IPSTATS_MIB_INOCTETS 2 +IPSTATS_MIB_INDELIVERS 3 +IPSTATS_MIB_OUTFORWDATAGRAMS 4 +IPSTATS_MIB_OUTPKTS 5 +IPSTATS_MIB_OUTOCTETS 6 +IPSTATS_MIB_INHDRERRORS 7 +IPSTATS_MIB_INTOOBIGERRORS 8 +IPSTATS_MIB_INNOROUTES 9 +IPSTATS_MIB_INADDRERRORS 10 +IPSTATS_MIB_INUNKNOWNPROTOS 11 +IPSTATS_MIB_INTRUNCATEDPKTS 12 +IPSTATS_MIB_INDISCARDS 13 +IPSTATS_MIB_OUTDISCARDS 14 +IPSTATS_MIB_OUTNOROUTES 15 +IPSTATS_MIB_REASMTIMEOUT 16 +IPSTATS_MIB_REASMREQDS 17 +IPSTATS_MIB_REASMOKS 18 +IPSTATS_MIB_REASMFAILS 19 +IPSTATS_MIB_FRAGOKS 20 +IPSTATS_MIB_FRAGFAILS 21 +IPSTATS_MIB_FRAGCREATES 22 +IPSTATS_MIB_INMCASTPKTS 23 +IPSTATS_MIB_OUTMCASTPKTS 24 +IPSTATS_MIB_INBCASTPKTS 25 +IPSTATS_MIB_OUTBCASTPKTS 26 +IPSTATS_MIB_INMCASTOCTETS 27 +IPSTATS_MIB_OUTMCASTOCTETS 28 +IPSTATS_MIB_INBCASTOCTETS 29 +IPSTATS_MIB_OUTBCASTOCTETS 30 +IPSTATS_MIB_CSUMERRORS 31 +IPSTATS_MIB_NOECTPKTS 32 +IPSTATS_MIB_ECT1PKTS 33 +IPSTATS_MIB_ECT0PKTS 34 +IPSTATS_MIB_CEPKTS 35 diff --git a/xlat/sock_alg_options.h b/xlat/sock_alg_options.h new file mode 100644 index 00000000..41b00a99 --- /dev/null +++ b/xlat/sock_alg_options.h @@ -0,0 +1,62 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_alg_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(ALG_SET_KEY) || (defined(HAVE_DECL_ALG_SET_KEY) && HAVE_DECL_ALG_SET_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ALG_SET_KEY) == (1), "ALG_SET_KEY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ALG_SET_KEY 1 +#endif +#if defined(ALG_SET_IV) || (defined(HAVE_DECL_ALG_SET_IV) && HAVE_DECL_ALG_SET_IV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ALG_SET_IV) == (2), "ALG_SET_IV != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ALG_SET_IV 2 +#endif +#if defined(ALG_SET_OP) || (defined(HAVE_DECL_ALG_SET_OP) && HAVE_DECL_ALG_SET_OP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ALG_SET_OP) == (3), "ALG_SET_OP != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ALG_SET_OP 3 +#endif +#if defined(ALG_SET_AEAD_ASSOCLEN) || (defined(HAVE_DECL_ALG_SET_AEAD_ASSOCLEN) && HAVE_DECL_ALG_SET_AEAD_ASSOCLEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ALG_SET_AEAD_ASSOCLEN) == (4), "ALG_SET_AEAD_ASSOCLEN != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ALG_SET_AEAD_ASSOCLEN 4 +#endif +#if defined(ALG_SET_AEAD_AUTHSIZE) || (defined(HAVE_DECL_ALG_SET_AEAD_AUTHSIZE) && HAVE_DECL_ALG_SET_AEAD_AUTHSIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ALG_SET_AEAD_AUTHSIZE) == (5), "ALG_SET_AEAD_AUTHSIZE != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define ALG_SET_AEAD_AUTHSIZE 5 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_alg_options in mpers mode + +# else + +static +const struct xlat sock_alg_options[] = { + [ALG_SET_KEY] = XLAT(ALG_SET_KEY), + [ALG_SET_IV] = XLAT(ALG_SET_IV), + [ALG_SET_OP] = XLAT(ALG_SET_OP), + [ALG_SET_AEAD_ASSOCLEN] = XLAT(ALG_SET_AEAD_ASSOCLEN), + [ALG_SET_AEAD_AUTHSIZE] = XLAT(ALG_SET_AEAD_AUTHSIZE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_alg_options.in b/xlat/sock_alg_options.in new file mode 100644 index 00000000..a1fb4a18 --- /dev/null +++ b/xlat/sock_alg_options.in @@ -0,0 +1,6 @@ +#value_indexed +ALG_SET_KEY 1 +ALG_SET_IV 2 +ALG_SET_OP 3 +ALG_SET_AEAD_ASSOCLEN 4 +ALG_SET_AEAD_AUTHSIZE 5 diff --git a/xlat/sock_bluetooth_options.h b/xlat/sock_bluetooth_options.h new file mode 100644 index 00000000..4a57abd9 --- /dev/null +++ b/xlat/sock_bluetooth_options.h @@ -0,0 +1,87 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_bluetooth_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(BT_SECURITY) || (defined(HAVE_DECL_BT_SECURITY) && HAVE_DECL_BT_SECURITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BT_SECURITY) == (4), "BT_SECURITY != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BT_SECURITY 4 +#endif +#if defined(BT_DEFER_SETUP) || (defined(HAVE_DECL_BT_DEFER_SETUP) && HAVE_DECL_BT_DEFER_SETUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BT_DEFER_SETUP) == (7), "BT_DEFER_SETUP != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BT_DEFER_SETUP 7 +#endif +#if defined(BT_FLUSHABLE) || (defined(HAVE_DECL_BT_FLUSHABLE) && HAVE_DECL_BT_FLUSHABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BT_FLUSHABLE) == (8), "BT_FLUSHABLE != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BT_FLUSHABLE 8 +#endif +#if defined(BT_POWER) || (defined(HAVE_DECL_BT_POWER) && HAVE_DECL_BT_POWER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BT_POWER) == (9), "BT_POWER != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BT_POWER 9 +#endif +#if defined(BT_CHANNEL_POLICY) || (defined(HAVE_DECL_BT_CHANNEL_POLICY) && HAVE_DECL_BT_CHANNEL_POLICY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BT_CHANNEL_POLICY) == (10), "BT_CHANNEL_POLICY != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BT_CHANNEL_POLICY 10 +#endif +#if defined(BT_VOICE) || (defined(HAVE_DECL_BT_VOICE) && HAVE_DECL_BT_VOICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BT_VOICE) == (11), "BT_VOICE != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BT_VOICE 11 +#endif +#if defined(BT_SNDMTU) || (defined(HAVE_DECL_BT_SNDMTU) && HAVE_DECL_BT_SNDMTU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BT_SNDMTU) == (12), "BT_SNDMTU != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BT_SNDMTU 12 +#endif +#if defined(BT_RCVMTU) || (defined(HAVE_DECL_BT_RCVMTU) && HAVE_DECL_BT_RCVMTU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((BT_RCVMTU) == (13), "BT_RCVMTU != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define BT_RCVMTU 13 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_bluetooth_options in mpers mode + +# else + +static +const struct xlat sock_bluetooth_options[] = { + + XLAT(BT_SECURITY), + XLAT(BT_DEFER_SETUP), + XLAT(BT_FLUSHABLE), + XLAT(BT_POWER), + XLAT(BT_CHANNEL_POLICY), + XLAT(BT_VOICE), + XLAT(BT_SNDMTU), + XLAT(BT_RCVMTU), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_bluetooth_options.in b/xlat/sock_bluetooth_options.in new file mode 100644 index 00000000..919b21b0 --- /dev/null +++ b/xlat/sock_bluetooth_options.in @@ -0,0 +1,9 @@ +/* sort -k2,2n */ +BT_SECURITY 4 +BT_DEFER_SETUP 7 +BT_FLUSHABLE 8 +BT_POWER 9 +BT_CHANNEL_POLICY 10 +BT_VOICE 11 +BT_SNDMTU 12 +BT_RCVMTU 13 diff --git a/xlat/sock_caif_options.h b/xlat/sock_caif_options.h new file mode 100644 index 00000000..1066132f --- /dev/null +++ b/xlat/sock_caif_options.h @@ -0,0 +1,46 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_caif_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(CAIFSO_LINK_SELECT) || (defined(HAVE_DECL_CAIFSO_LINK_SELECT) && HAVE_DECL_CAIFSO_LINK_SELECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAIFSO_LINK_SELECT) == (127), "CAIFSO_LINK_SELECT != 127"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAIFSO_LINK_SELECT 127 +#endif +#if defined(CAIFSO_REQ_PARAM) || (defined(HAVE_DECL_CAIFSO_REQ_PARAM) && HAVE_DECL_CAIFSO_REQ_PARAM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAIFSO_REQ_PARAM) == (128), "CAIFSO_REQ_PARAM != 128"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAIFSO_REQ_PARAM 128 +#endif +#if defined(CAIFSO_RSP_PARAM) || (defined(HAVE_DECL_CAIFSO_RSP_PARAM) && HAVE_DECL_CAIFSO_RSP_PARAM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((CAIFSO_RSP_PARAM) == (129), "CAIFSO_RSP_PARAM != 129"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define CAIFSO_RSP_PARAM 129 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_caif_options in mpers mode + +# else + +static +const struct xlat sock_caif_options[] = { + XLAT(CAIFSO_LINK_SELECT), + XLAT(CAIFSO_REQ_PARAM), + XLAT(CAIFSO_RSP_PARAM), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_caif_options.in b/xlat/sock_caif_options.in new file mode 100644 index 00000000..5e1c0444 --- /dev/null +++ b/xlat/sock_caif_options.in @@ -0,0 +1,3 @@ +CAIFSO_LINK_SELECT 127 +CAIFSO_REQ_PARAM 128 +CAIFSO_RSP_PARAM 129 diff --git a/xlat/sock_dccp_options.h b/xlat/sock_dccp_options.h new file mode 100644 index 00000000..41b487cc --- /dev/null +++ b/xlat/sock_dccp_options.h @@ -0,0 +1,151 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_dccp_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(DCCP_SOCKOPT_PACKET_SIZE) || (defined(HAVE_DECL_DCCP_SOCKOPT_PACKET_SIZE) && HAVE_DECL_DCCP_SOCKOPT_PACKET_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_PACKET_SIZE) == (1), "DCCP_SOCKOPT_PACKET_SIZE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_PACKET_SIZE 1 +#endif +#if defined(DCCP_SOCKOPT_SERVICE) || (defined(HAVE_DECL_DCCP_SOCKOPT_SERVICE) && HAVE_DECL_DCCP_SOCKOPT_SERVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_SERVICE) == (2), "DCCP_SOCKOPT_SERVICE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_SERVICE 2 +#endif +#if defined(DCCP_SOCKOPT_CHANGE_L) || (defined(HAVE_DECL_DCCP_SOCKOPT_CHANGE_L) && HAVE_DECL_DCCP_SOCKOPT_CHANGE_L) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_CHANGE_L) == (3), "DCCP_SOCKOPT_CHANGE_L != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_CHANGE_L 3 +#endif +#if defined(DCCP_SOCKOPT_CHANGE_R) || (defined(HAVE_DECL_DCCP_SOCKOPT_CHANGE_R) && HAVE_DECL_DCCP_SOCKOPT_CHANGE_R) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_CHANGE_R) == (4), "DCCP_SOCKOPT_CHANGE_R != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_CHANGE_R 4 +#endif +#if defined(DCCP_SOCKOPT_GET_CUR_MPS) || (defined(HAVE_DECL_DCCP_SOCKOPT_GET_CUR_MPS) && HAVE_DECL_DCCP_SOCKOPT_GET_CUR_MPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_GET_CUR_MPS) == (5), "DCCP_SOCKOPT_GET_CUR_MPS != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_GET_CUR_MPS 5 +#endif +#if defined(DCCP_SOCKOPT_SERVER_TIMEWAIT) || (defined(HAVE_DECL_DCCP_SOCKOPT_SERVER_TIMEWAIT) && HAVE_DECL_DCCP_SOCKOPT_SERVER_TIMEWAIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_SERVER_TIMEWAIT) == (6), "DCCP_SOCKOPT_SERVER_TIMEWAIT != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_SERVER_TIMEWAIT 6 +#endif +#if defined(DCCP_SOCKOPT_SEND_CSCOV) || (defined(HAVE_DECL_DCCP_SOCKOPT_SEND_CSCOV) && HAVE_DECL_DCCP_SOCKOPT_SEND_CSCOV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_SEND_CSCOV) == (10), "DCCP_SOCKOPT_SEND_CSCOV != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_SEND_CSCOV 10 +#endif +#if defined(DCCP_SOCKOPT_RECV_CSCOV) || (defined(HAVE_DECL_DCCP_SOCKOPT_RECV_CSCOV) && HAVE_DECL_DCCP_SOCKOPT_RECV_CSCOV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_RECV_CSCOV) == (11), "DCCP_SOCKOPT_RECV_CSCOV != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_RECV_CSCOV 11 +#endif +#if defined(DCCP_SOCKOPT_AVAILABLE_CCIDS) || (defined(HAVE_DECL_DCCP_SOCKOPT_AVAILABLE_CCIDS) && HAVE_DECL_DCCP_SOCKOPT_AVAILABLE_CCIDS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_AVAILABLE_CCIDS) == (12), "DCCP_SOCKOPT_AVAILABLE_CCIDS != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_AVAILABLE_CCIDS 12 +#endif +#if defined(DCCP_SOCKOPT_CCID) || (defined(HAVE_DECL_DCCP_SOCKOPT_CCID) && HAVE_DECL_DCCP_SOCKOPT_CCID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_CCID) == (13), "DCCP_SOCKOPT_CCID != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_CCID 13 +#endif +#if defined(DCCP_SOCKOPT_TX_CCID) || (defined(HAVE_DECL_DCCP_SOCKOPT_TX_CCID) && HAVE_DECL_DCCP_SOCKOPT_TX_CCID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_TX_CCID) == (14), "DCCP_SOCKOPT_TX_CCID != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_TX_CCID 14 +#endif +#if defined(DCCP_SOCKOPT_RX_CCID) || (defined(HAVE_DECL_DCCP_SOCKOPT_RX_CCID) && HAVE_DECL_DCCP_SOCKOPT_RX_CCID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_RX_CCID) == (15), "DCCP_SOCKOPT_RX_CCID != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_RX_CCID 15 +#endif +#if defined(DCCP_SOCKOPT_QPOLICY_ID) || (defined(HAVE_DECL_DCCP_SOCKOPT_QPOLICY_ID) && HAVE_DECL_DCCP_SOCKOPT_QPOLICY_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_QPOLICY_ID) == (16), "DCCP_SOCKOPT_QPOLICY_ID != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_QPOLICY_ID 16 +#endif +#if defined(DCCP_SOCKOPT_QPOLICY_TXQLEN) || (defined(HAVE_DECL_DCCP_SOCKOPT_QPOLICY_TXQLEN) && HAVE_DECL_DCCP_SOCKOPT_QPOLICY_TXQLEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_QPOLICY_TXQLEN) == (17), "DCCP_SOCKOPT_QPOLICY_TXQLEN != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_QPOLICY_TXQLEN 17 +#endif +#if defined(DCCP_SOCKOPT_CCID_RX_INFO) || (defined(HAVE_DECL_DCCP_SOCKOPT_CCID_RX_INFO) && HAVE_DECL_DCCP_SOCKOPT_CCID_RX_INFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_CCID_RX_INFO) == (128), "DCCP_SOCKOPT_CCID_RX_INFO != 128"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_CCID_RX_INFO 128 +#endif +#if defined(DCCP_SOCKOPT_CCID_TX_INFO) || (defined(HAVE_DECL_DCCP_SOCKOPT_CCID_TX_INFO) && HAVE_DECL_DCCP_SOCKOPT_CCID_TX_INFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((DCCP_SOCKOPT_CCID_TX_INFO) == (192), "DCCP_SOCKOPT_CCID_TX_INFO != 192"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define DCCP_SOCKOPT_CCID_TX_INFO 192 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_dccp_options in mpers mode + +# else + +static +const struct xlat sock_dccp_options[] = { + + XLAT(DCCP_SOCKOPT_PACKET_SIZE), + XLAT(DCCP_SOCKOPT_SERVICE), + XLAT(DCCP_SOCKOPT_CHANGE_L), + XLAT(DCCP_SOCKOPT_CHANGE_R), + XLAT(DCCP_SOCKOPT_GET_CUR_MPS), + XLAT(DCCP_SOCKOPT_SERVER_TIMEWAIT), + XLAT(DCCP_SOCKOPT_SEND_CSCOV), + XLAT(DCCP_SOCKOPT_RECV_CSCOV), + XLAT(DCCP_SOCKOPT_AVAILABLE_CCIDS), + XLAT(DCCP_SOCKOPT_CCID), + XLAT(DCCP_SOCKOPT_TX_CCID), + XLAT(DCCP_SOCKOPT_RX_CCID), + XLAT(DCCP_SOCKOPT_QPOLICY_ID), + XLAT(DCCP_SOCKOPT_QPOLICY_TXQLEN), + XLAT(DCCP_SOCKOPT_CCID_RX_INFO), + XLAT(DCCP_SOCKOPT_CCID_TX_INFO), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_dccp_options.in b/xlat/sock_dccp_options.in new file mode 100644 index 00000000..06a0efe8 --- /dev/null +++ b/xlat/sock_dccp_options.in @@ -0,0 +1,17 @@ +/* sort -k2,2n */ +DCCP_SOCKOPT_PACKET_SIZE 1 +DCCP_SOCKOPT_SERVICE 2 +DCCP_SOCKOPT_CHANGE_L 3 +DCCP_SOCKOPT_CHANGE_R 4 +DCCP_SOCKOPT_GET_CUR_MPS 5 +DCCP_SOCKOPT_SERVER_TIMEWAIT 6 +DCCP_SOCKOPT_SEND_CSCOV 10 +DCCP_SOCKOPT_RECV_CSCOV 11 +DCCP_SOCKOPT_AVAILABLE_CCIDS 12 +DCCP_SOCKOPT_CCID 13 +DCCP_SOCKOPT_TX_CCID 14 +DCCP_SOCKOPT_RX_CCID 15 +DCCP_SOCKOPT_QPOLICY_ID 16 +DCCP_SOCKOPT_QPOLICY_TXQLEN 17 +DCCP_SOCKOPT_CCID_RX_INFO 128 +DCCP_SOCKOPT_CCID_TX_INFO 192 diff --git a/xlat/sockipoptions.h b/xlat/sock_ip_options.h similarity index 94% rename from xlat/sockipoptions.h rename to xlat/sock_ip_options.h index 26d768f9..496db57c 100644 --- a/xlat/sockipoptions.h +++ b/xlat/sock_ip_options.h @@ -1,13 +1,19 @@ -/* Generated by ./xlat/gen.sh from ./xlat/sockipoptions.in; do not edit. */ +/* Generated by ./xlat/gen.sh from ./xlat/sock_ip_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sockipoptions in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_ip_options in mpers mode + +# else static -const struct xlat sockipoptions[] = { +const struct xlat sock_ip_options[] = { #if defined(IP_TOS) || (defined(HAVE_DECL_IP_TOS) && HAVE_DECL_IP_TOS) XLAT(IP_TOS), #endif @@ -161,4 +167,6 @@ const struct xlat sockipoptions[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_ip_options.in b/xlat/sock_ip_options.in new file mode 100644 index 00000000..51ed1343 --- /dev/null +++ b/xlat/sock_ip_options.in @@ -0,0 +1,50 @@ +IP_TOS +IP_TTL +IP_HDRINCL +IP_OPTIONS +IP_ROUTER_ALERT +IP_RECVOPTIONS +IP_RECVOPTS +IP_RETOPTS +IP_RECVRETOPTS +IP_RECVDSTADDR +IP_PKTINFO +IP_PKTOPTIONS +IP_MTU_DISCOVER +IP_RECVERR +IP_RECVTTL +IP_RECVTOS +IP_MTU +IP_MULTICAST_IF +IP_MULTICAST_TTL +IP_MULTICAST_LOOP +IP_ADD_MEMBERSHIP +IP_DROP_MEMBERSHIP +IP_BROADCAST_IF +IP_RECVIFINDEX +IP_MSFILTER +IP_FREEBIND +IP_IPSEC_POLICY +IP_XFRM_POLICY +IP_PASSSEC +IP_TRANSPARENT +IP_ORIGDSTADDR +IP_RECVORIGDSTADDR +IP_MINTTL +IP_NODEFRAG +IP_CHECKSUM +IP_BIND_ADDRESS_NO_PORT +IP_RECVFRAGSIZE +IP_UNBLOCK_SOURCE +IP_BLOCK_SOURCE +IP_ADD_SOURCE_MEMBERSHIP +IP_DROP_SOURCE_MEMBERSHIP +MCAST_JOIN_GROUP +MCAST_BLOCK_SOURCE +MCAST_UNBLOCK_SOURCE +MCAST_LEAVE_GROUP +MCAST_JOIN_SOURCE_GROUP +MCAST_LEAVE_SOURCE_GROUP +MCAST_MSFILTER +IP_MULTICAST_ALL +IP_UNICAST_IF diff --git a/xlat/sockipv6options.h b/xlat/sock_ipv6_options.h similarity index 95% rename from xlat/sockipv6options.h rename to xlat/sock_ipv6_options.h index 4309089b..14ea3414 100644 --- a/xlat/sockipv6options.h +++ b/xlat/sock_ipv6_options.h @@ -1,13 +1,19 @@ -/* Generated by ./xlat/gen.sh from ./xlat/sockipv6options.in; do not edit. */ +/* Generated by ./xlat/gen.sh from ./xlat/sock_ipv6_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sockipv6options in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_ipv6_options in mpers mode + +# else static -const struct xlat sockipv6options[] = { +const struct xlat sock_ipv6_options[] = { #if defined(IPV6_ADDRFORM) || (defined(HAVE_DECL_IPV6_ADDRFORM) && HAVE_DECL_IPV6_ADDRFORM) XLAT(IPV6_ADDRFORM), #endif @@ -197,4 +203,6 @@ const struct xlat sockipv6options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_ipv6_options.in b/xlat/sock_ipv6_options.in new file mode 100644 index 00000000..4f23d197 --- /dev/null +++ b/xlat/sock_ipv6_options.in @@ -0,0 +1,62 @@ +IPV6_ADDRFORM +IPV6_2292PKTINFO +IPV6_2292HOPOPTS +IPV6_2292DSTOPTS +IPV6_2292RTHDR +IPV6_2292PKTOPTIONS +IPV6_CHECKSUM +IPV6_2292HOPLIMIT +IPV6_NEXTHOP +IPV6_AUTHHDR +IPV6_FLOWINFO +IPV6_UNICAST_HOPS +IPV6_MULTICAST_IF +IPV6_MULTICAST_HOPS +IPV6_MULTICAST_LOOP +IPV6_ADD_MEMBERSHIP +IPV6_DROP_MEMBERSHIP +IPV6_ROUTER_ALERT +IPV6_MTU_DISCOVER +IPV6_MTU +IPV6_RECVERR +IPV6_V6ONLY +IPV6_JOIN_ANYCAST +IPV6_LEAVE_ANYCAST +IPV6_FLOWLABEL_MGR +IPV6_FLOWINFO_SEND +IPV6_IPSEC_POLICY +IPV6_XFRM_POLICY +IPV6_HDRINCL +MCAST_JOIN_GROUP +MCAST_BLOCK_SOURCE +MCAST_UNBLOCK_SOURCE +MCAST_LEAVE_GROUP +MCAST_JOIN_SOURCE_GROUP +MCAST_LEAVE_SOURCE_GROUP +MCAST_MSFILTER +IPV6_RECVPKTINFO +IPV6_PKTINFO +IPV6_RECVHOPLIMIT +IPV6_HOPLIMIT +IPV6_RECVHOPOPTS +IPV6_HOPOPTS +IPV6_RTHDRDSTOPTS +IPV6_RECVRTHDR +IPV6_RTHDR +IPV6_RECVDSTOPTS +IPV6_DSTOPTS +IPV6_RECVPATHMTU +IPV6_PATHMTU +IPV6_DONTFRAG +IPV6_USE_MIN_MTU +IPV6_RECVTCLASS +IPV6_TCLASS +IPV6_AUTOFLOWLABEL +IPV6_ADDR_PREFERENCES +IPV6_MINHOPCOUNT +IPV6_ORIGDSTADDR +IPV6_RECVORIGDSTADDR +IPV6_TRANSPARENT +IPV6_UNICAST_IF +IPV6_RECVFRAGSIZE +IPV6_FREEBIND diff --git a/xlat/sock_ipx_options.h b/xlat/sock_ipx_options.h new file mode 100644 index 00000000..cee80f17 --- /dev/null +++ b/xlat/sock_ipx_options.h @@ -0,0 +1,25 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_ipx_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_ipx_options in mpers mode + +# else + +static +const struct xlat sock_ipx_options[] = { +#if defined(IPX_TYPE) || (defined(HAVE_DECL_IPX_TYPE) && HAVE_DECL_IPX_TYPE) + XLAT(IPX_TYPE), +#endif + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_ipx_options.in b/xlat/sock_ipx_options.in new file mode 100644 index 00000000..eba97fd7 --- /dev/null +++ b/xlat/sock_ipx_options.in @@ -0,0 +1 @@ +IPX_TYPE diff --git a/xlat/sock_irda_options.h b/xlat/sock_irda_options.h new file mode 100644 index 00000000..59643905 --- /dev/null +++ b/xlat/sock_irda_options.h @@ -0,0 +1,110 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_irda_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IRLMP_ENUMDEVICES) || (defined(HAVE_DECL_IRLMP_ENUMDEVICES) && HAVE_DECL_IRLMP_ENUMDEVICES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_ENUMDEVICES) == (1), "IRLMP_ENUMDEVICES != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_ENUMDEVICES 1 +#endif +#if defined(IRLMP_IAS_SET) || (defined(HAVE_DECL_IRLMP_IAS_SET) && HAVE_DECL_IRLMP_IAS_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_IAS_SET) == (2), "IRLMP_IAS_SET != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_IAS_SET 2 +#endif +#if defined(IRLMP_IAS_QUERY) || (defined(HAVE_DECL_IRLMP_IAS_QUERY) && HAVE_DECL_IRLMP_IAS_QUERY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_IAS_QUERY) == (3), "IRLMP_IAS_QUERY != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_IAS_QUERY 3 +#endif +#if defined(IRLMP_HINTS_SET) || (defined(HAVE_DECL_IRLMP_HINTS_SET) && HAVE_DECL_IRLMP_HINTS_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_HINTS_SET) == (4), "IRLMP_HINTS_SET != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_HINTS_SET 4 +#endif +#if defined(IRLMP_QOS_SET) || (defined(HAVE_DECL_IRLMP_QOS_SET) && HAVE_DECL_IRLMP_QOS_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_QOS_SET) == (5), "IRLMP_QOS_SET != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_QOS_SET 5 +#endif +#if defined(IRLMP_QOS_GET) || (defined(HAVE_DECL_IRLMP_QOS_GET) && HAVE_DECL_IRLMP_QOS_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_QOS_GET) == (6), "IRLMP_QOS_GET != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_QOS_GET 6 +#endif +#if defined(IRLMP_MAX_SDU_SIZE) || (defined(HAVE_DECL_IRLMP_MAX_SDU_SIZE) && HAVE_DECL_IRLMP_MAX_SDU_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_MAX_SDU_SIZE) == (7), "IRLMP_MAX_SDU_SIZE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_MAX_SDU_SIZE 7 +#endif +#if defined(IRLMP_IAS_GET) || (defined(HAVE_DECL_IRLMP_IAS_GET) && HAVE_DECL_IRLMP_IAS_GET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_IAS_GET) == (8), "IRLMP_IAS_GET != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_IAS_GET 8 +#endif +#if defined(IRLMP_IAS_DEL) || (defined(HAVE_DECL_IRLMP_IAS_DEL) && HAVE_DECL_IRLMP_IAS_DEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_IAS_DEL) == (9), "IRLMP_IAS_DEL != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_IAS_DEL 9 +#endif +#if defined(IRLMP_HINT_MASK_SET) || (defined(HAVE_DECL_IRLMP_HINT_MASK_SET) && HAVE_DECL_IRLMP_HINT_MASK_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_HINT_MASK_SET) == (10), "IRLMP_HINT_MASK_SET != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_HINT_MASK_SET 10 +#endif +#if defined(IRLMP_WAITDEVICE) || (defined(HAVE_DECL_IRLMP_WAITDEVICE) && HAVE_DECL_IRLMP_WAITDEVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IRLMP_WAITDEVICE) == (11), "IRLMP_WAITDEVICE != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IRLMP_WAITDEVICE 11 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_irda_options in mpers mode + +# else + +static +const struct xlat sock_irda_options[] = { + [IRLMP_ENUMDEVICES] = XLAT(IRLMP_ENUMDEVICES), + [IRLMP_IAS_SET] = XLAT(IRLMP_IAS_SET), + [IRLMP_IAS_QUERY] = XLAT(IRLMP_IAS_QUERY), + [IRLMP_HINTS_SET] = XLAT(IRLMP_HINTS_SET), + [IRLMP_QOS_SET] = XLAT(IRLMP_QOS_SET), + [IRLMP_QOS_GET] = XLAT(IRLMP_QOS_GET), + [IRLMP_MAX_SDU_SIZE] = XLAT(IRLMP_MAX_SDU_SIZE), + [IRLMP_IAS_GET] = XLAT(IRLMP_IAS_GET), + [IRLMP_IAS_DEL] = XLAT(IRLMP_IAS_DEL), + [IRLMP_HINT_MASK_SET] = XLAT(IRLMP_HINT_MASK_SET), + [IRLMP_WAITDEVICE] = XLAT(IRLMP_WAITDEVICE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_irda_options.in b/xlat/sock_irda_options.in new file mode 100644 index 00000000..a26e098b --- /dev/null +++ b/xlat/sock_irda_options.in @@ -0,0 +1,12 @@ +#value_indexed +IRLMP_ENUMDEVICES 1 +IRLMP_IAS_SET 2 +IRLMP_IAS_QUERY 3 +IRLMP_HINTS_SET 4 +IRLMP_QOS_SET 5 +IRLMP_QOS_GET 6 +IRLMP_MAX_SDU_SIZE 7 +IRLMP_IAS_GET 8 +IRLMP_IAS_DEL 9 +IRLMP_HINT_MASK_SET 10 +IRLMP_WAITDEVICE 11 diff --git a/xlat/sock_iucv_options.h b/xlat/sock_iucv_options.h new file mode 100644 index 00000000..ad4b1734 --- /dev/null +++ b/xlat/sock_iucv_options.h @@ -0,0 +1,46 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_iucv_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SO_IPRMDATA_MSG) || (defined(HAVE_DECL_SO_IPRMDATA_MSG) && HAVE_DECL_SO_IPRMDATA_MSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_IPRMDATA_MSG) == (0x0080), "SO_IPRMDATA_MSG != 0x0080"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_IPRMDATA_MSG 0x0080 +#endif +#if defined(SO_MSGLIMIT) || (defined(HAVE_DECL_SO_MSGLIMIT) && HAVE_DECL_SO_MSGLIMIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MSGLIMIT) == (0x1000), "SO_MSGLIMIT != 0x1000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MSGLIMIT 0x1000 +#endif +#if defined(SO_MSGSIZE) || (defined(HAVE_DECL_SO_MSGSIZE) && HAVE_DECL_SO_MSGSIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MSGSIZE) == (0x0800), "SO_MSGSIZE != 0x0800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MSGSIZE 0x0800 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_iucv_options in mpers mode + +# else + +static +const struct xlat sock_iucv_options[] = { + XLAT(SO_IPRMDATA_MSG), + XLAT(SO_MSGLIMIT), + XLAT(SO_MSGSIZE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_iucv_options.in b/xlat/sock_iucv_options.in new file mode 100644 index 00000000..827b54c2 --- /dev/null +++ b/xlat/sock_iucv_options.in @@ -0,0 +1,3 @@ +SO_IPRMDATA_MSG 0x0080 +SO_MSGLIMIT 0x1000 +SO_MSGSIZE 0x0800 diff --git a/xlat/sock_kcm_options.h b/xlat/sock_kcm_options.h new file mode 100644 index 00000000..43e4cc48 --- /dev/null +++ b/xlat/sock_kcm_options.h @@ -0,0 +1,30 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_kcm_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KCM_RECV_DISABLE) || (defined(HAVE_DECL_KCM_RECV_DISABLE) && HAVE_DECL_KCM_RECV_DISABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KCM_RECV_DISABLE) == (1), "KCM_RECV_DISABLE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define KCM_RECV_DISABLE 1 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_kcm_options in mpers mode + +# else + +static +const struct xlat sock_kcm_options[] = { + XLAT(KCM_RECV_DISABLE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_kcm_options.in b/xlat/sock_kcm_options.in new file mode 100644 index 00000000..ee58639a --- /dev/null +++ b/xlat/sock_kcm_options.in @@ -0,0 +1 @@ +KCM_RECV_DISABLE 1 diff --git a/xlat/sock_llc_options.h b/xlat/sock_llc_options.h new file mode 100644 index 00000000..109ecdc5 --- /dev/null +++ b/xlat/sock_llc_options.h @@ -0,0 +1,102 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_llc_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(LLC_OPT_UNKNOWN) || (defined(HAVE_DECL_LLC_OPT_UNKNOWN) && HAVE_DECL_LLC_OPT_UNKNOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_UNKNOWN) == (0), "LLC_OPT_UNKNOWN != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_UNKNOWN 0 +#endif +#if defined(LLC_OPT_RETRY) || (defined(HAVE_DECL_LLC_OPT_RETRY) && HAVE_DECL_LLC_OPT_RETRY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_RETRY) == (1), "LLC_OPT_RETRY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_RETRY 1 +#endif +#if defined(LLC_OPT_SIZE) || (defined(HAVE_DECL_LLC_OPT_SIZE) && HAVE_DECL_LLC_OPT_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_SIZE) == (2), "LLC_OPT_SIZE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_SIZE 2 +#endif +#if defined(LLC_OPT_ACK_TMR_EXP) || (defined(HAVE_DECL_LLC_OPT_ACK_TMR_EXP) && HAVE_DECL_LLC_OPT_ACK_TMR_EXP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_ACK_TMR_EXP) == (3), "LLC_OPT_ACK_TMR_EXP != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_ACK_TMR_EXP 3 +#endif +#if defined(LLC_OPT_P_TMR_EXP) || (defined(HAVE_DECL_LLC_OPT_P_TMR_EXP) && HAVE_DECL_LLC_OPT_P_TMR_EXP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_P_TMR_EXP) == (4), "LLC_OPT_P_TMR_EXP != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_P_TMR_EXP 4 +#endif +#if defined(LLC_OPT_REJ_TMR_EXP) || (defined(HAVE_DECL_LLC_OPT_REJ_TMR_EXP) && HAVE_DECL_LLC_OPT_REJ_TMR_EXP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_REJ_TMR_EXP) == (5), "LLC_OPT_REJ_TMR_EXP != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_REJ_TMR_EXP 5 +#endif +#if defined(LLC_OPT_BUSY_TMR_EXP) || (defined(HAVE_DECL_LLC_OPT_BUSY_TMR_EXP) && HAVE_DECL_LLC_OPT_BUSY_TMR_EXP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_BUSY_TMR_EXP) == (6), "LLC_OPT_BUSY_TMR_EXP != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_BUSY_TMR_EXP 6 +#endif +#if defined(LLC_OPT_TX_WIN) || (defined(HAVE_DECL_LLC_OPT_TX_WIN) && HAVE_DECL_LLC_OPT_TX_WIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_TX_WIN) == (7), "LLC_OPT_TX_WIN != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_TX_WIN 7 +#endif +#if defined(LLC_OPT_RX_WIN) || (defined(HAVE_DECL_LLC_OPT_RX_WIN) && HAVE_DECL_LLC_OPT_RX_WIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_RX_WIN) == (8), "LLC_OPT_RX_WIN != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_RX_WIN 8 +#endif +#if defined(LLC_OPT_PKTINFO) || (defined(HAVE_DECL_LLC_OPT_PKTINFO) && HAVE_DECL_LLC_OPT_PKTINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((LLC_OPT_PKTINFO) == (9), "LLC_OPT_PKTINFO != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define LLC_OPT_PKTINFO 9 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_llc_options in mpers mode + +# else + +static +const struct xlat sock_llc_options[] = { + [LLC_OPT_UNKNOWN] = XLAT(LLC_OPT_UNKNOWN), + [LLC_OPT_RETRY] = XLAT(LLC_OPT_RETRY), + [LLC_OPT_SIZE] = XLAT(LLC_OPT_SIZE), + [LLC_OPT_ACK_TMR_EXP] = XLAT(LLC_OPT_ACK_TMR_EXP), + [LLC_OPT_P_TMR_EXP] = XLAT(LLC_OPT_P_TMR_EXP), + [LLC_OPT_REJ_TMR_EXP] = XLAT(LLC_OPT_REJ_TMR_EXP), + [LLC_OPT_BUSY_TMR_EXP] = XLAT(LLC_OPT_BUSY_TMR_EXP), + [LLC_OPT_TX_WIN] = XLAT(LLC_OPT_TX_WIN), + [LLC_OPT_RX_WIN] = XLAT(LLC_OPT_RX_WIN), + [LLC_OPT_PKTINFO] = XLAT(LLC_OPT_PKTINFO), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_llc_options.in b/xlat/sock_llc_options.in new file mode 100644 index 00000000..7a948d71 --- /dev/null +++ b/xlat/sock_llc_options.in @@ -0,0 +1,11 @@ +#value_indexed +LLC_OPT_UNKNOWN 0 +LLC_OPT_RETRY 1 +LLC_OPT_SIZE 2 +LLC_OPT_ACK_TMR_EXP 3 +LLC_OPT_P_TMR_EXP 4 +LLC_OPT_REJ_TMR_EXP 5 +LLC_OPT_BUSY_TMR_EXP 6 +LLC_OPT_TX_WIN 7 +LLC_OPT_RX_WIN 8 +LLC_OPT_PKTINFO 9 diff --git a/xlat/sock_netlink_options.h b/xlat/sock_netlink_options.h new file mode 100644 index 00000000..8f359db6 --- /dev/null +++ b/xlat/sock_netlink_options.h @@ -0,0 +1,110 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_netlink_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NETLINK_ADD_MEMBERSHIP) || (defined(HAVE_DECL_NETLINK_ADD_MEMBERSHIP) && HAVE_DECL_NETLINK_ADD_MEMBERSHIP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_ADD_MEMBERSHIP) == (1), "NETLINK_ADD_MEMBERSHIP != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_ADD_MEMBERSHIP 1 +#endif +#if defined(NETLINK_DROP_MEMBERSHIP) || (defined(HAVE_DECL_NETLINK_DROP_MEMBERSHIP) && HAVE_DECL_NETLINK_DROP_MEMBERSHIP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_DROP_MEMBERSHIP) == (2), "NETLINK_DROP_MEMBERSHIP != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_DROP_MEMBERSHIP 2 +#endif +#if defined(NETLINK_PKTINFO) || (defined(HAVE_DECL_NETLINK_PKTINFO) && HAVE_DECL_NETLINK_PKTINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_PKTINFO) == (3), "NETLINK_PKTINFO != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_PKTINFO 3 +#endif +#if defined(NETLINK_BROADCAST_ERROR) || (defined(HAVE_DECL_NETLINK_BROADCAST_ERROR) && HAVE_DECL_NETLINK_BROADCAST_ERROR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_BROADCAST_ERROR) == (4), "NETLINK_BROADCAST_ERROR != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_BROADCAST_ERROR 4 +#endif +#if defined(NETLINK_NO_ENOBUFS) || (defined(HAVE_DECL_NETLINK_NO_ENOBUFS) && HAVE_DECL_NETLINK_NO_ENOBUFS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_NO_ENOBUFS) == (5), "NETLINK_NO_ENOBUFS != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_NO_ENOBUFS 5 +#endif +#if defined(NETLINK_RX_RING) || (defined(HAVE_DECL_NETLINK_RX_RING) && HAVE_DECL_NETLINK_RX_RING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_RX_RING) == (6), "NETLINK_RX_RING != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_RX_RING 6 +#endif +#if defined(NETLINK_TX_RING) || (defined(HAVE_DECL_NETLINK_TX_RING) && HAVE_DECL_NETLINK_TX_RING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_TX_RING) == (7), "NETLINK_TX_RING != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_TX_RING 7 +#endif +#if defined(NETLINK_LISTEN_ALL_NSID) || (defined(HAVE_DECL_NETLINK_LISTEN_ALL_NSID) && HAVE_DECL_NETLINK_LISTEN_ALL_NSID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_LISTEN_ALL_NSID) == (8), "NETLINK_LISTEN_ALL_NSID != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_LISTEN_ALL_NSID 8 +#endif +#if defined(NETLINK_LIST_MEMBERSHIPS) || (defined(HAVE_DECL_NETLINK_LIST_MEMBERSHIPS) && HAVE_DECL_NETLINK_LIST_MEMBERSHIPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_LIST_MEMBERSHIPS) == (9), "NETLINK_LIST_MEMBERSHIPS != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_LIST_MEMBERSHIPS 9 +#endif +#if defined(NETLINK_CAP_ACK) || (defined(HAVE_DECL_NETLINK_CAP_ACK) && HAVE_DECL_NETLINK_CAP_ACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_CAP_ACK) == (10), "NETLINK_CAP_ACK != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_CAP_ACK 10 +#endif +#if defined(NETLINK_EXT_ACK) || (defined(HAVE_DECL_NETLINK_EXT_ACK) && HAVE_DECL_NETLINK_EXT_ACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NETLINK_EXT_ACK) == (11), "NETLINK_EXT_ACK != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NETLINK_EXT_ACK 11 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_netlink_options in mpers mode + +# else + +static +const struct xlat sock_netlink_options[] = { + XLAT(NETLINK_ADD_MEMBERSHIP), + XLAT(NETLINK_DROP_MEMBERSHIP), + XLAT(NETLINK_PKTINFO), + XLAT(NETLINK_BROADCAST_ERROR), + XLAT(NETLINK_NO_ENOBUFS), + XLAT(NETLINK_RX_RING), + XLAT(NETLINK_TX_RING), + XLAT(NETLINK_LISTEN_ALL_NSID), + XLAT(NETLINK_LIST_MEMBERSHIPS), + XLAT(NETLINK_CAP_ACK), + XLAT(NETLINK_EXT_ACK), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_netlink_options.in b/xlat/sock_netlink_options.in new file mode 100644 index 00000000..033ffd42 --- /dev/null +++ b/xlat/sock_netlink_options.in @@ -0,0 +1,11 @@ +NETLINK_ADD_MEMBERSHIP 1 +NETLINK_DROP_MEMBERSHIP 2 +NETLINK_PKTINFO 3 +NETLINK_BROADCAST_ERROR 4 +NETLINK_NO_ENOBUFS 5 +NETLINK_RX_RING 6 +NETLINK_TX_RING 7 +NETLINK_LISTEN_ALL_NSID 8 +NETLINK_LIST_MEMBERSHIPS 9 +NETLINK_CAP_ACK 10 +NETLINK_EXT_ACK 11 diff --git a/xlat/sock_nfcllcp_options.h b/xlat/sock_nfcllcp_options.h new file mode 100644 index 00000000..4d7bfb8f --- /dev/null +++ b/xlat/sock_nfcllcp_options.h @@ -0,0 +1,62 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_nfcllcp_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(NFC_LLCP_RW) || (defined(HAVE_DECL_NFC_LLCP_RW) && HAVE_DECL_NFC_LLCP_RW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFC_LLCP_RW) == (0), "NFC_LLCP_RW != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NFC_LLCP_RW 0 +#endif +#if defined(NFC_LLCP_MIUX) || (defined(HAVE_DECL_NFC_LLCP_MIUX) && HAVE_DECL_NFC_LLCP_MIUX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFC_LLCP_MIUX) == (1), "NFC_LLCP_MIUX != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NFC_LLCP_MIUX 1 +#endif +#if defined(NFC_LLCP_REMOTE_MIU) || (defined(HAVE_DECL_NFC_LLCP_REMOTE_MIU) && HAVE_DECL_NFC_LLCP_REMOTE_MIU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFC_LLCP_REMOTE_MIU) == (2), "NFC_LLCP_REMOTE_MIU != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NFC_LLCP_REMOTE_MIU 2 +#endif +#if defined(NFC_LLCP_REMOTE_LTO) || (defined(HAVE_DECL_NFC_LLCP_REMOTE_LTO) && HAVE_DECL_NFC_LLCP_REMOTE_LTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFC_LLCP_REMOTE_LTO) == (3), "NFC_LLCP_REMOTE_LTO != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NFC_LLCP_REMOTE_LTO 3 +#endif +#if defined(NFC_LLCP_REMOTE_RW) || (defined(HAVE_DECL_NFC_LLCP_REMOTE_RW) && HAVE_DECL_NFC_LLCP_REMOTE_RW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((NFC_LLCP_REMOTE_RW) == (4), "NFC_LLCP_REMOTE_RW != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define NFC_LLCP_REMOTE_RW 4 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_nfcllcp_options in mpers mode + +# else + +static +const struct xlat sock_nfcllcp_options[] = { + [NFC_LLCP_RW] = XLAT(NFC_LLCP_RW), + [NFC_LLCP_MIUX] = XLAT(NFC_LLCP_MIUX), + [NFC_LLCP_REMOTE_MIU] = XLAT(NFC_LLCP_REMOTE_MIU), + [NFC_LLCP_REMOTE_LTO] = XLAT(NFC_LLCP_REMOTE_LTO), + [NFC_LLCP_REMOTE_RW] = XLAT(NFC_LLCP_REMOTE_RW), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_nfcllcp_options.in b/xlat/sock_nfcllcp_options.in new file mode 100644 index 00000000..c9f9fdc0 --- /dev/null +++ b/xlat/sock_nfcllcp_options.in @@ -0,0 +1,6 @@ +#value_indexed +NFC_LLCP_RW 0 +NFC_LLCP_MIUX 1 +NFC_LLCP_REMOTE_MIU 2 +NFC_LLCP_REMOTE_LTO 3 +NFC_LLCP_REMOTE_RW 4 diff --git a/xlat/sock_options.h b/xlat/sock_options.h new file mode 100644 index 00000000..a85a8ad9 --- /dev/null +++ b/xlat/sock_options.h @@ -0,0 +1,1858 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SO_DEBUG) || (defined(HAVE_DECL_SO_DEBUG) && HAVE_DECL_SO_DEBUG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_DEBUG) == (1), "SO_DEBUG != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_DEBUG 1 +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_REUSEADDR) || (defined(HAVE_DECL_SO_REUSEADDR) && HAVE_DECL_SO_REUSEADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_REUSEADDR) == (4), "SO_REUSEADDR != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_REUSEADDR 4 +#endif +#else +#if defined(SO_REUSEADDR) || (defined(HAVE_DECL_SO_REUSEADDR) && HAVE_DECL_SO_REUSEADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_REUSEADDR) == (2), "SO_REUSEADDR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_REUSEADDR 2 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_TYPE) || (defined(HAVE_DECL_SO_TYPE) && HAVE_DECL_SO_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TYPE) == (4104), "SO_TYPE != 4104"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TYPE 4104 +#endif +#else +#if defined(SO_TYPE) || (defined(HAVE_DECL_SO_TYPE) && HAVE_DECL_SO_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TYPE) == (3), "SO_TYPE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TYPE 3 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_ERROR) || (defined(HAVE_DECL_SO_ERROR) && HAVE_DECL_SO_ERROR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ERROR) == (4103), "SO_ERROR != 4103"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ERROR 4103 +#endif +#else +#if defined(SO_ERROR) || (defined(HAVE_DECL_SO_ERROR) && HAVE_DECL_SO_ERROR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ERROR) == (4), "SO_ERROR != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ERROR 4 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_DONTROUTE) || (defined(HAVE_DECL_SO_DONTROUTE) && HAVE_DECL_SO_DONTROUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_DONTROUTE) == (16), "SO_DONTROUTE != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_DONTROUTE 16 +#endif +#else +#if defined(SO_DONTROUTE) || (defined(HAVE_DECL_SO_DONTROUTE) && HAVE_DECL_SO_DONTROUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_DONTROUTE) == (5), "SO_DONTROUTE != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_DONTROUTE 5 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_BROADCAST) || (defined(HAVE_DECL_SO_BROADCAST) && HAVE_DECL_SO_BROADCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BROADCAST) == (32), "SO_BROADCAST != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BROADCAST 32 +#endif +#else +#if defined(SO_BROADCAST) || (defined(HAVE_DECL_SO_BROADCAST) && HAVE_DECL_SO_BROADCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BROADCAST) == (6), "SO_BROADCAST != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BROADCAST 6 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_SNDBUF) || (defined(HAVE_DECL_SO_SNDBUF) && HAVE_DECL_SO_SNDBUF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDBUF) == (4097), "SO_SNDBUF != 4097"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDBUF 4097 +#endif +#else +#if defined(SO_SNDBUF) || (defined(HAVE_DECL_SO_SNDBUF) && HAVE_DECL_SO_SNDBUF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDBUF) == (7), "SO_SNDBUF != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDBUF 7 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_RCVBUF) || (defined(HAVE_DECL_SO_RCVBUF) && HAVE_DECL_SO_RCVBUF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVBUF) == (4098), "SO_RCVBUF != 4098"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVBUF 4098 +#endif +#else +#if defined(SO_RCVBUF) || (defined(HAVE_DECL_SO_RCVBUF) && HAVE_DECL_SO_RCVBUF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVBUF) == (8), "SO_RCVBUF != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVBUF 8 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_KEEPALIVE) || (defined(HAVE_DECL_SO_KEEPALIVE) && HAVE_DECL_SO_KEEPALIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_KEEPALIVE) == (8), "SO_KEEPALIVE != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_KEEPALIVE 8 +#endif +#else +#if defined(SO_KEEPALIVE) || (defined(HAVE_DECL_SO_KEEPALIVE) && HAVE_DECL_SO_KEEPALIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_KEEPALIVE) == (9), "SO_KEEPALIVE != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_KEEPALIVE 9 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_OOBINLINE) || (defined(HAVE_DECL_SO_OOBINLINE) && HAVE_DECL_SO_OOBINLINE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_OOBINLINE) == (256), "SO_OOBINLINE != 256"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_OOBINLINE 256 +#endif +#else +#if defined(SO_OOBINLINE) || (defined(HAVE_DECL_SO_OOBINLINE) && HAVE_DECL_SO_OOBINLINE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_OOBINLINE) == (10), "SO_OOBINLINE != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_OOBINLINE 10 +#endif +#endif +#if defined __hppa__ +#if defined(SO_NO_CHECK) || (defined(HAVE_DECL_SO_NO_CHECK) && HAVE_DECL_SO_NO_CHECK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_NO_CHECK) == (16395), "SO_NO_CHECK != 16395"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_NO_CHECK 16395 +#endif +#else +#if defined(SO_NO_CHECK) || (defined(HAVE_DECL_SO_NO_CHECK) && HAVE_DECL_SO_NO_CHECK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_NO_CHECK) == (11), "SO_NO_CHECK != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_NO_CHECK 11 +#endif +#endif +#if defined __hppa__ +#if defined(SO_PRIORITY) || (defined(HAVE_DECL_SO_PRIORITY) && HAVE_DECL_SO_PRIORITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PRIORITY) == (16396), "SO_PRIORITY != 16396"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PRIORITY 16396 +#endif +#else +#if defined(SO_PRIORITY) || (defined(HAVE_DECL_SO_PRIORITY) && HAVE_DECL_SO_PRIORITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PRIORITY) == (12), "SO_PRIORITY != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PRIORITY 12 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_LINGER) || (defined(HAVE_DECL_SO_LINGER) && HAVE_DECL_SO_LINGER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_LINGER) == (128), "SO_LINGER != 128"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_LINGER 128 +#endif +#else +#if defined(SO_LINGER) || (defined(HAVE_DECL_SO_LINGER) && HAVE_DECL_SO_LINGER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_LINGER) == (13), "SO_LINGER != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_LINGER 13 +#endif +#endif +#if defined __sparc__ +#if defined(SO_BSDCOMPAT) || (defined(HAVE_DECL_SO_BSDCOMPAT) && HAVE_DECL_SO_BSDCOMPAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BSDCOMPAT) == (1024), "SO_BSDCOMPAT != 1024"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BSDCOMPAT 1024 +#endif +#elif defined __hppa__ +#if defined(SO_BSDCOMPAT) || (defined(HAVE_DECL_SO_BSDCOMPAT) && HAVE_DECL_SO_BSDCOMPAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BSDCOMPAT) == (16398), "SO_BSDCOMPAT != 16398"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BSDCOMPAT 16398 +#endif +#else +#if defined(SO_BSDCOMPAT) || (defined(HAVE_DECL_SO_BSDCOMPAT) && HAVE_DECL_SO_BSDCOMPAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BSDCOMPAT) == (14), "SO_BSDCOMPAT != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BSDCOMPAT 14 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_REUSEPORT) || (defined(HAVE_DECL_SO_REUSEPORT) && HAVE_DECL_SO_REUSEPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_REUSEPORT) == (512), "SO_REUSEPORT != 512"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_REUSEPORT 512 +#endif +#else +#if defined(SO_REUSEPORT) || (defined(HAVE_DECL_SO_REUSEPORT) && HAVE_DECL_SO_REUSEPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_REUSEPORT) == (15), "SO_REUSEPORT != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_REUSEPORT 15 +#endif +#endif +#if defined __sparc__ +#if defined(SO_PASSCRED) || (defined(HAVE_DECL_SO_PASSCRED) && HAVE_DECL_SO_PASSCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PASSCRED) == (2), "SO_PASSCRED != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PASSCRED 2 +#endif +#elif defined __alpha__ || defined __mips__ +#if defined(SO_PASSCRED) || (defined(HAVE_DECL_SO_PASSCRED) && HAVE_DECL_SO_PASSCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PASSCRED) == (17), "SO_PASSCRED != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PASSCRED 17 +#endif +#elif defined __powerpc__ +#if defined(SO_PASSCRED) || (defined(HAVE_DECL_SO_PASSCRED) && HAVE_DECL_SO_PASSCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PASSCRED) == (20), "SO_PASSCRED != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PASSCRED 20 +#endif +#elif defined __hppa__ +#if defined(SO_PASSCRED) || (defined(HAVE_DECL_SO_PASSCRED) && HAVE_DECL_SO_PASSCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PASSCRED) == (16400), "SO_PASSCRED != 16400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PASSCRED 16400 +#endif +#else +#if defined(SO_PASSCRED) || (defined(HAVE_DECL_SO_PASSCRED) && HAVE_DECL_SO_PASSCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PASSCRED) == (16), "SO_PASSCRED != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PASSCRED 16 +#endif +#endif +#if defined __alpha__ || defined __mips__ +#if defined(SO_PEERCRED) || (defined(HAVE_DECL_SO_PEERCRED) && HAVE_DECL_SO_PEERCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERCRED) == (18), "SO_PEERCRED != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERCRED 18 +#endif +#elif defined __powerpc__ +#if defined(SO_PEERCRED) || (defined(HAVE_DECL_SO_PEERCRED) && HAVE_DECL_SO_PEERCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERCRED) == (21), "SO_PEERCRED != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERCRED 21 +#endif +#elif defined __sparc__ +#if defined(SO_PEERCRED) || (defined(HAVE_DECL_SO_PEERCRED) && HAVE_DECL_SO_PEERCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERCRED) == (64), "SO_PEERCRED != 64"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERCRED 64 +#endif +#elif defined __hppa__ +#if defined(SO_PEERCRED) || (defined(HAVE_DECL_SO_PEERCRED) && HAVE_DECL_SO_PEERCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERCRED) == (16401), "SO_PEERCRED != 16401"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERCRED 16401 +#endif +#else +#if defined(SO_PEERCRED) || (defined(HAVE_DECL_SO_PEERCRED) && HAVE_DECL_SO_PEERCRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERCRED) == (17), "SO_PEERCRED != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERCRED 17 +#endif +#endif +#if defined __powerpc__ +#if defined(SO_RCVLOWAT) || (defined(HAVE_DECL_SO_RCVLOWAT) && HAVE_DECL_SO_RCVLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVLOWAT) == (16), "SO_RCVLOWAT != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVLOWAT 16 +#endif +#elif defined __sparc__ +#if defined(SO_RCVLOWAT) || (defined(HAVE_DECL_SO_RCVLOWAT) && HAVE_DECL_SO_RCVLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVLOWAT) == (2048), "SO_RCVLOWAT != 2048"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVLOWAT 2048 +#endif +#elif defined __hppa__ || defined __mips__ +#if defined(SO_RCVLOWAT) || (defined(HAVE_DECL_SO_RCVLOWAT) && HAVE_DECL_SO_RCVLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVLOWAT) == (4100), "SO_RCVLOWAT != 4100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVLOWAT 4100 +#endif +#elif defined __alpha__ +#if defined(SO_RCVLOWAT) || (defined(HAVE_DECL_SO_RCVLOWAT) && HAVE_DECL_SO_RCVLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVLOWAT) == (4112), "SO_RCVLOWAT != 4112"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVLOWAT 4112 +#endif +#else +#if defined(SO_RCVLOWAT) || (defined(HAVE_DECL_SO_RCVLOWAT) && HAVE_DECL_SO_RCVLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVLOWAT) == (18), "SO_RCVLOWAT != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVLOWAT 18 +#endif +#endif +#if defined __powerpc__ +#if defined(SO_SNDLOWAT) || (defined(HAVE_DECL_SO_SNDLOWAT) && HAVE_DECL_SO_SNDLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDLOWAT) == (17), "SO_SNDLOWAT != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDLOWAT 17 +#endif +#elif defined __sparc__ +#if defined(SO_SNDLOWAT) || (defined(HAVE_DECL_SO_SNDLOWAT) && HAVE_DECL_SO_SNDLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDLOWAT) == (4096), "SO_SNDLOWAT != 4096"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDLOWAT 4096 +#endif +#elif defined __hppa__ || defined __mips__ +#if defined(SO_SNDLOWAT) || (defined(HAVE_DECL_SO_SNDLOWAT) && HAVE_DECL_SO_SNDLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDLOWAT) == (4099), "SO_SNDLOWAT != 4099"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDLOWAT 4099 +#endif +#elif defined __alpha__ +#if defined(SO_SNDLOWAT) || (defined(HAVE_DECL_SO_SNDLOWAT) && HAVE_DECL_SO_SNDLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDLOWAT) == (4113), "SO_SNDLOWAT != 4113"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDLOWAT 4113 +#endif +#else +#if defined(SO_SNDLOWAT) || (defined(HAVE_DECL_SO_SNDLOWAT) && HAVE_DECL_SO_SNDLOWAT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDLOWAT) == (19), "SO_SNDLOWAT != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDLOWAT 19 +#endif +#endif +#if defined __powerpc__ +#if defined(SO_RCVTIMEO) || (defined(HAVE_DECL_SO_RCVTIMEO) && HAVE_DECL_SO_RCVTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVTIMEO) == (18), "SO_RCVTIMEO != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVTIMEO 18 +#endif +#elif defined __hppa__ || defined __mips__ +#if defined(SO_RCVTIMEO) || (defined(HAVE_DECL_SO_RCVTIMEO) && HAVE_DECL_SO_RCVTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVTIMEO) == (4102), "SO_RCVTIMEO != 4102"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVTIMEO 4102 +#endif +#elif defined __alpha__ +#if defined(SO_RCVTIMEO) || (defined(HAVE_DECL_SO_RCVTIMEO) && HAVE_DECL_SO_RCVTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVTIMEO) == (4114), "SO_RCVTIMEO != 4114"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVTIMEO 4114 +#endif +#elif defined __sparc__ +#if defined(SO_RCVTIMEO) || (defined(HAVE_DECL_SO_RCVTIMEO) && HAVE_DECL_SO_RCVTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVTIMEO) == (8192), "SO_RCVTIMEO != 8192"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVTIMEO 8192 +#endif +#else +#if defined(SO_RCVTIMEO) || (defined(HAVE_DECL_SO_RCVTIMEO) && HAVE_DECL_SO_RCVTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVTIMEO) == (20), "SO_RCVTIMEO != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVTIMEO 20 +#endif +#endif +#if defined __powerpc__ +#if defined(SO_SNDTIMEO) || (defined(HAVE_DECL_SO_SNDTIMEO) && HAVE_DECL_SO_SNDTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDTIMEO) == (19), "SO_SNDTIMEO != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDTIMEO 19 +#endif +#elif defined __hppa__ || defined __mips__ +#if defined(SO_SNDTIMEO) || (defined(HAVE_DECL_SO_SNDTIMEO) && HAVE_DECL_SO_SNDTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDTIMEO) == (4101), "SO_SNDTIMEO != 4101"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDTIMEO 4101 +#endif +#elif defined __alpha__ +#if defined(SO_SNDTIMEO) || (defined(HAVE_DECL_SO_SNDTIMEO) && HAVE_DECL_SO_SNDTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDTIMEO) == (4115), "SO_SNDTIMEO != 4115"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDTIMEO 4115 +#endif +#elif defined __sparc__ +#if defined(SO_SNDTIMEO) || (defined(HAVE_DECL_SO_SNDTIMEO) && HAVE_DECL_SO_SNDTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDTIMEO) == (16384), "SO_SNDTIMEO != 16384"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDTIMEO 16384 +#endif +#else +#if defined(SO_SNDTIMEO) || (defined(HAVE_DECL_SO_SNDTIMEO) && HAVE_DECL_SO_SNDTIMEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDTIMEO) == (21), "SO_SNDTIMEO != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDTIMEO 21 +#endif +#endif +#if defined __alpha__ +#if defined(SO_SECURITY_AUTHENTICATION) || (defined(HAVE_DECL_SO_SECURITY_AUTHENTICATION) && HAVE_DECL_SO_SECURITY_AUTHENTICATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_AUTHENTICATION) == (19), "SO_SECURITY_AUTHENTICATION != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_AUTHENTICATION 19 +#endif +#elif defined __hppa__ +#if defined(SO_SECURITY_AUTHENTICATION) || (defined(HAVE_DECL_SO_SECURITY_AUTHENTICATION) && HAVE_DECL_SO_SECURITY_AUTHENTICATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_AUTHENTICATION) == (16406), "SO_SECURITY_AUTHENTICATION != 16406"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_AUTHENTICATION 16406 +#endif +#elif defined __sparc__ +#if defined(SO_SECURITY_AUTHENTICATION) || (defined(HAVE_DECL_SO_SECURITY_AUTHENTICATION) && HAVE_DECL_SO_SECURITY_AUTHENTICATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_AUTHENTICATION) == (20481), "SO_SECURITY_AUTHENTICATION != 20481"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_AUTHENTICATION 20481 +#endif +#else +#if defined(SO_SECURITY_AUTHENTICATION) || (defined(HAVE_DECL_SO_SECURITY_AUTHENTICATION) && HAVE_DECL_SO_SECURITY_AUTHENTICATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_AUTHENTICATION) == (22), "SO_SECURITY_AUTHENTICATION != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_AUTHENTICATION 22 +#endif +#endif +#if defined __alpha__ +#if defined(SO_SECURITY_ENCRYPTION_TRANSPORT) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) && HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_ENCRYPTION_TRANSPORT) == (20), "SO_SECURITY_ENCRYPTION_TRANSPORT != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_ENCRYPTION_TRANSPORT 20 +#endif +#elif defined __hppa__ +#if defined(SO_SECURITY_ENCRYPTION_TRANSPORT) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) && HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_ENCRYPTION_TRANSPORT) == (16407), "SO_SECURITY_ENCRYPTION_TRANSPORT != 16407"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_ENCRYPTION_TRANSPORT 16407 +#endif +#elif defined __sparc__ +#if defined(SO_SECURITY_ENCRYPTION_TRANSPORT) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) && HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_ENCRYPTION_TRANSPORT) == (20482), "SO_SECURITY_ENCRYPTION_TRANSPORT != 20482"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_ENCRYPTION_TRANSPORT 20482 +#endif +#else +#if defined(SO_SECURITY_ENCRYPTION_TRANSPORT) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) && HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_ENCRYPTION_TRANSPORT) == (23), "SO_SECURITY_ENCRYPTION_TRANSPORT != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_ENCRYPTION_TRANSPORT 23 +#endif +#endif +#if defined __alpha__ +#if defined(SO_SECURITY_ENCRYPTION_NETWORK) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) && HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_ENCRYPTION_NETWORK) == (21), "SO_SECURITY_ENCRYPTION_NETWORK != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_ENCRYPTION_NETWORK 21 +#endif +#elif defined __hppa__ +#if defined(SO_SECURITY_ENCRYPTION_NETWORK) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) && HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_ENCRYPTION_NETWORK) == (16408), "SO_SECURITY_ENCRYPTION_NETWORK != 16408"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_ENCRYPTION_NETWORK 16408 +#endif +#elif defined __sparc__ +#if defined(SO_SECURITY_ENCRYPTION_NETWORK) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) && HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_ENCRYPTION_NETWORK) == (20484), "SO_SECURITY_ENCRYPTION_NETWORK != 20484"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_ENCRYPTION_NETWORK 20484 +#endif +#else +#if defined(SO_SECURITY_ENCRYPTION_NETWORK) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) && HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SECURITY_ENCRYPTION_NETWORK) == (24), "SO_SECURITY_ENCRYPTION_NETWORK != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SECURITY_ENCRYPTION_NETWORK 24 +#endif +#endif +#if defined __sparc__ +#if defined(SO_BINDTODEVICE) || (defined(HAVE_DECL_SO_BINDTODEVICE) && HAVE_DECL_SO_BINDTODEVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BINDTODEVICE) == (13), "SO_BINDTODEVICE != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BINDTODEVICE 13 +#endif +#elif defined __hppa__ +#if defined(SO_BINDTODEVICE) || (defined(HAVE_DECL_SO_BINDTODEVICE) && HAVE_DECL_SO_BINDTODEVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BINDTODEVICE) == (16409), "SO_BINDTODEVICE != 16409"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BINDTODEVICE 16409 +#endif +#else +#if defined(SO_BINDTODEVICE) || (defined(HAVE_DECL_SO_BINDTODEVICE) && HAVE_DECL_SO_BINDTODEVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BINDTODEVICE) == (25), "SO_BINDTODEVICE != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BINDTODEVICE 25 +#endif +#endif +#if defined __hppa__ +#if defined(SO_DETACH_FILTER) || (defined(HAVE_DECL_SO_DETACH_FILTER) && HAVE_DECL_SO_DETACH_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_DETACH_FILTER) == (16411), "SO_DETACH_FILTER != 16411"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_DETACH_FILTER 16411 +#endif +#else +#if defined(SO_DETACH_FILTER) || (defined(HAVE_DECL_SO_DETACH_FILTER) && HAVE_DECL_SO_DETACH_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_DETACH_FILTER) == (27), "SO_DETACH_FILTER != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_DETACH_FILTER 27 +#endif +#endif +#if defined __hppa__ +#if defined(SO_PEERNAME) || (defined(HAVE_DECL_SO_PEERNAME) && HAVE_DECL_SO_PEERNAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERNAME) == (8192), "SO_PEERNAME != 8192"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERNAME 8192 +#endif +#else +#if defined(SO_PEERNAME) || (defined(HAVE_DECL_SO_PEERNAME) && HAVE_DECL_SO_PEERNAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERNAME) == (28), "SO_PEERNAME != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERNAME 28 +#endif +#endif +#if defined __hppa__ +#if defined(SO_TIMESTAMP) || (defined(HAVE_DECL_SO_TIMESTAMP) && HAVE_DECL_SO_TIMESTAMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMP) == (16402), "SO_TIMESTAMP != 16402"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMP 16402 +#endif +#else +#if defined(SO_TIMESTAMP) || (defined(HAVE_DECL_SO_TIMESTAMP) && HAVE_DECL_SO_TIMESTAMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMP) == (29), "SO_TIMESTAMP != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMP 29 +#endif +#endif +#if defined __mips__ +#if defined(SO_ACCEPTCONN) || (defined(HAVE_DECL_SO_ACCEPTCONN) && HAVE_DECL_SO_ACCEPTCONN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ACCEPTCONN) == (4105), "SO_ACCEPTCONN != 4105"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ACCEPTCONN 4105 +#endif +#elif defined __alpha__ +#if defined(SO_ACCEPTCONN) || (defined(HAVE_DECL_SO_ACCEPTCONN) && HAVE_DECL_SO_ACCEPTCONN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ACCEPTCONN) == (4116), "SO_ACCEPTCONN != 4116"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ACCEPTCONN 4116 +#endif +#elif defined __hppa__ +#if defined(SO_ACCEPTCONN) || (defined(HAVE_DECL_SO_ACCEPTCONN) && HAVE_DECL_SO_ACCEPTCONN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ACCEPTCONN) == (16412), "SO_ACCEPTCONN != 16412"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ACCEPTCONN 16412 +#endif +#elif defined __sparc__ +#if defined(SO_ACCEPTCONN) || (defined(HAVE_DECL_SO_ACCEPTCONN) && HAVE_DECL_SO_ACCEPTCONN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ACCEPTCONN) == (32768), "SO_ACCEPTCONN != 32768"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ACCEPTCONN 32768 +#endif +#else +#if defined(SO_ACCEPTCONN) || (defined(HAVE_DECL_SO_ACCEPTCONN) && HAVE_DECL_SO_ACCEPTCONN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ACCEPTCONN) == (30), "SO_ACCEPTCONN != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ACCEPTCONN 30 +#endif +#endif +#if defined __alpha__ || defined __mips__ || defined __sparc__ +#if defined(SO_PEERSEC) || (defined(HAVE_DECL_SO_PEERSEC) && HAVE_DECL_SO_PEERSEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERSEC) == (30), "SO_PEERSEC != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERSEC 30 +#endif +#elif defined __hppa__ +#if defined(SO_PEERSEC) || (defined(HAVE_DECL_SO_PEERSEC) && HAVE_DECL_SO_PEERSEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERSEC) == (16413), "SO_PEERSEC != 16413"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERSEC 16413 +#endif +#else +#if defined(SO_PEERSEC) || (defined(HAVE_DECL_SO_PEERSEC) && HAVE_DECL_SO_PEERSEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERSEC) == (31), "SO_PEERSEC != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERSEC 31 +#endif +#endif +#if defined __mips__ +#if defined(SO_SNDBUFFORCE) || (defined(HAVE_DECL_SO_SNDBUFFORCE) && HAVE_DECL_SO_SNDBUFFORCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDBUFFORCE) == (31), "SO_SNDBUFFORCE != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDBUFFORCE 31 +#endif +#elif defined __alpha__ || defined __hppa__ || defined __sparc__ +#if defined(SO_SNDBUFFORCE) || (defined(HAVE_DECL_SO_SNDBUFFORCE) && HAVE_DECL_SO_SNDBUFFORCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDBUFFORCE) == (4106), "SO_SNDBUFFORCE != 4106"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDBUFFORCE 4106 +#endif +#else +#if defined(SO_SNDBUFFORCE) || (defined(HAVE_DECL_SO_SNDBUFFORCE) && HAVE_DECL_SO_SNDBUFFORCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SNDBUFFORCE) == (32), "SO_SNDBUFFORCE != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SNDBUFFORCE 32 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __sparc__ +#if defined(SO_RCVBUFFORCE) || (defined(HAVE_DECL_SO_RCVBUFFORCE) && HAVE_DECL_SO_RCVBUFFORCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVBUFFORCE) == (4107), "SO_RCVBUFFORCE != 4107"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVBUFFORCE 4107 +#endif +#else +#if defined(SO_RCVBUFFORCE) || (defined(HAVE_DECL_SO_RCVBUFFORCE) && HAVE_DECL_SO_RCVBUFFORCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RCVBUFFORCE) == (33), "SO_RCVBUFFORCE != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RCVBUFFORCE 33 +#endif +#endif +#if defined __sparc__ +#if defined(SO_PASSSEC) || (defined(HAVE_DECL_SO_PASSSEC) && HAVE_DECL_SO_PASSSEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PASSSEC) == (31), "SO_PASSSEC != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PASSSEC 31 +#endif +#elif defined __hppa__ +#if defined(SO_PASSSEC) || (defined(HAVE_DECL_SO_PASSSEC) && HAVE_DECL_SO_PASSSEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PASSSEC) == (16414), "SO_PASSSEC != 16414"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PASSSEC 16414 +#endif +#else +#if defined(SO_PASSSEC) || (defined(HAVE_DECL_SO_PASSSEC) && HAVE_DECL_SO_PASSSEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PASSSEC) == (34), "SO_PASSSEC != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PASSSEC 34 +#endif +#endif +#if defined __sparc__ +#if defined(SO_TIMESTAMPNS) || (defined(HAVE_DECL_SO_TIMESTAMPNS) && HAVE_DECL_SO_TIMESTAMPNS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMPNS) == (33), "SO_TIMESTAMPNS != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMPNS 33 +#endif +#elif defined __hppa__ +#if defined(SO_TIMESTAMPNS) || (defined(HAVE_DECL_SO_TIMESTAMPNS) && HAVE_DECL_SO_TIMESTAMPNS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMPNS) == (16403), "SO_TIMESTAMPNS != 16403"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMPNS 16403 +#endif +#else +#if defined(SO_TIMESTAMPNS) || (defined(HAVE_DECL_SO_TIMESTAMPNS) && HAVE_DECL_SO_TIMESTAMPNS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMPNS) == (35), "SO_TIMESTAMPNS != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMPNS 35 +#endif +#endif +#if defined __sparc__ +#if defined(SO_MARK) || (defined(HAVE_DECL_SO_MARK) && HAVE_DECL_SO_MARK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MARK) == (34), "SO_MARK != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MARK 34 +#endif +#elif defined __hppa__ +#if defined(SO_MARK) || (defined(HAVE_DECL_SO_MARK) && HAVE_DECL_SO_MARK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MARK) == (16415), "SO_MARK != 16415"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MARK 16415 +#endif +#else +#if defined(SO_MARK) || (defined(HAVE_DECL_SO_MARK) && HAVE_DECL_SO_MARK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MARK) == (36), "SO_MARK != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MARK 36 +#endif +#endif +#if defined __sparc__ +#if defined(SO_TIMESTAMPING) || (defined(HAVE_DECL_SO_TIMESTAMPING) && HAVE_DECL_SO_TIMESTAMPING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMPING) == (35), "SO_TIMESTAMPING != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMPING 35 +#endif +#elif defined __hppa__ +#if defined(SO_TIMESTAMPING) || (defined(HAVE_DECL_SO_TIMESTAMPING) && HAVE_DECL_SO_TIMESTAMPING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMPING) == (16416), "SO_TIMESTAMPING != 16416"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMPING 16416 +#endif +#else +#if defined(SO_TIMESTAMPING) || (defined(HAVE_DECL_SO_TIMESTAMPING) && HAVE_DECL_SO_TIMESTAMPING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMPING) == (37), "SO_TIMESTAMPING != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMPING 37 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_PROTOCOL) || (defined(HAVE_DECL_SO_PROTOCOL) && HAVE_DECL_SO_PROTOCOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PROTOCOL) == (4136), "SO_PROTOCOL != 4136"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PROTOCOL 4136 +#endif +#else +#if defined(SO_PROTOCOL) || (defined(HAVE_DECL_SO_PROTOCOL) && HAVE_DECL_SO_PROTOCOL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PROTOCOL) == (38), "SO_PROTOCOL != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PROTOCOL 38 +#endif +#endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SO_DOMAIN) || (defined(HAVE_DECL_SO_DOMAIN) && HAVE_DECL_SO_DOMAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_DOMAIN) == (4137), "SO_DOMAIN != 4137"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_DOMAIN 4137 +#endif +#else +#if defined(SO_DOMAIN) || (defined(HAVE_DECL_SO_DOMAIN) && HAVE_DECL_SO_DOMAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_DOMAIN) == (39), "SO_DOMAIN != 39"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_DOMAIN 39 +#endif +#endif +#if defined __sparc__ +#if defined(SO_RXQ_OVFL) || (defined(HAVE_DECL_SO_RXQ_OVFL) && HAVE_DECL_SO_RXQ_OVFL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RXQ_OVFL) == (36), "SO_RXQ_OVFL != 36"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RXQ_OVFL 36 +#endif +#elif defined __hppa__ +#if defined(SO_RXQ_OVFL) || (defined(HAVE_DECL_SO_RXQ_OVFL) && HAVE_DECL_SO_RXQ_OVFL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RXQ_OVFL) == (16417), "SO_RXQ_OVFL != 16417"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RXQ_OVFL 16417 +#endif +#else +#if defined(SO_RXQ_OVFL) || (defined(HAVE_DECL_SO_RXQ_OVFL) && HAVE_DECL_SO_RXQ_OVFL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RXQ_OVFL) == (40), "SO_RXQ_OVFL != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RXQ_OVFL 40 +#endif +#endif +#if defined __sparc__ +#if defined(SO_WIFI_STATUS) || (defined(HAVE_DECL_SO_WIFI_STATUS) && HAVE_DECL_SO_WIFI_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_WIFI_STATUS) == (37), "SO_WIFI_STATUS != 37"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_WIFI_STATUS 37 +#endif +#elif defined __hppa__ +#if defined(SO_WIFI_STATUS) || (defined(HAVE_DECL_SO_WIFI_STATUS) && HAVE_DECL_SO_WIFI_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_WIFI_STATUS) == (16418), "SO_WIFI_STATUS != 16418"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_WIFI_STATUS 16418 +#endif +#else +#if defined(SO_WIFI_STATUS) || (defined(HAVE_DECL_SO_WIFI_STATUS) && HAVE_DECL_SO_WIFI_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_WIFI_STATUS) == (41), "SO_WIFI_STATUS != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_WIFI_STATUS 41 +#endif +#endif +#if defined __sparc__ +#if defined(SO_PEEK_OFF) || (defined(HAVE_DECL_SO_PEEK_OFF) && HAVE_DECL_SO_PEEK_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEEK_OFF) == (38), "SO_PEEK_OFF != 38"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEEK_OFF 38 +#endif +#elif defined __hppa__ +#if defined(SO_PEEK_OFF) || (defined(HAVE_DECL_SO_PEEK_OFF) && HAVE_DECL_SO_PEEK_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEEK_OFF) == (16419), "SO_PEEK_OFF != 16419"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEEK_OFF 16419 +#endif +#else +#if defined(SO_PEEK_OFF) || (defined(HAVE_DECL_SO_PEEK_OFF) && HAVE_DECL_SO_PEEK_OFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEEK_OFF) == (42), "SO_PEEK_OFF != 42"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEEK_OFF 42 +#endif +#endif +#if defined __sparc__ +#if defined(SO_NOFCS) || (defined(HAVE_DECL_SO_NOFCS) && HAVE_DECL_SO_NOFCS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_NOFCS) == (39), "SO_NOFCS != 39"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_NOFCS 39 +#endif +#elif defined __hppa__ +#if defined(SO_NOFCS) || (defined(HAVE_DECL_SO_NOFCS) && HAVE_DECL_SO_NOFCS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_NOFCS) == (16420), "SO_NOFCS != 16420"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_NOFCS 16420 +#endif +#else +#if defined(SO_NOFCS) || (defined(HAVE_DECL_SO_NOFCS) && HAVE_DECL_SO_NOFCS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_NOFCS) == (43), "SO_NOFCS != 43"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_NOFCS 43 +#endif +#endif +#if defined __sparc__ +#if defined(SO_LOCK_FILTER) || (defined(HAVE_DECL_SO_LOCK_FILTER) && HAVE_DECL_SO_LOCK_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_LOCK_FILTER) == (40), "SO_LOCK_FILTER != 40"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_LOCK_FILTER 40 +#endif +#elif defined __hppa__ +#if defined(SO_LOCK_FILTER) || (defined(HAVE_DECL_SO_LOCK_FILTER) && HAVE_DECL_SO_LOCK_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_LOCK_FILTER) == (16421), "SO_LOCK_FILTER != 16421"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_LOCK_FILTER 16421 +#endif +#else +#if defined(SO_LOCK_FILTER) || (defined(HAVE_DECL_SO_LOCK_FILTER) && HAVE_DECL_SO_LOCK_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_LOCK_FILTER) == (44), "SO_LOCK_FILTER != 44"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_LOCK_FILTER 44 +#endif +#endif +#if defined __sparc__ +#if defined(SO_SELECT_ERR_QUEUE) || (defined(HAVE_DECL_SO_SELECT_ERR_QUEUE) && HAVE_DECL_SO_SELECT_ERR_QUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SELECT_ERR_QUEUE) == (41), "SO_SELECT_ERR_QUEUE != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SELECT_ERR_QUEUE 41 +#endif +#elif defined __hppa__ +#if defined(SO_SELECT_ERR_QUEUE) || (defined(HAVE_DECL_SO_SELECT_ERR_QUEUE) && HAVE_DECL_SO_SELECT_ERR_QUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SELECT_ERR_QUEUE) == (16422), "SO_SELECT_ERR_QUEUE != 16422"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SELECT_ERR_QUEUE 16422 +#endif +#else +#if defined(SO_SELECT_ERR_QUEUE) || (defined(HAVE_DECL_SO_SELECT_ERR_QUEUE) && HAVE_DECL_SO_SELECT_ERR_QUEUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_SELECT_ERR_QUEUE) == (45), "SO_SELECT_ERR_QUEUE != 45"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_SELECT_ERR_QUEUE 45 +#endif +#endif +#if defined __sparc__ +#if defined(SO_BUSY_POLL) || (defined(HAVE_DECL_SO_BUSY_POLL) && HAVE_DECL_SO_BUSY_POLL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BUSY_POLL) == (48), "SO_BUSY_POLL != 48"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BUSY_POLL 48 +#endif +#elif defined __hppa__ +#if defined(SO_BUSY_POLL) || (defined(HAVE_DECL_SO_BUSY_POLL) && HAVE_DECL_SO_BUSY_POLL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BUSY_POLL) == (16423), "SO_BUSY_POLL != 16423"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BUSY_POLL 16423 +#endif +#else +#if defined(SO_BUSY_POLL) || (defined(HAVE_DECL_SO_BUSY_POLL) && HAVE_DECL_SO_BUSY_POLL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BUSY_POLL) == (46), "SO_BUSY_POLL != 46"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BUSY_POLL 46 +#endif +#endif +#if defined __sparc__ +#if defined(SO_MAX_PACING_RATE) || (defined(HAVE_DECL_SO_MAX_PACING_RATE) && HAVE_DECL_SO_MAX_PACING_RATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MAX_PACING_RATE) == (49), "SO_MAX_PACING_RATE != 49"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MAX_PACING_RATE 49 +#endif +#elif defined __hppa__ +#if defined(SO_MAX_PACING_RATE) || (defined(HAVE_DECL_SO_MAX_PACING_RATE) && HAVE_DECL_SO_MAX_PACING_RATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MAX_PACING_RATE) == (16424), "SO_MAX_PACING_RATE != 16424"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MAX_PACING_RATE 16424 +#endif +#else +#if defined(SO_MAX_PACING_RATE) || (defined(HAVE_DECL_SO_MAX_PACING_RATE) && HAVE_DECL_SO_MAX_PACING_RATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MAX_PACING_RATE) == (47), "SO_MAX_PACING_RATE != 47"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MAX_PACING_RATE 47 +#endif +#endif +#if defined __sparc__ +#if defined(SO_BPF_EXTENSIONS) || (defined(HAVE_DECL_SO_BPF_EXTENSIONS) && HAVE_DECL_SO_BPF_EXTENSIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BPF_EXTENSIONS) == (50), "SO_BPF_EXTENSIONS != 50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BPF_EXTENSIONS 50 +#endif +#elif defined __hppa__ +#if defined(SO_BPF_EXTENSIONS) || (defined(HAVE_DECL_SO_BPF_EXTENSIONS) && HAVE_DECL_SO_BPF_EXTENSIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BPF_EXTENSIONS) == (16425), "SO_BPF_EXTENSIONS != 16425"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BPF_EXTENSIONS 16425 +#endif +#else +#if defined(SO_BPF_EXTENSIONS) || (defined(HAVE_DECL_SO_BPF_EXTENSIONS) && HAVE_DECL_SO_BPF_EXTENSIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_BPF_EXTENSIONS) == (48), "SO_BPF_EXTENSIONS != 48"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_BPF_EXTENSIONS 48 +#endif +#endif +#if defined __sparc__ +#if defined(SO_INCOMING_CPU) || (defined(HAVE_DECL_SO_INCOMING_CPU) && HAVE_DECL_SO_INCOMING_CPU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_INCOMING_CPU) == (51), "SO_INCOMING_CPU != 51"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_INCOMING_CPU 51 +#endif +#elif defined __hppa__ +#if defined(SO_INCOMING_CPU) || (defined(HAVE_DECL_SO_INCOMING_CPU) && HAVE_DECL_SO_INCOMING_CPU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_INCOMING_CPU) == (16426), "SO_INCOMING_CPU != 16426"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_INCOMING_CPU 16426 +#endif +#else +#if defined(SO_INCOMING_CPU) || (defined(HAVE_DECL_SO_INCOMING_CPU) && HAVE_DECL_SO_INCOMING_CPU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_INCOMING_CPU) == (49), "SO_INCOMING_CPU != 49"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_INCOMING_CPU 49 +#endif +#endif +#if defined __sparc__ +#if defined(SO_ATTACH_BPF) || (defined(HAVE_DECL_SO_ATTACH_BPF) && HAVE_DECL_SO_ATTACH_BPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_BPF) == (52), "SO_ATTACH_BPF != 52"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_BPF 52 +#endif +#elif defined __hppa__ +#if defined(SO_ATTACH_BPF) || (defined(HAVE_DECL_SO_ATTACH_BPF) && HAVE_DECL_SO_ATTACH_BPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_BPF) == (16427), "SO_ATTACH_BPF != 16427"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_BPF 16427 +#endif +#else +#if defined(SO_ATTACH_BPF) || (defined(HAVE_DECL_SO_ATTACH_BPF) && HAVE_DECL_SO_ATTACH_BPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_BPF) == (50), "SO_ATTACH_BPF != 50"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_BPF 50 +#endif +#endif +#if defined __sparc__ +#if defined(SO_ATTACH_REUSEPORT_CBPF) || (defined(HAVE_DECL_SO_ATTACH_REUSEPORT_CBPF) && HAVE_DECL_SO_ATTACH_REUSEPORT_CBPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_REUSEPORT_CBPF) == (53), "SO_ATTACH_REUSEPORT_CBPF != 53"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_REUSEPORT_CBPF 53 +#endif +#elif defined __hppa__ +#if defined(SO_ATTACH_REUSEPORT_CBPF) || (defined(HAVE_DECL_SO_ATTACH_REUSEPORT_CBPF) && HAVE_DECL_SO_ATTACH_REUSEPORT_CBPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_REUSEPORT_CBPF) == (16428), "SO_ATTACH_REUSEPORT_CBPF != 16428"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_REUSEPORT_CBPF 16428 +#endif +#else +#if defined(SO_ATTACH_REUSEPORT_CBPF) || (defined(HAVE_DECL_SO_ATTACH_REUSEPORT_CBPF) && HAVE_DECL_SO_ATTACH_REUSEPORT_CBPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_REUSEPORT_CBPF) == (51), "SO_ATTACH_REUSEPORT_CBPF != 51"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_REUSEPORT_CBPF 51 +#endif +#endif +#if defined __sparc__ +#if defined(SO_ATTACH_REUSEPORT_EBPF) || (defined(HAVE_DECL_SO_ATTACH_REUSEPORT_EBPF) && HAVE_DECL_SO_ATTACH_REUSEPORT_EBPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_REUSEPORT_EBPF) == (54), "SO_ATTACH_REUSEPORT_EBPF != 54"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_REUSEPORT_EBPF 54 +#endif +#elif defined __hppa__ +#if defined(SO_ATTACH_REUSEPORT_EBPF) || (defined(HAVE_DECL_SO_ATTACH_REUSEPORT_EBPF) && HAVE_DECL_SO_ATTACH_REUSEPORT_EBPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_REUSEPORT_EBPF) == (16429), "SO_ATTACH_REUSEPORT_EBPF != 16429"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_REUSEPORT_EBPF 16429 +#endif +#else +#if defined(SO_ATTACH_REUSEPORT_EBPF) || (defined(HAVE_DECL_SO_ATTACH_REUSEPORT_EBPF) && HAVE_DECL_SO_ATTACH_REUSEPORT_EBPF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ATTACH_REUSEPORT_EBPF) == (52), "SO_ATTACH_REUSEPORT_EBPF != 52"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ATTACH_REUSEPORT_EBPF 52 +#endif +#endif +#if defined __sparc__ +#if defined(SO_CNX_ADVICE) || (defined(HAVE_DECL_SO_CNX_ADVICE) && HAVE_DECL_SO_CNX_ADVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_CNX_ADVICE) == (55), "SO_CNX_ADVICE != 55"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_CNX_ADVICE 55 +#endif +#elif defined __hppa__ +#if defined(SO_CNX_ADVICE) || (defined(HAVE_DECL_SO_CNX_ADVICE) && HAVE_DECL_SO_CNX_ADVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_CNX_ADVICE) == (16430), "SO_CNX_ADVICE != 16430"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_CNX_ADVICE 16430 +#endif +#else +#if defined(SO_CNX_ADVICE) || (defined(HAVE_DECL_SO_CNX_ADVICE) && HAVE_DECL_SO_CNX_ADVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_CNX_ADVICE) == (53), "SO_CNX_ADVICE != 53"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_CNX_ADVICE 53 +#endif +#endif +#if defined __sparc__ +#if defined(SO_MEMINFO) || (defined(HAVE_DECL_SO_MEMINFO) && HAVE_DECL_SO_MEMINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MEMINFO) == (57), "SO_MEMINFO != 57"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MEMINFO 57 +#endif +#elif defined __hppa__ +#if defined(SO_MEMINFO) || (defined(HAVE_DECL_SO_MEMINFO) && HAVE_DECL_SO_MEMINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MEMINFO) == (16432), "SO_MEMINFO != 16432"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MEMINFO 16432 +#endif +#else +#if defined(SO_MEMINFO) || (defined(HAVE_DECL_SO_MEMINFO) && HAVE_DECL_SO_MEMINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_MEMINFO) == (55), "SO_MEMINFO != 55"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_MEMINFO 55 +#endif +#endif +#if defined __sparc__ +#if defined(SO_INCOMING_NAPI_ID) || (defined(HAVE_DECL_SO_INCOMING_NAPI_ID) && HAVE_DECL_SO_INCOMING_NAPI_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_INCOMING_NAPI_ID) == (58), "SO_INCOMING_NAPI_ID != 58"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_INCOMING_NAPI_ID 58 +#endif +#elif defined __hppa__ +#if defined(SO_INCOMING_NAPI_ID) || (defined(HAVE_DECL_SO_INCOMING_NAPI_ID) && HAVE_DECL_SO_INCOMING_NAPI_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_INCOMING_NAPI_ID) == (16433), "SO_INCOMING_NAPI_ID != 16433"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_INCOMING_NAPI_ID 16433 +#endif +#else +#if defined(SO_INCOMING_NAPI_ID) || (defined(HAVE_DECL_SO_INCOMING_NAPI_ID) && HAVE_DECL_SO_INCOMING_NAPI_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_INCOMING_NAPI_ID) == (56), "SO_INCOMING_NAPI_ID != 56"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_INCOMING_NAPI_ID 56 +#endif +#endif +#if defined __sparc__ +#if defined(SO_COOKIE) || (defined(HAVE_DECL_SO_COOKIE) && HAVE_DECL_SO_COOKIE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_COOKIE) == (59), "SO_COOKIE != 59"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_COOKIE 59 +#endif +#elif defined __hppa__ +#if defined(SO_COOKIE) || (defined(HAVE_DECL_SO_COOKIE) && HAVE_DECL_SO_COOKIE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_COOKIE) == (16434), "SO_COOKIE != 16434"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_COOKIE 16434 +#endif +#else +#if defined(SO_COOKIE) || (defined(HAVE_DECL_SO_COOKIE) && HAVE_DECL_SO_COOKIE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_COOKIE) == (57), "SO_COOKIE != 57"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_COOKIE 57 +#endif +#endif +#if defined __sparc__ +#if defined(SO_PEERGROUPS) || (defined(HAVE_DECL_SO_PEERGROUPS) && HAVE_DECL_SO_PEERGROUPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERGROUPS) == (61), "SO_PEERGROUPS != 61"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERGROUPS 61 +#endif +#elif defined __hppa__ +#if defined(SO_PEERGROUPS) || (defined(HAVE_DECL_SO_PEERGROUPS) && HAVE_DECL_SO_PEERGROUPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERGROUPS) == (16436), "SO_PEERGROUPS != 16436"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERGROUPS 16436 +#endif +#else +#if defined(SO_PEERGROUPS) || (defined(HAVE_DECL_SO_PEERGROUPS) && HAVE_DECL_SO_PEERGROUPS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_PEERGROUPS) == (59), "SO_PEERGROUPS != 59"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_PEERGROUPS 59 +#endif +#endif +#if defined __sparc__ +#if defined(SO_ZEROCOPY) || (defined(HAVE_DECL_SO_ZEROCOPY) && HAVE_DECL_SO_ZEROCOPY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ZEROCOPY) == (62), "SO_ZEROCOPY != 62"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ZEROCOPY 62 +#endif +#elif defined __hppa__ +#if defined(SO_ZEROCOPY) || (defined(HAVE_DECL_SO_ZEROCOPY) && HAVE_DECL_SO_ZEROCOPY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ZEROCOPY) == (16437), "SO_ZEROCOPY != 16437"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ZEROCOPY 16437 +#endif +#else +#if defined(SO_ZEROCOPY) || (defined(HAVE_DECL_SO_ZEROCOPY) && HAVE_DECL_SO_ZEROCOPY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_ZEROCOPY) == (60), "SO_ZEROCOPY != 60"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_ZEROCOPY 60 +#endif +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_options in mpers mode + +# else + +static +const struct xlat sock_options[] = { + XLAT(SO_DEBUG), + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_REUSEADDR), +#else + XLAT(SO_REUSEADDR), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_TYPE), +#else + XLAT(SO_TYPE), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_ERROR), +#else + XLAT(SO_ERROR), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_DONTROUTE), +#else + XLAT(SO_DONTROUTE), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_BROADCAST), +#else + XLAT(SO_BROADCAST), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_SNDBUF), +#else + XLAT(SO_SNDBUF), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_RCVBUF), +#else + XLAT(SO_RCVBUF), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_KEEPALIVE), +#else + XLAT(SO_KEEPALIVE), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_OOBINLINE), +#else + XLAT(SO_OOBINLINE), +#endif + +#if defined __hppa__ + XLAT(SO_NO_CHECK), +#else + XLAT(SO_NO_CHECK), +#endif + +#if defined __hppa__ + XLAT(SO_PRIORITY), +#else + XLAT(SO_PRIORITY), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_LINGER), +#else + XLAT(SO_LINGER), +#endif + +#if defined __sparc__ + XLAT(SO_BSDCOMPAT), +#elif defined __hppa__ + XLAT(SO_BSDCOMPAT), +#else + XLAT(SO_BSDCOMPAT), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_REUSEPORT), +#else + XLAT(SO_REUSEPORT), +#endif + +#if defined __sparc__ + XLAT(SO_PASSCRED), +#elif defined __alpha__ || defined __mips__ + XLAT(SO_PASSCRED), +#elif defined __powerpc__ + XLAT(SO_PASSCRED), +#elif defined __hppa__ + XLAT(SO_PASSCRED), +#else + XLAT(SO_PASSCRED), +#endif + +#if defined __alpha__ || defined __mips__ + XLAT(SO_PEERCRED), +#elif defined __powerpc__ + XLAT(SO_PEERCRED), +#elif defined __sparc__ + XLAT(SO_PEERCRED), +#elif defined __hppa__ + XLAT(SO_PEERCRED), +#else + XLAT(SO_PEERCRED), +#endif + +#if defined __powerpc__ + XLAT(SO_RCVLOWAT), +#elif defined __sparc__ + XLAT(SO_RCVLOWAT), +#elif defined __hppa__ || defined __mips__ + XLAT(SO_RCVLOWAT), +#elif defined __alpha__ + XLAT(SO_RCVLOWAT), +#else + XLAT(SO_RCVLOWAT), +#endif + +#if defined __powerpc__ + XLAT(SO_SNDLOWAT), +#elif defined __sparc__ + XLAT(SO_SNDLOWAT), +#elif defined __hppa__ || defined __mips__ + XLAT(SO_SNDLOWAT), +#elif defined __alpha__ + XLAT(SO_SNDLOWAT), +#else + XLAT(SO_SNDLOWAT), +#endif + +#if defined __powerpc__ + XLAT(SO_RCVTIMEO), +#elif defined __hppa__ || defined __mips__ + XLAT(SO_RCVTIMEO), +#elif defined __alpha__ + XLAT(SO_RCVTIMEO), +#elif defined __sparc__ + XLAT(SO_RCVTIMEO), +#else + XLAT(SO_RCVTIMEO), +#endif + +#if defined __powerpc__ + XLAT(SO_SNDTIMEO), +#elif defined __hppa__ || defined __mips__ + XLAT(SO_SNDTIMEO), +#elif defined __alpha__ + XLAT(SO_SNDTIMEO), +#elif defined __sparc__ + XLAT(SO_SNDTIMEO), +#else + XLAT(SO_SNDTIMEO), +#endif + +#if defined __alpha__ + XLAT(SO_SECURITY_AUTHENTICATION), +#elif defined __hppa__ + XLAT(SO_SECURITY_AUTHENTICATION), +#elif defined __sparc__ + XLAT(SO_SECURITY_AUTHENTICATION), +#else + XLAT(SO_SECURITY_AUTHENTICATION), +#endif + +#if defined __alpha__ + XLAT(SO_SECURITY_ENCRYPTION_TRANSPORT), +#elif defined __hppa__ + XLAT(SO_SECURITY_ENCRYPTION_TRANSPORT), +#elif defined __sparc__ + XLAT(SO_SECURITY_ENCRYPTION_TRANSPORT), +#else + XLAT(SO_SECURITY_ENCRYPTION_TRANSPORT), +#endif + +#if defined __alpha__ + XLAT(SO_SECURITY_ENCRYPTION_NETWORK), +#elif defined __hppa__ + XLAT(SO_SECURITY_ENCRYPTION_NETWORK), +#elif defined __sparc__ + XLAT(SO_SECURITY_ENCRYPTION_NETWORK), +#else + XLAT(SO_SECURITY_ENCRYPTION_NETWORK), +#endif + +#if defined __sparc__ + XLAT(SO_BINDTODEVICE), +#elif defined __hppa__ + XLAT(SO_BINDTODEVICE), +#else + XLAT(SO_BINDTODEVICE), +#endif + +#if defined __hppa__ + XLAT(SO_DETACH_FILTER), +#else + XLAT(SO_DETACH_FILTER), +#endif + +#if defined __hppa__ + XLAT(SO_PEERNAME), +#else + XLAT(SO_PEERNAME), +#endif + +#if defined __hppa__ + XLAT(SO_TIMESTAMP), +#else + XLAT(SO_TIMESTAMP), +#endif + +#if defined __mips__ + XLAT(SO_ACCEPTCONN), +#elif defined __alpha__ + XLAT(SO_ACCEPTCONN), +#elif defined __hppa__ + XLAT(SO_ACCEPTCONN), +#elif defined __sparc__ + XLAT(SO_ACCEPTCONN), +#else + XLAT(SO_ACCEPTCONN), +#endif + +#if defined __alpha__ || defined __mips__ || defined __sparc__ + XLAT(SO_PEERSEC), +#elif defined __hppa__ + XLAT(SO_PEERSEC), +#else + XLAT(SO_PEERSEC), +#endif + +#if defined __mips__ + XLAT(SO_SNDBUFFORCE), +#elif defined __alpha__ || defined __hppa__ || defined __sparc__ + XLAT(SO_SNDBUFFORCE), +#else + XLAT(SO_SNDBUFFORCE), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __sparc__ + XLAT(SO_RCVBUFFORCE), +#else + XLAT(SO_RCVBUFFORCE), +#endif + +#if defined __sparc__ + XLAT(SO_PASSSEC), +#elif defined __hppa__ + XLAT(SO_PASSSEC), +#else + XLAT(SO_PASSSEC), +#endif + +#if defined __sparc__ + XLAT(SO_TIMESTAMPNS), +#elif defined __hppa__ + XLAT(SO_TIMESTAMPNS), +#else + XLAT(SO_TIMESTAMPNS), +#endif + +#if defined __sparc__ + XLAT(SO_MARK), +#elif defined __hppa__ + XLAT(SO_MARK), +#else + XLAT(SO_MARK), +#endif + +#if defined __sparc__ + XLAT(SO_TIMESTAMPING), +#elif defined __hppa__ + XLAT(SO_TIMESTAMPING), +#else + XLAT(SO_TIMESTAMPING), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_PROTOCOL), +#else + XLAT(SO_PROTOCOL), +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SO_DOMAIN), +#else + XLAT(SO_DOMAIN), +#endif + +#if defined __sparc__ + XLAT(SO_RXQ_OVFL), +#elif defined __hppa__ + XLAT(SO_RXQ_OVFL), +#else + XLAT(SO_RXQ_OVFL), +#endif + +#if defined __sparc__ + XLAT(SO_WIFI_STATUS), +#elif defined __hppa__ + XLAT(SO_WIFI_STATUS), +#else + XLAT(SO_WIFI_STATUS), +#endif + +#if defined __sparc__ + XLAT(SO_PEEK_OFF), +#elif defined __hppa__ + XLAT(SO_PEEK_OFF), +#else + XLAT(SO_PEEK_OFF), +#endif + +#if defined __sparc__ + XLAT(SO_NOFCS), +#elif defined __hppa__ + XLAT(SO_NOFCS), +#else + XLAT(SO_NOFCS), +#endif + +#if defined __sparc__ + XLAT(SO_LOCK_FILTER), +#elif defined __hppa__ + XLAT(SO_LOCK_FILTER), +#else + XLAT(SO_LOCK_FILTER), +#endif + +#if defined __sparc__ + XLAT(SO_SELECT_ERR_QUEUE), +#elif defined __hppa__ + XLAT(SO_SELECT_ERR_QUEUE), +#else + XLAT(SO_SELECT_ERR_QUEUE), +#endif + +#if defined __sparc__ + XLAT(SO_BUSY_POLL), +#elif defined __hppa__ + XLAT(SO_BUSY_POLL), +#else + XLAT(SO_BUSY_POLL), +#endif + +#if defined __sparc__ + XLAT(SO_MAX_PACING_RATE), +#elif defined __hppa__ + XLAT(SO_MAX_PACING_RATE), +#else + XLAT(SO_MAX_PACING_RATE), +#endif + +#if defined __sparc__ + XLAT(SO_BPF_EXTENSIONS), +#elif defined __hppa__ + XLAT(SO_BPF_EXTENSIONS), +#else + XLAT(SO_BPF_EXTENSIONS), +#endif + +#if defined __sparc__ + XLAT(SO_INCOMING_CPU), +#elif defined __hppa__ + XLAT(SO_INCOMING_CPU), +#else + XLAT(SO_INCOMING_CPU), +#endif + +#if defined __sparc__ + XLAT(SO_ATTACH_BPF), +#elif defined __hppa__ + XLAT(SO_ATTACH_BPF), +#else + XLAT(SO_ATTACH_BPF), +#endif + +#if defined __sparc__ + XLAT(SO_ATTACH_REUSEPORT_CBPF), +#elif defined __hppa__ + XLAT(SO_ATTACH_REUSEPORT_CBPF), +#else + XLAT(SO_ATTACH_REUSEPORT_CBPF), +#endif + +#if defined __sparc__ + XLAT(SO_ATTACH_REUSEPORT_EBPF), +#elif defined __hppa__ + XLAT(SO_ATTACH_REUSEPORT_EBPF), +#else + XLAT(SO_ATTACH_REUSEPORT_EBPF), +#endif + +#if defined __sparc__ + XLAT(SO_CNX_ADVICE), +#elif defined __hppa__ + XLAT(SO_CNX_ADVICE), +#else + XLAT(SO_CNX_ADVICE), +#endif + +#if defined __sparc__ + XLAT(SO_MEMINFO), +#elif defined __hppa__ + XLAT(SO_MEMINFO), +#else + XLAT(SO_MEMINFO), +#endif + +#if defined __sparc__ + XLAT(SO_INCOMING_NAPI_ID), +#elif defined __hppa__ + XLAT(SO_INCOMING_NAPI_ID), +#else + XLAT(SO_INCOMING_NAPI_ID), +#endif + +#if defined __sparc__ + XLAT(SO_COOKIE), +#elif defined __hppa__ + XLAT(SO_COOKIE), +#else + XLAT(SO_COOKIE), +#endif + +#if defined __sparc__ + XLAT(SO_PEERGROUPS), +#elif defined __hppa__ + XLAT(SO_PEERGROUPS), +#else + XLAT(SO_PEERGROUPS), +#endif + +#if defined __sparc__ + XLAT(SO_ZEROCOPY), +#elif defined __hppa__ + XLAT(SO_ZEROCOPY), +#else + XLAT(SO_ZEROCOPY), +#endif + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_options.in b/xlat/sock_options.in new file mode 100644 index 00000000..6104f4a0 --- /dev/null +++ b/xlat/sock_options.in @@ -0,0 +1,445 @@ +SO_DEBUG 1 + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_REUSEADDR 4 +#else +SO_REUSEADDR 2 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_TYPE 4104 +#else +SO_TYPE 3 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_ERROR 4103 +#else +SO_ERROR 4 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_DONTROUTE 16 +#else +SO_DONTROUTE 5 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_BROADCAST 32 +#else +SO_BROADCAST 6 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_SNDBUF 4097 +#else +SO_SNDBUF 7 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_RCVBUF 4098 +#else +SO_RCVBUF 8 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_KEEPALIVE 8 +#else +SO_KEEPALIVE 9 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_OOBINLINE 256 +#else +SO_OOBINLINE 10 +#endif + +#if defined __hppa__ +SO_NO_CHECK 16395 +#else +SO_NO_CHECK 11 +#endif + +#if defined __hppa__ +SO_PRIORITY 16396 +#else +SO_PRIORITY 12 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_LINGER 128 +#else +SO_LINGER 13 +#endif + +#if defined __sparc__ +SO_BSDCOMPAT 1024 +#elif defined __hppa__ +SO_BSDCOMPAT 16398 +#else +SO_BSDCOMPAT 14 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_REUSEPORT 512 +#else +SO_REUSEPORT 15 +#endif + +#if defined __sparc__ +SO_PASSCRED 2 +#elif defined __alpha__ || defined __mips__ +SO_PASSCRED 17 +#elif defined __powerpc__ +SO_PASSCRED 20 +#elif defined __hppa__ +SO_PASSCRED 16400 +#else +SO_PASSCRED 16 +#endif + +#if defined __alpha__ || defined __mips__ +SO_PEERCRED 18 +#elif defined __powerpc__ +SO_PEERCRED 21 +#elif defined __sparc__ +SO_PEERCRED 64 +#elif defined __hppa__ +SO_PEERCRED 16401 +#else +SO_PEERCRED 17 +#endif + +#if defined __powerpc__ +SO_RCVLOWAT 16 +#elif defined __sparc__ +SO_RCVLOWAT 2048 +#elif defined __hppa__ || defined __mips__ +SO_RCVLOWAT 4100 +#elif defined __alpha__ +SO_RCVLOWAT 4112 +#else +SO_RCVLOWAT 18 +#endif + +#if defined __powerpc__ +SO_SNDLOWAT 17 +#elif defined __sparc__ +SO_SNDLOWAT 4096 +#elif defined __hppa__ || defined __mips__ +SO_SNDLOWAT 4099 +#elif defined __alpha__ +SO_SNDLOWAT 4113 +#else +SO_SNDLOWAT 19 +#endif + +#if defined __powerpc__ +SO_RCVTIMEO 18 +#elif defined __hppa__ || defined __mips__ +SO_RCVTIMEO 4102 +#elif defined __alpha__ +SO_RCVTIMEO 4114 +#elif defined __sparc__ +SO_RCVTIMEO 8192 +#else +SO_RCVTIMEO 20 +#endif + +#if defined __powerpc__ +SO_SNDTIMEO 19 +#elif defined __hppa__ || defined __mips__ +SO_SNDTIMEO 4101 +#elif defined __alpha__ +SO_SNDTIMEO 4115 +#elif defined __sparc__ +SO_SNDTIMEO 16384 +#else +SO_SNDTIMEO 21 +#endif + +#if defined __alpha__ +SO_SECURITY_AUTHENTICATION 19 +#elif defined __hppa__ +SO_SECURITY_AUTHENTICATION 16406 +#elif defined __sparc__ +SO_SECURITY_AUTHENTICATION 20481 +#else +SO_SECURITY_AUTHENTICATION 22 +#endif + +#if defined __alpha__ +SO_SECURITY_ENCRYPTION_TRANSPORT 20 +#elif defined __hppa__ +SO_SECURITY_ENCRYPTION_TRANSPORT 16407 +#elif defined __sparc__ +SO_SECURITY_ENCRYPTION_TRANSPORT 20482 +#else +SO_SECURITY_ENCRYPTION_TRANSPORT 23 +#endif + +#if defined __alpha__ +SO_SECURITY_ENCRYPTION_NETWORK 21 +#elif defined __hppa__ +SO_SECURITY_ENCRYPTION_NETWORK 16408 +#elif defined __sparc__ +SO_SECURITY_ENCRYPTION_NETWORK 20484 +#else +SO_SECURITY_ENCRYPTION_NETWORK 24 +#endif + +#if defined __sparc__ +SO_BINDTODEVICE 13 +#elif defined __hppa__ +SO_BINDTODEVICE 16409 +#else +SO_BINDTODEVICE 25 +#endif + +#if defined __hppa__ +SO_DETACH_FILTER 16411 +#else +SO_DETACH_FILTER 27 +#endif + +#if defined __hppa__ +SO_PEERNAME 8192 +#else +SO_PEERNAME 28 +#endif + +#if defined __hppa__ +SO_TIMESTAMP 16402 +#else +SO_TIMESTAMP 29 +#endif + +#if defined __mips__ +SO_ACCEPTCONN 4105 +#elif defined __alpha__ +SO_ACCEPTCONN 4116 +#elif defined __hppa__ +SO_ACCEPTCONN 16412 +#elif defined __sparc__ +SO_ACCEPTCONN 32768 +#else +SO_ACCEPTCONN 30 +#endif + +#if defined __alpha__ || defined __mips__ || defined __sparc__ +SO_PEERSEC 30 +#elif defined __hppa__ +SO_PEERSEC 16413 +#else +SO_PEERSEC 31 +#endif + +#if defined __mips__ +SO_SNDBUFFORCE 31 +#elif defined __alpha__ || defined __hppa__ || defined __sparc__ +SO_SNDBUFFORCE 4106 +#else +SO_SNDBUFFORCE 32 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __sparc__ +SO_RCVBUFFORCE 4107 +#else +SO_RCVBUFFORCE 33 +#endif + +#if defined __sparc__ +SO_PASSSEC 31 +#elif defined __hppa__ +SO_PASSSEC 16414 +#else +SO_PASSSEC 34 +#endif + +#if defined __sparc__ +SO_TIMESTAMPNS 33 +#elif defined __hppa__ +SO_TIMESTAMPNS 16403 +#else +SO_TIMESTAMPNS 35 +#endif + +#if defined __sparc__ +SO_MARK 34 +#elif defined __hppa__ +SO_MARK 16415 +#else +SO_MARK 36 +#endif + +#if defined __sparc__ +SO_TIMESTAMPING 35 +#elif defined __hppa__ +SO_TIMESTAMPING 16416 +#else +SO_TIMESTAMPING 37 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_PROTOCOL 4136 +#else +SO_PROTOCOL 38 +#endif + +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SO_DOMAIN 4137 +#else +SO_DOMAIN 39 +#endif + +#if defined __sparc__ +SO_RXQ_OVFL 36 +#elif defined __hppa__ +SO_RXQ_OVFL 16417 +#else +SO_RXQ_OVFL 40 +#endif + +#if defined __sparc__ +SO_WIFI_STATUS 37 +#elif defined __hppa__ +SO_WIFI_STATUS 16418 +#else +SO_WIFI_STATUS 41 +#endif + +#if defined __sparc__ +SO_PEEK_OFF 38 +#elif defined __hppa__ +SO_PEEK_OFF 16419 +#else +SO_PEEK_OFF 42 +#endif + +#if defined __sparc__ +SO_NOFCS 39 +#elif defined __hppa__ +SO_NOFCS 16420 +#else +SO_NOFCS 43 +#endif + +#if defined __sparc__ +SO_LOCK_FILTER 40 +#elif defined __hppa__ +SO_LOCK_FILTER 16421 +#else +SO_LOCK_FILTER 44 +#endif + +#if defined __sparc__ +SO_SELECT_ERR_QUEUE 41 +#elif defined __hppa__ +SO_SELECT_ERR_QUEUE 16422 +#else +SO_SELECT_ERR_QUEUE 45 +#endif + +#if defined __sparc__ +SO_BUSY_POLL 48 +#elif defined __hppa__ +SO_BUSY_POLL 16423 +#else +SO_BUSY_POLL 46 +#endif + +#if defined __sparc__ +SO_MAX_PACING_RATE 49 +#elif defined __hppa__ +SO_MAX_PACING_RATE 16424 +#else +SO_MAX_PACING_RATE 47 +#endif + +#if defined __sparc__ +SO_BPF_EXTENSIONS 50 +#elif defined __hppa__ +SO_BPF_EXTENSIONS 16425 +#else +SO_BPF_EXTENSIONS 48 +#endif + +#if defined __sparc__ +SO_INCOMING_CPU 51 +#elif defined __hppa__ +SO_INCOMING_CPU 16426 +#else +SO_INCOMING_CPU 49 +#endif + +#if defined __sparc__ +SO_ATTACH_BPF 52 +#elif defined __hppa__ +SO_ATTACH_BPF 16427 +#else +SO_ATTACH_BPF 50 +#endif + +#if defined __sparc__ +SO_ATTACH_REUSEPORT_CBPF 53 +#elif defined __hppa__ +SO_ATTACH_REUSEPORT_CBPF 16428 +#else +SO_ATTACH_REUSEPORT_CBPF 51 +#endif + +#if defined __sparc__ +SO_ATTACH_REUSEPORT_EBPF 54 +#elif defined __hppa__ +SO_ATTACH_REUSEPORT_EBPF 16429 +#else +SO_ATTACH_REUSEPORT_EBPF 52 +#endif + +#if defined __sparc__ +SO_CNX_ADVICE 55 +#elif defined __hppa__ +SO_CNX_ADVICE 16430 +#else +SO_CNX_ADVICE 53 +#endif + +#if defined __sparc__ +SO_MEMINFO 57 +#elif defined __hppa__ +SO_MEMINFO 16432 +#else +SO_MEMINFO 55 +#endif + +#if defined __sparc__ +SO_INCOMING_NAPI_ID 58 +#elif defined __hppa__ +SO_INCOMING_NAPI_ID 16433 +#else +SO_INCOMING_NAPI_ID 56 +#endif + +#if defined __sparc__ +SO_COOKIE 59 +#elif defined __hppa__ +SO_COOKIE 16434 +#else +SO_COOKIE 57 +#endif + +#if defined __sparc__ +SO_PEERGROUPS 61 +#elif defined __hppa__ +SO_PEERGROUPS 16436 +#else +SO_PEERGROUPS 59 +#endif + +#if defined __sparc__ +SO_ZEROCOPY 62 +#elif defined __hppa__ +SO_ZEROCOPY 16437 +#else +SO_ZEROCOPY 60 +#endif diff --git a/xlat/sockpacketoptions.h b/xlat/sock_packet_options.h similarity index 89% rename from xlat/sockpacketoptions.h rename to xlat/sock_packet_options.h index ae4c5f40..045fc591 100644 --- a/xlat/sockpacketoptions.h +++ b/xlat/sock_packet_options.h @@ -1,13 +1,19 @@ -/* Generated by ./xlat/gen.sh from ./xlat/sockpacketoptions.in; do not edit. */ +/* Generated by ./xlat/gen.sh from ./xlat/sock_packet_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sockpacketoptions in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_packet_options in mpers mode + +# else static -const struct xlat sockpacketoptions[] = { +const struct xlat sock_packet_options[] = { #if defined(PACKET_ADD_MEMBERSHIP) || (defined(HAVE_DECL_PACKET_ADD_MEMBERSHIP) && HAVE_DECL_PACKET_ADD_MEMBERSHIP) XLAT(PACKET_ADD_MEMBERSHIP), #endif @@ -74,4 +80,6 @@ const struct xlat sockpacketoptions[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_packet_options.in b/xlat/sock_packet_options.in new file mode 100644 index 00000000..d11ad0b4 --- /dev/null +++ b/xlat/sock_packet_options.in @@ -0,0 +1,21 @@ +PACKET_ADD_MEMBERSHIP +PACKET_DROP_MEMBERSHIP +PACKET_RECV_OUTPUT +PACKET_RX_RING +PACKET_STATISTICS +PACKET_COPY_THRESH +PACKET_AUXDATA +PACKET_ORIGDEV +PACKET_VERSION +PACKET_HDRLEN +PACKET_RESERVE +PACKET_TX_RING +PACKET_LOSS +PACKET_VNET_HDR +PACKET_TX_TIMESTAMP +PACKET_TIMESTAMP +PACKET_FANOUT +PACKET_TX_HAS_OFF +PACKET_QDISC_BYPASS +PACKET_ROLLOVER_STATS +PACKET_FANOUT_DATA diff --git a/xlat/sock_pnp_options.h b/xlat/sock_pnp_options.h new file mode 100644 index 00000000..d9083b32 --- /dev/null +++ b/xlat/sock_pnp_options.h @@ -0,0 +1,54 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_pnp_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PNPIPE_ENCAP) || (defined(HAVE_DECL_PNPIPE_ENCAP) && HAVE_DECL_PNPIPE_ENCAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PNPIPE_ENCAP) == (1), "PNPIPE_ENCAP != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PNPIPE_ENCAP 1 +#endif +#if defined(PNPIPE_IFINDEX) || (defined(HAVE_DECL_PNPIPE_IFINDEX) && HAVE_DECL_PNPIPE_IFINDEX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PNPIPE_IFINDEX) == (2), "PNPIPE_IFINDEX != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PNPIPE_IFINDEX 2 +#endif +#if defined(PNPIPE_HANDLE) || (defined(HAVE_DECL_PNPIPE_HANDLE) && HAVE_DECL_PNPIPE_HANDLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PNPIPE_HANDLE) == (3), "PNPIPE_HANDLE != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PNPIPE_HANDLE 3 +#endif +#if defined(PNPIPE_INITSTATE) || (defined(HAVE_DECL_PNPIPE_INITSTATE) && HAVE_DECL_PNPIPE_INITSTATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PNPIPE_INITSTATE) == (4), "PNPIPE_INITSTATE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PNPIPE_INITSTATE 4 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_pnp_options in mpers mode + +# else + +static +const struct xlat sock_pnp_options[] = { + XLAT(PNPIPE_ENCAP), + XLAT(PNPIPE_IFINDEX), + XLAT(PNPIPE_HANDLE), + XLAT(PNPIPE_INITSTATE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_pnp_options.in b/xlat/sock_pnp_options.in new file mode 100644 index 00000000..a8d939c2 --- /dev/null +++ b/xlat/sock_pnp_options.in @@ -0,0 +1,4 @@ +PNPIPE_ENCAP 1 +PNPIPE_IFINDEX 2 +PNPIPE_HANDLE 3 +PNPIPE_INITSTATE 4 diff --git a/xlat/sock_pppol2tp_options.h b/xlat/sock_pppol2tp_options.h new file mode 100644 index 00000000..4f4064f9 --- /dev/null +++ b/xlat/sock_pppol2tp_options.h @@ -0,0 +1,62 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_pppol2tp_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(PPPOL2TP_SO_DEBUG) || (defined(HAVE_DECL_PPPOL2TP_SO_DEBUG) && HAVE_DECL_PPPOL2TP_SO_DEBUG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PPPOL2TP_SO_DEBUG) == (1), "PPPOL2TP_SO_DEBUG != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PPPOL2TP_SO_DEBUG 1 +#endif +#if defined(PPPOL2TP_SO_RECVSEQ) || (defined(HAVE_DECL_PPPOL2TP_SO_RECVSEQ) && HAVE_DECL_PPPOL2TP_SO_RECVSEQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PPPOL2TP_SO_RECVSEQ) == (2), "PPPOL2TP_SO_RECVSEQ != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PPPOL2TP_SO_RECVSEQ 2 +#endif +#if defined(PPPOL2TP_SO_SENDSEQ) || (defined(HAVE_DECL_PPPOL2TP_SO_SENDSEQ) && HAVE_DECL_PPPOL2TP_SO_SENDSEQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PPPOL2TP_SO_SENDSEQ) == (3), "PPPOL2TP_SO_SENDSEQ != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PPPOL2TP_SO_SENDSEQ 3 +#endif +#if defined(PPPOL2TP_SO_LNSMODE) || (defined(HAVE_DECL_PPPOL2TP_SO_LNSMODE) && HAVE_DECL_PPPOL2TP_SO_LNSMODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PPPOL2TP_SO_LNSMODE) == (4), "PPPOL2TP_SO_LNSMODE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PPPOL2TP_SO_LNSMODE 4 +#endif +#if defined(PPPOL2TP_SO_REORDERTO) || (defined(HAVE_DECL_PPPOL2TP_SO_REORDERTO) && HAVE_DECL_PPPOL2TP_SO_REORDERTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((PPPOL2TP_SO_REORDERTO) == (5), "PPPOL2TP_SO_REORDERTO != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define PPPOL2TP_SO_REORDERTO 5 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_pppol2tp_options in mpers mode + +# else + +static +const struct xlat sock_pppol2tp_options[] = { + [PPPOL2TP_SO_DEBUG] = XLAT(PPPOL2TP_SO_DEBUG), + [PPPOL2TP_SO_RECVSEQ] = XLAT(PPPOL2TP_SO_RECVSEQ), + [PPPOL2TP_SO_SENDSEQ] = XLAT(PPPOL2TP_SO_SENDSEQ), + [PPPOL2TP_SO_LNSMODE] = XLAT(PPPOL2TP_SO_LNSMODE), + [PPPOL2TP_SO_REORDERTO] = XLAT(PPPOL2TP_SO_REORDERTO), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_pppol2tp_options.in b/xlat/sock_pppol2tp_options.in new file mode 100644 index 00000000..9c4177a0 --- /dev/null +++ b/xlat/sock_pppol2tp_options.in @@ -0,0 +1,6 @@ +#value_indexed +PPPOL2TP_SO_DEBUG 1 +PPPOL2TP_SO_RECVSEQ 2 +PPPOL2TP_SO_SENDSEQ 3 +PPPOL2TP_SO_LNSMODE 4 +PPPOL2TP_SO_REORDERTO 5 diff --git a/xlat/sock_raw_options.h b/xlat/sock_raw_options.h new file mode 100644 index 00000000..e69998c7 --- /dev/null +++ b/xlat/sock_raw_options.h @@ -0,0 +1,25 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_raw_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_raw_options in mpers mode + +# else + +static +const struct xlat sock_raw_options[] = { +#if defined(ICMP_FILTER) || (defined(HAVE_DECL_ICMP_FILTER) && HAVE_DECL_ICMP_FILTER) + XLAT(ICMP_FILTER), +#endif + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_raw_options.in b/xlat/sock_raw_options.in new file mode 100644 index 00000000..b3411347 --- /dev/null +++ b/xlat/sock_raw_options.in @@ -0,0 +1 @@ +ICMP_FILTER diff --git a/xlat/sock_rds_options.h b/xlat/sock_rds_options.h new file mode 100644 index 00000000..c135a5fa --- /dev/null +++ b/xlat/sock_rds_options.h @@ -0,0 +1,209 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_rds_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RDS_CANCEL_SENT_TO) || (defined(HAVE_DECL_RDS_CANCEL_SENT_TO) && HAVE_DECL_RDS_CANCEL_SENT_TO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_CANCEL_SENT_TO) == (1), "RDS_CANCEL_SENT_TO != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_CANCEL_SENT_TO 1 +#endif +#if defined(RDS_GET_MR) || (defined(HAVE_DECL_RDS_GET_MR) && HAVE_DECL_RDS_GET_MR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_GET_MR) == (2), "RDS_GET_MR != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_GET_MR 2 +#endif +#if defined(RDS_FREE_MR) || (defined(HAVE_DECL_RDS_FREE_MR) && HAVE_DECL_RDS_FREE_MR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_FREE_MR) == (3), "RDS_FREE_MR != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_FREE_MR 3 +#endif +#if defined(RDS_BARRIER) || (defined(HAVE_DECL_RDS_BARRIER) && HAVE_DECL_RDS_BARRIER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_BARRIER) == (4), "RDS_BARRIER != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_BARRIER 4 +#endif +#if defined(RDS_RECVERR) || (defined(HAVE_DECL_RDS_RECVERR) && HAVE_DECL_RDS_RECVERR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_RECVERR) == (5), "RDS_RECVERR != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_RECVERR 5 +#endif +#if defined(RDS_CONG_MONITOR) || (defined(HAVE_DECL_RDS_CONG_MONITOR) && HAVE_DECL_RDS_CONG_MONITOR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_CONG_MONITOR) == (6), "RDS_CONG_MONITOR != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_CONG_MONITOR 6 +#endif +#if defined(RDS_GET_MR_FOR_DEST) || (defined(HAVE_DECL_RDS_GET_MR_FOR_DEST) && HAVE_DECL_RDS_GET_MR_FOR_DEST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_GET_MR_FOR_DEST) == (7), "RDS_GET_MR_FOR_DEST != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_GET_MR_FOR_DEST 7 +#endif +#if defined(SO_RDS_TRANSPORT) || (defined(HAVE_DECL_SO_RDS_TRANSPORT) && HAVE_DECL_SO_RDS_TRANSPORT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RDS_TRANSPORT) == (8), "SO_RDS_TRANSPORT != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RDS_TRANSPORT 8 +#endif +#if defined(SO_RDS_MSG_RXPATH_LATENCY) || (defined(HAVE_DECL_SO_RDS_MSG_RXPATH_LATENCY) && HAVE_DECL_SO_RDS_MSG_RXPATH_LATENCY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_RDS_MSG_RXPATH_LATENCY) == (10), "SO_RDS_MSG_RXPATH_LATENCY != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_RDS_MSG_RXPATH_LATENCY 10 +#endif +#ifndef __hppa__ +#if defined(SO_TIMESTAMP) || (defined(HAVE_DECL_SO_TIMESTAMP) && HAVE_DECL_SO_TIMESTAMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMP) == (29), "SO_TIMESTAMP != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMP 29 +#endif +#endif +#if defined(RDS_INFO_COUNTERS) || (defined(HAVE_DECL_RDS_INFO_COUNTERS) && HAVE_DECL_RDS_INFO_COUNTERS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_COUNTERS) == (10000), "RDS_INFO_COUNTERS != 10000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_COUNTERS 10000 +#endif +#if defined(RDS_INFO_CONNECTIONS) || (defined(HAVE_DECL_RDS_INFO_CONNECTIONS) && HAVE_DECL_RDS_INFO_CONNECTIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_CONNECTIONS) == (10001), "RDS_INFO_CONNECTIONS != 10001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_CONNECTIONS 10001 +#endif +#if defined(RDS_INFO_FLOWS) || (defined(HAVE_DECL_RDS_INFO_FLOWS) && HAVE_DECL_RDS_INFO_FLOWS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_FLOWS) == (10002), "RDS_INFO_FLOWS != 10002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_FLOWS 10002 +#endif +#if defined(RDS_INFO_SEND_MESSAGES) || (defined(HAVE_DECL_RDS_INFO_SEND_MESSAGES) && HAVE_DECL_RDS_INFO_SEND_MESSAGES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_SEND_MESSAGES) == (10003), "RDS_INFO_SEND_MESSAGES != 10003"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_SEND_MESSAGES 10003 +#endif +#if defined(RDS_INFO_RETRANS_MESSAGES) || (defined(HAVE_DECL_RDS_INFO_RETRANS_MESSAGES) && HAVE_DECL_RDS_INFO_RETRANS_MESSAGES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_RETRANS_MESSAGES) == (10004), "RDS_INFO_RETRANS_MESSAGES != 10004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_RETRANS_MESSAGES 10004 +#endif +#if defined(RDS_INFO_RECV_MESSAGES) || (defined(HAVE_DECL_RDS_INFO_RECV_MESSAGES) && HAVE_DECL_RDS_INFO_RECV_MESSAGES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_RECV_MESSAGES) == (10005), "RDS_INFO_RECV_MESSAGES != 10005"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_RECV_MESSAGES 10005 +#endif +#if defined(RDS_INFO_SOCKETS) || (defined(HAVE_DECL_RDS_INFO_SOCKETS) && HAVE_DECL_RDS_INFO_SOCKETS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_SOCKETS) == (10006), "RDS_INFO_SOCKETS != 10006"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_SOCKETS 10006 +#endif +#if defined(RDS_INFO_TCP_SOCKETS) || (defined(HAVE_DECL_RDS_INFO_TCP_SOCKETS) && HAVE_DECL_RDS_INFO_TCP_SOCKETS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_TCP_SOCKETS) == (10007), "RDS_INFO_TCP_SOCKETS != 10007"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_TCP_SOCKETS 10007 +#endif +#if defined(RDS_INFO_IB_CONNECTIONS) || (defined(HAVE_DECL_RDS_INFO_IB_CONNECTIONS) && HAVE_DECL_RDS_INFO_IB_CONNECTIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_IB_CONNECTIONS) == (10008), "RDS_INFO_IB_CONNECTIONS != 10008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_IB_CONNECTIONS 10008 +#endif +#if defined(RDS_INFO_CONNECTION_STATS) || (defined(HAVE_DECL_RDS_INFO_CONNECTION_STATS) && HAVE_DECL_RDS_INFO_CONNECTION_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_CONNECTION_STATS) == (10009), "RDS_INFO_CONNECTION_STATS != 10009"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_CONNECTION_STATS 10009 +#endif +#if defined(RDS_INFO_IWARP_CONNECTIONS) || (defined(HAVE_DECL_RDS_INFO_IWARP_CONNECTIONS) && HAVE_DECL_RDS_INFO_IWARP_CONNECTIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RDS_INFO_IWARP_CONNECTIONS) == (10010), "RDS_INFO_IWARP_CONNECTIONS != 10010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RDS_INFO_IWARP_CONNECTIONS 10010 +#endif +#ifdef __hppa__ +#if defined(SO_TIMESTAMP) || (defined(HAVE_DECL_SO_TIMESTAMP) && HAVE_DECL_SO_TIMESTAMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SO_TIMESTAMP) == (0x4012), "SO_TIMESTAMP != 0x4012"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SO_TIMESTAMP 0x4012 +#endif +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_rds_options in mpers mode + +# else + +static +const struct xlat sock_rds_options[] = { + XLAT(RDS_CANCEL_SENT_TO), + XLAT(RDS_GET_MR), + XLAT(RDS_FREE_MR), + XLAT(RDS_BARRIER), + XLAT(RDS_RECVERR), + XLAT(RDS_CONG_MONITOR), + XLAT(RDS_GET_MR_FOR_DEST), + XLAT(SO_RDS_TRANSPORT), + XLAT(SO_RDS_MSG_RXPATH_LATENCY), + +#ifndef __hppa__ + XLAT(SO_TIMESTAMP), +#endif + + XLAT(RDS_INFO_COUNTERS), + XLAT(RDS_INFO_CONNECTIONS), + XLAT(RDS_INFO_FLOWS), + XLAT(RDS_INFO_SEND_MESSAGES), + XLAT(RDS_INFO_RETRANS_MESSAGES), + XLAT(RDS_INFO_RECV_MESSAGES), + XLAT(RDS_INFO_SOCKETS), + XLAT(RDS_INFO_TCP_SOCKETS), + XLAT(RDS_INFO_IB_CONNECTIONS), + XLAT(RDS_INFO_CONNECTION_STATS), + XLAT(RDS_INFO_IWARP_CONNECTIONS), + +#ifdef __hppa__ + XLAT(SO_TIMESTAMP), +#endif + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_rds_options.in b/xlat/sock_rds_options.in new file mode 100644 index 00000000..776d64a7 --- /dev/null +++ b/xlat/sock_rds_options.in @@ -0,0 +1,29 @@ +RDS_CANCEL_SENT_TO 1 +RDS_GET_MR 2 +RDS_FREE_MR 3 +RDS_BARRIER 4 +RDS_RECVERR 5 +RDS_CONG_MONITOR 6 +RDS_GET_MR_FOR_DEST 7 +SO_RDS_TRANSPORT 8 +SO_RDS_MSG_RXPATH_LATENCY 10 + +#ifndef __hppa__ +SO_TIMESTAMP 29 +#endif + +RDS_INFO_COUNTERS 10000 +RDS_INFO_CONNECTIONS 10001 +RDS_INFO_FLOWS 10002 +RDS_INFO_SEND_MESSAGES 10003 +RDS_INFO_RETRANS_MESSAGES 10004 +RDS_INFO_RECV_MESSAGES 10005 +RDS_INFO_SOCKETS 10006 +RDS_INFO_TCP_SOCKETS 10007 +RDS_INFO_IB_CONNECTIONS 10008 +RDS_INFO_CONNECTION_STATS 10009 +RDS_INFO_IWARP_CONNECTIONS 10010 + +#ifdef __hppa__ +SO_TIMESTAMP 0x4012 +#endif diff --git a/xlat/sock_rxrpc_options.h b/xlat/sock_rxrpc_options.h new file mode 100644 index 00000000..a7ab59ac --- /dev/null +++ b/xlat/sock_rxrpc_options.h @@ -0,0 +1,70 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_rxrpc_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RXRPC_SECURITY_KEY) || (defined(HAVE_DECL_RXRPC_SECURITY_KEY) && HAVE_DECL_RXRPC_SECURITY_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RXRPC_SECURITY_KEY) == (1), "RXRPC_SECURITY_KEY != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RXRPC_SECURITY_KEY 1 +#endif +#if defined(RXRPC_SECURITY_KEYRING) || (defined(HAVE_DECL_RXRPC_SECURITY_KEYRING) && HAVE_DECL_RXRPC_SECURITY_KEYRING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RXRPC_SECURITY_KEYRING) == (2), "RXRPC_SECURITY_KEYRING != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RXRPC_SECURITY_KEYRING 2 +#endif +#if defined(RXRPC_EXCLUSIVE_CONNECTION) || (defined(HAVE_DECL_RXRPC_EXCLUSIVE_CONNECTION) && HAVE_DECL_RXRPC_EXCLUSIVE_CONNECTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RXRPC_EXCLUSIVE_CONNECTION) == (3), "RXRPC_EXCLUSIVE_CONNECTION != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RXRPC_EXCLUSIVE_CONNECTION 3 +#endif +#if defined(RXRPC_MIN_SECURITY_LEVEL) || (defined(HAVE_DECL_RXRPC_MIN_SECURITY_LEVEL) && HAVE_DECL_RXRPC_MIN_SECURITY_LEVEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RXRPC_MIN_SECURITY_LEVEL) == (4), "RXRPC_MIN_SECURITY_LEVEL != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RXRPC_MIN_SECURITY_LEVEL 4 +#endif +#if defined(RXRPC_UPGRADEABLE_SERVICE) || (defined(HAVE_DECL_RXRPC_UPGRADEABLE_SERVICE) && HAVE_DECL_RXRPC_UPGRADEABLE_SERVICE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RXRPC_UPGRADEABLE_SERVICE) == (5), "RXRPC_UPGRADEABLE_SERVICE != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RXRPC_UPGRADEABLE_SERVICE 5 +#endif +#if defined(RXRPC_SUPPORTED_CMSG) || (defined(HAVE_DECL_RXRPC_SUPPORTED_CMSG) && HAVE_DECL_RXRPC_SUPPORTED_CMSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RXRPC_SUPPORTED_CMSG) == (6), "RXRPC_SUPPORTED_CMSG != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define RXRPC_SUPPORTED_CMSG 6 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_rxrpc_options in mpers mode + +# else + +static +const struct xlat sock_rxrpc_options[] = { + [RXRPC_SECURITY_KEY] = XLAT(RXRPC_SECURITY_KEY), + [RXRPC_SECURITY_KEYRING] = XLAT(RXRPC_SECURITY_KEYRING), + [RXRPC_EXCLUSIVE_CONNECTION] = XLAT(RXRPC_EXCLUSIVE_CONNECTION), + [RXRPC_MIN_SECURITY_LEVEL] = XLAT(RXRPC_MIN_SECURITY_LEVEL), + [RXRPC_UPGRADEABLE_SERVICE] = XLAT(RXRPC_UPGRADEABLE_SERVICE), + [RXRPC_SUPPORTED_CMSG] = XLAT(RXRPC_SUPPORTED_CMSG), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_rxrpc_options.in b/xlat/sock_rxrpc_options.in new file mode 100644 index 00000000..55408292 --- /dev/null +++ b/xlat/sock_rxrpc_options.in @@ -0,0 +1,7 @@ +#value_indexed +RXRPC_SECURITY_KEY 1 +RXRPC_SECURITY_KEYRING 2 +RXRPC_EXCLUSIVE_CONNECTION 3 +RXRPC_MIN_SECURITY_LEVEL 4 +RXRPC_UPGRADEABLE_SERVICE 5 +RXRPC_SUPPORTED_CMSG 6 diff --git a/xlat/sock_sctp_options.h b/xlat/sock_sctp_options.h new file mode 100644 index 00000000..13e08d45 --- /dev/null +++ b/xlat/sock_sctp_options.h @@ -0,0 +1,527 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_sctp_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SCTP_RTOINFO) || (defined(HAVE_DECL_SCTP_RTOINFO) && HAVE_DECL_SCTP_RTOINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_RTOINFO) == (0), "SCTP_RTOINFO != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_RTOINFO 0 +#endif +#if defined(SCTP_ASSOCINFO) || (defined(HAVE_DECL_SCTP_ASSOCINFO) && HAVE_DECL_SCTP_ASSOCINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_ASSOCINFO) == (1), "SCTP_ASSOCINFO != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_ASSOCINFO 1 +#endif +#if defined(SCTP_INITMSG) || (defined(HAVE_DECL_SCTP_INITMSG) && HAVE_DECL_SCTP_INITMSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_INITMSG) == (2), "SCTP_INITMSG != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_INITMSG 2 +#endif +#if defined(SCTP_NODELAY) || (defined(HAVE_DECL_SCTP_NODELAY) && HAVE_DECL_SCTP_NODELAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_NODELAY) == (3), "SCTP_NODELAY != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_NODELAY 3 +#endif +#if defined(SCTP_AUTOCLOSE) || (defined(HAVE_DECL_SCTP_AUTOCLOSE) && HAVE_DECL_SCTP_AUTOCLOSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_AUTOCLOSE) == (4), "SCTP_AUTOCLOSE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_SET_PEER_PRIMARY_ADDR) == (5), "SCTP_SET_PEER_PRIMARY_ADDR != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_SET_PEER_PRIMARY_ADDR 5 +#endif +#if defined(SCTP_PRIMARY_ADDR) || (defined(HAVE_DECL_SCTP_PRIMARY_ADDR) && HAVE_DECL_SCTP_PRIMARY_ADDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_PRIMARY_ADDR) == (6), "SCTP_PRIMARY_ADDR != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_PRIMARY_ADDR 6 +#endif +#if defined(SCTP_ADAPTATION_LAYER) || (defined(HAVE_DECL_SCTP_ADAPTATION_LAYER) && HAVE_DECL_SCTP_ADAPTATION_LAYER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_ADAPTATION_LAYER) == (7), "SCTP_ADAPTATION_LAYER != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_ADAPTATION_LAYER 7 +#endif +#if defined(SCTP_DISABLE_FRAGMENTS) || (defined(HAVE_DECL_SCTP_DISABLE_FRAGMENTS) && HAVE_DECL_SCTP_DISABLE_FRAGMENTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_DISABLE_FRAGMENTS) == (8), "SCTP_DISABLE_FRAGMENTS != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_PEER_ADDR_PARAMS) == (9), "SCTP_PEER_ADDR_PARAMS != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_DEFAULT_SEND_PARAM) == (10), "SCTP_DEFAULT_SEND_PARAM != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_DEFAULT_SEND_PARAM 10 +#endif +#if defined(SCTP_EVENTS) || (defined(HAVE_DECL_SCTP_EVENTS) && HAVE_DECL_SCTP_EVENTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_EVENTS) == (11), "SCTP_EVENTS != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_I_WANT_MAPPED_V4_ADDR) == (12), "SCTP_I_WANT_MAPPED_V4_ADDR != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_I_WANT_MAPPED_V4_ADDR 12 +#endif +#if defined(SCTP_MAXSEG) || (defined(HAVE_DECL_SCTP_MAXSEG) && HAVE_DECL_SCTP_MAXSEG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_MAXSEG) == (13), "SCTP_MAXSEG != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_MAXSEG 13 +#endif +#if defined(SCTP_STATUS) || (defined(HAVE_DECL_SCTP_STATUS) && HAVE_DECL_SCTP_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_STATUS) == (14), "SCTP_STATUS != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_PEER_ADDR_INFO) == (15), "SCTP_GET_PEER_ADDR_INFO != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_GET_PEER_ADDR_INFO 15 +#endif +#if defined(SCTP_DELAYED_SACK) || (defined(HAVE_DECL_SCTP_DELAYED_SACK) && HAVE_DECL_SCTP_DELAYED_SACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_DELAYED_SACK) == (16), "SCTP_DELAYED_SACK != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_DELAYED_SACK 16 +#endif +#if defined(SCTP_CONTEXT) || (defined(HAVE_DECL_SCTP_CONTEXT) && HAVE_DECL_SCTP_CONTEXT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_CONTEXT) == (17), "SCTP_CONTEXT != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_CONTEXT 17 +#endif +#if defined(SCTP_FRAGMENT_INTERLEAVE) || (defined(HAVE_DECL_SCTP_FRAGMENT_INTERLEAVE) && HAVE_DECL_SCTP_FRAGMENT_INTERLEAVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_FRAGMENT_INTERLEAVE) == (18), "SCTP_FRAGMENT_INTERLEAVE != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_PARTIAL_DELIVERY_POINT) == (19), "SCTP_PARTIAL_DELIVERY_POINT != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_PARTIAL_DELIVERY_POINT 19 +#endif +#if defined(SCTP_MAX_BURST) || (defined(HAVE_DECL_SCTP_MAX_BURST) && HAVE_DECL_SCTP_MAX_BURST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_MAX_BURST) == (20), "SCTP_MAX_BURST != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_MAX_BURST 20 +#endif +#if defined(SCTP_AUTH_CHUNK) || (defined(HAVE_DECL_SCTP_AUTH_CHUNK) && HAVE_DECL_SCTP_AUTH_CHUNK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_AUTH_CHUNK) == (21), "SCTP_AUTH_CHUNK != 21"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_AUTH_CHUNK 21 +#endif +#if defined(SCTP_HMAC_IDENT) || (defined(HAVE_DECL_SCTP_HMAC_IDENT) && HAVE_DECL_SCTP_HMAC_IDENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_HMAC_IDENT) == (22), "SCTP_HMAC_IDENT != 22"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_HMAC_IDENT 22 +#endif +#if defined(SCTP_AUTH_KEY) || (defined(HAVE_DECL_SCTP_AUTH_KEY) && HAVE_DECL_SCTP_AUTH_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_AUTH_KEY) == (23), "SCTP_AUTH_KEY != 23"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_AUTH_ACTIVE_KEY) == (24), "SCTP_AUTH_ACTIVE_KEY != 24"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_AUTH_DELETE_KEY) == (25), "SCTP_AUTH_DELETE_KEY != 25"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_PEER_AUTH_CHUNKS) == (26), "SCTP_PEER_AUTH_CHUNKS != 26"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_LOCAL_AUTH_CHUNKS) == (27), "SCTP_LOCAL_AUTH_CHUNKS != 27"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_ASSOC_NUMBER) == (28), "SCTP_GET_ASSOC_NUMBER != 28"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_ASSOC_ID_LIST) == (29), "SCTP_GET_ASSOC_ID_LIST != 29"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_GET_ASSOC_ID_LIST 29 +#endif +#if defined(SCTP_AUTO_ASCONF) || (defined(HAVE_DECL_SCTP_AUTO_ASCONF) && HAVE_DECL_SCTP_AUTO_ASCONF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_AUTO_ASCONF) == (30), "SCTP_AUTO_ASCONF != 30"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_PEER_ADDR_THLDS) == (31), "SCTP_PEER_ADDR_THLDS != 31"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_PEER_ADDR_THLDS 31 +#endif +#if defined(SCTP_RECVRCVINFO) || (defined(HAVE_DECL_SCTP_RECVRCVINFO) && HAVE_DECL_SCTP_RECVRCVINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_RECVRCVINFO) == (32), "SCTP_RECVRCVINFO != 32"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_RECVRCVINFO 32 +#endif +#if defined(SCTP_RECVNXTINFO) || (defined(HAVE_DECL_SCTP_RECVNXTINFO) && HAVE_DECL_SCTP_RECVNXTINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_RECVNXTINFO) == (33), "SCTP_RECVNXTINFO != 33"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_RECVNXTINFO 33 +#endif +#if defined(SCTP_DEFAULT_SNDINFO) || (defined(HAVE_DECL_SCTP_DEFAULT_SNDINFO) && HAVE_DECL_SCTP_DEFAULT_SNDINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_DEFAULT_SNDINFO) == (34), "SCTP_DEFAULT_SNDINFO != 34"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_DEFAULT_SNDINFO 34 +#endif +#if defined(SCTP_AUTH_DEACTIVATE_KEY) || (defined(HAVE_DECL_SCTP_AUTH_DEACTIVATE_KEY) && HAVE_DECL_SCTP_AUTH_DEACTIVATE_KEY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_AUTH_DEACTIVATE_KEY) == (35), "SCTP_AUTH_DEACTIVATE_KEY != 35"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_AUTH_DEACTIVATE_KEY 35 +#endif +#if defined(SCTP_SOCKOPT_BINDX_ADD) || (defined(HAVE_DECL_SCTP_SOCKOPT_BINDX_ADD) && HAVE_DECL_SCTP_SOCKOPT_BINDX_ADD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_SOCKOPT_BINDX_ADD) == (100), "SCTP_SOCKOPT_BINDX_ADD != 100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_SOCKOPT_BINDX_REM) == (101), "SCTP_SOCKOPT_BINDX_REM != 101"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_SOCKOPT_BINDX_REM 101 +#endif +#if defined(SCTP_SOCKOPT_PEELOFF) || (defined(HAVE_DECL_SCTP_SOCKOPT_PEELOFF) && HAVE_DECL_SCTP_SOCKOPT_PEELOFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_SOCKOPT_PEELOFF) == (102), "SCTP_SOCKOPT_PEELOFF != 102"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_SOCKOPT_PEELOFF 102 +#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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_PEER_ADDRS_NUM_OLD) == (103), "SCTP_GET_PEER_ADDRS_NUM_OLD != 103"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_GET_PEER_ADDRS_NUM_OLD 103 +#endif +#if defined(SCTP_GET_PEER_ADDRS_OLD) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS_OLD) && HAVE_DECL_SCTP_GET_PEER_ADDRS_OLD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_PEER_ADDRS_OLD) == (104), "SCTP_GET_PEER_ADDRS_OLD != 104"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_GET_PEER_ADDRS_OLD 104 +#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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_LOCAL_ADDRS_NUM_OLD) == (105), "SCTP_GET_LOCAL_ADDRS_NUM_OLD != 105"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_GET_LOCAL_ADDRS_NUM_OLD 105 +#endif +#if defined(SCTP_GET_LOCAL_ADDRS_OLD) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS_OLD) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS_OLD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_LOCAL_ADDRS_OLD) == (106), "SCTP_GET_LOCAL_ADDRS_OLD != 106"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_GET_LOCAL_ADDRS_OLD 106 +#endif +#if defined(SCTP_SOCKOPT_CONNECTX_OLD) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX_OLD) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX_OLD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_SOCKOPT_CONNECTX_OLD) == (107), "SCTP_SOCKOPT_CONNECTX_OLD != 107"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_SOCKOPT_CONNECTX_OLD 107 +#endif +#if defined(SCTP_GET_PEER_ADDRS) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS) && HAVE_DECL_SCTP_GET_PEER_ADDRS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_PEER_ADDRS) == (108), "SCTP_GET_PEER_ADDRS != 108"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_GET_PEER_ADDRS 108 +#endif +#if defined(SCTP_GET_LOCAL_ADDRS) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_LOCAL_ADDRS) == (109), "SCTP_GET_LOCAL_ADDRS != 109"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_GET_LOCAL_ADDRS 109 +#endif +#if defined(SCTP_SOCKOPT_CONNECTX) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_SOCKOPT_CONNECTX) == (110), "SCTP_SOCKOPT_CONNECTX != 110"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_SOCKOPT_CONNECTX 110 +#endif +#if defined(SCTP_SOCKOPT_CONNECTX3) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX3) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX3) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_SOCKOPT_CONNECTX3) == (111), "SCTP_SOCKOPT_CONNECTX3 != 111"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_SOCKOPT_CONNECTX3 111 +#endif +#if defined(SCTP_GET_ASSOC_STATS) || (defined(HAVE_DECL_SCTP_GET_ASSOC_STATS) && HAVE_DECL_SCTP_GET_ASSOC_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_GET_ASSOC_STATS) == (112), "SCTP_GET_ASSOC_STATS != 112"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_GET_ASSOC_STATS 112 +#endif +#if defined(SCTP_PR_SUPPORTED) || (defined(HAVE_DECL_SCTP_PR_SUPPORTED) && HAVE_DECL_SCTP_PR_SUPPORTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_PR_SUPPORTED) == (113), "SCTP_PR_SUPPORTED != 113"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_PR_SUPPORTED 113 +#endif +#if defined(SCTP_DEFAULT_PRINFO) || (defined(HAVE_DECL_SCTP_DEFAULT_PRINFO) && HAVE_DECL_SCTP_DEFAULT_PRINFO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_DEFAULT_PRINFO) == (114), "SCTP_DEFAULT_PRINFO != 114"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_DEFAULT_PRINFO 114 +#endif +#if defined(SCTP_PR_ASSOC_STATUS) || (defined(HAVE_DECL_SCTP_PR_ASSOC_STATUS) && HAVE_DECL_SCTP_PR_ASSOC_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_PR_ASSOC_STATUS) == (115), "SCTP_PR_ASSOC_STATUS != 115"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_PR_ASSOC_STATUS 115 +#endif +#if defined(SCTP_PR_STREAM_STATUS) || (defined(HAVE_DECL_SCTP_PR_STREAM_STATUS) && HAVE_DECL_SCTP_PR_STREAM_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_PR_STREAM_STATUS) == (116), "SCTP_PR_STREAM_STATUS != 116"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_PR_STREAM_STATUS 116 +#endif +#if defined(SCTP_RECONFIG_SUPPORTED) || (defined(HAVE_DECL_SCTP_RECONFIG_SUPPORTED) && HAVE_DECL_SCTP_RECONFIG_SUPPORTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_RECONFIG_SUPPORTED) == (117), "SCTP_RECONFIG_SUPPORTED != 117"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_RECONFIG_SUPPORTED 117 +#endif +#if defined(SCTP_ENABLE_STREAM_RESET) || (defined(HAVE_DECL_SCTP_ENABLE_STREAM_RESET) && HAVE_DECL_SCTP_ENABLE_STREAM_RESET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_ENABLE_STREAM_RESET) == (118), "SCTP_ENABLE_STREAM_RESET != 118"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_ENABLE_STREAM_RESET 118 +#endif +#if defined(SCTP_RESET_STREAMS) || (defined(HAVE_DECL_SCTP_RESET_STREAMS) && HAVE_DECL_SCTP_RESET_STREAMS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_RESET_STREAMS) == (119), "SCTP_RESET_STREAMS != 119"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_RESET_STREAMS 119 +#endif +#if defined(SCTP_RESET_ASSOC) || (defined(HAVE_DECL_SCTP_RESET_ASSOC) && HAVE_DECL_SCTP_RESET_ASSOC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_RESET_ASSOC) == (120), "SCTP_RESET_ASSOC != 120"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_RESET_ASSOC 120 +#endif +#if defined(SCTP_ADD_STREAMS) || (defined(HAVE_DECL_SCTP_ADD_STREAMS) && HAVE_DECL_SCTP_ADD_STREAMS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_ADD_STREAMS) == (121), "SCTP_ADD_STREAMS != 121"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_ADD_STREAMS 121 +#endif +#if defined(SCTP_SOCKOPT_PEELOFF_FLAGS) || (defined(HAVE_DECL_SCTP_SOCKOPT_PEELOFF_FLAGS) && HAVE_DECL_SCTP_SOCKOPT_PEELOFF_FLAGS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_SOCKOPT_PEELOFF_FLAGS) == (122), "SCTP_SOCKOPT_PEELOFF_FLAGS != 122"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_SOCKOPT_PEELOFF_FLAGS 122 +#endif +#if defined(SCTP_STREAM_SCHEDULER) || (defined(HAVE_DECL_SCTP_STREAM_SCHEDULER) && HAVE_DECL_SCTP_STREAM_SCHEDULER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_STREAM_SCHEDULER) == (123), "SCTP_STREAM_SCHEDULER != 123"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# 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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_STREAM_SCHEDULER_VALUE) == (124), "SCTP_STREAM_SCHEDULER_VALUE != 124"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_STREAM_SCHEDULER_VALUE 124 +#endif +#if defined(SCTP_INTERLEAVING_SUPPORTED) || (defined(HAVE_DECL_SCTP_INTERLEAVING_SUPPORTED) && HAVE_DECL_SCTP_INTERLEAVING_SUPPORTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_INTERLEAVING_SUPPORTED) == (125), "SCTP_INTERLEAVING_SUPPORTED != 125"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_INTERLEAVING_SUPPORTED 125 +#endif +#if defined(SCTP_SENDMSG_CONNECT) || (defined(HAVE_DECL_SCTP_SENDMSG_CONNECT) && HAVE_DECL_SCTP_SENDMSG_CONNECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SCTP_SENDMSG_CONNECT) == (126), "SCTP_SENDMSG_CONNECT != 126"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SCTP_SENDMSG_CONNECT 126 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_sctp_options in mpers mode + +# else + +static +const struct xlat sock_sctp_options[] = { + 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_AUTH_DEACTIVATE_KEY), + + 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(SCTP_SENDMSG_CONNECT), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_sctp_options.in b/xlat/sock_sctp_options.in new file mode 100644 index 00000000..bbb914ed --- /dev/null +++ b/xlat/sock_sctp_options.in @@ -0,0 +1,64 @@ +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 +SCTP_AUTH_DEACTIVATE_KEY 35 +/* linux specific things */ +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 +SCTP_SENDMSG_CONNECT 126 diff --git a/xlat/socktcpoptions.h b/xlat/sock_tcp_options.h similarity index 92% rename from xlat/socktcpoptions.h rename to xlat/sock_tcp_options.h index 55d6fd09..58d966ae 100644 --- a/xlat/socktcpoptions.h +++ b/xlat/sock_tcp_options.h @@ -1,13 +1,19 @@ -/* Generated by ./xlat/gen.sh from ./xlat/socktcpoptions.in; do not edit. */ +/* Generated by ./xlat/gen.sh from ./xlat/sock_tcp_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat socktcpoptions in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_tcp_options in mpers mode + +# else static -const struct xlat socktcpoptions[] = { +const struct xlat sock_tcp_options[] = { #if defined(TCP_NODELAY) || (defined(HAVE_DECL_TCP_NODELAY) && HAVE_DECL_TCP_NODELAY) XLAT(TCP_NODELAY), #endif @@ -113,4 +119,6 @@ const struct xlat socktcpoptions[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_tcp_options.in b/xlat/sock_tcp_options.in new file mode 100644 index 00000000..44f1a2a8 --- /dev/null +++ b/xlat/sock_tcp_options.in @@ -0,0 +1,34 @@ +TCP_NODELAY +TCP_MAXSEG +TCP_CORK +TCP_KEEPIDLE +TCP_KEEPINTVL +TCP_KEEPCNT +TCP_SYNCNT +TCP_LINGER2 +TCP_DEFER_ACCEPT +TCP_WINDOW_CLAMP +TCP_INFO +TCP_QUICKACK +TCP_CONGESTION +TCP_MD5SIG +TCP_COOKIE_TRANSACTIONS +TCP_THIN_LINEAR_TIMEOUTS +TCP_THIN_DUPACK +TCP_USER_TIMEOUT +TCP_REPAIR +TCP_REPAIR_QUEUE +TCP_QUEUE_SEQ +TCP_REPAIR_OPTIONS +TCP_FASTOPEN +TCP_TIMESTAMP +TCP_NOTSENT_LOWAT +TCP_CC_INFO +TCP_SAVE_SYN +TCP_SAVED_SYN +TCP_REPAIR_WINDOW +TCP_FASTOPEN_CONNECT +TCP_ULP +TCP_MD5SIG_EXT +TCP_FASTOPEN_KEY +TCP_FASTOPEN_NO_COOKIE diff --git a/xlat/sock_tipc_options.h b/xlat/sock_tipc_options.h new file mode 100644 index 00000000..c41a91cb --- /dev/null +++ b/xlat/sock_tipc_options.h @@ -0,0 +1,103 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_tipc_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TIPC_IMPORTANCE) || (defined(HAVE_DECL_TIPC_IMPORTANCE) && HAVE_DECL_TIPC_IMPORTANCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_IMPORTANCE) == (127), "TIPC_IMPORTANCE != 127"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_IMPORTANCE 127 +#endif +#if defined(TIPC_SRC_DROPPABLE) || (defined(HAVE_DECL_TIPC_SRC_DROPPABLE) && HAVE_DECL_TIPC_SRC_DROPPABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_SRC_DROPPABLE) == (128), "TIPC_SRC_DROPPABLE != 128"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_SRC_DROPPABLE 128 +#endif +#if defined(TIPC_DEST_DROPPABLE) || (defined(HAVE_DECL_TIPC_DEST_DROPPABLE) && HAVE_DECL_TIPC_DEST_DROPPABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_DEST_DROPPABLE) == (129), "TIPC_DEST_DROPPABLE != 129"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_DEST_DROPPABLE 129 +#endif +#if defined(TIPC_CONN_TIMEOUT) || (defined(HAVE_DECL_TIPC_CONN_TIMEOUT) && HAVE_DECL_TIPC_CONN_TIMEOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_CONN_TIMEOUT) == (130), "TIPC_CONN_TIMEOUT != 130"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_CONN_TIMEOUT 130 +#endif +#if defined(TIPC_NODE_RECVQ_DEPTH) || (defined(HAVE_DECL_TIPC_NODE_RECVQ_DEPTH) && HAVE_DECL_TIPC_NODE_RECVQ_DEPTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_NODE_RECVQ_DEPTH) == (131), "TIPC_NODE_RECVQ_DEPTH != 131"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_NODE_RECVQ_DEPTH 131 +#endif +#if defined(TIPC_SOCK_RECVQ_DEPTH) || (defined(HAVE_DECL_TIPC_SOCK_RECVQ_DEPTH) && HAVE_DECL_TIPC_SOCK_RECVQ_DEPTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_SOCK_RECVQ_DEPTH) == (132), "TIPC_SOCK_RECVQ_DEPTH != 132"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_SOCK_RECVQ_DEPTH 132 +#endif +#if defined(TIPC_MCAST_BROADCAST) || (defined(HAVE_DECL_TIPC_MCAST_BROADCAST) && HAVE_DECL_TIPC_MCAST_BROADCAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_MCAST_BROADCAST) == (133), "TIPC_MCAST_BROADCAST != 133"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_MCAST_BROADCAST 133 +#endif +#if defined(TIPC_MCAST_REPLICAST) || (defined(HAVE_DECL_TIPC_MCAST_REPLICAST) && HAVE_DECL_TIPC_MCAST_REPLICAST) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_MCAST_REPLICAST) == (134), "TIPC_MCAST_REPLICAST != 134"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_MCAST_REPLICAST 134 +#endif +#if defined(TIPC_GROUP_JOIN) || (defined(HAVE_DECL_TIPC_GROUP_JOIN) && HAVE_DECL_TIPC_GROUP_JOIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_GROUP_JOIN) == (135), "TIPC_GROUP_JOIN != 135"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_GROUP_JOIN 135 +#endif +#if defined(TIPC_GROUP_LEAVE) || (defined(HAVE_DECL_TIPC_GROUP_LEAVE) && HAVE_DECL_TIPC_GROUP_LEAVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TIPC_GROUP_LEAVE) == (136), "TIPC_GROUP_LEAVE != 136"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TIPC_GROUP_LEAVE 136 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_tipc_options in mpers mode + +# else + +static +const struct xlat sock_tipc_options[] = { + + XLAT(TIPC_IMPORTANCE), + XLAT(TIPC_SRC_DROPPABLE), + XLAT(TIPC_DEST_DROPPABLE), + XLAT(TIPC_CONN_TIMEOUT), + XLAT(TIPC_NODE_RECVQ_DEPTH), + XLAT(TIPC_SOCK_RECVQ_DEPTH), + XLAT(TIPC_MCAST_BROADCAST), + XLAT(TIPC_MCAST_REPLICAST), + XLAT(TIPC_GROUP_JOIN), + XLAT(TIPC_GROUP_LEAVE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_tipc_options.in b/xlat/sock_tipc_options.in new file mode 100644 index 00000000..849e50d6 --- /dev/null +++ b/xlat/sock_tipc_options.in @@ -0,0 +1,11 @@ +/* sort -k2,2n */ +TIPC_IMPORTANCE 127 +TIPC_SRC_DROPPABLE 128 +TIPC_DEST_DROPPABLE 129 +TIPC_CONN_TIMEOUT 130 +TIPC_NODE_RECVQ_DEPTH 131 +TIPC_SOCK_RECVQ_DEPTH 132 +TIPC_MCAST_BROADCAST 133 +TIPC_MCAST_REPLICAST 134 +TIPC_GROUP_JOIN 135 +TIPC_GROUP_LEAVE 136 diff --git a/xlat/sock_tls_options.h b/xlat/sock_tls_options.h new file mode 100644 index 00000000..7e1f2533 --- /dev/null +++ b/xlat/sock_tls_options.h @@ -0,0 +1,38 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_tls_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TLS_TX) || (defined(HAVE_DECL_TLS_TX) && HAVE_DECL_TLS_TX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TLS_TX) == (1), "TLS_TX != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TLS_TX 1 +#endif +#if defined(TLS_RX) || (defined(HAVE_DECL_TLS_RX) && HAVE_DECL_TLS_RX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TLS_RX) == (2), "TLS_RX != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define TLS_RX 2 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_tls_options in mpers mode + +# else + +static +const struct xlat sock_tls_options[] = { + XLAT(TLS_TX), + XLAT(TLS_RX), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_tls_options.in b/xlat/sock_tls_options.in new file mode 100644 index 00000000..5fcefd64 --- /dev/null +++ b/xlat/sock_tls_options.in @@ -0,0 +1,2 @@ +TLS_TX 1 +TLS_RX 2 diff --git a/xlat/sock_type_flags.h b/xlat/sock_type_flags.h index d1af088c..d8755c4e 100644 --- a/xlat/sock_type_flags.h +++ b/xlat/sock_type_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sock_type_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sock_type_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_type_flags in mpers mode + +# else static const struct xlat sock_type_flags[] = { @@ -17,4 +23,6 @@ const struct xlat sock_type_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_udp_options.h b/xlat/sock_udp_options.h new file mode 100644 index 00000000..51aa1c7d --- /dev/null +++ b/xlat/sock_udp_options.h @@ -0,0 +1,54 @@ +/* Generated by ./xlat/gen.sh from ./xlat/sock_udp_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(UDP_CORK) || (defined(HAVE_DECL_UDP_CORK) && HAVE_DECL_UDP_CORK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((UDP_CORK) == (1), "UDP_CORK != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define UDP_CORK 1 +#endif +#if defined(UDP_ENCAP) || (defined(HAVE_DECL_UDP_ENCAP) && HAVE_DECL_UDP_ENCAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((UDP_ENCAP) == (100), "UDP_ENCAP != 100"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define UDP_ENCAP 100 +#endif +#if defined(UDP_NO_CHECK6_TX) || (defined(HAVE_DECL_UDP_NO_CHECK6_TX) && HAVE_DECL_UDP_NO_CHECK6_TX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((UDP_NO_CHECK6_TX) == (101), "UDP_NO_CHECK6_TX != 101"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define UDP_NO_CHECK6_TX 101 +#endif +#if defined(UDP_NO_CHECK6_RX) || (defined(HAVE_DECL_UDP_NO_CHECK6_RX) && HAVE_DECL_UDP_NO_CHECK6_RX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((UDP_NO_CHECK6_RX) == (102), "UDP_NO_CHECK6_RX != 102"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define UDP_NO_CHECK6_RX 102 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sock_udp_options in mpers mode + +# else + +static +const struct xlat sock_udp_options[] = { + XLAT(UDP_CORK), + XLAT(UDP_ENCAP), + XLAT(UDP_NO_CHECK6_TX), + XLAT(UDP_NO_CHECK6_RX), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sock_udp_options.in b/xlat/sock_udp_options.in new file mode 100644 index 00000000..18ec8d4e --- /dev/null +++ b/xlat/sock_udp_options.in @@ -0,0 +1,4 @@ +UDP_CORK 1 +UDP_ENCAP 100 +UDP_NO_CHECK6_TX 101 +UDP_NO_CHECK6_RX 102 diff --git a/xlat/socketcalls.h b/xlat/socketcalls.h index 3680446b..a3ae1484 100644 --- a/xlat/socketcalls.h +++ b/xlat/socketcalls.h @@ -1,70 +1,156 @@ /* Generated by ./xlat/gen.sh from ./xlat/socketcalls.in; do not edit. */ -#if !(defined(SYS_SOCKET) || (defined(HAVE_DECL_SYS_SOCKET) && HAVE_DECL_SYS_SOCKET)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SYS_SOCKET) || (defined(HAVE_DECL_SYS_SOCKET) && HAVE_DECL_SYS_SOCKET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_SOCKET) == (1), "SYS_SOCKET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_SOCKET 1 #endif -#if !(defined(SYS_BIND) || (defined(HAVE_DECL_SYS_BIND) && HAVE_DECL_SYS_BIND)) +#if defined(SYS_BIND) || (defined(HAVE_DECL_SYS_BIND) && HAVE_DECL_SYS_BIND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_BIND) == (2), "SYS_BIND != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_BIND 2 #endif -#if !(defined(SYS_CONNECT) || (defined(HAVE_DECL_SYS_CONNECT) && HAVE_DECL_SYS_CONNECT)) +#if defined(SYS_CONNECT) || (defined(HAVE_DECL_SYS_CONNECT) && HAVE_DECL_SYS_CONNECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_CONNECT) == (3), "SYS_CONNECT != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_CONNECT 3 #endif -#if !(defined(SYS_LISTEN) || (defined(HAVE_DECL_SYS_LISTEN) && HAVE_DECL_SYS_LISTEN)) +#if defined(SYS_LISTEN) || (defined(HAVE_DECL_SYS_LISTEN) && HAVE_DECL_SYS_LISTEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_LISTEN) == (4), "SYS_LISTEN != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_LISTEN 4 #endif -#if !(defined(SYS_ACCEPT) || (defined(HAVE_DECL_SYS_ACCEPT) && HAVE_DECL_SYS_ACCEPT)) +#if defined(SYS_ACCEPT) || (defined(HAVE_DECL_SYS_ACCEPT) && HAVE_DECL_SYS_ACCEPT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_ACCEPT) == (5), "SYS_ACCEPT != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_ACCEPT 5 #endif -#if !(defined(SYS_GETSOCKNAME) || (defined(HAVE_DECL_SYS_GETSOCKNAME) && HAVE_DECL_SYS_GETSOCKNAME)) +#if defined(SYS_GETSOCKNAME) || (defined(HAVE_DECL_SYS_GETSOCKNAME) && HAVE_DECL_SYS_GETSOCKNAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_GETSOCKNAME) == (6), "SYS_GETSOCKNAME != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_GETSOCKNAME 6 #endif -#if !(defined(SYS_GETPEERNAME) || (defined(HAVE_DECL_SYS_GETPEERNAME) && HAVE_DECL_SYS_GETPEERNAME)) +#if defined(SYS_GETPEERNAME) || (defined(HAVE_DECL_SYS_GETPEERNAME) && HAVE_DECL_SYS_GETPEERNAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_GETPEERNAME) == (7), "SYS_GETPEERNAME != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_GETPEERNAME 7 #endif -#if !(defined(SYS_SOCKETPAIR) || (defined(HAVE_DECL_SYS_SOCKETPAIR) && HAVE_DECL_SYS_SOCKETPAIR)) +#if defined(SYS_SOCKETPAIR) || (defined(HAVE_DECL_SYS_SOCKETPAIR) && HAVE_DECL_SYS_SOCKETPAIR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_SOCKETPAIR) == (8), "SYS_SOCKETPAIR != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_SOCKETPAIR 8 #endif -#if !(defined(SYS_SEND) || (defined(HAVE_DECL_SYS_SEND) && HAVE_DECL_SYS_SEND)) +#if defined(SYS_SEND) || (defined(HAVE_DECL_SYS_SEND) && HAVE_DECL_SYS_SEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_SEND) == (9), "SYS_SEND != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_SEND 9 #endif -#if !(defined(SYS_RECV) || (defined(HAVE_DECL_SYS_RECV) && HAVE_DECL_SYS_RECV)) +#if defined(SYS_RECV) || (defined(HAVE_DECL_SYS_RECV) && HAVE_DECL_SYS_RECV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_RECV) == (10), "SYS_RECV != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_RECV 10 #endif -#if !(defined(SYS_SENDTO) || (defined(HAVE_DECL_SYS_SENDTO) && HAVE_DECL_SYS_SENDTO)) +#if defined(SYS_SENDTO) || (defined(HAVE_DECL_SYS_SENDTO) && HAVE_DECL_SYS_SENDTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_SENDTO) == (11), "SYS_SENDTO != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_SENDTO 11 #endif -#if !(defined(SYS_RECVFROM) || (defined(HAVE_DECL_SYS_RECVFROM) && HAVE_DECL_SYS_RECVFROM)) +#if defined(SYS_RECVFROM) || (defined(HAVE_DECL_SYS_RECVFROM) && HAVE_DECL_SYS_RECVFROM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_RECVFROM) == (12), "SYS_RECVFROM != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_RECVFROM 12 #endif -#if !(defined(SYS_SHUTDOWN) || (defined(HAVE_DECL_SYS_SHUTDOWN) && HAVE_DECL_SYS_SHUTDOWN)) +#if defined(SYS_SHUTDOWN) || (defined(HAVE_DECL_SYS_SHUTDOWN) && HAVE_DECL_SYS_SHUTDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_SHUTDOWN) == (13), "SYS_SHUTDOWN != 13"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_SHUTDOWN 13 #endif -#if !(defined(SYS_SETSOCKOPT) || (defined(HAVE_DECL_SYS_SETSOCKOPT) && HAVE_DECL_SYS_SETSOCKOPT)) +#if defined(SYS_SETSOCKOPT) || (defined(HAVE_DECL_SYS_SETSOCKOPT) && HAVE_DECL_SYS_SETSOCKOPT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_SETSOCKOPT) == (14), "SYS_SETSOCKOPT != 14"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_SETSOCKOPT 14 #endif -#if !(defined(SYS_GETSOCKOPT) || (defined(HAVE_DECL_SYS_GETSOCKOPT) && HAVE_DECL_SYS_GETSOCKOPT)) +#if defined(SYS_GETSOCKOPT) || (defined(HAVE_DECL_SYS_GETSOCKOPT) && HAVE_DECL_SYS_GETSOCKOPT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_GETSOCKOPT) == (15), "SYS_GETSOCKOPT != 15"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_GETSOCKOPT 15 #endif -#if !(defined(SYS_SENDMSG) || (defined(HAVE_DECL_SYS_SENDMSG) && HAVE_DECL_SYS_SENDMSG)) +#if defined(SYS_SENDMSG) || (defined(HAVE_DECL_SYS_SENDMSG) && HAVE_DECL_SYS_SENDMSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_SENDMSG) == (16), "SYS_SENDMSG != 16"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_SENDMSG 16 #endif -#if !(defined(SYS_RECVMSG) || (defined(HAVE_DECL_SYS_RECVMSG) && HAVE_DECL_SYS_RECVMSG)) +#if defined(SYS_RECVMSG) || (defined(HAVE_DECL_SYS_RECVMSG) && HAVE_DECL_SYS_RECVMSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_RECVMSG) == (17), "SYS_RECVMSG != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_RECVMSG 17 #endif -#if !(defined(SYS_ACCEPT4) || (defined(HAVE_DECL_SYS_ACCEPT4) && HAVE_DECL_SYS_ACCEPT4)) +#if defined(SYS_ACCEPT4) || (defined(HAVE_DECL_SYS_ACCEPT4) && HAVE_DECL_SYS_ACCEPT4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_ACCEPT4) == (18), "SYS_ACCEPT4 != 18"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_ACCEPT4 18 #endif -#if !(defined(SYS_RECVMMSG) || (defined(HAVE_DECL_SYS_RECVMMSG) && HAVE_DECL_SYS_RECVMMSG)) +#if defined(SYS_RECVMMSG) || (defined(HAVE_DECL_SYS_RECVMMSG) && HAVE_DECL_SYS_RECVMMSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_RECVMMSG) == (19), "SYS_RECVMMSG != 19"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_RECVMMSG 19 #endif -#if !(defined(SYS_SENDMMSG) || (defined(HAVE_DECL_SYS_SENDMMSG) && HAVE_DECL_SYS_SENDMMSG)) +#if defined(SYS_SENDMMSG) || (defined(HAVE_DECL_SYS_SENDMMSG) && HAVE_DECL_SYS_SENDMMSG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYS_SENDMMSG) == (20), "SYS_SENDMMSG != 20"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYS_SENDMMSG 20 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat socketcalls in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat socketcalls in mpers mode + +# else static const struct xlat socketcalls[] = { @@ -91,4 +177,6 @@ const struct xlat socketcalls[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/socketlayers.h b/xlat/socketlayers.h index dc96902b..5296344d 100644 --- a/xlat/socketlayers.h +++ b/xlat/socketlayers.h @@ -1,118 +1,282 @@ /* Generated by ./xlat/gen.sh from ./xlat/socketlayers.in; do not edit. */ -#if !(defined(SOL_IP) || (defined(HAVE_DECL_SOL_IP) && HAVE_DECL_SOL_IP)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SOL_IP) || (defined(HAVE_DECL_SOL_IP) && HAVE_DECL_SOL_IP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_IP) == (0), "SOL_IP != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_IP 0 #endif -#if !(defined(SOL_SOCKET) || (defined(HAVE_DECL_SOL_SOCKET) && HAVE_DECL_SOL_SOCKET)) +#if !(defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__) +#if defined(SOL_SOCKET) || (defined(HAVE_DECL_SOL_SOCKET) && HAVE_DECL_SOL_SOCKET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_SOCKET) == (1), "SOL_SOCKET != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_SOCKET 1 #endif -#if !(defined(SOL_TCP) || (defined(HAVE_DECL_SOL_TCP) && HAVE_DECL_SOL_TCP)) +#endif +#if defined(SOL_TCP) || (defined(HAVE_DECL_SOL_TCP) && HAVE_DECL_SOL_TCP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_TCP) == (6), "SOL_TCP != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_TCP 6 #endif -#if !(defined(SOL_UDP) || (defined(HAVE_DECL_SOL_UDP) && HAVE_DECL_SOL_UDP)) +#if defined(SOL_UDP) || (defined(HAVE_DECL_SOL_UDP) && HAVE_DECL_SOL_UDP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_UDP) == (17), "SOL_UDP != 17"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_UDP 17 #endif -#if !(defined(SOL_IPV6) || (defined(HAVE_DECL_SOL_IPV6) && HAVE_DECL_SOL_IPV6)) +#if defined(SOL_IPV6) || (defined(HAVE_DECL_SOL_IPV6) && HAVE_DECL_SOL_IPV6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_IPV6) == (41), "SOL_IPV6 != 41"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_IPV6 41 #endif -#if !(defined(SOL_ICMPV6) || (defined(HAVE_DECL_SOL_ICMPV6) && HAVE_DECL_SOL_ICMPV6)) +#if defined(SOL_ICMPV6) || (defined(HAVE_DECL_SOL_ICMPV6) && HAVE_DECL_SOL_ICMPV6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_ICMPV6) == (58), "SOL_ICMPV6 != 58"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_ICMPV6 58 #endif -#if !(defined(SOL_SCTP) || (defined(HAVE_DECL_SOL_SCTP) && HAVE_DECL_SOL_SCTP)) +#if defined(SOL_SCTP) || (defined(HAVE_DECL_SOL_SCTP) && HAVE_DECL_SOL_SCTP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_SCTP) == (132), "SOL_SCTP != 132"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_SCTP 132 #endif -#if !(defined(SOL_UDPLITE) || (defined(HAVE_DECL_SOL_UDPLITE) && HAVE_DECL_SOL_UDPLITE)) +#if defined(SOL_UDPLITE) || (defined(HAVE_DECL_SOL_UDPLITE) && HAVE_DECL_SOL_UDPLITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_UDPLITE) == (136), "SOL_UDPLITE != 136"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_UDPLITE 136 #endif -#if !(defined(SOL_RAW) || (defined(HAVE_DECL_SOL_RAW) && HAVE_DECL_SOL_RAW)) +#if defined(SOL_RAW) || (defined(HAVE_DECL_SOL_RAW) && HAVE_DECL_SOL_RAW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_RAW) == (255), "SOL_RAW != 255"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_RAW 255 #endif -#if !(defined(SOL_IPX) || (defined(HAVE_DECL_SOL_IPX) && HAVE_DECL_SOL_IPX)) +#if defined(SOL_IPX) || (defined(HAVE_DECL_SOL_IPX) && HAVE_DECL_SOL_IPX) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_IPX) == (256), "SOL_IPX != 256"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_IPX 256 #endif -#if !(defined(SOL_AX25) || (defined(HAVE_DECL_SOL_AX25) && HAVE_DECL_SOL_AX25)) +#if defined(SOL_AX25) || (defined(HAVE_DECL_SOL_AX25) && HAVE_DECL_SOL_AX25) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_AX25) == (257), "SOL_AX25 != 257"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_AX25 257 #endif -#if !(defined(SOL_ATALK) || (defined(HAVE_DECL_SOL_ATALK) && HAVE_DECL_SOL_ATALK)) +#if defined(SOL_ATALK) || (defined(HAVE_DECL_SOL_ATALK) && HAVE_DECL_SOL_ATALK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_ATALK) == (258), "SOL_ATALK != 258"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_ATALK 258 #endif -#if !(defined(SOL_NETROM) || (defined(HAVE_DECL_SOL_NETROM) && HAVE_DECL_SOL_NETROM)) +#if defined(SOL_NETROM) || (defined(HAVE_DECL_SOL_NETROM) && HAVE_DECL_SOL_NETROM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_NETROM) == (259), "SOL_NETROM != 259"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_NETROM 259 #endif -#if !(defined(SOL_ROSE) || (defined(HAVE_DECL_SOL_ROSE) && HAVE_DECL_SOL_ROSE)) +#if defined(SOL_ROSE) || (defined(HAVE_DECL_SOL_ROSE) && HAVE_DECL_SOL_ROSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_ROSE) == (260), "SOL_ROSE != 260"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_ROSE 260 #endif -#if !(defined(SOL_DECNET) || (defined(HAVE_DECL_SOL_DECNET) && HAVE_DECL_SOL_DECNET)) +#if defined(SOL_DECNET) || (defined(HAVE_DECL_SOL_DECNET) && HAVE_DECL_SOL_DECNET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_DECNET) == (261), "SOL_DECNET != 261"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_DECNET 261 #endif -#if !(defined(SOL_X25) || (defined(HAVE_DECL_SOL_X25) && HAVE_DECL_SOL_X25)) +#if defined(SOL_X25) || (defined(HAVE_DECL_SOL_X25) && HAVE_DECL_SOL_X25) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_X25) == (262), "SOL_X25 != 262"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_X25 262 #endif -#if !(defined(SOL_PACKET) || (defined(HAVE_DECL_SOL_PACKET) && HAVE_DECL_SOL_PACKET)) +#if defined(SOL_PACKET) || (defined(HAVE_DECL_SOL_PACKET) && HAVE_DECL_SOL_PACKET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_PACKET) == (263), "SOL_PACKET != 263"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_PACKET 263 #endif -#if !(defined(SOL_ATM) || (defined(HAVE_DECL_SOL_ATM) && HAVE_DECL_SOL_ATM)) +#if defined(SOL_ATM) || (defined(HAVE_DECL_SOL_ATM) && HAVE_DECL_SOL_ATM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_ATM) == (264), "SOL_ATM != 264"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_ATM 264 #endif -#if !(defined(SOL_AAL) || (defined(HAVE_DECL_SOL_AAL) && HAVE_DECL_SOL_AAL)) +#if defined(SOL_AAL) || (defined(HAVE_DECL_SOL_AAL) && HAVE_DECL_SOL_AAL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_AAL) == (265), "SOL_AAL != 265"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_AAL 265 #endif -#if !(defined(SOL_IRDA) || (defined(HAVE_DECL_SOL_IRDA) && HAVE_DECL_SOL_IRDA)) +#if defined(SOL_IRDA) || (defined(HAVE_DECL_SOL_IRDA) && HAVE_DECL_SOL_IRDA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_IRDA) == (266), "SOL_IRDA != 266"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_IRDA 266 #endif -#if !(defined(SOL_NETBEUI) || (defined(HAVE_DECL_SOL_NETBEUI) && HAVE_DECL_SOL_NETBEUI)) +#if defined(SOL_NETBEUI) || (defined(HAVE_DECL_SOL_NETBEUI) && HAVE_DECL_SOL_NETBEUI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_NETBEUI) == (267), "SOL_NETBEUI != 267"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_NETBEUI 267 #endif -#if !(defined(SOL_LLC) || (defined(HAVE_DECL_SOL_LLC) && HAVE_DECL_SOL_LLC)) +#if defined(SOL_LLC) || (defined(HAVE_DECL_SOL_LLC) && HAVE_DECL_SOL_LLC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_LLC) == (268), "SOL_LLC != 268"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_LLC 268 #endif -#if !(defined(SOL_DCCP) || (defined(HAVE_DECL_SOL_DCCP) && HAVE_DECL_SOL_DCCP)) +#if defined(SOL_DCCP) || (defined(HAVE_DECL_SOL_DCCP) && HAVE_DECL_SOL_DCCP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_DCCP) == (269), "SOL_DCCP != 269"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_DCCP 269 #endif -#if !(defined(SOL_NETLINK) || (defined(HAVE_DECL_SOL_NETLINK) && HAVE_DECL_SOL_NETLINK)) +#if defined(SOL_NETLINK) || (defined(HAVE_DECL_SOL_NETLINK) && HAVE_DECL_SOL_NETLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_NETLINK) == (270), "SOL_NETLINK != 270"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_NETLINK 270 #endif -#if !(defined(SOL_TIPC) || (defined(HAVE_DECL_SOL_TIPC) && HAVE_DECL_SOL_TIPC)) +#if defined(SOL_TIPC) || (defined(HAVE_DECL_SOL_TIPC) && HAVE_DECL_SOL_TIPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_TIPC) == (271), "SOL_TIPC != 271"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_TIPC 271 #endif -#if !(defined(SOL_RXRPC) || (defined(HAVE_DECL_SOL_RXRPC) && HAVE_DECL_SOL_RXRPC)) +#if defined(SOL_RXRPC) || (defined(HAVE_DECL_SOL_RXRPC) && HAVE_DECL_SOL_RXRPC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_RXRPC) == (272), "SOL_RXRPC != 272"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_RXRPC 272 #endif -#if !(defined(SOL_PPPOL2TP) || (defined(HAVE_DECL_SOL_PPPOL2TP) && HAVE_DECL_SOL_PPPOL2TP)) +#if defined(SOL_PPPOL2TP) || (defined(HAVE_DECL_SOL_PPPOL2TP) && HAVE_DECL_SOL_PPPOL2TP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_PPPOL2TP) == (273), "SOL_PPPOL2TP != 273"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_PPPOL2TP 273 #endif -#if !(defined(SOL_BLUETOOTH) || (defined(HAVE_DECL_SOL_BLUETOOTH) && HAVE_DECL_SOL_BLUETOOTH)) +#if defined(SOL_BLUETOOTH) || (defined(HAVE_DECL_SOL_BLUETOOTH) && HAVE_DECL_SOL_BLUETOOTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_BLUETOOTH) == (274), "SOL_BLUETOOTH != 274"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_BLUETOOTH 274 #endif -#if !(defined(SOL_PNPIPE) || (defined(HAVE_DECL_SOL_PNPIPE) && HAVE_DECL_SOL_PNPIPE)) +#if defined(SOL_PNPIPE) || (defined(HAVE_DECL_SOL_PNPIPE) && HAVE_DECL_SOL_PNPIPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_PNPIPE) == (275), "SOL_PNPIPE != 275"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_PNPIPE 275 #endif -#if !(defined(SOL_RDS) || (defined(HAVE_DECL_SOL_RDS) && HAVE_DECL_SOL_RDS)) +#if defined(SOL_RDS) || (defined(HAVE_DECL_SOL_RDS) && HAVE_DECL_SOL_RDS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_RDS) == (276), "SOL_RDS != 276"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_RDS 276 #endif -#if !(defined(SOL_IUCV) || (defined(HAVE_DECL_SOL_IUCV) && HAVE_DECL_SOL_IUCV)) +#if defined(SOL_IUCV) || (defined(HAVE_DECL_SOL_IUCV) && HAVE_DECL_SOL_IUCV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_IUCV) == (277), "SOL_IUCV != 277"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_IUCV 277 #endif -#if !(defined(SOL_CAIF) || (defined(HAVE_DECL_SOL_CAIF) && HAVE_DECL_SOL_CAIF)) +#if defined(SOL_CAIF) || (defined(HAVE_DECL_SOL_CAIF) && HAVE_DECL_SOL_CAIF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_CAIF) == (278), "SOL_CAIF != 278"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_CAIF 278 #endif -#if !(defined(SOL_ALG) || (defined(HAVE_DECL_SOL_ALG) && HAVE_DECL_SOL_ALG)) +#if defined(SOL_ALG) || (defined(HAVE_DECL_SOL_ALG) && HAVE_DECL_SOL_ALG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_ALG) == (279), "SOL_ALG != 279"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_ALG 279 #endif -#if !(defined(SOL_NFC) || (defined(HAVE_DECL_SOL_NFC) && HAVE_DECL_SOL_NFC)) +#if defined(SOL_NFC) || (defined(HAVE_DECL_SOL_NFC) && HAVE_DECL_SOL_NFC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_NFC) == (280), "SOL_NFC != 280"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_NFC 280 #endif -#if !(defined(SOL_KCM) || (defined(HAVE_DECL_SOL_KCM) && HAVE_DECL_SOL_KCM)) +#if defined(SOL_KCM) || (defined(HAVE_DECL_SOL_KCM) && HAVE_DECL_SOL_KCM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_KCM) == (281), "SOL_KCM != 281"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_KCM 281 #endif -#if !(defined(SOL_TLS) || (defined(HAVE_DECL_SOL_TLS) && HAVE_DECL_SOL_TLS)) +#if defined(SOL_TLS) || (defined(HAVE_DECL_SOL_TLS) && HAVE_DECL_SOL_TLS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_TLS) == (282), "SOL_TLS != 282"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SOL_TLS 282 #endif +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +#if defined(SOL_SOCKET) || (defined(HAVE_DECL_SOL_SOCKET) && HAVE_DECL_SOL_SOCKET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SOL_SOCKET) == (0xffff), "SOL_SOCKET != 0xffff"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define SOL_SOCKET 0xffff +#endif +#endif + +#ifndef XLAT_MACROS_ONLY -#ifndef IN_MPERS +# ifndef IN_MPERS const struct xlat socketlayers[] = { + XLAT(SOL_IP), +#if !(defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__) XLAT(SOL_SOCKET), +#endif XLAT(SOL_TCP), XLAT(SOL_UDP), XLAT(SOL_IPV6), @@ -147,7 +311,12 @@ const struct xlat socketlayers[] = { XLAT(SOL_NFC), XLAT(SOL_KCM), XLAT(SOL_TLS), +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ + XLAT(SOL_SOCKET), +#endif XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/socketlayers.in b/xlat/socketlayers.in index dc80c588..0dfa4464 100644 --- a/xlat/socketlayers.in +++ b/xlat/socketlayers.in @@ -1,5 +1,8 @@ +/* sort -k2,2n */ SOL_IP 0 +#if !(defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__) SOL_SOCKET 1 +#endif SOL_TCP 6 SOL_UDP 17 SOL_IPV6 41 @@ -34,3 +37,6 @@ SOL_ALG 279 SOL_NFC 280 SOL_KCM 281 SOL_TLS 282 +#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__ +SOL_SOCKET 0xffff +#endif diff --git a/xlat/sockipxoptions.h b/xlat/sockipxoptions.h deleted file mode 100644 index 0e92f0ea..00000000 --- a/xlat/sockipxoptions.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Generated by ./xlat/gen.sh from ./xlat/sockipxoptions.in; do not edit. */ - -#ifdef IN_MPERS - -# error static const struct xlat sockipxoptions in mpers mode - -#else - -static -const struct xlat sockipxoptions[] = { -#if defined(IPX_TYPE) || (defined(HAVE_DECL_IPX_TYPE) && HAVE_DECL_IPX_TYPE) - XLAT(IPX_TYPE), -#endif - XLAT_END -}; - -#endif /* !IN_MPERS */ diff --git a/xlat/socknetlinkoptions.h b/xlat/socknetlinkoptions.h deleted file mode 100644 index e101213f..00000000 --- a/xlat/socknetlinkoptions.h +++ /dev/null @@ -1,58 +0,0 @@ -/* Generated by ./xlat/gen.sh from ./xlat/socknetlinkoptions.in; do not edit. */ -#if !(defined(NETLINK_ADD_MEMBERSHIP) || (defined(HAVE_DECL_NETLINK_ADD_MEMBERSHIP) && HAVE_DECL_NETLINK_ADD_MEMBERSHIP)) -# define NETLINK_ADD_MEMBERSHIP 1 -#endif -#if !(defined(NETLINK_DROP_MEMBERSHIP) || (defined(HAVE_DECL_NETLINK_DROP_MEMBERSHIP) && HAVE_DECL_NETLINK_DROP_MEMBERSHIP)) -# define NETLINK_DROP_MEMBERSHIP 2 -#endif -#if !(defined(NETLINK_PKTINFO) || (defined(HAVE_DECL_NETLINK_PKTINFO) && HAVE_DECL_NETLINK_PKTINFO)) -# define NETLINK_PKTINFO 3 -#endif -#if !(defined(NETLINK_BROADCAST_ERROR) || (defined(HAVE_DECL_NETLINK_BROADCAST_ERROR) && HAVE_DECL_NETLINK_BROADCAST_ERROR)) -# define NETLINK_BROADCAST_ERROR 4 -#endif -#if !(defined(NETLINK_NO_ENOBUFS) || (defined(HAVE_DECL_NETLINK_NO_ENOBUFS) && HAVE_DECL_NETLINK_NO_ENOBUFS)) -# define NETLINK_NO_ENOBUFS 5 -#endif -#if !(defined(NETLINK_RX_RING) || (defined(HAVE_DECL_NETLINK_RX_RING) && HAVE_DECL_NETLINK_RX_RING)) -# define NETLINK_RX_RING 6 -#endif -#if !(defined(NETLINK_TX_RING) || (defined(HAVE_DECL_NETLINK_TX_RING) && HAVE_DECL_NETLINK_TX_RING)) -# define NETLINK_TX_RING 7 -#endif -#if !(defined(NETLINK_LISTEN_ALL_NSID) || (defined(HAVE_DECL_NETLINK_LISTEN_ALL_NSID) && HAVE_DECL_NETLINK_LISTEN_ALL_NSID)) -# define NETLINK_LISTEN_ALL_NSID 8 -#endif -#if !(defined(NETLINK_LIST_MEMBERSHIPS) || (defined(HAVE_DECL_NETLINK_LIST_MEMBERSHIPS) && HAVE_DECL_NETLINK_LIST_MEMBERSHIPS)) -# define NETLINK_LIST_MEMBERSHIPS 9 -#endif -#if !(defined(NETLINK_CAP_ACK) || (defined(HAVE_DECL_NETLINK_CAP_ACK) && HAVE_DECL_NETLINK_CAP_ACK)) -# define NETLINK_CAP_ACK 10 -#endif -#if !(defined(NETLINK_EXT_ACK) || (defined(HAVE_DECL_NETLINK_EXT_ACK) && HAVE_DECL_NETLINK_EXT_ACK)) -# define NETLINK_EXT_ACK 11 -#endif - -#ifdef IN_MPERS - -# error static const struct xlat socknetlinkoptions in mpers mode - -#else - -static -const struct xlat socknetlinkoptions[] = { - XLAT(NETLINK_ADD_MEMBERSHIP), - XLAT(NETLINK_DROP_MEMBERSHIP), - XLAT(NETLINK_PKTINFO), - XLAT(NETLINK_BROADCAST_ERROR), - XLAT(NETLINK_NO_ENOBUFS), - XLAT(NETLINK_RX_RING), - XLAT(NETLINK_TX_RING), - XLAT(NETLINK_LISTEN_ALL_NSID), - XLAT(NETLINK_LIST_MEMBERSHIPS), - XLAT(NETLINK_CAP_ACK), - XLAT(NETLINK_EXT_ACK), - XLAT_END -}; - -#endif /* !IN_MPERS */ diff --git a/xlat/sockoptions.h b/xlat/sockoptions.h deleted file mode 100644 index 6e991555..00000000 --- a/xlat/sockoptions.h +++ /dev/null @@ -1,228 +0,0 @@ -/* Generated by ./xlat/gen.sh from ./xlat/sockoptions.in; do not edit. */ - -#ifdef IN_MPERS - -# error static const struct xlat sockoptions in mpers mode - -#else - -static -const struct xlat sockoptions[] = { -#if defined(SO_DEBUG) || (defined(HAVE_DECL_SO_DEBUG) && HAVE_DECL_SO_DEBUG) - XLAT(SO_DEBUG), -#endif -#if defined(SO_REUSEADDR) || (defined(HAVE_DECL_SO_REUSEADDR) && HAVE_DECL_SO_REUSEADDR) - XLAT(SO_REUSEADDR), -#endif -#if defined(SO_TYPE) || (defined(HAVE_DECL_SO_TYPE) && HAVE_DECL_SO_TYPE) - XLAT(SO_TYPE), -#endif -#if defined(SO_ERROR) || (defined(HAVE_DECL_SO_ERROR) && HAVE_DECL_SO_ERROR) - XLAT(SO_ERROR), -#endif -#if defined(SO_DONTROUTE) || (defined(HAVE_DECL_SO_DONTROUTE) && HAVE_DECL_SO_DONTROUTE) - XLAT(SO_DONTROUTE), -#endif -#if defined(SO_BROADCAST) || (defined(HAVE_DECL_SO_BROADCAST) && HAVE_DECL_SO_BROADCAST) - XLAT(SO_BROADCAST), -#endif -#if defined(SO_SNDBUF) || (defined(HAVE_DECL_SO_SNDBUF) && HAVE_DECL_SO_SNDBUF) - XLAT(SO_SNDBUF), -#endif -#if defined(SO_RCVBUF) || (defined(HAVE_DECL_SO_RCVBUF) && HAVE_DECL_SO_RCVBUF) - XLAT(SO_RCVBUF), -#endif -#if defined(SO_SNDBUFFORCE) || (defined(HAVE_DECL_SO_SNDBUFFORCE) && HAVE_DECL_SO_SNDBUFFORCE) - XLAT(SO_SNDBUFFORCE), -#endif -#if defined(SO_RCVBUFFORCE) || (defined(HAVE_DECL_SO_RCVBUFFORCE) && HAVE_DECL_SO_RCVBUFFORCE) - XLAT(SO_RCVBUFFORCE), -#endif -#if defined(SO_KEEPALIVE) || (defined(HAVE_DECL_SO_KEEPALIVE) && HAVE_DECL_SO_KEEPALIVE) - XLAT(SO_KEEPALIVE), -#endif -#if defined(SO_OOBINLINE) || (defined(HAVE_DECL_SO_OOBINLINE) && HAVE_DECL_SO_OOBINLINE) - XLAT(SO_OOBINLINE), -#endif -#if defined(SO_NO_CHECK) || (defined(HAVE_DECL_SO_NO_CHECK) && HAVE_DECL_SO_NO_CHECK) - XLAT(SO_NO_CHECK), -#endif -#if defined(SO_PRIORITY) || (defined(HAVE_DECL_SO_PRIORITY) && HAVE_DECL_SO_PRIORITY) - XLAT(SO_PRIORITY), -#endif -#if defined(SO_LINGER) || (defined(HAVE_DECL_SO_LINGER) && HAVE_DECL_SO_LINGER) - XLAT(SO_LINGER), -#endif -#if defined(SO_BSDCOMPAT) || (defined(HAVE_DECL_SO_BSDCOMPAT) && HAVE_DECL_SO_BSDCOMPAT) - XLAT(SO_BSDCOMPAT), -#endif -#if defined(SO_REUSEPORT) || (defined(HAVE_DECL_SO_REUSEPORT) && HAVE_DECL_SO_REUSEPORT) - XLAT(SO_REUSEPORT), -#endif -#if defined(SO_PASSCRED) || (defined(HAVE_DECL_SO_PASSCRED) && HAVE_DECL_SO_PASSCRED) - XLAT(SO_PASSCRED), -#endif -#if defined(SO_PEERCRED) || (defined(HAVE_DECL_SO_PEERCRED) && HAVE_DECL_SO_PEERCRED) - XLAT(SO_PEERCRED), -#endif -#if defined(SO_RCVLOWAT) || (defined(HAVE_DECL_SO_RCVLOWAT) && HAVE_DECL_SO_RCVLOWAT) - XLAT(SO_RCVLOWAT), -#endif -#if defined(SO_SNDLOWAT) || (defined(HAVE_DECL_SO_SNDLOWAT) && HAVE_DECL_SO_SNDLOWAT) - XLAT(SO_SNDLOWAT), -#endif -#if defined(SO_RCVTIMEO) || (defined(HAVE_DECL_SO_RCVTIMEO) && HAVE_DECL_SO_RCVTIMEO) - XLAT(SO_RCVTIMEO), -#endif -#if defined(SO_SNDTIMEO) || (defined(HAVE_DECL_SO_SNDTIMEO) && HAVE_DECL_SO_SNDTIMEO) - XLAT(SO_SNDTIMEO), -#endif -#if defined(SO_SECURITY_AUTHENTICATION) || (defined(HAVE_DECL_SO_SECURITY_AUTHENTICATION) && HAVE_DECL_SO_SECURITY_AUTHENTICATION) - XLAT(SO_SECURITY_AUTHENTICATION), -#endif -#if defined(SO_SECURITY_ENCRYPTION_TRANSPORT) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) && HAVE_DECL_SO_SECURITY_ENCRYPTION_TRANSPORT) - XLAT(SO_SECURITY_ENCRYPTION_TRANSPORT), -#endif -#if defined(SO_SECURITY_ENCRYPTION_NETWORK) || (defined(HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) && HAVE_DECL_SO_SECURITY_ENCRYPTION_NETWORK) - XLAT(SO_SECURITY_ENCRYPTION_NETWORK), -#endif -#if defined(SO_BINDTODEVICE) || (defined(HAVE_DECL_SO_BINDTODEVICE) && HAVE_DECL_SO_BINDTODEVICE) - XLAT(SO_BINDTODEVICE), -#endif -#if defined(SO_ATTACH_FILTER) || (defined(HAVE_DECL_SO_ATTACH_FILTER) && HAVE_DECL_SO_ATTACH_FILTER) - XLAT(SO_ATTACH_FILTER), -#endif -#if defined(SO_GET_FILTER) || (defined(HAVE_DECL_SO_GET_FILTER) && HAVE_DECL_SO_GET_FILTER) - XLAT(SO_GET_FILTER), -#endif -#if defined(SO_DETACH_FILTER) || (defined(HAVE_DECL_SO_DETACH_FILTER) && HAVE_DECL_SO_DETACH_FILTER) - XLAT(SO_DETACH_FILTER), -#endif -#if defined(SO_DETACH_BPF) || (defined(HAVE_DECL_SO_DETACH_BPF) && HAVE_DECL_SO_DETACH_BPF) - XLAT(SO_DETACH_BPF), -#endif -#if defined(SO_PEERNAME) || (defined(HAVE_DECL_SO_PEERNAME) && HAVE_DECL_SO_PEERNAME) - XLAT(SO_PEERNAME), -#endif -#if defined(SO_TIMESTAMP) || (defined(HAVE_DECL_SO_TIMESTAMP) && HAVE_DECL_SO_TIMESTAMP) - XLAT(SO_TIMESTAMP), -#endif -#if defined(SO_ACCEPTCONN) || (defined(HAVE_DECL_SO_ACCEPTCONN) && HAVE_DECL_SO_ACCEPTCONN) - XLAT(SO_ACCEPTCONN), -#endif -#if defined(SO_PEERSEC) || (defined(HAVE_DECL_SO_PEERSEC) && HAVE_DECL_SO_PEERSEC) - XLAT(SO_PEERSEC), -#endif -#if defined(SO_PASSSEC) || (defined(HAVE_DECL_SO_PASSSEC) && HAVE_DECL_SO_PASSSEC) - XLAT(SO_PASSSEC), -#endif -#if defined(SO_TIMESTAMPNS) || (defined(HAVE_DECL_SO_TIMESTAMPNS) && HAVE_DECL_SO_TIMESTAMPNS) - XLAT(SO_TIMESTAMPNS), -#endif -#if defined(SO_MARK) || (defined(HAVE_DECL_SO_MARK) && HAVE_DECL_SO_MARK) - XLAT(SO_MARK), -#endif -#if defined(SO_TIMESTAMPING) || (defined(HAVE_DECL_SO_TIMESTAMPING) && HAVE_DECL_SO_TIMESTAMPING) - XLAT(SO_TIMESTAMPING), -#endif -#if defined(SO_PROTOCOL) || (defined(HAVE_DECL_SO_PROTOCOL) && HAVE_DECL_SO_PROTOCOL) - XLAT(SO_PROTOCOL), -#endif -#if defined(SO_DOMAIN) || (defined(HAVE_DECL_SO_DOMAIN) && HAVE_DECL_SO_DOMAIN) - XLAT(SO_DOMAIN), -#endif -#if defined(SO_RXQ_OVFL) || (defined(HAVE_DECL_SO_RXQ_OVFL) && HAVE_DECL_SO_RXQ_OVFL) - XLAT(SO_RXQ_OVFL), -#endif -#if defined(SO_WIFI_STATUS) || (defined(HAVE_DECL_SO_WIFI_STATUS) && HAVE_DECL_SO_WIFI_STATUS) - XLAT(SO_WIFI_STATUS), -#endif -#if defined(SO_PEEK_OFF) || (defined(HAVE_DECL_SO_PEEK_OFF) && HAVE_DECL_SO_PEEK_OFF) - XLAT(SO_PEEK_OFF), -#endif -#if defined(SO_NOFCS) || (defined(HAVE_DECL_SO_NOFCS) && HAVE_DECL_SO_NOFCS) - XLAT(SO_NOFCS), -#endif -#if defined(SO_LOCK_FILTER) || (defined(HAVE_DECL_SO_LOCK_FILTER) && HAVE_DECL_SO_LOCK_FILTER) - XLAT(SO_LOCK_FILTER), -#endif -#if defined(SO_SELECT_ERR_QUEUE) || (defined(HAVE_DECL_SO_SELECT_ERR_QUEUE) && HAVE_DECL_SO_SELECT_ERR_QUEUE) - XLAT(SO_SELECT_ERR_QUEUE), -#endif -#if defined(SO_BUSY_POLL) || (defined(HAVE_DECL_SO_BUSY_POLL) && HAVE_DECL_SO_BUSY_POLL) - XLAT(SO_BUSY_POLL), -#endif -#if defined(SO_MAX_PACING_RATE) || (defined(HAVE_DECL_SO_MAX_PACING_RATE) && HAVE_DECL_SO_MAX_PACING_RATE) - XLAT(SO_MAX_PACING_RATE), -#endif -#if defined(SO_BPF_EXTENSIONS) || (defined(HAVE_DECL_SO_BPF_EXTENSIONS) && HAVE_DECL_SO_BPF_EXTENSIONS) - XLAT(SO_BPF_EXTENSIONS), -#endif -#if defined(SO_INCOMING_CPU) || (defined(HAVE_DECL_SO_INCOMING_CPU) && HAVE_DECL_SO_INCOMING_CPU) - XLAT(SO_INCOMING_CPU), -#endif -#if defined(SO_ATTACH_BPF) || (defined(HAVE_DECL_SO_ATTACH_BPF) && HAVE_DECL_SO_ATTACH_BPF) - XLAT(SO_ATTACH_BPF), -#endif -#if defined(SO_ATTACH_REUSEPORT_CBPF) || (defined(HAVE_DECL_SO_ATTACH_REUSEPORT_CBPF) && HAVE_DECL_SO_ATTACH_REUSEPORT_CBPF) - XLAT(SO_ATTACH_REUSEPORT_CBPF), -#endif -#if defined(SO_ATTACH_REUSEPORT_EBPF) || (defined(HAVE_DECL_SO_ATTACH_REUSEPORT_EBPF) && HAVE_DECL_SO_ATTACH_REUSEPORT_EBPF) - XLAT(SO_ATTACH_REUSEPORT_EBPF), -#endif -#if defined(SO_CNX_ADVICE) || (defined(HAVE_DECL_SO_CNX_ADVICE) && HAVE_DECL_SO_CNX_ADVICE) - XLAT(SO_CNX_ADVICE), -#endif -#if defined(SO_MEMINFO) || (defined(HAVE_DECL_SO_MEMINFO) && HAVE_DECL_SO_MEMINFO) - XLAT(SO_MEMINFO), -#endif -#if defined(SO_INCOMING_NAPI_ID) || (defined(HAVE_DECL_SO_INCOMING_NAPI_ID) && HAVE_DECL_SO_INCOMING_NAPI_ID) - XLAT(SO_INCOMING_NAPI_ID), -#endif -#if defined(SO_COOKIE) || (defined(HAVE_DECL_SO_COOKIE) && HAVE_DECL_SO_COOKIE) - XLAT(SO_COOKIE), -#endif -#if defined(SO_PEERGROUPS) || (defined(HAVE_DECL_SO_PEERGROUPS) && HAVE_DECL_SO_PEERGROUPS) - XLAT(SO_PEERGROUPS), -#endif -#if defined(SO_ZEROCOPY) || (defined(HAVE_DECL_SO_ZEROCOPY) && HAVE_DECL_SO_ZEROCOPY) - XLAT(SO_ZEROCOPY), -#endif - -#if defined(SO_ALLRAW) || (defined(HAVE_DECL_SO_ALLRAW) && HAVE_DECL_SO_ALLRAW) - XLAT(SO_ALLRAW), -#endif -#if defined(SO_ICS) || (defined(HAVE_DECL_SO_ICS) && HAVE_DECL_SO_ICS) - XLAT(SO_ICS), -#endif -#if defined(SO_IMASOCKET) || (defined(HAVE_DECL_SO_IMASOCKET) && HAVE_DECL_SO_IMASOCKET) - XLAT(SO_IMASOCKET), -#endif -#if defined(SO_LISTENING) || (defined(HAVE_DECL_SO_LISTENING) && HAVE_DECL_SO_LISTENING) - XLAT(SO_LISTENING), -#endif -#if defined(SO_MGMT) || (defined(HAVE_DECL_SO_MGMT) && HAVE_DECL_SO_MGMT) - XLAT(SO_MGMT), -#endif -#if defined(SO_ORDREL) || (defined(HAVE_DECL_SO_ORDREL) && HAVE_DECL_SO_ORDREL) - XLAT(SO_ORDREL), -#endif -#if defined(SO_PARALLELSVR) || (defined(HAVE_DECL_SO_PARALLELSVR) && HAVE_DECL_SO_PARALLELSVR) - XLAT(SO_PARALLELSVR), -#endif -#if defined(SO_PROTOTYPE) || (defined(HAVE_DECL_SO_PROTOTYPE) && HAVE_DECL_SO_PROTOTYPE) - XLAT(SO_PROTOTYPE), -#endif -#if defined(SO_RDWR) || (defined(HAVE_DECL_SO_RDWR) && HAVE_DECL_SO_RDWR) - XLAT(SO_RDWR), -#endif -#if defined(SO_SEMA) || (defined(HAVE_DECL_SO_SEMA) && HAVE_DECL_SO_SEMA) - XLAT(SO_SEMA), -#endif -#if defined(SO_USELOOPBACK) || (defined(HAVE_DECL_SO_USELOOPBACK) && HAVE_DECL_SO_USELOOPBACK) - XLAT(SO_USELOOPBACK), -#endif - XLAT_END -}; - -#endif /* !IN_MPERS */ diff --git a/xlat/sockrawoptions.h b/xlat/sockrawoptions.h deleted file mode 100644 index 99868c8e..00000000 --- a/xlat/sockrawoptions.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Generated by ./xlat/gen.sh from ./xlat/sockrawoptions.in; do not edit. */ - -#ifdef IN_MPERS - -# error static const struct xlat sockrawoptions in mpers mode - -#else - -static -const struct xlat sockrawoptions[] = { -#if defined(ICMP_FILTER) || (defined(HAVE_DECL_ICMP_FILTER) && HAVE_DECL_ICMP_FILTER) - XLAT(ICMP_FILTER), -#endif - XLAT_END -}; - -#endif /* !IN_MPERS */ diff --git a/xlat/socksctpoptions.h b/xlat/socksctpoptions.h deleted file mode 100644 index 4041db37..00000000 --- a/xlat/socksctpoptions.h +++ /dev/null @@ -1,259 +0,0 @@ -/* Generated by ./xlat/gen.sh from ./xlat/socksctpoptions.in; do not edit. */ -#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)) -# define SCTP_ASSOCINFO 1 -#endif -#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)) -# define SCTP_NODELAY 3 -#endif -#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)) -# define SCTP_SET_PEER_PRIMARY_ADDR 5 -#endif -#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)) -# define SCTP_ADAPTATION_LAYER 7 -#endif -#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)) -# 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)) -# define SCTP_DEFAULT_SEND_PARAM 10 -#endif -#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)) -# define SCTP_I_WANT_MAPPED_V4_ADDR 12 -#endif -#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)) -# 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)) -# define SCTP_GET_PEER_ADDR_INFO 15 -#endif -#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)) -# define SCTP_CONTEXT 17 -#endif -#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)) -# define SCTP_PARTIAL_DELIVERY_POINT 19 -#endif -#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)) -# define SCTP_AUTH_CHUNK 21 -#endif -#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)) -# 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)) -# 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)) -# 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)) -# 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)) -# 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)) -# 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)) -# define SCTP_GET_ASSOC_ID_LIST 29 -#endif -#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)) -# define SCTP_PEER_ADDR_THLDS 31 -#endif -#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)) -# define SCTP_RECVNXTINFO 33 -#endif -#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)) -# 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_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_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_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_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_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_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_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_SOCKOPT_CONNECTX) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX)) -# define SCTP_SOCKOPT_CONNECTX 110 -#endif -#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_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_PR_SUPPORTED) || (defined(HAVE_DECL_SCTP_PR_SUPPORTED) && HAVE_DECL_SCTP_PR_SUPPORTED)) -# define SCTP_PR_SUPPORTED 113 -#endif -#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_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_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_RECONFIG_SUPPORTED) || (defined(HAVE_DECL_SCTP_RECONFIG_SUPPORTED) && HAVE_DECL_SCTP_RECONFIG_SUPPORTED)) -# define SCTP_RECONFIG_SUPPORTED 117 -#endif -#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_RESET_STREAMS) || (defined(HAVE_DECL_SCTP_RESET_STREAMS) && HAVE_DECL_SCTP_RESET_STREAMS)) -# define SCTP_RESET_STREAMS 119 -#endif -#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_ADD_STREAMS) || (defined(HAVE_DECL_SCTP_ADD_STREAMS) && HAVE_DECL_SCTP_ADD_STREAMS)) -# define SCTP_ADD_STREAMS 121 -#endif -#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_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 -}; - -#endif /* !IN_MPERS */ diff --git a/xlat/socktypes.h b/xlat/socktypes.h index 8ca50dcb..208c1725 100644 --- a/xlat/socktypes.h +++ b/xlat/socktypes.h @@ -1,6 +1,12 @@ /* Generated by ./xlat/gen.sh from ./xlat/socktypes.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat socktypes[] = { #if defined(SOCK_STREAM) || (defined(HAVE_DECL_SOCK_STREAM) && HAVE_DECL_SOCK_STREAM) @@ -27,4 +33,6 @@ const struct xlat socktypes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sparc_kern_features.h b/xlat/sparc_kern_features.h index fbd49295..0cc647c6 100644 --- a/xlat/sparc_kern_features.h +++ b/xlat/sparc_kern_features.h @@ -1,13 +1,23 @@ /* 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)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(KERN_FEATURE_MIXED_MODE_STACK) || (defined(HAVE_DECL_KERN_FEATURE_MIXED_MODE_STACK) && HAVE_DECL_KERN_FEATURE_MIXED_MODE_STACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((KERN_FEATURE_MIXED_MODE_STACK) == (1), "KERN_FEATURE_MIXED_MODE_STACK != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define KERN_FEATURE_MIXED_MODE_STACK 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat sparc_kern_features in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat sparc_kern_features in mpers mode + +# else static const struct xlat sparc_kern_features[] = { @@ -15,4 +25,6 @@ const struct xlat sparc_kern_features[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/splice_flags.h b/xlat/splice_flags.h index 5d305839..e0118330 100644 --- a/xlat/splice_flags.h +++ b/xlat/splice_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/splice_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat splice_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat splice_flags in mpers mode + +# else static const struct xlat splice_flags[] = { @@ -23,4 +29,6 @@ const struct xlat splice_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sram_alloc_flags.h b/xlat/sram_alloc_flags.h index 009324fc..0c9a9c0e 100644 --- a/xlat/sram_alloc_flags.h +++ b/xlat/sram_alloc_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sram_alloc_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sram_alloc_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sram_alloc_flags in mpers mode + +# else static const struct xlat sram_alloc_flags[] = { @@ -26,4 +32,6 @@ const struct xlat sram_alloc_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/statfs_flags.h b/xlat/statfs_flags.h index 149f57fd..caf60635 100644 --- a/xlat/statfs_flags.h +++ b/xlat/statfs_flags.h @@ -1,40 +1,86 @@ /* Generated by ./xlat/gen.sh from ./xlat/statfs_flags.in; do not edit. */ -#if !(defined(ST_VALID) || (defined(HAVE_DECL_ST_VALID) && HAVE_DECL_ST_VALID)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(ST_VALID) || (defined(HAVE_DECL_ST_VALID) && HAVE_DECL_ST_VALID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_VALID) == (0x0020), "ST_VALID != 0x0020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_VALID 0x0020 #endif -#if !(defined(ST_RDONLY) || (defined(HAVE_DECL_ST_RDONLY) && HAVE_DECL_ST_RDONLY)) +#if defined(ST_RDONLY) || (defined(HAVE_DECL_ST_RDONLY) && HAVE_DECL_ST_RDONLY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_RDONLY) == (0x0001), "ST_RDONLY != 0x0001"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_RDONLY 0x0001 #endif -#if !(defined(ST_NOSUID) || (defined(HAVE_DECL_ST_NOSUID) && HAVE_DECL_ST_NOSUID)) +#if defined(ST_NOSUID) || (defined(HAVE_DECL_ST_NOSUID) && HAVE_DECL_ST_NOSUID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_NOSUID) == (0x0002), "ST_NOSUID != 0x0002"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_NOSUID 0x0002 #endif -#if !(defined(ST_NODEV) || (defined(HAVE_DECL_ST_NODEV) && HAVE_DECL_ST_NODEV)) +#if defined(ST_NODEV) || (defined(HAVE_DECL_ST_NODEV) && HAVE_DECL_ST_NODEV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_NODEV) == (0x0004), "ST_NODEV != 0x0004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_NODEV 0x0004 #endif -#if !(defined(ST_NOEXEC) || (defined(HAVE_DECL_ST_NOEXEC) && HAVE_DECL_ST_NOEXEC)) +#if defined(ST_NOEXEC) || (defined(HAVE_DECL_ST_NOEXEC) && HAVE_DECL_ST_NOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_NOEXEC) == (0x0008), "ST_NOEXEC != 0x0008"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_NOEXEC 0x0008 #endif -#if !(defined(ST_SYNCHRONOUS) || (defined(HAVE_DECL_ST_SYNCHRONOUS) && HAVE_DECL_ST_SYNCHRONOUS)) +#if defined(ST_SYNCHRONOUS) || (defined(HAVE_DECL_ST_SYNCHRONOUS) && HAVE_DECL_ST_SYNCHRONOUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_SYNCHRONOUS) == (0x0010), "ST_SYNCHRONOUS != 0x0010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_SYNCHRONOUS 0x0010 #endif -#if !(defined(ST_MANDLOCK) || (defined(HAVE_DECL_ST_MANDLOCK) && HAVE_DECL_ST_MANDLOCK)) +#if defined(ST_MANDLOCK) || (defined(HAVE_DECL_ST_MANDLOCK) && HAVE_DECL_ST_MANDLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_MANDLOCK) == (0x0040), "ST_MANDLOCK != 0x0040"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_MANDLOCK 0x0040 #endif -#if !(defined(ST_NOATIME) || (defined(HAVE_DECL_ST_NOATIME) && HAVE_DECL_ST_NOATIME)) +#if defined(ST_NOATIME) || (defined(HAVE_DECL_ST_NOATIME) && HAVE_DECL_ST_NOATIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_NOATIME) == (0x0400), "ST_NOATIME != 0x0400"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_NOATIME 0x0400 #endif -#if !(defined(ST_NODIRATIME) || (defined(HAVE_DECL_ST_NODIRATIME) && HAVE_DECL_ST_NODIRATIME)) +#if defined(ST_NODIRATIME) || (defined(HAVE_DECL_ST_NODIRATIME) && HAVE_DECL_ST_NODIRATIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_NODIRATIME) == (0x0800), "ST_NODIRATIME != 0x0800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_NODIRATIME 0x0800 #endif -#if !(defined(ST_RELATIME) || (defined(HAVE_DECL_ST_RELATIME) && HAVE_DECL_ST_RELATIME)) +#if defined(ST_RELATIME) || (defined(HAVE_DECL_ST_RELATIME) && HAVE_DECL_ST_RELATIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((ST_RELATIME) == (0x1000), "ST_RELATIME != 0x1000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define ST_RELATIME 0x1000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat statfs_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat statfs_flags in mpers mode + +# else static const struct xlat statfs_flags[] = { @@ -51,4 +97,6 @@ const struct xlat statfs_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/statx_attrs.h b/xlat/statx_attrs.h index 20370afe..849ec0ed 100644 --- a/xlat/statx_attrs.h +++ b/xlat/statx_attrs.h @@ -1,28 +1,58 @@ /* Generated by ./xlat/gen.sh from ./xlat/statx_attrs.in; do not edit. */ -#if !(defined(STATX_ATTR_COMPRESSED) || (defined(HAVE_DECL_STATX_ATTR_COMPRESSED) && HAVE_DECL_STATX_ATTR_COMPRESSED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(STATX_ATTR_COMPRESSED) || (defined(HAVE_DECL_STATX_ATTR_COMPRESSED) && HAVE_DECL_STATX_ATTR_COMPRESSED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_ATTR_COMPRESSED) == (0x00000004), "STATX_ATTR_COMPRESSED != 0x00000004"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_ATTR_COMPRESSED 0x00000004 #endif -#if !(defined(STATX_ATTR_IMMUTABLE) || (defined(HAVE_DECL_STATX_ATTR_IMMUTABLE) && HAVE_DECL_STATX_ATTR_IMMUTABLE)) +#if defined(STATX_ATTR_IMMUTABLE) || (defined(HAVE_DECL_STATX_ATTR_IMMUTABLE) && HAVE_DECL_STATX_ATTR_IMMUTABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_ATTR_IMMUTABLE) == (0x00000010), "STATX_ATTR_IMMUTABLE != 0x00000010"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_ATTR_IMMUTABLE 0x00000010 #endif -#if !(defined(STATX_ATTR_APPEND) || (defined(HAVE_DECL_STATX_ATTR_APPEND) && HAVE_DECL_STATX_ATTR_APPEND)) +#if defined(STATX_ATTR_APPEND) || (defined(HAVE_DECL_STATX_ATTR_APPEND) && HAVE_DECL_STATX_ATTR_APPEND) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_ATTR_APPEND) == (0x00000020), "STATX_ATTR_APPEND != 0x00000020"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_ATTR_APPEND 0x00000020 #endif -#if !(defined(STATX_ATTR_NODUMP) || (defined(HAVE_DECL_STATX_ATTR_NODUMP) && HAVE_DECL_STATX_ATTR_NODUMP)) +#if defined(STATX_ATTR_NODUMP) || (defined(HAVE_DECL_STATX_ATTR_NODUMP) && HAVE_DECL_STATX_ATTR_NODUMP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_ATTR_NODUMP) == (0x00000040), "STATX_ATTR_NODUMP != 0x00000040"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_ATTR_NODUMP 0x00000040 #endif -#if !(defined(STATX_ATTR_ENCRYPTED) || (defined(HAVE_DECL_STATX_ATTR_ENCRYPTED) && HAVE_DECL_STATX_ATTR_ENCRYPTED)) +#if defined(STATX_ATTR_ENCRYPTED) || (defined(HAVE_DECL_STATX_ATTR_ENCRYPTED) && HAVE_DECL_STATX_ATTR_ENCRYPTED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_ATTR_ENCRYPTED) == (0x00000800), "STATX_ATTR_ENCRYPTED != 0x00000800"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_ATTR_ENCRYPTED 0x00000800 #endif -#if !(defined(STATX_ATTR_AUTOMOUNT) || (defined(HAVE_DECL_STATX_ATTR_AUTOMOUNT) && HAVE_DECL_STATX_ATTR_AUTOMOUNT)) +#if defined(STATX_ATTR_AUTOMOUNT) || (defined(HAVE_DECL_STATX_ATTR_AUTOMOUNT) && HAVE_DECL_STATX_ATTR_AUTOMOUNT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_ATTR_AUTOMOUNT) == (0x00001000), "STATX_ATTR_AUTOMOUNT != 0x00001000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_ATTR_AUTOMOUNT 0x00001000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat statx_attrs in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat statx_attrs in mpers mode + +# else static const struct xlat statx_attrs[] = { @@ -35,4 +65,6 @@ const struct xlat statx_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/statx_masks.h b/xlat/statx_masks.h index 9e0f5439..f94ee8a5 100644 --- a/xlat/statx_masks.h +++ b/xlat/statx_masks.h @@ -1,52 +1,114 @@ /* Generated by ./xlat/gen.sh from ./xlat/statx_masks.in; do not edit. */ -#if !(defined(STATX_ALL) || (defined(HAVE_DECL_STATX_ALL) && HAVE_DECL_STATX_ALL)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(STATX_ALL) || (defined(HAVE_DECL_STATX_ALL) && HAVE_DECL_STATX_ALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_ALL) == (0x00000fffU), "STATX_ALL != 0x00000fffU"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_ALL 0x00000fffU #endif -#if !(defined(STATX_BASIC_STATS) || (defined(HAVE_DECL_STATX_BASIC_STATS) && HAVE_DECL_STATX_BASIC_STATS)) +#if defined(STATX_BASIC_STATS) || (defined(HAVE_DECL_STATX_BASIC_STATS) && HAVE_DECL_STATX_BASIC_STATS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_BASIC_STATS) == (0x000007ffU), "STATX_BASIC_STATS != 0x000007ffU"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_BASIC_STATS 0x000007ffU #endif -#if !(defined(STATX_TYPE) || (defined(HAVE_DECL_STATX_TYPE) && HAVE_DECL_STATX_TYPE)) +#if defined(STATX_TYPE) || (defined(HAVE_DECL_STATX_TYPE) && HAVE_DECL_STATX_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_TYPE) == (0x00000001U), "STATX_TYPE != 0x00000001U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_TYPE 0x00000001U #endif -#if !(defined(STATX_MODE) || (defined(HAVE_DECL_STATX_MODE) && HAVE_DECL_STATX_MODE)) +#if defined(STATX_MODE) || (defined(HAVE_DECL_STATX_MODE) && HAVE_DECL_STATX_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_MODE) == (0x00000002U), "STATX_MODE != 0x00000002U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_MODE 0x00000002U #endif -#if !(defined(STATX_NLINK) || (defined(HAVE_DECL_STATX_NLINK) && HAVE_DECL_STATX_NLINK)) +#if defined(STATX_NLINK) || (defined(HAVE_DECL_STATX_NLINK) && HAVE_DECL_STATX_NLINK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_NLINK) == (0x00000004U), "STATX_NLINK != 0x00000004U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_NLINK 0x00000004U #endif -#if !(defined(STATX_UID) || (defined(HAVE_DECL_STATX_UID) && HAVE_DECL_STATX_UID)) +#if defined(STATX_UID) || (defined(HAVE_DECL_STATX_UID) && HAVE_DECL_STATX_UID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_UID) == (0x00000008U), "STATX_UID != 0x00000008U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_UID 0x00000008U #endif -#if !(defined(STATX_GID) || (defined(HAVE_DECL_STATX_GID) && HAVE_DECL_STATX_GID)) +#if defined(STATX_GID) || (defined(HAVE_DECL_STATX_GID) && HAVE_DECL_STATX_GID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_GID) == (0x00000010U), "STATX_GID != 0x00000010U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_GID 0x00000010U #endif -#if !(defined(STATX_ATIME) || (defined(HAVE_DECL_STATX_ATIME) && HAVE_DECL_STATX_ATIME)) +#if defined(STATX_ATIME) || (defined(HAVE_DECL_STATX_ATIME) && HAVE_DECL_STATX_ATIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_ATIME) == (0x00000020U), "STATX_ATIME != 0x00000020U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_ATIME 0x00000020U #endif -#if !(defined(STATX_MTIME) || (defined(HAVE_DECL_STATX_MTIME) && HAVE_DECL_STATX_MTIME)) +#if defined(STATX_MTIME) || (defined(HAVE_DECL_STATX_MTIME) && HAVE_DECL_STATX_MTIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_MTIME) == (0x00000040U), "STATX_MTIME != 0x00000040U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_MTIME 0x00000040U #endif -#if !(defined(STATX_CTIME) || (defined(HAVE_DECL_STATX_CTIME) && HAVE_DECL_STATX_CTIME)) +#if defined(STATX_CTIME) || (defined(HAVE_DECL_STATX_CTIME) && HAVE_DECL_STATX_CTIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_CTIME) == (0x00000080U), "STATX_CTIME != 0x00000080U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_CTIME 0x00000080U #endif -#if !(defined(STATX_INO) || (defined(HAVE_DECL_STATX_INO) && HAVE_DECL_STATX_INO)) +#if defined(STATX_INO) || (defined(HAVE_DECL_STATX_INO) && HAVE_DECL_STATX_INO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_INO) == (0x00000100U), "STATX_INO != 0x00000100U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_INO 0x00000100U #endif -#if !(defined(STATX_SIZE) || (defined(HAVE_DECL_STATX_SIZE) && HAVE_DECL_STATX_SIZE)) +#if defined(STATX_SIZE) || (defined(HAVE_DECL_STATX_SIZE) && HAVE_DECL_STATX_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_SIZE) == (0x00000200U), "STATX_SIZE != 0x00000200U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_SIZE 0x00000200U #endif -#if !(defined(STATX_BLOCKS) || (defined(HAVE_DECL_STATX_BLOCKS) && HAVE_DECL_STATX_BLOCKS)) +#if defined(STATX_BLOCKS) || (defined(HAVE_DECL_STATX_BLOCKS) && HAVE_DECL_STATX_BLOCKS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_BLOCKS) == (0x00000400U), "STATX_BLOCKS != 0x00000400U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_BLOCKS 0x00000400U #endif -#if !(defined(STATX_BTIME) || (defined(HAVE_DECL_STATX_BTIME) && HAVE_DECL_STATX_BTIME)) +#if defined(STATX_BTIME) || (defined(HAVE_DECL_STATX_BTIME) && HAVE_DECL_STATX_BTIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((STATX_BTIME) == (0x00000800U), "STATX_BTIME != 0x00000800U"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define STATX_BTIME 0x00000800U #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat statx_masks in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat statx_masks in mpers mode + +# else static const struct xlat statx_masks[] = { @@ -68,4 +130,6 @@ const struct xlat statx_masks[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/swap_flags.h b/xlat/swap_flags.h index 9baec44e..d03aa13f 100644 --- a/xlat/swap_flags.h +++ b/xlat/swap_flags.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/swap_flags.in; do not edit. */ -#if !(defined(SWAP_FLAG_PREFER) || (defined(HAVE_DECL_SWAP_FLAG_PREFER) && HAVE_DECL_SWAP_FLAG_PREFER)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SWAP_FLAG_PREFER) || (defined(HAVE_DECL_SWAP_FLAG_PREFER) && HAVE_DECL_SWAP_FLAG_PREFER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SWAP_FLAG_PREFER) == (0x8000), "SWAP_FLAG_PREFER != 0x8000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SWAP_FLAG_PREFER 0x8000 #endif -#if !(defined(SWAP_FLAG_DISCARD) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD) && HAVE_DECL_SWAP_FLAG_DISCARD)) +#if defined(SWAP_FLAG_DISCARD) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD) && HAVE_DECL_SWAP_FLAG_DISCARD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SWAP_FLAG_DISCARD) == (0x10000), "SWAP_FLAG_DISCARD != 0x10000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SWAP_FLAG_DISCARD 0x10000 #endif -#if !(defined(SWAP_FLAG_DISCARD_ONCE) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD_ONCE) && HAVE_DECL_SWAP_FLAG_DISCARD_ONCE)) +#if defined(SWAP_FLAG_DISCARD_ONCE) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD_ONCE) && HAVE_DECL_SWAP_FLAG_DISCARD_ONCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SWAP_FLAG_DISCARD_ONCE) == (0x20000), "SWAP_FLAG_DISCARD_ONCE != 0x20000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SWAP_FLAG_DISCARD_ONCE 0x20000 #endif -#if !(defined(SWAP_FLAG_DISCARD_PAGES) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD_PAGES) && HAVE_DECL_SWAP_FLAG_DISCARD_PAGES)) +#if defined(SWAP_FLAG_DISCARD_PAGES) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD_PAGES) && HAVE_DECL_SWAP_FLAG_DISCARD_PAGES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SWAP_FLAG_DISCARD_PAGES) == (0x40000), "SWAP_FLAG_DISCARD_PAGES != 0x40000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SWAP_FLAG_DISCARD_PAGES 0x40000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat swap_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat swap_flags in mpers mode + +# else static const struct xlat swap_flags[] = { @@ -27,4 +49,6 @@ const struct xlat swap_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sync_file_range_flags.h b/xlat/sync_file_range_flags.h index 08d9ac1c..2d7de908 100644 --- a/xlat/sync_file_range_flags.h +++ b/xlat/sync_file_range_flags.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/sync_file_range_flags.in; do not edit. */ -#if !(defined(SYNC_FILE_RANGE_WAIT_BEFORE) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WAIT_BEFORE) && HAVE_DECL_SYNC_FILE_RANGE_WAIT_BEFORE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(SYNC_FILE_RANGE_WAIT_BEFORE) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WAIT_BEFORE) && HAVE_DECL_SYNC_FILE_RANGE_WAIT_BEFORE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYNC_FILE_RANGE_WAIT_BEFORE) == (1), "SYNC_FILE_RANGE_WAIT_BEFORE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYNC_FILE_RANGE_WAIT_BEFORE 1 #endif -#if !(defined(SYNC_FILE_RANGE_WRITE) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WRITE) && HAVE_DECL_SYNC_FILE_RANGE_WRITE)) +#if defined(SYNC_FILE_RANGE_WRITE) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WRITE) && HAVE_DECL_SYNC_FILE_RANGE_WRITE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYNC_FILE_RANGE_WRITE) == (2), "SYNC_FILE_RANGE_WRITE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYNC_FILE_RANGE_WRITE 2 #endif -#if !(defined(SYNC_FILE_RANGE_WAIT_AFTER) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WAIT_AFTER) && HAVE_DECL_SYNC_FILE_RANGE_WAIT_AFTER)) +#if defined(SYNC_FILE_RANGE_WAIT_AFTER) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WAIT_AFTER) && HAVE_DECL_SYNC_FILE_RANGE_WAIT_AFTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((SYNC_FILE_RANGE_WAIT_AFTER) == (4), "SYNC_FILE_RANGE_WAIT_AFTER != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define SYNC_FILE_RANGE_WAIT_AFTER 4 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat sync_file_range_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat sync_file_range_flags in mpers mode + +# else static const struct xlat sync_file_range_flags[] = { @@ -23,4 +41,6 @@ const struct xlat sync_file_range_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_kern.h b/xlat/sysctl_kern.h index b7276da6..438dd95e 100644 --- a/xlat/sysctl_kern.h +++ b/xlat/sysctl_kern.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_kern.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_kern in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_kern in mpers mode + +# else static const struct xlat sysctl_kern[] = { @@ -111,4 +117,6 @@ const struct xlat sysctl_kern[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_net.h b/xlat/sysctl_net.h index 864c548b..1e2b0c7a 100644 --- a/xlat/sysctl_net.h +++ b/xlat/sysctl_net.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_net.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_net in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_net in mpers mode + +# else static const struct xlat sysctl_net[] = { @@ -40,4 +46,6 @@ const struct xlat sysctl_net[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_net_core.h b/xlat/sysctl_net_core.h index d3db06cd..2cce965f 100644 --- a/xlat/sysctl_net_core.h +++ b/xlat/sysctl_net_core.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_core.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_net_core in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_net_core in mpers mode + +# else static const struct xlat sysctl_net_core[] = { @@ -43,4 +49,6 @@ const struct xlat sysctl_net_core[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_net_ipv4.h b/xlat/sysctl_net_ipv4.h index cd0a005c..fdf02041 100644 --- a/xlat/sysctl_net_ipv4.h +++ b/xlat/sysctl_net_ipv4.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv4.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_net_ipv4 in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_net_ipv4 in mpers mode + +# else static const struct xlat sysctl_net_ipv4[] = { @@ -149,4 +155,6 @@ const struct xlat sysctl_net_ipv4[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_net_ipv4_conf.h b/xlat/sysctl_net_ipv4_conf.h index c9cd4dcb..892df339 100644 --- a/xlat/sysctl_net_ipv4_conf.h +++ b/xlat/sysctl_net_ipv4_conf.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv4_conf.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_net_ipv4_conf in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_net_ipv4_conf in mpers mode + +# else static const struct xlat sysctl_net_ipv4_conf[] = { @@ -45,4 +51,6 @@ const struct xlat sysctl_net_ipv4_conf[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_net_ipv4_route.h b/xlat/sysctl_net_ipv4_route.h index 91983e40..4cb40adb 100644 --- a/xlat/sysctl_net_ipv4_route.h +++ b/xlat/sysctl_net_ipv4_route.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv4_route.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_net_ipv4_route in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_net_ipv4_route in mpers mode + +# else static const struct xlat sysctl_net_ipv4_route[] = { @@ -32,4 +38,6 @@ const struct xlat sysctl_net_ipv4_route[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_net_ipv6.h b/xlat/sysctl_net_ipv6.h index c92a16cb..06b6c455 100644 --- a/xlat/sysctl_net_ipv6.h +++ b/xlat/sysctl_net_ipv6.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv6.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_net_ipv6 in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_net_ipv6 in mpers mode + +# else static const struct xlat sysctl_net_ipv6[] = { @@ -23,4 +29,6 @@ const struct xlat sysctl_net_ipv6[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_net_ipv6_route.h b/xlat/sysctl_net_ipv6_route.h index cc976ff3..7bcf4bc4 100644 --- a/xlat/sysctl_net_ipv6_route.h +++ b/xlat/sysctl_net_ipv6_route.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv6_route.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_net_ipv6_route in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_net_ipv6_route in mpers mode + +# else static const struct xlat sysctl_net_ipv6_route[] = { @@ -23,4 +29,6 @@ const struct xlat sysctl_net_ipv6_route[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_net_unix.h b/xlat/sysctl_net_unix.h index c940dab6..ea0043cd 100644 --- a/xlat/sysctl_net_unix.h +++ b/xlat/sysctl_net_unix.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_unix.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_net_unix in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_net_unix in mpers mode + +# else static const struct xlat sysctl_net_unix[] = { @@ -14,4 +20,6 @@ const struct xlat sysctl_net_unix[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_root.h b/xlat/sysctl_root.h index 0d4b0398..ddb7a2dd 100644 --- a/xlat/sysctl_root.h +++ b/xlat/sysctl_root.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_root.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_root in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_root in mpers mode + +# else static const struct xlat sysctl_root[] = { @@ -38,4 +44,6 @@ const struct xlat sysctl_root[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysctl_vm.h b/xlat/sysctl_vm.h index 36896a20..bb86bd8d 100644 --- a/xlat/sysctl_vm.h +++ b/xlat/sysctl_vm.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysctl_vm.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysctl_vm in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysctl_vm in mpers mode + +# else static const struct xlat sysctl_vm[] = { @@ -45,4 +51,6 @@ const struct xlat sysctl_vm[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/syslog_action_type.h b/xlat/syslog_action_type.h index b4f543fe..6d1c7fd3 100644 --- a/xlat/syslog_action_type.h +++ b/xlat/syslog_action_type.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/syslog_action_type.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat syslog_action_type in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat syslog_action_type in mpers mode + +# else static const struct xlat syslog_action_type[] = { @@ -22,4 +28,6 @@ const struct xlat syslog_action_type[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/sysmips_operations.h b/xlat/sysmips_operations.h index 107caa2b..6e3b00c0 100644 --- a/xlat/sysmips_operations.h +++ b/xlat/sysmips_operations.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/sysmips_operations.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat sysmips_operations in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat sysmips_operations in mpers mode + +# else static const struct xlat sysmips_operations[] = { @@ -26,4 +32,6 @@ const struct xlat sysmips_operations[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/tcflsh_options.h b/xlat/tcflsh_options.h index 5d67bb73..97302639 100644 --- a/xlat/tcflsh_options.h +++ b/xlat/tcflsh_options.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/tcflsh_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat tcflsh_options in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat tcflsh_options in mpers mode + +# else static const struct xlat tcflsh_options[] = { @@ -20,4 +26,6 @@ const struct xlat tcflsh_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/tcp_state_flags.h b/xlat/tcp_state_flags.h index 34c81405..3f0cb8c6 100644 --- a/xlat/tcp_state_flags.h +++ b/xlat/tcp_state_flags.h @@ -1,6 +1,12 @@ /* Generated by ./xlat/gen.sh from ./xlat/tcp_state_flags.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat tcp_state_flags[] = { @@ -43,4 +49,6 @@ const struct xlat tcp_state_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/tcp_states.h b/xlat/tcp_states.h index 3559240a..199b7f51 100644 --- a/xlat/tcp_states.h +++ b/xlat/tcp_states.h @@ -1,42 +1,96 @@ /* Generated by ./xlat/gen.sh from ./xlat/tcp_states.in; do not edit. */ -#if !(defined(TCP_ESTABLISHED) || (defined(HAVE_DECL_TCP_ESTABLISHED) && HAVE_DECL_TCP_ESTABLISHED)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TCP_ESTABLISHED) || (defined(HAVE_DECL_TCP_ESTABLISHED) && HAVE_DECL_TCP_ESTABLISHED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_ESTABLISHED) == (1), "TCP_ESTABLISHED != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_ESTABLISHED 1 #endif -#if !(defined(TCP_SYN_SENT) || (defined(HAVE_DECL_TCP_SYN_SENT) && HAVE_DECL_TCP_SYN_SENT)) +#if defined(TCP_SYN_SENT) || (defined(HAVE_DECL_TCP_SYN_SENT) && HAVE_DECL_TCP_SYN_SENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_SYN_SENT) == (2), "TCP_SYN_SENT != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_SYN_SENT 2 #endif -#if !(defined(TCP_SYN_RECV) || (defined(HAVE_DECL_TCP_SYN_RECV) && HAVE_DECL_TCP_SYN_RECV)) +#if defined(TCP_SYN_RECV) || (defined(HAVE_DECL_TCP_SYN_RECV) && HAVE_DECL_TCP_SYN_RECV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_SYN_RECV) == (3), "TCP_SYN_RECV != 3"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_SYN_RECV 3 #endif -#if !(defined(TCP_FIN_WAIT1) || (defined(HAVE_DECL_TCP_FIN_WAIT1) && HAVE_DECL_TCP_FIN_WAIT1)) +#if defined(TCP_FIN_WAIT1) || (defined(HAVE_DECL_TCP_FIN_WAIT1) && HAVE_DECL_TCP_FIN_WAIT1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_FIN_WAIT1) == (4), "TCP_FIN_WAIT1 != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_FIN_WAIT1 4 #endif -#if !(defined(TCP_FIN_WAIT2) || (defined(HAVE_DECL_TCP_FIN_WAIT2) && HAVE_DECL_TCP_FIN_WAIT2)) +#if defined(TCP_FIN_WAIT2) || (defined(HAVE_DECL_TCP_FIN_WAIT2) && HAVE_DECL_TCP_FIN_WAIT2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_FIN_WAIT2) == (5), "TCP_FIN_WAIT2 != 5"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_FIN_WAIT2 5 #endif -#if !(defined(TCP_TIME_WAIT) || (defined(HAVE_DECL_TCP_TIME_WAIT) && HAVE_DECL_TCP_TIME_WAIT)) +#if defined(TCP_TIME_WAIT) || (defined(HAVE_DECL_TCP_TIME_WAIT) && HAVE_DECL_TCP_TIME_WAIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_TIME_WAIT) == (6), "TCP_TIME_WAIT != 6"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_TIME_WAIT 6 #endif -#if !(defined(TCP_CLOSE) || (defined(HAVE_DECL_TCP_CLOSE) && HAVE_DECL_TCP_CLOSE)) +#if defined(TCP_CLOSE) || (defined(HAVE_DECL_TCP_CLOSE) && HAVE_DECL_TCP_CLOSE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_CLOSE) == (7), "TCP_CLOSE != 7"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_CLOSE 7 #endif -#if !(defined(TCP_CLOSE_WAIT) || (defined(HAVE_DECL_TCP_CLOSE_WAIT) && HAVE_DECL_TCP_CLOSE_WAIT)) +#if defined(TCP_CLOSE_WAIT) || (defined(HAVE_DECL_TCP_CLOSE_WAIT) && HAVE_DECL_TCP_CLOSE_WAIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_CLOSE_WAIT) == (8), "TCP_CLOSE_WAIT != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_CLOSE_WAIT 8 #endif -#if !(defined(TCP_LAST_ACK) || (defined(HAVE_DECL_TCP_LAST_ACK) && HAVE_DECL_TCP_LAST_ACK)) +#if defined(TCP_LAST_ACK) || (defined(HAVE_DECL_TCP_LAST_ACK) && HAVE_DECL_TCP_LAST_ACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_LAST_ACK) == (9), "TCP_LAST_ACK != 9"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_LAST_ACK 9 #endif -#if !(defined(TCP_LISTEN) || (defined(HAVE_DECL_TCP_LISTEN) && HAVE_DECL_TCP_LISTEN)) +#if defined(TCP_LISTEN) || (defined(HAVE_DECL_TCP_LISTEN) && HAVE_DECL_TCP_LISTEN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_LISTEN) == (10), "TCP_LISTEN != 10"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_LISTEN 10 #endif -#if !(defined(TCP_CLOSING) || (defined(HAVE_DECL_TCP_CLOSING) && HAVE_DECL_TCP_CLOSING)) +#if defined(TCP_CLOSING) || (defined(HAVE_DECL_TCP_CLOSING) && HAVE_DECL_TCP_CLOSING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_CLOSING) == (11), "TCP_CLOSING != 11"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_CLOSING 11 #endif -#if !(defined(TCP_NEW_SYN_RECV) || (defined(HAVE_DECL_TCP_NEW_SYN_RECV) && HAVE_DECL_TCP_NEW_SYN_RECV)) +#if defined(TCP_NEW_SYN_RECV) || (defined(HAVE_DECL_TCP_NEW_SYN_RECV) && HAVE_DECL_TCP_NEW_SYN_RECV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TCP_NEW_SYN_RECV) == (12), "TCP_NEW_SYN_RECV != 12"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TCP_NEW_SYN_RECV 12 #endif -#ifndef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat tcp_states[] = { XLAT(TCP_ESTABLISHED), @@ -54,4 +108,6 @@ const struct xlat tcp_states[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/tcxonc_options.h b/xlat/tcxonc_options.h index 83aae83e..c259441a 100644 --- a/xlat/tcxonc_options.h +++ b/xlat/tcxonc_options.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/tcxonc_options.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat tcxonc_options in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat tcxonc_options in mpers mode + +# else static const struct xlat tcxonc_options[] = { @@ -23,4 +29,6 @@ const struct xlat tcxonc_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/timerfdflags.h b/xlat/timerfdflags.h index 571f7ece..7d0f72be 100644 --- a/xlat/timerfdflags.h +++ b/xlat/timerfdflags.h @@ -1,24 +1,46 @@ /* Generated by ./xlat/gen.sh from ./xlat/timerfdflags.in; do not edit. */ -#if !(defined(TFD_TIMER_ABSTIME) || (defined(HAVE_DECL_TFD_TIMER_ABSTIME) && HAVE_DECL_TFD_TIMER_ABSTIME)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(TFD_TIMER_ABSTIME) || (defined(HAVE_DECL_TFD_TIMER_ABSTIME) && HAVE_DECL_TFD_TIMER_ABSTIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TFD_TIMER_ABSTIME) == ((1 << 0)), "TFD_TIMER_ABSTIME != (1 << 0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TFD_TIMER_ABSTIME (1 << 0) #endif -#if !(defined(TFD_TIMER_CANCEL_ON_SET) || (defined(HAVE_DECL_TFD_TIMER_CANCEL_ON_SET) && HAVE_DECL_TFD_TIMER_CANCEL_ON_SET)) +#if defined(TFD_TIMER_CANCEL_ON_SET) || (defined(HAVE_DECL_TFD_TIMER_CANCEL_ON_SET) && HAVE_DECL_TFD_TIMER_CANCEL_ON_SET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TFD_TIMER_CANCEL_ON_SET) == ((1 << 1)), "TFD_TIMER_CANCEL_ON_SET != (1 << 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TFD_TIMER_CANCEL_ON_SET (1 << 1) #endif #if defined TFD_CLOEXEC || defined O_CLOEXEC -#if !(defined(TFD_CLOEXEC) || (defined(HAVE_DECL_TFD_CLOEXEC) && HAVE_DECL_TFD_CLOEXEC)) +#if defined(TFD_CLOEXEC) || (defined(HAVE_DECL_TFD_CLOEXEC) && HAVE_DECL_TFD_CLOEXEC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TFD_CLOEXEC) == (O_CLOEXEC), "TFD_CLOEXEC != O_CLOEXEC"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TFD_CLOEXEC O_CLOEXEC #endif #endif -#if !(defined(TFD_NONBLOCK) || (defined(HAVE_DECL_TFD_NONBLOCK) && HAVE_DECL_TFD_NONBLOCK)) +#if defined(TFD_NONBLOCK) || (defined(HAVE_DECL_TFD_NONBLOCK) && HAVE_DECL_TFD_NONBLOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((TFD_NONBLOCK) == (O_NONBLOCK), "TFD_NONBLOCK != O_NONBLOCK"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define TFD_NONBLOCK O_NONBLOCK #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat timerfdflags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat timerfdflags in mpers mode + +# else static const struct xlat timerfdflags[] = { @@ -33,4 +55,6 @@ const struct xlat timerfdflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/tun_device_types.h b/xlat/tun_device_types.h new file mode 100644 index 00000000..a1bf5a13 --- /dev/null +++ b/xlat/tun_device_types.h @@ -0,0 +1,38 @@ +/* Generated by ./xlat/gen.sh from ./xlat/tun_device_types.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(IFF_TUN) || (defined(HAVE_DECL_IFF_TUN) && HAVE_DECL_IFF_TUN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_TUN) == (1), "IFF_TUN != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_TUN 1 +#endif +#if defined(IFF_TAP) || (defined(HAVE_DECL_IFF_TAP) && HAVE_DECL_IFF_TAP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((IFF_TAP) == (2), "IFF_TAP != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define IFF_TAP 2 +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat tun_device_types in mpers mode + +# else + +static +const struct xlat tun_device_types[] = { + [IFF_TUN] = XLAT(IFF_TUN), + [IFF_TAP] = XLAT(IFF_TAP), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/tun_device_types.in b/xlat/tun_device_types.in new file mode 100644 index 00000000..81af0bc1 --- /dev/null +++ b/xlat/tun_device_types.in @@ -0,0 +1,3 @@ +#value_indexed +IFF_TUN 1 +IFF_TAP 2 diff --git a/xlat/ubi_volume_props.h b/xlat/ubi_volume_props.h index cfae600b..fb7ca99d 100644 --- a/xlat/ubi_volume_props.h +++ b/xlat/ubi_volume_props.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ubi_volume_props.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ubi_volume_props in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ubi_volume_props in mpers mode + +# else static const struct xlat ubi_volume_props[] = { @@ -12,4 +18,6 @@ const struct xlat ubi_volume_props[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/ubi_volume_types.h b/xlat/ubi_volume_types.h index 0facbf2f..77e8e6a3 100644 --- a/xlat/ubi_volume_types.h +++ b/xlat/ubi_volume_types.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/ubi_volume_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat ubi_volume_types in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat ubi_volume_types in mpers mode + +# else static const struct xlat ubi_volume_types[] = { @@ -13,4 +19,6 @@ const struct xlat ubi_volume_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/uffd_api_features.h b/xlat/uffd_api_features.h index 2ea3a9e8..66ea2d2b 100644 --- a/xlat/uffd_api_features.h +++ b/xlat/uffd_api_features.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/uffd_api_features.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat uffd_api_features in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat uffd_api_features in mpers mode + +# else static const struct xlat uffd_api_features[] = { @@ -38,4 +44,6 @@ const struct xlat uffd_api_features[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/uffd_api_flags.h b/xlat/uffd_api_flags.h index 4963ec46..7d0f929b 100644 --- a/xlat/uffd_api_flags.h +++ b/xlat/uffd_api_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/uffd_api_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat uffd_api_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat uffd_api_flags in mpers mode + +# else static const struct xlat uffd_api_flags[] = { @@ -20,4 +26,6 @@ const struct xlat uffd_api_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/uffd_copy_flags.h b/xlat/uffd_copy_flags.h index 669c1bbc..1d45e6cb 100644 --- a/xlat/uffd_copy_flags.h +++ b/xlat/uffd_copy_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/uffd_copy_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat uffd_copy_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat uffd_copy_flags in mpers mode + +# else static const struct xlat uffd_copy_flags[] = { @@ -14,4 +20,6 @@ const struct xlat uffd_copy_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/uffd_flags.h b/xlat/uffd_flags.h index 5fd260e8..7180961c 100644 --- a/xlat/uffd_flags.h +++ b/xlat/uffd_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/uffd_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat uffd_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat uffd_flags in mpers mode + +# else static const struct xlat uffd_flags[] = { @@ -17,4 +23,6 @@ const struct xlat uffd_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/uffd_register_ioctl_flags.h b/xlat/uffd_register_ioctl_flags.h index 0c90f3cc..affbb07b 100644 --- a/xlat/uffd_register_ioctl_flags.h +++ b/xlat/uffd_register_ioctl_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/uffd_register_ioctl_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat uffd_register_ioctl_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat uffd_register_ioctl_flags in mpers mode + +# else static const struct xlat uffd_register_ioctl_flags[] = { @@ -20,4 +26,6 @@ const struct xlat uffd_register_ioctl_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/uffd_register_mode_flags.h b/xlat/uffd_register_mode_flags.h index bfcae875..272e4dbe 100644 --- a/xlat/uffd_register_mode_flags.h +++ b/xlat/uffd_register_mode_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/uffd_register_mode_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat uffd_register_mode_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat uffd_register_mode_flags in mpers mode + +# else static const struct xlat uffd_register_mode_flags[] = { @@ -17,4 +23,6 @@ const struct xlat uffd_register_mode_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/uffd_zeropage_flags.h b/xlat/uffd_zeropage_flags.h index 8367ff6f..6d21fb06 100644 --- a/xlat/uffd_zeropage_flags.h +++ b/xlat/uffd_zeropage_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/uffd_zeropage_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat uffd_zeropage_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat uffd_zeropage_flags in mpers mode + +# else static const struct xlat uffd_zeropage_flags[] = { @@ -14,4 +20,6 @@ const struct xlat uffd_zeropage_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/umount_flags.h b/xlat/umount_flags.h index 32197824..c81e6610 100644 --- a/xlat/umount_flags.h +++ b/xlat/umount_flags.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/umount_flags.in; do not edit. */ -#if !(defined(MNT_FORCE) || (defined(HAVE_DECL_MNT_FORCE) && HAVE_DECL_MNT_FORCE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(MNT_FORCE) || (defined(HAVE_DECL_MNT_FORCE) && HAVE_DECL_MNT_FORCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MNT_FORCE) == (1), "MNT_FORCE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MNT_FORCE 1 #endif -#if !(defined(MNT_DETACH) || (defined(HAVE_DECL_MNT_DETACH) && HAVE_DECL_MNT_DETACH)) +#if defined(MNT_DETACH) || (defined(HAVE_DECL_MNT_DETACH) && HAVE_DECL_MNT_DETACH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MNT_DETACH) == (2), "MNT_DETACH != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MNT_DETACH 2 #endif -#if !(defined(MNT_EXPIRE) || (defined(HAVE_DECL_MNT_EXPIRE) && HAVE_DECL_MNT_EXPIRE)) +#if defined(MNT_EXPIRE) || (defined(HAVE_DECL_MNT_EXPIRE) && HAVE_DECL_MNT_EXPIRE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((MNT_EXPIRE) == (4), "MNT_EXPIRE != 4"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define MNT_EXPIRE 4 #endif -#if !(defined(UMOUNT_NOFOLLOW) || (defined(HAVE_DECL_UMOUNT_NOFOLLOW) && HAVE_DECL_UMOUNT_NOFOLLOW)) +#if defined(UMOUNT_NOFOLLOW) || (defined(HAVE_DECL_UMOUNT_NOFOLLOW) && HAVE_DECL_UMOUNT_NOFOLLOW) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((UMOUNT_NOFOLLOW) == (8), "UMOUNT_NOFOLLOW != 8"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define UMOUNT_NOFOLLOW 8 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat umount_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat umount_flags in mpers mode + +# else static const struct xlat umount_flags[] = { @@ -27,4 +49,6 @@ const struct xlat umount_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/unix_diag_attrs.h b/xlat/unix_diag_attrs.h index bc18d1d6..3f626e0d 100644 --- a/xlat/unix_diag_attrs.h +++ b/xlat/unix_diag_attrs.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/unix_diag_attrs.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat unix_diag_attrs in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat unix_diag_attrs in mpers mode + +# else static const struct xlat unix_diag_attrs[] = { @@ -18,4 +24,6 @@ const struct xlat unix_diag_attrs[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/unix_diag_show.h b/xlat/unix_diag_show.h index d3bb9766..eee89fcc 100644 --- a/xlat/unix_diag_show.h +++ b/xlat/unix_diag_show.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/unix_diag_show.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat unix_diag_show in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat unix_diag_show in mpers mode + +# else static const struct xlat unix_diag_show[] = { @@ -29,4 +35,6 @@ const struct xlat unix_diag_show[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/unshare_flags.h b/xlat/unshare_flags.h index 5c43ebc7..ccbfb750 100644 --- a/xlat/unshare_flags.h +++ b/xlat/unshare_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/unshare_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat unshare_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat unshare_flags in mpers mode + +# else static const struct xlat unshare_flags[] = { @@ -50,4 +56,6 @@ const struct xlat unshare_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/usagewho.h b/xlat/usagewho.h index 8d46fc06..4b5ace4a 100644 --- a/xlat/usagewho.h +++ b/xlat/usagewho.h @@ -1,22 +1,44 @@ /* Generated by ./xlat/gen.sh from ./xlat/usagewho.in; do not edit. */ -#if !(defined(RUSAGE_SELF) || (defined(HAVE_DECL_RUSAGE_SELF) && HAVE_DECL_RUSAGE_SELF)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(RUSAGE_SELF) || (defined(HAVE_DECL_RUSAGE_SELF) && HAVE_DECL_RUSAGE_SELF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RUSAGE_SELF) == (0), "RUSAGE_SELF != 0"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RUSAGE_SELF 0 #endif -#if !(defined(RUSAGE_CHILDREN) || (defined(HAVE_DECL_RUSAGE_CHILDREN) && HAVE_DECL_RUSAGE_CHILDREN)) +#if defined(RUSAGE_CHILDREN) || (defined(HAVE_DECL_RUSAGE_CHILDREN) && HAVE_DECL_RUSAGE_CHILDREN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RUSAGE_CHILDREN) == ((-1)), "RUSAGE_CHILDREN != (-1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RUSAGE_CHILDREN (-1) #endif -#if !(defined(RUSAGE_BOTH) || (defined(HAVE_DECL_RUSAGE_BOTH) && HAVE_DECL_RUSAGE_BOTH)) +#if defined(RUSAGE_BOTH) || (defined(HAVE_DECL_RUSAGE_BOTH) && HAVE_DECL_RUSAGE_BOTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RUSAGE_BOTH) == ((-2)), "RUSAGE_BOTH != (-2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RUSAGE_BOTH (-2) #endif -#if !(defined(RUSAGE_THREAD) || (defined(HAVE_DECL_RUSAGE_THREAD) && HAVE_DECL_RUSAGE_THREAD)) +#if defined(RUSAGE_THREAD) || (defined(HAVE_DECL_RUSAGE_THREAD) && HAVE_DECL_RUSAGE_THREAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((RUSAGE_THREAD) == (1), "RUSAGE_THREAD != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define RUSAGE_THREAD 1 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat usagewho in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat usagewho in mpers mode + +# else static const struct xlat usagewho[] = { @@ -27,4 +49,6 @@ const struct xlat usagewho[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_buf_flags.h b/xlat/v4l2_buf_flags.h index 05eb64d1..6ae72161 100644 --- a/xlat/v4l2_buf_flags.h +++ b/xlat/v4l2_buf_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_buf_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_buf_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_buf_flags[] = { #if defined(V4L2_BUF_FLAG_MAPPED) || (defined(HAVE_DECL_V4L2_BUF_FLAG_MAPPED) && HAVE_DECL_V4L2_BUF_FLAG_MAPPED) XLAT(V4L2_BUF_FLAG_MAPPED), @@ -70,4 +76,6 @@ const struct xlat v4l2_buf_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_buf_types.h b/xlat/v4l2_buf_types.h index 5b206d95..a685c8cf 100644 --- a/xlat/v4l2_buf_types.h +++ b/xlat/v4l2_buf_types.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_buf_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_buf_types[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_buf_types[] = { #if defined(V4L2_BUF_TYPE_VIDEO_CAPTURE) || (defined(HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE) && HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE) XLAT(V4L2_BUF_TYPE_VIDEO_CAPTURE), @@ -52,4 +58,6 @@ const struct xlat v4l2_buf_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_capture_modes.h b/xlat/v4l2_capture_modes.h index ea21949f..74e1a6cc 100644 --- a/xlat/v4l2_capture_modes.h +++ b/xlat/v4l2_capture_modes.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_capture_modes.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_capture_modes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_capture_modes[] = { #if defined(V4L2_MODE_HIGHQUALITY) || (defined(HAVE_DECL_V4L2_MODE_HIGHQUALITY) && HAVE_DECL_V4L2_MODE_HIGHQUALITY) XLAT(V4L2_MODE_HIGHQUALITY), @@ -16,4 +22,6 @@ const struct xlat v4l2_capture_modes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_colorspaces.h b/xlat/v4l2_colorspaces.h index 53d16e6f..fad4dcd6 100644 --- a/xlat/v4l2_colorspaces.h +++ b/xlat/v4l2_colorspaces.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_colorspaces.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_colorspaces[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_colorspaces[] = { #if defined(V4L2_COLORSPACE_SMPTE170M) || (defined(HAVE_DECL_V4L2_COLORSPACE_SMPTE170M) && HAVE_DECL_V4L2_COLORSPACE_SMPTE170M) XLAT(V4L2_COLORSPACE_SMPTE170M), @@ -49,4 +55,6 @@ const struct xlat v4l2_colorspaces[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_control_classes.h b/xlat/v4l2_control_classes.h index 9ceb9c4d..c1bb21de 100644 --- a/xlat/v4l2_control_classes.h +++ b/xlat/v4l2_control_classes.h @@ -1,43 +1,121 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_control_classes.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -extern const struct xlat v4l2_control_classes[]; - -#else - -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) -static -# endif -const struct xlat v4l2_control_classes[] = { #if defined(V4L2_CTRL_CLASS_USER) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_USER) && HAVE_DECL_V4L2_CTRL_CLASS_USER) - XLAT(V4L2_CTRL_CLASS_USER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_USER) == (0x00980000), "V4L2_CTRL_CLASS_USER != 0x00980000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_USER 0x00980000 #endif #if defined(V4L2_CTRL_CLASS_MPEG) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_MPEG) && HAVE_DECL_V4L2_CTRL_CLASS_MPEG) - XLAT(V4L2_CTRL_CLASS_MPEG), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_MPEG) == (0x00990000), "V4L2_CTRL_CLASS_MPEG != 0x00990000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_MPEG 0x00990000 #endif #if defined(V4L2_CTRL_CLASS_CAMERA) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_CAMERA) && HAVE_DECL_V4L2_CTRL_CLASS_CAMERA) - XLAT(V4L2_CTRL_CLASS_CAMERA), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_CAMERA) == (0x009a0000), "V4L2_CTRL_CLASS_CAMERA != 0x009a0000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_CAMERA 0x009a0000 #endif #if defined(V4L2_CTRL_CLASS_FM_TX) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_FM_TX) && HAVE_DECL_V4L2_CTRL_CLASS_FM_TX) - XLAT(V4L2_CTRL_CLASS_FM_TX), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_FM_TX) == (0x009b0000), "V4L2_CTRL_CLASS_FM_TX != 0x009b0000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_FM_TX 0x009b0000 #endif #if defined(V4L2_CTRL_CLASS_FLASH) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_FLASH) && HAVE_DECL_V4L2_CTRL_CLASS_FLASH) - XLAT(V4L2_CTRL_CLASS_FLASH), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_FLASH) == (0x009c0000), "V4L2_CTRL_CLASS_FLASH != 0x009c0000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_FLASH 0x009c0000 #endif #if defined(V4L2_CTRL_CLASS_JPEG) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_JPEG) && HAVE_DECL_V4L2_CTRL_CLASS_JPEG) - XLAT(V4L2_CTRL_CLASS_JPEG), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_JPEG) == (0x009d0000), "V4L2_CTRL_CLASS_JPEG != 0x009d0000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_JPEG 0x009d0000 #endif #if defined(V4L2_CTRL_CLASS_IMAGE_SOURCE) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_IMAGE_SOURCE) && HAVE_DECL_V4L2_CTRL_CLASS_IMAGE_SOURCE) - XLAT(V4L2_CTRL_CLASS_IMAGE_SOURCE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_IMAGE_SOURCE) == (0x009e0000), "V4L2_CTRL_CLASS_IMAGE_SOURCE != 0x009e0000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_IMAGE_SOURCE 0x009e0000 #endif #if defined(V4L2_CTRL_CLASS_IMAGE_PROC) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_IMAGE_PROC) && HAVE_DECL_V4L2_CTRL_CLASS_IMAGE_PROC) - XLAT(V4L2_CTRL_CLASS_IMAGE_PROC), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_IMAGE_PROC) == (0x009f0000), "V4L2_CTRL_CLASS_IMAGE_PROC != 0x009f0000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_IMAGE_PROC 0x009f0000 +#endif +#if defined(V4L2_CTRL_CLASS_DV) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_DV) && HAVE_DECL_V4L2_CTRL_CLASS_DV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_DV) == (0x00a00000), "V4L2_CTRL_CLASS_DV != 0x00a00000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_DV 0x00a00000 #endif #if defined(V4L2_CTRL_CLASS_FM_RX) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_FM_RX) && HAVE_DECL_V4L2_CTRL_CLASS_FM_RX) - XLAT(V4L2_CTRL_CLASS_FM_RX), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_FM_RX) == (0x00a10000), "V4L2_CTRL_CLASS_FM_RX != 0x00a10000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_FM_RX 0x00a10000 +#endif +#if defined(V4L2_CTRL_CLASS_RF_TUNER) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_RF_TUNER) && HAVE_DECL_V4L2_CTRL_CLASS_RF_TUNER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_RF_TUNER) == (0x00a20000), "V4L2_CTRL_CLASS_RF_TUNER != 0x00a20000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 +#endif +#if defined(V4L2_CTRL_CLASS_DETECT) || (defined(HAVE_DECL_V4L2_CTRL_CLASS_DETECT) && HAVE_DECL_V4L2_CTRL_CLASS_DETECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CTRL_CLASS_DETECT) == (0x00a30000), "V4L2_CTRL_CLASS_DETECT != 0x00a30000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CTRL_CLASS_DETECT 0x00a30000 #endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +extern const struct xlat v4l2_control_classes[]; + +# else + +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +static +# endif +const struct xlat v4l2_control_classes[] = { + + XLAT(V4L2_CTRL_CLASS_USER), + XLAT(V4L2_CTRL_CLASS_MPEG), + XLAT(V4L2_CTRL_CLASS_CAMERA), + XLAT(V4L2_CTRL_CLASS_FM_TX), + XLAT(V4L2_CTRL_CLASS_FLASH), + XLAT(V4L2_CTRL_CLASS_JPEG), + XLAT(V4L2_CTRL_CLASS_IMAGE_SOURCE), + XLAT(V4L2_CTRL_CLASS_IMAGE_PROC), + XLAT(V4L2_CTRL_CLASS_DV), + XLAT(V4L2_CTRL_CLASS_FM_RX), + XLAT(V4L2_CTRL_CLASS_RF_TUNER), + XLAT(V4L2_CTRL_CLASS_DETECT), XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_control_classes.in b/xlat/v4l2_control_classes.in index 5666a06b..adbf88e2 100644 --- a/xlat/v4l2_control_classes.in +++ b/xlat/v4l2_control_classes.in @@ -1,9 +1,13 @@ -V4L2_CTRL_CLASS_USER -V4L2_CTRL_CLASS_MPEG -V4L2_CTRL_CLASS_CAMERA -V4L2_CTRL_CLASS_FM_TX -V4L2_CTRL_CLASS_FLASH -V4L2_CTRL_CLASS_JPEG -V4L2_CTRL_CLASS_IMAGE_SOURCE -V4L2_CTRL_CLASS_IMAGE_PROC -V4L2_CTRL_CLASS_FM_RX +/* sort -k2,2 */ +V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */ +V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ +V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ +V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator controls */ +V4L2_CTRL_CLASS_FLASH 0x009c0000 /* Camera flash controls */ +V4L2_CTRL_CLASS_JPEG 0x009d0000 /* JPEG-compression controls */ +V4L2_CTRL_CLASS_IMAGE_SOURCE 0x009e0000 /* Image source controls */ +V4L2_CTRL_CLASS_IMAGE_PROC 0x009f0000 /* Image processing controls */ +V4L2_CTRL_CLASS_DV 0x00a00000 /* Digital Video controls */ +V4L2_CTRL_CLASS_FM_RX 0x00a10000 /* FM Receiver controls */ +V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 /* RF tuner controls */ +V4L2_CTRL_CLASS_DETECT 0x00a30000 /* Detection controls */ diff --git a/xlat/v4l2_control_flags.h b/xlat/v4l2_control_flags.h index f541971d..00c6157a 100644 --- a/xlat/v4l2_control_flags.h +++ b/xlat/v4l2_control_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_control_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_control_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_control_flags[] = { #if defined(V4L2_CTRL_FLAG_DISABLED) || (defined(HAVE_DECL_V4L2_CTRL_FLAG_DISABLED) && HAVE_DECL_V4L2_CTRL_FLAG_DISABLED) XLAT(V4L2_CTRL_FLAG_DISABLED), @@ -46,4 +52,6 @@ const struct xlat v4l2_control_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_control_id_bases.h b/xlat/v4l2_control_id_bases.h new file mode 100644 index 00000000..e668d941 --- /dev/null +++ b/xlat/v4l2_control_id_bases.h @@ -0,0 +1,168 @@ +/* Generated by ./xlat/gen.sh from ./xlat/v4l2_control_id_bases.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(V4L2_CID_BASE) || (defined(HAVE_DECL_V4L2_CID_BASE) && HAVE_DECL_V4L2_CID_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_BASE) == ((V4L2_CTRL_CLASS_USER | 0x900)), "V4L2_CID_BASE != (V4L2_CTRL_CLASS_USER | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900) +#endif +#if defined(V4L2_CID_USER_MEYE_BASE) || (defined(HAVE_DECL_V4L2_CID_USER_MEYE_BASE) && HAVE_DECL_V4L2_CID_USER_MEYE_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_USER_MEYE_BASE) == ((V4L2_CID_BASE + 0x1000)), "V4L2_CID_USER_MEYE_BASE != (V4L2_CID_BASE + 0x1000)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_USER_MEYE_BASE (V4L2_CID_BASE + 0x1000) +#endif +#if defined(V4L2_CID_USER_BTTV_BASE) || (defined(HAVE_DECL_V4L2_CID_USER_BTTV_BASE) && HAVE_DECL_V4L2_CID_USER_BTTV_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_USER_BTTV_BASE) == ((V4L2_CID_BASE + 0x1010)), "V4L2_CID_USER_BTTV_BASE != (V4L2_CID_BASE + 0x1010)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_USER_BTTV_BASE (V4L2_CID_BASE + 0x1010) +#endif +#if defined(V4L2_CID_USER_TI_VPE_BASE) || (defined(HAVE_DECL_V4L2_CID_USER_TI_VPE_BASE) && HAVE_DECL_V4L2_CID_USER_TI_VPE_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_USER_TI_VPE_BASE) == ((V4L2_CID_BASE + 0x1050)), "V4L2_CID_USER_TI_VPE_BASE != (V4L2_CID_BASE + 0x1050)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050) +#endif +#if defined(V4L2_CID_USER_IMX_BASE) || (defined(HAVE_DECL_V4L2_CID_USER_IMX_BASE) && HAVE_DECL_V4L2_CID_USER_IMX_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x1090)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x1090)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090) +#endif +#if defined(V4L2_CID_MPEG_BASE) || (defined(HAVE_DECL_V4L2_CID_MPEG_BASE) && HAVE_DECL_V4L2_CID_MPEG_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_BASE) == ((V4L2_CTRL_CLASS_MPEG | 0x900)), "V4L2_CID_MPEG_BASE != (V4L2_CTRL_CLASS_MPEG | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_BASE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_BASE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_BASE) == ((V4L2_CTRL_CLASS_MPEG | 0x1000)), "V4L2_CID_MPEG_CX2341X_BASE != (V4L2_CTRL_CLASS_MPEG | 0x1000)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) +#endif +#if defined(V4L2_CID_MPEG_MFC51_BASE) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_BASE) && HAVE_DECL_V4L2_CID_MPEG_MFC51_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_BASE) == ((V4L2_CTRL_CLASS_MPEG | 0x1100)), "V4L2_CID_MPEG_MFC51_BASE != (V4L2_CTRL_CLASS_MPEG | 0x1100)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100) +#endif +#if defined(V4L2_CID_CAMERA_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_CAMERA_CLASS_BASE) && HAVE_DECL_V4L2_CID_CAMERA_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_CAMERA_CLASS_BASE) == ((V4L2_CTRL_CLASS_CAMERA | 0x900)), "V4L2_CID_CAMERA_CLASS_BASE != (V4L2_CTRL_CLASS_CAMERA | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) +#endif +#if defined(V4L2_CID_FM_TX_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_FM_TX_CLASS_BASE) && HAVE_DECL_V4L2_CID_FM_TX_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FM_TX_CLASS_BASE) == ((V4L2_CTRL_CLASS_FM_TX | 0x900)), "V4L2_CID_FM_TX_CLASS_BASE != (V4L2_CTRL_CLASS_FM_TX | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900) +#endif +#if defined(V4L2_CID_FLASH_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_FLASH_CLASS_BASE) && HAVE_DECL_V4L2_CID_FLASH_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_CLASS_BASE) == ((V4L2_CTRL_CLASS_FLASH | 0x900)), "V4L2_CID_FLASH_CLASS_BASE != (V4L2_CTRL_CLASS_FLASH | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_CLASS_BASE (V4L2_CTRL_CLASS_FLASH | 0x900) +#endif +#if defined(V4L2_CID_JPEG_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_JPEG_CLASS_BASE) && HAVE_DECL_V4L2_CID_JPEG_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_JPEG_CLASS_BASE) == ((V4L2_CTRL_CLASS_JPEG | 0x900)), "V4L2_CID_JPEG_CLASS_BASE != (V4L2_CTRL_CLASS_JPEG | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_JPEG_CLASS_BASE (V4L2_CTRL_CLASS_JPEG | 0x900) +#endif +#if defined(V4L2_CID_IMAGE_SOURCE_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_IMAGE_SOURCE_CLASS_BASE) && HAVE_DECL_V4L2_CID_IMAGE_SOURCE_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_IMAGE_SOURCE_CLASS_BASE) == ((V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900)), "V4L2_CID_IMAGE_SOURCE_CLASS_BASE != (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900) +#endif +#if defined(V4L2_CID_IMAGE_PROC_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_IMAGE_PROC_CLASS_BASE) && HAVE_DECL_V4L2_CID_IMAGE_PROC_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_IMAGE_PROC_CLASS_BASE) == ((V4L2_CTRL_CLASS_IMAGE_PROC | 0x900)), "V4L2_CID_IMAGE_PROC_CLASS_BASE != (V4L2_CTRL_CLASS_IMAGE_PROC | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_IMAGE_PROC_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_PROC | 0x900) +#endif +#if defined(V4L2_CID_DV_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_DV_CLASS_BASE) && HAVE_DECL_V4L2_CID_DV_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DV_CLASS_BASE) == ((V4L2_CTRL_CLASS_DV | 0x900)), "V4L2_CID_DV_CLASS_BASE != (V4L2_CTRL_CLASS_DV | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900) +#endif +#if defined(V4L2_CID_FM_RX_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_FM_RX_CLASS_BASE) && HAVE_DECL_V4L2_CID_FM_RX_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FM_RX_CLASS_BASE) == ((V4L2_CTRL_CLASS_FM_RX | 0x900)), "V4L2_CID_FM_RX_CLASS_BASE != (V4L2_CTRL_CLASS_FM_RX | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FM_RX_CLASS_BASE (V4L2_CTRL_CLASS_FM_RX | 0x900) +#endif +#if defined(V4L2_CID_RF_TUNER_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_CLASS_BASE) && HAVE_DECL_V4L2_CID_RF_TUNER_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_CLASS_BASE) == ((V4L2_CTRL_CLASS_RF_TUNER | 0x900)), "V4L2_CID_RF_TUNER_CLASS_BASE != (V4L2_CTRL_CLASS_RF_TUNER | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_CLASS_BASE (V4L2_CTRL_CLASS_RF_TUNER | 0x900) +#endif +#if defined(V4L2_CID_DETECT_CLASS_BASE) || (defined(HAVE_DECL_V4L2_CID_DETECT_CLASS_BASE) && HAVE_DECL_V4L2_CID_DETECT_CLASS_BASE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DETECT_CLASS_BASE) == ((V4L2_CTRL_CLASS_DETECT | 0x900)), "V4L2_CID_DETECT_CLASS_BASE != (V4L2_CTRL_CLASS_DETECT | 0x900)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DETECT_CLASS_BASE (V4L2_CTRL_CLASS_DETECT | 0x900) +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +extern const struct xlat v4l2_control_id_bases[]; + +# else + +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +static +# endif +const struct xlat v4l2_control_id_bases[] = { + XLAT(V4L2_CID_BASE), + XLAT(V4L2_CID_USER_MEYE_BASE), + XLAT(V4L2_CID_USER_BTTV_BASE), + XLAT(V4L2_CID_USER_TI_VPE_BASE), + XLAT(V4L2_CID_USER_IMX_BASE), + XLAT(V4L2_CID_MPEG_BASE), + XLAT(V4L2_CID_MPEG_CX2341X_BASE), + XLAT(V4L2_CID_MPEG_MFC51_BASE), + XLAT(V4L2_CID_CAMERA_CLASS_BASE), + XLAT(V4L2_CID_FM_TX_CLASS_BASE), + XLAT(V4L2_CID_FLASH_CLASS_BASE), + XLAT(V4L2_CID_JPEG_CLASS_BASE), + XLAT(V4L2_CID_IMAGE_SOURCE_CLASS_BASE), + XLAT(V4L2_CID_IMAGE_PROC_CLASS_BASE), + XLAT(V4L2_CID_DV_CLASS_BASE), + XLAT(V4L2_CID_FM_RX_CLASS_BASE), + XLAT(V4L2_CID_RF_TUNER_CLASS_BASE), + XLAT(V4L2_CID_DETECT_CLASS_BASE), + XLAT_END +}; + +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_control_id_bases.in b/xlat/v4l2_control_id_bases.in new file mode 100644 index 00000000..a0359be9 --- /dev/null +++ b/xlat/v4l2_control_id_bases.in @@ -0,0 +1,18 @@ +V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900) +V4L2_CID_USER_MEYE_BASE (V4L2_CID_BASE + 0x1000) +V4L2_CID_USER_BTTV_BASE (V4L2_CID_BASE + 0x1010) +V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050) +V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090) +V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) +V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) +V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100) +V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) +V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900) +V4L2_CID_FLASH_CLASS_BASE (V4L2_CTRL_CLASS_FLASH | 0x900) +V4L2_CID_JPEG_CLASS_BASE (V4L2_CTRL_CLASS_JPEG | 0x900) +V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900) +V4L2_CID_IMAGE_PROC_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_PROC | 0x900) +V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900) +V4L2_CID_FM_RX_CLASS_BASE (V4L2_CTRL_CLASS_FM_RX | 0x900) +V4L2_CID_RF_TUNER_CLASS_BASE (V4L2_CTRL_CLASS_RF_TUNER | 0x900) +V4L2_CID_DETECT_CLASS_BASE (V4L2_CTRL_CLASS_DETECT | 0x900) diff --git a/xlat/v4l2_control_ids.h b/xlat/v4l2_control_ids.h index ae371f84..2b73d34d 100644 --- a/xlat/v4l2_control_ids.h +++ b/xlat/v4l2_control_ids.h @@ -1,243 +1,2704 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_control_ids.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -extern const struct xlat v4l2_control_ids[]; - -#else - -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) -static -# endif -const struct xlat v4l2_control_ids[] = { - XLAT(0), #if defined(V4L2_CID_BRIGHTNESS) || (defined(HAVE_DECL_V4L2_CID_BRIGHTNESS) && HAVE_DECL_V4L2_CID_BRIGHTNESS) - XLAT(V4L2_CID_BRIGHTNESS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_BRIGHTNESS) == ((V4L2_CID_BASE+0)), "V4L2_CID_BRIGHTNESS != (V4L2_CID_BASE+0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_BRIGHTNESS (V4L2_CID_BASE+0) #endif #if defined(V4L2_CID_CONTRAST) || (defined(HAVE_DECL_V4L2_CID_CONTRAST) && HAVE_DECL_V4L2_CID_CONTRAST) - XLAT(V4L2_CID_CONTRAST), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_CONTRAST) == ((V4L2_CID_BASE+1)), "V4L2_CID_CONTRAST != (V4L2_CID_BASE+1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_CONTRAST (V4L2_CID_BASE+1) #endif #if defined(V4L2_CID_SATURATION) || (defined(HAVE_DECL_V4L2_CID_SATURATION) && HAVE_DECL_V4L2_CID_SATURATION) - XLAT(V4L2_CID_SATURATION), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_SATURATION) == ((V4L2_CID_BASE+2)), "V4L2_CID_SATURATION != (V4L2_CID_BASE+2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_SATURATION (V4L2_CID_BASE+2) #endif #if defined(V4L2_CID_HUE) || (defined(HAVE_DECL_V4L2_CID_HUE) && HAVE_DECL_V4L2_CID_HUE) - XLAT(V4L2_CID_HUE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_HUE) == ((V4L2_CID_BASE+3)), "V4L2_CID_HUE != (V4L2_CID_BASE+3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_HUE (V4L2_CID_BASE+3) #endif #if defined(V4L2_CID_AUDIO_VOLUME) || (defined(HAVE_DECL_V4L2_CID_AUDIO_VOLUME) && HAVE_DECL_V4L2_CID_AUDIO_VOLUME) - XLAT(V4L2_CID_AUDIO_VOLUME), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_VOLUME) == ((V4L2_CID_BASE+5)), "V4L2_CID_AUDIO_VOLUME != (V4L2_CID_BASE+5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_VOLUME (V4L2_CID_BASE+5) #endif #if defined(V4L2_CID_AUDIO_BALANCE) || (defined(HAVE_DECL_V4L2_CID_AUDIO_BALANCE) && HAVE_DECL_V4L2_CID_AUDIO_BALANCE) - XLAT(V4L2_CID_AUDIO_BALANCE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_BALANCE) == ((V4L2_CID_BASE+6)), "V4L2_CID_AUDIO_BALANCE != (V4L2_CID_BASE+6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_BALANCE (V4L2_CID_BASE+6) #endif #if defined(V4L2_CID_AUDIO_BASS) || (defined(HAVE_DECL_V4L2_CID_AUDIO_BASS) && HAVE_DECL_V4L2_CID_AUDIO_BASS) - XLAT(V4L2_CID_AUDIO_BASS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_BASS) == ((V4L2_CID_BASE+7)), "V4L2_CID_AUDIO_BASS != (V4L2_CID_BASE+7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_BASS (V4L2_CID_BASE+7) #endif #if defined(V4L2_CID_AUDIO_TREBLE) || (defined(HAVE_DECL_V4L2_CID_AUDIO_TREBLE) && HAVE_DECL_V4L2_CID_AUDIO_TREBLE) - XLAT(V4L2_CID_AUDIO_TREBLE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_TREBLE) == ((V4L2_CID_BASE+8)), "V4L2_CID_AUDIO_TREBLE != (V4L2_CID_BASE+8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8) #endif #if defined(V4L2_CID_AUDIO_MUTE) || (defined(HAVE_DECL_V4L2_CID_AUDIO_MUTE) && HAVE_DECL_V4L2_CID_AUDIO_MUTE) - XLAT(V4L2_CID_AUDIO_MUTE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_MUTE) == ((V4L2_CID_BASE+9)), "V4L2_CID_AUDIO_MUTE != (V4L2_CID_BASE+9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9) #endif #if defined(V4L2_CID_AUDIO_LOUDNESS) || (defined(HAVE_DECL_V4L2_CID_AUDIO_LOUDNESS) && HAVE_DECL_V4L2_CID_AUDIO_LOUDNESS) - XLAT(V4L2_CID_AUDIO_LOUDNESS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_LOUDNESS) == ((V4L2_CID_BASE+10)), "V4L2_CID_AUDIO_LOUDNESS != (V4L2_CID_BASE+10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10) #endif #if defined(V4L2_CID_BLACK_LEVEL) || (defined(HAVE_DECL_V4L2_CID_BLACK_LEVEL) && HAVE_DECL_V4L2_CID_BLACK_LEVEL) - XLAT(V4L2_CID_BLACK_LEVEL), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_BLACK_LEVEL) == ((V4L2_CID_BASE+11)), "V4L2_CID_BLACK_LEVEL != (V4L2_CID_BASE+11)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11) #endif #if defined(V4L2_CID_AUTO_WHITE_BALANCE) || (defined(HAVE_DECL_V4L2_CID_AUTO_WHITE_BALANCE) && HAVE_DECL_V4L2_CID_AUTO_WHITE_BALANCE) - XLAT(V4L2_CID_AUTO_WHITE_BALANCE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUTO_WHITE_BALANCE) == ((V4L2_CID_BASE+12)), "V4L2_CID_AUTO_WHITE_BALANCE != (V4L2_CID_BASE+12)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12) #endif #if defined(V4L2_CID_DO_WHITE_BALANCE) || (defined(HAVE_DECL_V4L2_CID_DO_WHITE_BALANCE) && HAVE_DECL_V4L2_CID_DO_WHITE_BALANCE) - XLAT(V4L2_CID_DO_WHITE_BALANCE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DO_WHITE_BALANCE) == ((V4L2_CID_BASE+13)), "V4L2_CID_DO_WHITE_BALANCE != (V4L2_CID_BASE+13)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13) #endif #if defined(V4L2_CID_RED_BALANCE) || (defined(HAVE_DECL_V4L2_CID_RED_BALANCE) && HAVE_DECL_V4L2_CID_RED_BALANCE) - XLAT(V4L2_CID_RED_BALANCE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RED_BALANCE) == ((V4L2_CID_BASE+14)), "V4L2_CID_RED_BALANCE != (V4L2_CID_BASE+14)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14) #endif #if defined(V4L2_CID_BLUE_BALANCE) || (defined(HAVE_DECL_V4L2_CID_BLUE_BALANCE) && HAVE_DECL_V4L2_CID_BLUE_BALANCE) - XLAT(V4L2_CID_BLUE_BALANCE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_BLUE_BALANCE) == ((V4L2_CID_BASE+15)), "V4L2_CID_BLUE_BALANCE != (V4L2_CID_BASE+15)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15) #endif #if defined(V4L2_CID_GAMMA) || (defined(HAVE_DECL_V4L2_CID_GAMMA) && HAVE_DECL_V4L2_CID_GAMMA) - XLAT(V4L2_CID_GAMMA), -#endif -#if defined(V4L2_CID_WHITENESS) || (defined(HAVE_DECL_V4L2_CID_WHITENESS) && HAVE_DECL_V4L2_CID_WHITENESS) - XLAT(V4L2_CID_WHITENESS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_GAMMA) == ((V4L2_CID_BASE+16)), "V4L2_CID_GAMMA != (V4L2_CID_BASE+16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_GAMMA (V4L2_CID_BASE+16) #endif #if defined(V4L2_CID_EXPOSURE) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE) && HAVE_DECL_V4L2_CID_EXPOSURE) - XLAT(V4L2_CID_EXPOSURE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_EXPOSURE) == ((V4L2_CID_BASE+17)), "V4L2_CID_EXPOSURE != (V4L2_CID_BASE+17)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_EXPOSURE (V4L2_CID_BASE+17) #endif #if defined(V4L2_CID_AUTOGAIN) || (defined(HAVE_DECL_V4L2_CID_AUTOGAIN) && HAVE_DECL_V4L2_CID_AUTOGAIN) - XLAT(V4L2_CID_AUTOGAIN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUTOGAIN) == ((V4L2_CID_BASE+18)), "V4L2_CID_AUTOGAIN != (V4L2_CID_BASE+18)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18) #endif #if defined(V4L2_CID_GAIN) || (defined(HAVE_DECL_V4L2_CID_GAIN) && HAVE_DECL_V4L2_CID_GAIN) - XLAT(V4L2_CID_GAIN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_GAIN) == ((V4L2_CID_BASE+19)), "V4L2_CID_GAIN != (V4L2_CID_BASE+19)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_GAIN (V4L2_CID_BASE+19) #endif #if defined(V4L2_CID_HFLIP) || (defined(HAVE_DECL_V4L2_CID_HFLIP) && HAVE_DECL_V4L2_CID_HFLIP) - XLAT(V4L2_CID_HFLIP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_HFLIP) == ((V4L2_CID_BASE+20)), "V4L2_CID_HFLIP != (V4L2_CID_BASE+20)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_HFLIP (V4L2_CID_BASE+20) #endif #if defined(V4L2_CID_VFLIP) || (defined(HAVE_DECL_V4L2_CID_VFLIP) && HAVE_DECL_V4L2_CID_VFLIP) - XLAT(V4L2_CID_VFLIP), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_VFLIP) == ((V4L2_CID_BASE+21)), "V4L2_CID_VFLIP != (V4L2_CID_BASE+21)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_VFLIP (V4L2_CID_BASE+21) #endif #if defined(V4L2_CID_HCENTER) || (defined(HAVE_DECL_V4L2_CID_HCENTER) && HAVE_DECL_V4L2_CID_HCENTER) - XLAT(V4L2_CID_HCENTER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_HCENTER) == ((V4L2_CID_BASE+22)), "V4L2_CID_HCENTER != (V4L2_CID_BASE+22)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_HCENTER (V4L2_CID_BASE+22) #endif #if defined(V4L2_CID_VCENTER) || (defined(HAVE_DECL_V4L2_CID_VCENTER) && HAVE_DECL_V4L2_CID_VCENTER) - XLAT(V4L2_CID_VCENTER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_VCENTER) == ((V4L2_CID_BASE+23)), "V4L2_CID_VCENTER != (V4L2_CID_BASE+23)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_VCENTER (V4L2_CID_BASE+23) #endif #if defined(V4L2_CID_POWER_LINE_FREQUENCY) || (defined(HAVE_DECL_V4L2_CID_POWER_LINE_FREQUENCY) && HAVE_DECL_V4L2_CID_POWER_LINE_FREQUENCY) - XLAT(V4L2_CID_POWER_LINE_FREQUENCY), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_POWER_LINE_FREQUENCY) == ((V4L2_CID_BASE+24)), "V4L2_CID_POWER_LINE_FREQUENCY != (V4L2_CID_BASE+24)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24) #endif #if defined(V4L2_CID_HUE_AUTO) || (defined(HAVE_DECL_V4L2_CID_HUE_AUTO) && HAVE_DECL_V4L2_CID_HUE_AUTO) - XLAT(V4L2_CID_HUE_AUTO), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_HUE_AUTO) == ((V4L2_CID_BASE+25)), "V4L2_CID_HUE_AUTO != (V4L2_CID_BASE+25)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25) #endif #if defined(V4L2_CID_WHITE_BALANCE_TEMPERATURE) || (defined(HAVE_DECL_V4L2_CID_WHITE_BALANCE_TEMPERATURE) && HAVE_DECL_V4L2_CID_WHITE_BALANCE_TEMPERATURE) - XLAT(V4L2_CID_WHITE_BALANCE_TEMPERATURE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_WHITE_BALANCE_TEMPERATURE) == ((V4L2_CID_BASE+26)), "V4L2_CID_WHITE_BALANCE_TEMPERATURE != (V4L2_CID_BASE+26)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26) #endif #if defined(V4L2_CID_SHARPNESS) || (defined(HAVE_DECL_V4L2_CID_SHARPNESS) && HAVE_DECL_V4L2_CID_SHARPNESS) - XLAT(V4L2_CID_SHARPNESS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_SHARPNESS) == ((V4L2_CID_BASE+27)), "V4L2_CID_SHARPNESS != (V4L2_CID_BASE+27)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_SHARPNESS (V4L2_CID_BASE+27) #endif #if defined(V4L2_CID_BACKLIGHT_COMPENSATION) || (defined(HAVE_DECL_V4L2_CID_BACKLIGHT_COMPENSATION) && HAVE_DECL_V4L2_CID_BACKLIGHT_COMPENSATION) - XLAT(V4L2_CID_BACKLIGHT_COMPENSATION), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_BACKLIGHT_COMPENSATION) == ((V4L2_CID_BASE+28)), "V4L2_CID_BACKLIGHT_COMPENSATION != (V4L2_CID_BASE+28)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28) #endif #if defined(V4L2_CID_CHROMA_AGC) || (defined(HAVE_DECL_V4L2_CID_CHROMA_AGC) && HAVE_DECL_V4L2_CID_CHROMA_AGC) - XLAT(V4L2_CID_CHROMA_AGC), -#endif -#if defined(V4L2_CID_CHROMA_GAIN) || (defined(HAVE_DECL_V4L2_CID_CHROMA_GAIN) && HAVE_DECL_V4L2_CID_CHROMA_GAIN) - XLAT(V4L2_CID_CHROMA_GAIN), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_CHROMA_AGC) == ((V4L2_CID_BASE+29)), "V4L2_CID_CHROMA_AGC != (V4L2_CID_BASE+29)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29) #endif #if defined(V4L2_CID_COLOR_KILLER) || (defined(HAVE_DECL_V4L2_CID_COLOR_KILLER) && HAVE_DECL_V4L2_CID_COLOR_KILLER) - XLAT(V4L2_CID_COLOR_KILLER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_COLOR_KILLER) == ((V4L2_CID_BASE+30)), "V4L2_CID_COLOR_KILLER != (V4L2_CID_BASE+30)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30) #endif #if defined(V4L2_CID_COLORFX) || (defined(HAVE_DECL_V4L2_CID_COLORFX) && HAVE_DECL_V4L2_CID_COLORFX) - XLAT(V4L2_CID_COLORFX), -#endif -#if defined(V4L2_CID_COLORFX_CBCR) || (defined(HAVE_DECL_V4L2_CID_COLORFX_CBCR) && HAVE_DECL_V4L2_CID_COLORFX_CBCR) - XLAT(V4L2_CID_COLORFX_CBCR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_COLORFX) == ((V4L2_CID_BASE+31)), "V4L2_CID_COLORFX != (V4L2_CID_BASE+31)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_COLORFX (V4L2_CID_BASE+31) #endif #if defined(V4L2_CID_AUTOBRIGHTNESS) || (defined(HAVE_DECL_V4L2_CID_AUTOBRIGHTNESS) && HAVE_DECL_V4L2_CID_AUTOBRIGHTNESS) - XLAT(V4L2_CID_AUTOBRIGHTNESS), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUTOBRIGHTNESS) == ((V4L2_CID_BASE+32)), "V4L2_CID_AUTOBRIGHTNESS != (V4L2_CID_BASE+32)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32) #endif #if defined(V4L2_CID_BAND_STOP_FILTER) || (defined(HAVE_DECL_V4L2_CID_BAND_STOP_FILTER) && HAVE_DECL_V4L2_CID_BAND_STOP_FILTER) - XLAT(V4L2_CID_BAND_STOP_FILTER), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_BAND_STOP_FILTER) == ((V4L2_CID_BASE+33)), "V4L2_CID_BAND_STOP_FILTER != (V4L2_CID_BASE+33)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33) #endif #if defined(V4L2_CID_ROTATE) || (defined(HAVE_DECL_V4L2_CID_ROTATE) && HAVE_DECL_V4L2_CID_ROTATE) - XLAT(V4L2_CID_ROTATE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ROTATE) == ((V4L2_CID_BASE+34)), "V4L2_CID_ROTATE != (V4L2_CID_BASE+34)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ROTATE (V4L2_CID_BASE+34) #endif #if defined(V4L2_CID_BG_COLOR) || (defined(HAVE_DECL_V4L2_CID_BG_COLOR) && HAVE_DECL_V4L2_CID_BG_COLOR) - XLAT(V4L2_CID_BG_COLOR), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_BG_COLOR) == ((V4L2_CID_BASE+35)), "V4L2_CID_BG_COLOR != (V4L2_CID_BASE+35)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_BG_COLOR (V4L2_CID_BASE+35) +#endif +#if defined(V4L2_CID_CHROMA_GAIN) || (defined(HAVE_DECL_V4L2_CID_CHROMA_GAIN) && HAVE_DECL_V4L2_CID_CHROMA_GAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_CHROMA_GAIN) == ((V4L2_CID_BASE+36)), "V4L2_CID_CHROMA_GAIN != (V4L2_CID_BASE+36)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_CHROMA_GAIN (V4L2_CID_BASE+36) #endif #if defined(V4L2_CID_ILLUMINATORS_1) || (defined(HAVE_DECL_V4L2_CID_ILLUMINATORS_1) && HAVE_DECL_V4L2_CID_ILLUMINATORS_1) - XLAT(V4L2_CID_ILLUMINATORS_1), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ILLUMINATORS_1) == ((V4L2_CID_BASE+37)), "V4L2_CID_ILLUMINATORS_1 != (V4L2_CID_BASE+37)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37) #endif #if defined(V4L2_CID_ILLUMINATORS_2) || (defined(HAVE_DECL_V4L2_CID_ILLUMINATORS_2) && HAVE_DECL_V4L2_CID_ILLUMINATORS_2) - XLAT(V4L2_CID_ILLUMINATORS_2), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ILLUMINATORS_2) == ((V4L2_CID_BASE+38)), "V4L2_CID_ILLUMINATORS_2 != (V4L2_CID_BASE+38)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38) #endif #if defined(V4L2_CID_MIN_BUFFERS_FOR_CAPTURE) || (defined(HAVE_DECL_V4L2_CID_MIN_BUFFERS_FOR_CAPTURE) && HAVE_DECL_V4L2_CID_MIN_BUFFERS_FOR_CAPTURE) - XLAT(V4L2_CID_MIN_BUFFERS_FOR_CAPTURE), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MIN_BUFFERS_FOR_CAPTURE) == ((V4L2_CID_BASE+39)), "V4L2_CID_MIN_BUFFERS_FOR_CAPTURE != (V4L2_CID_BASE+39)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39) #endif #if defined(V4L2_CID_MIN_BUFFERS_FOR_OUTPUT) || (defined(HAVE_DECL_V4L2_CID_MIN_BUFFERS_FOR_OUTPUT) && HAVE_DECL_V4L2_CID_MIN_BUFFERS_FOR_OUTPUT) - XLAT(V4L2_CID_MIN_BUFFERS_FOR_OUTPUT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MIN_BUFFERS_FOR_OUTPUT) == ((V4L2_CID_BASE+40)), "V4L2_CID_MIN_BUFFERS_FOR_OUTPUT != (V4L2_CID_BASE+40)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40) #endif #if defined(V4L2_CID_ALPHA_COMPONENT) || (defined(HAVE_DECL_V4L2_CID_ALPHA_COMPONENT) && HAVE_DECL_V4L2_CID_ALPHA_COMPONENT) - XLAT(V4L2_CID_ALPHA_COMPONENT), +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ALPHA_COMPONENT) == ((V4L2_CID_BASE+41)), "V4L2_CID_ALPHA_COMPONENT != (V4L2_CID_BASE+41)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ALPHA_COMPONENT (V4L2_CID_BASE+41) #endif - -#if defined(V4L2_CID_EXPOSURE_AUTO) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_AUTO) && HAVE_DECL_V4L2_CID_EXPOSURE_AUTO) - XLAT(V4L2_CID_EXPOSURE_AUTO), +#if defined(V4L2_CID_COLORFX_CBCR) || (defined(HAVE_DECL_V4L2_CID_COLORFX_CBCR) && HAVE_DECL_V4L2_CID_COLORFX_CBCR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_COLORFX_CBCR) == ((V4L2_CID_BASE+42)), "V4L2_CID_COLORFX_CBCR != (V4L2_CID_BASE+42)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_COLORFX_CBCR (V4L2_CID_BASE+42) #endif -#if defined(V4L2_CID_EXPOSURE_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_ABSOLUTE) && HAVE_DECL_V4L2_CID_EXPOSURE_ABSOLUTE) - XLAT(V4L2_CID_EXPOSURE_ABSOLUTE), +#if defined(V4L2_CID_MPEG_STREAM_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_TYPE) && HAVE_DECL_V4L2_CID_MPEG_STREAM_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_STREAM_TYPE) == ((V4L2_CID_MPEG_BASE+0)), "V4L2_CID_MPEG_STREAM_TYPE != (V4L2_CID_MPEG_BASE+0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0) #endif -#if defined(V4L2_CID_EXPOSURE_AUTO_PRIORITY) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_AUTO_PRIORITY) && HAVE_DECL_V4L2_CID_EXPOSURE_AUTO_PRIORITY) - XLAT(V4L2_CID_EXPOSURE_AUTO_PRIORITY), +#if defined(V4L2_CID_MPEG_STREAM_PID_PMT) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_PMT) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_PMT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_STREAM_PID_PMT) == ((V4L2_CID_MPEG_BASE+1)), "V4L2_CID_MPEG_STREAM_PID_PMT != (V4L2_CID_MPEG_BASE+1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1) #endif -#if defined(V4L2_CID_PAN_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_PAN_RELATIVE) && HAVE_DECL_V4L2_CID_PAN_RELATIVE) - XLAT(V4L2_CID_PAN_RELATIVE), +#if defined(V4L2_CID_MPEG_STREAM_PID_AUDIO) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_AUDIO) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_AUDIO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_STREAM_PID_AUDIO) == ((V4L2_CID_MPEG_BASE+2)), "V4L2_CID_MPEG_STREAM_PID_AUDIO != (V4L2_CID_MPEG_BASE+2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2) #endif -#if defined(V4L2_CID_TILT_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_TILT_RELATIVE) && HAVE_DECL_V4L2_CID_TILT_RELATIVE) - XLAT(V4L2_CID_TILT_RELATIVE), +#if defined(V4L2_CID_MPEG_STREAM_PID_VIDEO) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_VIDEO) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_VIDEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_STREAM_PID_VIDEO) == ((V4L2_CID_MPEG_BASE+3)), "V4L2_CID_MPEG_STREAM_PID_VIDEO != (V4L2_CID_MPEG_BASE+3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_MPEG_BASE+3) #endif -#if defined(V4L2_CID_PAN_RESET) || (defined(HAVE_DECL_V4L2_CID_PAN_RESET) && HAVE_DECL_V4L2_CID_PAN_RESET) - XLAT(V4L2_CID_PAN_RESET), +#if defined(V4L2_CID_MPEG_STREAM_PID_PCR) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_PCR) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PID_PCR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_STREAM_PID_PCR) == ((V4L2_CID_MPEG_BASE+4)), "V4L2_CID_MPEG_STREAM_PID_PCR != (V4L2_CID_MPEG_BASE+4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_MPEG_BASE+4) #endif -#if defined(V4L2_CID_TILT_RESET) || (defined(HAVE_DECL_V4L2_CID_TILT_RESET) && HAVE_DECL_V4L2_CID_TILT_RESET) - XLAT(V4L2_CID_TILT_RESET), +#if defined(V4L2_CID_MPEG_STREAM_PES_ID_AUDIO) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PES_ID_AUDIO) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PES_ID_AUDIO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_STREAM_PES_ID_AUDIO) == ((V4L2_CID_MPEG_BASE+5)), "V4L2_CID_MPEG_STREAM_PES_ID_AUDIO != (V4L2_CID_MPEG_BASE+5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_MPEG_BASE+5) #endif -#if defined(V4L2_CID_PAN_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_PAN_ABSOLUTE) && HAVE_DECL_V4L2_CID_PAN_ABSOLUTE) - XLAT(V4L2_CID_PAN_ABSOLUTE), +#if defined(V4L2_CID_MPEG_STREAM_PES_ID_VIDEO) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_PES_ID_VIDEO) && HAVE_DECL_V4L2_CID_MPEG_STREAM_PES_ID_VIDEO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_STREAM_PES_ID_VIDEO) == ((V4L2_CID_MPEG_BASE+6)), "V4L2_CID_MPEG_STREAM_PES_ID_VIDEO != (V4L2_CID_MPEG_BASE+6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6) #endif -#if defined(V4L2_CID_TILT_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_TILT_ABSOLUTE) && HAVE_DECL_V4L2_CID_TILT_ABSOLUTE) - XLAT(V4L2_CID_TILT_ABSOLUTE), +#if defined(V4L2_CID_MPEG_STREAM_VBI_FMT) || (defined(HAVE_DECL_V4L2_CID_MPEG_STREAM_VBI_FMT) && HAVE_DECL_V4L2_CID_MPEG_STREAM_VBI_FMT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_STREAM_VBI_FMT) == ((V4L2_CID_MPEG_BASE+7)), "V4L2_CID_MPEG_STREAM_VBI_FMT != (V4L2_CID_MPEG_BASE+7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7) #endif -#if defined(V4L2_CID_FOCUS_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_FOCUS_ABSOLUTE) && HAVE_DECL_V4L2_CID_FOCUS_ABSOLUTE) - XLAT(V4L2_CID_FOCUS_ABSOLUTE), +#if defined(V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ) == ((V4L2_CID_MPEG_BASE+100)), "V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ != (V4L2_CID_MPEG_BASE+100)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100) #endif -#if defined(V4L2_CID_FOCUS_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_FOCUS_RELATIVE) && HAVE_DECL_V4L2_CID_FOCUS_RELATIVE) - XLAT(V4L2_CID_FOCUS_RELATIVE), +#if defined(V4L2_CID_MPEG_AUDIO_ENCODING) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_ENCODING) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_ENCODING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_ENCODING) == ((V4L2_CID_MPEG_BASE+101)), "V4L2_CID_MPEG_AUDIO_ENCODING != (V4L2_CID_MPEG_BASE+101)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101) #endif -#if defined(V4L2_CID_FOCUS_AUTO) || (defined(HAVE_DECL_V4L2_CID_FOCUS_AUTO) && HAVE_DECL_V4L2_CID_FOCUS_AUTO) - XLAT(V4L2_CID_FOCUS_AUTO), +#if defined(V4L2_CID_MPEG_AUDIO_L1_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_L1_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_L1_BITRATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_L1_BITRATE) == ((V4L2_CID_MPEG_BASE+102)), "V4L2_CID_MPEG_AUDIO_L1_BITRATE != (V4L2_CID_MPEG_BASE+102)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102) #endif -#if defined(V4L2_CID_ZOOM_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_ZOOM_ABSOLUTE) && HAVE_DECL_V4L2_CID_ZOOM_ABSOLUTE) - XLAT(V4L2_CID_ZOOM_ABSOLUTE), +#if defined(V4L2_CID_MPEG_AUDIO_L2_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_L2_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_L2_BITRATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_L2_BITRATE) == ((V4L2_CID_MPEG_BASE+103)), "V4L2_CID_MPEG_AUDIO_L2_BITRATE != (V4L2_CID_MPEG_BASE+103)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103) #endif -#if defined(V4L2_CID_ZOOM_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_ZOOM_RELATIVE) && HAVE_DECL_V4L2_CID_ZOOM_RELATIVE) - XLAT(V4L2_CID_ZOOM_RELATIVE), +#if defined(V4L2_CID_MPEG_AUDIO_L3_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_L3_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_L3_BITRATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_L3_BITRATE) == ((V4L2_CID_MPEG_BASE+104)), "V4L2_CID_MPEG_AUDIO_L3_BITRATE != (V4L2_CID_MPEG_BASE+104)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104) #endif -#if defined(V4L2_CID_ZOOM_CONTINUOUS) || (defined(HAVE_DECL_V4L2_CID_ZOOM_CONTINUOUS) && HAVE_DECL_V4L2_CID_ZOOM_CONTINUOUS) - XLAT(V4L2_CID_ZOOM_CONTINUOUS), +#if defined(V4L2_CID_MPEG_AUDIO_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_MODE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_MODE) == ((V4L2_CID_MPEG_BASE+105)), "V4L2_CID_MPEG_AUDIO_MODE != (V4L2_CID_MPEG_BASE+105)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105) #endif -#if defined(V4L2_CID_PRIVACY) || (defined(HAVE_DECL_V4L2_CID_PRIVACY) && HAVE_DECL_V4L2_CID_PRIVACY) - XLAT(V4L2_CID_PRIVACY), +#if defined(V4L2_CID_MPEG_AUDIO_MODE_EXTENSION) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_MODE_EXTENSION) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_MODE_EXTENSION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_MODE_EXTENSION) == ((V4L2_CID_MPEG_BASE+106)), "V4L2_CID_MPEG_AUDIO_MODE_EXTENSION != (V4L2_CID_MPEG_BASE+106)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106) #endif -#if defined(V4L2_CID_IRIS_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_IRIS_ABSOLUTE) && HAVE_DECL_V4L2_CID_IRIS_ABSOLUTE) - XLAT(V4L2_CID_IRIS_ABSOLUTE), +#if defined(V4L2_CID_MPEG_AUDIO_EMPHASIS) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_EMPHASIS) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_EMPHASIS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_EMPHASIS) == ((V4L2_CID_MPEG_BASE+107)), "V4L2_CID_MPEG_AUDIO_EMPHASIS != (V4L2_CID_MPEG_BASE+107)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107) #endif -#if defined(V4L2_CID_IRIS_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_IRIS_RELATIVE) && HAVE_DECL_V4L2_CID_IRIS_RELATIVE) - XLAT(V4L2_CID_IRIS_RELATIVE), +#if defined(V4L2_CID_MPEG_AUDIO_CRC) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_CRC) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_CRC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_CRC) == ((V4L2_CID_MPEG_BASE+108)), "V4L2_CID_MPEG_AUDIO_CRC != (V4L2_CID_MPEG_BASE+108)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108) #endif -#if defined(V4L2_CID_AUTO_EXPOSURE_BIAS) || (defined(HAVE_DECL_V4L2_CID_AUTO_EXPOSURE_BIAS) && HAVE_DECL_V4L2_CID_AUTO_EXPOSURE_BIAS) - XLAT(V4L2_CID_AUTO_EXPOSURE_BIAS), +#if defined(V4L2_CID_MPEG_AUDIO_MUTE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_MUTE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_MUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_MUTE) == ((V4L2_CID_MPEG_BASE+109)), "V4L2_CID_MPEG_AUDIO_MUTE != (V4L2_CID_MPEG_BASE+109)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109) #endif -#if defined(V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) || (defined(HAVE_DECL_V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) && HAVE_DECL_V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) - XLAT(V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE), +#if defined(V4L2_CID_MPEG_AUDIO_AAC_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_AAC_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_AAC_BITRATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_AAC_BITRATE) == ((V4L2_CID_MPEG_BASE+110)), "V4L2_CID_MPEG_AUDIO_AAC_BITRATE != (V4L2_CID_MPEG_BASE+110)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110) #endif -#if defined(V4L2_CID_WIDE_DYNAMIC_RANGE) || (defined(HAVE_DECL_V4L2_CID_WIDE_DYNAMIC_RANGE) && HAVE_DECL_V4L2_CID_WIDE_DYNAMIC_RANGE) - XLAT(V4L2_CID_WIDE_DYNAMIC_RANGE), +#if defined(V4L2_CID_MPEG_AUDIO_AC3_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_AC3_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_AC3_BITRATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_AC3_BITRATE) == ((V4L2_CID_MPEG_BASE+111)), "V4L2_CID_MPEG_AUDIO_AC3_BITRATE != (V4L2_CID_MPEG_BASE+111)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111) #endif -#if defined(V4L2_CID_IMAGE_STABILIZATION) || (defined(HAVE_DECL_V4L2_CID_IMAGE_STABILIZATION) && HAVE_DECL_V4L2_CID_IMAGE_STABILIZATION) - XLAT(V4L2_CID_IMAGE_STABILIZATION), +#if defined(V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK) == ((V4L2_CID_MPEG_BASE+112)), "V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK != (V4L2_CID_MPEG_BASE+112)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_MPEG_BASE+112) #endif -#if defined(V4L2_CID_ISO_SENSITIVITY) || (defined(HAVE_DECL_V4L2_CID_ISO_SENSITIVITY) && HAVE_DECL_V4L2_CID_ISO_SENSITIVITY) - XLAT(V4L2_CID_ISO_SENSITIVITY), +#if defined(V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK) || (defined(HAVE_DECL_V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK) && HAVE_DECL_V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK) == ((V4L2_CID_MPEG_BASE+113)), "V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK != (V4L2_CID_MPEG_BASE+113)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_MPEG_BASE+113) #endif -#if defined(V4L2_CID_ISO_SENSITIVITY_AUTO) || (defined(HAVE_DECL_V4L2_CID_ISO_SENSITIVITY_AUTO) && HAVE_DECL_V4L2_CID_ISO_SENSITIVITY_AUTO) - XLAT(V4L2_CID_ISO_SENSITIVITY_AUTO), +#if defined(V4L2_CID_MPEG_VIDEO_ENCODING) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_ENCODING) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_ENCODING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_ENCODING) == ((V4L2_CID_MPEG_BASE+200)), "V4L2_CID_MPEG_VIDEO_ENCODING != (V4L2_CID_MPEG_BASE+200)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200) #endif -#if defined(V4L2_CID_EXPOSURE_METERING) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_METERING) && HAVE_DECL_V4L2_CID_EXPOSURE_METERING) - XLAT(V4L2_CID_EXPOSURE_METERING), +#if defined(V4L2_CID_MPEG_VIDEO_ASPECT) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_ASPECT) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_ASPECT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_ASPECT) == ((V4L2_CID_MPEG_BASE+201)), "V4L2_CID_MPEG_VIDEO_ASPECT != (V4L2_CID_MPEG_BASE+201)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201) #endif -#if defined(V4L2_CID_SCENE_MODE) || (defined(HAVE_DECL_V4L2_CID_SCENE_MODE) && HAVE_DECL_V4L2_CID_SCENE_MODE) - XLAT(V4L2_CID_SCENE_MODE), +#if defined(V4L2_CID_MPEG_VIDEO_B_FRAMES) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_B_FRAMES) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_B_FRAMES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_B_FRAMES) == ((V4L2_CID_MPEG_BASE+202)), "V4L2_CID_MPEG_VIDEO_B_FRAMES != (V4L2_CID_MPEG_BASE+202)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202) #endif -#if defined(V4L2_CID_3A_LOCK) || (defined(HAVE_DECL_V4L2_CID_3A_LOCK) && HAVE_DECL_V4L2_CID_3A_LOCK) - XLAT(V4L2_CID_3A_LOCK), +#if defined(V4L2_CID_MPEG_VIDEO_GOP_SIZE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_GOP_SIZE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_GOP_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_GOP_SIZE) == ((V4L2_CID_MPEG_BASE+203)), "V4L2_CID_MPEG_VIDEO_GOP_SIZE != (V4L2_CID_MPEG_BASE+203)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203) #endif -#if defined(V4L2_CID_AUTO_FOCUS_START) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_START) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_START) - XLAT(V4L2_CID_AUTO_FOCUS_START), +#if defined(V4L2_CID_MPEG_VIDEO_GOP_CLOSURE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_GOP_CLOSURE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_GOP_CLOSURE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_GOP_CLOSURE) == ((V4L2_CID_MPEG_BASE+204)), "V4L2_CID_MPEG_VIDEO_GOP_CLOSURE != (V4L2_CID_MPEG_BASE+204)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_MPEG_BASE+204) #endif -#if defined(V4L2_CID_AUTO_FOCUS_STOP) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_STOP) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_STOP) - XLAT(V4L2_CID_AUTO_FOCUS_STOP), +#if defined(V4L2_CID_MPEG_VIDEO_PULLDOWN) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_PULLDOWN) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_PULLDOWN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_PULLDOWN) == ((V4L2_CID_MPEG_BASE+205)), "V4L2_CID_MPEG_VIDEO_PULLDOWN != (V4L2_CID_MPEG_BASE+205)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205) #endif -#if defined(V4L2_CID_AUTO_FOCUS_STATUS) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_STATUS) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_STATUS) - XLAT(V4L2_CID_AUTO_FOCUS_STATUS), +#if defined(V4L2_CID_MPEG_VIDEO_BITRATE_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_BITRATE_MODE) == ((V4L2_CID_MPEG_BASE+206)), "V4L2_CID_MPEG_VIDEO_BITRATE_MODE != (V4L2_CID_MPEG_BASE+206)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206) #endif -#if defined(V4L2_CID_AUTO_FOCUS_RANGE) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_RANGE) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_RANGE) - XLAT(V4L2_CID_AUTO_FOCUS_RANGE), +#if defined(V4L2_CID_MPEG_VIDEO_BITRATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_BITRATE) == ((V4L2_CID_MPEG_BASE+207)), "V4L2_CID_MPEG_VIDEO_BITRATE != (V4L2_CID_MPEG_BASE+207)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207) #endif -#if defined(V4L2_CID_PRIVATE_BASE) || (defined(HAVE_DECL_V4L2_CID_PRIVATE_BASE) && HAVE_DECL_V4L2_CID_PRIVATE_BASE) - XLAT(V4L2_CID_PRIVATE_BASE), +#if defined(V4L2_CID_MPEG_VIDEO_BITRATE_PEAK) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE_PEAK) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_BITRATE_PEAK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_BITRATE_PEAK) == ((V4L2_CID_MPEG_BASE+208)), "V4L2_CID_MPEG_VIDEO_BITRATE_PEAK != (V4L2_CID_MPEG_BASE+208)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208) #endif - XLAT_END -}; +#if defined(V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION) == ((V4L2_CID_MPEG_BASE+209)), "V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION != (V4L2_CID_MPEG_BASE+209)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MUTE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MUTE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MUTE) == ((V4L2_CID_MPEG_BASE+210)), "V4L2_CID_MPEG_VIDEO_MUTE != (V4L2_CID_MPEG_BASE+210)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MUTE_YUV) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MUTE_YUV) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MUTE_YUV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MUTE_YUV) == ((V4L2_CID_MPEG_BASE+211)), "V4L2_CID_MPEG_VIDEO_MUTE_YUV != (V4L2_CID_MPEG_BASE+211)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE) == ((V4L2_CID_MPEG_BASE+212)), "V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE != (V4L2_CID_MPEG_BASE+212)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_MPEG_BASE+212) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER) == ((V4L2_CID_MPEG_BASE+213)), "V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER != (V4L2_CID_MPEG_BASE+213)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_MPEG_BASE+213) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB) == ((V4L2_CID_MPEG_BASE+214)), "V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB != (V4L2_CID_MPEG_BASE+214)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+214) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE) == ((V4L2_CID_MPEG_BASE+215)), "V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE != (V4L2_CID_MPEG_BASE+215)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+215) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEADER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEADER_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEADER_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEADER_MODE) == ((V4L2_CID_MPEG_BASE+216)), "V4L2_CID_MPEG_VIDEO_HEADER_MODE != (V4L2_CID_MPEG_BASE+216)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_MPEG_BASE+216) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MAX_REF_PIC) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MAX_REF_PIC) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MAX_REF_PIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MAX_REF_PIC) == ((V4L2_CID_MPEG_BASE+217)), "V4L2_CID_MPEG_VIDEO_MAX_REF_PIC != (V4L2_CID_MPEG_BASE+217)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE) == ((V4L2_CID_MPEG_BASE+218)), "V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE != (V4L2_CID_MPEG_BASE+218)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES) == ((V4L2_CID_MPEG_BASE+219)), "V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES != (V4L2_CID_MPEG_BASE+219)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_MPEG_BASE+219) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB) == ((V4L2_CID_MPEG_BASE+220)), "V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB != (V4L2_CID_MPEG_BASE+220)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_MPEG_BASE+220) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE) == ((V4L2_CID_MPEG_BASE+221)), "V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE != (V4L2_CID_MPEG_BASE+221)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VBV_SIZE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VBV_SIZE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VBV_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VBV_SIZE) == ((V4L2_CID_MPEG_BASE+222)), "V4L2_CID_MPEG_VIDEO_VBV_SIZE != (V4L2_CID_MPEG_BASE+222)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_DEC_PTS) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_DEC_PTS) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_DEC_PTS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_DEC_PTS) == ((V4L2_CID_MPEG_BASE+223)), "V4L2_CID_MPEG_VIDEO_DEC_PTS != (V4L2_CID_MPEG_BASE+223)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_DEC_FRAME) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_DEC_FRAME) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_DEC_FRAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_DEC_FRAME) == ((V4L2_CID_MPEG_BASE+224)), "V4L2_CID_MPEG_VIDEO_DEC_FRAME != (V4L2_CID_MPEG_BASE+224)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VBV_DELAY) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VBV_DELAY) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VBV_DELAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VBV_DELAY) == ((V4L2_CID_MPEG_BASE+225)), "V4L2_CID_MPEG_VIDEO_VBV_DELAY != (V4L2_CID_MPEG_BASE+225)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER) == ((V4L2_CID_MPEG_BASE+226)), "V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER != (V4L2_CID_MPEG_BASE+226)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE) == ((V4L2_CID_MPEG_BASE+227)), "V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE != (V4L2_CID_MPEG_BASE+227)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE) == ((V4L2_CID_MPEG_BASE+228)), "V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE != (V4L2_CID_MPEG_BASE+228)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME) == ((V4L2_CID_MPEG_BASE+229)), "V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME != (V4L2_CID_MPEG_BASE+229)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE+300)), "V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP != (V4L2_CID_MPEG_BASE+300)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE+301)), "V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP != (V4L2_CID_MPEG_BASE+301)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP) == ((V4L2_CID_MPEG_BASE+302)), "V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP != (V4L2_CID_MPEG_BASE+302)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H263_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_MIN_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H263_MIN_QP) == ((V4L2_CID_MPEG_BASE+303)), "V4L2_CID_MPEG_VIDEO_H263_MIN_QP != (V4L2_CID_MPEG_BASE+303)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_MPEG_BASE+303) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H263_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H263_MAX_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H263_MAX_QP) == ((V4L2_CID_MPEG_BASE+304)), "V4L2_CID_MPEG_VIDEO_H263_MAX_QP != (V4L2_CID_MPEG_BASE+304)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_MPEG_BASE+304) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE+350)), "V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP != (V4L2_CID_MPEG_BASE+350)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+350) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE+351)), "V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP != (V4L2_CID_MPEG_BASE+351)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+351) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP) == ((V4L2_CID_MPEG_BASE+352)), "V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP != (V4L2_CID_MPEG_BASE+352)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+352) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_MIN_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_MIN_QP) == ((V4L2_CID_MPEG_BASE+353)), "V4L2_CID_MPEG_VIDEO_H264_MIN_QP != (V4L2_CID_MPEG_BASE+353)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_MPEG_BASE+353) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_MAX_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_MAX_QP) == ((V4L2_CID_MPEG_BASE+354)), "V4L2_CID_MPEG_VIDEO_H264_MAX_QP != (V4L2_CID_MPEG_BASE+354)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_MPEG_BASE+354) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM) == ((V4L2_CID_MPEG_BASE+355)), "V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM != (V4L2_CID_MPEG_BASE+355)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_MPEG_BASE+355) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE) == ((V4L2_CID_MPEG_BASE+356)), "V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE != (V4L2_CID_MPEG_BASE+356)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_MPEG_BASE+356) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE) == ((V4L2_CID_MPEG_BASE+357)), "V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE != (V4L2_CID_MPEG_BASE+357)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_MPEG_BASE+357) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_I_PERIOD) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_I_PERIOD) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_I_PERIOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_I_PERIOD) == ((V4L2_CID_MPEG_BASE+358)), "V4L2_CID_MPEG_VIDEO_H264_I_PERIOD != (V4L2_CID_MPEG_BASE+358)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+358) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_LEVEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LEVEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LEVEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_LEVEL) == ((V4L2_CID_MPEG_BASE+359)), "V4L2_CID_MPEG_VIDEO_H264_LEVEL != (V4L2_CID_MPEG_BASE+359)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_MPEG_BASE+359) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA) == ((V4L2_CID_MPEG_BASE+360)), "V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA != (V4L2_CID_MPEG_BASE+360)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA) == ((V4L2_CID_MPEG_BASE+361)), "V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA != (V4L2_CID_MPEG_BASE+361)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE) == ((V4L2_CID_MPEG_BASE+362)), "V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE != (V4L2_CID_MPEG_BASE+362)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_PROFILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_PROFILE) == ((V4L2_CID_MPEG_BASE+363)), "V4L2_CID_MPEG_VIDEO_H264_PROFILE != (V4L2_CID_MPEG_BASE+363)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT) == ((V4L2_CID_MPEG_BASE+364)), "V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT != (V4L2_CID_MPEG_BASE+364)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH) == ((V4L2_CID_MPEG_BASE+365)), "V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH != (V4L2_CID_MPEG_BASE+365)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE) == ((V4L2_CID_MPEG_BASE+366)), "V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE != (V4L2_CID_MPEG_BASE+366)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC) == ((V4L2_CID_MPEG_BASE+367)), "V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC != (V4L2_CID_MPEG_BASE+367)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING) == ((V4L2_CID_MPEG_BASE+368)), "V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING != (V4L2_CID_MPEG_BASE+368)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_MPEG_BASE+368) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0) == ((V4L2_CID_MPEG_BASE+369)), "V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 != (V4L2_CID_MPEG_BASE+369)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_MPEG_BASE+369) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE) == ((V4L2_CID_MPEG_BASE+370)), "V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE != (V4L2_CID_MPEG_BASE+370)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_MPEG_BASE+370) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO) == ((V4L2_CID_MPEG_BASE+371)), "V4L2_CID_MPEG_VIDEO_H264_FMO != (V4L2_CID_MPEG_BASE+371)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_MPEG_BASE+371) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE) == ((V4L2_CID_MPEG_BASE+372)), "V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE != (V4L2_CID_MPEG_BASE+372)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_MPEG_BASE+372) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP) == ((V4L2_CID_MPEG_BASE+373)), "V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP != (V4L2_CID_MPEG_BASE+373)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_MPEG_BASE+373) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION) == ((V4L2_CID_MPEG_BASE+374)), "V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION != (V4L2_CID_MPEG_BASE+374)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_MPEG_BASE+374) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE) == ((V4L2_CID_MPEG_BASE+375)), "V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE != (V4L2_CID_MPEG_BASE+375)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_MPEG_BASE+375) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH) == ((V4L2_CID_MPEG_BASE+376)), "V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH != (V4L2_CID_MPEG_BASE+376)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_MPEG_BASE+376) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_ASO) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ASO) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ASO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_ASO) == ((V4L2_CID_MPEG_BASE+377)), "V4L2_CID_MPEG_VIDEO_H264_ASO != (V4L2_CID_MPEG_BASE+377)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_MPEG_BASE+377) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER) == ((V4L2_CID_MPEG_BASE+378)), "V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER != (V4L2_CID_MPEG_BASE+378)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_MPEG_BASE+378) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING) == ((V4L2_CID_MPEG_BASE+379)), "V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING != (V4L2_CID_MPEG_BASE+379)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_MPEG_BASE+379) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE) == ((V4L2_CID_MPEG_BASE+380)), "V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE != (V4L2_CID_MPEG_BASE+380)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_MPEG_BASE+380) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER) == ((V4L2_CID_MPEG_BASE+381)), "V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER != (V4L2_CID_MPEG_BASE+381)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_MPEG_BASE+381) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP) == ((V4L2_CID_MPEG_BASE+382)), "V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP != (V4L2_CID_MPEG_BASE+382)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_MPEG_BASE+382) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE+400)), "V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP != (V4L2_CID_MPEG_BASE+400)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE+401)), "V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP != (V4L2_CID_MPEG_BASE+401)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP) == ((V4L2_CID_MPEG_BASE+402)), "V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP != (V4L2_CID_MPEG_BASE+402)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP) == ((V4L2_CID_MPEG_BASE+403)), "V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP != (V4L2_CID_MPEG_BASE+403)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP) == ((V4L2_CID_MPEG_BASE+404)), "V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP != (V4L2_CID_MPEG_BASE+404)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL) == ((V4L2_CID_MPEG_BASE+405)), "V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL != (V4L2_CID_MPEG_BASE+405)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE) == ((V4L2_CID_MPEG_BASE+406)), "V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE != (V4L2_CID_MPEG_BASE+406)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_MPEG4_QPEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_QPEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_MPEG4_QPEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_MPEG4_QPEL) == ((V4L2_CID_MPEG_BASE+407)), "V4L2_CID_MPEG_VIDEO_MPEG4_QPEL != (V4L2_CID_MPEG_BASE+407)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS) == ((V4L2_CID_MPEG_BASE+500)), "V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS != (V4L2_CID_MPEG_BASE+500)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_MPEG_BASE+500) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4) == ((V4L2_CID_MPEG_BASE+501)), "V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 != (V4L2_CID_MPEG_BASE+501)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_MPEG_BASE+501) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES) == ((V4L2_CID_MPEG_BASE+502)), "V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES != (V4L2_CID_MPEG_BASE+502)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_MPEG_BASE+502) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL) == ((V4L2_CID_MPEG_BASE+503)), "V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL != (V4L2_CID_MPEG_BASE+503)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_MPEG_BASE+503) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS) == ((V4L2_CID_MPEG_BASE+504)), "V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS != (V4L2_CID_MPEG_BASE+504)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_MPEG_BASE+504) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD) == ((V4L2_CID_MPEG_BASE+505)), "V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD != (V4L2_CID_MPEG_BASE+505)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_MPEG_BASE+505) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL) == ((V4L2_CID_MPEG_BASE+506)), "V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL != (V4L2_CID_MPEG_BASE+506)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_MPEG_BASE+506) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_MIN_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_MIN_QP) == ((V4L2_CID_MPEG_BASE+507)), "V4L2_CID_MPEG_VIDEO_VPX_MIN_QP != (V4L2_CID_MPEG_BASE+507)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_MPEG_BASE+507) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_MAX_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_MAX_QP) == ((V4L2_CID_MPEG_BASE+508)), "V4L2_CID_MPEG_VIDEO_VPX_MAX_QP != (V4L2_CID_MPEG_BASE+508)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_MPEG_BASE+508) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE+509)), "V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP != (V4L2_CID_MPEG_BASE+509)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_MPEG_BASE+509) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE+510)), "V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP != (V4L2_CID_MPEG_BASE+510)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_MPEG_BASE+510) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_VPX_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_VPX_PROFILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_VPX_PROFILE) == ((V4L2_CID_MPEG_BASE+511)), "V4L2_CID_MPEG_VIDEO_VPX_PROFILE != (V4L2_CID_MPEG_BASE+511)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_VPX_PROFILE (V4L2_CID_MPEG_BASE+511) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP) == ((V4L2_CID_MPEG_BASE + 600)), "V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP != (V4L2_CID_MPEG_BASE + 600)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_MPEG_BASE + 600) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP) == ((V4L2_CID_MPEG_BASE + 601)), "V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP != (V4L2_CID_MPEG_BASE + 601)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_MPEG_BASE + 601) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP) == ((V4L2_CID_MPEG_BASE + 602)), "V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP != (V4L2_CID_MPEG_BASE + 602)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_MPEG_BASE + 602) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP) == ((V4L2_CID_MPEG_BASE + 603)), "V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP != (V4L2_CID_MPEG_BASE + 603)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_MPEG_BASE + 603) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP) == ((V4L2_CID_MPEG_BASE + 604)), "V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP != (V4L2_CID_MPEG_BASE + 604)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_MPEG_BASE + 604) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP) == ((V4L2_CID_MPEG_BASE + 605)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP != (V4L2_CID_MPEG_BASE + 605)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_MPEG_BASE + 605) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE) == ((V4L2_CID_MPEG_BASE + 606)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE != (V4L2_CID_MPEG_BASE + 606)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_MPEG_BASE + 606) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER) == ((V4L2_CID_MPEG_BASE + 607)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER != (V4L2_CID_MPEG_BASE + 607)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_MPEG_BASE + 607) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP) == ((V4L2_CID_MPEG_BASE + 608)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP != (V4L2_CID_MPEG_BASE + 608)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_MPEG_BASE + 608) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP) == ((V4L2_CID_MPEG_BASE + 609)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP != (V4L2_CID_MPEG_BASE + 609)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_MPEG_BASE + 609) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP) == ((V4L2_CID_MPEG_BASE + 610)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP != (V4L2_CID_MPEG_BASE + 610)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_MPEG_BASE + 610) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP) == ((V4L2_CID_MPEG_BASE + 611)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP != (V4L2_CID_MPEG_BASE + 611)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_MPEG_BASE + 611) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP) == ((V4L2_CID_MPEG_BASE + 612)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP != (V4L2_CID_MPEG_BASE + 612)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_MPEG_BASE + 612) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP) == ((V4L2_CID_MPEG_BASE + 613)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP != (V4L2_CID_MPEG_BASE + 613)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_MPEG_BASE + 613) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP) == ((V4L2_CID_MPEG_BASE + 614)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP != (V4L2_CID_MPEG_BASE + 614)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_MPEG_BASE + 614) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_PROFILE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_PROFILE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_PROFILE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_PROFILE) == ((V4L2_CID_MPEG_BASE + 615)), "V4L2_CID_MPEG_VIDEO_HEVC_PROFILE != (V4L2_CID_MPEG_BASE + 615)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_MPEG_BASE + 615) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LEVEL) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LEVEL) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LEVEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LEVEL) == ((V4L2_CID_MPEG_BASE + 616)), "V4L2_CID_MPEG_VIDEO_HEVC_LEVEL != (V4L2_CID_MPEG_BASE + 616)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_MPEG_BASE + 616) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION) == ((V4L2_CID_MPEG_BASE + 617)), "V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION != (V4L2_CID_MPEG_BASE + 617)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_MPEG_BASE + 617) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_TIER) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TIER) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TIER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_TIER) == ((V4L2_CID_MPEG_BASE + 618)), "V4L2_CID_MPEG_VIDEO_HEVC_TIER != (V4L2_CID_MPEG_BASE + 618)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_MPEG_BASE + 618) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH) == ((V4L2_CID_MPEG_BASE + 619)), "V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH != (V4L2_CID_MPEG_BASE + 619)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_MPEG_BASE + 619) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE) == ((V4L2_CID_MPEG_BASE + 620)), "V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE != (V4L2_CID_MPEG_BASE + 620)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE + 620) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2) == ((V4L2_CID_MPEG_BASE + 621)), "V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 != (V4L2_CID_MPEG_BASE + 621)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 621) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2) == ((V4L2_CID_MPEG_BASE + 622)), "V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 != (V4L2_CID_MPEG_BASE + 622)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 622) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE) == ((V4L2_CID_MPEG_BASE + 623)), "V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE != (V4L2_CID_MPEG_BASE + 623)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_MPEG_BASE + 623) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD) == ((V4L2_CID_MPEG_BASE + 624)), "V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD != (V4L2_CID_MPEG_BASE + 624)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_MPEG_BASE + 624) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU) == ((V4L2_CID_MPEG_BASE + 625)), "V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU != (V4L2_CID_MPEG_BASE + 625)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_MPEG_BASE + 625) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED) == ((V4L2_CID_MPEG_BASE + 626)), "V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED != (V4L2_CID_MPEG_BASE + 626)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_MPEG_BASE + 626) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT) == ((V4L2_CID_MPEG_BASE + 627)), "V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT != (V4L2_CID_MPEG_BASE + 627)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_MPEG_BASE + 627) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB) == ((V4L2_CID_MPEG_BASE + 628)), "V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB != (V4L2_CID_MPEG_BASE + 628)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_MPEG_BASE + 628) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID) == ((V4L2_CID_MPEG_BASE + 629)), "V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID != (V4L2_CID_MPEG_BASE + 629)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_MPEG_BASE + 629) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING) == ((V4L2_CID_MPEG_BASE + 630)), "V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING != (V4L2_CID_MPEG_BASE + 630)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_MPEG_BASE + 630) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1) == ((V4L2_CID_MPEG_BASE + 631)), "V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 != (V4L2_CID_MPEG_BASE + 631)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_MPEG_BASE + 631) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT) == ((V4L2_CID_MPEG_BASE + 632)), "V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT != (V4L2_CID_MPEG_BASE + 632)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_MPEG_BASE + 632) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION) == ((V4L2_CID_MPEG_BASE + 633)), "V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION != (V4L2_CID_MPEG_BASE + 633)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_MPEG_BASE + 633) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE) == ((V4L2_CID_MPEG_BASE + 634)), "V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE != (V4L2_CID_MPEG_BASE + 634)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_MPEG_BASE + 634) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD) == ((V4L2_CID_MPEG_BASE + 635)), "V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD != (V4L2_CID_MPEG_BASE + 635)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_MPEG_BASE + 635) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR) == ((V4L2_CID_MPEG_BASE + 636)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR != (V4L2_CID_MPEG_BASE + 636)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_MPEG_BASE + 636) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR) == ((V4L2_CID_MPEG_BASE + 637)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR != (V4L2_CID_MPEG_BASE + 637)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_MPEG_BASE + 637) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR) == ((V4L2_CID_MPEG_BASE + 638)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR != (V4L2_CID_MPEG_BASE + 638)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_MPEG_BASE + 638) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR) == ((V4L2_CID_MPEG_BASE + 639)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR != (V4L2_CID_MPEG_BASE + 639)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_MPEG_BASE + 639) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR) == ((V4L2_CID_MPEG_BASE + 640)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR != (V4L2_CID_MPEG_BASE + 640)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_MPEG_BASE + 640) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR) == ((V4L2_CID_MPEG_BASE + 641)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR != (V4L2_CID_MPEG_BASE + 641)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_MPEG_BASE + 641) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR) == ((V4L2_CID_MPEG_BASE + 642)), "V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR != (V4L2_CID_MPEG_BASE + 642)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_MPEG_BASE + 642) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES) == ((V4L2_CID_MPEG_BASE + 643)), "V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES != (V4L2_CID_MPEG_BASE + 643)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_MPEG_BASE + 643) +#endif +#if defined(V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR) || (defined(HAVE_DECL_V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR) && HAVE_DECL_V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR) == ((V4L2_CID_MPEG_BASE + 644)), "V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR != (V4L2_CID_MPEG_BASE + 644)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_MPEG_BASE + 644) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE) == ((V4L2_CID_MPEG_CX2341X_BASE+0)), "V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE != (V4L2_CID_MPEG_CX2341X_BASE+0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER) == ((V4L2_CID_MPEG_CX2341X_BASE+1)), "V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER != (V4L2_CID_MPEG_CX2341X_BASE+1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE) == ((V4L2_CID_MPEG_CX2341X_BASE+2)), "V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE != (V4L2_CID_MPEG_CX2341X_BASE+2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE) == ((V4L2_CID_MPEG_CX2341X_BASE+3)), "V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE != (V4L2_CID_MPEG_CX2341X_BASE+3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE) == ((V4L2_CID_MPEG_CX2341X_BASE+4)), "V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE != (V4L2_CID_MPEG_CX2341X_BASE+4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER) == ((V4L2_CID_MPEG_CX2341X_BASE+5)), "V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER != (V4L2_CID_MPEG_CX2341X_BASE+5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE) == ((V4L2_CID_MPEG_CX2341X_BASE+6)), "V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE != (V4L2_CID_MPEG_CX2341X_BASE+6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM) == ((V4L2_CID_MPEG_CX2341X_BASE+7)), "V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM != (V4L2_CID_MPEG_CX2341X_BASE+7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP) == ((V4L2_CID_MPEG_CX2341X_BASE+8)), "V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP != (V4L2_CID_MPEG_CX2341X_BASE+8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM) == ((V4L2_CID_MPEG_CX2341X_BASE+9)), "V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM != (V4L2_CID_MPEG_CX2341X_BASE+9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP) == ((V4L2_CID_MPEG_CX2341X_BASE+10)), "V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP != (V4L2_CID_MPEG_CX2341X_BASE+10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) +#endif +#if defined(V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS) || (defined(HAVE_DECL_V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS) && HAVE_DECL_V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS) == ((V4L2_CID_MPEG_CX2341X_BASE+11)), "V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS != (V4L2_CID_MPEG_CX2341X_BASE+11)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY) == ((V4L2_CID_MPEG_MFC51_BASE+0)), "V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY != (V4L2_CID_MPEG_MFC51_BASE+0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE) == ((V4L2_CID_MPEG_MFC51_BASE+1)), "V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE != (V4L2_CID_MPEG_MFC51_BASE+1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE) == ((V4L2_CID_MPEG_MFC51_BASE+2)), "V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE != (V4L2_CID_MPEG_MFC51_BASE+2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE) == ((V4L2_CID_MPEG_MFC51_BASE+3)), "V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE != (V4L2_CID_MPEG_MFC51_BASE+3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_PADDING) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_PADDING) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_PADDING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_PADDING) == ((V4L2_CID_MPEG_MFC51_BASE+4)), "V4L2_CID_MPEG_MFC51_VIDEO_PADDING != (V4L2_CID_MPEG_MFC51_BASE+4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV) == ((V4L2_CID_MPEG_MFC51_BASE+5)), "V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV != (V4L2_CID_MPEG_MFC51_BASE+5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT) == ((V4L2_CID_MPEG_MFC51_BASE+6)), "V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT != (V4L2_CID_MPEG_MFC51_BASE+6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF) == ((V4L2_CID_MPEG_MFC51_BASE+7)), "V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF != (V4L2_CID_MPEG_MFC51_BASE+7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY) == ((V4L2_CID_MPEG_MFC51_BASE+50)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY != (V4L2_CID_MPEG_MFC51_BASE+50)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK) == ((V4L2_CID_MPEG_MFC51_BASE+51)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK != (V4L2_CID_MPEG_MFC51_BASE+51)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH) == ((V4L2_CID_MPEG_MFC51_BASE+52)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH != (V4L2_CID_MPEG_MFC51_BASE+52)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC) == ((V4L2_CID_MPEG_MFC51_BASE+53)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC != (V4L2_CID_MPEG_MFC51_BASE+53)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53) +#endif +#if defined(V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P) || (defined(HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P) && HAVE_DECL_V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P) == ((V4L2_CID_MPEG_MFC51_BASE+54)), "V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P != (V4L2_CID_MPEG_MFC51_BASE+54)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54) +#endif +#if defined(V4L2_CID_EXPOSURE_AUTO) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_AUTO) && HAVE_DECL_V4L2_CID_EXPOSURE_AUTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_EXPOSURE_AUTO) == ((V4L2_CID_CAMERA_CLASS_BASE+1)), "V4L2_CID_EXPOSURE_AUTO != (V4L2_CID_CAMERA_CLASS_BASE+1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1) +#endif +#if defined(V4L2_CID_EXPOSURE_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_ABSOLUTE) && HAVE_DECL_V4L2_CID_EXPOSURE_ABSOLUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_EXPOSURE_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+2)), "V4L2_CID_EXPOSURE_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2) +#endif +#if defined(V4L2_CID_EXPOSURE_AUTO_PRIORITY) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_AUTO_PRIORITY) && HAVE_DECL_V4L2_CID_EXPOSURE_AUTO_PRIORITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_EXPOSURE_AUTO_PRIORITY) == ((V4L2_CID_CAMERA_CLASS_BASE+3)), "V4L2_CID_EXPOSURE_AUTO_PRIORITY != (V4L2_CID_CAMERA_CLASS_BASE+3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3) +#endif +#if defined(V4L2_CID_PAN_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_PAN_RELATIVE) && HAVE_DECL_V4L2_CID_PAN_RELATIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_PAN_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+4)), "V4L2_CID_PAN_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+4) +#endif +#if defined(V4L2_CID_TILT_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_TILT_RELATIVE) && HAVE_DECL_V4L2_CID_TILT_RELATIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TILT_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+5)), "V4L2_CID_TILT_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+5) +#endif +#if defined(V4L2_CID_PAN_RESET) || (defined(HAVE_DECL_V4L2_CID_PAN_RESET) && HAVE_DECL_V4L2_CID_PAN_RESET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_PAN_RESET) == ((V4L2_CID_CAMERA_CLASS_BASE+6)), "V4L2_CID_PAN_RESET != (V4L2_CID_CAMERA_CLASS_BASE+6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE+6) +#endif +#if defined(V4L2_CID_TILT_RESET) || (defined(HAVE_DECL_V4L2_CID_TILT_RESET) && HAVE_DECL_V4L2_CID_TILT_RESET) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TILT_RESET) == ((V4L2_CID_CAMERA_CLASS_BASE+7)), "V4L2_CID_TILT_RESET != (V4L2_CID_CAMERA_CLASS_BASE+7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE+7) +#endif +#if defined(V4L2_CID_PAN_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_PAN_ABSOLUTE) && HAVE_DECL_V4L2_CID_PAN_ABSOLUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_PAN_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+8)), "V4L2_CID_PAN_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+8) +#endif +#if defined(V4L2_CID_TILT_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_TILT_ABSOLUTE) && HAVE_DECL_V4L2_CID_TILT_ABSOLUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TILT_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+9)), "V4L2_CID_TILT_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+9) +#endif +#if defined(V4L2_CID_FOCUS_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_FOCUS_ABSOLUTE) && HAVE_DECL_V4L2_CID_FOCUS_ABSOLUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FOCUS_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+10)), "V4L2_CID_FOCUS_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+10) +#endif +#if defined(V4L2_CID_FOCUS_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_FOCUS_RELATIVE) && HAVE_DECL_V4L2_CID_FOCUS_RELATIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FOCUS_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+11)), "V4L2_CID_FOCUS_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+11)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+11) +#endif +#if defined(V4L2_CID_FOCUS_AUTO) || (defined(HAVE_DECL_V4L2_CID_FOCUS_AUTO) && HAVE_DECL_V4L2_CID_FOCUS_AUTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FOCUS_AUTO) == ((V4L2_CID_CAMERA_CLASS_BASE+12)), "V4L2_CID_FOCUS_AUTO != (V4L2_CID_CAMERA_CLASS_BASE+12)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE+12) +#endif +#if defined(V4L2_CID_ZOOM_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_ZOOM_ABSOLUTE) && HAVE_DECL_V4L2_CID_ZOOM_ABSOLUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ZOOM_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+13)), "V4L2_CID_ZOOM_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+13)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ZOOM_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+13) +#endif +#if defined(V4L2_CID_ZOOM_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_ZOOM_RELATIVE) && HAVE_DECL_V4L2_CID_ZOOM_RELATIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ZOOM_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+14)), "V4L2_CID_ZOOM_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+14)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ZOOM_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+14) +#endif +#if defined(V4L2_CID_ZOOM_CONTINUOUS) || (defined(HAVE_DECL_V4L2_CID_ZOOM_CONTINUOUS) && HAVE_DECL_V4L2_CID_ZOOM_CONTINUOUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ZOOM_CONTINUOUS) == ((V4L2_CID_CAMERA_CLASS_BASE+15)), "V4L2_CID_ZOOM_CONTINUOUS != (V4L2_CID_CAMERA_CLASS_BASE+15)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ZOOM_CONTINUOUS (V4L2_CID_CAMERA_CLASS_BASE+15) +#endif +#if defined(V4L2_CID_PRIVACY) || (defined(HAVE_DECL_V4L2_CID_PRIVACY) && HAVE_DECL_V4L2_CID_PRIVACY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_PRIVACY) == ((V4L2_CID_CAMERA_CLASS_BASE+16)), "V4L2_CID_PRIVACY != (V4L2_CID_CAMERA_CLASS_BASE+16)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16) +#endif +#if defined(V4L2_CID_IRIS_ABSOLUTE) || (defined(HAVE_DECL_V4L2_CID_IRIS_ABSOLUTE) && HAVE_DECL_V4L2_CID_IRIS_ABSOLUTE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_IRIS_ABSOLUTE) == ((V4L2_CID_CAMERA_CLASS_BASE+17)), "V4L2_CID_IRIS_ABSOLUTE != (V4L2_CID_CAMERA_CLASS_BASE+17)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17) +#endif +#if defined(V4L2_CID_IRIS_RELATIVE) || (defined(HAVE_DECL_V4L2_CID_IRIS_RELATIVE) && HAVE_DECL_V4L2_CID_IRIS_RELATIVE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_IRIS_RELATIVE) == ((V4L2_CID_CAMERA_CLASS_BASE+18)), "V4L2_CID_IRIS_RELATIVE != (V4L2_CID_CAMERA_CLASS_BASE+18)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+18) +#endif +#if defined(V4L2_CID_AUTO_EXPOSURE_BIAS) || (defined(HAVE_DECL_V4L2_CID_AUTO_EXPOSURE_BIAS) && HAVE_DECL_V4L2_CID_AUTO_EXPOSURE_BIAS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUTO_EXPOSURE_BIAS) == ((V4L2_CID_CAMERA_CLASS_BASE+19)), "V4L2_CID_AUTO_EXPOSURE_BIAS != (V4L2_CID_CAMERA_CLASS_BASE+19)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUTO_EXPOSURE_BIAS (V4L2_CID_CAMERA_CLASS_BASE+19) +#endif +#if defined(V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) || (defined(HAVE_DECL_V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) && HAVE_DECL_V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE) == ((V4L2_CID_CAMERA_CLASS_BASE+20)), "V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE != (V4L2_CID_CAMERA_CLASS_BASE+20)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE (V4L2_CID_CAMERA_CLASS_BASE+20) +#endif +#if defined(V4L2_CID_WIDE_DYNAMIC_RANGE) || (defined(HAVE_DECL_V4L2_CID_WIDE_DYNAMIC_RANGE) && HAVE_DECL_V4L2_CID_WIDE_DYNAMIC_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_WIDE_DYNAMIC_RANGE) == ((V4L2_CID_CAMERA_CLASS_BASE+21)), "V4L2_CID_WIDE_DYNAMIC_RANGE != (V4L2_CID_CAMERA_CLASS_BASE+21)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21) +#endif +#if defined(V4L2_CID_IMAGE_STABILIZATION) || (defined(HAVE_DECL_V4L2_CID_IMAGE_STABILIZATION) && HAVE_DECL_V4L2_CID_IMAGE_STABILIZATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_IMAGE_STABILIZATION) == ((V4L2_CID_CAMERA_CLASS_BASE+22)), "V4L2_CID_IMAGE_STABILIZATION != (V4L2_CID_CAMERA_CLASS_BASE+22)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_IMAGE_STABILIZATION (V4L2_CID_CAMERA_CLASS_BASE+22) +#endif +#if defined(V4L2_CID_ISO_SENSITIVITY) || (defined(HAVE_DECL_V4L2_CID_ISO_SENSITIVITY) && HAVE_DECL_V4L2_CID_ISO_SENSITIVITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ISO_SENSITIVITY) == ((V4L2_CID_CAMERA_CLASS_BASE+23)), "V4L2_CID_ISO_SENSITIVITY != (V4L2_CID_CAMERA_CLASS_BASE+23)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ISO_SENSITIVITY (V4L2_CID_CAMERA_CLASS_BASE+23) +#endif +#if defined(V4L2_CID_ISO_SENSITIVITY_AUTO) || (defined(HAVE_DECL_V4L2_CID_ISO_SENSITIVITY_AUTO) && HAVE_DECL_V4L2_CID_ISO_SENSITIVITY_AUTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ISO_SENSITIVITY_AUTO) == ((V4L2_CID_CAMERA_CLASS_BASE+24)), "V4L2_CID_ISO_SENSITIVITY_AUTO != (V4L2_CID_CAMERA_CLASS_BASE+24)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ISO_SENSITIVITY_AUTO (V4L2_CID_CAMERA_CLASS_BASE+24) +#endif +#if defined(V4L2_CID_EXPOSURE_METERING) || (defined(HAVE_DECL_V4L2_CID_EXPOSURE_METERING) && HAVE_DECL_V4L2_CID_EXPOSURE_METERING) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_EXPOSURE_METERING) == ((V4L2_CID_CAMERA_CLASS_BASE+25)), "V4L2_CID_EXPOSURE_METERING != (V4L2_CID_CAMERA_CLASS_BASE+25)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_EXPOSURE_METERING (V4L2_CID_CAMERA_CLASS_BASE+25) +#endif +#if defined(V4L2_CID_SCENE_MODE) || (defined(HAVE_DECL_V4L2_CID_SCENE_MODE) && HAVE_DECL_V4L2_CID_SCENE_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_SCENE_MODE) == ((V4L2_CID_CAMERA_CLASS_BASE+26)), "V4L2_CID_SCENE_MODE != (V4L2_CID_CAMERA_CLASS_BASE+26)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_SCENE_MODE (V4L2_CID_CAMERA_CLASS_BASE+26) +#endif +#if defined(V4L2_CID_3A_LOCK) || (defined(HAVE_DECL_V4L2_CID_3A_LOCK) && HAVE_DECL_V4L2_CID_3A_LOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_3A_LOCK) == ((V4L2_CID_CAMERA_CLASS_BASE+27)), "V4L2_CID_3A_LOCK != (V4L2_CID_CAMERA_CLASS_BASE+27)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_3A_LOCK (V4L2_CID_CAMERA_CLASS_BASE+27) +#endif +#if defined(V4L2_CID_AUTO_FOCUS_START) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_START) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_START) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUTO_FOCUS_START) == ((V4L2_CID_CAMERA_CLASS_BASE+28)), "V4L2_CID_AUTO_FOCUS_START != (V4L2_CID_CAMERA_CLASS_BASE+28)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUTO_FOCUS_START (V4L2_CID_CAMERA_CLASS_BASE+28) +#endif +#if defined(V4L2_CID_AUTO_FOCUS_STOP) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_STOP) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_STOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUTO_FOCUS_STOP) == ((V4L2_CID_CAMERA_CLASS_BASE+29)), "V4L2_CID_AUTO_FOCUS_STOP != (V4L2_CID_CAMERA_CLASS_BASE+29)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUTO_FOCUS_STOP (V4L2_CID_CAMERA_CLASS_BASE+29) +#endif +#if defined(V4L2_CID_AUTO_FOCUS_STATUS) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_STATUS) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUTO_FOCUS_STATUS) == ((V4L2_CID_CAMERA_CLASS_BASE+30)), "V4L2_CID_AUTO_FOCUS_STATUS != (V4L2_CID_CAMERA_CLASS_BASE+30)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUTO_FOCUS_STATUS (V4L2_CID_CAMERA_CLASS_BASE+30) +#endif +#if defined(V4L2_CID_AUTO_FOCUS_RANGE) || (defined(HAVE_DECL_V4L2_CID_AUTO_FOCUS_RANGE) && HAVE_DECL_V4L2_CID_AUTO_FOCUS_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUTO_FOCUS_RANGE) == ((V4L2_CID_CAMERA_CLASS_BASE+31)), "V4L2_CID_AUTO_FOCUS_RANGE != (V4L2_CID_CAMERA_CLASS_BASE+31)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUTO_FOCUS_RANGE (V4L2_CID_CAMERA_CLASS_BASE+31) +#endif +#if defined(V4L2_CID_PAN_SPEED) || (defined(HAVE_DECL_V4L2_CID_PAN_SPEED) && HAVE_DECL_V4L2_CID_PAN_SPEED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_PAN_SPEED) == ((V4L2_CID_CAMERA_CLASS_BASE+32)), "V4L2_CID_PAN_SPEED != (V4L2_CID_CAMERA_CLASS_BASE+32)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32) +#endif +#if defined(V4L2_CID_TILT_SPEED) || (defined(HAVE_DECL_V4L2_CID_TILT_SPEED) && HAVE_DECL_V4L2_CID_TILT_SPEED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TILT_SPEED) == ((V4L2_CID_CAMERA_CLASS_BASE+33)), "V4L2_CID_TILT_SPEED != (V4L2_CID_CAMERA_CLASS_BASE+33)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33) +#endif +#if defined(V4L2_CID_RDS_TX_DEVIATION) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_DEVIATION) && HAVE_DECL_V4L2_CID_RDS_TX_DEVIATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_DEVIATION) == ((V4L2_CID_FM_TX_CLASS_BASE + 1)), "V4L2_CID_RDS_TX_DEVIATION != (V4L2_CID_FM_TX_CLASS_BASE + 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1) +#endif +#if defined(V4L2_CID_RDS_TX_PI) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_PI) && HAVE_DECL_V4L2_CID_RDS_TX_PI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_PI) == ((V4L2_CID_FM_TX_CLASS_BASE + 2)), "V4L2_CID_RDS_TX_PI != (V4L2_CID_FM_TX_CLASS_BASE + 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 2) +#endif +#if defined(V4L2_CID_RDS_TX_PTY) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_PTY) && HAVE_DECL_V4L2_CID_RDS_TX_PTY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_PTY) == ((V4L2_CID_FM_TX_CLASS_BASE + 3)), "V4L2_CID_RDS_TX_PTY != (V4L2_CID_FM_TX_CLASS_BASE + 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3) +#endif +#if defined(V4L2_CID_RDS_TX_PS_NAME) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_PS_NAME) && HAVE_DECL_V4L2_CID_RDS_TX_PS_NAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_PS_NAME) == ((V4L2_CID_FM_TX_CLASS_BASE + 5)), "V4L2_CID_RDS_TX_PS_NAME != (V4L2_CID_FM_TX_CLASS_BASE + 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5) +#endif +#if defined(V4L2_CID_RDS_TX_RADIO_TEXT) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_RADIO_TEXT) && HAVE_DECL_V4L2_CID_RDS_TX_RADIO_TEXT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_RADIO_TEXT) == ((V4L2_CID_FM_TX_CLASS_BASE + 6)), "V4L2_CID_RDS_TX_RADIO_TEXT != (V4L2_CID_FM_TX_CLASS_BASE + 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6) +#endif +#if defined(V4L2_CID_RDS_TX_MONO_STEREO) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_MONO_STEREO) && HAVE_DECL_V4L2_CID_RDS_TX_MONO_STEREO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_MONO_STEREO) == ((V4L2_CID_FM_TX_CLASS_BASE + 7)), "V4L2_CID_RDS_TX_MONO_STEREO != (V4L2_CID_FM_TX_CLASS_BASE + 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_MONO_STEREO (V4L2_CID_FM_TX_CLASS_BASE + 7) +#endif +#if defined(V4L2_CID_RDS_TX_ARTIFICIAL_HEAD) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_ARTIFICIAL_HEAD) && HAVE_DECL_V4L2_CID_RDS_TX_ARTIFICIAL_HEAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_ARTIFICIAL_HEAD) == ((V4L2_CID_FM_TX_CLASS_BASE + 8)), "V4L2_CID_RDS_TX_ARTIFICIAL_HEAD != (V4L2_CID_FM_TX_CLASS_BASE + 8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (V4L2_CID_FM_TX_CLASS_BASE + 8) +#endif +#if defined(V4L2_CID_RDS_TX_COMPRESSED) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_COMPRESSED) && HAVE_DECL_V4L2_CID_RDS_TX_COMPRESSED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_COMPRESSED) == ((V4L2_CID_FM_TX_CLASS_BASE + 9)), "V4L2_CID_RDS_TX_COMPRESSED != (V4L2_CID_FM_TX_CLASS_BASE + 9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_COMPRESSED (V4L2_CID_FM_TX_CLASS_BASE + 9) +#endif +#if defined(V4L2_CID_RDS_TX_DYNAMIC_PTY) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_DYNAMIC_PTY) && HAVE_DECL_V4L2_CID_RDS_TX_DYNAMIC_PTY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_DYNAMIC_PTY) == ((V4L2_CID_FM_TX_CLASS_BASE + 10)), "V4L2_CID_RDS_TX_DYNAMIC_PTY != (V4L2_CID_FM_TX_CLASS_BASE + 10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_DYNAMIC_PTY (V4L2_CID_FM_TX_CLASS_BASE + 10) +#endif +#if defined(V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT) && HAVE_DECL_V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT) == ((V4L2_CID_FM_TX_CLASS_BASE + 11)), "V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT != (V4L2_CID_FM_TX_CLASS_BASE + 11)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_TX_CLASS_BASE + 11) +#endif +#if defined(V4L2_CID_RDS_TX_TRAFFIC_PROGRAM) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_TRAFFIC_PROGRAM) && HAVE_DECL_V4L2_CID_RDS_TX_TRAFFIC_PROGRAM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_TRAFFIC_PROGRAM) == ((V4L2_CID_FM_TX_CLASS_BASE + 12)), "V4L2_CID_RDS_TX_TRAFFIC_PROGRAM != (V4L2_CID_FM_TX_CLASS_BASE + 12)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (V4L2_CID_FM_TX_CLASS_BASE + 12) +#endif +#if defined(V4L2_CID_RDS_TX_MUSIC_SPEECH) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_MUSIC_SPEECH) && HAVE_DECL_V4L2_CID_RDS_TX_MUSIC_SPEECH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_MUSIC_SPEECH) == ((V4L2_CID_FM_TX_CLASS_BASE + 13)), "V4L2_CID_RDS_TX_MUSIC_SPEECH != (V4L2_CID_FM_TX_CLASS_BASE + 13)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_MUSIC_SPEECH (V4L2_CID_FM_TX_CLASS_BASE + 13) +#endif +#if defined(V4L2_CID_RDS_TX_ALT_FREQS_ENABLE) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_ALT_FREQS_ENABLE) && HAVE_DECL_V4L2_CID_RDS_TX_ALT_FREQS_ENABLE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_ALT_FREQS_ENABLE) == ((V4L2_CID_FM_TX_CLASS_BASE + 14)), "V4L2_CID_RDS_TX_ALT_FREQS_ENABLE != (V4L2_CID_FM_TX_CLASS_BASE + 14)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (V4L2_CID_FM_TX_CLASS_BASE + 14) +#endif +#if defined(V4L2_CID_RDS_TX_ALT_FREQS) || (defined(HAVE_DECL_V4L2_CID_RDS_TX_ALT_FREQS) && HAVE_DECL_V4L2_CID_RDS_TX_ALT_FREQS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_TX_ALT_FREQS) == ((V4L2_CID_FM_TX_CLASS_BASE + 15)), "V4L2_CID_RDS_TX_ALT_FREQS != (V4L2_CID_FM_TX_CLASS_BASE + 15)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_TX_ALT_FREQS (V4L2_CID_FM_TX_CLASS_BASE + 15) +#endif +#if defined(V4L2_CID_AUDIO_LIMITER_ENABLED) || (defined(HAVE_DECL_V4L2_CID_AUDIO_LIMITER_ENABLED) && HAVE_DECL_V4L2_CID_AUDIO_LIMITER_ENABLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_LIMITER_ENABLED) == ((V4L2_CID_FM_TX_CLASS_BASE + 64)), "V4L2_CID_AUDIO_LIMITER_ENABLED != (V4L2_CID_FM_TX_CLASS_BASE + 64)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64) +#endif +#if defined(V4L2_CID_AUDIO_LIMITER_RELEASE_TIME) || (defined(HAVE_DECL_V4L2_CID_AUDIO_LIMITER_RELEASE_TIME) && HAVE_DECL_V4L2_CID_AUDIO_LIMITER_RELEASE_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_LIMITER_RELEASE_TIME) == ((V4L2_CID_FM_TX_CLASS_BASE + 65)), "V4L2_CID_AUDIO_LIMITER_RELEASE_TIME != (V4L2_CID_FM_TX_CLASS_BASE + 65)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65) +#endif +#if defined(V4L2_CID_AUDIO_LIMITER_DEVIATION) || (defined(HAVE_DECL_V4L2_CID_AUDIO_LIMITER_DEVIATION) && HAVE_DECL_V4L2_CID_AUDIO_LIMITER_DEVIATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_LIMITER_DEVIATION) == ((V4L2_CID_FM_TX_CLASS_BASE + 66)), "V4L2_CID_AUDIO_LIMITER_DEVIATION != (V4L2_CID_FM_TX_CLASS_BASE + 66)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 66) +#endif +#if defined(V4L2_CID_AUDIO_COMPRESSION_ENABLED) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_ENABLED) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_ENABLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_COMPRESSION_ENABLED) == ((V4L2_CID_FM_TX_CLASS_BASE + 80)), "V4L2_CID_AUDIO_COMPRESSION_ENABLED != (V4L2_CID_FM_TX_CLASS_BASE + 80)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 80) +#endif +#if defined(V4L2_CID_AUDIO_COMPRESSION_GAIN) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_GAIN) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_GAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_COMPRESSION_GAIN) == ((V4L2_CID_FM_TX_CLASS_BASE + 81)), "V4L2_CID_AUDIO_COMPRESSION_GAIN != (V4L2_CID_FM_TX_CLASS_BASE + 81)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 81) +#endif +#if defined(V4L2_CID_AUDIO_COMPRESSION_THRESHOLD) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_THRESHOLD) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_THRESHOLD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_COMPRESSION_THRESHOLD) == ((V4L2_CID_FM_TX_CLASS_BASE + 82)), "V4L2_CID_AUDIO_COMPRESSION_THRESHOLD != (V4L2_CID_FM_TX_CLASS_BASE + 82)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 82) +#endif +#if defined(V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME) == ((V4L2_CID_FM_TX_CLASS_BASE + 83)), "V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME != (V4L2_CID_FM_TX_CLASS_BASE + 83)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 83) +#endif +#if defined(V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME) || (defined(HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME) && HAVE_DECL_V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME) == ((V4L2_CID_FM_TX_CLASS_BASE + 84)), "V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME != (V4L2_CID_FM_TX_CLASS_BASE + 84)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 84) +#endif +#if defined(V4L2_CID_PILOT_TONE_ENABLED) || (defined(HAVE_DECL_V4L2_CID_PILOT_TONE_ENABLED) && HAVE_DECL_V4L2_CID_PILOT_TONE_ENABLED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_PILOT_TONE_ENABLED) == ((V4L2_CID_FM_TX_CLASS_BASE + 96)), "V4L2_CID_PILOT_TONE_ENABLED != (V4L2_CID_FM_TX_CLASS_BASE + 96)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 96) +#endif +#if defined(V4L2_CID_PILOT_TONE_DEVIATION) || (defined(HAVE_DECL_V4L2_CID_PILOT_TONE_DEVIATION) && HAVE_DECL_V4L2_CID_PILOT_TONE_DEVIATION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_PILOT_TONE_DEVIATION) == ((V4L2_CID_FM_TX_CLASS_BASE + 97)), "V4L2_CID_PILOT_TONE_DEVIATION != (V4L2_CID_FM_TX_CLASS_BASE + 97)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 97) +#endif +#if defined(V4L2_CID_PILOT_TONE_FREQUENCY) || (defined(HAVE_DECL_V4L2_CID_PILOT_TONE_FREQUENCY) && HAVE_DECL_V4L2_CID_PILOT_TONE_FREQUENCY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_PILOT_TONE_FREQUENCY) == ((V4L2_CID_FM_TX_CLASS_BASE + 98)), "V4L2_CID_PILOT_TONE_FREQUENCY != (V4L2_CID_FM_TX_CLASS_BASE + 98)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 98) +#endif +#if defined(V4L2_CID_TUNE_PREEMPHASIS) || (defined(HAVE_DECL_V4L2_CID_TUNE_PREEMPHASIS) && HAVE_DECL_V4L2_CID_TUNE_PREEMPHASIS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TUNE_PREEMPHASIS) == ((V4L2_CID_FM_TX_CLASS_BASE + 112)), "V4L2_CID_TUNE_PREEMPHASIS != (V4L2_CID_FM_TX_CLASS_BASE + 112)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112) +#endif +#if defined(V4L2_CID_TUNE_POWER_LEVEL) || (defined(HAVE_DECL_V4L2_CID_TUNE_POWER_LEVEL) && HAVE_DECL_V4L2_CID_TUNE_POWER_LEVEL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TUNE_POWER_LEVEL) == ((V4L2_CID_FM_TX_CLASS_BASE + 113)), "V4L2_CID_TUNE_POWER_LEVEL != (V4L2_CID_FM_TX_CLASS_BASE + 113)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113) +#endif +#if defined(V4L2_CID_TUNE_ANTENNA_CAPACITOR) || (defined(HAVE_DECL_V4L2_CID_TUNE_ANTENNA_CAPACITOR) && HAVE_DECL_V4L2_CID_TUNE_ANTENNA_CAPACITOR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TUNE_ANTENNA_CAPACITOR) == ((V4L2_CID_FM_TX_CLASS_BASE + 114)), "V4L2_CID_TUNE_ANTENNA_CAPACITOR != (V4L2_CID_FM_TX_CLASS_BASE + 114)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114) +#endif +#if defined(V4L2_CID_FLASH_LED_MODE) || (defined(HAVE_DECL_V4L2_CID_FLASH_LED_MODE) && HAVE_DECL_V4L2_CID_FLASH_LED_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_LED_MODE) == ((V4L2_CID_FLASH_CLASS_BASE + 1)), "V4L2_CID_FLASH_LED_MODE != (V4L2_CID_FLASH_CLASS_BASE + 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1) +#endif +#if defined(V4L2_CID_FLASH_STROBE_SOURCE) || (defined(HAVE_DECL_V4L2_CID_FLASH_STROBE_SOURCE) && HAVE_DECL_V4L2_CID_FLASH_STROBE_SOURCE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_STROBE_SOURCE) == ((V4L2_CID_FLASH_CLASS_BASE + 2)), "V4L2_CID_FLASH_STROBE_SOURCE != (V4L2_CID_FLASH_CLASS_BASE + 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_STROBE_SOURCE (V4L2_CID_FLASH_CLASS_BASE + 2) +#endif +#if defined(V4L2_CID_FLASH_STROBE) || (defined(HAVE_DECL_V4L2_CID_FLASH_STROBE) && HAVE_DECL_V4L2_CID_FLASH_STROBE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_STROBE) == ((V4L2_CID_FLASH_CLASS_BASE + 3)), "V4L2_CID_FLASH_STROBE != (V4L2_CID_FLASH_CLASS_BASE + 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_STROBE (V4L2_CID_FLASH_CLASS_BASE + 3) +#endif +#if defined(V4L2_CID_FLASH_STROBE_STOP) || (defined(HAVE_DECL_V4L2_CID_FLASH_STROBE_STOP) && HAVE_DECL_V4L2_CID_FLASH_STROBE_STOP) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_STROBE_STOP) == ((V4L2_CID_FLASH_CLASS_BASE + 4)), "V4L2_CID_FLASH_STROBE_STOP != (V4L2_CID_FLASH_CLASS_BASE + 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_STROBE_STOP (V4L2_CID_FLASH_CLASS_BASE + 4) +#endif +#if defined(V4L2_CID_FLASH_STROBE_STATUS) || (defined(HAVE_DECL_V4L2_CID_FLASH_STROBE_STATUS) && HAVE_DECL_V4L2_CID_FLASH_STROBE_STATUS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_STROBE_STATUS) == ((V4L2_CID_FLASH_CLASS_BASE + 5)), "V4L2_CID_FLASH_STROBE_STATUS != (V4L2_CID_FLASH_CLASS_BASE + 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_STROBE_STATUS (V4L2_CID_FLASH_CLASS_BASE + 5) +#endif +#if defined(V4L2_CID_FLASH_TIMEOUT) || (defined(HAVE_DECL_V4L2_CID_FLASH_TIMEOUT) && HAVE_DECL_V4L2_CID_FLASH_TIMEOUT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_TIMEOUT) == ((V4L2_CID_FLASH_CLASS_BASE + 6)), "V4L2_CID_FLASH_TIMEOUT != (V4L2_CID_FLASH_CLASS_BASE + 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_TIMEOUT (V4L2_CID_FLASH_CLASS_BASE + 6) +#endif +#if defined(V4L2_CID_FLASH_INTENSITY) || (defined(HAVE_DECL_V4L2_CID_FLASH_INTENSITY) && HAVE_DECL_V4L2_CID_FLASH_INTENSITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_INTENSITY) == ((V4L2_CID_FLASH_CLASS_BASE + 7)), "V4L2_CID_FLASH_INTENSITY != (V4L2_CID_FLASH_CLASS_BASE + 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 7) +#endif +#if defined(V4L2_CID_FLASH_TORCH_INTENSITY) || (defined(HAVE_DECL_V4L2_CID_FLASH_TORCH_INTENSITY) && HAVE_DECL_V4L2_CID_FLASH_TORCH_INTENSITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_TORCH_INTENSITY) == ((V4L2_CID_FLASH_CLASS_BASE + 8)), "V4L2_CID_FLASH_TORCH_INTENSITY != (V4L2_CID_FLASH_CLASS_BASE + 8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_TORCH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 8) +#endif +#if defined(V4L2_CID_FLASH_INDICATOR_INTENSITY) || (defined(HAVE_DECL_V4L2_CID_FLASH_INDICATOR_INTENSITY) && HAVE_DECL_V4L2_CID_FLASH_INDICATOR_INTENSITY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_INDICATOR_INTENSITY) == ((V4L2_CID_FLASH_CLASS_BASE + 9)), "V4L2_CID_FLASH_INDICATOR_INTENSITY != (V4L2_CID_FLASH_CLASS_BASE + 9)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_INDICATOR_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 9) +#endif +#if defined(V4L2_CID_FLASH_FAULT) || (defined(HAVE_DECL_V4L2_CID_FLASH_FAULT) && HAVE_DECL_V4L2_CID_FLASH_FAULT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_FAULT) == ((V4L2_CID_FLASH_CLASS_BASE + 10)), "V4L2_CID_FLASH_FAULT != (V4L2_CID_FLASH_CLASS_BASE + 10)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_FAULT (V4L2_CID_FLASH_CLASS_BASE + 10) +#endif +#if defined(V4L2_CID_FLASH_CHARGE) || (defined(HAVE_DECL_V4L2_CID_FLASH_CHARGE) && HAVE_DECL_V4L2_CID_FLASH_CHARGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_CHARGE) == ((V4L2_CID_FLASH_CLASS_BASE + 11)), "V4L2_CID_FLASH_CHARGE != (V4L2_CID_FLASH_CLASS_BASE + 11)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11) +#endif +#if defined(V4L2_CID_FLASH_READY) || (defined(HAVE_DECL_V4L2_CID_FLASH_READY) && HAVE_DECL_V4L2_CID_FLASH_READY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_FLASH_READY) == ((V4L2_CID_FLASH_CLASS_BASE + 12)), "V4L2_CID_FLASH_READY != (V4L2_CID_FLASH_CLASS_BASE + 12)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12) +#endif +#if defined(V4L2_CID_VBLANK) || (defined(HAVE_DECL_V4L2_CID_VBLANK) && HAVE_DECL_V4L2_CID_VBLANK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_VBLANK) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)), "V4L2_CID_VBLANK != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1) +#endif +#if defined(V4L2_CID_HBLANK) || (defined(HAVE_DECL_V4L2_CID_HBLANK) && HAVE_DECL_V4L2_CID_HBLANK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_HBLANK) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2)), "V4L2_CID_HBLANK != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_HBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2) +#endif +#if defined(V4L2_CID_ANALOGUE_GAIN) || (defined(HAVE_DECL_V4L2_CID_ANALOGUE_GAIN) && HAVE_DECL_V4L2_CID_ANALOGUE_GAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_ANALOGUE_GAIN) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3)), "V4L2_CID_ANALOGUE_GAIN != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_ANALOGUE_GAIN (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3) +#endif +#if defined(V4L2_CID_TEST_PATTERN_RED) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN_RED) && HAVE_DECL_V4L2_CID_TEST_PATTERN_RED) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TEST_PATTERN_RED) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4)), "V4L2_CID_TEST_PATTERN_RED != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TEST_PATTERN_RED (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4) +#endif +#if defined(V4L2_CID_TEST_PATTERN_GREENR) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN_GREENR) && HAVE_DECL_V4L2_CID_TEST_PATTERN_GREENR) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TEST_PATTERN_GREENR) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5)), "V4L2_CID_TEST_PATTERN_GREENR != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TEST_PATTERN_GREENR (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5) +#endif +#if defined(V4L2_CID_TEST_PATTERN_BLUE) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN_BLUE) && HAVE_DECL_V4L2_CID_TEST_PATTERN_BLUE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TEST_PATTERN_BLUE) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6)), "V4L2_CID_TEST_PATTERN_BLUE != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TEST_PATTERN_BLUE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6) +#endif +#if defined(V4L2_CID_TEST_PATTERN_GREENB) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN_GREENB) && HAVE_DECL_V4L2_CID_TEST_PATTERN_GREENB) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TEST_PATTERN_GREENB) == ((V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7)), "V4L2_CID_TEST_PATTERN_GREENB != (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TEST_PATTERN_GREENB (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7) +#endif +#if defined(V4L2_CID_LINK_FREQ) || (defined(HAVE_DECL_V4L2_CID_LINK_FREQ) && HAVE_DECL_V4L2_CID_LINK_FREQ) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_LINK_FREQ) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)), "V4L2_CID_LINK_FREQ != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1) +#endif +#if defined(V4L2_CID_PIXEL_RATE) || (defined(HAVE_DECL_V4L2_CID_PIXEL_RATE) && HAVE_DECL_V4L2_CID_PIXEL_RATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_PIXEL_RATE) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)), "V4L2_CID_PIXEL_RATE != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2) +#endif +#if defined(V4L2_CID_TEST_PATTERN) || (defined(HAVE_DECL_V4L2_CID_TEST_PATTERN) && HAVE_DECL_V4L2_CID_TEST_PATTERN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TEST_PATTERN) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)), "V4L2_CID_TEST_PATTERN != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3) +#endif +#if defined(V4L2_CID_DEINTERLACING_MODE) || (defined(HAVE_DECL_V4L2_CID_DEINTERLACING_MODE) && HAVE_DECL_V4L2_CID_DEINTERLACING_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DEINTERLACING_MODE) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 4)), "V4L2_CID_DEINTERLACING_MODE != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4) +#endif +#if defined(V4L2_CID_DIGITAL_GAIN) || (defined(HAVE_DECL_V4L2_CID_DIGITAL_GAIN) && HAVE_DECL_V4L2_CID_DIGITAL_GAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DIGITAL_GAIN) == ((V4L2_CID_IMAGE_PROC_CLASS_BASE + 5)), "V4L2_CID_DIGITAL_GAIN != (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DIGITAL_GAIN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5) +#endif +#if defined(V4L2_CID_DV_TX_RGB_RANGE) || (defined(HAVE_DECL_V4L2_CID_DV_TX_RGB_RANGE) && HAVE_DECL_V4L2_CID_DV_TX_RGB_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DV_TX_RGB_RANGE) == ((V4L2_CID_DV_CLASS_BASE + 5)), "V4L2_CID_DV_TX_RGB_RANGE != (V4L2_CID_DV_CLASS_BASE + 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5) +#endif +#if defined(V4L2_CID_DV_TX_IT_CONTENT_TYPE) || (defined(HAVE_DECL_V4L2_CID_DV_TX_IT_CONTENT_TYPE) && HAVE_DECL_V4L2_CID_DV_TX_IT_CONTENT_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DV_TX_IT_CONTENT_TYPE) == ((V4L2_CID_DV_CLASS_BASE + 6)), "V4L2_CID_DV_TX_IT_CONTENT_TYPE != (V4L2_CID_DV_CLASS_BASE + 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DV_TX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 6) +#endif +#if defined(V4L2_CID_DV_RX_RGB_RANGE) || (defined(HAVE_DECL_V4L2_CID_DV_RX_RGB_RANGE) && HAVE_DECL_V4L2_CID_DV_RX_RGB_RANGE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DV_RX_RGB_RANGE) == ((V4L2_CID_DV_CLASS_BASE + 101)), "V4L2_CID_DV_RX_RGB_RANGE != (V4L2_CID_DV_CLASS_BASE + 101)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101) +#endif +#if defined(V4L2_CID_DV_RX_IT_CONTENT_TYPE) || (defined(HAVE_DECL_V4L2_CID_DV_RX_IT_CONTENT_TYPE) && HAVE_DECL_V4L2_CID_DV_RX_IT_CONTENT_TYPE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DV_RX_IT_CONTENT_TYPE) == ((V4L2_CID_DV_CLASS_BASE + 102)), "V4L2_CID_DV_RX_IT_CONTENT_TYPE != (V4L2_CID_DV_CLASS_BASE + 102)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DV_RX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 102) +#endif +#if defined(V4L2_CID_TUNE_DEEMPHASIS) || (defined(HAVE_DECL_V4L2_CID_TUNE_DEEMPHASIS) && HAVE_DECL_V4L2_CID_TUNE_DEEMPHASIS) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_TUNE_DEEMPHASIS) == ((V4L2_CID_FM_RX_CLASS_BASE + 1)), "V4L2_CID_TUNE_DEEMPHASIS != (V4L2_CID_FM_RX_CLASS_BASE + 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1) +#endif +#if defined(V4L2_CID_RDS_RECEPTION) || (defined(HAVE_DECL_V4L2_CID_RDS_RECEPTION) && HAVE_DECL_V4L2_CID_RDS_RECEPTION) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_RECEPTION) == ((V4L2_CID_FM_RX_CLASS_BASE + 2)), "V4L2_CID_RDS_RECEPTION != (V4L2_CID_FM_RX_CLASS_BASE + 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2) +#endif +#if defined(V4L2_CID_RDS_RX_PTY) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_PTY) && HAVE_DECL_V4L2_CID_RDS_RX_PTY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_RX_PTY) == ((V4L2_CID_FM_RX_CLASS_BASE + 3)), "V4L2_CID_RDS_RX_PTY != (V4L2_CID_FM_RX_CLASS_BASE + 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_RX_PTY (V4L2_CID_FM_RX_CLASS_BASE + 3) +#endif +#if defined(V4L2_CID_RDS_RX_PS_NAME) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_PS_NAME) && HAVE_DECL_V4L2_CID_RDS_RX_PS_NAME) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_RX_PS_NAME) == ((V4L2_CID_FM_RX_CLASS_BASE + 4)), "V4L2_CID_RDS_RX_PS_NAME != (V4L2_CID_FM_RX_CLASS_BASE + 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_RX_PS_NAME (V4L2_CID_FM_RX_CLASS_BASE + 4) +#endif +#if defined(V4L2_CID_RDS_RX_RADIO_TEXT) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_RADIO_TEXT) && HAVE_DECL_V4L2_CID_RDS_RX_RADIO_TEXT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_RX_RADIO_TEXT) == ((V4L2_CID_FM_RX_CLASS_BASE + 5)), "V4L2_CID_RDS_RX_RADIO_TEXT != (V4L2_CID_FM_RX_CLASS_BASE + 5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_RX_RADIO_TEXT (V4L2_CID_FM_RX_CLASS_BASE + 5) +#endif +#if defined(V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT) && HAVE_DECL_V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT) == ((V4L2_CID_FM_RX_CLASS_BASE + 6)), "V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT != (V4L2_CID_FM_RX_CLASS_BASE + 6)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_RX_CLASS_BASE + 6) +#endif +#if defined(V4L2_CID_RDS_RX_TRAFFIC_PROGRAM) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_TRAFFIC_PROGRAM) && HAVE_DECL_V4L2_CID_RDS_RX_TRAFFIC_PROGRAM) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_RX_TRAFFIC_PROGRAM) == ((V4L2_CID_FM_RX_CLASS_BASE + 7)), "V4L2_CID_RDS_RX_TRAFFIC_PROGRAM != (V4L2_CID_FM_RX_CLASS_BASE + 7)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_RX_TRAFFIC_PROGRAM (V4L2_CID_FM_RX_CLASS_BASE + 7) +#endif +#if defined(V4L2_CID_RDS_RX_MUSIC_SPEECH) || (defined(HAVE_DECL_V4L2_CID_RDS_RX_MUSIC_SPEECH) && HAVE_DECL_V4L2_CID_RDS_RX_MUSIC_SPEECH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RDS_RX_MUSIC_SPEECH) == ((V4L2_CID_FM_RX_CLASS_BASE + 8)), "V4L2_CID_RDS_RX_MUSIC_SPEECH != (V4L2_CID_FM_RX_CLASS_BASE + 8)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RDS_RX_MUSIC_SPEECH (V4L2_CID_FM_RX_CLASS_BASE + 8) +#endif +#if defined(V4L2_CID_RF_TUNER_BANDWIDTH_AUTO) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_BANDWIDTH_AUTO) && HAVE_DECL_V4L2_CID_RF_TUNER_BANDWIDTH_AUTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_BANDWIDTH_AUTO) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 11)), "V4L2_CID_RF_TUNER_BANDWIDTH_AUTO != (V4L2_CID_RF_TUNER_CLASS_BASE + 11)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_BANDWIDTH_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 11) +#endif +#if defined(V4L2_CID_RF_TUNER_BANDWIDTH) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_BANDWIDTH) && HAVE_DECL_V4L2_CID_RF_TUNER_BANDWIDTH) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_BANDWIDTH) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 12)), "V4L2_CID_RF_TUNER_BANDWIDTH != (V4L2_CID_RF_TUNER_CLASS_BASE + 12)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_BANDWIDTH (V4L2_CID_RF_TUNER_CLASS_BASE + 12) +#endif +#if defined(V4L2_CID_RF_TUNER_RF_GAIN) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_RF_GAIN) && HAVE_DECL_V4L2_CID_RF_TUNER_RF_GAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_RF_GAIN) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 32)), "V4L2_CID_RF_TUNER_RF_GAIN != (V4L2_CID_RF_TUNER_CLASS_BASE + 32)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_RF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 32) +#endif +#if defined(V4L2_CID_RF_TUNER_LNA_GAIN_AUTO) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_LNA_GAIN_AUTO) && HAVE_DECL_V4L2_CID_RF_TUNER_LNA_GAIN_AUTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_LNA_GAIN_AUTO) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 41)), "V4L2_CID_RF_TUNER_LNA_GAIN_AUTO != (V4L2_CID_RF_TUNER_CLASS_BASE + 41)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_LNA_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 41) +#endif +#if defined(V4L2_CID_RF_TUNER_LNA_GAIN) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_LNA_GAIN) && HAVE_DECL_V4L2_CID_RF_TUNER_LNA_GAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_LNA_GAIN) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 42)), "V4L2_CID_RF_TUNER_LNA_GAIN != (V4L2_CID_RF_TUNER_CLASS_BASE + 42)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_LNA_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 42) +#endif +#if defined(V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO) && HAVE_DECL_V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 51)), "V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO != (V4L2_CID_RF_TUNER_CLASS_BASE + 51)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 51) +#endif +#if defined(V4L2_CID_RF_TUNER_MIXER_GAIN) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_MIXER_GAIN) && HAVE_DECL_V4L2_CID_RF_TUNER_MIXER_GAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_MIXER_GAIN) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 52)), "V4L2_CID_RF_TUNER_MIXER_GAIN != (V4L2_CID_RF_TUNER_CLASS_BASE + 52)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_MIXER_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 52) +#endif +#if defined(V4L2_CID_RF_TUNER_IF_GAIN_AUTO) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_IF_GAIN_AUTO) && HAVE_DECL_V4L2_CID_RF_TUNER_IF_GAIN_AUTO) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_IF_GAIN_AUTO) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 61)), "V4L2_CID_RF_TUNER_IF_GAIN_AUTO != (V4L2_CID_RF_TUNER_CLASS_BASE + 61)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_IF_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 61) +#endif +#if defined(V4L2_CID_RF_TUNER_IF_GAIN) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_IF_GAIN) && HAVE_DECL_V4L2_CID_RF_TUNER_IF_GAIN) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_IF_GAIN) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 62)), "V4L2_CID_RF_TUNER_IF_GAIN != (V4L2_CID_RF_TUNER_CLASS_BASE + 62)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62) +#endif +#if defined(V4L2_CID_RF_TUNER_PLL_LOCK) || (defined(HAVE_DECL_V4L2_CID_RF_TUNER_PLL_LOCK) && HAVE_DECL_V4L2_CID_RF_TUNER_PLL_LOCK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_RF_TUNER_PLL_LOCK) == ((V4L2_CID_RF_TUNER_CLASS_BASE + 91)), "V4L2_CID_RF_TUNER_PLL_LOCK != (V4L2_CID_RF_TUNER_CLASS_BASE + 91)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91) +#endif +#if defined(V4L2_CID_DETECT_MD_MODE) || (defined(HAVE_DECL_V4L2_CID_DETECT_MD_MODE) && HAVE_DECL_V4L2_CID_DETECT_MD_MODE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DETECT_MD_MODE) == ((V4L2_CID_DETECT_CLASS_BASE + 1)), "V4L2_CID_DETECT_MD_MODE != (V4L2_CID_DETECT_CLASS_BASE + 1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1) +#endif +#if defined(V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD) || (defined(HAVE_DECL_V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD) && HAVE_DECL_V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD) == ((V4L2_CID_DETECT_CLASS_BASE + 2)), "V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD != (V4L2_CID_DETECT_CLASS_BASE + 2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD (V4L2_CID_DETECT_CLASS_BASE + 2) +#endif +#if defined(V4L2_CID_DETECT_MD_THRESHOLD_GRID) || (defined(HAVE_DECL_V4L2_CID_DETECT_MD_THRESHOLD_GRID) && HAVE_DECL_V4L2_CID_DETECT_MD_THRESHOLD_GRID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DETECT_MD_THRESHOLD_GRID) == ((V4L2_CID_DETECT_CLASS_BASE + 3)), "V4L2_CID_DETECT_MD_THRESHOLD_GRID != (V4L2_CID_DETECT_CLASS_BASE + 3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3) +#endif +#if defined(V4L2_CID_DETECT_MD_REGION_GRID) || (defined(HAVE_DECL_V4L2_CID_DETECT_MD_REGION_GRID) && HAVE_DECL_V4L2_CID_DETECT_MD_REGION_GRID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_CID_DETECT_MD_REGION_GRID) == ((V4L2_CID_DETECT_CLASS_BASE + 4)), "V4L2_CID_DETECT_MD_REGION_GRID != (V4L2_CID_DETECT_CLASS_BASE + 4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4) +#endif + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +extern const struct xlat v4l2_control_ids[]; + +# else + +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +static +# endif +const struct xlat v4l2_control_ids[] = { + + XLAT(V4L2_CID_BRIGHTNESS), + XLAT(V4L2_CID_CONTRAST), + XLAT(V4L2_CID_SATURATION), + XLAT(V4L2_CID_HUE), + XLAT(V4L2_CID_AUDIO_VOLUME), + XLAT(V4L2_CID_AUDIO_BALANCE), + XLAT(V4L2_CID_AUDIO_BASS), + XLAT(V4L2_CID_AUDIO_TREBLE), + XLAT(V4L2_CID_AUDIO_MUTE), + XLAT(V4L2_CID_AUDIO_LOUDNESS), + XLAT(V4L2_CID_BLACK_LEVEL), + XLAT(V4L2_CID_AUTO_WHITE_BALANCE), + XLAT(V4L2_CID_DO_WHITE_BALANCE), + XLAT(V4L2_CID_RED_BALANCE), + XLAT(V4L2_CID_BLUE_BALANCE), + XLAT(V4L2_CID_GAMMA), + XLAT(V4L2_CID_EXPOSURE), + XLAT(V4L2_CID_AUTOGAIN), + XLAT(V4L2_CID_GAIN), + XLAT(V4L2_CID_HFLIP), + XLAT(V4L2_CID_VFLIP), + XLAT(V4L2_CID_HCENTER), + XLAT(V4L2_CID_VCENTER), + XLAT(V4L2_CID_POWER_LINE_FREQUENCY), + XLAT(V4L2_CID_HUE_AUTO), + XLAT(V4L2_CID_WHITE_BALANCE_TEMPERATURE), + XLAT(V4L2_CID_SHARPNESS), + XLAT(V4L2_CID_BACKLIGHT_COMPENSATION), + XLAT(V4L2_CID_CHROMA_AGC), + XLAT(V4L2_CID_COLOR_KILLER), + XLAT(V4L2_CID_COLORFX), + XLAT(V4L2_CID_AUTOBRIGHTNESS), + XLAT(V4L2_CID_BAND_STOP_FILTER), + XLAT(V4L2_CID_ROTATE), + XLAT(V4L2_CID_BG_COLOR), + XLAT(V4L2_CID_CHROMA_GAIN), + XLAT(V4L2_CID_ILLUMINATORS_1), + XLAT(V4L2_CID_ILLUMINATORS_2), + XLAT(V4L2_CID_MIN_BUFFERS_FOR_CAPTURE), + XLAT(V4L2_CID_MIN_BUFFERS_FOR_OUTPUT), + XLAT(V4L2_CID_ALPHA_COMPONENT), + XLAT(V4L2_CID_COLORFX_CBCR), + + + XLAT(V4L2_CID_MPEG_STREAM_TYPE), + XLAT(V4L2_CID_MPEG_STREAM_PID_PMT), + XLAT(V4L2_CID_MPEG_STREAM_PID_AUDIO), + XLAT(V4L2_CID_MPEG_STREAM_PID_VIDEO), + XLAT(V4L2_CID_MPEG_STREAM_PID_PCR), + XLAT(V4L2_CID_MPEG_STREAM_PES_ID_AUDIO), + XLAT(V4L2_CID_MPEG_STREAM_PES_ID_VIDEO), + XLAT(V4L2_CID_MPEG_STREAM_VBI_FMT), + + XLAT(V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ), + XLAT(V4L2_CID_MPEG_AUDIO_ENCODING), + XLAT(V4L2_CID_MPEG_AUDIO_L1_BITRATE), + XLAT(V4L2_CID_MPEG_AUDIO_L2_BITRATE), + XLAT(V4L2_CID_MPEG_AUDIO_L3_BITRATE), + XLAT(V4L2_CID_MPEG_AUDIO_MODE), + XLAT(V4L2_CID_MPEG_AUDIO_MODE_EXTENSION), + XLAT(V4L2_CID_MPEG_AUDIO_EMPHASIS), + XLAT(V4L2_CID_MPEG_AUDIO_CRC), + XLAT(V4L2_CID_MPEG_AUDIO_MUTE), + XLAT(V4L2_CID_MPEG_AUDIO_AAC_BITRATE), + XLAT(V4L2_CID_MPEG_AUDIO_AC3_BITRATE), + XLAT(V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK), + XLAT(V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK), + + XLAT(V4L2_CID_MPEG_VIDEO_ENCODING), + XLAT(V4L2_CID_MPEG_VIDEO_ASPECT), + XLAT(V4L2_CID_MPEG_VIDEO_B_FRAMES), + XLAT(V4L2_CID_MPEG_VIDEO_GOP_SIZE), + XLAT(V4L2_CID_MPEG_VIDEO_GOP_CLOSURE), + XLAT(V4L2_CID_MPEG_VIDEO_PULLDOWN), + XLAT(V4L2_CID_MPEG_VIDEO_BITRATE_MODE), + XLAT(V4L2_CID_MPEG_VIDEO_BITRATE), + XLAT(V4L2_CID_MPEG_VIDEO_BITRATE_PEAK), + XLAT(V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION), + XLAT(V4L2_CID_MPEG_VIDEO_MUTE), + XLAT(V4L2_CID_MPEG_VIDEO_MUTE_YUV), + XLAT(V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE), + XLAT(V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER), + XLAT(V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB), + XLAT(V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE), + XLAT(V4L2_CID_MPEG_VIDEO_HEADER_MODE), + XLAT(V4L2_CID_MPEG_VIDEO_MAX_REF_PIC), + XLAT(V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE), + XLAT(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES), + XLAT(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB), + XLAT(V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE), + XLAT(V4L2_CID_MPEG_VIDEO_VBV_SIZE), + XLAT(V4L2_CID_MPEG_VIDEO_DEC_PTS), + XLAT(V4L2_CID_MPEG_VIDEO_DEC_FRAME), + XLAT(V4L2_CID_MPEG_VIDEO_VBV_DELAY), + XLAT(V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER), + XLAT(V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE), + XLAT(V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE), + XLAT(V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME), + XLAT(V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H263_MIN_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H263_MAX_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H264_MIN_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H264_MAX_QP), + XLAT(V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM), + XLAT(V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE), + XLAT(V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE), + XLAT(V4L2_CID_MPEG_VIDEO_H264_I_PERIOD), + XLAT(V4L2_CID_MPEG_VIDEO_H264_LEVEL), + XLAT(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA), + XLAT(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA), + XLAT(V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE), + XLAT(V4L2_CID_MPEG_VIDEO_H264_PROFILE), + XLAT(V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT), + XLAT(V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH), + XLAT(V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE), + XLAT(V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC), + XLAT(V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING), + XLAT(V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0), + XLAT(V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE), + XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO), + XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE), + XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP), + XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION), + XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE), + XLAT(V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH), + XLAT(V4L2_CID_MPEG_VIDEO_H264_ASO), + XLAT(V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER), + XLAT(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING), + XLAT(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE), + XLAT(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER), + XLAT(V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP), + XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP), + XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP), + XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL), + XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE), + XLAT(V4L2_CID_MPEG_VIDEO_MPEG4_QPEL), + + XLAT(V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_MIN_QP), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_MAX_QP), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_VPX_PROFILE), + + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_PROFILE), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LEVEL), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_TIER), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR), + XLAT(V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR), + XLAT(V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES), + XLAT(V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR), + + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM), + XLAT(V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP), + XLAT(V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS), + + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_PADDING), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC), + XLAT(V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P), + + XLAT(V4L2_CID_EXPOSURE_AUTO), + XLAT(V4L2_CID_EXPOSURE_ABSOLUTE), + XLAT(V4L2_CID_EXPOSURE_AUTO_PRIORITY), + XLAT(V4L2_CID_PAN_RELATIVE), + XLAT(V4L2_CID_TILT_RELATIVE), + XLAT(V4L2_CID_PAN_RESET), + XLAT(V4L2_CID_TILT_RESET), + XLAT(V4L2_CID_PAN_ABSOLUTE), + XLAT(V4L2_CID_TILT_ABSOLUTE), + XLAT(V4L2_CID_FOCUS_ABSOLUTE), + XLAT(V4L2_CID_FOCUS_RELATIVE), + XLAT(V4L2_CID_FOCUS_AUTO), + XLAT(V4L2_CID_ZOOM_ABSOLUTE), + XLAT(V4L2_CID_ZOOM_RELATIVE), + XLAT(V4L2_CID_ZOOM_CONTINUOUS), + XLAT(V4L2_CID_PRIVACY), + XLAT(V4L2_CID_IRIS_ABSOLUTE), + XLAT(V4L2_CID_IRIS_RELATIVE), + XLAT(V4L2_CID_AUTO_EXPOSURE_BIAS), + XLAT(V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE), + XLAT(V4L2_CID_WIDE_DYNAMIC_RANGE), + XLAT(V4L2_CID_IMAGE_STABILIZATION), + XLAT(V4L2_CID_ISO_SENSITIVITY), + XLAT(V4L2_CID_ISO_SENSITIVITY_AUTO), + XLAT(V4L2_CID_EXPOSURE_METERING), + XLAT(V4L2_CID_SCENE_MODE), + XLAT(V4L2_CID_3A_LOCK), + XLAT(V4L2_CID_AUTO_FOCUS_START), + XLAT(V4L2_CID_AUTO_FOCUS_STOP), + XLAT(V4L2_CID_AUTO_FOCUS_STATUS), + XLAT(V4L2_CID_AUTO_FOCUS_RANGE), + XLAT(V4L2_CID_PAN_SPEED), + XLAT(V4L2_CID_TILT_SPEED), + + XLAT(V4L2_CID_RDS_TX_DEVIATION), + XLAT(V4L2_CID_RDS_TX_PI), + XLAT(V4L2_CID_RDS_TX_PTY), + XLAT(V4L2_CID_RDS_TX_PS_NAME), + XLAT(V4L2_CID_RDS_TX_RADIO_TEXT), + XLAT(V4L2_CID_RDS_TX_MONO_STEREO), + XLAT(V4L2_CID_RDS_TX_ARTIFICIAL_HEAD), + XLAT(V4L2_CID_RDS_TX_COMPRESSED), + XLAT(V4L2_CID_RDS_TX_DYNAMIC_PTY), + XLAT(V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT), + XLAT(V4L2_CID_RDS_TX_TRAFFIC_PROGRAM), + XLAT(V4L2_CID_RDS_TX_MUSIC_SPEECH), + XLAT(V4L2_CID_RDS_TX_ALT_FREQS_ENABLE), + XLAT(V4L2_CID_RDS_TX_ALT_FREQS), + XLAT(V4L2_CID_AUDIO_LIMITER_ENABLED), + XLAT(V4L2_CID_AUDIO_LIMITER_RELEASE_TIME), + XLAT(V4L2_CID_AUDIO_LIMITER_DEVIATION), + XLAT(V4L2_CID_AUDIO_COMPRESSION_ENABLED), + XLAT(V4L2_CID_AUDIO_COMPRESSION_GAIN), + XLAT(V4L2_CID_AUDIO_COMPRESSION_THRESHOLD), + XLAT(V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME), + XLAT(V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME), + XLAT(V4L2_CID_PILOT_TONE_ENABLED), + XLAT(V4L2_CID_PILOT_TONE_DEVIATION), + XLAT(V4L2_CID_PILOT_TONE_FREQUENCY), + XLAT(V4L2_CID_TUNE_PREEMPHASIS), + XLAT(V4L2_CID_TUNE_POWER_LEVEL), + XLAT(V4L2_CID_TUNE_ANTENNA_CAPACITOR), + + XLAT(V4L2_CID_FLASH_LED_MODE), + XLAT(V4L2_CID_FLASH_STROBE_SOURCE), + XLAT(V4L2_CID_FLASH_STROBE), + XLAT(V4L2_CID_FLASH_STROBE_STOP), + XLAT(V4L2_CID_FLASH_STROBE_STATUS), + XLAT(V4L2_CID_FLASH_TIMEOUT), + XLAT(V4L2_CID_FLASH_INTENSITY), + XLAT(V4L2_CID_FLASH_TORCH_INTENSITY), + XLAT(V4L2_CID_FLASH_INDICATOR_INTENSITY), + XLAT(V4L2_CID_FLASH_FAULT), + XLAT(V4L2_CID_FLASH_CHARGE), + XLAT(V4L2_CID_FLASH_READY), + + XLAT(V4L2_CID_VBLANK), + XLAT(V4L2_CID_HBLANK), + XLAT(V4L2_CID_ANALOGUE_GAIN), + XLAT(V4L2_CID_TEST_PATTERN_RED), + XLAT(V4L2_CID_TEST_PATTERN_GREENR), + XLAT(V4L2_CID_TEST_PATTERN_BLUE), + XLAT(V4L2_CID_TEST_PATTERN_GREENB), + + XLAT(V4L2_CID_LINK_FREQ), + XLAT(V4L2_CID_PIXEL_RATE), + XLAT(V4L2_CID_TEST_PATTERN), + XLAT(V4L2_CID_DEINTERLACING_MODE), + XLAT(V4L2_CID_DIGITAL_GAIN), + + XLAT(V4L2_CID_DV_TX_RGB_RANGE), + XLAT(V4L2_CID_DV_TX_IT_CONTENT_TYPE), + XLAT(V4L2_CID_DV_RX_RGB_RANGE), + XLAT(V4L2_CID_DV_RX_IT_CONTENT_TYPE), + XLAT(V4L2_CID_TUNE_DEEMPHASIS), + XLAT(V4L2_CID_RDS_RECEPTION), + XLAT(V4L2_CID_RDS_RX_PTY), + XLAT(V4L2_CID_RDS_RX_PS_NAME), + XLAT(V4L2_CID_RDS_RX_RADIO_TEXT), + XLAT(V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT), + XLAT(V4L2_CID_RDS_RX_TRAFFIC_PROGRAM), + XLAT(V4L2_CID_RDS_RX_MUSIC_SPEECH), + XLAT(V4L2_CID_RF_TUNER_BANDWIDTH_AUTO), + XLAT(V4L2_CID_RF_TUNER_BANDWIDTH), + XLAT(V4L2_CID_RF_TUNER_RF_GAIN), + XLAT(V4L2_CID_RF_TUNER_LNA_GAIN_AUTO), + XLAT(V4L2_CID_RF_TUNER_LNA_GAIN), + XLAT(V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO), + XLAT(V4L2_CID_RF_TUNER_MIXER_GAIN), + XLAT(V4L2_CID_RF_TUNER_IF_GAIN_AUTO), + XLAT(V4L2_CID_RF_TUNER_IF_GAIN), + XLAT(V4L2_CID_RF_TUNER_PLL_LOCK), + + XLAT(V4L2_CID_DETECT_MD_MODE), + XLAT(V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD), + XLAT(V4L2_CID_DETECT_MD_THRESHOLD_GRID), + XLAT(V4L2_CID_DETECT_MD_REGION_GRID), + XLAT_END +}; + +# endif /* !IN_MPERS */ -#endif /* !IN_MPERS */ +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_control_ids.in b/xlat/v4l2_control_ids.in index 3dee9330..08859443 100644 --- a/xlat/v4l2_control_ids.in +++ b/xlat/v4l2_control_ids.in @@ -1,77 +1,349 @@ -0 -V4L2_CID_BRIGHTNESS -V4L2_CID_CONTRAST -V4L2_CID_SATURATION -V4L2_CID_HUE -V4L2_CID_AUDIO_VOLUME -V4L2_CID_AUDIO_BALANCE -V4L2_CID_AUDIO_BASS -V4L2_CID_AUDIO_TREBLE -V4L2_CID_AUDIO_MUTE -V4L2_CID_AUDIO_LOUDNESS -V4L2_CID_BLACK_LEVEL -V4L2_CID_AUTO_WHITE_BALANCE -V4L2_CID_DO_WHITE_BALANCE -V4L2_CID_RED_BALANCE -V4L2_CID_BLUE_BALANCE -V4L2_CID_GAMMA -V4L2_CID_WHITENESS -V4L2_CID_EXPOSURE -V4L2_CID_AUTOGAIN -V4L2_CID_GAIN -V4L2_CID_HFLIP -V4L2_CID_VFLIP -V4L2_CID_HCENTER -V4L2_CID_VCENTER -V4L2_CID_POWER_LINE_FREQUENCY -V4L2_CID_HUE_AUTO -V4L2_CID_WHITE_BALANCE_TEMPERATURE -V4L2_CID_SHARPNESS -V4L2_CID_BACKLIGHT_COMPENSATION -V4L2_CID_CHROMA_AGC -V4L2_CID_CHROMA_GAIN -V4L2_CID_COLOR_KILLER -V4L2_CID_COLORFX -V4L2_CID_COLORFX_CBCR -V4L2_CID_AUTOBRIGHTNESS -V4L2_CID_BAND_STOP_FILTER -V4L2_CID_ROTATE -V4L2_CID_BG_COLOR -V4L2_CID_ILLUMINATORS_1 -V4L2_CID_ILLUMINATORS_2 -V4L2_CID_MIN_BUFFERS_FOR_CAPTURE -V4L2_CID_MIN_BUFFERS_FOR_OUTPUT -V4L2_CID_ALPHA_COMPONENT +/* User-class control IDs */ +V4L2_CID_BRIGHTNESS (V4L2_CID_BASE+0) +V4L2_CID_CONTRAST (V4L2_CID_BASE+1) +V4L2_CID_SATURATION (V4L2_CID_BASE+2) +V4L2_CID_HUE (V4L2_CID_BASE+3) +V4L2_CID_AUDIO_VOLUME (V4L2_CID_BASE+5) +V4L2_CID_AUDIO_BALANCE (V4L2_CID_BASE+6) +V4L2_CID_AUDIO_BASS (V4L2_CID_BASE+7) +V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8) +V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9) +V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10) +V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11) /* Deprecated */ +V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12) +V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13) +V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14) +V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15) +V4L2_CID_GAMMA (V4L2_CID_BASE+16) +V4L2_CID_EXPOSURE (V4L2_CID_BASE+17) +V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18) +V4L2_CID_GAIN (V4L2_CID_BASE+19) +V4L2_CID_HFLIP (V4L2_CID_BASE+20) +V4L2_CID_VFLIP (V4L2_CID_BASE+21) +V4L2_CID_HCENTER (V4L2_CID_BASE+22) +V4L2_CID_VCENTER (V4L2_CID_BASE+23) +V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24) +V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25) +V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26) +V4L2_CID_SHARPNESS (V4L2_CID_BASE+27) +V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28) +V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29) +V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30) +V4L2_CID_COLORFX (V4L2_CID_BASE+31) +V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32) +V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33) +V4L2_CID_ROTATE (V4L2_CID_BASE+34) +V4L2_CID_BG_COLOR (V4L2_CID_BASE+35) +V4L2_CID_CHROMA_GAIN (V4L2_CID_BASE+36) +V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37) +V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38) +V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39) +V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40) +V4L2_CID_ALPHA_COMPONENT (V4L2_CID_BASE+41) +V4L2_CID_COLORFX_CBCR (V4L2_CID_BASE+42) +/* MPEG-class control IDs */ +/* MPEG streams, specific to multiplexed streams */ +V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0) +V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1) +V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2) +V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_MPEG_BASE+3) +V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_MPEG_BASE+4) +V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_MPEG_BASE+5) +V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6) +V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7) +/* MPEG audio controls specific to multiplexed streams */ +V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100) +V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101) +V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102) +V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103) +V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104) +V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105) +V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106) +V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107) +V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108) +V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109) +V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110) +V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111) +V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_MPEG_BASE+112) +V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_MPEG_BASE+113) +/* MPEG video controls specific to multiplexed streams */ +V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200) +V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201) +V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202) +V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203) +V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_MPEG_BASE+204) +V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205) +V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206) +V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207) +V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208) +V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209) +V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210) +V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211) +V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_MPEG_BASE+212) +V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_MPEG_BASE+213) +V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+214) +V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+215) +V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_MPEG_BASE+216) +V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217) +V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218) +V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_MPEG_BASE+219) +V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_MPEG_BASE+220) +V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221) +V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222) +V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223) +V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224) +V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225) +V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226) +V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227) +V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228) +V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229) +V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) +V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) +V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302) +V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_MPEG_BASE+303) +V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_MPEG_BASE+304) +V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+350) +V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+351) +V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+352) +V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_MPEG_BASE+353) +V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_MPEG_BASE+354) +V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_MPEG_BASE+355) +V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_MPEG_BASE+356) +V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_MPEG_BASE+357) +V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+358) +V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_MPEG_BASE+359) +V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360) +V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361) +V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362) +V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363) +V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364) +V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365) +V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366) +V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367) +V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_MPEG_BASE+368) +V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_MPEG_BASE+369) +V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_MPEG_BASE+370) +V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_MPEG_BASE+371) +V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_MPEG_BASE+372) +V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_MPEG_BASE+373) +V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_MPEG_BASE+374) +V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_MPEG_BASE+375) +V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_MPEG_BASE+376) +V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_MPEG_BASE+377) +V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_MPEG_BASE+378) +V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_MPEG_BASE+379) +V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_MPEG_BASE+380) +V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_MPEG_BASE+381) +V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_MPEG_BASE+382) +V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400) +V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401) +V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402) +V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403) +V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404) +V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405) +V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406) +V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407) +/* Control IDs for VP8 streams */ +V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_MPEG_BASE+500) +V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_MPEG_BASE+501) +V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_MPEG_BASE+502) +V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_MPEG_BASE+503) +V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_MPEG_BASE+504) +V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_MPEG_BASE+505) +V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_MPEG_BASE+506) +V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_MPEG_BASE+507) +V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_MPEG_BASE+508) +V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_MPEG_BASE+509) +V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_MPEG_BASE+510) +V4L2_CID_MPEG_VIDEO_VPX_PROFILE (V4L2_CID_MPEG_BASE+511) +/* CIDs for HEVC encoding. */ +V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_MPEG_BASE + 600) +V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_MPEG_BASE + 601) +V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_MPEG_BASE + 602) +V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_MPEG_BASE + 603) +V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_MPEG_BASE + 604) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_MPEG_BASE + 605) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_MPEG_BASE + 606) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_MPEG_BASE + 607) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_MPEG_BASE + 608) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_MPEG_BASE + 609) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_MPEG_BASE + 610) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_MPEG_BASE + 611) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_MPEG_BASE + 612) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_MPEG_BASE + 613) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_MPEG_BASE + 614) +V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_MPEG_BASE + 615) +V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_MPEG_BASE + 616) +V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_MPEG_BASE + 617) +V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_MPEG_BASE + 618) +V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_MPEG_BASE + 619) +V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE + 620) +V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 621) +V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 622) +V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_MPEG_BASE + 623) +V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_MPEG_BASE + 624) +V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_MPEG_BASE + 625) +V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_MPEG_BASE + 626) +V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_MPEG_BASE + 627) +V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_MPEG_BASE + 628) +V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_MPEG_BASE + 629) +V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_MPEG_BASE + 630) +V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_MPEG_BASE + 631) +V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_MPEG_BASE + 632) +V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_MPEG_BASE + 633) +V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_MPEG_BASE + 634) +V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_MPEG_BASE + 635) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_MPEG_BASE + 636) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_MPEG_BASE + 637) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_MPEG_BASE + 638) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_MPEG_BASE + 639) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_MPEG_BASE + 640) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_MPEG_BASE + 641) +V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_MPEG_BASE + 642) +V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_MPEG_BASE + 643) +V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_MPEG_BASE + 644) +/* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ +V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0) +V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1) +V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2) +V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3) +V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4) +V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5) +V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6) +V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7) +V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8) +V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9) +V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) +V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) +/* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */ +V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0) +V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1) +V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2) +V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3) +V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4) +V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5) +V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6) +V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7) +V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50) +V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51) +V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52) +V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53) +V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54) /* Camera class control IDs */ -V4L2_CID_EXPOSURE_AUTO -V4L2_CID_EXPOSURE_ABSOLUTE -V4L2_CID_EXPOSURE_AUTO_PRIORITY -V4L2_CID_PAN_RELATIVE -V4L2_CID_TILT_RELATIVE -V4L2_CID_PAN_RESET -V4L2_CID_TILT_RESET -V4L2_CID_PAN_ABSOLUTE -V4L2_CID_TILT_ABSOLUTE -V4L2_CID_FOCUS_ABSOLUTE -V4L2_CID_FOCUS_RELATIVE -V4L2_CID_FOCUS_AUTO -V4L2_CID_ZOOM_ABSOLUTE -V4L2_CID_ZOOM_RELATIVE -V4L2_CID_ZOOM_CONTINUOUS -V4L2_CID_PRIVACY -V4L2_CID_IRIS_ABSOLUTE -V4L2_CID_IRIS_RELATIVE -V4L2_CID_AUTO_EXPOSURE_BIAS -V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE -V4L2_CID_WIDE_DYNAMIC_RANGE -V4L2_CID_IMAGE_STABILIZATION -V4L2_CID_ISO_SENSITIVITY -V4L2_CID_ISO_SENSITIVITY_AUTO -V4L2_CID_EXPOSURE_METERING -V4L2_CID_SCENE_MODE -V4L2_CID_3A_LOCK -V4L2_CID_AUTO_FOCUS_START -V4L2_CID_AUTO_FOCUS_STOP -V4L2_CID_AUTO_FOCUS_STATUS -V4L2_CID_AUTO_FOCUS_RANGE -V4L2_CID_PRIVATE_BASE +V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1) +V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2) +V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3) +V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+4) +V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+5) +V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE+6) +V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE+7) +V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+8) +V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+9) +V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+10) +V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+11) +V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE+12) +V4L2_CID_ZOOM_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+13) +V4L2_CID_ZOOM_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+14) +V4L2_CID_ZOOM_CONTINUOUS (V4L2_CID_CAMERA_CLASS_BASE+15) +V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16) +V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17) +V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+18) +V4L2_CID_AUTO_EXPOSURE_BIAS (V4L2_CID_CAMERA_CLASS_BASE+19) +V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE (V4L2_CID_CAMERA_CLASS_BASE+20) +V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21) +V4L2_CID_IMAGE_STABILIZATION (V4L2_CID_CAMERA_CLASS_BASE+22) +V4L2_CID_ISO_SENSITIVITY (V4L2_CID_CAMERA_CLASS_BASE+23) +V4L2_CID_ISO_SENSITIVITY_AUTO (V4L2_CID_CAMERA_CLASS_BASE+24) +V4L2_CID_EXPOSURE_METERING (V4L2_CID_CAMERA_CLASS_BASE+25) +V4L2_CID_SCENE_MODE (V4L2_CID_CAMERA_CLASS_BASE+26) +V4L2_CID_3A_LOCK (V4L2_CID_CAMERA_CLASS_BASE+27) +V4L2_CID_AUTO_FOCUS_START (V4L2_CID_CAMERA_CLASS_BASE+28) +V4L2_CID_AUTO_FOCUS_STOP (V4L2_CID_CAMERA_CLASS_BASE+29) +V4L2_CID_AUTO_FOCUS_STATUS (V4L2_CID_CAMERA_CLASS_BASE+30) +V4L2_CID_AUTO_FOCUS_RANGE (V4L2_CID_CAMERA_CLASS_BASE+31) +V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32) +V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33) +/* FM Modulator class control IDs */ +V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1) +V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 2) +V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3) +V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5) +V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6) +V4L2_CID_RDS_TX_MONO_STEREO (V4L2_CID_FM_TX_CLASS_BASE + 7) +V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (V4L2_CID_FM_TX_CLASS_BASE + 8) +V4L2_CID_RDS_TX_COMPRESSED (V4L2_CID_FM_TX_CLASS_BASE + 9) +V4L2_CID_RDS_TX_DYNAMIC_PTY (V4L2_CID_FM_TX_CLASS_BASE + 10) +V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_TX_CLASS_BASE + 11) +V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (V4L2_CID_FM_TX_CLASS_BASE + 12) +V4L2_CID_RDS_TX_MUSIC_SPEECH (V4L2_CID_FM_TX_CLASS_BASE + 13) +V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (V4L2_CID_FM_TX_CLASS_BASE + 14) +V4L2_CID_RDS_TX_ALT_FREQS (V4L2_CID_FM_TX_CLASS_BASE + 15) +V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64) +V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65) +V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 66) +V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 80) +V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 81) +V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 82) +V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 83) +V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 84) +V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 96) +V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 97) +V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 98) +V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112) +V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113) +V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114) +/* Flash and privacy (indicator) light controls */ +V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1) +V4L2_CID_FLASH_STROBE_SOURCE (V4L2_CID_FLASH_CLASS_BASE + 2) +V4L2_CID_FLASH_STROBE (V4L2_CID_FLASH_CLASS_BASE + 3) +V4L2_CID_FLASH_STROBE_STOP (V4L2_CID_FLASH_CLASS_BASE + 4) +V4L2_CID_FLASH_STROBE_STATUS (V4L2_CID_FLASH_CLASS_BASE + 5) +V4L2_CID_FLASH_TIMEOUT (V4L2_CID_FLASH_CLASS_BASE + 6) +V4L2_CID_FLASH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 7) +V4L2_CID_FLASH_TORCH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 8) +V4L2_CID_FLASH_INDICATOR_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 9) +V4L2_CID_FLASH_FAULT (V4L2_CID_FLASH_CLASS_BASE + 10) +V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11) +V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12) +/* Image source controls */ +V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1) +V4L2_CID_HBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2) +V4L2_CID_ANALOGUE_GAIN (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3) +V4L2_CID_TEST_PATTERN_RED (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4) +V4L2_CID_TEST_PATTERN_GREENR (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5) +V4L2_CID_TEST_PATTERN_BLUE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6) +V4L2_CID_TEST_PATTERN_GREENB (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7) +/* Image processing controls */ +V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1) +V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2) +V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3) +V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4) +V4L2_CID_DIGITAL_GAIN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5) +/* DV-class control IDs defined by V4L2 */ +V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5) +V4L2_CID_DV_TX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 6) +V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101) +V4L2_CID_DV_RX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 102) +V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1) +V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2) +V4L2_CID_RDS_RX_PTY (V4L2_CID_FM_RX_CLASS_BASE + 3) +V4L2_CID_RDS_RX_PS_NAME (V4L2_CID_FM_RX_CLASS_BASE + 4) +V4L2_CID_RDS_RX_RADIO_TEXT (V4L2_CID_FM_RX_CLASS_BASE + 5) +V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_RX_CLASS_BASE + 6) +V4L2_CID_RDS_RX_TRAFFIC_PROGRAM (V4L2_CID_FM_RX_CLASS_BASE + 7) +V4L2_CID_RDS_RX_MUSIC_SPEECH (V4L2_CID_FM_RX_CLASS_BASE + 8) +V4L2_CID_RF_TUNER_BANDWIDTH_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 11) +V4L2_CID_RF_TUNER_BANDWIDTH (V4L2_CID_RF_TUNER_CLASS_BASE + 12) +V4L2_CID_RF_TUNER_RF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 32) +V4L2_CID_RF_TUNER_LNA_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 41) +V4L2_CID_RF_TUNER_LNA_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 42) +V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 51) +V4L2_CID_RF_TUNER_MIXER_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 52) +V4L2_CID_RF_TUNER_IF_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 61) +V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62) +V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91) +/* Detection-class control IDs defined by V4L2 */ +V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1) +V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD (V4L2_CID_DETECT_CLASS_BASE + 2) +V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3) +V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4) diff --git a/xlat/v4l2_control_types.h b/xlat/v4l2_control_types.h index 872d0613..3f5a03a0 100644 --- a/xlat/v4l2_control_types.h +++ b/xlat/v4l2_control_types.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_control_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_control_types[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_control_types[] = { #if defined(V4L2_CTRL_TYPE_INTEGER) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_INTEGER) && HAVE_DECL_V4L2_CTRL_TYPE_INTEGER) XLAT(V4L2_CTRL_TYPE_INTEGER), @@ -49,4 +55,6 @@ const struct xlat v4l2_control_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_device_capabilities_flags.h b/xlat/v4l2_device_capabilities_flags.h index ef78c7a3..17b0f5a5 100644 --- a/xlat/v4l2_device_capabilities_flags.h +++ b/xlat/v4l2_device_capabilities_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_device_capabilities_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_device_capabilities_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_device_capabilities_flags[] = { #if defined(V4L2_CAP_VIDEO_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_VIDEO_CAPTURE) && HAVE_DECL_V4L2_CAP_VIDEO_CAPTURE) XLAT(V4L2_CAP_VIDEO_CAPTURE), @@ -97,4 +103,6 @@ const struct xlat v4l2_device_capabilities_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_fields.h b/xlat/v4l2_fields.h index a6c78db0..e065a73f 100644 --- a/xlat/v4l2_fields.h +++ b/xlat/v4l2_fields.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_fields.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_fields[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_fields[] = { #if defined(V4L2_FIELD_ANY) || (defined(HAVE_DECL_V4L2_FIELD_ANY) && HAVE_DECL_V4L2_FIELD_ANY) XLAT(V4L2_FIELD_ANY), @@ -43,4 +49,6 @@ const struct xlat v4l2_fields[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_format_description_flags.h b/xlat/v4l2_format_description_flags.h index d82236d7..9bf39a14 100644 --- a/xlat/v4l2_format_description_flags.h +++ b/xlat/v4l2_format_description_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_format_description_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_format_description_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_format_description_flags[] = { #if defined(V4L2_FMT_FLAG_COMPRESSED) || (defined(HAVE_DECL_V4L2_FMT_FLAG_COMPRESSED) && HAVE_DECL_V4L2_FMT_FLAG_COMPRESSED) XLAT(V4L2_FMT_FLAG_COMPRESSED), @@ -19,4 +25,6 @@ const struct xlat v4l2_format_description_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_frameinterval_types.h b/xlat/v4l2_frameinterval_types.h index 728c3c7d..6b7b9427 100644 --- a/xlat/v4l2_frameinterval_types.h +++ b/xlat/v4l2_frameinterval_types.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_frameinterval_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_frameinterval_types[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_frameinterval_types[] = { #if defined(V4L2_FRMIVAL_TYPE_DISCRETE) || (defined(HAVE_DECL_V4L2_FRMIVAL_TYPE_DISCRETE) && HAVE_DECL_V4L2_FRMIVAL_TYPE_DISCRETE) XLAT(V4L2_FRMIVAL_TYPE_DISCRETE), @@ -22,4 +28,6 @@ const struct xlat v4l2_frameinterval_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_framesize_types.h b/xlat/v4l2_framesize_types.h index 28a77c2b..9f5dbfa0 100644 --- a/xlat/v4l2_framesize_types.h +++ b/xlat/v4l2_framesize_types.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_framesize_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_framesize_types[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_framesize_types[] = { #if defined(V4L2_FRMSIZE_TYPE_DISCRETE) || (defined(HAVE_DECL_V4L2_FRMSIZE_TYPE_DISCRETE) && HAVE_DECL_V4L2_FRMSIZE_TYPE_DISCRETE) XLAT(V4L2_FRMSIZE_TYPE_DISCRETE), @@ -22,4 +28,6 @@ const struct xlat v4l2_framesize_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_input_types.h b/xlat/v4l2_input_types.h index 0b1ce6c7..9c023f27 100644 --- a/xlat/v4l2_input_types.h +++ b/xlat/v4l2_input_types.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_input_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_input_types[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_input_types[] = { #if defined(V4L2_INPUT_TYPE_TUNER) || (defined(HAVE_DECL_V4L2_INPUT_TYPE_TUNER) && HAVE_DECL_V4L2_INPUT_TYPE_TUNER) XLAT(V4L2_INPUT_TYPE_TUNER), @@ -22,4 +28,6 @@ const struct xlat v4l2_input_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_memories.h b/xlat/v4l2_memories.h index acbb395a..e13190d9 100644 --- a/xlat/v4l2_memories.h +++ b/xlat/v4l2_memories.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_memories.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_memories[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_memories[] = { #if defined(V4L2_MEMORY_MMAP) || (defined(HAVE_DECL_V4L2_MEMORY_MMAP) && HAVE_DECL_V4L2_MEMORY_MMAP) XLAT(V4L2_MEMORY_MMAP), @@ -25,4 +31,6 @@ const struct xlat v4l2_memories[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_pix_fmts.h b/xlat/v4l2_pix_fmts.h index 585d5801..26a13bf8 100644 --- a/xlat/v4l2_pix_fmts.h +++ b/xlat/v4l2_pix_fmts.h @@ -1,473 +1,1098 @@ /* 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)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(V4L2_PIX_FMT_Y10) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y10) && HAVE_DECL_V4L2_PIX_FMT_Y10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y10) == (v4l2_fourcc('Y', '1', '0', ' ')), "V4L2_PIX_FMT_Y10 != v4l2_fourcc('Y', '1', '0', ' ')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Y12) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y12) && HAVE_DECL_V4L2_PIX_FMT_Y12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y12) == (v4l2_fourcc('Y', '1', '2', ' ')), "V4L2_PIX_FMT_Y12 != v4l2_fourcc('Y', '1', '2', ' ')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Y4) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y4) && HAVE_DECL_V4L2_PIX_FMT_Y4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y4) == (v4l2_fourcc('Y', '0', '4', ' ')), "V4L2_PIX_FMT_Y4 != v4l2_fourcc('Y', '0', '4', ' ')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Y6) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y6) && HAVE_DECL_V4L2_PIX_FMT_Y6) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y6) == (v4l2_fourcc('Y', '0', '6', ' ')), "V4L2_PIX_FMT_Y6 != v4l2_fourcc('Y', '0', '6', ' ')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Y16) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y16) && HAVE_DECL_V4L2_PIX_FMT_Y16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y16) == (v4l2_fourcc('Y', '1', '6', ' ')), "V4L2_PIX_FMT_Y16 != v4l2_fourcc('Y', '1', '6', ' ')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Z16) || (defined(HAVE_DECL_V4L2_PIX_FMT_Z16) && HAVE_DECL_V4L2_PIX_FMT_Z16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Z16) == (v4l2_fourcc('Z', '1', '6', ' ')), "V4L2_PIX_FMT_Z16 != v4l2_fourcc('Z', '1', '6', ' ')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_UV8) || (defined(HAVE_DECL_V4L2_PIX_FMT_UV8) && HAVE_DECL_V4L2_PIX_FMT_UV8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_UV8) == (v4l2_fourcc('U', 'V', '8', ' ')), "V4L2_PIX_FMT_UV8 != v4l2_fourcc('U', 'V', '8', ' ')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Y8I) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y8I) && HAVE_DECL_V4L2_PIX_FMT_Y8I) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y8I) == (v4l2_fourcc('Y', '8', 'I', ' ')), "V4L2_PIX_FMT_Y8I != v4l2_fourcc('Y', '8', 'I', ' ')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_MR97310A) || (defined(HAVE_DECL_V4L2_PIX_FMT_MR97310A) && HAVE_DECL_V4L2_PIX_FMT_MR97310A) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_MR97310A) == (v4l2_fourcc('M', '3', '1', '0')), "V4L2_PIX_FMT_MR97310A != v4l2_fourcc('M', '3', '1', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SN9C10X) || (defined(HAVE_DECL_V4L2_PIX_FMT_SN9C10X) && HAVE_DECL_V4L2_PIX_FMT_SN9C10X) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SN9C10X) == (v4l2_fourcc('S', '9', '1', '0')), "V4L2_PIX_FMT_SN9C10X != v4l2_fourcc('S', '9', '1', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGRBG10) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG10) && HAVE_DECL_V4L2_PIX_FMT_SGRBG10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGRBG10) == (v4l2_fourcc('B', 'A', '1', '0')), "V4L2_PIX_FMT_SGRBG10 != v4l2_fourcc('B', 'A', '1', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGBRG10) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG10) && HAVE_DECL_V4L2_PIX_FMT_SGBRG10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGBRG10) == (v4l2_fourcc('G', 'B', '1', '0')), "V4L2_PIX_FMT_SGBRG10 != v4l2_fourcc('G', 'B', '1', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGRBG10DPCM8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG10DPCM8) && HAVE_DECL_V4L2_PIX_FMT_SGRBG10DPCM8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGRBG10DPCM8) == (v4l2_fourcc('B', 'D', '1', '0')), "V4L2_PIX_FMT_SGRBG10DPCM8 != v4l2_fourcc('B', 'D', '1', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SBGGR10) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR10) && HAVE_DECL_V4L2_PIX_FMT_SBGGR10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SBGGR10) == (v4l2_fourcc('B', 'G', '1', '0')), "V4L2_PIX_FMT_SBGGR10 != v4l2_fourcc('B', 'G', '1', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SRGGB10) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB10) && HAVE_DECL_V4L2_PIX_FMT_SRGGB10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SRGGB10) == (v4l2_fourcc('R', 'G', '1', '0')), "V4L2_PIX_FMT_SRGGB10 != v4l2_fourcc('R', 'G', '1', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_M420) || (defined(HAVE_DECL_V4L2_PIX_FMT_M420) && HAVE_DECL_V4L2_PIX_FMT_M420) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_M420) == (v4l2_fourcc('M', '4', '2', '0')), "V4L2_PIX_FMT_M420 != v4l2_fourcc('M', '4', '2', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SN9C20X_I420) || (defined(HAVE_DECL_V4L2_PIX_FMT_SN9C20X_I420) && HAVE_DECL_V4L2_PIX_FMT_SN9C20X_I420) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SN9C20X_I420) == (v4l2_fourcc('S', '9', '2', '0')), "V4L2_PIX_FMT_SN9C20X_I420 != v4l2_fourcc('S', '9', '2', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_JL2005BCD) || (defined(HAVE_DECL_V4L2_PIX_FMT_JL2005BCD) && HAVE_DECL_V4L2_PIX_FMT_JL2005BCD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_JL2005BCD) == (v4l2_fourcc('J', 'L', '2', '0')), "V4L2_PIX_FMT_JL2005BCD != v4l2_fourcc('J', 'L', '2', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_TM6000) || (defined(HAVE_DECL_V4L2_PIX_FMT_TM6000) && HAVE_DECL_V4L2_PIX_FMT_TM6000) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_TM6000) == (v4l2_fourcc('T', 'M', '6', '0')), "V4L2_PIX_FMT_TM6000 != v4l2_fourcc('T', 'M', '6', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_STV0680) || (defined(HAVE_DECL_V4L2_PIX_FMT_STV0680) && HAVE_DECL_V4L2_PIX_FMT_STV0680) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_STV0680) == (v4l2_fourcc('S', '6', '8', '0')), "V4L2_PIX_FMT_STV0680 != v4l2_fourcc('S', '6', '8', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_VP8) || (defined(HAVE_DECL_V4L2_PIX_FMT_VP8) && HAVE_DECL_V4L2_PIX_FMT_VP8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_VP8) == (v4l2_fourcc('V', 'P', '8', '0')), "V4L2_PIX_FMT_VP8 != v4l2_fourcc('V', 'P', '8', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_VP9) || (defined(HAVE_DECL_V4L2_PIX_FMT_VP9) && HAVE_DECL_V4L2_PIX_FMT_VP9) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_VP9) == (v4l2_fourcc('V', 'P', '9', '0')), "V4L2_PIX_FMT_VP9 != v4l2_fourcc('V', 'P', '9', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SE401) || (defined(HAVE_DECL_V4L2_PIX_FMT_SE401) && HAVE_DECL_V4L2_PIX_FMT_SE401) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SE401) == (v4l2_fourcc('S', '4', '0', '1')), "V4L2_PIX_FMT_SE401 != v4l2_fourcc('S', '4', '0', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SPCA501) || (defined(HAVE_DECL_V4L2_PIX_FMT_SPCA501) && HAVE_DECL_V4L2_PIX_FMT_SPCA501) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SPCA501) == (v4l2_fourcc('S', '5', '0', '1')), "V4L2_PIX_FMT_SPCA501 != v4l2_fourcc('S', '5', '0', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_OV511) || (defined(HAVE_DECL_V4L2_PIX_FMT_OV511) && HAVE_DECL_V4L2_PIX_FMT_OV511) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_OV511) == (v4l2_fourcc('O', '5', '1', '1')), "V4L2_PIX_FMT_OV511 != v4l2_fourcc('O', '5', '1', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV21M) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV21M) && HAVE_DECL_V4L2_PIX_FMT_NV21M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV21M) == (v4l2_fourcc('N', 'M', '2', '1')), "V4L2_PIX_FMT_NV21M != v4l2_fourcc('N', 'M', '2', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YVU420M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU420M) && HAVE_DECL_V4L2_PIX_FMT_YVU420M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YVU420M) == (v4l2_fourcc('Y', 'M', '2', '1')), "V4L2_PIX_FMT_YVU420M != v4l2_fourcc('Y', 'M', '2', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_MT21C) || (defined(HAVE_DECL_V4L2_PIX_FMT_MT21C) && HAVE_DECL_V4L2_PIX_FMT_MT21C) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_MT21C) == (v4l2_fourcc('M', 'T', '2', '1')), "V4L2_PIX_FMT_MT21C != v4l2_fourcc('M', 'T', '2', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV21) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV21) && HAVE_DECL_V4L2_PIX_FMT_NV21) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV21) == (v4l2_fourcc('N', 'V', '2', '1')), "V4L2_PIX_FMT_NV21 != v4l2_fourcc('N', 'V', '2', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SPCA561) || (defined(HAVE_DECL_V4L2_PIX_FMT_SPCA561) && HAVE_DECL_V4L2_PIX_FMT_SPCA561) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SPCA561) == (v4l2_fourcc('S', '5', '6', '1')), "V4L2_PIX_FMT_SPCA561 != v4l2_fourcc('S', '5', '6', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV61M) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV61M) && HAVE_DECL_V4L2_PIX_FMT_NV61M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV61M) == (v4l2_fourcc('N', 'M', '6', '1')), "V4L2_PIX_FMT_NV61M != v4l2_fourcc('N', 'M', '6', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YVU422M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU422M) && HAVE_DECL_V4L2_PIX_FMT_YVU422M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YVU422M) == (v4l2_fourcc('Y', 'M', '6', '1')), "V4L2_PIX_FMT_YVU422M != v4l2_fourcc('Y', 'M', '6', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV61) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV61) && HAVE_DECL_V4L2_PIX_FMT_NV61) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV61) == (v4l2_fourcc('N', 'V', '6', '1')), "V4L2_PIX_FMT_NV61 != v4l2_fourcc('N', 'V', '6', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SBGGR8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR8) && HAVE_DECL_V4L2_PIX_FMT_SBGGR8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SBGGR8) == (v4l2_fourcc('B', 'A', '8', '1')), "V4L2_PIX_FMT_SBGGR8 != v4l2_fourcc('B', 'A', '8', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_RGB332) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB332) && HAVE_DECL_V4L2_PIX_FMT_RGB332) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_RGB332) == (v4l2_fourcc('R', 'G', 'B', '1')), "V4L2_PIX_FMT_RGB332 != v4l2_fourcc('R', 'G', 'B', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_H264_NO_SC) == (v4l2_fourcc('A', 'V', 'C', '1')), "V4L2_PIX_FMT_H264_NO_SC != v4l2_fourcc('A', 'V', 'C', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_PWC1) || (defined(HAVE_DECL_V4L2_PIX_FMT_PWC1) && HAVE_DECL_V4L2_PIX_FMT_PWC1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_PWC1) == (v4l2_fourcc('P', 'W', 'C', '1')), "V4L2_PIX_FMT_PWC1 != v4l2_fourcc('P', 'W', 'C', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_MPEG1) || (defined(HAVE_DECL_V4L2_PIX_FMT_MPEG1) && HAVE_DECL_V4L2_PIX_FMT_MPEG1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_MPEG1) == (v4l2_fourcc('M', 'P', 'G', '1')), "V4L2_PIX_FMT_MPEG1 != v4l2_fourcc('M', 'P', 'G', '1')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGRBG12) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG12) && HAVE_DECL_V4L2_PIX_FMT_SGRBG12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGRBG12) == (v4l2_fourcc('B', 'A', '1', '2')), "V4L2_PIX_FMT_SGRBG12 != v4l2_fourcc('B', 'A', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGBRG12) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG12) && HAVE_DECL_V4L2_PIX_FMT_SGBRG12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGBRG12) == (v4l2_fourcc('G', 'B', '1', '2')), "V4L2_PIX_FMT_SGBRG12 != v4l2_fourcc('G', 'B', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SBGGR12) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR12) && HAVE_DECL_V4L2_PIX_FMT_SBGGR12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SBGGR12) == (v4l2_fourcc('B', 'G', '1', '2')), "V4L2_PIX_FMT_SBGGR12 != v4l2_fourcc('B', 'G', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SRGGB12) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB12) && HAVE_DECL_V4L2_PIX_FMT_SRGGB12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SRGGB12) == (v4l2_fourcc('R', 'G', '1', '2')), "V4L2_PIX_FMT_SRGGB12 != v4l2_fourcc('R', 'G', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_HM12) || (defined(HAVE_DECL_V4L2_PIX_FMT_HM12) && HAVE_DECL_V4L2_PIX_FMT_HM12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_HM12) == (v4l2_fourcc('H', 'M', '1', '2')), "V4L2_PIX_FMT_HM12 != v4l2_fourcc('H', 'M', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV12M) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV12M) && HAVE_DECL_V4L2_PIX_FMT_NV12M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV12M) == (v4l2_fourcc('N', 'M', '1', '2')), "V4L2_PIX_FMT_NV12M != v4l2_fourcc('N', 'M', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV12MT) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV12MT) && HAVE_DECL_V4L2_PIX_FMT_NV12MT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV12MT) == (v4l2_fourcc('T', 'M', '1', '2')), "V4L2_PIX_FMT_NV12MT != v4l2_fourcc('T', 'M', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV12MT_16X16) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV12MT_16X16) && HAVE_DECL_V4L2_PIX_FMT_NV12MT_16X16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV12MT_16X16) == (v4l2_fourcc('V', 'M', '1', '2')), "V4L2_PIX_FMT_NV12MT_16X16 != v4l2_fourcc('V', 'M', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV420M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV420M) && HAVE_DECL_V4L2_PIX_FMT_YUV420M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV420M) == (v4l2_fourcc('Y', 'M', '1', '2')), "V4L2_PIX_FMT_YUV420M != v4l2_fourcc('Y', 'M', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_ARGB444) || (defined(HAVE_DECL_V4L2_PIX_FMT_ARGB444) && HAVE_DECL_V4L2_PIX_FMT_ARGB444) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_ARGB444) == (v4l2_fourcc('A', 'R', '1', '2')), "V4L2_PIX_FMT_ARGB444 != v4l2_fourcc('A', 'R', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_XRGB444) || (defined(HAVE_DECL_V4L2_PIX_FMT_XRGB444) && HAVE_DECL_V4L2_PIX_FMT_XRGB444) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_XRGB444) == (v4l2_fourcc('X', 'R', '1', '2')), "V4L2_PIX_FMT_XRGB444 != v4l2_fourcc('X', 'R', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV420) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV420) && HAVE_DECL_V4L2_PIX_FMT_YUV420) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV420) == (v4l2_fourcc('Y', 'U', '1', '2')), "V4L2_PIX_FMT_YUV420 != v4l2_fourcc('Y', 'U', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV12) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV12) && HAVE_DECL_V4L2_PIX_FMT_NV12) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV12) == (v4l2_fourcc('N', 'V', '1', '2')), "V4L2_PIX_FMT_NV12 != v4l2_fourcc('N', 'V', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YVU420) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU420) && HAVE_DECL_V4L2_PIX_FMT_YVU420) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YVU420) == (v4l2_fourcc('Y', 'V', '1', '2')), "V4L2_PIX_FMT_YVU420 != v4l2_fourcc('Y', 'V', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YVU444M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU444M) && HAVE_DECL_V4L2_PIX_FMT_YVU444M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YVU444M) == (v4l2_fourcc('Y', 'M', '4', '2')), "V4L2_PIX_FMT_YVU444M != v4l2_fourcc('Y', 'M', '4', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV42) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV42) && HAVE_DECL_V4L2_PIX_FMT_NV42) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV42) == (v4l2_fourcc('N', 'V', '4', '2')), "V4L2_PIX_FMT_NV42 != v4l2_fourcc('N', 'V', '4', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_PWC2) || (defined(HAVE_DECL_V4L2_PIX_FMT_PWC2) && HAVE_DECL_V4L2_PIX_FMT_PWC2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_PWC2) == (v4l2_fourcc('P', 'W', 'C', '2')), "V4L2_PIX_FMT_PWC2 != v4l2_fourcc('P', 'W', 'C', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_MPEG2) || (defined(HAVE_DECL_V4L2_PIX_FMT_MPEG2) && HAVE_DECL_V4L2_PIX_FMT_MPEG2) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_MPEG2) == (v4l2_fourcc('M', 'P', 'G', '2')), "V4L2_PIX_FMT_MPEG2 != v4l2_fourcc('M', 'P', 'G', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SBGGR16) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR16) && HAVE_DECL_V4L2_PIX_FMT_SBGGR16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SBGGR16) == (v4l2_fourcc('B', 'Y', 'R', '2')), "V4L2_PIX_FMT_SBGGR16 != v4l2_fourcc('B', 'Y', 'R', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_H263) || (defined(HAVE_DECL_V4L2_PIX_FMT_H263) && HAVE_DECL_V4L2_PIX_FMT_H263) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_H263) == (v4l2_fourcc('H', '2', '6', '3')), "V4L2_PIX_FMT_H263 != v4l2_fourcc('H', '2', '6', '3')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_RGB24) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB24) && HAVE_DECL_V4L2_PIX_FMT_RGB24) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_RGB24) == (v4l2_fourcc('R', 'G', 'B', '3')), "V4L2_PIX_FMT_RGB24 != v4l2_fourcc('R', 'G', 'B', '3')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_BGR24) || (defined(HAVE_DECL_V4L2_PIX_FMT_BGR24) && HAVE_DECL_V4L2_PIX_FMT_BGR24) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_BGR24) == (v4l2_fourcc('B', 'G', 'R', '3')), "V4L2_PIX_FMT_BGR24 != v4l2_fourcc('B', 'G', 'R', '3')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_HSV24) || (defined(HAVE_DECL_V4L2_PIX_FMT_HSV24) && HAVE_DECL_V4L2_PIX_FMT_HSV24) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_HSV24) == (v4l2_fourcc('H', 'S', 'V', '3')), "V4L2_PIX_FMT_HSV24 != v4l2_fourcc('H', 'S', 'V', '3')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_ARGB32) || (defined(HAVE_DECL_V4L2_PIX_FMT_ARGB32) && HAVE_DECL_V4L2_PIX_FMT_ARGB32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_ARGB32) == (v4l2_fourcc('B', 'A', '2', '4')), "V4L2_PIX_FMT_ARGB32 != v4l2_fourcc('B', 'A', '2', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_HI240) || (defined(HAVE_DECL_V4L2_PIX_FMT_HI240) && HAVE_DECL_V4L2_PIX_FMT_HI240) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_HI240) == (v4l2_fourcc('H', 'I', '2', '4')), "V4L2_PIX_FMT_HI240 != v4l2_fourcc('H', 'I', '2', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV444M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV444M) && HAVE_DECL_V4L2_PIX_FMT_YUV444M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV444M) == (v4l2_fourcc('Y', 'M', '2', '4')), "V4L2_PIX_FMT_YUV444M != v4l2_fourcc('Y', 'M', '2', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_ABGR32) || (defined(HAVE_DECL_V4L2_PIX_FMT_ABGR32) && HAVE_DECL_V4L2_PIX_FMT_ABGR32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_ABGR32) == (v4l2_fourcc('A', 'R', '2', '4')), "V4L2_PIX_FMT_ABGR32 != v4l2_fourcc('A', 'R', '2', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_XBGR32) || (defined(HAVE_DECL_V4L2_PIX_FMT_XBGR32) && HAVE_DECL_V4L2_PIX_FMT_XBGR32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_XBGR32) == (v4l2_fourcc('X', 'R', '2', '4')), "V4L2_PIX_FMT_XBGR32 != v4l2_fourcc('X', 'R', '2', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV24) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV24) && HAVE_DECL_V4L2_PIX_FMT_NV24) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV24) == (v4l2_fourcc('N', 'V', '2', '4')), "V4L2_PIX_FMT_NV24 != v4l2_fourcc('N', 'V', '2', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_XRGB32) || (defined(HAVE_DECL_V4L2_PIX_FMT_XRGB32) && HAVE_DECL_V4L2_PIX_FMT_XRGB32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_XRGB32) == (v4l2_fourcc('B', 'X', '2', '4')), "V4L2_PIX_FMT_XRGB32 != v4l2_fourcc('B', 'X', '2', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_RGB444) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB444) && HAVE_DECL_V4L2_PIX_FMT_RGB444) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_RGB444) == (v4l2_fourcc('R', '4', '4', '4')), "V4L2_PIX_FMT_RGB444 != v4l2_fourcc('R', '4', '4', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV444) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV444) && HAVE_DECL_V4L2_PIX_FMT_YUV444) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV444) == (v4l2_fourcc('Y', '4', '4', '4')), "V4L2_PIX_FMT_YUV444 != v4l2_fourcc('Y', '4', '4', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_H264) || (defined(HAVE_DECL_V4L2_PIX_FMT_H264) && HAVE_DECL_V4L2_PIX_FMT_H264) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_H264) == (v4l2_fourcc('H', '2', '6', '4')), "V4L2_PIX_FMT_H264 != v4l2_fourcc('H', '2', '6', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_H264_MVC) || (defined(HAVE_DECL_V4L2_PIX_FMT_H264_MVC) && HAVE_DECL_V4L2_PIX_FMT_H264_MVC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_H264_MVC) == (v4l2_fourcc('M', '2', '6', '4')), "V4L2_PIX_FMT_H264_MVC != v4l2_fourcc('M', '2', '6', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_RGB32) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB32) && HAVE_DECL_V4L2_PIX_FMT_RGB32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_RGB32) == (v4l2_fourcc('R', 'G', 'B', '4')), "V4L2_PIX_FMT_RGB32 != v4l2_fourcc('R', 'G', 'B', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_MPEG4) || (defined(HAVE_DECL_V4L2_PIX_FMT_MPEG4) && HAVE_DECL_V4L2_PIX_FMT_MPEG4) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_MPEG4) == (v4l2_fourcc('M', 'P', 'G', '4')), "V4L2_PIX_FMT_MPEG4 != v4l2_fourcc('M', 'P', 'G', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_BGR32) || (defined(HAVE_DECL_V4L2_PIX_FMT_BGR32) && HAVE_DECL_V4L2_PIX_FMT_BGR32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_BGR32) == (v4l2_fourcc('B', 'G', 'R', '4')), "V4L2_PIX_FMT_BGR32 != v4l2_fourcc('B', 'G', 'R', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_HSV32) || (defined(HAVE_DECL_V4L2_PIX_FMT_HSV32) && HAVE_DECL_V4L2_PIX_FMT_HSV32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_HSV32) == (v4l2_fourcc('H', 'S', 'V', '4')), "V4L2_PIX_FMT_HSV32 != v4l2_fourcc('H', 'S', 'V', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV32) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV32) && HAVE_DECL_V4L2_PIX_FMT_YUV32) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV32) == (v4l2_fourcc('Y', 'U', 'V', '4')), "V4L2_PIX_FMT_YUV32 != v4l2_fourcc('Y', 'U', 'V', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SPCA505) || (defined(HAVE_DECL_V4L2_PIX_FMT_SPCA505) && HAVE_DECL_V4L2_PIX_FMT_SPCA505) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SPCA505) == (v4l2_fourcc('S', '5', '0', '5')), "V4L2_PIX_FMT_SPCA505 != v4l2_fourcc('S', '5', '0', '5')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_ARGB555) || (defined(HAVE_DECL_V4L2_PIX_FMT_ARGB555) && HAVE_DECL_V4L2_PIX_FMT_ARGB555) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_ARGB555) == (v4l2_fourcc('A', 'R', '1', '5')), "V4L2_PIX_FMT_ARGB555 != v4l2_fourcc('A', 'R', '1', '5')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_XRGB555) || (defined(HAVE_DECL_V4L2_PIX_FMT_XRGB555) && HAVE_DECL_V4L2_PIX_FMT_XRGB555) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_XRGB555) == (v4l2_fourcc('X', 'R', '1', '5')), "V4L2_PIX_FMT_XRGB555 != v4l2_fourcc('X', 'R', '1', '5')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_ET61X251) || (defined(HAVE_DECL_V4L2_PIX_FMT_ET61X251) && HAVE_DECL_V4L2_PIX_FMT_ET61X251) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_ET61X251) == (v4l2_fourcc('E', '6', '2', '5')), "V4L2_PIX_FMT_ET61X251 != v4l2_fourcc('E', '6', '2', '5')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGBRG16) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG16) && HAVE_DECL_V4L2_PIX_FMT_SGBRG16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGBRG16) == (v4l2_fourcc('G', 'B', '1', '6')), "V4L2_PIX_FMT_SGBRG16 != v4l2_fourcc('G', 'B', '1', '6')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SRGGB16) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB16) && HAVE_DECL_V4L2_PIX_FMT_SRGGB16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SRGGB16) == (v4l2_fourcc('R', 'G', '1', '6')), "V4L2_PIX_FMT_SRGGB16 != v4l2_fourcc('R', 'G', '1', '6')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV16M) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV16M) && HAVE_DECL_V4L2_PIX_FMT_NV16M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV16M) == (v4l2_fourcc('N', 'M', '1', '6')), "V4L2_PIX_FMT_NV16M != v4l2_fourcc('N', 'M', '1', '6')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV422M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV422M) && HAVE_DECL_V4L2_PIX_FMT_YUV422M) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV422M) == (v4l2_fourcc('Y', 'M', '1', '6')), "V4L2_PIX_FMT_YUV422M != v4l2_fourcc('Y', 'M', '1', '6')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGRBG16) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG16) && HAVE_DECL_V4L2_PIX_FMT_SGRBG16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGRBG16) == (v4l2_fourcc('G', 'R', '1', '6')), "V4L2_PIX_FMT_SGRBG16 != v4l2_fourcc('G', 'R', '1', '6')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_NV16) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV16) && HAVE_DECL_V4L2_PIX_FMT_NV16) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_NV16) == (v4l2_fourcc('N', 'V', '1', '6')), "V4L2_PIX_FMT_NV16 != v4l2_fourcc('N', 'V', '1', '6')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_PAC207) || (defined(HAVE_DECL_V4L2_PIX_FMT_PAC207) && HAVE_DECL_V4L2_PIX_FMT_PAC207) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_PAC207) == (v4l2_fourcc('P', '2', '0', '7')), "V4L2_PIX_FMT_PAC207 != v4l2_fourcc('P', '2', '0', '7')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SPCA508) || (defined(HAVE_DECL_V4L2_PIX_FMT_SPCA508) && HAVE_DECL_V4L2_PIX_FMT_SPCA508) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SPCA508) == (v4l2_fourcc('S', '5', '0', '8')), "V4L2_PIX_FMT_SPCA508 != v4l2_fourcc('S', '5', '0', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_OV518) || (defined(HAVE_DECL_V4L2_PIX_FMT_OV518) && HAVE_DECL_V4L2_PIX_FMT_OV518) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_OV518) == (v4l2_fourcc('O', '5', '1', '8')), "V4L2_PIX_FMT_OV518 != v4l2_fourcc('O', '5', '1', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SBGGR10ALAW8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR10ALAW8) && HAVE_DECL_V4L2_PIX_FMT_SBGGR10ALAW8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SBGGR10ALAW8) == (v4l2_fourcc('a', 'B', 'A', '8')), "V4L2_PIX_FMT_SBGGR10ALAW8 != v4l2_fourcc('a', 'B', 'A', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SBGGR10DPCM8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR10DPCM8) && HAVE_DECL_V4L2_PIX_FMT_SBGGR10DPCM8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SBGGR10DPCM8) == (v4l2_fourcc('b', 'B', 'A', '8')), "V4L2_PIX_FMT_SBGGR10DPCM8 != v4l2_fourcc('b', 'B', 'A', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGBRG10ALAW8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG10ALAW8) && HAVE_DECL_V4L2_PIX_FMT_SGBRG10ALAW8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGBRG10ALAW8) == (v4l2_fourcc('a', 'G', 'A', '8')), "V4L2_PIX_FMT_SGBRG10ALAW8 != v4l2_fourcc('a', 'G', 'A', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGBRG10DPCM8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG10DPCM8) && HAVE_DECL_V4L2_PIX_FMT_SGBRG10DPCM8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGBRG10DPCM8) == (v4l2_fourcc('b', 'G', 'A', '8')), "V4L2_PIX_FMT_SGBRG10DPCM8 != v4l2_fourcc('b', 'G', 'A', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SRGGB10ALAW8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB10ALAW8) && HAVE_DECL_V4L2_PIX_FMT_SRGGB10ALAW8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SRGGB10ALAW8) == (v4l2_fourcc('a', 'R', 'A', '8')), "V4L2_PIX_FMT_SRGGB10ALAW8 != v4l2_fourcc('a', 'R', 'A', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SRGGB10DPCM8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB10DPCM8) && HAVE_DECL_V4L2_PIX_FMT_SRGGB10DPCM8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SRGGB10DPCM8) == (v4l2_fourcc('b', 'R', 'A', '8')), "V4L2_PIX_FMT_SRGGB10DPCM8 != v4l2_fourcc('b', 'R', 'A', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGRBG10ALAW8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG10ALAW8) && HAVE_DECL_V4L2_PIX_FMT_SGRBG10ALAW8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGRBG10ALAW8) == (v4l2_fourcc('a', 'g', 'A', '8')), "V4L2_PIX_FMT_SGRBG10ALAW8 != v4l2_fourcc('a', 'g', 'A', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_PAL8) || (defined(HAVE_DECL_V4L2_PIX_FMT_PAL8) && HAVE_DECL_V4L2_PIX_FMT_PAL8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_PAL8) == (v4l2_fourcc('P', 'A', 'L', '8')), "V4L2_PIX_FMT_PAL8 != v4l2_fourcc('P', 'A', 'L', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YVU410) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU410) && HAVE_DECL_V4L2_PIX_FMT_YVU410) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YVU410) == (v4l2_fourcc('Y', 'V', 'U', '9')), "V4L2_PIX_FMT_YVU410 != v4l2_fourcc('Y', 'V', 'U', '9')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV410) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV410) && HAVE_DECL_V4L2_PIX_FMT_YUV410) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV410) == (v4l2_fourcc('Y', 'U', 'V', '9')), "V4L2_PIX_FMT_YUV410 != v4l2_fourcc('Y', 'U', 'V', '9')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SBGGR10P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR10P) && HAVE_DECL_V4L2_PIX_FMT_SBGGR10P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SBGGR10P) == (v4l2_fourcc('p', 'B', 'A', 'A')), "V4L2_PIX_FMT_SBGGR10P != v4l2_fourcc('p', 'B', 'A', 'A')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGBRG10P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG10P) && HAVE_DECL_V4L2_PIX_FMT_SGBRG10P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGBRG10P) == (v4l2_fourcc('p', 'G', 'A', 'A')), "V4L2_PIX_FMT_SGBRG10P != v4l2_fourcc('p', 'G', 'A', 'A')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SRGGB10P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB10P) && HAVE_DECL_V4L2_PIX_FMT_SRGGB10P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SRGGB10P) == (v4l2_fourcc('p', 'R', 'A', 'A')), "V4L2_PIX_FMT_SRGGB10P != v4l2_fourcc('p', 'R', 'A', 'A')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGRBG10P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG10P) && HAVE_DECL_V4L2_PIX_FMT_SGRBG10P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGRBG10P) == (v4l2_fourcc('p', 'g', 'A', 'A')), "V4L2_PIX_FMT_SGRBG10P != v4l2_fourcc('p', 'g', 'A', 'A')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_CPIA1) || (defined(HAVE_DECL_V4L2_PIX_FMT_CPIA1) && HAVE_DECL_V4L2_PIX_FMT_CPIA1) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_CPIA1) == (v4l2_fourcc('C', 'P', 'I', 'A')), "V4L2_PIX_FMT_CPIA1 != v4l2_fourcc('C', 'P', 'I', 'A')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_WNVA) || (defined(HAVE_DECL_V4L2_PIX_FMT_WNVA) && HAVE_DECL_V4L2_PIX_FMT_WNVA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_WNVA) == (v4l2_fourcc('W', 'N', 'V', 'A')), "V4L2_PIX_FMT_WNVA != v4l2_fourcc('W', 'N', 'V', 'A')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Y10BPACK) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y10BPACK) && HAVE_DECL_V4L2_PIX_FMT_Y10BPACK) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y10BPACK) == (v4l2_fourcc('Y', '1', '0', 'B')), "V4L2_PIX_FMT_Y10BPACK != v4l2_fourcc('Y', '1', '0', 'B')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SRGGB8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB8) && HAVE_DECL_V4L2_PIX_FMT_SRGGB8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SRGGB8) == (v4l2_fourcc('R', 'G', 'G', 'B')), "V4L2_PIX_FMT_SRGGB8 != v4l2_fourcc('R', 'G', 'G', 'B')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SQ905C) || (defined(HAVE_DECL_V4L2_PIX_FMT_SQ905C) && HAVE_DECL_V4L2_PIX_FMT_SQ905C) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SQ905C) == (v4l2_fourcc('9', '0', '5', 'C')), "V4L2_PIX_FMT_SQ905C != v4l2_fourcc('9', '0', '5', 'C')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SBGGR12P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR12P) && HAVE_DECL_V4L2_PIX_FMT_SBGGR12P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SBGGR12P) == (v4l2_fourcc('p', 'B', 'C', 'C')), "V4L2_PIX_FMT_SBGGR12P != v4l2_fourcc('p', 'B', 'C', 'C')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGBRG12P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG12P) && HAVE_DECL_V4L2_PIX_FMT_SGBRG12P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGBRG12P) == (v4l2_fourcc('p', 'G', 'C', 'C')), "V4L2_PIX_FMT_SGBRG12P != v4l2_fourcc('p', 'G', 'C', 'C')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SRGGB12P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB12P) && HAVE_DECL_V4L2_PIX_FMT_SRGGB12P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SRGGB12P) == (v4l2_fourcc('p', 'R', 'C', 'C')), "V4L2_PIX_FMT_SRGGB12P != v4l2_fourcc('p', 'R', 'C', 'C')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGRBG12P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG12P) && HAVE_DECL_V4L2_PIX_FMT_SGRBG12P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGRBG12P) == (v4l2_fourcc('p', 'g', 'C', 'C')), "V4L2_PIX_FMT_SGRBG12P != v4l2_fourcc('p', 'g', 'C', 'C')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_HEVC) || (defined(HAVE_DECL_V4L2_PIX_FMT_HEVC) && HAVE_DECL_V4L2_PIX_FMT_HEVC) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_HEVC) == (v4l2_fourcc('H', 'E', 'V', 'C')), "V4L2_PIX_FMT_HEVC != v4l2_fourcc('H', 'E', 'V', 'C')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else +# define V4L2_PIX_FMT_HEVC v4l2_fourcc('H', 'E', 'V', 'C') +#endif +#if defined(V4L2_PIX_FMT_XVID) || (defined(HAVE_DECL_V4L2_PIX_FMT_XVID) && HAVE_DECL_V4L2_PIX_FMT_XVID) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_XVID) == (v4l2_fourcc('X', 'V', 'I', 'D')), "V4L2_PIX_FMT_XVID != v4l2_fourcc('X', 'V', 'I', 'D')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_VC1_ANNEX_G) == (v4l2_fourcc('V', 'C', '1', 'G')), "V4L2_PIX_FMT_VC1_ANNEX_G != v4l2_fourcc('V', 'C', '1', 'G')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_IPU3_SGRBG10) || (defined(HAVE_DECL_V4L2_PIX_FMT_IPU3_SGRBG10) && HAVE_DECL_V4L2_PIX_FMT_IPU3_SGRBG10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_IPU3_SGRBG10) == (v4l2_fourcc('i', 'p', '3', 'G')), "V4L2_PIX_FMT_IPU3_SGRBG10 != v4l2_fourcc('i', 'p', '3', 'G')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGRBG8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG8) && HAVE_DECL_V4L2_PIX_FMT_SGRBG8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGRBG8) == (v4l2_fourcc('G', 'R', 'B', 'G')), "V4L2_PIX_FMT_SGRBG8 != v4l2_fourcc('G', 'R', 'B', 'G')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_JPEG) || (defined(HAVE_DECL_V4L2_PIX_FMT_JPEG) && HAVE_DECL_V4L2_PIX_FMT_JPEG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_JPEG) == (v4l2_fourcc('J', 'P', 'E', 'G')), "V4L2_PIX_FMT_JPEG != v4l2_fourcc('J', 'P', 'E', 'G')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_MPEG) || (defined(HAVE_DECL_V4L2_PIX_FMT_MPEG) && HAVE_DECL_V4L2_PIX_FMT_MPEG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_MPEG) == (v4l2_fourcc('M', 'P', 'E', 'G')), "V4L2_PIX_FMT_MPEG != v4l2_fourcc('M', 'P', 'E', 'G')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_MJPEG) || (defined(HAVE_DECL_V4L2_PIX_FMT_MJPEG) && HAVE_DECL_V4L2_PIX_FMT_MJPEG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_MJPEG) == (v4l2_fourcc('M', 'J', 'P', 'G')), "V4L2_PIX_FMT_MJPEG != v4l2_fourcc('M', 'J', 'P', 'G')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_PJPG) || (defined(HAVE_DECL_V4L2_PIX_FMT_PJPG) && HAVE_DECL_V4L2_PIX_FMT_PJPG) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_PJPG) == (v4l2_fourcc('P', 'J', 'P', 'G')), "V4L2_PIX_FMT_PJPG != v4l2_fourcc('P', 'J', 'P', 'G')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SGBRG8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG8) && HAVE_DECL_V4L2_PIX_FMT_SGBRG8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SGBRG8) == (v4l2_fourcc('G', 'B', 'R', 'G')), "V4L2_PIX_FMT_SGBRG8 != v4l2_fourcc('G', 'B', 'R', 'G')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_BGR666) || (defined(HAVE_DECL_V4L2_PIX_FMT_BGR666) && HAVE_DECL_V4L2_PIX_FMT_BGR666) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_BGR666) == (v4l2_fourcc('B', 'G', 'R', 'H')), "V4L2_PIX_FMT_BGR666 != v4l2_fourcc('B', 'G', 'R', 'H')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Y12I) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y12I) && HAVE_DECL_V4L2_PIX_FMT_Y12I) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y12I) == (v4l2_fourcc('Y', '1', '2', 'I')), "V4L2_PIX_FMT_Y12I != v4l2_fourcc('Y', '1', '2', 'I')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_S5C_UYVY_JPG) == (v4l2_fourcc('S', '5', 'C', 'I')), "V4L2_PIX_FMT_S5C_UYVY_JPG != v4l2_fourcc('S', '5', 'C', 'I')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_KONICA420) || (defined(HAVE_DECL_V4L2_PIX_FMT_KONICA420) && HAVE_DECL_V4L2_PIX_FMT_KONICA420) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_KONICA420) == (v4l2_fourcc('K', 'O', 'N', 'I')), "V4L2_PIX_FMT_KONICA420 != v4l2_fourcc('K', 'O', 'N', 'I')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_INZI) || (defined(HAVE_DECL_V4L2_PIX_FMT_INZI) && HAVE_DECL_V4L2_PIX_FMT_INZI) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_INZI) == (v4l2_fourcc('I', 'N', 'Z', 'I')), "V4L2_PIX_FMT_INZI != v4l2_fourcc('I', 'N', 'Z', 'I')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#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) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_VC1_ANNEX_L) == (v4l2_fourcc('V', 'C', '1', 'L')), "V4L2_PIX_FMT_VC1_ANNEX_L != v4l2_fourcc('V', 'C', '1', 'L')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_JPGL) || (defined(HAVE_DECL_V4L2_PIX_FMT_JPGL) && HAVE_DECL_V4L2_PIX_FMT_JPGL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_JPGL) == (v4l2_fourcc('J', 'P', 'G', 'L')), "V4L2_PIX_FMT_JPGL != v4l2_fourcc('J', 'P', 'G', 'L')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_RGB555) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB555) && HAVE_DECL_V4L2_PIX_FMT_RGB555) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_RGB555) == (v4l2_fourcc('R', 'G', 'B', 'O')), "V4L2_PIX_FMT_RGB555 != v4l2_fourcc('R', 'G', 'B', 'O')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV555) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV555) && HAVE_DECL_V4L2_PIX_FMT_YUV555) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV555) == (v4l2_fourcc('Y', 'U', 'V', 'O')), "V4L2_PIX_FMT_YUV555 != v4l2_fourcc('Y', 'U', 'V', 'O')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV411P) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV411P) && HAVE_DECL_V4L2_PIX_FMT_YUV411P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV411P) == (v4l2_fourcc('4', '1', '1', 'P')), "V4L2_PIX_FMT_YUV411P != v4l2_fourcc('4', '1', '1', 'P')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Y41P) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y41P) && HAVE_DECL_V4L2_PIX_FMT_Y41P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y41P) == (v4l2_fourcc('Y', '4', '1', 'P')), "V4L2_PIX_FMT_Y41P != v4l2_fourcc('Y', '4', '1', 'P')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV422P) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV422P) && HAVE_DECL_V4L2_PIX_FMT_YUV422P) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV422P) == (v4l2_fourcc('4', '2', '2', 'P')), "V4L2_PIX_FMT_YUV422P != v4l2_fourcc('4', '2', '2', 'P')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_RGB565) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB565) && HAVE_DECL_V4L2_PIX_FMT_RGB565) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_RGB565) == (v4l2_fourcc('R', 'G', 'B', 'P')), "V4L2_PIX_FMT_RGB565 != v4l2_fourcc('R', 'G', 'B', 'P')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUV565) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV565) && HAVE_DECL_V4L2_PIX_FMT_YUV565) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUV565) == (v4l2_fourcc('Y', 'U', 'V', 'P')), "V4L2_PIX_FMT_YUV565 != v4l2_fourcc('Y', 'U', 'V', 'P')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_RGB555X) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB555X) && HAVE_DECL_V4L2_PIX_FMT_RGB555X) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_RGB555X) == (v4l2_fourcc('R', 'G', 'B', 'Q')), "V4L2_PIX_FMT_RGB555X != v4l2_fourcc('R', 'G', 'B', 'Q')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_RGB565X) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB565X) && HAVE_DECL_V4L2_PIX_FMT_RGB565X) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_RGB565X) == (v4l2_fourcc('R', 'G', 'B', 'R')), "V4L2_PIX_FMT_RGB565X != v4l2_fourcc('R', 'G', 'B', 'R')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YVYU) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVYU) && HAVE_DECL_V4L2_PIX_FMT_YVYU) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YVYU) == (v4l2_fourcc('Y', 'V', 'Y', 'U')), "V4L2_PIX_FMT_YVYU != v4l2_fourcc('Y', 'V', 'Y', 'U')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_CIT_YYVYUY) || (defined(HAVE_DECL_V4L2_PIX_FMT_CIT_YYVYUY) && HAVE_DECL_V4L2_PIX_FMT_CIT_YYVYUY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_CIT_YYVYUY) == (v4l2_fourcc('C', 'I', 'T', 'V')), "V4L2_PIX_FMT_CIT_YYVYUY != v4l2_fourcc('C', 'I', 'T', 'V')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YYUV) || (defined(HAVE_DECL_V4L2_PIX_FMT_YYUV) && HAVE_DECL_V4L2_PIX_FMT_YYUV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YYUV) == (v4l2_fourcc('Y', 'Y', 'U', 'V')), "V4L2_PIX_FMT_YYUV != v4l2_fourcc('Y', 'Y', 'U', 'V')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_YUYV) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUYV) && HAVE_DECL_V4L2_PIX_FMT_YUYV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_YUYV) == (v4l2_fourcc('Y', 'U', 'Y', 'V')), "V4L2_PIX_FMT_YUYV != v4l2_fourcc('Y', 'U', 'Y', 'V')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_SN9C2028) || (defined(HAVE_DECL_V4L2_PIX_FMT_SN9C2028) && HAVE_DECL_V4L2_PIX_FMT_SN9C2028) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_SN9C2028) == (v4l2_fourcc('S', 'O', 'N', 'X')), "V4L2_PIX_FMT_SN9C2028 != v4l2_fourcc('S', 'O', 'N', 'X')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_GREY) || (defined(HAVE_DECL_V4L2_PIX_FMT_GREY) && HAVE_DECL_V4L2_PIX_FMT_GREY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_GREY) == (v4l2_fourcc('G', 'R', 'E', 'Y')), "V4L2_PIX_FMT_GREY != v4l2_fourcc('G', 'R', 'E', 'Y')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_VYUY) || (defined(HAVE_DECL_V4L2_PIX_FMT_VYUY) && HAVE_DECL_V4L2_PIX_FMT_VYUY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_VYUY) == (v4l2_fourcc('V', 'Y', 'U', 'Y')), "V4L2_PIX_FMT_VYUY != v4l2_fourcc('V', 'Y', 'U', 'Y')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_UYVY) || (defined(HAVE_DECL_V4L2_PIX_FMT_UYVY) && HAVE_DECL_V4L2_PIX_FMT_UYVY) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_UYVY) == (v4l2_fourcc('U', 'Y', 'V', 'Y')), "V4L2_PIX_FMT_UYVY != v4l2_fourcc('U', 'Y', 'V', 'Y')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_IPU3_SBGGR10) || (defined(HAVE_DECL_V4L2_PIX_FMT_IPU3_SBGGR10) && HAVE_DECL_V4L2_PIX_FMT_IPU3_SBGGR10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_IPU3_SBGGR10) == (v4l2_fourcc('i', 'p', '3', 'b')), "V4L2_PIX_FMT_IPU3_SBGGR10 != v4l2_fourcc('i', 'p', '3', 'b')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_DV) || (defined(HAVE_DECL_V4L2_PIX_FMT_DV) && HAVE_DECL_V4L2_PIX_FMT_DV) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_DV) == (v4l2_fourcc('d', 'v', 's', 'd')), "V4L2_PIX_FMT_DV != v4l2_fourcc('d', 'v', 's', 'd')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_IPU3_SGBRG10) || (defined(HAVE_DECL_V4L2_PIX_FMT_IPU3_SGBRG10) && HAVE_DECL_V4L2_PIX_FMT_IPU3_SGBRG10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_IPU3_SGBRG10) == (v4l2_fourcc('i', 'p', '3', 'g')), "V4L2_PIX_FMT_IPU3_SGBRG10 != v4l2_fourcc('i', 'p', '3', 'g')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_IPU3_SRGGB10) || (defined(HAVE_DECL_V4L2_PIX_FMT_IPU3_SRGGB10) && HAVE_DECL_V4L2_PIX_FMT_IPU3_SRGGB10) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_IPU3_SRGGB10) == (v4l2_fourcc('i', 'p', '3', 'r')), "V4L2_PIX_FMT_IPU3_SRGGB10 != v4l2_fourcc('i', 'p', '3', 'r')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_Y16_BE) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y16_BE) && HAVE_DECL_V4L2_PIX_FMT_Y16_BE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_Y16_BE) == (v4l2_fourcc_be('Y', '1', '6', ' ')), "V4L2_PIX_FMT_Y16_BE != v4l2_fourcc_be('Y', '1', '6', ' ')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_ARGB555X) || (defined(HAVE_DECL_V4L2_PIX_FMT_ARGB555X) && HAVE_DECL_V4L2_PIX_FMT_ARGB555X) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_ARGB555X) == (v4l2_fourcc_be('A', 'R', '1', '5')), "V4L2_PIX_FMT_ARGB555X != v4l2_fourcc_be('A', 'R', '1', '5')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_PIX_FMT_XRGB555X) || (defined(HAVE_DECL_V4L2_PIX_FMT_XRGB555X) && HAVE_DECL_V4L2_PIX_FMT_XRGB555X) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_PIX_FMT_XRGB555X) == (v4l2_fourcc_be('X', 'R', '1', '5')), "V4L2_PIX_FMT_XRGB555X != v4l2_fourcc_be('X', 'R', '1', '5')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_pix_fmts[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_pix_fmts[] = { XLAT(V4L2_PIX_FMT_Y10), @@ -583,6 +1208,7 @@ const struct xlat v4l2_pix_fmts[] = { XLAT(V4L2_PIX_FMT_SGBRG12P), XLAT(V4L2_PIX_FMT_SRGGB12P), XLAT(V4L2_PIX_FMT_SGRBG12P), + XLAT(V4L2_PIX_FMT_HEVC), XLAT(V4L2_PIX_FMT_XVID), XLAT(V4L2_PIX_FMT_VC1_ANNEX_G), XLAT(V4L2_PIX_FMT_IPU3_SGRBG10), @@ -626,4 +1252,6 @@ const struct xlat v4l2_pix_fmts[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_pix_fmts.in b/xlat/v4l2_pix_fmts.in index 72c6ceaf..c595d571 100644 --- a/xlat/v4l2_pix_fmts.in +++ b/xlat/v4l2_pix_fmts.in @@ -112,6 +112,7 @@ 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_HEVC v4l2_fourcc('H', 'E', 'V', '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 */ diff --git a/xlat/v4l2_sdr_fmts.h b/xlat/v4l2_sdr_fmts.h index 3a65fc8a..a0269092 100644 --- a/xlat/v4l2_sdr_fmts.h +++ b/xlat/v4l2_sdr_fmts.h @@ -1,38 +1,76 @@ /* 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)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(V4L2_SDR_FMT_PCU20BE) || (defined(HAVE_DECL_V4L2_SDR_FMT_PCU20BE) && HAVE_DECL_V4L2_SDR_FMT_PCU20BE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_SDR_FMT_PCU20BE) == (v4l2_fourcc('P', 'C', '2', '0')), "V4L2_SDR_FMT_PCU20BE != v4l2_fourcc('P', 'C', '2', '0')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_SDR_FMT_RU12LE) || (defined(HAVE_DECL_V4L2_SDR_FMT_RU12LE) && HAVE_DECL_V4L2_SDR_FMT_RU12LE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_SDR_FMT_RU12LE) == (v4l2_fourcc('R', 'U', '1', '2')), "V4L2_SDR_FMT_RU12LE != v4l2_fourcc('R', 'U', '1', '2')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_SDR_FMT_CS14LE) || (defined(HAVE_DECL_V4L2_SDR_FMT_CS14LE) && HAVE_DECL_V4L2_SDR_FMT_CS14LE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_SDR_FMT_CS14LE) == (v4l2_fourcc('C', 'S', '1', '4')), "V4L2_SDR_FMT_CS14LE != v4l2_fourcc('C', 'S', '1', '4')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_SDR_FMT_PCU16BE) || (defined(HAVE_DECL_V4L2_SDR_FMT_PCU16BE) && HAVE_DECL_V4L2_SDR_FMT_PCU16BE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_SDR_FMT_PCU16BE) == (v4l2_fourcc('P', 'C', '1', '6')), "V4L2_SDR_FMT_PCU16BE != v4l2_fourcc('P', 'C', '1', '6')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_SDR_FMT_CU16LE) || (defined(HAVE_DECL_V4L2_SDR_FMT_CU16LE) && HAVE_DECL_V4L2_SDR_FMT_CU16LE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_SDR_FMT_CU16LE) == (v4l2_fourcc('C', 'U', '1', '6')), "V4L2_SDR_FMT_CU16LE != v4l2_fourcc('C', 'U', '1', '6')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_SDR_FMT_CS8) || (defined(HAVE_DECL_V4L2_SDR_FMT_CS8) && HAVE_DECL_V4L2_SDR_FMT_CS8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_SDR_FMT_CS8) == (v4l2_fourcc('C', 'S', '0', '8')), "V4L2_SDR_FMT_CS8 != v4l2_fourcc('C', 'S', '0', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_SDR_FMT_CU8) || (defined(HAVE_DECL_V4L2_SDR_FMT_CU8) && HAVE_DECL_V4L2_SDR_FMT_CU8) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_SDR_FMT_CU8) == (v4l2_fourcc('C', 'U', '0', '8')), "V4L2_SDR_FMT_CU8 != v4l2_fourcc('C', 'U', '0', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # 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)) +#if defined(V4L2_SDR_FMT_PCU18BE) || (defined(HAVE_DECL_V4L2_SDR_FMT_PCU18BE) && HAVE_DECL_V4L2_SDR_FMT_PCU18BE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((V4L2_SDR_FMT_PCU18BE) == (v4l2_fourcc('P', 'C', '1', '8')), "V4L2_SDR_FMT_PCU18BE != v4l2_fourcc('P', 'C', '1', '8')"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define V4L2_SDR_FMT_PCU18BE v4l2_fourcc('P', 'C', '1', '8') #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_sdr_fmts[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_sdr_fmts[] = { XLAT(V4L2_SDR_FMT_PCU20BE), @@ -46,4 +84,6 @@ const struct xlat v4l2_sdr_fmts[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_sliced_flags.h b/xlat/v4l2_sliced_flags.h index 56634ba6..44358594 100644 --- a/xlat/v4l2_sliced_flags.h +++ b/xlat/v4l2_sliced_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_sliced_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_sliced_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_sliced_flags[] = { #if defined(V4L2_SLICED_TELETEXT_B) || (defined(HAVE_DECL_V4L2_SLICED_TELETEXT_B) && HAVE_DECL_V4L2_SLICED_TELETEXT_B) XLAT(V4L2_SLICED_TELETEXT_B), @@ -31,4 +37,6 @@ const struct xlat v4l2_sliced_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_streaming_capabilities.h b/xlat/v4l2_streaming_capabilities.h index 839146aa..479b7e24 100644 --- a/xlat/v4l2_streaming_capabilities.h +++ b/xlat/v4l2_streaming_capabilities.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_streaming_capabilities.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_streaming_capabilities[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_streaming_capabilities[] = { #if defined(V4L2_CAP_TIMEPERFRAME) || (defined(HAVE_DECL_V4L2_CAP_TIMEPERFRAME) && HAVE_DECL_V4L2_CAP_TIMEPERFRAME) XLAT(V4L2_CAP_TIMEPERFRAME), @@ -16,4 +22,6 @@ const struct xlat v4l2_streaming_capabilities[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_tuner_audmodes.h b/xlat/v4l2_tuner_audmodes.h index 916b5895..22f4b025 100644 --- a/xlat/v4l2_tuner_audmodes.h +++ b/xlat/v4l2_tuner_audmodes.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_tuner_audmodes.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_tuner_audmodes[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_tuner_audmodes[] = { #if defined(V4L2_TUNER_MODE_MONO) || (defined(HAVE_DECL_V4L2_TUNER_MODE_MONO) && HAVE_DECL_V4L2_TUNER_MODE_MONO) XLAT(V4L2_TUNER_MODE_MONO), @@ -31,4 +37,6 @@ const struct xlat v4l2_tuner_audmodes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_tuner_capabilities.h b/xlat/v4l2_tuner_capabilities.h index f9001790..2471bd11 100644 --- a/xlat/v4l2_tuner_capabilities.h +++ b/xlat/v4l2_tuner_capabilities.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_tuner_capabilities.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_tuner_capabilities[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_tuner_capabilities[] = { #if defined(V4L2_TUNER_CAP_LOW) || (defined(HAVE_DECL_V4L2_TUNER_CAP_LOW) && HAVE_DECL_V4L2_TUNER_CAP_LOW) XLAT(V4L2_TUNER_CAP_LOW), @@ -55,4 +61,6 @@ const struct xlat v4l2_tuner_capabilities[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_tuner_rxsubchanses.h b/xlat/v4l2_tuner_rxsubchanses.h index 52134982..5be87805 100644 --- a/xlat/v4l2_tuner_rxsubchanses.h +++ b/xlat/v4l2_tuner_rxsubchanses.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_tuner_rxsubchanses.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_tuner_rxsubchanses[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_tuner_rxsubchanses[] = { #if defined(V4L2_TUNER_SUB_MONO) || (defined(HAVE_DECL_V4L2_TUNER_SUB_MONO) && HAVE_DECL_V4L2_TUNER_SUB_MONO) XLAT(V4L2_TUNER_SUB_MONO), @@ -31,4 +37,6 @@ const struct xlat v4l2_tuner_rxsubchanses[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_tuner_types.h b/xlat/v4l2_tuner_types.h index 67f12e59..73f66892 100644 --- a/xlat/v4l2_tuner_types.h +++ b/xlat/v4l2_tuner_types.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_tuner_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_tuner_types[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_tuner_types[] = { #if defined(V4L2_TUNER_RADIO) || (defined(HAVE_DECL_V4L2_TUNER_RADIO) && HAVE_DECL_V4L2_TUNER_RADIO) XLAT(V4L2_TUNER_RADIO), @@ -31,4 +37,6 @@ const struct xlat v4l2_tuner_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/v4l2_vbi_flags.h b/xlat/v4l2_vbi_flags.h index 7924d3ef..bba758de 100644 --- a/xlat/v4l2_vbi_flags.h +++ b/xlat/v4l2_vbi_flags.h @@ -1,14 +1,20 @@ /* Generated by ./xlat/gen.sh from ./xlat/v4l2_vbi_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS extern const struct xlat v4l2_vbi_flags[]; -#else +# else -# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) +# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS) static -# endif +# endif const struct xlat v4l2_vbi_flags[] = { #if defined(V4L2_VBI_UNSYNC) || (defined(HAVE_DECL_V4L2_VBI_UNSYNC) && HAVE_DECL_V4L2_VBI_UNSYNC) XLAT(V4L2_VBI_UNSYNC), @@ -31,4 +37,6 @@ const struct xlat v4l2_vbi_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/wait4_options.h b/xlat/wait4_options.h index 49602006..2e288b59 100644 --- a/xlat/wait4_options.h +++ b/xlat/wait4_options.h @@ -1,21 +1,39 @@ /* Generated by ./xlat/gen.sh from ./xlat/wait4_options.in; do not edit. */ + +#include "gcc_compat.h" +#include "static_assert.h" + #ifndef WSTOPPED #endif -#if !(defined(__WCLONE) || (defined(HAVE_DECL___WCLONE) && HAVE_DECL___WCLONE)) +#if defined(__WCLONE) || (defined(HAVE_DECL___WCLONE) && HAVE_DECL___WCLONE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((__WCLONE) == (0x80000000), "__WCLONE != 0x80000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define __WCLONE 0x80000000 #endif -#if !(defined(__WALL) || (defined(HAVE_DECL___WALL) && HAVE_DECL___WALL)) +#if defined(__WALL) || (defined(HAVE_DECL___WALL) && HAVE_DECL___WALL) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((__WALL) == (0x40000000), "__WALL != 0x40000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define __WALL 0x40000000 #endif -#if !(defined(__WNOTHREAD) || (defined(HAVE_DECL___WNOTHREAD) && HAVE_DECL___WNOTHREAD)) +#if defined(__WNOTHREAD) || (defined(HAVE_DECL___WNOTHREAD) && HAVE_DECL___WNOTHREAD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((__WNOTHREAD) == (0x20000000), "__WNOTHREAD != 0x20000000"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define __WNOTHREAD 0x20000000 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat wait4_options in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat wait4_options in mpers mode + +# else static const struct xlat wait4_options[] = { @@ -48,4 +66,6 @@ const struct xlat wait4_options[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/waitid_types.h b/xlat/waitid_types.h index ddee8efc..9261908d 100644 --- a/xlat/waitid_types.h +++ b/xlat/waitid_types.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/waitid_types.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat waitid_types in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat waitid_types in mpers mode + +# else static const struct xlat waitid_types[] = { @@ -38,4 +44,6 @@ const struct xlat waitid_types[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/whence_codes.h b/xlat/whence_codes.h index aa3f8624..a97a3455 100644 --- a/xlat/whence_codes.h +++ b/xlat/whence_codes.h @@ -1,6 +1,12 @@ /* Generated by ./xlat/gen.sh from ./xlat/whence_codes.in; do not edit. */ -#ifndef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" + + +#ifndef XLAT_MACROS_ONLY + +# ifndef IN_MPERS const struct xlat whence_codes[] = { #if defined(SEEK_SET) || (defined(HAVE_DECL_SEEK_SET) && HAVE_DECL_SEEK_SET) @@ -21,4 +27,6 @@ const struct xlat whence_codes[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/xattrflags.h b/xlat/xattrflags.h index 36adfd0d..57bc1d23 100644 --- a/xlat/xattrflags.h +++ b/xlat/xattrflags.h @@ -1,16 +1,30 @@ /* Generated by ./xlat/gen.sh from ./xlat/xattrflags.in; do not edit. */ -#if !(defined(XATTR_CREATE) || (defined(HAVE_DECL_XATTR_CREATE) && HAVE_DECL_XATTR_CREATE)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(XATTR_CREATE) || (defined(HAVE_DECL_XATTR_CREATE) && HAVE_DECL_XATTR_CREATE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XATTR_CREATE) == (1), "XATTR_CREATE != 1"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XATTR_CREATE 1 #endif -#if !(defined(XATTR_REPLACE) || (defined(HAVE_DECL_XATTR_REPLACE) && HAVE_DECL_XATTR_REPLACE)) +#if defined(XATTR_REPLACE) || (defined(HAVE_DECL_XATTR_REPLACE) && HAVE_DECL_XATTR_REPLACE) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XATTR_REPLACE) == (2), "XATTR_REPLACE != 2"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XATTR_REPLACE 2 #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat xattrflags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat xattrflags in mpers mode + +# else static const struct xlat xattrflags[] = { @@ -19,4 +33,6 @@ const struct xlat xattrflags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/xdp_flags.h b/xlat/xdp_flags.h index 2ebe1721..d1e9613c 100644 --- a/xlat/xdp_flags.h +++ b/xlat/xdp_flags.h @@ -1,10 +1,16 @@ /* Generated by ./xlat/gen.sh from ./xlat/xdp_flags.in; do not edit. */ -#ifdef IN_MPERS +#include "gcc_compat.h" +#include "static_assert.h" -# error static const struct xlat xdp_flags in mpers mode -#else +#ifndef XLAT_MACROS_ONLY + +# ifdef IN_MPERS + +# error static const struct xlat xdp_flags in mpers mode + +# else static const struct xlat xdp_flags[] = { @@ -26,4 +32,6 @@ const struct xlat xdp_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/xfs_dqblk_flags.h b/xlat/xfs_dqblk_flags.h index b0a91847..2b2e874f 100644 --- a/xlat/xfs_dqblk_flags.h +++ b/xlat/xfs_dqblk_flags.h @@ -1,19 +1,37 @@ /* Generated by ./xlat/gen.sh from ./xlat/xfs_dqblk_flags.in; do not edit. */ -#if !(defined(XFS_USER_QUOTA) || (defined(HAVE_DECL_XFS_USER_QUOTA) && HAVE_DECL_XFS_USER_QUOTA)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(XFS_USER_QUOTA) || (defined(HAVE_DECL_XFS_USER_QUOTA) && HAVE_DECL_XFS_USER_QUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFS_USER_QUOTA) == ((1<<0)), "XFS_USER_QUOTA != (1<<0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFS_USER_QUOTA (1<<0) #endif -#if !(defined(XFS_PROJ_QUOTA) || (defined(HAVE_DECL_XFS_PROJ_QUOTA) && HAVE_DECL_XFS_PROJ_QUOTA)) +#if defined(XFS_PROJ_QUOTA) || (defined(HAVE_DECL_XFS_PROJ_QUOTA) && HAVE_DECL_XFS_PROJ_QUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFS_PROJ_QUOTA) == ((1<<1)), "XFS_PROJ_QUOTA != (1<<1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFS_PROJ_QUOTA (1<<1) #endif -#if !(defined(XFS_GROUP_QUOTA) || (defined(HAVE_DECL_XFS_GROUP_QUOTA) && HAVE_DECL_XFS_GROUP_QUOTA)) +#if defined(XFS_GROUP_QUOTA) || (defined(HAVE_DECL_XFS_GROUP_QUOTA) && HAVE_DECL_XFS_GROUP_QUOTA) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFS_GROUP_QUOTA) == ((1<<2)), "XFS_GROUP_QUOTA != (1<<2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFS_GROUP_QUOTA (1<<2) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat xfs_dqblk_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat xfs_dqblk_flags in mpers mode + +# else static const struct xlat xfs_dqblk_flags[] = { @@ -23,4 +41,6 @@ const struct xlat xfs_dqblk_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ diff --git a/xlat/xfs_quota_flags.h b/xlat/xfs_quota_flags.h index f635b960..96f0aab6 100644 --- a/xlat/xfs_quota_flags.h +++ b/xlat/xfs_quota_flags.h @@ -1,28 +1,58 @@ /* Generated by ./xlat/gen.sh from ./xlat/xfs_quota_flags.in; do not edit. */ -#if !(defined(XFS_QUOTA_UDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_UDQ_ACCT) && HAVE_DECL_XFS_QUOTA_UDQ_ACCT)) + +#include "gcc_compat.h" +#include "static_assert.h" + +#if defined(XFS_QUOTA_UDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_UDQ_ACCT) && HAVE_DECL_XFS_QUOTA_UDQ_ACCT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFS_QUOTA_UDQ_ACCT) == ((1<<0)), "XFS_QUOTA_UDQ_ACCT != (1<<0)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFS_QUOTA_UDQ_ACCT (1<<0) #endif -#if !(defined(XFS_QUOTA_UDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_UDQ_ENFD) && HAVE_DECL_XFS_QUOTA_UDQ_ENFD)) +#if defined(XFS_QUOTA_UDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_UDQ_ENFD) && HAVE_DECL_XFS_QUOTA_UDQ_ENFD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFS_QUOTA_UDQ_ENFD) == ((1<<1)), "XFS_QUOTA_UDQ_ENFD != (1<<1)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFS_QUOTA_UDQ_ENFD (1<<1) #endif -#if !(defined(XFS_QUOTA_GDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_GDQ_ACCT) && HAVE_DECL_XFS_QUOTA_GDQ_ACCT)) +#if defined(XFS_QUOTA_GDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_GDQ_ACCT) && HAVE_DECL_XFS_QUOTA_GDQ_ACCT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFS_QUOTA_GDQ_ACCT) == ((1<<2)), "XFS_QUOTA_GDQ_ACCT != (1<<2)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFS_QUOTA_GDQ_ACCT (1<<2) #endif -#if !(defined(XFS_QUOTA_GDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_GDQ_ENFD) && HAVE_DECL_XFS_QUOTA_GDQ_ENFD)) +#if defined(XFS_QUOTA_GDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_GDQ_ENFD) && HAVE_DECL_XFS_QUOTA_GDQ_ENFD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFS_QUOTA_GDQ_ENFD) == ((1<<3)), "XFS_QUOTA_GDQ_ENFD != (1<<3)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFS_QUOTA_GDQ_ENFD (1<<3) #endif -#if !(defined(XFS_QUOTA_PDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_PDQ_ACCT) && HAVE_DECL_XFS_QUOTA_PDQ_ACCT)) +#if defined(XFS_QUOTA_PDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_PDQ_ACCT) && HAVE_DECL_XFS_QUOTA_PDQ_ACCT) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFS_QUOTA_PDQ_ACCT) == ((1<<4)), "XFS_QUOTA_PDQ_ACCT != (1<<4)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFS_QUOTA_PDQ_ACCT (1<<4) #endif -#if !(defined(XFS_QUOTA_PDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_PDQ_ENFD) && HAVE_DECL_XFS_QUOTA_PDQ_ENFD)) +#if defined(XFS_QUOTA_PDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_PDQ_ENFD) && HAVE_DECL_XFS_QUOTA_PDQ_ENFD) +DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE +static_assert((XFS_QUOTA_PDQ_ENFD) == ((1<<5)), "XFS_QUOTA_PDQ_ENFD != (1<<5)"); +DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE +#else # define XFS_QUOTA_PDQ_ENFD (1<<5) #endif -#ifdef IN_MPERS +#ifndef XLAT_MACROS_ONLY -# error static const struct xlat xfs_quota_flags in mpers mode +# ifdef IN_MPERS -#else +# error static const struct xlat xfs_quota_flags in mpers mode + +# else static const struct xlat xfs_quota_flags[] = { @@ -35,4 +65,6 @@ const struct xlat xfs_quota_flags[] = { XLAT_END }; -#endif /* !IN_MPERS */ +# endif /* !IN_MPERS */ + +#endif /* !XLAT_MACROS_ONLY */ -- GitLab