# 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 \
  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 \
  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-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 \
  #
