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