Home | History | Annotate | Line # | Download | only in sanitizer_common
      1 //===-- sanitizer_syscalls_netbsd.inc ---------------------------*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 //
     10 // Common syscalls handlers for tools like AddressSanitizer,
     11 // ThreadSanitizer, MemorySanitizer, etc.
     12 //
     13 // This file should be included into the tool's interceptor file,
     14 // which has to define it's own macros:
     15 //   COMMON_SYSCALL_PRE_READ_RANGE
     16 //          Called in prehook for regions that will be read by the kernel and
     17 //          must be initialized.
     18 //   COMMON_SYSCALL_PRE_WRITE_RANGE
     19 //          Called in prehook for regions that will be written to by the kernel
     20 //          and must be addressable. The actual write range may be smaller than
     21 //          reported in the prehook. See POST_WRITE_RANGE.
     22 //   COMMON_SYSCALL_POST_READ_RANGE
     23 //          Called in posthook for regions that were read by the kernel. Does
     24 //          not make much sense.
     25 //   COMMON_SYSCALL_POST_WRITE_RANGE
     26 //          Called in posthook for regions that were written to by the kernel
     27 //          and are now initialized.
     28 //   COMMON_SYSCALL_ACQUIRE(addr)
     29 //          Acquire memory visibility from addr.
     30 //   COMMON_SYSCALL_RELEASE(addr)
     31 //          Release memory visibility to addr.
     32 //   COMMON_SYSCALL_FD_CLOSE(fd)
     33 //          Called before closing file descriptor fd.
     34 //   COMMON_SYSCALL_FD_ACQUIRE(fd)
     35 //          Acquire memory visibility from fd.
     36 //   COMMON_SYSCALL_FD_RELEASE(fd)
     37 //          Release memory visibility to fd.
     38 //   COMMON_SYSCALL_PRE_FORK()
     39 //          Called before fork syscall.
     40 //   COMMON_SYSCALL_POST_FORK(long long res)
     41 //          Called after fork syscall.
     42 //
     43 // DO NOT EDIT! THIS FILE HAS BEEN GENERATED!
     44 //
     45 // Generated with: generate_netbsd_syscalls.awk
     46 // Generated date: 2018-10-30
     47 // Generated from: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp
     48 //
     49 //===----------------------------------------------------------------------===//
     50 
     51 #include "sanitizer_platform.h"
     52 #if SANITIZER_NETBSD
     53 
     54 #include "sanitizer_libc.h"
     55 
     56 #define PRE_SYSCALL(name)                                                      \
     57   SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_syscall_pre_impl_##name
     58 #define PRE_READ(p, s) COMMON_SYSCALL_PRE_READ_RANGE(p, s)
     59 #define PRE_WRITE(p, s) COMMON_SYSCALL_PRE_WRITE_RANGE(p, s)
     60 
     61 #define POST_SYSCALL(name)                                                     \
     62   SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_syscall_post_impl_##name
     63 #define POST_READ(p, s) COMMON_SYSCALL_POST_READ_RANGE(p, s)
     64 #define POST_WRITE(p, s) COMMON_SYSCALL_POST_WRITE_RANGE(p, s)
     65 
     66 #ifndef COMMON_SYSCALL_ACQUIRE
     67 #define COMMON_SYSCALL_ACQUIRE(addr) ((void)(addr))
     68 #endif
     69 
     70 #ifndef COMMON_SYSCALL_RELEASE
     71 #define COMMON_SYSCALL_RELEASE(addr) ((void)(addr))
     72 #endif
     73 
     74 #ifndef COMMON_SYSCALL_FD_CLOSE
     75 #define COMMON_SYSCALL_FD_CLOSE(fd) ((void)(fd))
     76 #endif
     77 
     78 #ifndef COMMON_SYSCALL_FD_ACQUIRE
     79 #define COMMON_SYSCALL_FD_ACQUIRE(fd) ((void)(fd))
     80 #endif
     81 
     82 #ifndef COMMON_SYSCALL_FD_RELEASE
     83 #define COMMON_SYSCALL_FD_RELEASE(fd) ((void)(fd))
     84 #endif
     85 
     86 #ifndef COMMON_SYSCALL_PRE_FORK
     87 #define COMMON_SYSCALL_PRE_FORK()                                              \
     88   {}
     89 #endif
     90 
     91 #ifndef COMMON_SYSCALL_POST_FORK
     92 #define COMMON_SYSCALL_POST_FORK(res)                                          \
     93   {}
     94 #endif
     95 
     96 // FIXME: do some kind of PRE_READ for all syscall arguments (int(s) and such).
     97 
     98 extern "C" {
     99 #define SYS_MAXSYSARGS 8
    100 PRE_SYSCALL(syscall)(long long code_, long long args_[SYS_MAXSYSARGS]) {
    101   /* Nothing to do */
    102 }
    103 POST_SYSCALL(syscall)
    104 (long long res, long long code_, long long args_[SYS_MAXSYSARGS]) {
    105   /* Nothing to do */
    106 }
    107 PRE_SYSCALL(exit)(long long rval_) { /* Nothing to do */ }
    108 POST_SYSCALL(exit)(long long res, long long rval_) { /* Nothing to do */ }
    109 PRE_SYSCALL(fork)(void) { COMMON_SYSCALL_PRE_FORK(); }
    110 POST_SYSCALL(fork)(long long res) { COMMON_SYSCALL_POST_FORK(res); }
    111 PRE_SYSCALL(read)(long long fd_, void *buf_, long long nbyte_) {
    112   if (buf_) {
    113     PRE_WRITE(buf_, nbyte_);
    114   }
    115 }
    116 POST_SYSCALL(read)(long long res, long long fd_, void *buf_, long long nbyte_) {
    117   if (res > 0) {
    118     POST_WRITE(buf_, res);
    119   }
    120 }
    121 PRE_SYSCALL(write)(long long fd_, void *buf_, long long nbyte_) {
    122   if (buf_) {
    123     PRE_READ(buf_, nbyte_);
    124   }
    125 }
    126 POST_SYSCALL(write)
    127 (long long res, long long fd_, void *buf_, long long nbyte_) {
    128   if (res > 0) {
    129     POST_READ(buf_, res);
    130   }
    131 }
    132 PRE_SYSCALL(open)(void *path_, long long flags_, long long mode_) {
    133   const char *path = (const char *)path_;
    134   if (path) {
    135     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    136   }
    137 }
    138 POST_SYSCALL(open)
    139 (long long res, void *path_, long long flags_, long long mode_) {
    140   if (res > 0) {
    141     const char *path = (const char *)path_;
    142     if (path) {
    143       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    144     }
    145   }
    146 }
    147 PRE_SYSCALL(close)(long long fd_) { COMMON_SYSCALL_FD_CLOSE((int)fd_); }
    148 POST_SYSCALL(close)(long long res, long long fd_) { /* Nothing to do */ }
    149 PRE_SYSCALL(compat_50_wait4)
    150 (long long pid_, void *status_, long long options_, void *rusage_) {
    151   /* TODO */
    152 }
    153 POST_SYSCALL(compat_50_wait4)
    154 (long long res, long long pid_, void *status_, long long options_,
    155   void *rusage_) {
    156   /* TODO */
    157 }
    158 PRE_SYSCALL(compat_43_ocreat)(void *path_, long long mode_) { /* TODO */ }
    159 POST_SYSCALL(compat_43_ocreat)(long long res, void *path_, long long mode_) {
    160   /* TODO */
    161 }
    162 PRE_SYSCALL(link)(void *path_, void *link_) {
    163   const char *path = (const char *)path_;
    164   const char *link = (const char *)link_;
    165   if (path) {
    166     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    167   }
    168   if (link) {
    169     PRE_READ(path, __sanitizer::internal_strlen(link) + 1);
    170   }
    171 }
    172 POST_SYSCALL(link)(long long res, void *path_, void *link_) {
    173   if (res == 0) {
    174     const char *path = (const char *)path_;
    175     const char *link = (const char *)link_;
    176     if (path) {
    177       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    178     }
    179     if (link) {
    180       POST_READ(path, __sanitizer::internal_strlen(link) + 1);
    181     }
    182   }
    183 }
    184 PRE_SYSCALL(unlink)(void *path_) {
    185   const char *path = (const char *)path_;
    186   if (path) {
    187     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    188   }
    189 }
    190 POST_SYSCALL(unlink)(long long res, void *path_) {
    191   if (res == 0) {
    192     const char *path = (const char *)path_;
    193     if (path) {
    194       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    195     }
    196   }
    197 }
    198 /* syscall 11 has been skipped */
    199 PRE_SYSCALL(chdir)(void *path_) {
    200   const char *path = (const char *)path_;
    201   if (path) {
    202     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    203   }
    204 }
    205 POST_SYSCALL(chdir)(long long res, void *path_) {
    206   if (res == 0) {
    207     const char *path = (const char *)path_;
    208     if (path) {
    209       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    210     }
    211   }
    212 }
    213 PRE_SYSCALL(fchdir)(long long fd_) { /* Nothing to do */ }
    214 POST_SYSCALL(fchdir)(long long res, long long fd_) { /* Nothing to do */ }
    215 PRE_SYSCALL(compat_50_mknod)(void *path_, long long mode_, long long dev_) {
    216   /* TODO */
    217 }
    218 POST_SYSCALL(compat_50_mknod)
    219 (long long res, void *path_, long long mode_, long long dev_) {
    220   /* TODO */
    221 }
    222 PRE_SYSCALL(chmod)(void *path_, long long mode_) {
    223   const char *path = (const char *)path_;
    224   if (path) {
    225     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    226   }
    227 }
    228 POST_SYSCALL(chmod)(long long res, void *path_, long long mode_) {
    229   if (res == 0) {
    230     const char *path = (const char *)path_;
    231     if (path) {
    232       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    233     }
    234   }
    235 }
    236 PRE_SYSCALL(chown)(void *path_, long long uid_, long long gid_) {
    237   const char *path = (const char *)path_;
    238   if (path) {
    239     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    240   }
    241 }
    242 POST_SYSCALL(chown)
    243 (long long res, void *path_, long long uid_, long long gid_) {
    244   if (res == 0) {
    245     const char *path = (const char *)path_;
    246     if (path) {
    247       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    248     }
    249   }
    250 }
    251 PRE_SYSCALL(break)(void *nsize_) { /* Nothing to do */ }
    252 POST_SYSCALL(break)(long long res, void *nsize_) { /* Nothing to do */ }
    253 PRE_SYSCALL(compat_20_getfsstat)
    254 (void *buf_, long long bufsize_, long long flags_) {
    255   /* TODO */
    256 }
    257 POST_SYSCALL(compat_20_getfsstat)
    258 (long long res, void *buf_, long long bufsize_, long long flags_) {
    259   /* TODO */
    260 }
    261 PRE_SYSCALL(compat_43_olseek)
    262 (long long fd_, long long offset_, long long whence_) {
    263   /* TODO */
    264 }
    265 POST_SYSCALL(compat_43_olseek)
    266 (long long res, long long fd_, long long offset_, long long whence_) {
    267   /* TODO */
    268 }
    269 PRE_SYSCALL(getpid)(void) { /* Nothing to do */ }
    270 POST_SYSCALL(getpid)(long long res) { /* Nothing to do */ }
    271 PRE_SYSCALL(compat_40_mount)
    272 (void *type_, void *path_, long long flags_, void *data_) {
    273   /* TODO */
    274 }
    275 POST_SYSCALL(compat_40_mount)
    276 (long long res, void *type_, void *path_, long long flags_, void *data_) {
    277   /* TODO */
    278 }
    279 PRE_SYSCALL(unmount)(void *path_, long long flags_) {
    280   const char *path = (const char *)path_;
    281   if (path) {
    282     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    283   }
    284 }
    285 POST_SYSCALL(unmount)(long long res, void *path_, long long flags_) {
    286   if (res == 0) {
    287     const char *path = (const char *)path_;
    288     if (path) {
    289       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    290     }
    291   }
    292 }
    293 PRE_SYSCALL(setuid)(long long uid_) { /* Nothing to do */ }
    294 POST_SYSCALL(setuid)(long long res, long long uid_) { /* Nothing to do */ }
    295 PRE_SYSCALL(getuid)(void) { /* Nothing to do */ }
    296 POST_SYSCALL(getuid)(long long res) { /* Nothing to do */ }
    297 PRE_SYSCALL(geteuid)(void) { /* Nothing to do */ }
    298 POST_SYSCALL(geteuid)(long long res) { /* Nothing to do */ }
    299 PRE_SYSCALL(ptrace)
    300 (long long req_, long long pid_, void *addr_, long long data_) {
    301   if (req_ == ptrace_pt_io) {
    302     struct __sanitizer_ptrace_io_desc *addr =
    303         (struct __sanitizer_ptrace_io_desc *)addr_;
    304     PRE_READ(addr, struct_ptrace_ptrace_io_desc_struct_sz);
    305     if (addr->piod_op == ptrace_piod_write_d ||
    306         addr->piod_op == ptrace_piod_write_i) {
    307       PRE_READ(addr->piod_addr, addr->piod_len);
    308     }
    309     if (addr->piod_op == ptrace_piod_read_d ||
    310         addr->piod_op == ptrace_piod_read_i ||
    311         addr->piod_op == ptrace_piod_read_auxv) {
    312       PRE_WRITE(addr->piod_addr, addr->piod_len);
    313     }
    314   } else if (req_ == ptrace_pt_lwpinfo) {
    315     struct __sanitizer_ptrace_lwpinfo *addr =
    316         (struct __sanitizer_ptrace_lwpinfo *)addr_;
    317     PRE_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
    318     PRE_WRITE(addr, struct_ptrace_ptrace_lwpinfo_struct_sz);
    319   } else if (req_ == ptrace_pt_set_event_mask) {
    320     PRE_READ(addr_, struct_ptrace_ptrace_event_struct_sz);
    321   } else if (req_ == ptrace_pt_get_event_mask) {
    322     PRE_WRITE(addr_, struct_ptrace_ptrace_event_struct_sz);
    323   } else if (req_ == ptrace_pt_set_siginfo) {
    324     PRE_READ(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
    325   } else if (req_ == ptrace_pt_get_siginfo) {
    326     PRE_WRITE(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
    327   } else if (req_ == ptrace_pt_lwpstatus) {
    328     struct __sanitizer_ptrace_lwpstatus *addr =
    329         (struct __sanitizer_ptrace_lwpstatus *)addr_;
    330     PRE_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
    331     PRE_WRITE(addr, struct_ptrace_ptrace_lwpstatus_struct_sz);
    332   } else if (req_ == ptrace_pt_lwpnext) {
    333     struct __sanitizer_ptrace_lwpstatus *addr =
    334         (struct __sanitizer_ptrace_lwpstatus *)addr_;
    335     PRE_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
    336     PRE_WRITE(addr, struct_ptrace_ptrace_lwpstatus_struct_sz);
    337   } else if (req_ == ptrace_pt_setregs) {
    338     PRE_READ(addr_, struct_ptrace_reg_struct_sz);
    339   } else if (req_ == ptrace_pt_getregs) {
    340     PRE_WRITE(addr_, struct_ptrace_reg_struct_sz);
    341   } else if (req_ == ptrace_pt_setfpregs) {
    342     PRE_READ(addr_, struct_ptrace_fpreg_struct_sz);
    343   } else if (req_ == ptrace_pt_getfpregs) {
    344     PRE_WRITE(addr_, struct_ptrace_fpreg_struct_sz);
    345   } else if (req_ == ptrace_pt_setdbregs) {
    346     PRE_READ(addr_, struct_ptrace_dbreg_struct_sz);
    347   } else if (req_ == ptrace_pt_getdbregs) {
    348     PRE_WRITE(addr_, struct_ptrace_dbreg_struct_sz);
    349   }
    350 }
    351 POST_SYSCALL(ptrace)
    352 (long long res, long long req_, long long pid_, void *addr_, long long data_) {
    353   if (res == 0) {
    354     if (req_ == ptrace_pt_io) {
    355       struct __sanitizer_ptrace_io_desc *addr =
    356           (struct __sanitizer_ptrace_io_desc *)addr_;
    357       POST_READ(addr, struct_ptrace_ptrace_io_desc_struct_sz);
    358       if (addr->piod_op == ptrace_piod_write_d ||
    359           addr->piod_op == ptrace_piod_write_i) {
    360         POST_READ(addr->piod_addr, addr->piod_len);
    361       }
    362       if (addr->piod_op == ptrace_piod_read_d ||
    363           addr->piod_op == ptrace_piod_read_i ||
    364           addr->piod_op == ptrace_piod_read_auxv) {
    365         POST_WRITE(addr->piod_addr, addr->piod_len);
    366       }
    367     } else if (req_ == ptrace_pt_lwpinfo) {
    368       struct __sanitizer_ptrace_lwpinfo *addr =
    369           (struct __sanitizer_ptrace_lwpinfo *)addr_;
    370       POST_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
    371       POST_WRITE(addr, struct_ptrace_ptrace_lwpinfo_struct_sz);
    372     } else if (req_ == ptrace_pt_set_event_mask) {
    373       POST_READ(addr_, struct_ptrace_ptrace_event_struct_sz);
    374     } else if (req_ == ptrace_pt_get_event_mask) {
    375       POST_WRITE(addr_, struct_ptrace_ptrace_event_struct_sz);
    376     } else if (req_ == ptrace_pt_set_siginfo) {
    377       POST_READ(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
    378     } else if (req_ == ptrace_pt_get_siginfo) {
    379       POST_WRITE(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
    380     } else if (req_ == ptrace_pt_lwpstatus) {
    381       struct __sanitizer_ptrace_lwpstatus *addr =
    382           (struct __sanitizer_ptrace_lwpstatus *)addr_;
    383       POST_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
    384       POST_WRITE(addr, struct_ptrace_ptrace_lwpstatus_struct_sz);
    385     } else if (req_ == ptrace_pt_lwpnext) {
    386       struct __sanitizer_ptrace_lwpstatus *addr =
    387           (struct __sanitizer_ptrace_lwpstatus *)addr_;
    388       POST_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
    389       POST_WRITE(addr, struct_ptrace_ptrace_lwpstatus_struct_sz);
    390     } else if (req_ == ptrace_pt_setregs) {
    391       POST_READ(addr_, struct_ptrace_reg_struct_sz);
    392     } else if (req_ == ptrace_pt_getregs) {
    393       POST_WRITE(addr_, struct_ptrace_reg_struct_sz);
    394     } else if (req_ == ptrace_pt_setfpregs) {
    395       POST_READ(addr_, struct_ptrace_fpreg_struct_sz);
    396     } else if (req_ == ptrace_pt_getfpregs) {
    397       POST_WRITE(addr_, struct_ptrace_fpreg_struct_sz);
    398     } else if (req_ == ptrace_pt_setdbregs) {
    399       POST_READ(addr_, struct_ptrace_dbreg_struct_sz);
    400     } else if (req_ == ptrace_pt_getdbregs) {
    401       POST_WRITE(addr_, struct_ptrace_dbreg_struct_sz);
    402     }
    403   }
    404 }
    405 PRE_SYSCALL(recvmsg)(long long s_, void *msg_, long long flags_) {
    406   PRE_WRITE(msg_, sizeof(__sanitizer_msghdr));
    407 }
    408 POST_SYSCALL(recvmsg)
    409 (long long res, long long s_, void *msg_, long long flags_) {
    410   if (res > 0) {
    411     POST_WRITE(msg_, sizeof(__sanitizer_msghdr));
    412   }
    413 }
    414 PRE_SYSCALL(sendmsg)(long long s_, void *msg_, long long flags_) {
    415   PRE_READ(msg_, sizeof(__sanitizer_msghdr));
    416 }
    417 POST_SYSCALL(sendmsg)
    418 (long long res, long long s_, void *msg_, long long flags_) {
    419   if (res > 0) {
    420     POST_READ(msg_, sizeof(__sanitizer_msghdr));
    421   }
    422 }
    423 PRE_SYSCALL(recvfrom)
    424 (long long s_, void *buf_, long long len_, long long flags_, void *from_,
    425   void *fromlenaddr_) {
    426   PRE_WRITE(buf_, len_);
    427   PRE_WRITE(from_, struct_sockaddr_sz);
    428   PRE_WRITE(fromlenaddr_, sizeof(__sanitizer_socklen_t));
    429 }
    430 POST_SYSCALL(recvfrom)
    431 (long long res, long long s_, void *buf_, long long len_, long long flags_,
    432   void *from_, void *fromlenaddr_) {
    433   if (res >= 0) {
    434     POST_WRITE(buf_, res);
    435     POST_WRITE(from_, struct_sockaddr_sz);
    436     POST_WRITE(fromlenaddr_, sizeof(__sanitizer_socklen_t));
    437   }
    438 }
    439 PRE_SYSCALL(accept)(long long s_, void *name_, void *anamelen_) {
    440   PRE_WRITE(name_, struct_sockaddr_sz);
    441   PRE_WRITE(anamelen_, sizeof(__sanitizer_socklen_t));
    442 }
    443 POST_SYSCALL(accept)
    444 (long long res, long long s_, void *name_, void *anamelen_) {
    445   if (res == 0) {
    446     POST_WRITE(name_, struct_sockaddr_sz);
    447     POST_WRITE(anamelen_, sizeof(__sanitizer_socklen_t));
    448   }
    449 }
    450 PRE_SYSCALL(getpeername)(long long fdes_, void *asa_, void *alen_) {
    451   PRE_WRITE(asa_, struct_sockaddr_sz);
    452   PRE_WRITE(alen_, sizeof(__sanitizer_socklen_t));
    453 }
    454 POST_SYSCALL(getpeername)
    455 (long long res, long long fdes_, void *asa_, void *alen_) {
    456   if (res == 0) {
    457     POST_WRITE(asa_, struct_sockaddr_sz);
    458     POST_WRITE(alen_, sizeof(__sanitizer_socklen_t));
    459   }
    460 }
    461 PRE_SYSCALL(getsockname)(long long fdes_, void *asa_, void *alen_) {
    462   PRE_WRITE(asa_, struct_sockaddr_sz);
    463   PRE_WRITE(alen_, sizeof(__sanitizer_socklen_t));
    464 }
    465 POST_SYSCALL(getsockname)
    466 (long long res, long long fdes_, void *asa_, void *alen_) {
    467   if (res == 0) {
    468     POST_WRITE(asa_, struct_sockaddr_sz);
    469     POST_WRITE(alen_, sizeof(__sanitizer_socklen_t));
    470   }
    471 }
    472 PRE_SYSCALL(access)(void *path_, long long flags_) {
    473   const char *path = (const char *)path_;
    474   if (path) {
    475     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    476   }
    477 }
    478 POST_SYSCALL(access)(long long res, void *path_, long long flags_) {
    479   if (res == 0) {
    480     const char *path = (const char *)path_;
    481     if (path) {
    482       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    483     }
    484   }
    485 }
    486 PRE_SYSCALL(chflags)(void *path_, long long flags_) {
    487   const char *path = (const char *)path_;
    488   if (path) {
    489     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    490   }
    491 }
    492 POST_SYSCALL(chflags)(long long res, void *path_, long long flags_) {
    493   if (res == 0) {
    494     const char *path = (const char *)path_;
    495     if (path) {
    496       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    497     }
    498   }
    499 }
    500 PRE_SYSCALL(fchflags)(long long fd_, long long flags_) { /* Nothing to do */ }
    501 POST_SYSCALL(fchflags)(long long res, long long fd_, long long flags_) {
    502   /* Nothing to do */
    503 }
    504 PRE_SYSCALL(sync)(void) { /* Nothing to do */ }
    505 POST_SYSCALL(sync)(long long res) { /* Nothing to do */ }
    506 PRE_SYSCALL(kill)(long long pid_, long long signum_) { /* Nothing to do */ }
    507 POST_SYSCALL(kill)(long long res, long long pid_, long long signum_) {
    508   /* Nothing to do */
    509 }
    510 PRE_SYSCALL(compat_43_stat43)(void *path_, void *ub_) { /* TODO */ }
    511 POST_SYSCALL(compat_43_stat43)(long long res, void *path_, void *ub_) {
    512   /* TODO */
    513 }
    514 PRE_SYSCALL(getppid)(void) { /* Nothing to do */ }
    515 POST_SYSCALL(getppid)(long long res) { /* Nothing to do */ }
    516 PRE_SYSCALL(compat_43_lstat43)(void *path_, void *ub_) { /* TODO */ }
    517 POST_SYSCALL(compat_43_lstat43)(long long res, void *path_, void *ub_) {
    518   /* TODO */
    519 }
    520 PRE_SYSCALL(dup)(long long fd_) { /* Nothing to do */ }
    521 POST_SYSCALL(dup)(long long res, long long fd_) { /* Nothing to do */ }
    522 PRE_SYSCALL(pipe)(void) {
    523   /* pipe returns two descriptors through two returned values */
    524 }
    525 POST_SYSCALL(pipe)(long long res) {
    526   /* pipe returns two descriptors through two returned values */
    527 }
    528 PRE_SYSCALL(getegid)(void) { /* Nothing to do */ }
    529 POST_SYSCALL(getegid)(long long res) { /* Nothing to do */ }
    530 PRE_SYSCALL(profil)
    531 (void *samples_, long long size_, long long offset_, long long scale_) {
    532   if (samples_) {
    533     PRE_WRITE(samples_, size_);
    534   }
    535 }
    536 POST_SYSCALL(profil)
    537 (long long res, void *samples_, long long size_, long long offset_,
    538   long long scale_) {
    539   if (res == 0) {
    540     if (samples_) {
    541       POST_WRITE(samples_, size_);
    542     }
    543   }
    544 }
    545 PRE_SYSCALL(ktrace)
    546 (void *fname_, long long ops_, long long facs_, long long pid_) {
    547   const char *fname = (const char *)fname_;
    548   if (fname) {
    549     PRE_READ(fname, __sanitizer::internal_strlen(fname) + 1);
    550   }
    551 }
    552 POST_SYSCALL(ktrace)
    553 (long long res, void *fname_, long long ops_, long long facs_, long long pid_) {
    554   const char *fname = (const char *)fname_;
    555   if (res == 0) {
    556     if (fname) {
    557       POST_READ(fname, __sanitizer::internal_strlen(fname) + 1);
    558     }
    559   }
    560 }
    561 PRE_SYSCALL(compat_13_sigaction13)(long long signum_, void *nsa_, void *osa_) {
    562   /* TODO */
    563 }
    564 POST_SYSCALL(compat_13_sigaction13)
    565 (long long res, long long signum_, void *nsa_, void *osa_) {
    566   /* TODO */
    567 }
    568 PRE_SYSCALL(getgid)(void) { /* Nothing to do */ }
    569 POST_SYSCALL(getgid)(long long res) { /* Nothing to do */ }
    570 PRE_SYSCALL(compat_13_sigprocmask13)(long long how_, long long mask_) {
    571   /* TODO */
    572 }
    573 POST_SYSCALL(compat_13_sigprocmask13)
    574 (long long res, long long how_, long long mask_) {
    575   /* TODO */
    576 }
    577 PRE_SYSCALL(__getlogin)(void *namebuf_, long long namelen_) {
    578   if (namebuf_) {
    579     PRE_WRITE(namebuf_, namelen_);
    580   }
    581 }
    582 POST_SYSCALL(__getlogin)(long long res, void *namebuf_, long long namelen_) {
    583   if (res == 0) {
    584     if (namebuf_) {
    585       POST_WRITE(namebuf_, namelen_);
    586     }
    587   }
    588 }
    589 PRE_SYSCALL(__setlogin)(void *namebuf_) {
    590   const char *namebuf = (const char *)namebuf_;
    591   if (namebuf) {
    592     PRE_READ(namebuf, __sanitizer::internal_strlen(namebuf) + 1);
    593   }
    594 }
    595 POST_SYSCALL(__setlogin)(long long res, void *namebuf_) {
    596   if (res == 0) {
    597     const char *namebuf = (const char *)namebuf_;
    598     if (namebuf) {
    599       POST_READ(namebuf, __sanitizer::internal_strlen(namebuf) + 1);
    600     }
    601   }
    602 }
    603 PRE_SYSCALL(acct)(void *path_) {
    604   const char *path = (const char *)path_;
    605   if (path) {
    606     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    607   }
    608 }
    609 POST_SYSCALL(acct)(long long res, void *path_) {
    610   if (res == 0) {
    611     const char *path = (const char *)path_;
    612     if (path) {
    613       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    614     }
    615   }
    616 }
    617 PRE_SYSCALL(compat_13_sigpending13)(void) { /* TODO */ }
    618 POST_SYSCALL(compat_13_sigpending13)(long long res) { /* TODO */ }
    619 PRE_SYSCALL(compat_13_sigaltstack13)(void *nss_, void *oss_) { /* TODO */ }
    620 POST_SYSCALL(compat_13_sigaltstack13)(long long res, void *nss_, void *oss_) {
    621   /* TODO */
    622 }
    623 PRE_SYSCALL(ioctl)(long long fd_, long long com_, void *data_) {
    624   /* Nothing to do */
    625 }
    626 POST_SYSCALL(ioctl)(long long res, long long fd_, long long com_, void *data_) {
    627   /* Nothing to do */
    628 }
    629 PRE_SYSCALL(compat_12_oreboot)(long long opt_) { /* TODO */ }
    630 POST_SYSCALL(compat_12_oreboot)(long long res, long long opt_) { /* TODO */ }
    631 PRE_SYSCALL(revoke)(void *path_) {
    632   const char *path = (const char *)path_;
    633   if (path) {
    634     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    635   }
    636 }
    637 POST_SYSCALL(revoke)(long long res, void *path_) {
    638   if (res == 0) {
    639     const char *path = (const char *)path_;
    640     if (path) {
    641       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    642     }
    643   }
    644 }
    645 PRE_SYSCALL(symlink)(void *path_, void *link_) {
    646   const char *path = (const char *)path_;
    647   const char *link = (const char *)link_;
    648   if (path) {
    649     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    650   }
    651   if (link) {
    652     PRE_READ(link, __sanitizer::internal_strlen(link) + 1);
    653   }
    654 }
    655 POST_SYSCALL(symlink)(long long res, void *path_, void *link_) {
    656   if (res == 0) {
    657     const char *path = (const char *)path_;
    658     const char *link = (const char *)link_;
    659     if (path) {
    660       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    661     }
    662     if (link) {
    663       POST_READ(link, __sanitizer::internal_strlen(link) + 1);
    664     }
    665   }
    666 }
    667 PRE_SYSCALL(readlink)(void *path_, void *buf_, long long count_) {
    668   const char *path = (const char *)path_;
    669   if (path) {
    670     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    671   }
    672   if (buf_) {
    673     PRE_WRITE(buf_, count_);
    674   }
    675 }
    676 POST_SYSCALL(readlink)
    677 (long long res, void *path_, void *buf_, long long count_) {
    678   if (res > 0) {
    679     const char *path = (const char *)path_;
    680     if (path) {
    681       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    682     }
    683     if (buf_) {
    684       PRE_WRITE(buf_, res);
    685     }
    686   }
    687 }
    688 PRE_SYSCALL(execve)(void *path_, void *argp_, void *envp_) {
    689   const char *path = (const char *)path_;
    690   char **argp = (char **)argp_;
    691   char **envp = (char **)envp_;
    692   if (path) {
    693     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    694   }
    695   if (argp && argp[0]) {
    696     char *a = argp[0];
    697     while (a++) {
    698       PRE_READ(a, __sanitizer::internal_strlen(a) + 1);
    699     }
    700   }
    701   if (envp && envp[0]) {
    702     char *e = envp[0];
    703     while (e++) {
    704       PRE_READ(e, __sanitizer::internal_strlen(e) + 1);
    705     }
    706   }
    707 }
    708 POST_SYSCALL(execve)(long long res, void *path_, void *argp_, void *envp_) {
    709   /* If we are here, something went wrong */
    710   const char *path = (const char *)path_;
    711   char **argp = (char **)argp_;
    712   char **envp = (char **)envp_;
    713   if (path) {
    714     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    715   }
    716   if (argp && argp[0]) {
    717     char *a = argp[0];
    718     while (a++) {
    719       POST_READ(a, __sanitizer::internal_strlen(a) + 1);
    720     }
    721   }
    722   if (envp && envp[0]) {
    723     char *e = envp[0];
    724     while (e++) {
    725       POST_READ(e, __sanitizer::internal_strlen(e) + 1);
    726     }
    727   }
    728 }
    729 PRE_SYSCALL(umask)(long long newmask_) { /* Nothing to do */ }
    730 POST_SYSCALL(umask)(long long res, long long newmask_) { /* Nothing to do */ }
    731 PRE_SYSCALL(chroot)(void *path_) {
    732   const char *path = (const char *)path_;
    733   if (path) {
    734     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
    735   }
    736 }
    737 POST_SYSCALL(chroot)(long long res, void *path_) {
    738   if (res == 0) {
    739     const char *path = (const char *)path_;
    740     if (path) {
    741       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
    742     }
    743   }
    744 }
    745 PRE_SYSCALL(compat_43_fstat43)(long long fd_, void *sb_) { /* TODO */ }
    746 POST_SYSCALL(compat_43_fstat43)(long long res, long long fd_, void *sb_) {
    747   /* TODO */
    748 }
    749 PRE_SYSCALL(compat_43_ogetkerninfo)
    750 (long long op_, void *where_, void *size_, long long arg_) {
    751   /* TODO */
    752 }
    753 POST_SYSCALL(compat_43_ogetkerninfo)
    754 (long long res, long long op_, void *where_, void *size_, long long arg_) {
    755   /* TODO */
    756 }
    757 PRE_SYSCALL(compat_43_ogetpagesize)(void) { /* TODO */ }
    758 POST_SYSCALL(compat_43_ogetpagesize)(long long res) { /* TODO */ }
    759 PRE_SYSCALL(compat_12_msync)(void *addr_, long long len_) { /* TODO */ }
    760 POST_SYSCALL(compat_12_msync)(long long res, void *addr_, long long len_) {
    761   /* TODO */
    762 }
    763 PRE_SYSCALL(vfork)(void) { /* Nothing to do */ }
    764 POST_SYSCALL(vfork)(long long res) { /* Nothing to do */ }
    765 /* syscall 67 has been skipped */
    766 /* syscall 68 has been skipped */
    767 /* syscall 69 has been skipped */
    768 /* syscall 70 has been skipped */
    769 PRE_SYSCALL(compat_43_ommap)
    770 (void *addr_, long long len_, long long prot_, long long flags_, long long fd_,
    771   long long pos_) {
    772   /* TODO */
    773 }
    774 POST_SYSCALL(compat_43_ommap)
    775 (long long res, void *addr_, long long len_, long long prot_, long long flags_,
    776   long long fd_, long long pos_) {
    777   /* TODO */
    778 }
    779 PRE_SYSCALL(vadvise)(long long anom_) { /* Nothing to do */ }
    780 POST_SYSCALL(vadvise)(long long res, long long anom_) { /* Nothing to do */ }
    781 PRE_SYSCALL(munmap)(void *addr_, long long len_) { /* Nothing to do */ }
    782 POST_SYSCALL(munmap)(long long res, void *addr_, long long len_) {
    783   /* Nothing to do */
    784 }
    785 PRE_SYSCALL(mprotect)(void *addr_, long long len_, long long prot_) {
    786   /* Nothing to do */
    787 }
    788 POST_SYSCALL(mprotect)
    789 (long long res, void *addr_, long long len_, long long prot_) {
    790   /* Nothing to do */
    791 }
    792 PRE_SYSCALL(madvise)(void *addr_, long long len_, long long behav_) {
    793   /* Nothing to do */
    794 }
    795 POST_SYSCALL(madvise)
    796 (long long res, void *addr_, long long len_, long long behav_) {
    797   /* Nothing to do */
    798 }
    799 /* syscall 76 has been skipped */
    800 /* syscall 77 has been skipped */
    801 PRE_SYSCALL(mincore)(void *addr_, long long len_, void *vec_) {
    802   /* Nothing to do */
    803 }
    804 POST_SYSCALL(mincore)(long long res, void *addr_, long long len_, void *vec_) {
    805   /* Nothing to do */
    806 }
    807 PRE_SYSCALL(getgroups)(long long gidsetsize_, void *gidset_) {
    808   unsigned int *gidset = (unsigned int *)gidset_;
    809   if (gidset) {
    810     PRE_WRITE(gidset, sizeof(*gidset) * gidsetsize_);
    811   }
    812 }
    813 POST_SYSCALL(getgroups)(long long res, long long gidsetsize_, void *gidset_) {
    814   if (res == 0) {
    815     unsigned int *gidset = (unsigned int *)gidset_;
    816     if (gidset) {
    817       POST_WRITE(gidset, sizeof(*gidset) * gidsetsize_);
    818     }
    819   }
    820 }
    821 PRE_SYSCALL(setgroups)(long long gidsetsize_, void *gidset_) {
    822   unsigned int *gidset = (unsigned int *)gidset_;
    823   if (gidset) {
    824     PRE_READ(gidset, sizeof(*gidset) * gidsetsize_);
    825   }
    826 }
    827 POST_SYSCALL(setgroups)(long long res, long long gidsetsize_, void *gidset_) {
    828   if (res == 0) {
    829     unsigned int *gidset = (unsigned int *)gidset_;
    830     if (gidset) {
    831       POST_READ(gidset, sizeof(*gidset) * gidsetsize_);
    832     }
    833   }
    834 }
    835 PRE_SYSCALL(getpgrp)(void) { /* Nothing to do */ }
    836 POST_SYSCALL(getpgrp)(long long res) { /* Nothing to do */ }
    837 PRE_SYSCALL(setpgid)(long long pid_, long long pgid_) { /* Nothing to do */ }
    838 POST_SYSCALL(setpgid)(long long res, long long pid_, long long pgid_) {
    839   /* Nothing to do */
    840 }
    841 PRE_SYSCALL(compat_50_setitimer)(long long which_, void *itv_, void *oitv_) {
    842   /* TODO */
    843 }
    844 POST_SYSCALL(compat_50_setitimer)
    845 (long long res, long long which_, void *itv_, void *oitv_) {
    846   /* TODO */
    847 }
    848 PRE_SYSCALL(compat_43_owait)(void) { /* TODO */ }
    849 POST_SYSCALL(compat_43_owait)(long long res) { /* TODO */ }
    850 PRE_SYSCALL(compat_12_oswapon)(void *name_) { /* TODO */ }
    851 POST_SYSCALL(compat_12_oswapon)(long long res, void *name_) { /* TODO */ }
    852 PRE_SYSCALL(compat_50_getitimer)(long long which_, void *itv_) { /* TODO */ }
    853 POST_SYSCALL(compat_50_getitimer)(long long res, long long which_, void *itv_) {
    854   /* TODO */
    855 }
    856 PRE_SYSCALL(compat_43_ogethostname)(void *hostname_, long long len_) {
    857   /* TODO */
    858 }
    859 POST_SYSCALL(compat_43_ogethostname)
    860 (long long res, void *hostname_, long long len_) {
    861   /* TODO */
    862 }
    863 PRE_SYSCALL(compat_43_osethostname)(void *hostname_, long long len_) {
    864   /* TODO */
    865 }
    866 POST_SYSCALL(compat_43_osethostname)
    867 (long long res, void *hostname_, long long len_) {
    868   /* TODO */
    869 }
    870 PRE_SYSCALL(compat_43_ogetdtablesize)(void) { /* TODO */ }
    871 POST_SYSCALL(compat_43_ogetdtablesize)(long long res) { /* TODO */ }
    872 PRE_SYSCALL(dup2)(long long from_, long long to_) { /* Nothing to do */ }
    873 POST_SYSCALL(dup2)(long long res, long long from_, long long to_) {
    874   /* Nothing to do */
    875 }
    876 /* syscall 91 has been skipped */
    877 PRE_SYSCALL(fcntl)(long long fd_, long long cmd_, void *arg_) {
    878   /* Nothing to do */
    879 }
    880 POST_SYSCALL(fcntl)(long long res, long long fd_, long long cmd_, void *arg_) {
    881   /* Nothing to do */
    882 }
    883 PRE_SYSCALL(compat_50_select)
    884 (long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
    885   /* TODO */
    886 }
    887 POST_SYSCALL(compat_50_select)
    888 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
    889   /* TODO */
    890 }
    891 /* syscall 94 has been skipped */
    892 PRE_SYSCALL(fsync)(long long fd_) { /* Nothing to do */ }
    893 POST_SYSCALL(fsync)(long long res, long long fd_) { /* Nothing to do */ }
    894 PRE_SYSCALL(setpriority)(long long which_, long long who_, long long prio_) {
    895   /* Nothing to do */
    896 }
    897 POST_SYSCALL(setpriority)
    898 (long long res, long long which_, long long who_, long long prio_) {
    899   /* Nothing to do */
    900 }
    901 PRE_SYSCALL(compat_30_socket)
    902 (long long domain_, long long type_, long long protocol_) {
    903   /* TODO */
    904 }
    905 POST_SYSCALL(compat_30_socket)
    906 (long long res, long long domain_, long long type_, long long protocol_) {
    907   /* TODO */
    908 }
    909 PRE_SYSCALL(connect)(long long s_, void *name_, long long namelen_) {
    910   PRE_READ(name_, namelen_);
    911 }
    912 POST_SYSCALL(connect)
    913 (long long res, long long s_, void *name_, long long namelen_) {
    914   if (res == 0) {
    915     POST_READ(name_, namelen_);
    916   }
    917 }
    918 PRE_SYSCALL(compat_43_oaccept)(long long s_, void *name_, void *anamelen_) {
    919   /* TODO */
    920 }
    921 POST_SYSCALL(compat_43_oaccept)
    922 (long long res, long long s_, void *name_, void *anamelen_) {
    923   /* TODO */
    924 }
    925 PRE_SYSCALL(getpriority)(long long which_, long long who_) {
    926   /* Nothing to do */
    927 }
    928 POST_SYSCALL(getpriority)(long long res, long long which_, long long who_) {
    929   /* Nothing to do */
    930 }
    931 PRE_SYSCALL(compat_43_osend)
    932 (long long s_, void *buf_, long long len_, long long flags_) {
    933   /* TODO */
    934 }
    935 POST_SYSCALL(compat_43_osend)
    936 (long long res, long long s_, void *buf_, long long len_, long long flags_) {
    937   /* TODO */
    938 }
    939 PRE_SYSCALL(compat_43_orecv)
    940 (long long s_, void *buf_, long long len_, long long flags_) {
    941   /* TODO */
    942 }
    943 POST_SYSCALL(compat_43_orecv)
    944 (long long res, long long s_, void *buf_, long long len_, long long flags_) {
    945   /* TODO */
    946 }
    947 PRE_SYSCALL(compat_13_sigreturn13)(void *sigcntxp_) { /* TODO */ }
    948 POST_SYSCALL(compat_13_sigreturn13)(long long res, void *sigcntxp_) {
    949   /* TODO */
    950 }
    951 PRE_SYSCALL(bind)(long long s_, void *name_, long long namelen_) {
    952   PRE_READ(name_, namelen_);
    953 }
    954 POST_SYSCALL(bind)
    955 (long long res, long long s_, void *name_, long long namelen_) {
    956   if (res == 0) {
    957     PRE_READ(name_, namelen_);
    958   }
    959 }
    960 PRE_SYSCALL(setsockopt)
    961 (long long s_, long long level_, long long name_, void *val_,
    962   long long valsize_) {
    963   if (val_) {
    964     PRE_READ(val_, valsize_);
    965   }
    966 }
    967 POST_SYSCALL(setsockopt)
    968 (long long res, long long s_, long long level_, long long name_, void *val_,
    969   long long valsize_) {
    970   if (res == 0) {
    971     if (val_) {
    972       POST_READ(val_, valsize_);
    973     }
    974   }
    975 }
    976 PRE_SYSCALL(listen)(long long s_, long long backlog_) { /* Nothing to do */ }
    977 POST_SYSCALL(listen)(long long res, long long s_, long long backlog_) {
    978   /* Nothing to do */
    979 }
    980 /* syscall 107 has been skipped */
    981 PRE_SYSCALL(compat_43_osigvec)(long long signum_, void *nsv_, void *osv_) {
    982   /* TODO */
    983 }
    984 POST_SYSCALL(compat_43_osigvec)
    985 (long long res, long long signum_, void *nsv_, void *osv_) {
    986   /* TODO */
    987 }
    988 PRE_SYSCALL(compat_43_osigblock)(long long mask_) { /* TODO */ }
    989 POST_SYSCALL(compat_43_osigblock)(long long res, long long mask_) { /* TODO */ }
    990 PRE_SYSCALL(compat_43_osigsetmask)(long long mask_) { /* TODO */ }
    991 POST_SYSCALL(compat_43_osigsetmask)(long long res, long long mask_) {
    992   /* TODO */
    993 }
    994 PRE_SYSCALL(compat_13_sigsuspend13)(long long mask_) { /* TODO */ }
    995 POST_SYSCALL(compat_13_sigsuspend13)(long long res, long long mask_) {
    996   /* TODO */
    997 }
    998 PRE_SYSCALL(compat_43_osigstack)(void *nss_, void *oss_) { /* TODO */ }
    999 POST_SYSCALL(compat_43_osigstack)(long long res, void *nss_, void *oss_) {
   1000   /* TODO */
   1001 }
   1002 PRE_SYSCALL(compat_43_orecvmsg)(long long s_, void *msg_, long long flags_) {
   1003   /* TODO */
   1004 }
   1005 POST_SYSCALL(compat_43_orecvmsg)
   1006 (long long res, long long s_, void *msg_, long long flags_) {
   1007   /* TODO */
   1008 }
   1009 PRE_SYSCALL(compat_43_osendmsg)(long long s_, void *msg_, long long flags_) {
   1010   /* TODO */
   1011 }
   1012 POST_SYSCALL(compat_43_osendmsg)
   1013 (long long res, long long s_, void *msg_, long long flags_) {
   1014   /* TODO */
   1015 }
   1016 /* syscall 115 has been skipped */
   1017 PRE_SYSCALL(compat_50_gettimeofday)(void *tp_, void *tzp_) { /* TODO */ }
   1018 POST_SYSCALL(compat_50_gettimeofday)(long long res, void *tp_, void *tzp_) {
   1019   /* TODO */
   1020 }
   1021 PRE_SYSCALL(compat_50_getrusage)(long long who_, void *rusage_) { /* TODO */ }
   1022 POST_SYSCALL(compat_50_getrusage)
   1023 (long long res, long long who_, void *rusage_) {
   1024   /* TODO */
   1025 }
   1026 PRE_SYSCALL(getsockopt)
   1027 (long long s_, long long level_, long long name_, void *val_, void *avalsize_) {
   1028   /* TODO */
   1029 }
   1030 POST_SYSCALL(getsockopt)
   1031 (long long res, long long s_, long long level_, long long name_, void *val_,
   1032   void *avalsize_) {
   1033   /* TODO */
   1034 }
   1035 /* syscall 119 has been skipped */
   1036 PRE_SYSCALL(readv)(long long fd_, void *iovp_, long long iovcnt_) {
   1037   struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
   1038   int i;
   1039   if (iovp) {
   1040     PRE_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
   1041     for (i = 0; i < iovcnt_; i++) {
   1042       PRE_WRITE(iovp[i].iov_base, iovp[i].iov_len);
   1043     }
   1044   }
   1045 }
   1046 POST_SYSCALL(readv)
   1047 (long long res, long long fd_, void *iovp_, long long iovcnt_) {
   1048   struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
   1049   int i;
   1050   uptr m, n = res;
   1051   if (res > 0) {
   1052     if (iovp) {
   1053       POST_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
   1054       for (i = 0; i < iovcnt_ && n > 0; i++) {
   1055         m = n > iovp[i].iov_len ? iovp[i].iov_len : n;
   1056         POST_WRITE(iovp[i].iov_base, m);
   1057         n -= m;
   1058       }
   1059     }
   1060   }
   1061 }
   1062 PRE_SYSCALL(writev)(long long fd_, void *iovp_, long long iovcnt_) {
   1063   struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
   1064   int i;
   1065   if (iovp) {
   1066     PRE_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
   1067     for (i = 0; i < iovcnt_; i++) {
   1068       PRE_READ(iovp[i].iov_base, iovp[i].iov_len);
   1069     }
   1070   }
   1071 }
   1072 POST_SYSCALL(writev)
   1073 (long long res, long long fd_, void *iovp_, long long iovcnt_) {
   1074   struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
   1075   int i;
   1076   uptr m, n = res;
   1077   if (res > 0) {
   1078     if (iovp) {
   1079       POST_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
   1080       for (i = 0; i < iovcnt_ && n > 0; i++) {
   1081         m = n > iovp[i].iov_len ? iovp[i].iov_len : n;
   1082         POST_READ(iovp[i].iov_base, m);
   1083         n -= m;
   1084       }
   1085     }
   1086   }
   1087 }
   1088 PRE_SYSCALL(compat_50_settimeofday)(void *tv_, void *tzp_) { /* TODO */ }
   1089 POST_SYSCALL(compat_50_settimeofday)(long long res, void *tv_, void *tzp_) {
   1090   /* TODO */
   1091 }
   1092 PRE_SYSCALL(fchown)(long long fd_, long long uid_, long long gid_) {
   1093   /* Nothing to do */
   1094 }
   1095 POST_SYSCALL(fchown)
   1096 (long long res, long long fd_, long long uid_, long long gid_) {
   1097   /* Nothing to do */
   1098 }
   1099 PRE_SYSCALL(fchmod)(long long fd_, long long mode_) { /* Nothing to do */ }
   1100 POST_SYSCALL(fchmod)(long long res, long long fd_, long long mode_) {
   1101   /* Nothing to do */
   1102 }
   1103 PRE_SYSCALL(compat_43_orecvfrom)
   1104 (long long s_, void *buf_, long long len_, long long flags_, void *from_,
   1105   void *fromlenaddr_) {
   1106   /* TODO */
   1107 }
   1108 POST_SYSCALL(compat_43_orecvfrom)
   1109 (long long res, long long s_, void *buf_, long long len_, long long flags_,
   1110   void *from_, void *fromlenaddr_) {
   1111   /* TODO */
   1112 }
   1113 PRE_SYSCALL(setreuid)(long long ruid_, long long euid_) { /* Nothing to do */ }
   1114 POST_SYSCALL(setreuid)(long long res, long long ruid_, long long euid_) {
   1115   /* Nothing to do */
   1116 }
   1117 PRE_SYSCALL(setregid)(long long rgid_, long long egid_) { /* Nothing to do */ }
   1118 POST_SYSCALL(setregid)(long long res, long long rgid_, long long egid_) {
   1119   /* Nothing to do */
   1120 }
   1121 PRE_SYSCALL(rename)(void *from_, void *to_) {
   1122   const char *from = (const char *)from_;
   1123   const char *to = (const char *)to_;
   1124   if (from) {
   1125     PRE_READ(from, __sanitizer::internal_strlen(from) + 1);
   1126   }
   1127   if (to) {
   1128     PRE_READ(to, __sanitizer::internal_strlen(to) + 1);
   1129   }
   1130 }
   1131 POST_SYSCALL(rename)(long long res, void *from_, void *to_) {
   1132   if (res == 0) {
   1133     const char *from = (const char *)from_;
   1134     const char *to = (const char *)to_;
   1135     if (from) {
   1136       POST_READ(from, __sanitizer::internal_strlen(from) + 1);
   1137     }
   1138     if (to) {
   1139       POST_READ(to, __sanitizer::internal_strlen(to) + 1);
   1140     }
   1141   }
   1142 }
   1143 PRE_SYSCALL(compat_43_otruncate)(void *path_, long long length_) { /* TODO */ }
   1144 POST_SYSCALL(compat_43_otruncate)
   1145 (long long res, void *path_, long long length_) {
   1146   /* TODO */
   1147 }
   1148 PRE_SYSCALL(compat_43_oftruncate)(long long fd_, long long length_) {
   1149   /* TODO */
   1150 }
   1151 POST_SYSCALL(compat_43_oftruncate)
   1152 (long long res, long long fd_, long long length_) {
   1153   /* TODO */
   1154 }
   1155 PRE_SYSCALL(flock)(long long fd_, long long how_) { /* Nothing to do */ }
   1156 POST_SYSCALL(flock)(long long res, long long fd_, long long how_) {
   1157   /* Nothing to do */
   1158 }
   1159 PRE_SYSCALL(mkfifo)(void *path_, long long mode_) {
   1160   const char *path = (const char *)path_;
   1161   if (path) {
   1162     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   1163   }
   1164 }
   1165 POST_SYSCALL(mkfifo)(long long res, void *path_, long long mode_) {
   1166   if (res == 0) {
   1167     const char *path = (const char *)path_;
   1168     if (path) {
   1169       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   1170     }
   1171   }
   1172 }
   1173 PRE_SYSCALL(sendto)
   1174 (long long s_, void *buf_, long long len_, long long flags_, void *to_,
   1175   long long tolen_) {
   1176   PRE_READ(buf_, len_);
   1177   PRE_READ(to_, tolen_);
   1178 }
   1179 POST_SYSCALL(sendto)
   1180 (long long res, long long s_, void *buf_, long long len_, long long flags_,
   1181   void *to_, long long tolen_) {
   1182   if (res >= 0) {
   1183     POST_READ(buf_, len_);
   1184     POST_READ(to_, tolen_);
   1185   }
   1186 }
   1187 PRE_SYSCALL(shutdown)(long long s_, long long how_) { /* Nothing to do */ }
   1188 POST_SYSCALL(shutdown)(long long res, long long s_, long long how_) {
   1189   /* Nothing to do */
   1190 }
   1191 PRE_SYSCALL(socketpair)
   1192 (long long domain_, long long type_, long long protocol_, void *rsv_) {
   1193   PRE_WRITE(rsv_, 2 * sizeof(int));
   1194 }
   1195 POST_SYSCALL(socketpair)
   1196 (long long res, long long domain_, long long type_, long long protocol_,
   1197   void *rsv_) {
   1198   if (res == 0) {
   1199     POST_WRITE(rsv_, 2 * sizeof(int));
   1200   }
   1201 }
   1202 PRE_SYSCALL(mkdir)(void *path_, long long mode_) {
   1203   const char *path = (const char *)path_;
   1204   if (path) {
   1205     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   1206   }
   1207 }
   1208 POST_SYSCALL(mkdir)(long long res, void *path_, long long mode_) {
   1209   if (res == 0) {
   1210     const char *path = (const char *)path_;
   1211     if (path) {
   1212       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   1213     }
   1214   }
   1215 }
   1216 PRE_SYSCALL(rmdir)(void *path_) {
   1217   const char *path = (const char *)path_;
   1218   if (path) {
   1219     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   1220   }
   1221 }
   1222 POST_SYSCALL(rmdir)(long long res, void *path_) {
   1223   if (res == 0) {
   1224     const char *path = (const char *)path_;
   1225     if (path) {
   1226       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   1227     }
   1228   }
   1229 }
   1230 PRE_SYSCALL(compat_50_utimes)(void *path_, void *tptr_) { /* TODO */ }
   1231 POST_SYSCALL(compat_50_utimes)(long long res, void *path_, void *tptr_) {
   1232   /* TODO */
   1233 }
   1234 /* syscall 139 has been skipped */
   1235 PRE_SYSCALL(compat_50_adjtime)(void *delta_, void *olddelta_) { /* TODO */ }
   1236 POST_SYSCALL(compat_50_adjtime)(long long res, void *delta_, void *olddelta_) {
   1237   /* TODO */
   1238 }
   1239 PRE_SYSCALL(compat_43_ogetpeername)(long long fdes_, void *asa_, void *alen_) {
   1240   /* TODO */
   1241 }
   1242 POST_SYSCALL(compat_43_ogetpeername)
   1243 (long long res, long long fdes_, void *asa_, void *alen_) {
   1244   /* TODO */
   1245 }
   1246 PRE_SYSCALL(compat_43_ogethostid)(void) { /* TODO */ }
   1247 POST_SYSCALL(compat_43_ogethostid)(long long res) { /* TODO */ }
   1248 PRE_SYSCALL(compat_43_osethostid)(long long hostid_) { /* TODO */ }
   1249 POST_SYSCALL(compat_43_osethostid)(long long res, long long hostid_) {
   1250   /* TODO */
   1251 }
   1252 PRE_SYSCALL(compat_43_ogetrlimit)(long long which_, void *rlp_) { /* TODO */ }
   1253 POST_SYSCALL(compat_43_ogetrlimit)
   1254 (long long res, long long which_, void *rlp_) {
   1255   /* TODO */
   1256 }
   1257 PRE_SYSCALL(compat_43_osetrlimit)(long long which_, void *rlp_) { /* TODO */ }
   1258 POST_SYSCALL(compat_43_osetrlimit)
   1259 (long long res, long long which_, void *rlp_) {
   1260   /* TODO */
   1261 }
   1262 PRE_SYSCALL(compat_43_okillpg)(long long pgid_, long long signum_) {
   1263   /* TODO */
   1264 }
   1265 POST_SYSCALL(compat_43_okillpg)
   1266 (long long res, long long pgid_, long long signum_) {
   1267   /* TODO */
   1268 }
   1269 PRE_SYSCALL(setsid)(void) { /* Nothing to do */ }
   1270 POST_SYSCALL(setsid)(long long res) { /* Nothing to do */ }
   1271 PRE_SYSCALL(compat_50_quotactl)
   1272 (void *path_, long long cmd_, long long uid_, void *arg_) {
   1273   /* TODO */
   1274 }
   1275 POST_SYSCALL(compat_50_quotactl)
   1276 (long long res, void *path_, long long cmd_, long long uid_, void *arg_) {
   1277   /* TODO */
   1278 }
   1279 PRE_SYSCALL(compat_43_oquota)(void) { /* TODO */ }
   1280 POST_SYSCALL(compat_43_oquota)(long long res) { /* TODO */ }
   1281 PRE_SYSCALL(compat_43_ogetsockname)(long long fdec_, void *asa_, void *alen_) {
   1282   /* TODO */
   1283 }
   1284 POST_SYSCALL(compat_43_ogetsockname)
   1285 (long long res, long long fdec_, void *asa_, void *alen_) {
   1286   /* TODO */
   1287 }
   1288 /* syscall 151 has been skipped */
   1289 /* syscall 152 has been skipped */
   1290 /* syscall 153 has been skipped */
   1291 /* syscall 154 has been skipped */
   1292 PRE_SYSCALL(nfssvc)(long long flag_, void *argp_) { /* Nothing to do */ }
   1293 POST_SYSCALL(nfssvc)(long long res, long long flag_, void *argp_) {
   1294   /* Nothing to do */
   1295 }
   1296 PRE_SYSCALL(compat_43_ogetdirentries)
   1297 (long long fd_, void *buf_, long long count_, void *basep_) {
   1298   /* TODO */
   1299 }
   1300 POST_SYSCALL(compat_43_ogetdirentries)
   1301 (long long res, long long fd_, void *buf_, long long count_, void *basep_) {
   1302   /* TODO */
   1303 }
   1304 PRE_SYSCALL(compat_20_statfs)(void *path_, void *buf_) { /* TODO */ }
   1305 POST_SYSCALL(compat_20_statfs)(long long res, void *path_, void *buf_) {
   1306   /* TODO */
   1307 }
   1308 PRE_SYSCALL(compat_20_fstatfs)(long long fd_, void *buf_) { /* TODO */ }
   1309 POST_SYSCALL(compat_20_fstatfs)(long long res, long long fd_, void *buf_) {
   1310   /* TODO */
   1311 }
   1312 /* syscall 159 has been skipped */
   1313 /* syscall 160 has been skipped */
   1314 PRE_SYSCALL(compat_30_getfh)(void *fname_, void *fhp_) { /* TODO */ }
   1315 POST_SYSCALL(compat_30_getfh)(long long res, void *fname_, void *fhp_) {
   1316   /* TODO */
   1317 }
   1318 PRE_SYSCALL(compat_09_ogetdomainname)(void *domainname_, long long len_) {
   1319   /* TODO */
   1320 }
   1321 POST_SYSCALL(compat_09_ogetdomainname)
   1322 (long long res, void *domainname_, long long len_) {
   1323   /* TODO */
   1324 }
   1325 PRE_SYSCALL(compat_09_osetdomainname)(void *domainname_, long long len_) {
   1326   /* TODO */
   1327 }
   1328 POST_SYSCALL(compat_09_osetdomainname)
   1329 (long long res, void *domainname_, long long len_) {
   1330   /* TODO */
   1331 }
   1332 PRE_SYSCALL(compat_09_ouname)(void *name_) { /* TODO */ }
   1333 POST_SYSCALL(compat_09_ouname)(long long res, void *name_) { /* TODO */ }
   1334 PRE_SYSCALL(sysarch)(long long op_, void *parms_) { /* TODO */ }
   1335 POST_SYSCALL(sysarch)(long long res, long long op_, void *parms_) { /* TODO */ }
   1336 /* syscall 166 has been skipped */
   1337 /* syscall 167 has been skipped */
   1338 /* syscall 168 has been skipped */
   1339 #if !defined(_LP64)
   1340 PRE_SYSCALL(compat_10_osemsys)
   1341 (long long which_, long long a2_, long long a3_, long long a4_, long long a5_) {
   1342   /* TODO */
   1343 }
   1344 POST_SYSCALL(compat_10_osemsys)
   1345 (long long res, long long which_, long long a2_, long long a3_, long long a4_,
   1346   long long a5_) {
   1347   /* TODO */
   1348 }
   1349 #else
   1350 /* syscall 169 has been skipped */
   1351 #endif
   1352 #if !defined(_LP64)
   1353 PRE_SYSCALL(compat_10_omsgsys)
   1354 (long long which_, long long a2_, long long a3_, long long a4_, long long a5_,
   1355   long long a6_) {
   1356   /* TODO */
   1357 }
   1358 POST_SYSCALL(compat_10_omsgsys)
   1359 (long long res, long long which_, long long a2_, long long a3_, long long a4_,
   1360   long long a5_, long long a6_) {
   1361   /* TODO */
   1362 }
   1363 #else
   1364 /* syscall 170 has been skipped */
   1365 #endif
   1366 #if !defined(_LP64)
   1367 PRE_SYSCALL(compat_10_oshmsys)
   1368 (long long which_, long long a2_, long long a3_, long long a4_) {
   1369   /* TODO */
   1370 }
   1371 POST_SYSCALL(compat_10_oshmsys)
   1372 (long long res, long long which_, long long a2_, long long a3_, long long a4_) {
   1373   /* TODO */
   1374 }
   1375 #else
   1376 /* syscall 171 has been skipped */
   1377 #endif
   1378 /* syscall 172 has been skipped */
   1379 PRE_SYSCALL(pread)
   1380 (long long fd_, void *buf_, long long nbyte_, long long PAD_,
   1381   long long offset_) {
   1382   if (buf_) {
   1383     PRE_WRITE(buf_, nbyte_);
   1384   }
   1385 }
   1386 POST_SYSCALL(pread)
   1387 (long long res, long long fd_, void *buf_, long long nbyte_, long long PAD_,
   1388   long long offset_) {
   1389   if (res > 0) {
   1390     POST_WRITE(buf_, res);
   1391   }
   1392 }
   1393 PRE_SYSCALL(pwrite)
   1394 (long long fd_, void *buf_, long long nbyte_, long long PAD_,
   1395   long long offset_) {
   1396   if (buf_) {
   1397     PRE_READ(buf_, nbyte_);
   1398   }
   1399 }
   1400 POST_SYSCALL(pwrite)
   1401 (long long res, long long fd_, void *buf_, long long nbyte_, long long PAD_,
   1402   long long offset_) {
   1403   if (res > 0) {
   1404     POST_READ(buf_, res);
   1405   }
   1406 }
   1407 PRE_SYSCALL(compat_30_ntp_gettime)(void *ntvp_) { /* TODO */ }
   1408 POST_SYSCALL(compat_30_ntp_gettime)(long long res, void *ntvp_) { /* TODO */ }
   1409 #if defined(NTP) || !defined(_KERNEL_OPT)
   1410 PRE_SYSCALL(ntp_adjtime)(void *tp_) { /* Nothing to do */ }
   1411 POST_SYSCALL(ntp_adjtime)(long long res, void *tp_) { /* Nothing to do */ }
   1412 #else
   1413 /* syscall 176 has been skipped */
   1414 #endif
   1415 /* syscall 177 has been skipped */
   1416 /* syscall 178 has been skipped */
   1417 /* syscall 179 has been skipped */
   1418 /* syscall 180 has been skipped */
   1419 PRE_SYSCALL(setgid)(long long gid_) { /* Nothing to do */ }
   1420 POST_SYSCALL(setgid)(long long res, long long gid_) { /* Nothing to do */ }
   1421 PRE_SYSCALL(setegid)(long long egid_) { /* Nothing to do */ }
   1422 POST_SYSCALL(setegid)(long long res, long long egid_) { /* Nothing to do */ }
   1423 PRE_SYSCALL(seteuid)(long long euid_) { /* Nothing to do */ }
   1424 POST_SYSCALL(seteuid)(long long res, long long euid_) { /* Nothing to do */ }
   1425 PRE_SYSCALL(lfs_bmapv)(void *fsidp_, void *blkiov_, long long blkcnt_) {
   1426   /* TODO */
   1427 }
   1428 POST_SYSCALL(lfs_bmapv)
   1429 (long long res, void *fsidp_, void *blkiov_, long long blkcnt_) {
   1430   /* TODO */
   1431 }
   1432 PRE_SYSCALL(lfs_markv)(void *fsidp_, void *blkiov_, long long blkcnt_) {
   1433   /* TODO */
   1434 }
   1435 POST_SYSCALL(lfs_markv)
   1436 (long long res, void *fsidp_, void *blkiov_, long long blkcnt_) {
   1437   /* TODO */
   1438 }
   1439 PRE_SYSCALL(lfs_segclean)(void *fsidp_, long long segment_) { /* TODO */ }
   1440 POST_SYSCALL(lfs_segclean)(long long res, void *fsidp_, long long segment_) {
   1441   /* TODO */
   1442 }
   1443 PRE_SYSCALL(compat_50_lfs_segwait)(void *fsidp_, void *tv_) { /* TODO */ }
   1444 POST_SYSCALL(compat_50_lfs_segwait)(long long res, void *fsidp_, void *tv_) {
   1445   /* TODO */
   1446 }
   1447 PRE_SYSCALL(compat_12_stat12)(void *path_, void *ub_) { /* TODO */ }
   1448 POST_SYSCALL(compat_12_stat12)(long long res, void *path_, void *ub_) {
   1449   /* TODO */
   1450 }
   1451 PRE_SYSCALL(compat_12_fstat12)(long long fd_, void *sb_) { /* TODO */ }
   1452 POST_SYSCALL(compat_12_fstat12)(long long res, long long fd_, void *sb_) {
   1453   /* TODO */
   1454 }
   1455 PRE_SYSCALL(compat_12_lstat12)(void *path_, void *ub_) { /* TODO */ }
   1456 POST_SYSCALL(compat_12_lstat12)(long long res, void *path_, void *ub_) {
   1457   /* TODO */
   1458 }
   1459 PRE_SYSCALL(pathconf)(void *path_, long long name_) {
   1460   const char *path = (const char *)path_;
   1461   if (path) {
   1462     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   1463   }
   1464 }
   1465 POST_SYSCALL(pathconf)(long long res, void *path_, long long name_) {
   1466   if (res != -1) {
   1467     const char *path = (const char *)path_;
   1468     if (path) {
   1469       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   1470     }
   1471   }
   1472 }
   1473 PRE_SYSCALL(fpathconf)(long long fd_, long long name_) { /* Nothing to do */ }
   1474 POST_SYSCALL(fpathconf)(long long res, long long fd_, long long name_) {
   1475   /* Nothing to do */
   1476 }
   1477 PRE_SYSCALL(getsockopt2)
   1478 (long long s_, long long level_, long long name_, void *val_, void *avalsize_) {
   1479   /* TODO */
   1480 }
   1481 POST_SYSCALL(getsockopt2)
   1482 (long long res, long long s_, long long level_, long long name_, void *val_,
   1483   void *avalsize_) {
   1484   /* TODO */
   1485 }
   1486 PRE_SYSCALL(getrlimit)(long long which_, void *rlp_) {
   1487   PRE_WRITE(rlp_, struct_rlimit_sz);
   1488 }
   1489 POST_SYSCALL(getrlimit)(long long res, long long which_, void *rlp_) {
   1490   if (res == 0) {
   1491     POST_WRITE(rlp_, struct_rlimit_sz);
   1492   }
   1493 }
   1494 PRE_SYSCALL(setrlimit)(long long which_, void *rlp_) {
   1495   PRE_READ(rlp_, struct_rlimit_sz);
   1496 }
   1497 POST_SYSCALL(setrlimit)(long long res, long long which_, void *rlp_) {
   1498   if (res == 0) {
   1499     POST_READ(rlp_, struct_rlimit_sz);
   1500   }
   1501 }
   1502 PRE_SYSCALL(compat_12_getdirentries)
   1503 (long long fd_, void *buf_, long long count_, void *basep_) {
   1504   /* TODO */
   1505 }
   1506 POST_SYSCALL(compat_12_getdirentries)
   1507 (long long res, long long fd_, void *buf_, long long count_, void *basep_) {
   1508   /* TODO */
   1509 }
   1510 PRE_SYSCALL(mmap)
   1511 (void *addr_, long long len_, long long prot_, long long flags_, long long fd_,
   1512   long long PAD_, long long pos_) {
   1513   /* Nothing to do */
   1514 }
   1515 POST_SYSCALL(mmap)
   1516 (long long res, void *addr_, long long len_, long long prot_, long long flags_,
   1517   long long fd_, long long PAD_, long long pos_) {
   1518   /* Nothing to do */
   1519 }
   1520 PRE_SYSCALL(__syscall)(long long code_, long long args_[SYS_MAXSYSARGS]) {
   1521   /* Nothing to do */
   1522 }
   1523 POST_SYSCALL(__syscall)
   1524 (long long res, long long code_, long long args_[SYS_MAXSYSARGS]) {
   1525   /* Nothing to do */
   1526 }
   1527 PRE_SYSCALL(lseek)
   1528 (long long fd_, long long PAD_, long long offset_, long long whence_) {
   1529   /* Nothing to do */
   1530 }
   1531 POST_SYSCALL(lseek)
   1532 (long long res, long long fd_, long long PAD_, long long offset_,
   1533   long long whence_) {
   1534   /* Nothing to do */
   1535 }
   1536 PRE_SYSCALL(truncate)(void *path_, long long PAD_, long long length_) {
   1537   const char *path = (const char *)path_;
   1538   if (path) {
   1539     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   1540   }
   1541 }
   1542 POST_SYSCALL(truncate)
   1543 (long long res, void *path_, long long PAD_, long long length_) {
   1544   if (res == 0) {
   1545     const char *path = (const char *)path_;
   1546     if (path) {
   1547       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   1548     }
   1549   }
   1550 }
   1551 PRE_SYSCALL(ftruncate)(long long fd_, long long PAD_, long long length_) {
   1552   /* Nothing to do */
   1553 }
   1554 POST_SYSCALL(ftruncate)
   1555 (long long res, long long fd_, long long PAD_, long long length_) {
   1556   /* Nothing to do */
   1557 }
   1558 PRE_SYSCALL(__sysctl)
   1559 (void *name_, long long namelen_, void *oldv_, void *oldlenp_, void *newv_,
   1560   long long newlen_) {
   1561   const int *name = (const int *)name_;
   1562   if (name) {
   1563     PRE_READ(name, namelen_ * sizeof(*name));
   1564   }
   1565   if (newv_) {
   1566     PRE_READ(name, newlen_);
   1567   }
   1568 }
   1569 POST_SYSCALL(__sysctl)
   1570 (long long res, void *name_, long long namelen_, void *oldv_, void *oldlenp_,
   1571   void *newv_, long long newlen_) {
   1572   if (res == 0) {
   1573     const int *name = (const int *)name_;
   1574     if (name) {
   1575       POST_READ(name, namelen_ * sizeof(*name));
   1576     }
   1577     if (newv_) {
   1578       POST_READ(name, newlen_);
   1579     }
   1580   }
   1581 }
   1582 PRE_SYSCALL(mlock)(void *addr_, long long len_) { /* Nothing to do */ }
   1583 POST_SYSCALL(mlock)(long long res, void *addr_, long long len_) {
   1584   /* Nothing to do */
   1585 }
   1586 PRE_SYSCALL(munlock)(void *addr_, long long len_) { /* Nothing to do */ }
   1587 POST_SYSCALL(munlock)(long long res, void *addr_, long long len_) {
   1588   /* Nothing to do */
   1589 }
   1590 PRE_SYSCALL(undelete)(void *path_) {
   1591   const char *path = (const char *)path_;
   1592   if (path) {
   1593     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   1594   }
   1595 }
   1596 POST_SYSCALL(undelete)(long long res, void *path_) {
   1597   if (res == 0) {
   1598     const char *path = (const char *)path_;
   1599     if (path) {
   1600       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   1601     }
   1602   }
   1603 }
   1604 PRE_SYSCALL(compat_50_futimes)(long long fd_, void *tptr_) { /* TODO */ }
   1605 POST_SYSCALL(compat_50_futimes)(long long res, long long fd_, void *tptr_) {
   1606   /* TODO */
   1607 }
   1608 PRE_SYSCALL(getpgid)(long long pid_) { /* Nothing to do */ }
   1609 POST_SYSCALL(getpgid)(long long res, long long pid_) { /* Nothing to do */ }
   1610 PRE_SYSCALL(reboot)(long long opt_, void *bootstr_) {
   1611   const char *bootstr = (const char *)bootstr_;
   1612   if (bootstr) {
   1613     PRE_READ(bootstr, __sanitizer::internal_strlen(bootstr) + 1);
   1614   }
   1615 }
   1616 POST_SYSCALL(reboot)(long long res, long long opt_, void *bootstr_) {
   1617   /* This call should never return */
   1618   const char *bootstr = (const char *)bootstr_;
   1619   if (bootstr) {
   1620     POST_READ(bootstr, __sanitizer::internal_strlen(bootstr) + 1);
   1621   }
   1622 }
   1623 PRE_SYSCALL(poll)(void *fds_, long long nfds_, long long timeout_) {
   1624   /* Nothing to do */
   1625 }
   1626 POST_SYSCALL(poll)
   1627 (long long res, void *fds_, long long nfds_, long long timeout_) {
   1628   /* Nothing to do */
   1629 }
   1630 PRE_SYSCALL(afssys)
   1631 (long long id_, long long a1_, long long a2_, long long a3_, long long a4_,
   1632   long long a5_, long long a6_) {
   1633   /* TODO */
   1634 }
   1635 POST_SYSCALL(afssys)
   1636 (long long res, long long id_, long long a1_, long long a2_, long long a3_,
   1637   long long a4_, long long a5_, long long a6_) {
   1638   /* TODO */
   1639 }
   1640 /* syscall 211 has been skipped */
   1641 /* syscall 212 has been skipped */
   1642 /* syscall 213 has been skipped */
   1643 /* syscall 214 has been skipped */
   1644 /* syscall 215 has been skipped */
   1645 /* syscall 216 has been skipped */
   1646 /* syscall 217 has been skipped */
   1647 /* syscall 218 has been skipped */
   1648 /* syscall 219 has been skipped */
   1649 PRE_SYSCALL(compat_14___semctl)
   1650 (long long semid_, long long semnum_, long long cmd_, void *arg_) {
   1651   /* TODO */
   1652 }
   1653 POST_SYSCALL(compat_14___semctl)
   1654 (long long res, long long semid_, long long semnum_, long long cmd_,
   1655   void *arg_) {
   1656   /* TODO */
   1657 }
   1658 PRE_SYSCALL(semget)(long long key_, long long nsems_, long long semflg_) {
   1659   /* Nothing to do */
   1660 }
   1661 POST_SYSCALL(semget)
   1662 (long long res, long long key_, long long nsems_, long long semflg_) {
   1663   /* Nothing to do */
   1664 }
   1665 PRE_SYSCALL(semop)(long long semid_, void *sops_, long long nsops_) {
   1666   if (sops_) {
   1667     PRE_READ(sops_, nsops_ * struct_sembuf_sz);
   1668   }
   1669 }
   1670 POST_SYSCALL(semop)
   1671 (long long res, long long semid_, void *sops_, long long nsops_) {
   1672   if (res == 0) {
   1673     if (sops_) {
   1674       POST_READ(sops_, nsops_ * struct_sembuf_sz);
   1675     }
   1676   }
   1677 }
   1678 PRE_SYSCALL(semconfig)(long long flag_) { /* Nothing to do */ }
   1679 POST_SYSCALL(semconfig)(long long res, long long flag_) { /* Nothing to do */ }
   1680 PRE_SYSCALL(compat_14_msgctl)(long long msqid_, long long cmd_, void *buf_) {
   1681   /* TODO */
   1682 }
   1683 POST_SYSCALL(compat_14_msgctl)
   1684 (long long res, long long msqid_, long long cmd_, void *buf_) {
   1685   /* TODO */
   1686 }
   1687 PRE_SYSCALL(msgget)(long long key_, long long msgflg_) { /* Nothing to do */ }
   1688 POST_SYSCALL(msgget)(long long res, long long key_, long long msgflg_) {
   1689   /* Nothing to do */
   1690 }
   1691 PRE_SYSCALL(msgsnd)
   1692 (long long msqid_, void *msgp_, long long msgsz_, long long msgflg_) {
   1693   if (msgp_) {
   1694     PRE_READ(msgp_, msgsz_);
   1695   }
   1696 }
   1697 POST_SYSCALL(msgsnd)
   1698 (long long res, long long msqid_, void *msgp_, long long msgsz_,
   1699   long long msgflg_) {
   1700   if (res == 0) {
   1701     if (msgp_) {
   1702       POST_READ(msgp_, msgsz_);
   1703     }
   1704   }
   1705 }
   1706 PRE_SYSCALL(msgrcv)
   1707 (long long msqid_, void *msgp_, long long msgsz_, long long msgtyp_,
   1708   long long msgflg_) {
   1709   /* Nothing to do */
   1710 }
   1711 POST_SYSCALL(msgrcv)
   1712 (long long res, long long msqid_, void *msgp_, long long msgsz_,
   1713   long long msgtyp_, long long msgflg_) {
   1714   /* Nothing to do */
   1715 }
   1716 PRE_SYSCALL(shmat)(long long shmid_, void *shmaddr_, long long shmflg_) {
   1717   /* Nothing to do */
   1718 }
   1719 POST_SYSCALL(shmat)
   1720 (long long res, long long shmid_, void *shmaddr_, long long shmflg_) {
   1721   /* Nothing to do */
   1722 }
   1723 PRE_SYSCALL(compat_14_shmctl)(long long shmid_, long long cmd_, void *buf_) {
   1724   /* TODO */
   1725 }
   1726 POST_SYSCALL(compat_14_shmctl)
   1727 (long long res, long long shmid_, long long cmd_, void *buf_) {
   1728   /* TODO */
   1729 }
   1730 PRE_SYSCALL(shmdt)(void *shmaddr_) { /* Nothing to do */ }
   1731 POST_SYSCALL(shmdt)(long long res, void *shmaddr_) { /* Nothing to do */ }
   1732 PRE_SYSCALL(shmget)(long long key_, long long size_, long long shmflg_) {
   1733   /* Nothing to do */
   1734 }
   1735 POST_SYSCALL(shmget)
   1736 (long long res, long long key_, long long size_, long long shmflg_) {
   1737   /* Nothing to do */
   1738 }
   1739 PRE_SYSCALL(compat_50_clock_gettime)(long long clock_id_, void *tp_) {
   1740   /* TODO */
   1741 }
   1742 POST_SYSCALL(compat_50_clock_gettime)
   1743 (long long res, long long clock_id_, void *tp_) {
   1744   /* TODO */
   1745 }
   1746 PRE_SYSCALL(compat_50_clock_settime)(long long clock_id_, void *tp_) {
   1747   /* TODO */
   1748 }
   1749 POST_SYSCALL(compat_50_clock_settime)
   1750 (long long res, long long clock_id_, void *tp_) {
   1751   /* TODO */
   1752 }
   1753 PRE_SYSCALL(compat_50_clock_getres)(long long clock_id_, void *tp_) {
   1754   /* TODO */
   1755 }
   1756 POST_SYSCALL(compat_50_clock_getres)
   1757 (long long res, long long clock_id_, void *tp_) {
   1758   /* TODO */
   1759 }
   1760 PRE_SYSCALL(timer_create)(long long clock_id_, void *evp_, void *timerid_) {
   1761   /* Nothing to do */
   1762 }
   1763 POST_SYSCALL(timer_create)
   1764 (long long res, long long clock_id_, void *evp_, void *timerid_) {
   1765   /* Nothing to do */
   1766 }
   1767 PRE_SYSCALL(timer_delete)(long long timerid_) { /* Nothing to do */ }
   1768 POST_SYSCALL(timer_delete)(long long res, long long timerid_) {
   1769   /* Nothing to do */
   1770 }
   1771 PRE_SYSCALL(compat_50_timer_settime)
   1772 (long long timerid_, long long flags_, void *value_, void *ovalue_) {
   1773   /* TODO */
   1774 }
   1775 POST_SYSCALL(compat_50_timer_settime)
   1776 (long long res, long long timerid_, long long flags_, void *value_,
   1777   void *ovalue_) {
   1778   /* TODO */
   1779 }
   1780 PRE_SYSCALL(compat_50_timer_gettime)(long long timerid_, void *value_) {
   1781   /* TODO */
   1782 }
   1783 POST_SYSCALL(compat_50_timer_gettime)
   1784 (long long res, long long timerid_, void *value_) {
   1785   /* TODO */
   1786 }
   1787 PRE_SYSCALL(timer_getoverrun)(long long timerid_) { /* Nothing to do */ }
   1788 POST_SYSCALL(timer_getoverrun)(long long res, long long timerid_) {
   1789   /* Nothing to do */
   1790 }
   1791 PRE_SYSCALL(compat_50_nanosleep)(void *rqtp_, void *rmtp_) { /* TODO */ }
   1792 POST_SYSCALL(compat_50_nanosleep)(long long res, void *rqtp_, void *rmtp_) {
   1793   /* TODO */
   1794 }
   1795 PRE_SYSCALL(fdatasync)(long long fd_) { /* Nothing to do */ }
   1796 POST_SYSCALL(fdatasync)(long long res, long long fd_) { /* Nothing to do */ }
   1797 PRE_SYSCALL(mlockall)(long long flags_) { /* Nothing to do */ }
   1798 POST_SYSCALL(mlockall)(long long res, long long flags_) { /* Nothing to do */ }
   1799 PRE_SYSCALL(munlockall)(void) { /* Nothing to do */ }
   1800 POST_SYSCALL(munlockall)(long long res) { /* Nothing to do */ }
   1801 PRE_SYSCALL(compat_50___sigtimedwait)(void *set_, void *info_, void *timeout_) {
   1802   /* TODO */
   1803 }
   1804 POST_SYSCALL(compat_50___sigtimedwait)
   1805 (long long res, void *set_, void *info_, void *timeout_) {
   1806   /* TODO */
   1807 }
   1808 PRE_SYSCALL(sigqueueinfo)(long long pid_, void *info_) {
   1809   if (info_) {
   1810     PRE_READ(info_, siginfo_t_sz);
   1811   }
   1812 }
   1813 POST_SYSCALL(sigqueueinfo)(long long res, long long pid_, void *info_) {}
   1814 PRE_SYSCALL(modctl)(long long cmd_, void *arg_) { /* TODO */ }
   1815 POST_SYSCALL(modctl)(long long res, long long cmd_, void *arg_) { /* TODO */ }
   1816 PRE_SYSCALL(_ksem_init)(long long value_, void *idp_) { /* Nothing to do */ }
   1817 POST_SYSCALL(_ksem_init)(long long res, long long value_, void *idp_) {
   1818   /* Nothing to do */
   1819 }
   1820 PRE_SYSCALL(_ksem_open)
   1821 (void *name_, long long oflag_, long long mode_, long long value_, void *idp_) {
   1822   const char *name = (const char *)name_;
   1823   if (name) {
   1824     PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
   1825   }
   1826 }
   1827 POST_SYSCALL(_ksem_open)
   1828 (long long res, void *name_, long long oflag_, long long mode_,
   1829   long long value_, void *idp_) {
   1830   const char *name = (const char *)name_;
   1831   if (name) {
   1832     POST_READ(name, __sanitizer::internal_strlen(name) + 1);
   1833   }
   1834 }
   1835 PRE_SYSCALL(_ksem_unlink)(void *name_) {
   1836   const char *name = (const char *)name_;
   1837   if (name) {
   1838     PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
   1839   }
   1840 }
   1841 POST_SYSCALL(_ksem_unlink)(long long res, void *name_) {
   1842   const char *name = (const char *)name_;
   1843   if (name) {
   1844     POST_READ(name, __sanitizer::internal_strlen(name) + 1);
   1845   }
   1846 }
   1847 PRE_SYSCALL(_ksem_close)(long long id_) { /* Nothing to do */ }
   1848 POST_SYSCALL(_ksem_close)(long long res, long long id_) { /* Nothing to do */ }
   1849 PRE_SYSCALL(_ksem_post)(long long id_) { /* Nothing to do */ }
   1850 POST_SYSCALL(_ksem_post)(long long res, long long id_) { /* Nothing to do */ }
   1851 PRE_SYSCALL(_ksem_wait)(long long id_) { /* Nothing to do */ }
   1852 POST_SYSCALL(_ksem_wait)(long long res, long long id_) { /* Nothing to do */ }
   1853 PRE_SYSCALL(_ksem_trywait)(long long id_) { /* Nothing to do */ }
   1854 POST_SYSCALL(_ksem_trywait)(long long res, long long id_) {
   1855   /* Nothing to do */
   1856 }
   1857 PRE_SYSCALL(_ksem_getvalue)(long long id_, void *value_) { /* Nothing to do */ }
   1858 POST_SYSCALL(_ksem_getvalue)(long long res, long long id_, void *value_) {
   1859   /* Nothing to do */
   1860 }
   1861 PRE_SYSCALL(_ksem_destroy)(long long id_) { /* Nothing to do */ }
   1862 POST_SYSCALL(_ksem_destroy)(long long res, long long id_) {
   1863   /* Nothing to do */
   1864 }
   1865 PRE_SYSCALL(_ksem_timedwait)(long long id_, void *abstime_) {
   1866   if (abstime_) {
   1867     PRE_READ(abstime_, struct_timespec_sz);
   1868   }
   1869 }
   1870 POST_SYSCALL(_ksem_timedwait)(long long res, long long id_, void *abstime_) {}
   1871 PRE_SYSCALL(mq_open)
   1872 (void *name_, long long oflag_, long long mode_, void *attr_) {
   1873   const char *name = (const char *)name_;
   1874   if (name) {
   1875     PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
   1876   }
   1877 }
   1878 POST_SYSCALL(mq_open)
   1879 (long long res, void *name_, long long oflag_, long long mode_, void *attr_) {
   1880   const char *name = (const char *)name_;
   1881   if (name) {
   1882     POST_READ(name, __sanitizer::internal_strlen(name) + 1);
   1883   }
   1884 }
   1885 PRE_SYSCALL(mq_close)(long long mqdes_) { /* Nothing to do */ }
   1886 POST_SYSCALL(mq_close)(long long res, long long mqdes_) { /* Nothing to do */ }
   1887 PRE_SYSCALL(mq_unlink)(void *name_) {
   1888   const char *name = (const char *)name_;
   1889   if (name) {
   1890     PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
   1891   }
   1892 }
   1893 POST_SYSCALL(mq_unlink)(long long res, void *name_) {
   1894   const char *name = (const char *)name_;
   1895   if (name) {
   1896     POST_READ(name, __sanitizer::internal_strlen(name) + 1);
   1897   }
   1898 }
   1899 PRE_SYSCALL(mq_getattr)(long long mqdes_, void *mqstat_) { /* Nothing to do */ }
   1900 POST_SYSCALL(mq_getattr)(long long res, long long mqdes_, void *mqstat_) {
   1901   /* Nothing to do */
   1902 }
   1903 PRE_SYSCALL(mq_setattr)(long long mqdes_, void *mqstat_, void *omqstat_) {
   1904   if (mqstat_) {
   1905     PRE_READ(mqstat_, struct_mq_attr_sz);
   1906   }
   1907 }
   1908 POST_SYSCALL(mq_setattr)
   1909 (long long res, long long mqdes_, void *mqstat_, void *omqstat_) {}
   1910 PRE_SYSCALL(mq_notify)(long long mqdes_, void *notification_) {
   1911   if (notification_) {
   1912     PRE_READ(notification_, struct_sigevent_sz);
   1913   }
   1914 }
   1915 POST_SYSCALL(mq_notify)(long long res, long long mqdes_, void *notification_) {}
   1916 PRE_SYSCALL(mq_send)
   1917 (long long mqdes_, void *msg_ptr_, long long msg_len_, long long msg_prio_) {
   1918   if (msg_ptr_) {
   1919     PRE_READ(msg_ptr_, msg_len_);
   1920   }
   1921 }
   1922 POST_SYSCALL(mq_send)
   1923 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
   1924   long long msg_prio_) {}
   1925 PRE_SYSCALL(mq_receive)
   1926 (long long mqdes_, void *msg_ptr_, long long msg_len_, void *msg_prio_) {
   1927   /* Nothing to do */
   1928 }
   1929 POST_SYSCALL(mq_receive)
   1930 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
   1931   void *msg_prio_) {
   1932   /* Nothing to do */
   1933 }
   1934 PRE_SYSCALL(compat_50_mq_timedsend)
   1935 (long long mqdes_, void *msg_ptr_, long long msg_len_, long long msg_prio_,
   1936   void *abs_timeout_) {
   1937   /* TODO */
   1938 }
   1939 POST_SYSCALL(compat_50_mq_timedsend)
   1940 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
   1941   long long msg_prio_, void *abs_timeout_) {
   1942   /* TODO */
   1943 }
   1944 PRE_SYSCALL(compat_50_mq_timedreceive)
   1945 (long long mqdes_, void *msg_ptr_, long long msg_len_, void *msg_prio_,
   1946   void *abs_timeout_) {
   1947   /* TODO */
   1948 }
   1949 POST_SYSCALL(compat_50_mq_timedreceive)
   1950 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
   1951   void *msg_prio_, void *abs_timeout_) {
   1952   /* TODO */
   1953 }
   1954 /* syscall 267 has been skipped */
   1955 /* syscall 268 has been skipped */
   1956 /* syscall 269 has been skipped */
   1957 PRE_SYSCALL(__posix_rename)(void *from_, void *to_) {
   1958   const char *from = (const char *)from_;
   1959   const char *to = (const char *)to_;
   1960   if (from_) {
   1961     PRE_READ(from, __sanitizer::internal_strlen(from) + 1);
   1962   }
   1963   if (to) {
   1964     PRE_READ(to, __sanitizer::internal_strlen(to) + 1);
   1965   }
   1966 }
   1967 POST_SYSCALL(__posix_rename)(long long res, void *from_, void *to_) {
   1968   const char *from = (const char *)from_;
   1969   const char *to = (const char *)to_;
   1970   if (from) {
   1971     POST_READ(from, __sanitizer::internal_strlen(from) + 1);
   1972   }
   1973   if (to) {
   1974     POST_READ(to, __sanitizer::internal_strlen(to) + 1);
   1975   }
   1976 }
   1977 PRE_SYSCALL(swapctl)(long long cmd_, void *arg_, long long misc_) { /* TODO */ }
   1978 POST_SYSCALL(swapctl)
   1979 (long long res, long long cmd_, void *arg_, long long misc_) {
   1980   /* TODO */
   1981 }
   1982 PRE_SYSCALL(compat_30_getdents)(long long fd_, void *buf_, long long count_) {
   1983   /* TODO */
   1984 }
   1985 POST_SYSCALL(compat_30_getdents)
   1986 (long long res, long long fd_, void *buf_, long long count_) {
   1987   /* TODO */
   1988 }
   1989 PRE_SYSCALL(minherit)(void *addr_, long long len_, long long inherit_) {
   1990   /* Nothing to do */
   1991 }
   1992 POST_SYSCALL(minherit)
   1993 (long long res, void *addr_, long long len_, long long inherit_) {
   1994   /* Nothing to do */
   1995 }
   1996 PRE_SYSCALL(lchmod)(void *path_, long long mode_) {
   1997   const char *path = (const char *)path_;
   1998   if (path) {
   1999     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2000   }
   2001 }
   2002 POST_SYSCALL(lchmod)(long long res, void *path_, long long mode_) {
   2003   const char *path = (const char *)path_;
   2004   if (path) {
   2005     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2006   }
   2007 }
   2008 PRE_SYSCALL(lchown)(void *path_, long long uid_, long long gid_) {
   2009   const char *path = (const char *)path_;
   2010   if (path) {
   2011     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2012   }
   2013 }
   2014 POST_SYSCALL(lchown)
   2015 (long long res, void *path_, long long uid_, long long gid_) {
   2016   const char *path = (const char *)path_;
   2017   if (path) {
   2018     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2019   }
   2020 }
   2021 PRE_SYSCALL(compat_50_lutimes)(void *path_, void *tptr_) { /* TODO */ }
   2022 POST_SYSCALL(compat_50_lutimes)(long long res, void *path_, void *tptr_) {
   2023   /* TODO */
   2024 }
   2025 PRE_SYSCALL(__msync13)(void *addr_, long long len_, long long flags_) {
   2026   /* Nothing to do */
   2027 }
   2028 POST_SYSCALL(__msync13)
   2029 (long long res, void *addr_, long long len_, long long flags_) {
   2030   /* Nothing to do */
   2031 }
   2032 PRE_SYSCALL(compat_30___stat13)(void *path_, void *ub_) { /* TODO */ }
   2033 POST_SYSCALL(compat_30___stat13)(long long res, void *path_, void *ub_) {
   2034   /* TODO */
   2035 }
   2036 PRE_SYSCALL(compat_30___fstat13)(long long fd_, void *sb_) { /* TODO */ }
   2037 POST_SYSCALL(compat_30___fstat13)(long long res, long long fd_, void *sb_) {
   2038   /* TODO */
   2039 }
   2040 PRE_SYSCALL(compat_30___lstat13)(void *path_, void *ub_) { /* TODO */ }
   2041 POST_SYSCALL(compat_30___lstat13)(long long res, void *path_, void *ub_) {
   2042   /* TODO */
   2043 }
   2044 PRE_SYSCALL(__sigaltstack14)(void *nss_, void *oss_) {
   2045   if (nss_) {
   2046     PRE_READ(nss_, struct_sigaltstack_sz);
   2047   }
   2048   if (oss_) {
   2049     PRE_READ(oss_, struct_sigaltstack_sz);
   2050   }
   2051 }
   2052 POST_SYSCALL(__sigaltstack14)(long long res, void *nss_, void *oss_) {}
   2053 PRE_SYSCALL(__vfork14)(void) { /* Nothing to do */ }
   2054 POST_SYSCALL(__vfork14)(long long res) { /* Nothing to do */ }
   2055 PRE_SYSCALL(__posix_chown)(void *path_, long long uid_, long long gid_) {
   2056   const char *path = (const char *)path_;
   2057   if (path) {
   2058     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2059   }
   2060 }
   2061 POST_SYSCALL(__posix_chown)
   2062 (long long res, void *path_, long long uid_, long long gid_) {
   2063   const char *path = (const char *)path_;
   2064   if (path) {
   2065     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2066   }
   2067 }
   2068 PRE_SYSCALL(__posix_fchown)(long long fd_, long long uid_, long long gid_) {
   2069   /* Nothing to do */
   2070 }
   2071 POST_SYSCALL(__posix_fchown)
   2072 (long long res, long long fd_, long long uid_, long long gid_) {
   2073   /* Nothing to do */
   2074 }
   2075 PRE_SYSCALL(__posix_lchown)(void *path_, long long uid_, long long gid_) {
   2076   const char *path = (const char *)path_;
   2077   if (path) {
   2078     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2079   }
   2080 }
   2081 POST_SYSCALL(__posix_lchown)
   2082 (long long res, void *path_, long long uid_, long long gid_) {
   2083   const char *path = (const char *)path_;
   2084   if (path) {
   2085     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2086   }
   2087 }
   2088 PRE_SYSCALL(getsid)(long long pid_) { /* Nothing to do */ }
   2089 POST_SYSCALL(getsid)(long long res, long long pid_) { /* Nothing to do */ }
   2090 PRE_SYSCALL(__clone)(long long flags_, void *stack_) { /* Nothing to do */ }
   2091 POST_SYSCALL(__clone)(long long res, long long flags_, void *stack_) {
   2092   /* Nothing to do */
   2093 }
   2094 PRE_SYSCALL(fktrace)
   2095 (long long fd_, long long ops_, long long facs_, long long pid_) {
   2096   /* Nothing to do */
   2097 }
   2098 POST_SYSCALL(fktrace)
   2099 (long long res, long long fd_, long long ops_, long long facs_,
   2100   long long pid_) {
   2101   /* Nothing to do */
   2102 }
   2103 PRE_SYSCALL(preadv)
   2104 (long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
   2105   long long offset_) {
   2106   /* Nothing to do */
   2107 }
   2108 POST_SYSCALL(preadv)
   2109 (long long res, long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
   2110   long long offset_) {
   2111   /* Nothing to do */
   2112 }
   2113 PRE_SYSCALL(pwritev)
   2114 (long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
   2115   long long offset_) {
   2116   /* Nothing to do */
   2117 }
   2118 POST_SYSCALL(pwritev)
   2119 (long long res, long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
   2120   long long offset_) {
   2121   /* Nothing to do */
   2122 }
   2123 PRE_SYSCALL(compat_16___sigaction14)
   2124 (long long signum_, void *nsa_, void *osa_) {
   2125   /* TODO */
   2126 }
   2127 POST_SYSCALL(compat_16___sigaction14)
   2128 (long long res, long long signum_, void *nsa_, void *osa_) {
   2129   /* TODO */
   2130 }
   2131 PRE_SYSCALL(__sigpending14)(void *set_) { /* Nothing to do */ }
   2132 POST_SYSCALL(__sigpending14)(long long res, void *set_) { /* Nothing to do */ }
   2133 PRE_SYSCALL(__sigprocmask14)(long long how_, void *set_, void *oset_) {
   2134   /* Nothing to do */
   2135 }
   2136 POST_SYSCALL(__sigprocmask14)
   2137 (long long res, long long how_, void *set_, void *oset_) {
   2138   /* Nothing to do */
   2139 }
   2140 PRE_SYSCALL(__sigsuspend14)(void *set_) {
   2141   if (set_) {
   2142     PRE_READ(set_, sizeof(__sanitizer_sigset_t));
   2143   }
   2144 }
   2145 POST_SYSCALL(__sigsuspend14)(long long res, void *set_) {
   2146   if (set_) {
   2147     PRE_READ(set_, sizeof(__sanitizer_sigset_t));
   2148   }
   2149 }
   2150 PRE_SYSCALL(compat_16___sigreturn14)(void *sigcntxp_) { /* TODO */ }
   2151 POST_SYSCALL(compat_16___sigreturn14)(long long res, void *sigcntxp_) {
   2152   /* TODO */
   2153 }
   2154 PRE_SYSCALL(__getcwd)(void *bufp_, long long length_) { /* Nothing to do */ }
   2155 POST_SYSCALL(__getcwd)(long long res, void *bufp_, long long length_) {
   2156   /* Nothing to do */
   2157 }
   2158 PRE_SYSCALL(fchroot)(long long fd_) { /* Nothing to do */ }
   2159 POST_SYSCALL(fchroot)(long long res, long long fd_) { /* Nothing to do */ }
   2160 PRE_SYSCALL(compat_30_fhopen)(void *fhp_, long long flags_) { /* TODO */ }
   2161 POST_SYSCALL(compat_30_fhopen)(long long res, void *fhp_, long long flags_) {
   2162   /* TODO */
   2163 }
   2164 PRE_SYSCALL(compat_30_fhstat)(void *fhp_, void *sb_) { /* TODO */ }
   2165 POST_SYSCALL(compat_30_fhstat)(long long res, void *fhp_, void *sb_) {
   2166   /* TODO */
   2167 }
   2168 PRE_SYSCALL(compat_20_fhstatfs)(void *fhp_, void *buf_) { /* TODO */ }
   2169 POST_SYSCALL(compat_20_fhstatfs)(long long res, void *fhp_, void *buf_) {
   2170   /* TODO */
   2171 }
   2172 PRE_SYSCALL(compat_50_____semctl13)
   2173 (long long semid_, long long semnum_, long long cmd_, void *arg_) {
   2174   /* TODO */
   2175 }
   2176 POST_SYSCALL(compat_50_____semctl13)
   2177 (long long res, long long semid_, long long semnum_, long long cmd_,
   2178   void *arg_) {
   2179   /* TODO */
   2180 }
   2181 PRE_SYSCALL(compat_50___msgctl13)
   2182 (long long msqid_, long long cmd_, void *buf_) {
   2183   /* TODO */
   2184 }
   2185 POST_SYSCALL(compat_50___msgctl13)
   2186 (long long res, long long msqid_, long long cmd_, void *buf_) {
   2187   /* TODO */
   2188 }
   2189 PRE_SYSCALL(compat_50___shmctl13)
   2190 (long long shmid_, long long cmd_, void *buf_) {
   2191   /* TODO */
   2192 }
   2193 POST_SYSCALL(compat_50___shmctl13)
   2194 (long long res, long long shmid_, long long cmd_, void *buf_) {
   2195   /* TODO */
   2196 }
   2197 PRE_SYSCALL(lchflags)(void *path_, long long flags_) {
   2198   const char *path = (const char *)path_;
   2199   if (path) {
   2200     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2201   }
   2202 }
   2203 POST_SYSCALL(lchflags)(long long res, void *path_, long long flags_) {
   2204   const char *path = (const char *)path_;
   2205   if (path) {
   2206     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2207   }
   2208 }
   2209 PRE_SYSCALL(issetugid)(void) { /* Nothing to do */ }
   2210 POST_SYSCALL(issetugid)(long long res) { /* Nothing to do */ }
   2211 PRE_SYSCALL(utrace)(void *label_, void *addr_, long long len_) {
   2212   const char *label = (const char *)label_;
   2213   if (label) {
   2214     PRE_READ(label, __sanitizer::internal_strlen(label) + 1);
   2215   }
   2216   if (addr_) {
   2217     PRE_READ(addr_, len_);
   2218   }
   2219 }
   2220 POST_SYSCALL(utrace)(long long res, void *label_, void *addr_, long long len_) {
   2221   const char *label = (const char *)label_;
   2222   if (label) {
   2223     POST_READ(label, __sanitizer::internal_strlen(label) + 1);
   2224   }
   2225   if (addr_) {
   2226     POST_READ(addr_, len_);
   2227   }
   2228 }
   2229 PRE_SYSCALL(getcontext)(void *ucp_) { /* Nothing to do */ }
   2230 POST_SYSCALL(getcontext)(long long res, void *ucp_) { /* Nothing to do */ }
   2231 PRE_SYSCALL(setcontext)(void *ucp_) {
   2232   if (ucp_) {
   2233     PRE_READ(ucp_, ucontext_t_sz);
   2234   }
   2235 }
   2236 POST_SYSCALL(setcontext)(long long res, void *ucp_) {}
   2237 PRE_SYSCALL(_lwp_create)(void *ucp_, long long flags_, void *new_lwp_) {
   2238   if (ucp_) {
   2239     PRE_READ(ucp_, ucontext_t_sz);
   2240   }
   2241 }
   2242 POST_SYSCALL(_lwp_create)
   2243 (long long res, void *ucp_, long long flags_, void *new_lwp_) {}
   2244 PRE_SYSCALL(_lwp_exit)(void) { /* Nothing to do */ }
   2245 POST_SYSCALL(_lwp_exit)(long long res) { /* Nothing to do */ }
   2246 PRE_SYSCALL(_lwp_self)(void) { /* Nothing to do */ }
   2247 POST_SYSCALL(_lwp_self)(long long res) { /* Nothing to do */ }
   2248 PRE_SYSCALL(_lwp_wait)(long long wait_for_, void *departed_) {
   2249   /* Nothing to do */
   2250 }
   2251 POST_SYSCALL(_lwp_wait)(long long res, long long wait_for_, void *departed_) {
   2252   /* Nothing to do */
   2253 }
   2254 PRE_SYSCALL(_lwp_suspend)(long long target_) { /* Nothing to do */ }
   2255 POST_SYSCALL(_lwp_suspend)(long long res, long long target_) {
   2256   /* Nothing to do */
   2257 }
   2258 PRE_SYSCALL(_lwp_continue)(long long target_) { /* Nothing to do */ }
   2259 POST_SYSCALL(_lwp_continue)(long long res, long long target_) {
   2260   /* Nothing to do */
   2261 }
   2262 PRE_SYSCALL(_lwp_wakeup)(long long target_) { /* Nothing to do */ }
   2263 POST_SYSCALL(_lwp_wakeup)(long long res, long long target_) {
   2264   /* Nothing to do */
   2265 }
   2266 PRE_SYSCALL(_lwp_getprivate)(void) { /* Nothing to do */ }
   2267 POST_SYSCALL(_lwp_getprivate)(long long res) { /* Nothing to do */ }
   2268 PRE_SYSCALL(_lwp_setprivate)(void *ptr_) { /* Nothing to do */ }
   2269 POST_SYSCALL(_lwp_setprivate)(long long res, void *ptr_) { /* Nothing to do */ }
   2270 PRE_SYSCALL(_lwp_kill)(long long target_, long long signo_) {
   2271   /* Nothing to do */
   2272 }
   2273 POST_SYSCALL(_lwp_kill)(long long res, long long target_, long long signo_) {
   2274   /* Nothing to do */
   2275 }
   2276 PRE_SYSCALL(_lwp_detach)(long long target_) { /* Nothing to do */ }
   2277 POST_SYSCALL(_lwp_detach)(long long res, long long target_) {
   2278   /* Nothing to do */
   2279 }
   2280 PRE_SYSCALL(compat_50__lwp_park)
   2281 (void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
   2282   /* TODO */
   2283 }
   2284 POST_SYSCALL(compat_50__lwp_park)
   2285 (long long res, void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
   2286   /* TODO */
   2287 }
   2288 PRE_SYSCALL(_lwp_unpark)(long long target_, void *hint_) { /* Nothing to do */ }
   2289 POST_SYSCALL(_lwp_unpark)(long long res, long long target_, void *hint_) {
   2290   /* Nothing to do */
   2291 }
   2292 PRE_SYSCALL(_lwp_unpark_all)(void *targets_, long long ntargets_, void *hint_) {
   2293   if (targets_) {
   2294     PRE_READ(targets_, ntargets_ * sizeof(__sanitizer_lwpid_t));
   2295   }
   2296 }
   2297 POST_SYSCALL(_lwp_unpark_all)
   2298 (long long res, void *targets_, long long ntargets_, void *hint_) {}
   2299 PRE_SYSCALL(_lwp_setname)(long long target_, void *name_) {
   2300   const char *name = (const char *)name_;
   2301   if (name) {
   2302     PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
   2303   }
   2304 }
   2305 POST_SYSCALL(_lwp_setname)(long long res, long long target_, void *name_) {
   2306   const char *name = (const char *)name_;
   2307   if (name) {
   2308     POST_READ(name, __sanitizer::internal_strlen(name) + 1);
   2309   }
   2310 }
   2311 PRE_SYSCALL(_lwp_getname)(long long target_, void *name_, long long len_) {
   2312   /* Nothing to do */
   2313 }
   2314 POST_SYSCALL(_lwp_getname)
   2315 (long long res, long long target_, void *name_, long long len_) {
   2316   /* Nothing to do */
   2317 }
   2318 PRE_SYSCALL(_lwp_ctl)(long long features_, void **address_) {
   2319   /* Nothing to do */
   2320 }
   2321 POST_SYSCALL(_lwp_ctl)(long long res, long long features_, void **address_) {
   2322   /* Nothing to do */
   2323 }
   2324 /* syscall 326 has been skipped */
   2325 /* syscall 327 has been skipped */
   2326 /* syscall 328 has been skipped */
   2327 /* syscall 329 has been skipped */
   2328 PRE_SYSCALL(compat_60_sa_register)
   2329 (void *newv_, void **oldv_, long long flags_, long long stackinfo_offset_) {
   2330   /* TODO */
   2331 }
   2332 POST_SYSCALL(compat_60_sa_register)
   2333 (long long res, void *newv_, void **oldv_, long long flags_,
   2334   long long stackinfo_offset_) {
   2335   /* TODO */
   2336 }
   2337 PRE_SYSCALL(compat_60_sa_stacks)(long long num_, void *stacks_) { /* TODO */ }
   2338 POST_SYSCALL(compat_60_sa_stacks)
   2339 (long long res, long long num_, void *stacks_) {
   2340   /* TODO */
   2341 }
   2342 PRE_SYSCALL(compat_60_sa_enable)(void) { /* TODO */ }
   2343 POST_SYSCALL(compat_60_sa_enable)(long long res) { /* TODO */ }
   2344 PRE_SYSCALL(compat_60_sa_setconcurrency)(long long concurrency_) { /* TODO */ }
   2345 POST_SYSCALL(compat_60_sa_setconcurrency)
   2346 (long long res, long long concurrency_) {
   2347   /* TODO */
   2348 }
   2349 PRE_SYSCALL(compat_60_sa_yield)(void) { /* TODO */ }
   2350 POST_SYSCALL(compat_60_sa_yield)(long long res) { /* TODO */ }
   2351 PRE_SYSCALL(compat_60_sa_preempt)(long long sa_id_) { /* TODO */ }
   2352 POST_SYSCALL(compat_60_sa_preempt)(long long res, long long sa_id_) {
   2353   /* TODO */
   2354 }
   2355 /* syscall 336 has been skipped */
   2356 /* syscall 337 has been skipped */
   2357 /* syscall 338 has been skipped */
   2358 /* syscall 339 has been skipped */
   2359 PRE_SYSCALL(__sigaction_sigtramp)
   2360 (long long signum_, void *nsa_, void *osa_, void *tramp_, long long vers_) {
   2361   if (nsa_) {
   2362     PRE_READ(nsa_, sizeof(__sanitizer_sigaction));
   2363   }
   2364 }
   2365 POST_SYSCALL(__sigaction_sigtramp)
   2366 (long long res, long long signum_, void *nsa_, void *osa_, void *tramp_,
   2367   long long vers_) {
   2368   if (nsa_) {
   2369     PRE_READ(nsa_, sizeof(__sanitizer_sigaction));
   2370   }
   2371 }
   2372 /* syscall 341 has been skipped */
   2373 /* syscall 342 has been skipped */
   2374 PRE_SYSCALL(rasctl)(void *addr_, long long len_, long long op_) {
   2375   /* Nothing to do */
   2376 }
   2377 POST_SYSCALL(rasctl)
   2378 (long long res, void *addr_, long long len_, long long op_) {
   2379   /* Nothing to do */
   2380 }
   2381 PRE_SYSCALL(kqueue)(void) { /* Nothing to do */ }
   2382 POST_SYSCALL(kqueue)(long long res) { /* Nothing to do */ }
   2383 PRE_SYSCALL(compat_50_kevent)
   2384 (long long fd_, void *changelist_, long long nchanges_, void *eventlist_,
   2385   long long nevents_, void *timeout_) {
   2386   /* TODO */
   2387 }
   2388 POST_SYSCALL(compat_50_kevent)
   2389 (long long res, long long fd_, void *changelist_, long long nchanges_,
   2390   void *eventlist_, long long nevents_, void *timeout_) {
   2391   /* TODO */
   2392 }
   2393 PRE_SYSCALL(_sched_setparam)
   2394 (long long pid_, long long lid_, long long policy_, void *params_) {
   2395   if (params_) {
   2396     PRE_READ(params_, struct_sched_param_sz);
   2397   }
   2398 }
   2399 POST_SYSCALL(_sched_setparam)
   2400 (long long res, long long pid_, long long lid_, long long policy_,
   2401   void *params_) {
   2402   if (params_) {
   2403     PRE_READ(params_, struct_sched_param_sz);
   2404   }
   2405 }
   2406 PRE_SYSCALL(_sched_getparam)
   2407 (long long pid_, long long lid_, void *policy_, void *params_) {
   2408   /* Nothing to do */
   2409 }
   2410 POST_SYSCALL(_sched_getparam)
   2411 (long long res, long long pid_, long long lid_, void *policy_, void *params_) {
   2412   /* Nothing to do */
   2413 }
   2414 PRE_SYSCALL(_sched_setaffinity)
   2415 (long long pid_, long long lid_, long long size_, void *cpuset_) {
   2416   if (cpuset_) {
   2417     PRE_READ(cpuset_, size_);
   2418   }
   2419 }
   2420 POST_SYSCALL(_sched_setaffinity)
   2421 (long long res, long long pid_, long long lid_, long long size_,
   2422   void *cpuset_) {
   2423   if (cpuset_) {
   2424     PRE_READ(cpuset_, size_);
   2425   }
   2426 }
   2427 PRE_SYSCALL(_sched_getaffinity)
   2428 (long long pid_, long long lid_, long long size_, void *cpuset_) {
   2429   /* Nothing to do */
   2430 }
   2431 POST_SYSCALL(_sched_getaffinity)
   2432 (long long res, long long pid_, long long lid_, long long size_,
   2433   void *cpuset_) {
   2434   /* Nothing to do */
   2435 }
   2436 PRE_SYSCALL(sched_yield)(void) { /* Nothing to do */ }
   2437 POST_SYSCALL(sched_yield)(long long res) { /* Nothing to do */ }
   2438 PRE_SYSCALL(_sched_protect)(long long priority_) { /* Nothing to do */ }
   2439 POST_SYSCALL(_sched_protect)(long long res, long long priority_) {
   2440   /* Nothing to do */
   2441 }
   2442 /* syscall 352 has been skipped */
   2443 /* syscall 353 has been skipped */
   2444 PRE_SYSCALL(fsync_range)
   2445 (long long fd_, long long flags_, long long start_, long long length_) {
   2446   /* Nothing to do */
   2447 }
   2448 POST_SYSCALL(fsync_range)
   2449 (long long res, long long fd_, long long flags_, long long start_,
   2450   long long length_) {
   2451   /* Nothing to do */
   2452 }
   2453 PRE_SYSCALL(uuidgen)(void *store_, long long count_) { /* Nothing to do */ }
   2454 POST_SYSCALL(uuidgen)(long long res, void *store_, long long count_) {
   2455   /* Nothing to do */
   2456 }
   2457 PRE_SYSCALL(getvfsstat)(void *buf_, long long bufsize_, long long flags_) {
   2458   /* Nothing to do */
   2459 }
   2460 POST_SYSCALL(getvfsstat)
   2461 (long long res, void *buf_, long long bufsize_, long long flags_) {
   2462   /* Nothing to do */
   2463 }
   2464 PRE_SYSCALL(statvfs1)(void *path_, void *buf_, long long flags_) {
   2465   const char *path = (const char *)path_;
   2466   if (path) {
   2467     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2468   }
   2469 }
   2470 POST_SYSCALL(statvfs1)
   2471 (long long res, void *path_, void *buf_, long long flags_) {
   2472   const char *path = (const char *)path_;
   2473   if (path) {
   2474     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2475   }
   2476 }
   2477 PRE_SYSCALL(fstatvfs1)(long long fd_, void *buf_, long long flags_) {
   2478   /* Nothing to do */
   2479 }
   2480 POST_SYSCALL(fstatvfs1)
   2481 (long long res, long long fd_, void *buf_, long long flags_) {
   2482   /* Nothing to do */
   2483 }
   2484 PRE_SYSCALL(compat_30_fhstatvfs1)(void *fhp_, void *buf_, long long flags_) {
   2485   /* TODO */
   2486 }
   2487 POST_SYSCALL(compat_30_fhstatvfs1)
   2488 (long long res, void *fhp_, void *buf_, long long flags_) {
   2489   /* TODO */
   2490 }
   2491 PRE_SYSCALL(extattrctl)
   2492 (void *path_, long long cmd_, void *filename_, long long attrnamespace_,
   2493   void *attrname_) {
   2494   const char *path = (const char *)path_;
   2495   if (path) {
   2496     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2497   }
   2498 }
   2499 POST_SYSCALL(extattrctl)
   2500 (long long res, void *path_, long long cmd_, void *filename_,
   2501   long long attrnamespace_, void *attrname_) {
   2502   const char *path = (const char *)path_;
   2503   if (path) {
   2504     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2505   }
   2506 }
   2507 PRE_SYSCALL(extattr_set_file)
   2508 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
   2509   long long nbytes_) {
   2510   const char *path = (const char *)path_;
   2511   if (path) {
   2512     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2513   }
   2514 }
   2515 POST_SYSCALL(extattr_set_file)
   2516 (long long res, void *path_, long long attrnamespace_, void *attrname_,
   2517   void *data_, long long nbytes_) {
   2518   const char *path = (const char *)path_;
   2519   if (path) {
   2520     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2521   }
   2522 }
   2523 PRE_SYSCALL(extattr_get_file)
   2524 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
   2525   long long nbytes_) {
   2526   const char *path = (const char *)path_;
   2527   if (path) {
   2528     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2529   }
   2530 }
   2531 POST_SYSCALL(extattr_get_file)
   2532 (long long res, void *path_, long long attrnamespace_, void *attrname_,
   2533   void *data_, long long nbytes_) {
   2534   const char *path = (const char *)path_;
   2535   if (path) {
   2536     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2537   }
   2538 }
   2539 PRE_SYSCALL(extattr_delete_file)
   2540 (void *path_, long long attrnamespace_, void *attrname_) {
   2541   const char *path = (const char *)path_;
   2542   if (path) {
   2543     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2544   }
   2545 }
   2546 POST_SYSCALL(extattr_delete_file)
   2547 (long long res, void *path_, long long attrnamespace_, void *attrname_) {
   2548   const char *path = (const char *)path_;
   2549   if (path) {
   2550     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2551   }
   2552 }
   2553 PRE_SYSCALL(extattr_set_fd)
   2554 (long long fd_, long long attrnamespace_, void *attrname_, void *data_,
   2555   long long nbytes_) {
   2556   /* TODO */
   2557 }
   2558 POST_SYSCALL(extattr_set_fd)
   2559 (long long res, long long fd_, long long attrnamespace_, void *attrname_,
   2560   void *data_, long long nbytes_) {
   2561   /* TODO */
   2562 }
   2563 PRE_SYSCALL(extattr_get_fd)
   2564 (long long fd_, long long attrnamespace_, void *attrname_, void *data_,
   2565   long long nbytes_) {
   2566   /* TODO */
   2567 }
   2568 POST_SYSCALL(extattr_get_fd)
   2569 (long long res, long long fd_, long long attrnamespace_, void *attrname_,
   2570   void *data_, long long nbytes_) {
   2571   /* TODO */
   2572 }
   2573 PRE_SYSCALL(extattr_delete_fd)
   2574 (long long fd_, long long attrnamespace_, void *attrname_) {
   2575   /* TODO */
   2576 }
   2577 POST_SYSCALL(extattr_delete_fd)
   2578 (long long res, long long fd_, long long attrnamespace_, void *attrname_) {
   2579   /* TODO */
   2580 }
   2581 PRE_SYSCALL(extattr_set_link)
   2582 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
   2583   long long nbytes_) {
   2584   const char *path = (const char *)path_;
   2585   if (path) {
   2586     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2587   }
   2588 }
   2589 POST_SYSCALL(extattr_set_link)
   2590 (long long res, void *path_, long long attrnamespace_, void *attrname_,
   2591   void *data_, long long nbytes_) {
   2592   const char *path = (const char *)path_;
   2593   if (path) {
   2594     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2595   }
   2596 }
   2597 PRE_SYSCALL(extattr_get_link)
   2598 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
   2599   long long nbytes_) {
   2600   const char *path = (const char *)path_;
   2601   if (path) {
   2602     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2603   }
   2604 }
   2605 POST_SYSCALL(extattr_get_link)
   2606 (long long res, void *path_, long long attrnamespace_, void *attrname_,
   2607   void *data_, long long nbytes_) {
   2608   const char *path = (const char *)path_;
   2609   if (path) {
   2610     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2611   }
   2612 }
   2613 PRE_SYSCALL(extattr_delete_link)
   2614 (void *path_, long long attrnamespace_, void *attrname_) {
   2615   const char *path = (const char *)path_;
   2616   if (path) {
   2617     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2618   }
   2619 }
   2620 POST_SYSCALL(extattr_delete_link)
   2621 (long long res, void *path_, long long attrnamespace_, void *attrname_) {
   2622   const char *path = (const char *)path_;
   2623   if (path) {
   2624     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2625   }
   2626 }
   2627 PRE_SYSCALL(extattr_list_fd)
   2628 (long long fd_, long long attrnamespace_, void *data_, long long nbytes_) {
   2629   /* TODO */
   2630 }
   2631 POST_SYSCALL(extattr_list_fd)
   2632 (long long res, long long fd_, long long attrnamespace_, void *data_,
   2633   long long nbytes_) {
   2634   /* TODO */
   2635 }
   2636 PRE_SYSCALL(extattr_list_file)
   2637 (void *path_, long long attrnamespace_, void *data_, long long nbytes_) {
   2638   const char *path = (const char *)path_;
   2639   if (path) {
   2640     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2641   }
   2642 }
   2643 POST_SYSCALL(extattr_list_file)
   2644 (long long res, void *path_, long long attrnamespace_, void *data_,
   2645   long long nbytes_) {
   2646   const char *path = (const char *)path_;
   2647   if (path) {
   2648     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2649   }
   2650 }
   2651 PRE_SYSCALL(extattr_list_link)
   2652 (void *path_, long long attrnamespace_, void *data_, long long nbytes_) {
   2653   const char *path = (const char *)path_;
   2654   if (path) {
   2655     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2656   }
   2657 }
   2658 POST_SYSCALL(extattr_list_link)
   2659 (long long res, void *path_, long long attrnamespace_, void *data_,
   2660   long long nbytes_) {
   2661   const char *path = (const char *)path_;
   2662   if (path) {
   2663     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2664   }
   2665 }
   2666 PRE_SYSCALL(compat_50_pselect)
   2667 (long long nd_, void *in_, void *ou_, void *ex_, void *ts_, void *mask_) {
   2668   /* TODO */
   2669 }
   2670 POST_SYSCALL(compat_50_pselect)
   2671 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *ts_,
   2672   void *mask_) {
   2673   /* TODO */
   2674 }
   2675 PRE_SYSCALL(compat_50_pollts)
   2676 (void *fds_, long long nfds_, void *ts_, void *mask_) {
   2677   /* TODO */
   2678 }
   2679 POST_SYSCALL(compat_50_pollts)
   2680 (long long res, void *fds_, long long nfds_, void *ts_, void *mask_) {
   2681   /* TODO */
   2682 }
   2683 PRE_SYSCALL(setxattr)
   2684 (void *path_, void *name_, void *value_, long long size_, long long flags_) {
   2685   const char *path = (const char *)path_;
   2686   if (path) {
   2687     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2688   }
   2689 }
   2690 POST_SYSCALL(setxattr)
   2691 (long long res, void *path_, void *name_, void *value_, long long size_,
   2692   long long flags_) {
   2693   const char *path = (const char *)path_;
   2694   if (path) {
   2695     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2696   }
   2697 }
   2698 PRE_SYSCALL(lsetxattr)
   2699 (void *path_, void *name_, void *value_, long long size_, long long flags_) {
   2700   const char *path = (const char *)path_;
   2701   if (path) {
   2702     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2703   }
   2704 }
   2705 POST_SYSCALL(lsetxattr)
   2706 (long long res, void *path_, void *name_, void *value_, long long size_,
   2707   long long flags_) {
   2708   const char *path = (const char *)path_;
   2709   if (path) {
   2710     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2711   }
   2712 }
   2713 PRE_SYSCALL(fsetxattr)
   2714 (long long fd_, void *name_, void *value_, long long size_, long long flags_) {
   2715   /* Nothing to do */
   2716 }
   2717 POST_SYSCALL(fsetxattr)
   2718 (long long res, long long fd_, void *name_, void *value_, long long size_,
   2719   long long flags_) {
   2720   /* Nothing to do */
   2721 }
   2722 PRE_SYSCALL(getxattr)(void *path_, void *name_, void *value_, long long size_) {
   2723   const char *path = (const char *)path_;
   2724   if (path) {
   2725     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2726   }
   2727 }
   2728 POST_SYSCALL(getxattr)
   2729 (long long res, void *path_, void *name_, void *value_, long long size_) {
   2730   const char *path = (const char *)path_;
   2731   if (path) {
   2732     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2733   }
   2734 }
   2735 PRE_SYSCALL(lgetxattr)
   2736 (void *path_, void *name_, void *value_, long long size_) {
   2737   const char *path = (const char *)path_;
   2738   if (path) {
   2739     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2740   }
   2741 }
   2742 POST_SYSCALL(lgetxattr)
   2743 (long long res, void *path_, void *name_, void *value_, long long size_) {
   2744   const char *path = (const char *)path_;
   2745   if (path) {
   2746     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2747   }
   2748 }
   2749 PRE_SYSCALL(fgetxattr)
   2750 (long long fd_, void *name_, void *value_, long long size_) {
   2751   /* Nothing to do */
   2752 }
   2753 POST_SYSCALL(fgetxattr)
   2754 (long long res, long long fd_, void *name_, void *value_, long long size_) {
   2755   /* Nothing to do */
   2756 }
   2757 PRE_SYSCALL(listxattr)(void *path_, void *list_, long long size_) {
   2758   const char *path = (const char *)path_;
   2759   if (path) {
   2760     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2761   }
   2762 }
   2763 POST_SYSCALL(listxattr)
   2764 (long long res, void *path_, void *list_, long long size_) {
   2765   const char *path = (const char *)path_;
   2766   if (path) {
   2767     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2768   }
   2769 }
   2770 PRE_SYSCALL(llistxattr)(void *path_, void *list_, long long size_) {
   2771   const char *path = (const char *)path_;
   2772   if (path) {
   2773     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2774   }
   2775 }
   2776 POST_SYSCALL(llistxattr)
   2777 (long long res, void *path_, void *list_, long long size_) {
   2778   const char *path = (const char *)path_;
   2779   if (path) {
   2780     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2781   }
   2782 }
   2783 PRE_SYSCALL(flistxattr)(long long fd_, void *list_, long long size_) {
   2784   /* TODO */
   2785 }
   2786 POST_SYSCALL(flistxattr)
   2787 (long long res, long long fd_, void *list_, long long size_) {
   2788   /* TODO */
   2789 }
   2790 PRE_SYSCALL(removexattr)(void *path_, void *name_) {
   2791   const char *path = (const char *)path_;
   2792   if (path) {
   2793     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2794   }
   2795 }
   2796 POST_SYSCALL(removexattr)(long long res, void *path_, void *name_) {
   2797   const char *path = (const char *)path_;
   2798   if (path) {
   2799     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2800   }
   2801 }
   2802 PRE_SYSCALL(lremovexattr)(void *path_, void *name_) {
   2803   const char *path = (const char *)path_;
   2804   if (path) {
   2805     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2806   }
   2807 }
   2808 POST_SYSCALL(lremovexattr)(long long res, void *path_, void *name_) {
   2809   const char *path = (const char *)path_;
   2810   if (path) {
   2811     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2812   }
   2813 }
   2814 PRE_SYSCALL(fremovexattr)(long long fd_, void *name_) { /* TODO */ }
   2815 POST_SYSCALL(fremovexattr)(long long res, long long fd_, void *name_) {
   2816   /* TODO */
   2817 }
   2818 PRE_SYSCALL(compat_50___stat30)(void *path_, void *ub_) { /* TODO */ }
   2819 POST_SYSCALL(compat_50___stat30)(long long res, void *path_, void *ub_) {
   2820   /* TODO */
   2821 }
   2822 PRE_SYSCALL(compat_50___fstat30)(long long fd_, void *sb_) { /* TODO */ }
   2823 POST_SYSCALL(compat_50___fstat30)(long long res, long long fd_, void *sb_) {
   2824   /* TODO */
   2825 }
   2826 PRE_SYSCALL(compat_50___lstat30)(void *path_, void *ub_) { /* TODO */ }
   2827 POST_SYSCALL(compat_50___lstat30)(long long res, void *path_, void *ub_) {
   2828   /* TODO */
   2829 }
   2830 PRE_SYSCALL(__getdents30)(long long fd_, void *buf_, long long count_) {
   2831   /* Nothing to do */
   2832 }
   2833 POST_SYSCALL(__getdents30)
   2834 (long long res, long long fd_, void *buf_, long long count_) {
   2835   /* Nothing to do */
   2836 }
   2837 PRE_SYSCALL(posix_fadvise)(long long) { /* Nothing to do */ }
   2838 POST_SYSCALL(posix_fadvise)(long long res, long long) { /* Nothing to do */ }
   2839 PRE_SYSCALL(compat_30___fhstat30)(void *fhp_, void *sb_) { /* TODO */ }
   2840 POST_SYSCALL(compat_30___fhstat30)(long long res, void *fhp_, void *sb_) {
   2841   /* TODO */
   2842 }
   2843 PRE_SYSCALL(compat_50___ntp_gettime30)(void *ntvp_) { /* TODO */ }
   2844 POST_SYSCALL(compat_50___ntp_gettime30)(long long res, void *ntvp_) {
   2845   /* TODO */
   2846 }
   2847 PRE_SYSCALL(__socket30)
   2848 (long long domain_, long long type_, long long protocol_) {
   2849   /* Nothing to do */
   2850 }
   2851 POST_SYSCALL(__socket30)
   2852 (long long res, long long domain_, long long type_, long long protocol_) {
   2853   /* Nothing to do */
   2854 }
   2855 PRE_SYSCALL(__getfh30)(void *fname_, void *fhp_, void *fh_size_) {
   2856   const char *fname = (const char *)fname_;
   2857   if (fname) {
   2858     PRE_READ(fname, __sanitizer::internal_strlen(fname) + 1);
   2859   }
   2860 }
   2861 POST_SYSCALL(__getfh30)
   2862 (long long res, void *fname_, void *fhp_, void *fh_size_) {
   2863   const char *fname = (const char *)fname_;
   2864   if (res == 0) {
   2865     if (fname) {
   2866       POST_READ(fname, __sanitizer::internal_strlen(fname) + 1);
   2867     }
   2868   }
   2869 }
   2870 PRE_SYSCALL(__fhopen40)(void *fhp_, long long fh_size_, long long flags_) {
   2871   if (fhp_) {
   2872     PRE_READ(fhp_, fh_size_);
   2873   }
   2874 }
   2875 POST_SYSCALL(__fhopen40)
   2876 (long long res, void *fhp_, long long fh_size_, long long flags_) {}
   2877 PRE_SYSCALL(__fhstatvfs140)
   2878 (void *fhp_, long long fh_size_, void *buf_, long long flags_) {
   2879   if (fhp_) {
   2880     PRE_READ(fhp_, fh_size_);
   2881   }
   2882 }
   2883 POST_SYSCALL(__fhstatvfs140)
   2884 (long long res, void *fhp_, long long fh_size_, void *buf_, long long flags_) {}
   2885 PRE_SYSCALL(compat_50___fhstat40)(void *fhp_, long long fh_size_, void *sb_) {
   2886   if (fhp_) {
   2887     PRE_READ(fhp_, fh_size_);
   2888   }
   2889 }
   2890 POST_SYSCALL(compat_50___fhstat40)
   2891 (long long res, void *fhp_, long long fh_size_, void *sb_) {}
   2892 PRE_SYSCALL(aio_cancel)(long long fildes_, void *aiocbp_) {
   2893   if (aiocbp_) {
   2894     PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
   2895   }
   2896 }
   2897 POST_SYSCALL(aio_cancel)(long long res, long long fildes_, void *aiocbp_) {}
   2898 PRE_SYSCALL(aio_error)(void *aiocbp_) {
   2899   if (aiocbp_) {
   2900     PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
   2901   }
   2902 }
   2903 POST_SYSCALL(aio_error)(long long res, void *aiocbp_) {}
   2904 PRE_SYSCALL(aio_fsync)(long long op_, void *aiocbp_) {
   2905   if (aiocbp_) {
   2906     PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
   2907   }
   2908 }
   2909 POST_SYSCALL(aio_fsync)(long long res, long long op_, void *aiocbp_) {}
   2910 PRE_SYSCALL(aio_read)(void *aiocbp_) {
   2911   if (aiocbp_) {
   2912     PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
   2913   }
   2914 }
   2915 POST_SYSCALL(aio_read)(long long res, void *aiocbp_) {}
   2916 PRE_SYSCALL(aio_return)(void *aiocbp_) {
   2917   if (aiocbp_) {
   2918     PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
   2919   }
   2920 }
   2921 POST_SYSCALL(aio_return)(long long res, void *aiocbp_) {}
   2922 PRE_SYSCALL(compat_50_aio_suspend)
   2923 (void *list_, long long nent_, void *timeout_) {
   2924   /* TODO */
   2925 }
   2926 POST_SYSCALL(compat_50_aio_suspend)
   2927 (long long res, void *list_, long long nent_, void *timeout_) {
   2928   /* TODO */
   2929 }
   2930 PRE_SYSCALL(aio_write)(void *aiocbp_) {
   2931   if (aiocbp_) {
   2932     PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
   2933   }
   2934 }
   2935 POST_SYSCALL(aio_write)(long long res, void *aiocbp_) {}
   2936 PRE_SYSCALL(lio_listio)
   2937 (long long mode_, void *list_, long long nent_, void *sig_) {
   2938   /* Nothing to do */
   2939 }
   2940 POST_SYSCALL(lio_listio)
   2941 (long long res, long long mode_, void *list_, long long nent_, void *sig_) {
   2942   /* Nothing to do */
   2943 }
   2944 /* syscall 407 has been skipped */
   2945 /* syscall 408 has been skipped */
   2946 /* syscall 409 has been skipped */
   2947 PRE_SYSCALL(__mount50)
   2948 (void *type_, void *path_, long long flags_, void *data_, long long data_len_) {
   2949   const char *type = (const char *)type_;
   2950   const char *path = (const char *)path_;
   2951   if (type) {
   2952     PRE_READ(type, __sanitizer::internal_strlen(type) + 1);
   2953   }
   2954   if (path) {
   2955     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   2956   }
   2957   if (data_) {
   2958     PRE_READ(data_, data_len_);
   2959   }
   2960 }
   2961 POST_SYSCALL(__mount50)
   2962 (long long res, void *type_, void *path_, long long flags_, void *data_,
   2963   long long data_len_) {
   2964   const char *type = (const char *)type_;
   2965   const char *path = (const char *)path_;
   2966   if (type) {
   2967     POST_READ(type, __sanitizer::internal_strlen(type) + 1);
   2968   }
   2969   if (path) {
   2970     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   2971   }
   2972   if (data_) {
   2973     POST_READ(data_, data_len_);
   2974   }
   2975 }
   2976 PRE_SYSCALL(mremap)
   2977 (void *old_address_, long long old_size_, void *new_address_,
   2978   long long new_size_, long long flags_) {
   2979   /* Nothing to do */
   2980 }
   2981 POST_SYSCALL(mremap)
   2982 (long long res, void *old_address_, long long old_size_, void *new_address_,
   2983   long long new_size_, long long flags_) {
   2984   /* Nothing to do */
   2985 }
   2986 PRE_SYSCALL(pset_create)(void *psid_) { /* Nothing to do */ }
   2987 POST_SYSCALL(pset_create)(long long res, void *psid_) { /* Nothing to do */ }
   2988 PRE_SYSCALL(pset_destroy)(long long psid_) { /* Nothing to do */ }
   2989 POST_SYSCALL(pset_destroy)(long long res, long long psid_) {
   2990   /* Nothing to do */
   2991 }
   2992 PRE_SYSCALL(pset_assign)(long long psid_, long long cpuid_, void *opsid_) {
   2993   /* Nothing to do */
   2994 }
   2995 POST_SYSCALL(pset_assign)
   2996 (long long res, long long psid_, long long cpuid_, void *opsid_) {
   2997   /* Nothing to do */
   2998 }
   2999 PRE_SYSCALL(_pset_bind)
   3000 (long long idtype_, long long first_id_, long long second_id_, long long psid_,
   3001   void *opsid_) {
   3002   /* Nothing to do */
   3003 }
   3004 POST_SYSCALL(_pset_bind)
   3005 (long long res, long long idtype_, long long first_id_, long long second_id_,
   3006   long long psid_, void *opsid_) {
   3007   /* Nothing to do */
   3008 }
   3009 PRE_SYSCALL(__posix_fadvise50)
   3010 (long long fd_, long long PAD_, long long offset_, long long len_,
   3011   long long advice_) {
   3012   /* Nothing to do */
   3013 }
   3014 POST_SYSCALL(__posix_fadvise50)
   3015 (long long res, long long fd_, long long PAD_, long long offset_,
   3016   long long len_, long long advice_) {
   3017   /* Nothing to do */
   3018 }
   3019 PRE_SYSCALL(__select50)
   3020 (long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
   3021   /* Nothing to do */
   3022 }
   3023 POST_SYSCALL(__select50)
   3024 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
   3025   /* Nothing to do */
   3026 }
   3027 PRE_SYSCALL(__gettimeofday50)(void *tp_, void *tzp_) { /* Nothing to do */ }
   3028 POST_SYSCALL(__gettimeofday50)(long long res, void *tp_, void *tzp_) {
   3029   /* Nothing to do */
   3030 }
   3031 PRE_SYSCALL(__settimeofday50)(void *tv_, void *tzp_) {
   3032   if (tv_) {
   3033     PRE_READ(tv_, timeval_sz);
   3034   }
   3035   if (tzp_) {
   3036     PRE_READ(tzp_, struct_timezone_sz);
   3037   }
   3038 }
   3039 POST_SYSCALL(__settimeofday50)(long long res, void *tv_, void *tzp_) {}
   3040 PRE_SYSCALL(__utimes50)(void *path_, void *tptr_) {
   3041   struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
   3042   const char *path = (const char *)path_;
   3043   if (path) {
   3044     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3045   }
   3046   if (tptr) {
   3047     PRE_READ(tptr[0], struct_timespec_sz);
   3048     PRE_READ(tptr[1], struct_timespec_sz);
   3049   }
   3050 }
   3051 POST_SYSCALL(__utimes50)(long long res, void *path_, void *tptr_) {}
   3052 PRE_SYSCALL(__adjtime50)(void *delta_, void *olddelta_) {
   3053   if (delta_) {
   3054     PRE_READ(delta_, timeval_sz);
   3055   }
   3056 }
   3057 POST_SYSCALL(__adjtime50)(long long res, void *delta_, void *olddelta_) {}
   3058 PRE_SYSCALL(__lfs_segwait50)(void *fsidp_, void *tv_) { /* TODO */ }
   3059 POST_SYSCALL(__lfs_segwait50)(long long res, void *fsidp_, void *tv_) {
   3060   /* TODO */
   3061 }
   3062 PRE_SYSCALL(__futimes50)(long long fd_, void *tptr_) {
   3063   struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
   3064   if (tptr) {
   3065     PRE_READ(tptr[0], struct_timespec_sz);
   3066     PRE_READ(tptr[1], struct_timespec_sz);
   3067   }
   3068 }
   3069 POST_SYSCALL(__futimes50)(long long res, long long fd_, void *tptr_) {}
   3070 PRE_SYSCALL(__lutimes50)(void *path_, void *tptr_) {
   3071   struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
   3072   const char *path = (const char *)path_;
   3073   if (path) {
   3074     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3075   }
   3076   if (tptr) {
   3077     PRE_READ(tptr[0], struct_timespec_sz);
   3078     PRE_READ(tptr[1], struct_timespec_sz);
   3079   }
   3080 }
   3081 POST_SYSCALL(__lutimes50)(long long res, void *path_, void *tptr_) {
   3082   struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
   3083   const char *path = (const char *)path_;
   3084   if (path) {
   3085     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3086   }
   3087   if (tptr) {
   3088     POST_READ(tptr[0], struct_timespec_sz);
   3089     POST_READ(tptr[1], struct_timespec_sz);
   3090   }
   3091 }
   3092 PRE_SYSCALL(__setitimer50)(long long which_, void *itv_, void *oitv_) {
   3093   struct __sanitizer_itimerval *itv = (struct __sanitizer_itimerval *)itv_;
   3094   if (itv) {
   3095     PRE_READ(&itv->it_interval.tv_sec, sizeof(__sanitizer_time_t));
   3096     PRE_READ(&itv->it_interval.tv_usec, sizeof(__sanitizer_suseconds_t));
   3097     PRE_READ(&itv->it_value.tv_sec, sizeof(__sanitizer_time_t));
   3098     PRE_READ(&itv->it_value.tv_usec, sizeof(__sanitizer_suseconds_t));
   3099   }
   3100 }
   3101 POST_SYSCALL(__setitimer50)
   3102 (long long res, long long which_, void *itv_, void *oitv_) {}
   3103 PRE_SYSCALL(__getitimer50)(long long which_, void *itv_) { /* Nothing to do */ }
   3104 POST_SYSCALL(__getitimer50)(long long res, long long which_, void *itv_) {
   3105   /* Nothing to do */
   3106 }
   3107 PRE_SYSCALL(__clock_gettime50)(long long clock_id_, void *tp_) {
   3108   /* Nothing to do */
   3109 }
   3110 POST_SYSCALL(__clock_gettime50)(long long res, long long clock_id_, void *tp_) {
   3111   /* Nothing to do */
   3112 }
   3113 PRE_SYSCALL(__clock_settime50)(long long clock_id_, void *tp_) {
   3114   if (tp_) {
   3115     PRE_READ(tp_, struct_timespec_sz);
   3116   }
   3117 }
   3118 POST_SYSCALL(__clock_settime50)
   3119 (long long res, long long clock_id_, void *tp_) {}
   3120 PRE_SYSCALL(__clock_getres50)(long long clock_id_, void *tp_) {
   3121   /* Nothing to do */
   3122 }
   3123 POST_SYSCALL(__clock_getres50)(long long res, long long clock_id_, void *tp_) {
   3124   /* Nothing to do */
   3125 }
   3126 PRE_SYSCALL(__nanosleep50)(void *rqtp_, void *rmtp_) {
   3127   if (rqtp_) {
   3128     PRE_READ(rqtp_, struct_timespec_sz);
   3129   }
   3130 }
   3131 POST_SYSCALL(__nanosleep50)(long long res, void *rqtp_, void *rmtp_) {}
   3132 PRE_SYSCALL(____sigtimedwait50)(void *set_, void *info_, void *timeout_) {
   3133   if (set_) {
   3134     PRE_READ(set_, sizeof(__sanitizer_sigset_t));
   3135   }
   3136   if (timeout_) {
   3137     PRE_READ(timeout_, struct_timespec_sz);
   3138   }
   3139 }
   3140 POST_SYSCALL(____sigtimedwait50)
   3141 (long long res, void *set_, void *info_, void *timeout_) {}
   3142 PRE_SYSCALL(__mq_timedsend50)
   3143 (long long mqdes_, void *msg_ptr_, long long msg_len_, long long msg_prio_,
   3144   void *abs_timeout_) {
   3145   if (msg_ptr_) {
   3146     PRE_READ(msg_ptr_, msg_len_);
   3147   }
   3148   if (abs_timeout_) {
   3149     PRE_READ(abs_timeout_, struct_timespec_sz);
   3150   }
   3151 }
   3152 POST_SYSCALL(__mq_timedsend50)
   3153 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
   3154   long long msg_prio_, void *abs_timeout_) {}
   3155 PRE_SYSCALL(__mq_timedreceive50)
   3156 (long long mqdes_, void *msg_ptr_, long long msg_len_, void *msg_prio_,
   3157   void *abs_timeout_) {
   3158   if (msg_ptr_) {
   3159     PRE_READ(msg_ptr_, msg_len_);
   3160   }
   3161   if (abs_timeout_) {
   3162     PRE_READ(abs_timeout_, struct_timespec_sz);
   3163   }
   3164 }
   3165 POST_SYSCALL(__mq_timedreceive50)
   3166 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
   3167   void *msg_prio_, void *abs_timeout_) {}
   3168 PRE_SYSCALL(compat_60__lwp_park)
   3169 (void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
   3170   /* TODO */
   3171 }
   3172 POST_SYSCALL(compat_60__lwp_park)
   3173 (long long res, void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
   3174   /* TODO */
   3175 }
   3176 PRE_SYSCALL(__kevent50)
   3177 (long long fd_, void *changelist_, long long nchanges_, void *eventlist_,
   3178   long long nevents_, void *timeout_) {
   3179   if (changelist_) {
   3180     PRE_READ(changelist_, nchanges_ * struct_kevent_sz);
   3181   }
   3182   if (timeout_) {
   3183     PRE_READ(timeout_, struct_timespec_sz);
   3184   }
   3185 }
   3186 POST_SYSCALL(__kevent50)
   3187 (long long res, long long fd_, void *changelist_, long long nchanges_,
   3188   void *eventlist_, long long nevents_, void *timeout_) {}
   3189 PRE_SYSCALL(__pselect50)
   3190 (long long nd_, void *in_, void *ou_, void *ex_, void *ts_, void *mask_) {
   3191   if (ts_) {
   3192     PRE_READ(ts_, struct_timespec_sz);
   3193   }
   3194   if (mask_) {
   3195     PRE_READ(mask_, sizeof(struct __sanitizer_sigset_t));
   3196   }
   3197 }
   3198 POST_SYSCALL(__pselect50)
   3199 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *ts_,
   3200   void *mask_) {}
   3201 PRE_SYSCALL(__pollts50)(void *fds_, long long nfds_, void *ts_, void *mask_) {
   3202   if (ts_) {
   3203     PRE_READ(ts_, struct_timespec_sz);
   3204   }
   3205   if (mask_) {
   3206     PRE_READ(mask_, sizeof(struct __sanitizer_sigset_t));
   3207   }
   3208 }
   3209 POST_SYSCALL(__pollts50)
   3210 (long long res, void *fds_, long long nfds_, void *ts_, void *mask_) {}
   3211 PRE_SYSCALL(__aio_suspend50)(void *list_, long long nent_, void *timeout_) {
   3212   int i;
   3213   const struct aiocb *const *list = (const struct aiocb *const *)list_;
   3214   if (list) {
   3215     for (i = 0; i < nent_; i++) {
   3216       if (list[i]) {
   3217         PRE_READ(list[i], sizeof(struct __sanitizer_aiocb));
   3218       }
   3219     }
   3220   }
   3221   if (timeout_) {
   3222     PRE_READ(timeout_, struct_timespec_sz);
   3223   }
   3224 }
   3225 POST_SYSCALL(__aio_suspend50)
   3226 (long long res, void *list_, long long nent_, void *timeout_) {}
   3227 PRE_SYSCALL(__stat50)(void *path_, void *ub_) {
   3228   const char *path = (const char *)path_;
   3229   if (path) {
   3230     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3231   }
   3232 }
   3233 POST_SYSCALL(__stat50)(long long res, void *path_, void *ub_) {
   3234   const char *path = (const char *)path_;
   3235   if (res == 0) {
   3236     if (path) {
   3237       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3238     }
   3239   }
   3240 }
   3241 PRE_SYSCALL(__fstat50)(long long fd_, void *sb_) { /* Nothing to do */ }
   3242 POST_SYSCALL(__fstat50)(long long res, long long fd_, void *sb_) {
   3243   /* Nothing to do */
   3244 }
   3245 PRE_SYSCALL(__lstat50)(void *path_, void *ub_) {
   3246   const char *path = (const char *)path_;
   3247   if (path) {
   3248     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3249   }
   3250 }
   3251 POST_SYSCALL(__lstat50)(long long res, void *path_, void *ub_) {
   3252   const char *path = (const char *)path_;
   3253   if (res == 0) {
   3254     if (path) {
   3255       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3256     }
   3257   }
   3258 }
   3259 PRE_SYSCALL(____semctl50)
   3260 (long long semid_, long long semnum_, long long cmd_, void *arg_) {
   3261   /* Nothing to do */
   3262 }
   3263 POST_SYSCALL(____semctl50)
   3264 (long long res, long long semid_, long long semnum_, long long cmd_,
   3265   void *arg_) {
   3266   /* Nothing to do */
   3267 }
   3268 PRE_SYSCALL(__shmctl50)(long long shmid_, long long cmd_, void *buf_) {
   3269   /* Nothing to do */
   3270 }
   3271 POST_SYSCALL(__shmctl50)
   3272 (long long res, long long shmid_, long long cmd_, void *buf_) {
   3273   /* Nothing to do */
   3274 }
   3275 PRE_SYSCALL(__msgctl50)(long long msqid_, long long cmd_, void *buf_) {
   3276   /* Nothing to do */
   3277 }
   3278 POST_SYSCALL(__msgctl50)
   3279 (long long res, long long msqid_, long long cmd_, void *buf_) {
   3280   /* Nothing to do */
   3281 }
   3282 PRE_SYSCALL(__getrusage50)(long long who_, void *rusage_) {
   3283   /* Nothing to do */
   3284 }
   3285 POST_SYSCALL(__getrusage50)(long long res, long long who_, void *rusage_) {
   3286   /* Nothing to do */
   3287 }
   3288 PRE_SYSCALL(__timer_settime50)
   3289 (long long timerid_, long long flags_, void *value_, void *ovalue_) {
   3290   struct __sanitizer_itimerval *value = (struct __sanitizer_itimerval *)value_;
   3291   if (value) {
   3292     PRE_READ(&value->it_interval.tv_sec, sizeof(__sanitizer_time_t));
   3293     PRE_READ(&value->it_interval.tv_usec, sizeof(__sanitizer_suseconds_t));
   3294     PRE_READ(&value->it_value.tv_sec, sizeof(__sanitizer_time_t));
   3295     PRE_READ(&value->it_value.tv_usec, sizeof(__sanitizer_suseconds_t));
   3296   }
   3297 }
   3298 POST_SYSCALL(__timer_settime50)
   3299 (long long res, long long timerid_, long long flags_, void *value_,
   3300   void *ovalue_) {
   3301   struct __sanitizer_itimerval *value = (struct __sanitizer_itimerval *)value_;
   3302   if (res == 0) {
   3303     if (value) {
   3304       POST_READ(&value->it_interval.tv_sec, sizeof(__sanitizer_time_t));
   3305       POST_READ(&value->it_interval.tv_usec, sizeof(__sanitizer_suseconds_t));
   3306       POST_READ(&value->it_value.tv_sec, sizeof(__sanitizer_time_t));
   3307       POST_READ(&value->it_value.tv_usec, sizeof(__sanitizer_suseconds_t));
   3308     }
   3309   }
   3310 }
   3311 PRE_SYSCALL(__timer_gettime50)(long long timerid_, void *value_) {
   3312   /* Nothing to do */
   3313 }
   3314 POST_SYSCALL(__timer_gettime50)
   3315 (long long res, long long timerid_, void *value_) {
   3316   /* Nothing to do */
   3317 }
   3318 #if defined(NTP) || !defined(_KERNEL_OPT)
   3319 PRE_SYSCALL(__ntp_gettime50)(void *ntvp_) { /* Nothing to do */ }
   3320 POST_SYSCALL(__ntp_gettime50)(long long res, void *ntvp_) {
   3321   /* Nothing to do */
   3322 }
   3323 #else
   3324 /* syscall 448 has been skipped */
   3325 #endif
   3326 PRE_SYSCALL(__wait450)
   3327 (long long pid_, void *status_, long long options_, void *rusage_) {
   3328   /* Nothing to do */
   3329 }
   3330 POST_SYSCALL(__wait450)
   3331 (long long res, long long pid_, void *status_, long long options_,
   3332   void *rusage_) {
   3333   /* Nothing to do */
   3334 }
   3335 PRE_SYSCALL(__mknod50)(void *path_, long long mode_, long long dev_) {
   3336   const char *path = (const char *)path_;
   3337   if (path) {
   3338     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3339   }
   3340 }
   3341 POST_SYSCALL(__mknod50)
   3342 (long long res, void *path_, long long mode_, long long dev_) {
   3343   const char *path = (const char *)path_;
   3344   if (res == 0) {
   3345     if (path) {
   3346       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3347     }
   3348   }
   3349 }
   3350 PRE_SYSCALL(__fhstat50)(void *fhp_, long long fh_size_, void *sb_) {
   3351   if (fhp_) {
   3352     PRE_READ(fhp_, fh_size_);
   3353   }
   3354 }
   3355 POST_SYSCALL(__fhstat50)
   3356 (long long res, void *fhp_, long long fh_size_, void *sb_) {
   3357   if (res == 0) {
   3358     if (fhp_) {
   3359       POST_READ(fhp_, fh_size_);
   3360     }
   3361   }
   3362 }
   3363 /* syscall 452 has been skipped */
   3364 PRE_SYSCALL(pipe2)(void *fildes_, long long flags_) { /* Nothing to do */ }
   3365 POST_SYSCALL(pipe2)(long long res, void *fildes_, long long flags_) {
   3366   /* Nothing to do */
   3367 }
   3368 PRE_SYSCALL(dup3)(long long from_, long long to_, long long flags_) {
   3369   /* Nothing to do */
   3370 }
   3371 POST_SYSCALL(dup3)
   3372 (long long res, long long from_, long long to_, long long flags_) {
   3373   /* Nothing to do */
   3374 }
   3375 PRE_SYSCALL(kqueue1)(long long flags_) { /* Nothing to do */ }
   3376 POST_SYSCALL(kqueue1)(long long res, long long flags_) { /* Nothing to do */ }
   3377 PRE_SYSCALL(paccept)
   3378 (long long s_, void *name_, void *anamelen_, void *mask_, long long flags_) {
   3379   if (mask_) {
   3380     PRE_READ(mask_, sizeof(__sanitizer_sigset_t));
   3381   }
   3382 }
   3383 POST_SYSCALL(paccept)
   3384 (long long res, long long s_, void *name_, void *anamelen_, void *mask_,
   3385   long long flags_) {
   3386   if (res >= 0) {
   3387     if (mask_) {
   3388       PRE_READ(mask_, sizeof(__sanitizer_sigset_t));
   3389     }
   3390   }
   3391 }
   3392 PRE_SYSCALL(linkat)
   3393 (long long fd1_, void *name1_, long long fd2_, void *name2_, long long flags_) {
   3394   const char *name1 = (const char *)name1_;
   3395   const char *name2 = (const char *)name2_;
   3396   if (name1) {
   3397     PRE_READ(name1, __sanitizer::internal_strlen(name1) + 1);
   3398   }
   3399   if (name2) {
   3400     PRE_READ(name2, __sanitizer::internal_strlen(name2) + 1);
   3401   }
   3402 }
   3403 POST_SYSCALL(linkat)
   3404 (long long res, long long fd1_, void *name1_, long long fd2_, void *name2_,
   3405   long long flags_) {
   3406   const char *name1 = (const char *)name1_;
   3407   const char *name2 = (const char *)name2_;
   3408   if (res == 0) {
   3409     if (name1) {
   3410       POST_READ(name1, __sanitizer::internal_strlen(name1) + 1);
   3411     }
   3412     if (name2) {
   3413       POST_READ(name2, __sanitizer::internal_strlen(name2) + 1);
   3414     }
   3415   }
   3416 }
   3417 PRE_SYSCALL(renameat)
   3418 (long long fromfd_, void *from_, long long tofd_, void *to_) {
   3419   const char *from = (const char *)from_;
   3420   const char *to = (const char *)to_;
   3421   if (from) {
   3422     PRE_READ(from, __sanitizer::internal_strlen(from) + 1);
   3423   }
   3424   if (to) {
   3425     PRE_READ(to, __sanitizer::internal_strlen(to) + 1);
   3426   }
   3427 }
   3428 POST_SYSCALL(renameat)
   3429 (long long res, long long fromfd_, void *from_, long long tofd_, void *to_) {
   3430   const char *from = (const char *)from_;
   3431   const char *to = (const char *)to_;
   3432   if (res == 0) {
   3433     if (from) {
   3434       POST_READ(from, __sanitizer::internal_strlen(from) + 1);
   3435     }
   3436     if (to) {
   3437       POST_READ(to, __sanitizer::internal_strlen(to) + 1);
   3438     }
   3439   }
   3440 }
   3441 PRE_SYSCALL(mkfifoat)(long long fd_, void *path_, long long mode_) {
   3442   const char *path = (const char *)path_;
   3443   if (path) {
   3444     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3445   }
   3446 }
   3447 POST_SYSCALL(mkfifoat)
   3448 (long long res, long long fd_, void *path_, long long mode_) {
   3449   const char *path = (const char *)path_;
   3450   if (res == 0) {
   3451     if (path) {
   3452       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3453     }
   3454   }
   3455 }
   3456 PRE_SYSCALL(mknodat)
   3457 (long long fd_, void *path_, long long mode_, long long PAD_, long long dev_) {
   3458   const char *path = (const char *)path_;
   3459   if (path) {
   3460     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3461   }
   3462 }
   3463 POST_SYSCALL(mknodat)
   3464 (long long res, long long fd_, void *path_, long long mode_, long long PAD_,
   3465   long long dev_) {
   3466   const char *path = (const char *)path_;
   3467   if (res == 0) {
   3468     if (path) {
   3469       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3470     }
   3471   }
   3472 }
   3473 PRE_SYSCALL(mkdirat)(long long fd_, void *path_, long long mode_) {
   3474   const char *path = (const char *)path_;
   3475   if (path) {
   3476     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3477   }
   3478 }
   3479 POST_SYSCALL(mkdirat)
   3480 (long long res, long long fd_, void *path_, long long mode_) {
   3481   const char *path = (const char *)path_;
   3482   if (res == 0) {
   3483     if (path) {
   3484       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3485     }
   3486   }
   3487 }
   3488 PRE_SYSCALL(faccessat)
   3489 (long long fd_, void *path_, long long amode_, long long flag_) {
   3490   const char *path = (const char *)path_;
   3491   if (path) {
   3492     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3493   }
   3494 }
   3495 POST_SYSCALL(faccessat)
   3496 (long long res, long long fd_, void *path_, long long amode_, long long flag_) {
   3497   const char *path = (const char *)path_;
   3498   if (res == 0) {
   3499     if (path) {
   3500       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3501     }
   3502   }
   3503 }
   3504 PRE_SYSCALL(fchmodat)
   3505 (long long fd_, void *path_, long long mode_, long long flag_) {
   3506   const char *path = (const char *)path_;
   3507   if (path) {
   3508     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3509   }
   3510 }
   3511 POST_SYSCALL(fchmodat)
   3512 (long long res, long long fd_, void *path_, long long mode_, long long flag_) {
   3513   const char *path = (const char *)path_;
   3514   if (res == 0) {
   3515     if (path) {
   3516       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3517     }
   3518   }
   3519 }
   3520 PRE_SYSCALL(fchownat)
   3521 (long long fd_, void *path_, long long owner_, long long group_,
   3522   long long flag_) {
   3523   const char *path = (const char *)path_;
   3524   if (path) {
   3525     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3526   }
   3527 }
   3528 POST_SYSCALL(fchownat)
   3529 (long long res, long long fd_, void *path_, long long owner_, long long group_,
   3530   long long flag_) {
   3531   const char *path = (const char *)path_;
   3532   if (res == 0) {
   3533     if (path) {
   3534       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3535     }
   3536   }
   3537 }
   3538 PRE_SYSCALL(fexecve)(long long fd_, void *argp_, void *envp_) { /* TODO */ }
   3539 POST_SYSCALL(fexecve)(long long res, long long fd_, void *argp_, void *envp_) {
   3540   /* TODO */
   3541 }
   3542 PRE_SYSCALL(fstatat)(long long fd_, void *path_, void *buf_, long long flag_) {
   3543   const char *path = (const char *)path_;
   3544   if (path) {
   3545     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3546   }
   3547 }
   3548 POST_SYSCALL(fstatat)
   3549 (long long res, long long fd_, void *path_, void *buf_, long long flag_) {
   3550   const char *path = (const char *)path_;
   3551   if (path) {
   3552     POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3553   }
   3554 }
   3555 PRE_SYSCALL(utimensat)
   3556 (long long fd_, void *path_, void *tptr_, long long flag_) {
   3557   const char *path = (const char *)path_;
   3558   if (path) {
   3559     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3560   }
   3561   if (tptr_) {
   3562     PRE_READ(tptr_, struct_timespec_sz);
   3563   }
   3564 }
   3565 POST_SYSCALL(utimensat)
   3566 (long long res, long long fd_, void *path_, void *tptr_, long long flag_) {
   3567   const char *path = (const char *)path_;
   3568   if (res > 0) {
   3569     if (path) {
   3570       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3571     }
   3572     if (tptr_) {
   3573       POST_READ(tptr_, struct_timespec_sz);
   3574     }
   3575   }
   3576 }
   3577 PRE_SYSCALL(openat)
   3578 (long long fd_, void *path_, long long oflags_, long long mode_) {
   3579   const char *path = (const char *)path_;
   3580   if (path) {
   3581     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3582   }
   3583 }
   3584 POST_SYSCALL(openat)
   3585 (long long res, long long fd_, void *path_, long long oflags_,
   3586   long long mode_) {
   3587   const char *path = (const char *)path_;
   3588   if (res > 0) {
   3589     if (path) {
   3590       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3591     }
   3592   }
   3593 }
   3594 PRE_SYSCALL(readlinkat)
   3595 (long long fd_, void *path_, void *buf_, long long bufsize_) {
   3596   const char *path = (const char *)path_;
   3597   if (path) {
   3598     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3599   }
   3600 }
   3601 POST_SYSCALL(readlinkat)
   3602 (long long res, long long fd_, void *path_, void *buf_, long long bufsize_) {
   3603   const char *path = (const char *)path_;
   3604   if (res > 0) {
   3605     if (path) {
   3606       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3607     }
   3608   }
   3609 }
   3610 PRE_SYSCALL(symlinkat)(void *path1_, long long fd_, void *path2_) {
   3611   const char *path1 = (const char *)path1_;
   3612   const char *path2 = (const char *)path2_;
   3613   if (path1) {
   3614     PRE_READ(path1, __sanitizer::internal_strlen(path1) + 1);
   3615   }
   3616   if (path2) {
   3617     PRE_READ(path2, __sanitizer::internal_strlen(path2) + 1);
   3618   }
   3619 }
   3620 POST_SYSCALL(symlinkat)
   3621 (long long res, void *path1_, long long fd_, void *path2_) {
   3622   const char *path1 = (const char *)path1_;
   3623   const char *path2 = (const char *)path2_;
   3624   if (res == 0) {
   3625     if (path1) {
   3626       POST_READ(path1, __sanitizer::internal_strlen(path1) + 1);
   3627     }
   3628     if (path2) {
   3629       POST_READ(path2, __sanitizer::internal_strlen(path2) + 1);
   3630     }
   3631   }
   3632 }
   3633 PRE_SYSCALL(unlinkat)(long long fd_, void *path_, long long flag_) {
   3634   const char *path = (const char *)path_;
   3635   if (path) {
   3636     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3637   }
   3638 }
   3639 POST_SYSCALL(unlinkat)
   3640 (long long res, long long fd_, void *path_, long long flag_) {
   3641   const char *path = (const char *)path_;
   3642   if (res == 0) {
   3643     if (path) {
   3644       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3645     }
   3646   }
   3647 }
   3648 PRE_SYSCALL(futimens)(long long fd_, void *tptr_) {
   3649   struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
   3650   if (tptr) {
   3651     PRE_READ(tptr[0], struct_timespec_sz);
   3652     PRE_READ(tptr[1], struct_timespec_sz);
   3653   }
   3654 }
   3655 POST_SYSCALL(futimens)(long long res, long long fd_, void *tptr_) {
   3656   struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
   3657   if (res == 0) {
   3658     if (tptr) {
   3659       POST_READ(tptr[0], struct_timespec_sz);
   3660       POST_READ(tptr[1], struct_timespec_sz);
   3661     }
   3662   }
   3663 }
   3664 PRE_SYSCALL(__quotactl)(void *path_, void *args_) {
   3665   const char *path = (const char *)path_;
   3666   if (path) {
   3667     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3668   }
   3669 }
   3670 POST_SYSCALL(__quotactl)(long long res, void *path_, void *args_) {
   3671   const char *path = (const char *)path_;
   3672   if (res == 0) {
   3673     if (path) {
   3674       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3675     }
   3676   }
   3677 }
   3678 PRE_SYSCALL(posix_spawn)
   3679 (void *pid_, void *path_, void *file_actions_, void *attrp_, void *argv_,
   3680   void *envp_) {
   3681   const char *path = (const char *)path_;
   3682   if (path) {
   3683     PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
   3684   }
   3685 }
   3686 POST_SYSCALL(posix_spawn)
   3687 (long long res, void *pid_, void *path_, void *file_actions_, void *attrp_,
   3688   void *argv_, void *envp_) {
   3689   const char *path = (const char *)path_;
   3690   if (pid_) {
   3691     if (path) {
   3692       POST_READ(path, __sanitizer::internal_strlen(path) + 1);
   3693     }
   3694   }
   3695 }
   3696 PRE_SYSCALL(recvmmsg)
   3697 (long long s_, void *mmsg_, long long vlen_, long long flags_, void *timeout_) {
   3698   if (timeout_) {
   3699     PRE_READ(timeout_, struct_timespec_sz);
   3700   }
   3701 }
   3702 POST_SYSCALL(recvmmsg)
   3703 (long long res, long long s_, void *mmsg_, long long vlen_, long long flags_,
   3704   void *timeout_) {
   3705   if (res >= 0) {
   3706     if (timeout_) {
   3707       POST_READ(timeout_, struct_timespec_sz);
   3708     }
   3709   }
   3710 }
   3711 PRE_SYSCALL(sendmmsg)
   3712 (long long s_, void *mmsg_, long long vlen_, long long flags_) {
   3713   struct __sanitizer_mmsghdr *mmsg = (struct __sanitizer_mmsghdr *)mmsg_;
   3714   if (mmsg) {
   3715     PRE_READ(mmsg, sizeof(struct __sanitizer_mmsghdr) *
   3716                        (vlen_ > 1024 ? 1024 : vlen_));
   3717   }
   3718 }
   3719 POST_SYSCALL(sendmmsg)
   3720 (long long res, long long s_, void *mmsg_, long long vlen_, long long flags_) {
   3721   struct __sanitizer_mmsghdr *mmsg = (struct __sanitizer_mmsghdr *)mmsg_;
   3722   if (res >= 0) {
   3723     if (mmsg) {
   3724       POST_READ(mmsg, sizeof(struct __sanitizer_mmsghdr) *
   3725                           (vlen_ > 1024 ? 1024 : vlen_));
   3726     }
   3727   }
   3728 }
   3729 PRE_SYSCALL(clock_nanosleep)
   3730 (long long clock_id_, long long flags_, void *rqtp_, void *rmtp_) {
   3731   if (rqtp_) {
   3732     PRE_READ(rqtp_, struct_timespec_sz);
   3733   }
   3734 }
   3735 POST_SYSCALL(clock_nanosleep)
   3736 (long long res, long long clock_id_, long long flags_, void *rqtp_,
   3737   void *rmtp_) {
   3738   if (rqtp_) {
   3739     POST_READ(rqtp_, struct_timespec_sz);
   3740   }
   3741 }
   3742 PRE_SYSCALL(___lwp_park60)
   3743 (long long clock_id_, long long flags_, void *ts_, long long unpark_,
   3744   void *hint_, void *unparkhint_) {
   3745   if (ts_) {
   3746     PRE_READ(ts_, struct_timespec_sz);
   3747   }
   3748 }
   3749 POST_SYSCALL(___lwp_park60)
   3750 (long long res, long long clock_id_, long long flags_, void *ts_,
   3751   long long unpark_, void *hint_, void *unparkhint_) {
   3752   if (res == 0) {
   3753     if (ts_) {
   3754       POST_READ(ts_, struct_timespec_sz);
   3755     }
   3756   }
   3757 }
   3758 PRE_SYSCALL(posix_fallocate)
   3759 (long long fd_, long long PAD_, long long pos_, long long len_) {
   3760   /* Nothing to do */
   3761 }
   3762 POST_SYSCALL(posix_fallocate)
   3763 (long long res, long long fd_, long long PAD_, long long pos_, long long len_) {
   3764   /* Nothing to do */
   3765 }
   3766 PRE_SYSCALL(fdiscard)
   3767 (long long fd_, long long PAD_, long long pos_, long long len_) {
   3768   /* Nothing to do */
   3769 }
   3770 POST_SYSCALL(fdiscard)
   3771 (long long res, long long fd_, long long PAD_, long long pos_, long long len_) {
   3772   /* Nothing to do */
   3773 }
   3774 PRE_SYSCALL(wait6)
   3775 (long long idtype_, long long id_, void *status_, long long options_,
   3776   void *wru_, void *info_) {
   3777   /* Nothing to do */
   3778 }
   3779 POST_SYSCALL(wait6)
   3780 (long long res, long long idtype_, long long id_, void *status_,
   3781   long long options_, void *wru_, void *info_) {
   3782   /* Nothing to do */
   3783 }
   3784 PRE_SYSCALL(clock_getcpuclockid2)
   3785 (long long idtype_, long long id_, void *clock_id_) {
   3786   /* Nothing to do */
   3787 }
   3788 POST_SYSCALL(clock_getcpuclockid2)
   3789 (long long res, long long idtype_, long long id_, void *clock_id_) {
   3790   /* Nothing to do */
   3791 }
   3792 #undef SYS_MAXSYSARGS
   3793 } // extern "C"
   3794 
   3795 #undef PRE_SYSCALL
   3796 #undef PRE_READ
   3797 #undef PRE_WRITE
   3798 #undef POST_SYSCALL
   3799 #undef POST_READ
   3800 #undef POST_WRITE
   3801 
   3802 #endif // SANITIZER_NETBSD
   3803