1 //===-- sanitizer_syscalls_netbsd.inc ---------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // Common syscalls handlers for tools like AddressSanitizer,
11 // ThreadSanitizer, MemorySanitizer, etc.
13 // This file should be included into the tool's interceptor file,
14 // which has to define it's own macros:
15 // COMMON_SYSCALL_PRE_READ_RANGE
16 // Called in prehook for regions that will be read by the kernel and
17 // must be initialized.
18 // COMMON_SYSCALL_PRE_WRITE_RANGE
19 // Called in prehook for regions that will be written to by the kernel
20 // and must be addressable. The actual write range may be smaller than
21 // reported in the prehook. See POST_WRITE_RANGE.
22 // COMMON_SYSCALL_POST_READ_RANGE
23 // Called in posthook for regions that were read by the kernel. Does
24 // not make much sense.
25 // COMMON_SYSCALL_POST_WRITE_RANGE
26 // Called in posthook for regions that were written to by the kernel
27 // and are now initialized.
28 // COMMON_SYSCALL_ACQUIRE(addr)
29 // Acquire memory visibility from addr.
30 // COMMON_SYSCALL_RELEASE(addr)
31 // Release memory visibility to addr.
32 // COMMON_SYSCALL_FD_CLOSE(fd)
33 // Called before closing file descriptor fd.
34 // COMMON_SYSCALL_FD_ACQUIRE(fd)
35 // Acquire memory visibility from fd.
36 // COMMON_SYSCALL_FD_RELEASE(fd)
37 // Release memory visibility to fd.
38 // COMMON_SYSCALL_PRE_FORK()
39 // Called before fork syscall.
40 // COMMON_SYSCALL_POST_FORK(long long res)
41 // Called after fork syscall.
43 // DO NOT EDIT! THIS FILE HAS BEEN GENERATED!
45 // Generated with: generate_netbsd_syscalls.awk
46 // Generated date: 2018-03-03
47 // Generated from: syscalls.master,v 1.291 2018/01/06 16:41:23 kamil Exp
49 //===----------------------------------------------------------------------===//
51 #include "sanitizer_platform.h"
54 #include "sanitizer_libc.h"
56 #define PRE_SYSCALL(name) \
57 SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_syscall_pre_impl_##name
58 #define PRE_READ(p, s) COMMON_SYSCALL_PRE_READ_RANGE(p, s)
59 #define PRE_WRITE(p, s) COMMON_SYSCALL_PRE_WRITE_RANGE(p, s)
61 #define POST_SYSCALL(name) \
62 SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_syscall_post_impl_##name
63 #define POST_READ(p, s) COMMON_SYSCALL_POST_READ_RANGE(p, s)
64 #define POST_WRITE(p, s) COMMON_SYSCALL_POST_WRITE_RANGE(p, s)
66 #ifndef COMMON_SYSCALL_ACQUIRE
67 #define COMMON_SYSCALL_ACQUIRE(addr) ((void)(addr))
70 #ifndef COMMON_SYSCALL_RELEASE
71 #define COMMON_SYSCALL_RELEASE(addr) ((void)(addr))
74 #ifndef COMMON_SYSCALL_FD_CLOSE
75 #define COMMON_SYSCALL_FD_CLOSE(fd) ((void)(fd))
78 #ifndef COMMON_SYSCALL_FD_ACQUIRE
79 #define COMMON_SYSCALL_FD_ACQUIRE(fd) ((void)(fd))
82 #ifndef COMMON_SYSCALL_FD_RELEASE
83 #define COMMON_SYSCALL_FD_RELEASE(fd) ((void)(fd))
86 #ifndef COMMON_SYSCALL_PRE_FORK
87 #define COMMON_SYSCALL_PRE_FORK() \
91 #ifndef COMMON_SYSCALL_POST_FORK
92 #define COMMON_SYSCALL_POST_FORK(res) \
96 // FIXME: do some kind of PRE_READ for all syscall arguments (int(s) and such).
99 #define SYS_MAXSYSARGS 8
100 PRE_SYSCALL(syscall)(long long code_, long long args_[SYS_MAXSYSARGS]) {
103 POST_SYSCALL(syscall)
104 (long long res, long long code_, long long args_[SYS_MAXSYSARGS]) {
107 PRE_SYSCALL(exit)(long long rval_) { /* Nothing to do */ }
108 POST_SYSCALL(exit)(long long res, long long rval_) { /* Nothing to do */ }
109 PRE_SYSCALL(fork)(void) { COMMON_SYSCALL_PRE_FORK(); }
110 POST_SYSCALL(fork)(long long res) { COMMON_SYSCALL_POST_FORK(res); }
111 PRE_SYSCALL(read)(long long fd_, void *buf_, long long nbyte_) {
113 PRE_WRITE(buf_, nbyte_);
116 POST_SYSCALL(read)(long long res, long long fd_, void *buf_, long long nbyte_) {
118 POST_WRITE(buf_, res);
121 PRE_SYSCALL(write)(long long fd_, void *buf_, long long nbyte_) {
123 PRE_READ(buf_, nbyte_);
127 (long long res, long long fd_, void *buf_, long long nbyte_) {
129 POST_READ(buf_, res);
132 PRE_SYSCALL(open)(void *path_, long long flags_, long long mode_) {
133 const char *path = (const char *)path_;
135 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
139 (long long res, void *path_, long long flags_, long long mode_) {
141 const char *path = (const char *)path_;
143 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
147 PRE_SYSCALL(close)(long long fd_) { COMMON_SYSCALL_FD_CLOSE((int)fd_); }
148 POST_SYSCALL(close)(long long res, long long fd_) { /* Nothing to do */ }
149 PRE_SYSCALL(compat_50_wait4)
150 (long long pid_, void *status_, long long options_, void *rusage_) {
153 POST_SYSCALL(compat_50_wait4)
154 (long long res, long long pid_, void *status_, long long options_,
158 PRE_SYSCALL(compat_43_ocreat)(void *path_, long long mode_) { /* TODO */ }
159 POST_SYSCALL(compat_43_ocreat)(long long res, void *path_, long long mode_) {
162 PRE_SYSCALL(link)(void *path_, void *link_) {
163 const char *path = (const char *)path_;
164 const char *link = (const char *)link_;
166 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
169 PRE_READ(path, __sanitizer::internal_strlen(link) + 1);
172 POST_SYSCALL(link)(long long res, void *path_, void *link_) {
174 const char *path = (const char *)path_;
175 const char *link = (const char *)link_;
177 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
180 POST_READ(path, __sanitizer::internal_strlen(link) + 1);
184 PRE_SYSCALL(unlink)(void *path_) {
185 const char *path = (const char *)path_;
187 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
190 POST_SYSCALL(unlink)(long long res, void *path_) {
192 const char *path = (const char *)path_;
194 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
198 /* syscall 11 has been skipped */
199 PRE_SYSCALL(chdir)(void *path_) {
200 const char *path = (const char *)path_;
202 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
205 POST_SYSCALL(chdir)(long long res, void *path_) {
207 const char *path = (const char *)path_;
209 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
213 PRE_SYSCALL(fchdir)(long long fd_) { /* Nothing to do */ }
214 POST_SYSCALL(fchdir)(long long res, long long fd_) { /* Nothing to do */ }
215 PRE_SYSCALL(compat_50_mknod)(void *path_, long long mode_, long long dev_) {
218 POST_SYSCALL(compat_50_mknod)
219 (long long res, void *path_, long long mode_, long long dev_) {
222 PRE_SYSCALL(chmod)(void *path_, long long mode_) {
223 const char *path = (const char *)path_;
225 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
228 POST_SYSCALL(chmod)(long long res, void *path_, long long mode_) {
230 const char *path = (const char *)path_;
232 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
236 PRE_SYSCALL(chown)(void *path_, long long uid_, long long gid_) {
237 const char *path = (const char *)path_;
239 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
243 (long long res, void *path_, long long uid_, long long gid_) {
245 const char *path = (const char *)path_;
247 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
251 PRE_SYSCALL(break)(void *nsize_) { /* Nothing to do */ }
252 POST_SYSCALL(break)(long long res, void *nsize_) { /* Nothing to do */ }
253 PRE_SYSCALL(compat_20_getfsstat)
254 (void *buf_, long long bufsize_, long long flags_) {
257 POST_SYSCALL(compat_20_getfsstat)
258 (long long res, void *buf_, long long bufsize_, long long flags_) {
261 PRE_SYSCALL(compat_43_olseek)
262 (long long fd_, long long offset_, long long whence_) {
265 POST_SYSCALL(compat_43_olseek)
266 (long long res, long long fd_, long long offset_, long long whence_) {
269 PRE_SYSCALL(getpid)(void) { /* Nothing to do */ }
270 POST_SYSCALL(getpid)(long long res) { /* Nothing to do */ }
271 PRE_SYSCALL(compat_40_mount)
272 (void *type_, void *path_, long long flags_, void *data_) {
275 POST_SYSCALL(compat_40_mount)
276 (long long res, void *type_, void *path_, long long flags_, void *data_) {
279 PRE_SYSCALL(unmount)(void *path_, long long flags_) {
280 const char *path = (const char *)path_;
282 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
285 POST_SYSCALL(unmount)(long long res, void *path_, long long flags_) {
287 const char *path = (const char *)path_;
289 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
293 PRE_SYSCALL(setuid)(long long uid_) { /* Nothing to do */ }
294 POST_SYSCALL(setuid)(long long res, long long uid_) { /* Nothing to do */ }
295 PRE_SYSCALL(getuid)(void) { /* Nothing to do */ }
296 POST_SYSCALL(getuid)(long long res) { /* Nothing to do */ }
297 PRE_SYSCALL(geteuid)(void) { /* Nothing to do */ }
298 POST_SYSCALL(geteuid)(long long res) { /* Nothing to do */ }
300 (long long req_, long long pid_, void *addr_, long long data_) {
301 if (req_ == ptrace_pt_io) {
302 struct __sanitizer_ptrace_io_desc *addr =
303 (struct __sanitizer_ptrace_io_desc *)addr_;
304 PRE_READ(addr, struct_ptrace_ptrace_io_desc_struct_sz);
305 if (addr->piod_op == ptrace_piod_write_d ||
306 addr->piod_op == ptrace_piod_write_i) {
307 PRE_READ(addr->piod_addr, addr->piod_len);
309 if (addr->piod_op == ptrace_piod_read_d ||
310 addr->piod_op == ptrace_piod_read_i ||
311 addr->piod_op == ptrace_piod_read_auxv) {
312 PRE_WRITE(addr->piod_addr, addr->piod_len);
314 } else if (req_ == ptrace_pt_lwpinfo) {
315 struct __sanitizer_ptrace_lwpinfo *addr =
316 (struct __sanitizer_ptrace_lwpinfo *)addr_;
317 PRE_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
318 PRE_WRITE(addr, struct_ptrace_ptrace_lwpinfo_struct_sz);
319 } else if (req_ == ptrace_pt_set_event_mask) {
320 PRE_READ(addr_, struct_ptrace_ptrace_event_struct_sz);
321 } else if (req_ == ptrace_pt_get_event_mask) {
322 PRE_WRITE(addr_, struct_ptrace_ptrace_event_struct_sz);
323 } else if (req_ == ptrace_pt_set_siginfo) {
324 PRE_READ(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
325 } else if (req_ == ptrace_pt_get_siginfo) {
326 PRE_WRITE(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
327 } else if (req_ == ptrace_pt_setregs) {
328 PRE_READ(addr_, struct_ptrace_reg_struct_sz);
329 } else if (req_ == ptrace_pt_getregs) {
330 PRE_WRITE(addr_, struct_ptrace_reg_struct_sz);
331 } else if (req_ == ptrace_pt_setfpregs) {
332 PRE_READ(addr_, struct_ptrace_fpreg_struct_sz);
333 } else if (req_ == ptrace_pt_getfpregs) {
334 PRE_WRITE(addr_, struct_ptrace_fpreg_struct_sz);
335 } else if (req_ == ptrace_pt_setdbregs) {
336 PRE_READ(addr_, struct_ptrace_dbreg_struct_sz);
337 } else if (req_ == ptrace_pt_getdbregs) {
338 PRE_WRITE(addr_, struct_ptrace_dbreg_struct_sz);
342 (long long res, long long req_, long long pid_, void *addr_, long long data_) {
344 if (req_ == ptrace_pt_io) {
345 struct __sanitizer_ptrace_io_desc *addr =
346 (struct __sanitizer_ptrace_io_desc *)addr_;
347 POST_READ(addr, struct_ptrace_ptrace_io_desc_struct_sz);
348 if (addr->piod_op == ptrace_piod_write_d ||
349 addr->piod_op == ptrace_piod_write_i) {
350 POST_READ(addr->piod_addr, addr->piod_len);
352 if (addr->piod_op == ptrace_piod_read_d ||
353 addr->piod_op == ptrace_piod_read_i ||
354 addr->piod_op == ptrace_piod_read_auxv) {
355 POST_WRITE(addr->piod_addr, addr->piod_len);
357 } else if (req_ == ptrace_pt_lwpinfo) {
358 struct __sanitizer_ptrace_lwpinfo *addr =
359 (struct __sanitizer_ptrace_lwpinfo *)addr_;
360 POST_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
361 POST_WRITE(addr, struct_ptrace_ptrace_lwpinfo_struct_sz);
362 } else if (req_ == ptrace_pt_set_event_mask) {
363 POST_READ(addr_, struct_ptrace_ptrace_event_struct_sz);
364 } else if (req_ == ptrace_pt_get_event_mask) {
365 POST_WRITE(addr_, struct_ptrace_ptrace_event_struct_sz);
366 } else if (req_ == ptrace_pt_set_siginfo) {
367 POST_READ(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
368 } else if (req_ == ptrace_pt_get_siginfo) {
369 POST_WRITE(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
370 } else if (req_ == ptrace_pt_setregs) {
371 POST_READ(addr_, struct_ptrace_reg_struct_sz);
372 } else if (req_ == ptrace_pt_getregs) {
373 POST_WRITE(addr_, struct_ptrace_reg_struct_sz);
374 } else if (req_ == ptrace_pt_setfpregs) {
375 POST_READ(addr_, struct_ptrace_fpreg_struct_sz);
376 } else if (req_ == ptrace_pt_getfpregs) {
377 POST_WRITE(addr_, struct_ptrace_fpreg_struct_sz);
378 } else if (req_ == ptrace_pt_setdbregs) {
379 POST_READ(addr_, struct_ptrace_dbreg_struct_sz);
380 } else if (req_ == ptrace_pt_getdbregs) {
381 POST_WRITE(addr_, struct_ptrace_dbreg_struct_sz);
385 PRE_SYSCALL(recvmsg)(long long s_, void *msg_, long long flags_) {
386 PRE_WRITE(msg_, sizeof(__sanitizer_msghdr));
388 POST_SYSCALL(recvmsg)
389 (long long res, long long s_, void *msg_, long long flags_) {
391 POST_WRITE(msg_, sizeof(__sanitizer_msghdr));
394 PRE_SYSCALL(sendmsg)(long long s_, void *msg_, long long flags_) {
395 PRE_READ(msg_, sizeof(__sanitizer_msghdr));
397 POST_SYSCALL(sendmsg)
398 (long long res, long long s_, void *msg_, long long flags_) {
400 POST_READ(msg_, sizeof(__sanitizer_msghdr));
403 PRE_SYSCALL(recvfrom)
404 (long long s_, void *buf_, long long len_, long long flags_, void *from_,
405 void *fromlenaddr_) {
406 PRE_WRITE(buf_, len_);
407 PRE_WRITE(from_, struct_sockaddr_sz);
408 PRE_WRITE(fromlenaddr_, sizeof(__sanitizer_socklen_t));
410 POST_SYSCALL(recvfrom)
411 (long long res, long long s_, void *buf_, long long len_, long long flags_,
412 void *from_, void *fromlenaddr_) {
414 POST_WRITE(buf_, res);
415 POST_WRITE(from_, struct_sockaddr_sz);
416 POST_WRITE(fromlenaddr_, sizeof(__sanitizer_socklen_t));
419 PRE_SYSCALL(accept)(long long s_, void *name_, void *anamelen_) {
420 PRE_WRITE(name_, struct_sockaddr_sz);
421 PRE_WRITE(anamelen_, sizeof(__sanitizer_socklen_t));
424 (long long res, long long s_, void *name_, void *anamelen_) {
426 POST_WRITE(name_, struct_sockaddr_sz);
427 POST_WRITE(anamelen_, sizeof(__sanitizer_socklen_t));
430 PRE_SYSCALL(getpeername)(long long fdes_, void *asa_, void *alen_) {
431 PRE_WRITE(asa_, struct_sockaddr_sz);
432 PRE_WRITE(alen_, sizeof(__sanitizer_socklen_t));
434 POST_SYSCALL(getpeername)
435 (long long res, long long fdes_, void *asa_, void *alen_) {
437 POST_WRITE(asa_, struct_sockaddr_sz);
438 POST_WRITE(alen_, sizeof(__sanitizer_socklen_t));
441 PRE_SYSCALL(getsockname)(long long fdes_, void *asa_, void *alen_) {
442 PRE_WRITE(asa_, struct_sockaddr_sz);
443 PRE_WRITE(alen_, sizeof(__sanitizer_socklen_t));
445 POST_SYSCALL(getsockname)
446 (long long res, long long fdes_, void *asa_, void *alen_) {
448 POST_WRITE(asa_, struct_sockaddr_sz);
449 POST_WRITE(alen_, sizeof(__sanitizer_socklen_t));
452 PRE_SYSCALL(access)(void *path_, long long flags_) {
453 const char *path = (const char *)path_;
455 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
458 POST_SYSCALL(access)(long long res, void *path_, long long flags_) {
460 const char *path = (const char *)path_;
462 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
466 PRE_SYSCALL(chflags)(void *path_, long long flags_) {
467 const char *path = (const char *)path_;
469 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
472 POST_SYSCALL(chflags)(long long res, void *path_, long long flags_) {
474 const char *path = (const char *)path_;
476 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
480 PRE_SYSCALL(fchflags)(long long fd_, long long flags_) { /* Nothing to do */ }
481 POST_SYSCALL(fchflags)(long long res, long long fd_, long long flags_) {
484 PRE_SYSCALL(sync)(void) { /* Nothing to do */ }
485 POST_SYSCALL(sync)(long long res) { /* Nothing to do */ }
486 PRE_SYSCALL(kill)(long long pid_, long long signum_) { /* Nothing to do */ }
487 POST_SYSCALL(kill)(long long res, long long pid_, long long signum_) {
490 PRE_SYSCALL(compat_43_stat43)(void *path_, void *ub_) { /* TODO */ }
491 POST_SYSCALL(compat_43_stat43)(long long res, void *path_, void *ub_) {
494 PRE_SYSCALL(getppid)(void) { /* Nothing to do */ }
495 POST_SYSCALL(getppid)(long long res) { /* Nothing to do */ }
496 PRE_SYSCALL(compat_43_lstat43)(void *path_, void *ub_) { /* TODO */ }
497 POST_SYSCALL(compat_43_lstat43)(long long res, void *path_, void *ub_) {
500 PRE_SYSCALL(dup)(long long fd_) { /* Nothing to do */ }
501 POST_SYSCALL(dup)(long long res, long long fd_) { /* Nothing to do */ }
502 PRE_SYSCALL(pipe)(void) {
503 /* pipe returns two descriptors through two returned values */
505 POST_SYSCALL(pipe)(long long res) {
506 /* pipe returns two descriptors through two returned values */
508 PRE_SYSCALL(getegid)(void) { /* Nothing to do */ }
509 POST_SYSCALL(getegid)(long long res) { /* Nothing to do */ }
511 (void *samples_, long long size_, long long offset_, long long scale_) {
513 PRE_WRITE(samples_, size_);
517 (long long res, void *samples_, long long size_, long long offset_,
521 POST_WRITE(samples_, size_);
526 (void *fname_, long long ops_, long long facs_, long long pid_) {
527 const char *fname = (const char *)fname_;
529 PRE_READ(fname, __sanitizer::internal_strlen(fname) + 1);
533 (long long res, void *fname_, long long ops_, long long facs_, long long pid_) {
534 const char *fname = (const char *)fname_;
537 POST_READ(fname, __sanitizer::internal_strlen(fname) + 1);
541 PRE_SYSCALL(compat_13_sigaction13)(long long signum_, void *nsa_, void *osa_) {
544 POST_SYSCALL(compat_13_sigaction13)
545 (long long res, long long signum_, void *nsa_, void *osa_) {
548 PRE_SYSCALL(getgid)(void) { /* Nothing to do */ }
549 POST_SYSCALL(getgid)(long long res) { /* Nothing to do */ }
550 PRE_SYSCALL(compat_13_sigprocmask13)(long long how_, long long mask_) {
553 POST_SYSCALL(compat_13_sigprocmask13)
554 (long long res, long long how_, long long mask_) {
557 PRE_SYSCALL(__getlogin)(void *namebuf_, long long namelen_) {
559 PRE_WRITE(namebuf_, namelen_);
562 POST_SYSCALL(__getlogin)(long long res, void *namebuf_, long long namelen_) {
565 POST_WRITE(namebuf_, namelen_);
569 PRE_SYSCALL(__setlogin)(void *namebuf_) {
570 const char *namebuf = (const char *)namebuf_;
572 PRE_READ(namebuf, __sanitizer::internal_strlen(namebuf) + 1);
575 POST_SYSCALL(__setlogin)(long long res, void *namebuf_) {
577 const char *namebuf = (const char *)namebuf_;
579 POST_READ(namebuf, __sanitizer::internal_strlen(namebuf) + 1);
583 PRE_SYSCALL(acct)(void *path_) {
584 const char *path = (const char *)path_;
586 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
589 POST_SYSCALL(acct)(long long res, void *path_) {
591 const char *path = (const char *)path_;
593 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
597 PRE_SYSCALL(compat_13_sigpending13)(void) { /* TODO */ }
598 POST_SYSCALL(compat_13_sigpending13)(long long res) { /* TODO */ }
599 PRE_SYSCALL(compat_13_sigaltstack13)(void *nss_, void *oss_) { /* TODO */ }
600 POST_SYSCALL(compat_13_sigaltstack13)(long long res, void *nss_, void *oss_) {
603 PRE_SYSCALL(ioctl)(long long fd_, long long com_, void *data_) {
606 POST_SYSCALL(ioctl)(long long res, long long fd_, long long com_, void *data_) {
609 PRE_SYSCALL(compat_12_oreboot)(long long opt_) { /* TODO */ }
610 POST_SYSCALL(compat_12_oreboot)(long long res, long long opt_) { /* TODO */ }
611 PRE_SYSCALL(revoke)(void *path_) {
612 const char *path = (const char *)path_;
614 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
617 POST_SYSCALL(revoke)(long long res, void *path_) {
619 const char *path = (const char *)path_;
621 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
625 PRE_SYSCALL(symlink)(void *path_, void *link_) {
626 const char *path = (const char *)path_;
627 const char *link = (const char *)link_;
629 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
632 PRE_READ(link, __sanitizer::internal_strlen(link) + 1);
635 POST_SYSCALL(symlink)(long long res, void *path_, void *link_) {
637 const char *path = (const char *)path_;
638 const char *link = (const char *)link_;
640 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
643 POST_READ(link, __sanitizer::internal_strlen(link) + 1);
647 PRE_SYSCALL(readlink)(void *path_, void *buf_, long long count_) {
648 const char *path = (const char *)path_;
650 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
653 PRE_WRITE(buf_, count_);
656 POST_SYSCALL(readlink)
657 (long long res, void *path_, void *buf_, long long count_) {
659 const char *path = (const char *)path_;
661 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
664 PRE_WRITE(buf_, res);
668 PRE_SYSCALL(execve)(void *path_, void *argp_, void *envp_) {
669 const char *path = (const char *)path_;
670 char **argp = (char **)argp_;
671 char **envp = (char **)envp_;
673 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
675 if (argp && argp[0]) {
678 PRE_READ(a, __sanitizer::internal_strlen(a) + 1);
681 if (envp && envp[0]) {
684 PRE_READ(e, __sanitizer::internal_strlen(e) + 1);
688 POST_SYSCALL(execve)(long long res, void *path_, void *argp_, void *envp_) {
689 /* If we are here, something went wrong */
690 const char *path = (const char *)path_;
691 char **argp = (char **)argp_;
692 char **envp = (char **)envp_;
694 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
696 if (argp && argp[0]) {
699 POST_READ(a, __sanitizer::internal_strlen(a) + 1);
702 if (envp && envp[0]) {
705 POST_READ(e, __sanitizer::internal_strlen(e) + 1);
709 PRE_SYSCALL(umask)(long long newmask_) { /* Nothing to do */ }
710 POST_SYSCALL(umask)(long long res, long long newmask_) { /* Nothing to do */ }
711 PRE_SYSCALL(chroot)(void *path_) {
712 const char *path = (const char *)path_;
714 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
717 POST_SYSCALL(chroot)(long long res, void *path_) {
719 const char *path = (const char *)path_;
721 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
725 PRE_SYSCALL(compat_43_fstat43)(long long fd_, void *sb_) { /* TODO */ }
726 POST_SYSCALL(compat_43_fstat43)(long long res, long long fd_, void *sb_) {
729 PRE_SYSCALL(compat_43_ogetkerninfo)
730 (long long op_, void *where_, void *size_, long long arg_) {
733 POST_SYSCALL(compat_43_ogetkerninfo)
734 (long long res, long long op_, void *where_, void *size_, long long arg_) {
737 PRE_SYSCALL(compat_43_ogetpagesize)(void) { /* TODO */ }
738 POST_SYSCALL(compat_43_ogetpagesize)(long long res) { /* TODO */ }
739 PRE_SYSCALL(compat_12_msync)(void *addr_, long long len_) { /* TODO */ }
740 POST_SYSCALL(compat_12_msync)(long long res, void *addr_, long long len_) {
743 PRE_SYSCALL(vfork)(void) { /* Nothing to do */ }
744 POST_SYSCALL(vfork)(long long res) { /* Nothing to do */ }
745 /* syscall 67 has been skipped */
746 /* syscall 68 has been skipped */
747 /* syscall 69 has been skipped */
748 /* syscall 70 has been skipped */
749 PRE_SYSCALL(compat_43_ommap)
750 (void *addr_, long long len_, long long prot_, long long flags_, long long fd_,
754 POST_SYSCALL(compat_43_ommap)
755 (long long res, void *addr_, long long len_, long long prot_, long long flags_,
756 long long fd_, long long pos_) {
759 PRE_SYSCALL(vadvise)(long long anom_) { /* Nothing to do */ }
760 POST_SYSCALL(vadvise)(long long res, long long anom_) { /* Nothing to do */ }
761 PRE_SYSCALL(munmap)(void *addr_, long long len_) { /* Nothing to do */ }
762 POST_SYSCALL(munmap)(long long res, void *addr_, long long len_) {
765 PRE_SYSCALL(mprotect)(void *addr_, long long len_, long long prot_) {
768 POST_SYSCALL(mprotect)
769 (long long res, void *addr_, long long len_, long long prot_) {
772 PRE_SYSCALL(madvise)(void *addr_, long long len_, long long behav_) {
775 POST_SYSCALL(madvise)
776 (long long res, void *addr_, long long len_, long long behav_) {
779 /* syscall 76 has been skipped */
780 /* syscall 77 has been skipped */
781 PRE_SYSCALL(mincore)(void *addr_, long long len_, void *vec_) {
784 POST_SYSCALL(mincore)(long long res, void *addr_, long long len_, void *vec_) {
787 PRE_SYSCALL(getgroups)(long long gidsetsize_, void *gidset_) {
788 unsigned int *gidset = (unsigned int *)gidset_;
790 PRE_WRITE(gidset, sizeof(*gidset) * gidsetsize_);
793 POST_SYSCALL(getgroups)(long long res, long long gidsetsize_, void *gidset_) {
795 unsigned int *gidset = (unsigned int *)gidset_;
797 POST_WRITE(gidset, sizeof(*gidset) * gidsetsize_);
801 PRE_SYSCALL(setgroups)(long long gidsetsize_, void *gidset_) {
802 unsigned int *gidset = (unsigned int *)gidset_;
804 PRE_READ(gidset, sizeof(*gidset) * gidsetsize_);
807 POST_SYSCALL(setgroups)(long long res, long long gidsetsize_, void *gidset_) {
809 unsigned int *gidset = (unsigned int *)gidset_;
811 POST_READ(gidset, sizeof(*gidset) * gidsetsize_);
815 PRE_SYSCALL(getpgrp)(void) { /* Nothing to do */ }
816 POST_SYSCALL(getpgrp)(long long res) { /* Nothing to do */ }
817 PRE_SYSCALL(setpgid)(long long pid_, long long pgid_) { /* Nothing to do */ }
818 POST_SYSCALL(setpgid)(long long res, long long pid_, long long pgid_) {
821 PRE_SYSCALL(compat_50_setitimer)(long long which_, void *itv_, void *oitv_) {
824 POST_SYSCALL(compat_50_setitimer)
825 (long long res, long long which_, void *itv_, void *oitv_) {
828 PRE_SYSCALL(compat_43_owait)(void) { /* TODO */ }
829 POST_SYSCALL(compat_43_owait)(long long res) { /* TODO */ }
830 PRE_SYSCALL(compat_12_oswapon)(void *name_) { /* TODO */ }
831 POST_SYSCALL(compat_12_oswapon)(long long res, void *name_) { /* TODO */ }
832 PRE_SYSCALL(compat_50_getitimer)(long long which_, void *itv_) { /* TODO */ }
833 POST_SYSCALL(compat_50_getitimer)(long long res, long long which_, void *itv_) {
836 PRE_SYSCALL(compat_43_ogethostname)(void *hostname_, long long len_) {
839 POST_SYSCALL(compat_43_ogethostname)
840 (long long res, void *hostname_, long long len_) {
843 PRE_SYSCALL(compat_43_osethostname)(void *hostname_, long long len_) {
846 POST_SYSCALL(compat_43_osethostname)
847 (long long res, void *hostname_, long long len_) {
850 PRE_SYSCALL(compat_43_ogetdtablesize)(void) { /* TODO */ }
851 POST_SYSCALL(compat_43_ogetdtablesize)(long long res) { /* TODO */ }
852 PRE_SYSCALL(dup2)(long long from_, long long to_) { /* Nothing to do */ }
853 POST_SYSCALL(dup2)(long long res, long long from_, long long to_) {
856 /* syscall 91 has been skipped */
857 PRE_SYSCALL(fcntl)(long long fd_, long long cmd_, void *arg_) {
860 POST_SYSCALL(fcntl)(long long res, long long fd_, long long cmd_, void *arg_) {
863 PRE_SYSCALL(compat_50_select)
864 (long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
867 POST_SYSCALL(compat_50_select)
868 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
871 /* syscall 94 has been skipped */
872 PRE_SYSCALL(fsync)(long long fd_) { /* Nothing to do */ }
873 POST_SYSCALL(fsync)(long long res, long long fd_) { /* Nothing to do */ }
874 PRE_SYSCALL(setpriority)(long long which_, long long who_, long long prio_) {
877 POST_SYSCALL(setpriority)
878 (long long res, long long which_, long long who_, long long prio_) {
881 PRE_SYSCALL(compat_30_socket)
882 (long long domain_, long long type_, long long protocol_) {
885 POST_SYSCALL(compat_30_socket)
886 (long long res, long long domain_, long long type_, long long protocol_) {
889 PRE_SYSCALL(connect)(long long s_, void *name_, long long namelen_) {
890 PRE_READ(name_, namelen_);
892 POST_SYSCALL(connect)
893 (long long res, long long s_, void *name_, long long namelen_) {
895 POST_READ(name_, namelen_);
898 PRE_SYSCALL(compat_43_oaccept)(long long s_, void *name_, void *anamelen_) {
901 POST_SYSCALL(compat_43_oaccept)
902 (long long res, long long s_, void *name_, void *anamelen_) {
905 PRE_SYSCALL(getpriority)(long long which_, long long who_) {
908 POST_SYSCALL(getpriority)(long long res, long long which_, long long who_) {
911 PRE_SYSCALL(compat_43_osend)
912 (long long s_, void *buf_, long long len_, long long flags_) {
915 POST_SYSCALL(compat_43_osend)
916 (long long res, long long s_, void *buf_, long long len_, long long flags_) {
919 PRE_SYSCALL(compat_43_orecv)
920 (long long s_, void *buf_, long long len_, long long flags_) {
923 POST_SYSCALL(compat_43_orecv)
924 (long long res, long long s_, void *buf_, long long len_, long long flags_) {
927 PRE_SYSCALL(compat_13_sigreturn13)(void *sigcntxp_) { /* TODO */ }
928 POST_SYSCALL(compat_13_sigreturn13)(long long res, void *sigcntxp_) {
931 PRE_SYSCALL(bind)(long long s_, void *name_, long long namelen_) {
932 PRE_READ(name_, namelen_);
935 (long long res, long long s_, void *name_, long long namelen_) {
937 PRE_READ(name_, namelen_);
940 PRE_SYSCALL(setsockopt)
941 (long long s_, long long level_, long long name_, void *val_,
942 long long valsize_) {
944 PRE_READ(val_, valsize_);
947 POST_SYSCALL(setsockopt)
948 (long long res, long long s_, long long level_, long long name_, void *val_,
949 long long valsize_) {
952 POST_READ(val_, valsize_);
956 PRE_SYSCALL(listen)(long long s_, long long backlog_) { /* Nothing to do */ }
957 POST_SYSCALL(listen)(long long res, long long s_, long long backlog_) {
960 /* syscall 107 has been skipped */
961 PRE_SYSCALL(compat_43_osigvec)(long long signum_, void *nsv_, void *osv_) {
964 POST_SYSCALL(compat_43_osigvec)
965 (long long res, long long signum_, void *nsv_, void *osv_) {
968 PRE_SYSCALL(compat_43_osigblock)(long long mask_) { /* TODO */ }
969 POST_SYSCALL(compat_43_osigblock)(long long res, long long mask_) { /* TODO */ }
970 PRE_SYSCALL(compat_43_osigsetmask)(long long mask_) { /* TODO */ }
971 POST_SYSCALL(compat_43_osigsetmask)(long long res, long long mask_) {
974 PRE_SYSCALL(compat_13_sigsuspend13)(long long mask_) { /* TODO */ }
975 POST_SYSCALL(compat_13_sigsuspend13)(long long res, long long mask_) {
978 PRE_SYSCALL(compat_43_osigstack)(void *nss_, void *oss_) { /* TODO */ }
979 POST_SYSCALL(compat_43_osigstack)(long long res, void *nss_, void *oss_) {
982 PRE_SYSCALL(compat_43_orecvmsg)(long long s_, void *msg_, long long flags_) {
985 POST_SYSCALL(compat_43_orecvmsg)
986 (long long res, long long s_, void *msg_, long long flags_) {
989 PRE_SYSCALL(compat_43_osendmsg)(long long s_, void *msg_, long long flags_) {
992 POST_SYSCALL(compat_43_osendmsg)
993 (long long res, long long s_, void *msg_, long long flags_) {
996 /* syscall 115 has been skipped */
997 PRE_SYSCALL(compat_50_gettimeofday)(void *tp_, void *tzp_) { /* TODO */ }
998 POST_SYSCALL(compat_50_gettimeofday)(long long res, void *tp_, void *tzp_) {
1001 PRE_SYSCALL(compat_50_getrusage)(long long who_, void *rusage_) { /* TODO */ }
1002 POST_SYSCALL(compat_50_getrusage)
1003 (long long res, long long who_, void *rusage_) {
1006 PRE_SYSCALL(getsockopt)
1007 (long long s_, long long level_, long long name_, void *val_, void *avalsize_) {
1010 POST_SYSCALL(getsockopt)
1011 (long long res, long long s_, long long level_, long long name_, void *val_,
1015 /* syscall 119 has been skipped */
1016 PRE_SYSCALL(readv)(long long fd_, void *iovp_, long long iovcnt_) {
1017 struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
1020 PRE_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
1021 for (i = 0; i < iovcnt_; i++) {
1022 PRE_WRITE(iovp[i].iov_base, iovp[i].iov_len);
1027 (long long res, long long fd_, void *iovp_, long long iovcnt_) {
1028 struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
1033 POST_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
1034 for (i = 0; i < iovcnt_ && n > 0; i++) {
1035 m = n > iovp[i].iov_len ? iovp[i].iov_len : n;
1036 POST_WRITE(iovp[i].iov_base, m);
1042 PRE_SYSCALL(writev)(long long fd_, void *iovp_, long long iovcnt_) {
1043 struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
1046 PRE_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
1047 for (i = 0; i < iovcnt_; i++) {
1048 PRE_READ(iovp[i].iov_base, iovp[i].iov_len);
1052 POST_SYSCALL(writev)
1053 (long long res, long long fd_, void *iovp_, long long iovcnt_) {
1054 struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
1059 POST_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
1060 for (i = 0; i < iovcnt_ && n > 0; i++) {
1061 m = n > iovp[i].iov_len ? iovp[i].iov_len : n;
1062 POST_READ(iovp[i].iov_base, m);
1068 PRE_SYSCALL(compat_50_settimeofday)(void *tv_, void *tzp_) { /* TODO */ }
1069 POST_SYSCALL(compat_50_settimeofday)(long long res, void *tv_, void *tzp_) {
1072 PRE_SYSCALL(fchown)(long long fd_, long long uid_, long long gid_) {
1075 POST_SYSCALL(fchown)
1076 (long long res, long long fd_, long long uid_, long long gid_) {
1079 PRE_SYSCALL(fchmod)(long long fd_, long long mode_) { /* Nothing to do */ }
1080 POST_SYSCALL(fchmod)(long long res, long long fd_, long long mode_) {
1083 PRE_SYSCALL(compat_43_orecvfrom)
1084 (long long s_, void *buf_, long long len_, long long flags_, void *from_,
1085 void *fromlenaddr_) {
1088 POST_SYSCALL(compat_43_orecvfrom)
1089 (long long res, long long s_, void *buf_, long long len_, long long flags_,
1090 void *from_, void *fromlenaddr_) {
1093 PRE_SYSCALL(setreuid)(long long ruid_, long long euid_) { /* Nothing to do */ }
1094 POST_SYSCALL(setreuid)(long long res, long long ruid_, long long euid_) {
1097 PRE_SYSCALL(setregid)(long long rgid_, long long egid_) { /* Nothing to do */ }
1098 POST_SYSCALL(setregid)(long long res, long long rgid_, long long egid_) {
1101 PRE_SYSCALL(rename)(void *from_, void *to_) {
1102 const char *from = (const char *)from_;
1103 const char *to = (const char *)to_;
1105 PRE_READ(from, __sanitizer::internal_strlen(from) + 1);
1108 PRE_READ(to, __sanitizer::internal_strlen(to) + 1);
1111 POST_SYSCALL(rename)(long long res, void *from_, void *to_) {
1113 const char *from = (const char *)from_;
1114 const char *to = (const char *)to_;
1116 POST_READ(from, __sanitizer::internal_strlen(from) + 1);
1119 POST_READ(to, __sanitizer::internal_strlen(to) + 1);
1123 PRE_SYSCALL(compat_43_otruncate)(void *path_, long long length_) { /* TODO */ }
1124 POST_SYSCALL(compat_43_otruncate)
1125 (long long res, void *path_, long long length_) {
1128 PRE_SYSCALL(compat_43_oftruncate)(long long fd_, long long length_) {
1131 POST_SYSCALL(compat_43_oftruncate)
1132 (long long res, long long fd_, long long length_) {
1135 PRE_SYSCALL(flock)(long long fd_, long long how_) { /* Nothing to do */ }
1136 POST_SYSCALL(flock)(long long res, long long fd_, long long how_) {
1139 PRE_SYSCALL(mkfifo)(void *path_, long long mode_) {
1140 const char *path = (const char *)path_;
1142 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1145 POST_SYSCALL(mkfifo)(long long res, void *path_, long long mode_) {
1147 const char *path = (const char *)path_;
1149 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1154 (long long s_, void *buf_, long long len_, long long flags_, void *to_,
1156 PRE_READ(buf_, len_);
1157 PRE_READ(to_, tolen_);
1159 POST_SYSCALL(sendto)
1160 (long long res, long long s_, void *buf_, long long len_, long long flags_,
1161 void *to_, long long tolen_) {
1163 POST_READ(buf_, len_);
1164 POST_READ(to_, tolen_);
1167 PRE_SYSCALL(shutdown)(long long s_, long long how_) { /* Nothing to do */ }
1168 POST_SYSCALL(shutdown)(long long res, long long s_, long long how_) {
1171 PRE_SYSCALL(socketpair)
1172 (long long domain_, long long type_, long long protocol_, void *rsv_) {
1173 PRE_WRITE(rsv_, 2 * sizeof(int));
1175 POST_SYSCALL(socketpair)
1176 (long long res, long long domain_, long long type_, long long protocol_,
1179 POST_WRITE(rsv_, 2 * sizeof(int));
1182 PRE_SYSCALL(mkdir)(void *path_, long long mode_) {
1183 const char *path = (const char *)path_;
1185 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1188 POST_SYSCALL(mkdir)(long long res, void *path_, long long mode_) {
1190 const char *path = (const char *)path_;
1192 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1196 PRE_SYSCALL(rmdir)(void *path_) {
1197 const char *path = (const char *)path_;
1199 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1202 POST_SYSCALL(rmdir)(long long res, void *path_) {
1204 const char *path = (const char *)path_;
1206 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1210 PRE_SYSCALL(compat_50_utimes)(void *path_, void *tptr_) { /* TODO */ }
1211 POST_SYSCALL(compat_50_utimes)(long long res, void *path_, void *tptr_) {
1214 /* syscall 139 has been skipped */
1215 PRE_SYSCALL(compat_50_adjtime)(void *delta_, void *olddelta_) { /* TODO */ }
1216 POST_SYSCALL(compat_50_adjtime)(long long res, void *delta_, void *olddelta_) {
1219 PRE_SYSCALL(compat_43_ogetpeername)(long long fdes_, void *asa_, void *alen_) {
1222 POST_SYSCALL(compat_43_ogetpeername)
1223 (long long res, long long fdes_, void *asa_, void *alen_) {
1226 PRE_SYSCALL(compat_43_ogethostid)(void) { /* TODO */ }
1227 POST_SYSCALL(compat_43_ogethostid)(long long res) { /* TODO */ }
1228 PRE_SYSCALL(compat_43_osethostid)(long long hostid_) { /* TODO */ }
1229 POST_SYSCALL(compat_43_osethostid)(long long res, long long hostid_) {
1232 PRE_SYSCALL(compat_43_ogetrlimit)(long long which_, void *rlp_) { /* TODO */ }
1233 POST_SYSCALL(compat_43_ogetrlimit)
1234 (long long res, long long which_, void *rlp_) {
1237 PRE_SYSCALL(compat_43_osetrlimit)(long long which_, void *rlp_) { /* TODO */ }
1238 POST_SYSCALL(compat_43_osetrlimit)
1239 (long long res, long long which_, void *rlp_) {
1242 PRE_SYSCALL(compat_43_okillpg)(long long pgid_, long long signum_) {
1245 POST_SYSCALL(compat_43_okillpg)
1246 (long long res, long long pgid_, long long signum_) {
1249 PRE_SYSCALL(setsid)(void) { /* Nothing to do */ }
1250 POST_SYSCALL(setsid)(long long res) { /* Nothing to do */ }
1251 PRE_SYSCALL(compat_50_quotactl)
1252 (void *path_, long long cmd_, long long uid_, void *arg_) {
1255 POST_SYSCALL(compat_50_quotactl)
1256 (long long res, void *path_, long long cmd_, long long uid_, void *arg_) {
1259 PRE_SYSCALL(compat_43_oquota)(void) { /* TODO */ }
1260 POST_SYSCALL(compat_43_oquota)(long long res) { /* TODO */ }
1261 PRE_SYSCALL(compat_43_ogetsockname)(long long fdec_, void *asa_, void *alen_) {
1264 POST_SYSCALL(compat_43_ogetsockname)
1265 (long long res, long long fdec_, void *asa_, void *alen_) {
1268 /* syscall 151 has been skipped */
1269 /* syscall 152 has been skipped */
1270 /* syscall 153 has been skipped */
1271 /* syscall 154 has been skipped */
1272 PRE_SYSCALL(nfssvc)(long long flag_, void *argp_) { /* Nothing to do */ }
1273 POST_SYSCALL(nfssvc)(long long res, long long flag_, void *argp_) {
1276 PRE_SYSCALL(compat_43_ogetdirentries)
1277 (long long fd_, void *buf_, long long count_, void *basep_) {
1280 POST_SYSCALL(compat_43_ogetdirentries)
1281 (long long res, long long fd_, void *buf_, long long count_, void *basep_) {
1284 PRE_SYSCALL(compat_20_statfs)(void *path_, void *buf_) { /* TODO */ }
1285 POST_SYSCALL(compat_20_statfs)(long long res, void *path_, void *buf_) {
1288 PRE_SYSCALL(compat_20_fstatfs)(long long fd_, void *buf_) { /* TODO */ }
1289 POST_SYSCALL(compat_20_fstatfs)(long long res, long long fd_, void *buf_) {
1292 /* syscall 159 has been skipped */
1293 /* syscall 160 has been skipped */
1294 PRE_SYSCALL(compat_30_getfh)(void *fname_, void *fhp_) { /* TODO */ }
1295 POST_SYSCALL(compat_30_getfh)(long long res, void *fname_, void *fhp_) {
1298 PRE_SYSCALL(compat_09_ogetdomainname)(void *domainname_, long long len_) {
1301 POST_SYSCALL(compat_09_ogetdomainname)
1302 (long long res, void *domainname_, long long len_) {
1305 PRE_SYSCALL(compat_09_osetdomainname)(void *domainname_, long long len_) {
1308 POST_SYSCALL(compat_09_osetdomainname)
1309 (long long res, void *domainname_, long long len_) {
1312 PRE_SYSCALL(compat_09_ouname)(void *name_) { /* TODO */ }
1313 POST_SYSCALL(compat_09_ouname)(long long res, void *name_) { /* TODO */ }
1314 PRE_SYSCALL(sysarch)(long long op_, void *parms_) { /* TODO */ }
1315 POST_SYSCALL(sysarch)(long long res, long long op_, void *parms_) { /* TODO */ }
1316 /* syscall 166 has been skipped */
1317 /* syscall 167 has been skipped */
1318 /* syscall 168 has been skipped */
1320 PRE_SYSCALL(compat_10_osemsys)
1321 (long long which_, long long a2_, long long a3_, long long a4_, long long a5_) {
1324 POST_SYSCALL(compat_10_osemsys)
1325 (long long res, long long which_, long long a2_, long long a3_, long long a4_,
1330 /* syscall 169 has been skipped */
1333 PRE_SYSCALL(compat_10_omsgsys)
1334 (long long which_, long long a2_, long long a3_, long long a4_, long long a5_,
1338 POST_SYSCALL(compat_10_omsgsys)
1339 (long long res, long long which_, long long a2_, long long a3_, long long a4_,
1340 long long a5_, long long a6_) {
1344 /* syscall 170 has been skipped */
1347 PRE_SYSCALL(compat_10_oshmsys)
1348 (long long which_, long long a2_, long long a3_, long long a4_) {
1351 POST_SYSCALL(compat_10_oshmsys)
1352 (long long res, long long which_, long long a2_, long long a3_, long long a4_) {
1356 /* syscall 171 has been skipped */
1358 /* syscall 172 has been skipped */
1360 (long long fd_, void *buf_, long long nbyte_, long long PAD_,
1361 long long offset_) {
1363 PRE_WRITE(buf_, nbyte_);
1367 (long long res, long long fd_, void *buf_, long long nbyte_, long long PAD_,
1368 long long offset_) {
1370 POST_WRITE(buf_, res);
1374 (long long fd_, void *buf_, long long nbyte_, long long PAD_,
1375 long long offset_) {
1377 PRE_READ(buf_, nbyte_);
1380 POST_SYSCALL(pwrite)
1381 (long long res, long long fd_, void *buf_, long long nbyte_, long long PAD_,
1382 long long offset_) {
1384 POST_READ(buf_, res);
1387 PRE_SYSCALL(compat_30_ntp_gettime)(void *ntvp_) { /* TODO */ }
1388 POST_SYSCALL(compat_30_ntp_gettime)(long long res, void *ntvp_) { /* TODO */ }
1389 #if defined(NTP) || !defined(_KERNEL_OPT)
1390 PRE_SYSCALL(ntp_adjtime)(void *tp_) { /* Nothing to do */ }
1391 POST_SYSCALL(ntp_adjtime)(long long res, void *tp_) { /* Nothing to do */ }
1393 /* syscall 176 has been skipped */
1395 /* syscall 177 has been skipped */
1396 /* syscall 178 has been skipped */
1397 /* syscall 179 has been skipped */
1398 /* syscall 180 has been skipped */
1399 PRE_SYSCALL(setgid)(long long gid_) { /* Nothing to do */ }
1400 POST_SYSCALL(setgid)(long long res, long long gid_) { /* Nothing to do */ }
1401 PRE_SYSCALL(setegid)(long long egid_) { /* Nothing to do */ }
1402 POST_SYSCALL(setegid)(long long res, long long egid_) { /* Nothing to do */ }
1403 PRE_SYSCALL(seteuid)(long long euid_) { /* Nothing to do */ }
1404 POST_SYSCALL(seteuid)(long long res, long long euid_) { /* Nothing to do */ }
1405 PRE_SYSCALL(lfs_bmapv)(void *fsidp_, void *blkiov_, long long blkcnt_) {
1408 POST_SYSCALL(lfs_bmapv)
1409 (long long res, void *fsidp_, void *blkiov_, long long blkcnt_) {
1412 PRE_SYSCALL(lfs_markv)(void *fsidp_, void *blkiov_, long long blkcnt_) {
1415 POST_SYSCALL(lfs_markv)
1416 (long long res, void *fsidp_, void *blkiov_, long long blkcnt_) {
1419 PRE_SYSCALL(lfs_segclean)(void *fsidp_, long long segment_) { /* TODO */ }
1420 POST_SYSCALL(lfs_segclean)(long long res, void *fsidp_, long long segment_) {
1423 PRE_SYSCALL(compat_50_lfs_segwait)(void *fsidp_, void *tv_) { /* TODO */ }
1424 POST_SYSCALL(compat_50_lfs_segwait)(long long res, void *fsidp_, void *tv_) {
1427 PRE_SYSCALL(compat_12_stat12)(void *path_, void *ub_) { /* TODO */ }
1428 POST_SYSCALL(compat_12_stat12)(long long res, void *path_, void *ub_) {
1431 PRE_SYSCALL(compat_12_fstat12)(long long fd_, void *sb_) { /* TODO */ }
1432 POST_SYSCALL(compat_12_fstat12)(long long res, long long fd_, void *sb_) {
1435 PRE_SYSCALL(compat_12_lstat12)(void *path_, void *ub_) { /* TODO */ }
1436 POST_SYSCALL(compat_12_lstat12)(long long res, void *path_, void *ub_) {
1439 PRE_SYSCALL(pathconf)(void *path_, long long name_) {
1440 const char *path = (const char *)path_;
1442 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1445 POST_SYSCALL(pathconf)(long long res, void *path_, long long name_) {
1447 const char *path = (const char *)path_;
1449 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1453 PRE_SYSCALL(fpathconf)(long long fd_, long long name_) { /* Nothing to do */ }
1454 POST_SYSCALL(fpathconf)(long long res, long long fd_, long long name_) {
1457 /* syscall 193 has been skipped */
1458 PRE_SYSCALL(getrlimit)(long long which_, void *rlp_) {
1459 PRE_WRITE(rlp_, struct_rlimit_sz);
1461 POST_SYSCALL(getrlimit)(long long res, long long which_, void *rlp_) {
1463 POST_WRITE(rlp_, struct_rlimit_sz);
1466 PRE_SYSCALL(setrlimit)(long long which_, void *rlp_) {
1467 PRE_READ(rlp_, struct_rlimit_sz);
1469 POST_SYSCALL(setrlimit)(long long res, long long which_, void *rlp_) {
1471 POST_READ(rlp_, struct_rlimit_sz);
1474 PRE_SYSCALL(compat_12_getdirentries)
1475 (long long fd_, void *buf_, long long count_, void *basep_) {
1478 POST_SYSCALL(compat_12_getdirentries)
1479 (long long res, long long fd_, void *buf_, long long count_, void *basep_) {
1483 (void *addr_, long long len_, long long prot_, long long flags_, long long fd_,
1484 long long PAD_, long long pos_) {
1488 (long long res, void *addr_, long long len_, long long prot_, long long flags_,
1489 long long fd_, long long PAD_, long long pos_) {
1492 PRE_SYSCALL(__syscall)(long long code_, long long args_[SYS_MAXSYSARGS]) {
1495 POST_SYSCALL(__syscall)
1496 (long long res, long long code_, long long args_[SYS_MAXSYSARGS]) {
1500 (long long fd_, long long PAD_, long long offset_, long long whence_) {
1504 (long long res, long long fd_, long long PAD_, long long offset_,
1505 long long whence_) {
1508 PRE_SYSCALL(truncate)(void *path_, long long PAD_, long long length_) {
1509 const char *path = (const char *)path_;
1511 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1514 POST_SYSCALL(truncate)
1515 (long long res, void *path_, long long PAD_, long long length_) {
1517 const char *path = (const char *)path_;
1519 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1523 PRE_SYSCALL(ftruncate)(long long fd_, long long PAD_, long long length_) {
1526 POST_SYSCALL(ftruncate)
1527 (long long res, long long fd_, long long PAD_, long long length_) {
1530 PRE_SYSCALL(__sysctl)
1531 (void *name_, long long namelen_, void *oldv_, void *oldlenp_, void *newv_,
1532 long long newlen_) {
1533 const int *name = (const int *)name_;
1535 PRE_READ(name, namelen_ * sizeof(*name));
1538 PRE_READ(name, newlen_);
1541 POST_SYSCALL(__sysctl)
1542 (long long res, void *name_, long long namelen_, void *oldv_, void *oldlenp_,
1543 void *newv_, long long newlen_) {
1545 const int *name = (const int *)name_;
1547 POST_READ(name, namelen_ * sizeof(*name));
1550 POST_READ(name, newlen_);
1554 PRE_SYSCALL(mlock)(void *addr_, long long len_) { /* Nothing to do */ }
1555 POST_SYSCALL(mlock)(long long res, void *addr_, long long len_) {
1558 PRE_SYSCALL(munlock)(void *addr_, long long len_) { /* Nothing to do */ }
1559 POST_SYSCALL(munlock)(long long res, void *addr_, long long len_) {
1562 PRE_SYSCALL(undelete)(void *path_) {
1563 const char *path = (const char *)path_;
1565 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1568 POST_SYSCALL(undelete)(long long res, void *path_) {
1570 const char *path = (const char *)path_;
1572 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1576 PRE_SYSCALL(compat_50_futimes)(long long fd_, void *tptr_) { /* TODO */ }
1577 POST_SYSCALL(compat_50_futimes)(long long res, long long fd_, void *tptr_) {
1580 PRE_SYSCALL(getpgid)(long long pid_) { /* Nothing to do */ }
1581 POST_SYSCALL(getpgid)(long long res, long long pid_) { /* Nothing to do */ }
1582 PRE_SYSCALL(reboot)(long long opt_, void *bootstr_) {
1583 const char *bootstr = (const char *)bootstr_;
1585 PRE_READ(bootstr, __sanitizer::internal_strlen(bootstr) + 1);
1588 POST_SYSCALL(reboot)(long long res, long long opt_, void *bootstr_) {
1589 /* This call should never return */
1590 const char *bootstr = (const char *)bootstr_;
1592 POST_READ(bootstr, __sanitizer::internal_strlen(bootstr) + 1);
1595 PRE_SYSCALL(poll)(void *fds_, long long nfds_, long long timeout_) {
1599 (long long res, void *fds_, long long nfds_, long long timeout_) {
1603 (long long id_, long long a1_, long long a2_, long long a3_, long long a4_,
1604 long long a5_, long long a6_) {
1607 POST_SYSCALL(afssys)
1608 (long long res, long long id_, long long a1_, long long a2_, long long a3_,
1609 long long a4_, long long a5_, long long a6_) {
1612 /* syscall 211 has been skipped */
1613 /* syscall 212 has been skipped */
1614 /* syscall 213 has been skipped */
1615 /* syscall 214 has been skipped */
1616 /* syscall 215 has been skipped */
1617 /* syscall 216 has been skipped */
1618 /* syscall 217 has been skipped */
1619 /* syscall 218 has been skipped */
1620 /* syscall 219 has been skipped */
1621 PRE_SYSCALL(compat_14___semctl)
1622 (long long semid_, long long semnum_, long long cmd_, void *arg_) {
1625 POST_SYSCALL(compat_14___semctl)
1626 (long long res, long long semid_, long long semnum_, long long cmd_,
1630 PRE_SYSCALL(semget)(long long key_, long long nsems_, long long semflg_) {
1633 POST_SYSCALL(semget)
1634 (long long res, long long key_, long long nsems_, long long semflg_) {
1637 PRE_SYSCALL(semop)(long long semid_, void *sops_, long long nsops_) {
1639 PRE_READ(sops_, nsops_ * struct_sembuf_sz);
1643 (long long res, long long semid_, void *sops_, long long nsops_) {
1646 POST_READ(sops_, nsops_ * struct_sembuf_sz);
1650 PRE_SYSCALL(semconfig)(long long flag_) { /* Nothing to do */ }
1651 POST_SYSCALL(semconfig)(long long res, long long flag_) { /* Nothing to do */ }
1652 PRE_SYSCALL(compat_14_msgctl)(long long msqid_, long long cmd_, void *buf_) {
1655 POST_SYSCALL(compat_14_msgctl)
1656 (long long res, long long msqid_, long long cmd_, void *buf_) {
1659 PRE_SYSCALL(msgget)(long long key_, long long msgflg_) { /* Nothing to do */ }
1660 POST_SYSCALL(msgget)(long long res, long long key_, long long msgflg_) {
1664 (long long msqid_, void *msgp_, long long msgsz_, long long msgflg_) {
1666 PRE_READ(msgp_, msgsz_);
1669 POST_SYSCALL(msgsnd)
1670 (long long res, long long msqid_, void *msgp_, long long msgsz_,
1671 long long msgflg_) {
1674 POST_READ(msgp_, msgsz_);
1679 (long long msqid_, void *msgp_, long long msgsz_, long long msgtyp_,
1680 long long msgflg_) {
1683 POST_SYSCALL(msgrcv)
1684 (long long res, long long msqid_, void *msgp_, long long msgsz_,
1685 long long msgtyp_, long long msgflg_) {
1688 PRE_SYSCALL(shmat)(long long shmid_, void *shmaddr_, long long shmflg_) {
1692 (long long res, long long shmid_, void *shmaddr_, long long shmflg_) {
1695 PRE_SYSCALL(compat_14_shmctl)(long long shmid_, long long cmd_, void *buf_) {
1698 POST_SYSCALL(compat_14_shmctl)
1699 (long long res, long long shmid_, long long cmd_, void *buf_) {
1702 PRE_SYSCALL(shmdt)(void *shmaddr_) { /* Nothing to do */ }
1703 POST_SYSCALL(shmdt)(long long res, void *shmaddr_) { /* Nothing to do */ }
1704 PRE_SYSCALL(shmget)(long long key_, long long size_, long long shmflg_) {
1707 POST_SYSCALL(shmget)
1708 (long long res, long long key_, long long size_, long long shmflg_) {
1711 PRE_SYSCALL(compat_50_clock_gettime)(long long clock_id_, void *tp_) {
1714 POST_SYSCALL(compat_50_clock_gettime)
1715 (long long res, long long clock_id_, void *tp_) {
1718 PRE_SYSCALL(compat_50_clock_settime)(long long clock_id_, void *tp_) {
1721 POST_SYSCALL(compat_50_clock_settime)
1722 (long long res, long long clock_id_, void *tp_) {
1725 PRE_SYSCALL(compat_50_clock_getres)(long long clock_id_, void *tp_) {
1728 POST_SYSCALL(compat_50_clock_getres)
1729 (long long res, long long clock_id_, void *tp_) {
1732 PRE_SYSCALL(timer_create)(long long clock_id_, void *evp_, void *timerid_) {
1735 POST_SYSCALL(timer_create)
1736 (long long res, long long clock_id_, void *evp_, void *timerid_) {
1739 PRE_SYSCALL(timer_delete)(long long timerid_) { /* Nothing to do */ }
1740 POST_SYSCALL(timer_delete)(long long res, long long timerid_) {
1743 PRE_SYSCALL(compat_50_timer_settime)
1744 (long long timerid_, long long flags_, void *value_, void *ovalue_) {
1747 POST_SYSCALL(compat_50_timer_settime)
1748 (long long res, long long timerid_, long long flags_, void *value_,
1752 PRE_SYSCALL(compat_50_timer_gettime)(long long timerid_, void *value_) {
1755 POST_SYSCALL(compat_50_timer_gettime)
1756 (long long res, long long timerid_, void *value_) {
1759 PRE_SYSCALL(timer_getoverrun)(long long timerid_) { /* Nothing to do */ }
1760 POST_SYSCALL(timer_getoverrun)(long long res, long long timerid_) {
1763 PRE_SYSCALL(compat_50_nanosleep)(void *rqtp_, void *rmtp_) { /* TODO */ }
1764 POST_SYSCALL(compat_50_nanosleep)(long long res, void *rqtp_, void *rmtp_) {
1767 PRE_SYSCALL(fdatasync)(long long fd_) { /* Nothing to do */ }
1768 POST_SYSCALL(fdatasync)(long long res, long long fd_) { /* Nothing to do */ }
1769 PRE_SYSCALL(mlockall)(long long flags_) { /* Nothing to do */ }
1770 POST_SYSCALL(mlockall)(long long res, long long flags_) { /* Nothing to do */ }
1771 PRE_SYSCALL(munlockall)(void) { /* Nothing to do */ }
1772 POST_SYSCALL(munlockall)(long long res) { /* Nothing to do */ }
1773 PRE_SYSCALL(compat_50___sigtimedwait)(void *set_, void *info_, void *timeout_) {
1776 POST_SYSCALL(compat_50___sigtimedwait)
1777 (long long res, void *set_, void *info_, void *timeout_) {
1780 PRE_SYSCALL(sigqueueinfo)(long long pid_, void *info_) {
1782 PRE_READ(info_, siginfo_t_sz);
1785 POST_SYSCALL(sigqueueinfo)(long long res, long long pid_, void *info_) {}
1786 PRE_SYSCALL(modctl)(long long cmd_, void *arg_) { /* TODO */ }
1787 POST_SYSCALL(modctl)(long long res, long long cmd_, void *arg_) { /* TODO */ }
1788 PRE_SYSCALL(_ksem_init)(long long value_, void *idp_) { /* Nothing to do */ }
1789 POST_SYSCALL(_ksem_init)(long long res, long long value_, void *idp_) {
1792 PRE_SYSCALL(_ksem_open)
1793 (void *name_, long long oflag_, long long mode_, long long value_, void *idp_) {
1794 const char *name = (const char *)name_;
1796 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
1799 POST_SYSCALL(_ksem_open)
1800 (long long res, void *name_, long long oflag_, long long mode_,
1801 long long value_, void *idp_) {
1802 const char *name = (const char *)name_;
1804 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
1807 PRE_SYSCALL(_ksem_unlink)(void *name_) {
1808 const char *name = (const char *)name_;
1810 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
1813 POST_SYSCALL(_ksem_unlink)(long long res, void *name_) {
1814 const char *name = (const char *)name_;
1816 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
1819 PRE_SYSCALL(_ksem_close)(long long id_) { /* Nothing to do */ }
1820 POST_SYSCALL(_ksem_close)(long long res, long long id_) { /* Nothing to do */ }
1821 PRE_SYSCALL(_ksem_post)(long long id_) { /* Nothing to do */ }
1822 POST_SYSCALL(_ksem_post)(long long res, long long id_) { /* Nothing to do */ }
1823 PRE_SYSCALL(_ksem_wait)(long long id_) { /* Nothing to do */ }
1824 POST_SYSCALL(_ksem_wait)(long long res, long long id_) { /* Nothing to do */ }
1825 PRE_SYSCALL(_ksem_trywait)(long long id_) { /* Nothing to do */ }
1826 POST_SYSCALL(_ksem_trywait)(long long res, long long id_) {
1829 PRE_SYSCALL(_ksem_getvalue)(long long id_, void *value_) { /* Nothing to do */ }
1830 POST_SYSCALL(_ksem_getvalue)(long long res, long long id_, void *value_) {
1833 PRE_SYSCALL(_ksem_destroy)(long long id_) { /* Nothing to do */ }
1834 POST_SYSCALL(_ksem_destroy)(long long res, long long id_) {
1837 PRE_SYSCALL(_ksem_timedwait)(long long id_, void *abstime_) {
1839 PRE_READ(abstime_, struct_timespec_sz);
1842 POST_SYSCALL(_ksem_timedwait)(long long res, long long id_, void *abstime_) {}
1843 PRE_SYSCALL(mq_open)
1844 (void *name_, long long oflag_, long long mode_, void *attr_) {
1845 const char *name = (const char *)name_;
1847 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
1850 POST_SYSCALL(mq_open)
1851 (long long res, void *name_, long long oflag_, long long mode_, void *attr_) {
1852 const char *name = (const char *)name_;
1854 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
1857 PRE_SYSCALL(mq_close)(long long mqdes_) { /* Nothing to do */ }
1858 POST_SYSCALL(mq_close)(long long res, long long mqdes_) { /* Nothing to do */ }
1859 PRE_SYSCALL(mq_unlink)(void *name_) {
1860 const char *name = (const char *)name_;
1862 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
1865 POST_SYSCALL(mq_unlink)(long long res, void *name_) {
1866 const char *name = (const char *)name_;
1868 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
1871 PRE_SYSCALL(mq_getattr)(long long mqdes_, void *mqstat_) { /* Nothing to do */ }
1872 POST_SYSCALL(mq_getattr)(long long res, long long mqdes_, void *mqstat_) {
1875 PRE_SYSCALL(mq_setattr)(long long mqdes_, void *mqstat_, void *omqstat_) {
1877 PRE_READ(mqstat_, struct_mq_attr_sz);
1880 POST_SYSCALL(mq_setattr)
1881 (long long res, long long mqdes_, void *mqstat_, void *omqstat_) {}
1882 PRE_SYSCALL(mq_notify)(long long mqdes_, void *notification_) {
1883 if (notification_) {
1884 PRE_READ(notification_, struct_sigevent_sz);
1887 POST_SYSCALL(mq_notify)(long long res, long long mqdes_, void *notification_) {}
1888 PRE_SYSCALL(mq_send)
1889 (long long mqdes_, void *msg_ptr_, long long msg_len_, long long msg_prio_) {
1891 PRE_READ(msg_ptr_, msg_len_);
1894 POST_SYSCALL(mq_send)
1895 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
1896 long long msg_prio_) {}
1897 PRE_SYSCALL(mq_receive)
1898 (long long mqdes_, void *msg_ptr_, long long msg_len_, void *msg_prio_) {
1901 POST_SYSCALL(mq_receive)
1902 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
1906 PRE_SYSCALL(compat_50_mq_timedsend)
1907 (long long mqdes_, void *msg_ptr_, long long msg_len_, long long msg_prio_,
1908 void *abs_timeout_) {
1911 POST_SYSCALL(compat_50_mq_timedsend)
1912 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
1913 long long msg_prio_, void *abs_timeout_) {
1916 PRE_SYSCALL(compat_50_mq_timedreceive)
1917 (long long mqdes_, void *msg_ptr_, long long msg_len_, void *msg_prio_,
1918 void *abs_timeout_) {
1921 POST_SYSCALL(compat_50_mq_timedreceive)
1922 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
1923 void *msg_prio_, void *abs_timeout_) {
1926 /* syscall 267 has been skipped */
1927 /* syscall 268 has been skipped */
1928 /* syscall 269 has been skipped */
1929 PRE_SYSCALL(__posix_rename)(void *from_, void *to_) {
1930 const char *from = (const char *)from_;
1931 const char *to = (const char *)to_;
1933 PRE_READ(from, __sanitizer::internal_strlen(from) + 1);
1936 PRE_READ(to, __sanitizer::internal_strlen(to) + 1);
1939 POST_SYSCALL(__posix_rename)(long long res, void *from_, void *to_) {
1940 const char *from = (const char *)from_;
1941 const char *to = (const char *)to_;
1943 POST_READ(from, __sanitizer::internal_strlen(from) + 1);
1946 POST_READ(to, __sanitizer::internal_strlen(to) + 1);
1949 PRE_SYSCALL(swapctl)(long long cmd_, void *arg_, long long misc_) { /* TODO */ }
1950 POST_SYSCALL(swapctl)
1951 (long long res, long long cmd_, void *arg_, long long misc_) {
1954 PRE_SYSCALL(compat_30_getdents)(long long fd_, void *buf_, long long count_) {
1957 POST_SYSCALL(compat_30_getdents)
1958 (long long res, long long fd_, void *buf_, long long count_) {
1961 PRE_SYSCALL(minherit)(void *addr_, long long len_, long long inherit_) {
1964 POST_SYSCALL(minherit)
1965 (long long res, void *addr_, long long len_, long long inherit_) {
1968 PRE_SYSCALL(lchmod)(void *path_, long long mode_) {
1969 const char *path = (const char *)path_;
1971 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1974 POST_SYSCALL(lchmod)(long long res, void *path_, long long mode_) {
1975 const char *path = (const char *)path_;
1977 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1980 PRE_SYSCALL(lchown)(void *path_, long long uid_, long long gid_) {
1981 const char *path = (const char *)path_;
1983 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1986 POST_SYSCALL(lchown)
1987 (long long res, void *path_, long long uid_, long long gid_) {
1988 const char *path = (const char *)path_;
1990 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1993 PRE_SYSCALL(compat_50_lutimes)(void *path_, void *tptr_) { /* TODO */ }
1994 POST_SYSCALL(compat_50_lutimes)(long long res, void *path_, void *tptr_) {
1997 PRE_SYSCALL(__msync13)(void *addr_, long long len_, long long flags_) {
2000 POST_SYSCALL(__msync13)
2001 (long long res, void *addr_, long long len_, long long flags_) {
2004 PRE_SYSCALL(compat_30___stat13)(void *path_, void *ub_) { /* TODO */ }
2005 POST_SYSCALL(compat_30___stat13)(long long res, void *path_, void *ub_) {
2008 PRE_SYSCALL(compat_30___fstat13)(long long fd_, void *sb_) { /* TODO */ }
2009 POST_SYSCALL(compat_30___fstat13)(long long res, long long fd_, void *sb_) {
2012 PRE_SYSCALL(compat_30___lstat13)(void *path_, void *ub_) { /* TODO */ }
2013 POST_SYSCALL(compat_30___lstat13)(long long res, void *path_, void *ub_) {
2016 PRE_SYSCALL(__sigaltstack14)(void *nss_, void *oss_) {
2018 PRE_READ(nss_, struct_sigaltstack_sz);
2021 PRE_READ(oss_, struct_sigaltstack_sz);
2024 POST_SYSCALL(__sigaltstack14)(long long res, void *nss_, void *oss_) {}
2025 PRE_SYSCALL(__vfork14)(void) { /* Nothing to do */ }
2026 POST_SYSCALL(__vfork14)(long long res) { /* Nothing to do */ }
2027 PRE_SYSCALL(__posix_chown)(void *path_, long long uid_, long long gid_) {
2028 const char *path = (const char *)path_;
2030 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2033 POST_SYSCALL(__posix_chown)
2034 (long long res, void *path_, long long uid_, long long gid_) {
2035 const char *path = (const char *)path_;
2037 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2040 PRE_SYSCALL(__posix_fchown)(long long fd_, long long uid_, long long gid_) {
2043 POST_SYSCALL(__posix_fchown)
2044 (long long res, long long fd_, long long uid_, long long gid_) {
2047 PRE_SYSCALL(__posix_lchown)(void *path_, long long uid_, long long gid_) {
2048 const char *path = (const char *)path_;
2050 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2053 POST_SYSCALL(__posix_lchown)
2054 (long long res, void *path_, long long uid_, long long gid_) {
2055 const char *path = (const char *)path_;
2057 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2060 PRE_SYSCALL(getsid)(long long pid_) { /* Nothing to do */ }
2061 POST_SYSCALL(getsid)(long long res, long long pid_) { /* Nothing to do */ }
2062 PRE_SYSCALL(__clone)(long long flags_, void *stack_) { /* Nothing to do */ }
2063 POST_SYSCALL(__clone)(long long res, long long flags_, void *stack_) {
2066 PRE_SYSCALL(fktrace)
2067 (long long fd_, long long ops_, long long facs_, long long pid_) {
2070 POST_SYSCALL(fktrace)
2071 (long long res, long long fd_, long long ops_, long long facs_,
2076 (long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
2077 long long offset_) {
2080 POST_SYSCALL(preadv)
2081 (long long res, long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
2082 long long offset_) {
2085 PRE_SYSCALL(pwritev)
2086 (long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
2087 long long offset_) {
2090 POST_SYSCALL(pwritev)
2091 (long long res, long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
2092 long long offset_) {
2095 PRE_SYSCALL(compat_16___sigaction14)
2096 (long long signum_, void *nsa_, void *osa_) {
2099 POST_SYSCALL(compat_16___sigaction14)
2100 (long long res, long long signum_, void *nsa_, void *osa_) {
2103 PRE_SYSCALL(__sigpending14)(void *set_) { /* Nothing to do */ }
2104 POST_SYSCALL(__sigpending14)(long long res, void *set_) { /* Nothing to do */ }
2105 PRE_SYSCALL(__sigprocmask14)(long long how_, void *set_, void *oset_) {
2108 POST_SYSCALL(__sigprocmask14)
2109 (long long res, long long how_, void *set_, void *oset_) {
2112 PRE_SYSCALL(__sigsuspend14)(void *set_) {
2114 PRE_READ(set_, sizeof(__sanitizer_sigset_t));
2117 POST_SYSCALL(__sigsuspend14)(long long res, void *set_) {
2119 PRE_READ(set_, sizeof(__sanitizer_sigset_t));
2122 PRE_SYSCALL(compat_16___sigreturn14)(void *sigcntxp_) { /* TODO */ }
2123 POST_SYSCALL(compat_16___sigreturn14)(long long res, void *sigcntxp_) {
2126 PRE_SYSCALL(__getcwd)(void *bufp_, long long length_) { /* Nothing to do */ }
2127 POST_SYSCALL(__getcwd)(long long res, void *bufp_, long long length_) {
2130 PRE_SYSCALL(fchroot)(long long fd_) { /* Nothing to do */ }
2131 POST_SYSCALL(fchroot)(long long res, long long fd_) { /* Nothing to do */ }
2132 PRE_SYSCALL(compat_30_fhopen)(void *fhp_, long long flags_) { /* TODO */ }
2133 POST_SYSCALL(compat_30_fhopen)(long long res, void *fhp_, long long flags_) {
2136 PRE_SYSCALL(compat_30_fhstat)(void *fhp_, void *sb_) { /* TODO */ }
2137 POST_SYSCALL(compat_30_fhstat)(long long res, void *fhp_, void *sb_) {
2140 PRE_SYSCALL(compat_20_fhstatfs)(void *fhp_, void *buf_) { /* TODO */ }
2141 POST_SYSCALL(compat_20_fhstatfs)(long long res, void *fhp_, void *buf_) {
2144 PRE_SYSCALL(compat_50_____semctl13)
2145 (long long semid_, long long semnum_, long long cmd_, void *arg_) {
2148 POST_SYSCALL(compat_50_____semctl13)
2149 (long long res, long long semid_, long long semnum_, long long cmd_,
2153 PRE_SYSCALL(compat_50___msgctl13)
2154 (long long msqid_, long long cmd_, void *buf_) {
2157 POST_SYSCALL(compat_50___msgctl13)
2158 (long long res, long long msqid_, long long cmd_, void *buf_) {
2161 PRE_SYSCALL(compat_50___shmctl13)
2162 (long long shmid_, long long cmd_, void *buf_) {
2165 POST_SYSCALL(compat_50___shmctl13)
2166 (long long res, long long shmid_, long long cmd_, void *buf_) {
2169 PRE_SYSCALL(lchflags)(void *path_, long long flags_) {
2170 const char *path = (const char *)path_;
2172 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2175 POST_SYSCALL(lchflags)(long long res, void *path_, long long flags_) {
2176 const char *path = (const char *)path_;
2178 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2181 PRE_SYSCALL(issetugid)(void) { /* Nothing to do */ }
2182 POST_SYSCALL(issetugid)(long long res) { /* Nothing to do */ }
2183 PRE_SYSCALL(utrace)(void *label_, void *addr_, long long len_) {
2184 const char *label = (const char *)label_;
2186 PRE_READ(label, __sanitizer::internal_strlen(label) + 1);
2189 PRE_READ(addr_, len_);
2192 POST_SYSCALL(utrace)(long long res, void *label_, void *addr_, long long len_) {
2193 const char *label = (const char *)label_;
2195 POST_READ(label, __sanitizer::internal_strlen(label) + 1);
2198 POST_READ(addr_, len_);
2201 PRE_SYSCALL(getcontext)(void *ucp_) { /* Nothing to do */ }
2202 POST_SYSCALL(getcontext)(long long res, void *ucp_) { /* Nothing to do */ }
2203 PRE_SYSCALL(setcontext)(void *ucp_) {
2205 PRE_READ(ucp_, ucontext_t_sz);
2208 POST_SYSCALL(setcontext)(long long res, void *ucp_) {}
2209 PRE_SYSCALL(_lwp_create)(void *ucp_, long long flags_, void *new_lwp_) {
2211 PRE_READ(ucp_, ucontext_t_sz);
2214 POST_SYSCALL(_lwp_create)
2215 (long long res, void *ucp_, long long flags_, void *new_lwp_) {}
2216 PRE_SYSCALL(_lwp_exit)(void) { /* Nothing to do */ }
2217 POST_SYSCALL(_lwp_exit)(long long res) { /* Nothing to do */ }
2218 PRE_SYSCALL(_lwp_self)(void) { /* Nothing to do */ }
2219 POST_SYSCALL(_lwp_self)(long long res) { /* Nothing to do */ }
2220 PRE_SYSCALL(_lwp_wait)(long long wait_for_, void *departed_) {
2223 POST_SYSCALL(_lwp_wait)(long long res, long long wait_for_, void *departed_) {
2226 PRE_SYSCALL(_lwp_suspend)(long long target_) { /* Nothing to do */ }
2227 POST_SYSCALL(_lwp_suspend)(long long res, long long target_) {
2230 PRE_SYSCALL(_lwp_continue)(long long target_) { /* Nothing to do */ }
2231 POST_SYSCALL(_lwp_continue)(long long res, long long target_) {
2234 PRE_SYSCALL(_lwp_wakeup)(long long target_) { /* Nothing to do */ }
2235 POST_SYSCALL(_lwp_wakeup)(long long res, long long target_) {
2238 PRE_SYSCALL(_lwp_getprivate)(void) { /* Nothing to do */ }
2239 POST_SYSCALL(_lwp_getprivate)(long long res) { /* Nothing to do */ }
2240 PRE_SYSCALL(_lwp_setprivate)(void *ptr_) { /* Nothing to do */ }
2241 POST_SYSCALL(_lwp_setprivate)(long long res, void *ptr_) { /* Nothing to do */ }
2242 PRE_SYSCALL(_lwp_kill)(long long target_, long long signo_) {
2245 POST_SYSCALL(_lwp_kill)(long long res, long long target_, long long signo_) {
2248 PRE_SYSCALL(_lwp_detach)(long long target_) { /* Nothing to do */ }
2249 POST_SYSCALL(_lwp_detach)(long long res, long long target_) {
2252 PRE_SYSCALL(compat_50__lwp_park)
2253 (void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
2256 POST_SYSCALL(compat_50__lwp_park)
2257 (long long res, void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
2260 PRE_SYSCALL(_lwp_unpark)(long long target_, void *hint_) { /* Nothing to do */ }
2261 POST_SYSCALL(_lwp_unpark)(long long res, long long target_, void *hint_) {
2264 PRE_SYSCALL(_lwp_unpark_all)(void *targets_, long long ntargets_, void *hint_) {
2266 PRE_READ(targets_, ntargets_ * sizeof(__sanitizer_lwpid_t));
2269 POST_SYSCALL(_lwp_unpark_all)
2270 (long long res, void *targets_, long long ntargets_, void *hint_) {}
2271 PRE_SYSCALL(_lwp_setname)(long long target_, void *name_) {
2272 const char *name = (const char *)name_;
2274 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
2277 POST_SYSCALL(_lwp_setname)(long long res, long long target_, void *name_) {
2278 const char *name = (const char *)name_;
2280 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
2283 PRE_SYSCALL(_lwp_getname)(long long target_, void *name_, long long len_) {
2286 POST_SYSCALL(_lwp_getname)
2287 (long long res, long long target_, void *name_, long long len_) {
2290 PRE_SYSCALL(_lwp_ctl)(long long features_, void **address_) {
2293 POST_SYSCALL(_lwp_ctl)(long long res, long long features_, void **address_) {
2296 /* syscall 326 has been skipped */
2297 /* syscall 327 has been skipped */
2298 /* syscall 328 has been skipped */
2299 /* syscall 329 has been skipped */
2300 PRE_SYSCALL(compat_60_sa_register)
2301 (void *newv_, void **oldv_, long long flags_, long long stackinfo_offset_) {
2304 POST_SYSCALL(compat_60_sa_register)
2305 (long long res, void *newv_, void **oldv_, long long flags_,
2306 long long stackinfo_offset_) {
2309 PRE_SYSCALL(compat_60_sa_stacks)(long long num_, void *stacks_) { /* TODO */ }
2310 POST_SYSCALL(compat_60_sa_stacks)
2311 (long long res, long long num_, void *stacks_) {
2314 PRE_SYSCALL(compat_60_sa_enable)(void) { /* TODO */ }
2315 POST_SYSCALL(compat_60_sa_enable)(long long res) { /* TODO */ }
2316 PRE_SYSCALL(compat_60_sa_setconcurrency)(long long concurrency_) { /* TODO */ }
2317 POST_SYSCALL(compat_60_sa_setconcurrency)
2318 (long long res, long long concurrency_) {
2321 PRE_SYSCALL(compat_60_sa_yield)(void) { /* TODO */ }
2322 POST_SYSCALL(compat_60_sa_yield)(long long res) { /* TODO */ }
2323 PRE_SYSCALL(compat_60_sa_preempt)(long long sa_id_) { /* TODO */ }
2324 POST_SYSCALL(compat_60_sa_preempt)(long long res, long long sa_id_) {
2327 /* syscall 336 has been skipped */
2328 /* syscall 337 has been skipped */
2329 /* syscall 338 has been skipped */
2330 /* syscall 339 has been skipped */
2331 PRE_SYSCALL(__sigaction_sigtramp)
2332 (long long signum_, void *nsa_, void *osa_, void *tramp_, long long vers_) {
2334 PRE_READ(nsa_, sizeof(__sanitizer_sigaction));
2337 POST_SYSCALL(__sigaction_sigtramp)
2338 (long long res, long long signum_, void *nsa_, void *osa_, void *tramp_,
2341 PRE_READ(nsa_, sizeof(__sanitizer_sigaction));
2344 PRE_SYSCALL(pmc_get_info)(long long ctr_, long long op_, void *args_) {
2347 POST_SYSCALL(pmc_get_info)
2348 (long long res, long long ctr_, long long op_, void *args_) {
2351 PRE_SYSCALL(pmc_control)(long long ctr_, long long op_, void *args_) {
2354 POST_SYSCALL(pmc_control)
2355 (long long res, long long ctr_, long long op_, void *args_) {
2358 PRE_SYSCALL(rasctl)(void *addr_, long long len_, long long op_) {
2361 POST_SYSCALL(rasctl)
2362 (long long res, void *addr_, long long len_, long long op_) {
2365 PRE_SYSCALL(kqueue)(void) { /* Nothing to do */ }
2366 POST_SYSCALL(kqueue)(long long res) { /* Nothing to do */ }
2367 PRE_SYSCALL(compat_50_kevent)
2368 (long long fd_, void *changelist_, long long nchanges_, void *eventlist_,
2369 long long nevents_, void *timeout_) {
2372 POST_SYSCALL(compat_50_kevent)
2373 (long long res, long long fd_, void *changelist_, long long nchanges_,
2374 void *eventlist_, long long nevents_, void *timeout_) {
2377 PRE_SYSCALL(_sched_setparam)
2378 (long long pid_, long long lid_, long long policy_, void *params_) {
2380 PRE_READ(params_, struct_sched_param_sz);
2383 POST_SYSCALL(_sched_setparam)
2384 (long long res, long long pid_, long long lid_, long long policy_,
2387 PRE_READ(params_, struct_sched_param_sz);
2390 PRE_SYSCALL(_sched_getparam)
2391 (long long pid_, long long lid_, void *policy_, void *params_) {
2394 POST_SYSCALL(_sched_getparam)
2395 (long long res, long long pid_, long long lid_, void *policy_, void *params_) {
2398 PRE_SYSCALL(_sched_setaffinity)
2399 (long long pid_, long long lid_, long long size_, void *cpuset_) {
2401 PRE_READ(cpuset_, size_);
2404 POST_SYSCALL(_sched_setaffinity)
2405 (long long res, long long pid_, long long lid_, long long size_,
2408 PRE_READ(cpuset_, size_);
2411 PRE_SYSCALL(_sched_getaffinity)
2412 (long long pid_, long long lid_, long long size_, void *cpuset_) {
2415 POST_SYSCALL(_sched_getaffinity)
2416 (long long res, long long pid_, long long lid_, long long size_,
2420 PRE_SYSCALL(sched_yield)(void) { /* Nothing to do */ }
2421 POST_SYSCALL(sched_yield)(long long res) { /* Nothing to do */ }
2422 PRE_SYSCALL(_sched_protect)(long long priority_) { /* Nothing to do */ }
2423 POST_SYSCALL(_sched_protect)(long long res, long long priority_) {
2426 /* syscall 352 has been skipped */
2427 /* syscall 353 has been skipped */
2428 PRE_SYSCALL(fsync_range)
2429 (long long fd_, long long flags_, long long start_, long long length_) {
2432 POST_SYSCALL(fsync_range)
2433 (long long res, long long fd_, long long flags_, long long start_,
2434 long long length_) {
2437 PRE_SYSCALL(uuidgen)(void *store_, long long count_) { /* Nothing to do */ }
2438 POST_SYSCALL(uuidgen)(long long res, void *store_, long long count_) {
2441 PRE_SYSCALL(getvfsstat)(void *buf_, long long bufsize_, long long flags_) {
2444 POST_SYSCALL(getvfsstat)
2445 (long long res, void *buf_, long long bufsize_, long long flags_) {
2448 PRE_SYSCALL(statvfs1)(void *path_, void *buf_, long long flags_) {
2449 const char *path = (const char *)path_;
2451 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2454 POST_SYSCALL(statvfs1)
2455 (long long res, void *path_, void *buf_, long long flags_) {
2456 const char *path = (const char *)path_;
2458 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2461 PRE_SYSCALL(fstatvfs1)(long long fd_, void *buf_, long long flags_) {
2464 POST_SYSCALL(fstatvfs1)
2465 (long long res, long long fd_, void *buf_, long long flags_) {
2468 PRE_SYSCALL(compat_30_fhstatvfs1)(void *fhp_, void *buf_, long long flags_) {
2471 POST_SYSCALL(compat_30_fhstatvfs1)
2472 (long long res, void *fhp_, void *buf_, long long flags_) {
2475 PRE_SYSCALL(extattrctl)
2476 (void *path_, long long cmd_, void *filename_, long long attrnamespace_,
2478 const char *path = (const char *)path_;
2480 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2483 POST_SYSCALL(extattrctl)
2484 (long long res, void *path_, long long cmd_, void *filename_,
2485 long long attrnamespace_, void *attrname_) {
2486 const char *path = (const char *)path_;
2488 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2491 PRE_SYSCALL(extattr_set_file)
2492 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
2493 long long nbytes_) {
2494 const char *path = (const char *)path_;
2496 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2499 POST_SYSCALL(extattr_set_file)
2500 (long long res, void *path_, long long attrnamespace_, void *attrname_,
2501 void *data_, long long nbytes_) {
2502 const char *path = (const char *)path_;
2504 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2507 PRE_SYSCALL(extattr_get_file)
2508 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
2509 long long nbytes_) {
2510 const char *path = (const char *)path_;
2512 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2515 POST_SYSCALL(extattr_get_file)
2516 (long long res, void *path_, long long attrnamespace_, void *attrname_,
2517 void *data_, long long nbytes_) {
2518 const char *path = (const char *)path_;
2520 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2523 PRE_SYSCALL(extattr_delete_file)
2524 (void *path_, long long attrnamespace_, void *attrname_) {
2525 const char *path = (const char *)path_;
2527 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2530 POST_SYSCALL(extattr_delete_file)
2531 (long long res, void *path_, long long attrnamespace_, void *attrname_) {
2532 const char *path = (const char *)path_;
2534 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2537 PRE_SYSCALL(extattr_set_fd)
2538 (long long fd_, long long attrnamespace_, void *attrname_, void *data_,
2539 long long nbytes_) {
2542 POST_SYSCALL(extattr_set_fd)
2543 (long long res, long long fd_, long long attrnamespace_, void *attrname_,
2544 void *data_, long long nbytes_) {
2547 PRE_SYSCALL(extattr_get_fd)
2548 (long long fd_, long long attrnamespace_, void *attrname_, void *data_,
2549 long long nbytes_) {
2552 POST_SYSCALL(extattr_get_fd)
2553 (long long res, long long fd_, long long attrnamespace_, void *attrname_,
2554 void *data_, long long nbytes_) {
2557 PRE_SYSCALL(extattr_delete_fd)
2558 (long long fd_, long long attrnamespace_, void *attrname_) {
2561 POST_SYSCALL(extattr_delete_fd)
2562 (long long res, long long fd_, long long attrnamespace_, void *attrname_) {
2565 PRE_SYSCALL(extattr_set_link)
2566 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
2567 long long nbytes_) {
2568 const char *path = (const char *)path_;
2570 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2573 POST_SYSCALL(extattr_set_link)
2574 (long long res, void *path_, long long attrnamespace_, void *attrname_,
2575 void *data_, long long nbytes_) {
2576 const char *path = (const char *)path_;
2578 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2581 PRE_SYSCALL(extattr_get_link)
2582 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
2583 long long nbytes_) {
2584 const char *path = (const char *)path_;
2586 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2589 POST_SYSCALL(extattr_get_link)
2590 (long long res, void *path_, long long attrnamespace_, void *attrname_,
2591 void *data_, long long nbytes_) {
2592 const char *path = (const char *)path_;
2594 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2597 PRE_SYSCALL(extattr_delete_link)
2598 (void *path_, long long attrnamespace_, void *attrname_) {
2599 const char *path = (const char *)path_;
2601 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2604 POST_SYSCALL(extattr_delete_link)
2605 (long long res, void *path_, long long attrnamespace_, void *attrname_) {
2606 const char *path = (const char *)path_;
2608 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2611 PRE_SYSCALL(extattr_list_fd)
2612 (long long fd_, long long attrnamespace_, void *data_, long long nbytes_) {
2615 POST_SYSCALL(extattr_list_fd)
2616 (long long res, long long fd_, long long attrnamespace_, void *data_,
2617 long long nbytes_) {
2620 PRE_SYSCALL(extattr_list_file)
2621 (void *path_, long long attrnamespace_, void *data_, long long nbytes_) {
2622 const char *path = (const char *)path_;
2624 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2627 POST_SYSCALL(extattr_list_file)
2628 (long long res, void *path_, long long attrnamespace_, void *data_,
2629 long long nbytes_) {
2630 const char *path = (const char *)path_;
2632 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2635 PRE_SYSCALL(extattr_list_link)
2636 (void *path_, long long attrnamespace_, void *data_, long long nbytes_) {
2637 const char *path = (const char *)path_;
2639 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2642 POST_SYSCALL(extattr_list_link)
2643 (long long res, void *path_, long long attrnamespace_, void *data_,
2644 long long nbytes_) {
2645 const char *path = (const char *)path_;
2647 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2650 PRE_SYSCALL(compat_50_pselect)
2651 (long long nd_, void *in_, void *ou_, void *ex_, void *ts_, void *mask_) {
2654 POST_SYSCALL(compat_50_pselect)
2655 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *ts_,
2659 PRE_SYSCALL(compat_50_pollts)
2660 (void *fds_, long long nfds_, void *ts_, void *mask_) {
2663 POST_SYSCALL(compat_50_pollts)
2664 (long long res, void *fds_, long long nfds_, void *ts_, void *mask_) {
2667 PRE_SYSCALL(setxattr)
2668 (void *path_, void *name_, void *value_, long long size_, long long flags_) {
2669 const char *path = (const char *)path_;
2671 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2674 POST_SYSCALL(setxattr)
2675 (long long res, void *path_, void *name_, void *value_, long long size_,
2677 const char *path = (const char *)path_;
2679 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2682 PRE_SYSCALL(lsetxattr)
2683 (void *path_, void *name_, void *value_, long long size_, long long flags_) {
2684 const char *path = (const char *)path_;
2686 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2689 POST_SYSCALL(lsetxattr)
2690 (long long res, void *path_, void *name_, void *value_, long long size_,
2692 const char *path = (const char *)path_;
2694 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2697 PRE_SYSCALL(fsetxattr)
2698 (long long fd_, void *name_, void *value_, long long size_, long long flags_) {
2701 POST_SYSCALL(fsetxattr)
2702 (long long res, long long fd_, void *name_, void *value_, long long size_,
2706 PRE_SYSCALL(getxattr)(void *path_, void *name_, void *value_, long long size_) {
2707 const char *path = (const char *)path_;
2709 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2712 POST_SYSCALL(getxattr)
2713 (long long res, void *path_, void *name_, void *value_, long long size_) {
2714 const char *path = (const char *)path_;
2716 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2719 PRE_SYSCALL(lgetxattr)
2720 (void *path_, void *name_, void *value_, long long size_) {
2721 const char *path = (const char *)path_;
2723 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2726 POST_SYSCALL(lgetxattr)
2727 (long long res, void *path_, void *name_, void *value_, long long size_) {
2728 const char *path = (const char *)path_;
2730 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2733 PRE_SYSCALL(fgetxattr)
2734 (long long fd_, void *name_, void *value_, long long size_) {
2737 POST_SYSCALL(fgetxattr)
2738 (long long res, long long fd_, void *name_, void *value_, long long size_) {
2741 PRE_SYSCALL(listxattr)(void *path_, void *list_, long long size_) {
2742 const char *path = (const char *)path_;
2744 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2747 POST_SYSCALL(listxattr)
2748 (long long res, void *path_, void *list_, long long size_) {
2749 const char *path = (const char *)path_;
2751 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2754 PRE_SYSCALL(llistxattr)(void *path_, void *list_, long long size_) {
2755 const char *path = (const char *)path_;
2757 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2760 POST_SYSCALL(llistxattr)
2761 (long long res, void *path_, void *list_, long long size_) {
2762 const char *path = (const char *)path_;
2764 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2767 PRE_SYSCALL(flistxattr)(long long fd_, void *list_, long long size_) {
2770 POST_SYSCALL(flistxattr)
2771 (long long res, long long fd_, void *list_, long long size_) {
2774 PRE_SYSCALL(removexattr)(void *path_, void *name_) {
2775 const char *path = (const char *)path_;
2777 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2780 POST_SYSCALL(removexattr)(long long res, void *path_, void *name_) {
2781 const char *path = (const char *)path_;
2783 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2786 PRE_SYSCALL(lremovexattr)(void *path_, void *name_) {
2787 const char *path = (const char *)path_;
2789 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2792 POST_SYSCALL(lremovexattr)(long long res, void *path_, void *name_) {
2793 const char *path = (const char *)path_;
2795 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2798 PRE_SYSCALL(fremovexattr)(long long fd_, void *name_) { /* TODO */ }
2799 POST_SYSCALL(fremovexattr)(long long res, long long fd_, void *name_) {
2802 PRE_SYSCALL(compat_50___stat30)(void *path_, void *ub_) { /* TODO */ }
2803 POST_SYSCALL(compat_50___stat30)(long long res, void *path_, void *ub_) {
2806 PRE_SYSCALL(compat_50___fstat30)(long long fd_, void *sb_) { /* TODO */ }
2807 POST_SYSCALL(compat_50___fstat30)(long long res, long long fd_, void *sb_) {
2810 PRE_SYSCALL(compat_50___lstat30)(void *path_, void *ub_) { /* TODO */ }
2811 POST_SYSCALL(compat_50___lstat30)(long long res, void *path_, void *ub_) {
2814 PRE_SYSCALL(__getdents30)(long long fd_, void *buf_, long long count_) {
2817 POST_SYSCALL(__getdents30)
2818 (long long res, long long fd_, void *buf_, long long count_) {
2821 PRE_SYSCALL(posix_fadvise)(long long) { /* Nothing to do */ }
2822 POST_SYSCALL(posix_fadvise)(long long res, long long) { /* Nothing to do */ }
2823 PRE_SYSCALL(compat_30___fhstat30)(void *fhp_, void *sb_) { /* TODO */ }
2824 POST_SYSCALL(compat_30___fhstat30)(long long res, void *fhp_, void *sb_) {
2827 PRE_SYSCALL(compat_50___ntp_gettime30)(void *ntvp_) { /* TODO */ }
2828 POST_SYSCALL(compat_50___ntp_gettime30)(long long res, void *ntvp_) {
2831 PRE_SYSCALL(__socket30)
2832 (long long domain_, long long type_, long long protocol_) {
2835 POST_SYSCALL(__socket30)
2836 (long long res, long long domain_, long long type_, long long protocol_) {
2839 PRE_SYSCALL(__getfh30)(void *fname_, void *fhp_, void *fh_size_) {
2840 const char *fname = (const char *)fname_;
2842 PRE_READ(fname, __sanitizer::internal_strlen(fname) + 1);
2845 POST_SYSCALL(__getfh30)
2846 (long long res, void *fname_, void *fhp_, void *fh_size_) {
2847 const char *fname = (const char *)fname_;
2850 POST_READ(fname, __sanitizer::internal_strlen(fname) + 1);
2854 PRE_SYSCALL(__fhopen40)(void *fhp_, long long fh_size_, long long flags_) {
2856 PRE_READ(fhp_, fh_size_);
2859 POST_SYSCALL(__fhopen40)
2860 (long long res, void *fhp_, long long fh_size_, long long flags_) {}
2861 PRE_SYSCALL(__fhstatvfs140)
2862 (void *fhp_, long long fh_size_, void *buf_, long long flags_) {
2864 PRE_READ(fhp_, fh_size_);
2867 POST_SYSCALL(__fhstatvfs140)
2868 (long long res, void *fhp_, long long fh_size_, void *buf_, long long flags_) {}
2869 PRE_SYSCALL(compat_50___fhstat40)(void *fhp_, long long fh_size_, void *sb_) {
2871 PRE_READ(fhp_, fh_size_);
2874 POST_SYSCALL(compat_50___fhstat40)
2875 (long long res, void *fhp_, long long fh_size_, void *sb_) {}
2876 PRE_SYSCALL(aio_cancel)(long long fildes_, void *aiocbp_) {
2878 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2881 POST_SYSCALL(aio_cancel)(long long res, long long fildes_, void *aiocbp_) {}
2882 PRE_SYSCALL(aio_error)(void *aiocbp_) {
2884 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2887 POST_SYSCALL(aio_error)(long long res, void *aiocbp_) {}
2888 PRE_SYSCALL(aio_fsync)(long long op_, void *aiocbp_) {
2890 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2893 POST_SYSCALL(aio_fsync)(long long res, long long op_, void *aiocbp_) {}
2894 PRE_SYSCALL(aio_read)(void *aiocbp_) {
2896 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2899 POST_SYSCALL(aio_read)(long long res, void *aiocbp_) {}
2900 PRE_SYSCALL(aio_return)(void *aiocbp_) {
2902 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2905 POST_SYSCALL(aio_return)(long long res, void *aiocbp_) {}
2906 PRE_SYSCALL(compat_50_aio_suspend)
2907 (void *list_, long long nent_, void *timeout_) {
2910 POST_SYSCALL(compat_50_aio_suspend)
2911 (long long res, void *list_, long long nent_, void *timeout_) {
2914 PRE_SYSCALL(aio_write)(void *aiocbp_) {
2916 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2919 POST_SYSCALL(aio_write)(long long res, void *aiocbp_) {}
2920 PRE_SYSCALL(lio_listio)
2921 (long long mode_, void *list_, long long nent_, void *sig_) {
2924 POST_SYSCALL(lio_listio)
2925 (long long res, long long mode_, void *list_, long long nent_, void *sig_) {
2928 /* syscall 407 has been skipped */
2929 /* syscall 408 has been skipped */
2930 /* syscall 409 has been skipped */
2931 PRE_SYSCALL(__mount50)
2932 (void *type_, void *path_, long long flags_, void *data_, long long data_len_) {
2933 const char *type = (const char *)type_;
2934 const char *path = (const char *)path_;
2936 PRE_READ(type, __sanitizer::internal_strlen(type) + 1);
2939 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2942 PRE_READ(data_, data_len_);
2945 POST_SYSCALL(__mount50)
2946 (long long res, void *type_, void *path_, long long flags_, void *data_,
2947 long long data_len_) {
2948 const char *type = (const char *)type_;
2949 const char *path = (const char *)path_;
2951 POST_READ(type, __sanitizer::internal_strlen(type) + 1);
2954 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2957 POST_READ(data_, data_len_);
2961 (void *old_address_, long long old_size_, void *new_address_,
2962 long long new_size_, long long flags_) {
2965 POST_SYSCALL(mremap)
2966 (long long res, void *old_address_, long long old_size_, void *new_address_,
2967 long long new_size_, long long flags_) {
2970 PRE_SYSCALL(pset_create)(void *psid_) { /* Nothing to do */ }
2971 POST_SYSCALL(pset_create)(long long res, void *psid_) { /* Nothing to do */ }
2972 PRE_SYSCALL(pset_destroy)(long long psid_) { /* Nothing to do */ }
2973 POST_SYSCALL(pset_destroy)(long long res, long long psid_) {
2976 PRE_SYSCALL(pset_assign)(long long psid_, long long cpuid_, void *opsid_) {
2979 POST_SYSCALL(pset_assign)
2980 (long long res, long long psid_, long long cpuid_, void *opsid_) {
2983 PRE_SYSCALL(_pset_bind)
2984 (long long idtype_, long long first_id_, long long second_id_, long long psid_,
2988 POST_SYSCALL(_pset_bind)
2989 (long long res, long long idtype_, long long first_id_, long long second_id_,
2990 long long psid_, void *opsid_) {
2993 PRE_SYSCALL(__posix_fadvise50)
2994 (long long fd_, long long PAD_, long long offset_, long long len_,
2995 long long advice_) {
2998 POST_SYSCALL(__posix_fadvise50)
2999 (long long res, long long fd_, long long PAD_, long long offset_,
3000 long long len_, long long advice_) {
3003 PRE_SYSCALL(__select50)
3004 (long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
3007 POST_SYSCALL(__select50)
3008 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
3011 PRE_SYSCALL(__gettimeofday50)(void *tp_, void *tzp_) { /* Nothing to do */ }
3012 POST_SYSCALL(__gettimeofday50)(long long res, void *tp_, void *tzp_) {
3015 PRE_SYSCALL(__settimeofday50)(void *tv_, void *tzp_) {
3017 PRE_READ(tv_, timeval_sz);
3020 PRE_READ(tzp_, struct_timezone_sz);
3023 POST_SYSCALL(__settimeofday50)(long long res, void *tv_, void *tzp_) {}
3024 PRE_SYSCALL(__utimes50)(void *path_, void *tptr_) {
3025 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3026 const char *path = (const char *)path_;
3028 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3031 PRE_READ(tptr[0], struct_timespec_sz);
3032 PRE_READ(tptr[1], struct_timespec_sz);
3035 POST_SYSCALL(__utimes50)(long long res, void *path_, void *tptr_) {}
3036 PRE_SYSCALL(__adjtime50)(void *delta_, void *olddelta_) {
3038 PRE_READ(delta_, timeval_sz);
3041 POST_SYSCALL(__adjtime50)(long long res, void *delta_, void *olddelta_) {}
3042 PRE_SYSCALL(__lfs_segwait50)(void *fsidp_, void *tv_) { /* TODO */ }
3043 POST_SYSCALL(__lfs_segwait50)(long long res, void *fsidp_, void *tv_) {
3046 PRE_SYSCALL(__futimes50)(long long fd_, void *tptr_) {
3047 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3049 PRE_READ(tptr[0], struct_timespec_sz);
3050 PRE_READ(tptr[1], struct_timespec_sz);
3053 POST_SYSCALL(__futimes50)(long long res, long long fd_, void *tptr_) {}
3054 PRE_SYSCALL(__lutimes50)(void *path_, void *tptr_) {
3055 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3056 const char *path = (const char *)path_;
3058 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3061 PRE_READ(tptr[0], struct_timespec_sz);
3062 PRE_READ(tptr[1], struct_timespec_sz);
3065 POST_SYSCALL(__lutimes50)(long long res, void *path_, void *tptr_) {
3066 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3067 const char *path = (const char *)path_;
3069 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3072 POST_READ(tptr[0], struct_timespec_sz);
3073 POST_READ(tptr[1], struct_timespec_sz);
3076 PRE_SYSCALL(__setitimer50)(long long which_, void *itv_, void *oitv_) {
3077 struct __sanitizer_itimerval *itv = (struct __sanitizer_itimerval *)itv_;
3079 PRE_READ(&itv->it_interval.tv_sec, sizeof(__sanitizer_time_t));
3080 PRE_READ(&itv->it_interval.tv_usec, sizeof(__sanitizer_suseconds_t));
3081 PRE_READ(&itv->it_value.tv_sec, sizeof(__sanitizer_time_t));
3082 PRE_READ(&itv->it_value.tv_usec, sizeof(__sanitizer_suseconds_t));
3085 POST_SYSCALL(__setitimer50)
3086 (long long res, long long which_, void *itv_, void *oitv_) {}
3087 PRE_SYSCALL(__getitimer50)(long long which_, void *itv_) { /* Nothing to do */ }
3088 POST_SYSCALL(__getitimer50)(long long res, long long which_, void *itv_) {
3091 PRE_SYSCALL(__clock_gettime50)(long long clock_id_, void *tp_) {
3094 POST_SYSCALL(__clock_gettime50)(long long res, long long clock_id_, void *tp_) {
3097 PRE_SYSCALL(__clock_settime50)(long long clock_id_, void *tp_) {
3099 PRE_READ(tp_, struct_timespec_sz);
3102 POST_SYSCALL(__clock_settime50)
3103 (long long res, long long clock_id_, void *tp_) {}
3104 PRE_SYSCALL(__clock_getres50)(long long clock_id_, void *tp_) {
3107 POST_SYSCALL(__clock_getres50)(long long res, long long clock_id_, void *tp_) {
3110 PRE_SYSCALL(__nanosleep50)(void *rqtp_, void *rmtp_) {
3112 PRE_READ(rqtp_, struct_timespec_sz);
3115 POST_SYSCALL(__nanosleep50)(long long res, void *rqtp_, void *rmtp_) {}
3116 PRE_SYSCALL(____sigtimedwait50)(void *set_, void *info_, void *timeout_) {
3118 PRE_READ(set_, sizeof(__sanitizer_sigset_t));
3121 PRE_READ(timeout_, struct_timespec_sz);
3124 POST_SYSCALL(____sigtimedwait50)
3125 (long long res, void *set_, void *info_, void *timeout_) {}
3126 PRE_SYSCALL(__mq_timedsend50)
3127 (long long mqdes_, void *msg_ptr_, long long msg_len_, long long msg_prio_,
3128 void *abs_timeout_) {
3130 PRE_READ(msg_ptr_, msg_len_);
3133 PRE_READ(abs_timeout_, struct_timespec_sz);
3136 POST_SYSCALL(__mq_timedsend50)
3137 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
3138 long long msg_prio_, void *abs_timeout_) {}
3139 PRE_SYSCALL(__mq_timedreceive50)
3140 (long long mqdes_, void *msg_ptr_, long long msg_len_, void *msg_prio_,
3141 void *abs_timeout_) {
3143 PRE_READ(msg_ptr_, msg_len_);
3146 PRE_READ(abs_timeout_, struct_timespec_sz);
3149 POST_SYSCALL(__mq_timedreceive50)
3150 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
3151 void *msg_prio_, void *abs_timeout_) {}
3152 PRE_SYSCALL(compat_60__lwp_park)
3153 (void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
3156 POST_SYSCALL(compat_60__lwp_park)
3157 (long long res, void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
3160 PRE_SYSCALL(__kevent50)
3161 (long long fd_, void *changelist_, long long nchanges_, void *eventlist_,
3162 long long nevents_, void *timeout_) {
3164 PRE_READ(changelist_, nchanges_ * struct_kevent_sz);
3167 PRE_READ(timeout_, struct_timespec_sz);
3170 POST_SYSCALL(__kevent50)
3171 (long long res, long long fd_, void *changelist_, long long nchanges_,
3172 void *eventlist_, long long nevents_, void *timeout_) {}
3173 PRE_SYSCALL(__pselect50)
3174 (long long nd_, void *in_, void *ou_, void *ex_, void *ts_, void *mask_) {
3176 PRE_READ(ts_, struct_timespec_sz);
3179 PRE_READ(mask_, sizeof(struct __sanitizer_sigset_t));
3182 POST_SYSCALL(__pselect50)
3183 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *ts_,
3185 PRE_SYSCALL(__pollts50)(void *fds_, long long nfds_, void *ts_, void *mask_) {
3187 PRE_READ(ts_, struct_timespec_sz);
3190 PRE_READ(mask_, sizeof(struct __sanitizer_sigset_t));
3193 POST_SYSCALL(__pollts50)
3194 (long long res, void *fds_, long long nfds_, void *ts_, void *mask_) {}
3195 PRE_SYSCALL(__aio_suspend50)(void *list_, long long nent_, void *timeout_) {
3197 const struct aiocb *const *list = (const struct aiocb *const *)list_;
3199 for (i = 0; i < nent_; i++) {
3201 PRE_READ(list[i], sizeof(struct __sanitizer_aiocb));
3206 PRE_READ(timeout_, struct_timespec_sz);
3209 POST_SYSCALL(__aio_suspend50)
3210 (long long res, void *list_, long long nent_, void *timeout_) {}
3211 PRE_SYSCALL(__stat50)(void *path_, void *ub_) {
3212 const char *path = (const char *)path_;
3214 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3217 POST_SYSCALL(__stat50)(long long res, void *path_, void *ub_) {
3218 const char *path = (const char *)path_;
3221 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3225 PRE_SYSCALL(__fstat50)(long long fd_, void *sb_) { /* Nothing to do */ }
3226 POST_SYSCALL(__fstat50)(long long res, long long fd_, void *sb_) {
3229 PRE_SYSCALL(__lstat50)(void *path_, void *ub_) {
3230 const char *path = (const char *)path_;
3232 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3235 POST_SYSCALL(__lstat50)(long long res, void *path_, void *ub_) {
3236 const char *path = (const char *)path_;
3239 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3243 PRE_SYSCALL(____semctl50)
3244 (long long semid_, long long semnum_, long long cmd_, void *arg_) {
3247 POST_SYSCALL(____semctl50)
3248 (long long res, long long semid_, long long semnum_, long long cmd_,
3252 PRE_SYSCALL(__shmctl50)(long long shmid_, long long cmd_, void *buf_) {
3255 POST_SYSCALL(__shmctl50)
3256 (long long res, long long shmid_, long long cmd_, void *buf_) {
3259 PRE_SYSCALL(__msgctl50)(long long msqid_, long long cmd_, void *buf_) {
3262 POST_SYSCALL(__msgctl50)
3263 (long long res, long long msqid_, long long cmd_, void *buf_) {
3266 PRE_SYSCALL(__getrusage50)(long long who_, void *rusage_) {
3269 POST_SYSCALL(__getrusage50)(long long res, long long who_, void *rusage_) {
3272 PRE_SYSCALL(__timer_settime50)
3273 (long long timerid_, long long flags_, void *value_, void *ovalue_) {
3274 struct __sanitizer_itimerval *value = (struct __sanitizer_itimerval *)value_;
3276 PRE_READ(&value->it_interval.tv_sec, sizeof(__sanitizer_time_t));
3277 PRE_READ(&value->it_interval.tv_usec, sizeof(__sanitizer_suseconds_t));
3278 PRE_READ(&value->it_value.tv_sec, sizeof(__sanitizer_time_t));
3279 PRE_READ(&value->it_value.tv_usec, sizeof(__sanitizer_suseconds_t));
3282 POST_SYSCALL(__timer_settime50)
3283 (long long res, long long timerid_, long long flags_, void *value_,
3285 struct __sanitizer_itimerval *value = (struct __sanitizer_itimerval *)value_;
3288 POST_READ(&value->it_interval.tv_sec, sizeof(__sanitizer_time_t));
3289 POST_READ(&value->it_interval.tv_usec, sizeof(__sanitizer_suseconds_t));
3290 POST_READ(&value->it_value.tv_sec, sizeof(__sanitizer_time_t));
3291 POST_READ(&value->it_value.tv_usec, sizeof(__sanitizer_suseconds_t));
3295 PRE_SYSCALL(__timer_gettime50)(long long timerid_, void *value_) {
3298 POST_SYSCALL(__timer_gettime50)
3299 (long long res, long long timerid_, void *value_) {
3302 #if defined(NTP) || !defined(_KERNEL_OPT)
3303 PRE_SYSCALL(__ntp_gettime50)(void *ntvp_) { /* Nothing to do */ }
3304 POST_SYSCALL(__ntp_gettime50)(long long res, void *ntvp_) {
3308 /* syscall 448 has been skipped */
3310 PRE_SYSCALL(__wait450)
3311 (long long pid_, void *status_, long long options_, void *rusage_) {
3314 POST_SYSCALL(__wait450)
3315 (long long res, long long pid_, void *status_, long long options_,
3319 PRE_SYSCALL(__mknod50)(void *path_, long long mode_, long long dev_) {
3320 const char *path = (const char *)path_;
3322 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3325 POST_SYSCALL(__mknod50)
3326 (long long res, void *path_, long long mode_, long long dev_) {
3327 const char *path = (const char *)path_;
3330 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3334 PRE_SYSCALL(__fhstat50)(void *fhp_, long long fh_size_, void *sb_) {
3336 PRE_READ(fhp_, fh_size_);
3339 POST_SYSCALL(__fhstat50)
3340 (long long res, void *fhp_, long long fh_size_, void *sb_) {
3343 POST_READ(fhp_, fh_size_);
3347 /* syscall 452 has been skipped */
3348 PRE_SYSCALL(pipe2)(void *fildes_, long long flags_) { /* Nothing to do */ }
3349 POST_SYSCALL(pipe2)(long long res, void *fildes_, long long flags_) {
3352 PRE_SYSCALL(dup3)(long long from_, long long to_, long long flags_) {
3356 (long long res, long long from_, long long to_, long long flags_) {
3359 PRE_SYSCALL(kqueue1)(long long flags_) { /* Nothing to do */ }
3360 POST_SYSCALL(kqueue1)(long long res, long long flags_) { /* Nothing to do */ }
3361 PRE_SYSCALL(paccept)
3362 (long long s_, void *name_, void *anamelen_, void *mask_, long long flags_) {
3364 PRE_READ(mask_, sizeof(__sanitizer_sigset_t));
3367 POST_SYSCALL(paccept)
3368 (long long res, long long s_, void *name_, void *anamelen_, void *mask_,
3372 PRE_READ(mask_, sizeof(__sanitizer_sigset_t));
3377 (long long fd1_, void *name1_, long long fd2_, void *name2_, long long flags_) {
3378 const char *name1 = (const char *)name1_;
3379 const char *name2 = (const char *)name2_;
3381 PRE_READ(name1, __sanitizer::internal_strlen(name1) + 1);
3384 PRE_READ(name2, __sanitizer::internal_strlen(name2) + 1);
3387 POST_SYSCALL(linkat)
3388 (long long res, long long fd1_, void *name1_, long long fd2_, void *name2_,
3390 const char *name1 = (const char *)name1_;
3391 const char *name2 = (const char *)name2_;
3394 POST_READ(name1, __sanitizer::internal_strlen(name1) + 1);
3397 POST_READ(name2, __sanitizer::internal_strlen(name2) + 1);
3401 PRE_SYSCALL(renameat)
3402 (long long fromfd_, void *from_, long long tofd_, void *to_) {
3403 const char *from = (const char *)from_;
3404 const char *to = (const char *)to_;
3406 PRE_READ(from, __sanitizer::internal_strlen(from) + 1);
3409 PRE_READ(to, __sanitizer::internal_strlen(to) + 1);
3412 POST_SYSCALL(renameat)
3413 (long long res, long long fromfd_, void *from_, long long tofd_, void *to_) {
3414 const char *from = (const char *)from_;
3415 const char *to = (const char *)to_;
3418 POST_READ(from, __sanitizer::internal_strlen(from) + 1);
3421 POST_READ(to, __sanitizer::internal_strlen(to) + 1);
3425 PRE_SYSCALL(mkfifoat)(long long fd_, void *path_, long long mode_) {
3426 const char *path = (const char *)path_;
3428 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3431 POST_SYSCALL(mkfifoat)
3432 (long long res, long long fd_, void *path_, long long mode_) {
3433 const char *path = (const char *)path_;
3436 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3440 PRE_SYSCALL(mknodat)
3441 (long long fd_, void *path_, long long mode_, long long PAD_, long long dev_) {
3442 const char *path = (const char *)path_;
3444 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3447 POST_SYSCALL(mknodat)
3448 (long long res, long long fd_, void *path_, long long mode_, long long PAD_,
3450 const char *path = (const char *)path_;
3453 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3457 PRE_SYSCALL(mkdirat)(long long fd_, void *path_, long long mode_) {
3458 const char *path = (const char *)path_;
3460 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3463 POST_SYSCALL(mkdirat)
3464 (long long res, long long fd_, void *path_, long long mode_) {
3465 const char *path = (const char *)path_;
3468 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3472 PRE_SYSCALL(faccessat)
3473 (long long fd_, void *path_, long long amode_, long long flag_) {
3474 const char *path = (const char *)path_;
3476 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3479 POST_SYSCALL(faccessat)
3480 (long long res, long long fd_, void *path_, long long amode_, long long flag_) {
3481 const char *path = (const char *)path_;
3484 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3488 PRE_SYSCALL(fchmodat)
3489 (long long fd_, void *path_, long long mode_, long long flag_) {
3490 const char *path = (const char *)path_;
3492 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3495 POST_SYSCALL(fchmodat)
3496 (long long res, long long fd_, void *path_, long long mode_, long long flag_) {
3497 const char *path = (const char *)path_;
3500 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3504 PRE_SYSCALL(fchownat)
3505 (long long fd_, void *path_, long long owner_, long long group_,
3507 const char *path = (const char *)path_;
3509 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3512 POST_SYSCALL(fchownat)
3513 (long long res, long long fd_, void *path_, long long owner_, long long group_,
3515 const char *path = (const char *)path_;
3518 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3522 PRE_SYSCALL(fexecve)(long long fd_, void *argp_, void *envp_) { /* TODO */ }
3523 POST_SYSCALL(fexecve)(long long res, long long fd_, void *argp_, void *envp_) {
3526 PRE_SYSCALL(fstatat)(long long fd_, void *path_, void *buf_, long long flag_) {
3527 const char *path = (const char *)path_;
3529 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3532 POST_SYSCALL(fstatat)
3533 (long long res, long long fd_, void *path_, void *buf_, long long flag_) {
3534 const char *path = (const char *)path_;
3536 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3539 PRE_SYSCALL(utimensat)
3540 (long long fd_, void *path_, void *tptr_, long long flag_) {
3541 const char *path = (const char *)path_;
3543 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3546 PRE_READ(tptr_, struct_timespec_sz);
3549 POST_SYSCALL(utimensat)
3550 (long long res, long long fd_, void *path_, void *tptr_, long long flag_) {
3551 const char *path = (const char *)path_;
3554 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3557 POST_READ(tptr_, struct_timespec_sz);
3562 (long long fd_, void *path_, long long oflags_, long long mode_) {
3563 const char *path = (const char *)path_;
3565 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3568 POST_SYSCALL(openat)
3569 (long long res, long long fd_, void *path_, long long oflags_,
3571 const char *path = (const char *)path_;
3574 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3578 PRE_SYSCALL(readlinkat)
3579 (long long fd_, void *path_, void *buf_, long long bufsize_) {
3580 const char *path = (const char *)path_;
3582 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3585 POST_SYSCALL(readlinkat)
3586 (long long res, long long fd_, void *path_, void *buf_, long long bufsize_) {
3587 const char *path = (const char *)path_;
3590 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3594 PRE_SYSCALL(symlinkat)(void *path1_, long long fd_, void *path2_) {
3595 const char *path1 = (const char *)path1_;
3596 const char *path2 = (const char *)path2_;
3598 PRE_READ(path1, __sanitizer::internal_strlen(path1) + 1);
3601 PRE_READ(path2, __sanitizer::internal_strlen(path2) + 1);
3604 POST_SYSCALL(symlinkat)
3605 (long long res, void *path1_, long long fd_, void *path2_) {
3606 const char *path1 = (const char *)path1_;
3607 const char *path2 = (const char *)path2_;
3610 POST_READ(path1, __sanitizer::internal_strlen(path1) + 1);
3613 POST_READ(path2, __sanitizer::internal_strlen(path2) + 1);
3617 PRE_SYSCALL(unlinkat)(long long fd_, void *path_, long long flag_) {
3618 const char *path = (const char *)path_;
3620 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3623 POST_SYSCALL(unlinkat)
3624 (long long res, long long fd_, void *path_, long long flag_) {
3625 const char *path = (const char *)path_;
3628 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3632 PRE_SYSCALL(futimens)(long long fd_, void *tptr_) {
3633 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3635 PRE_READ(tptr[0], struct_timespec_sz);
3636 PRE_READ(tptr[1], struct_timespec_sz);
3639 POST_SYSCALL(futimens)(long long res, long long fd_, void *tptr_) {
3640 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3643 POST_READ(tptr[0], struct_timespec_sz);
3644 POST_READ(tptr[1], struct_timespec_sz);
3648 PRE_SYSCALL(__quotactl)(void *path_, void *args_) {
3649 const char *path = (const char *)path_;
3651 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3654 POST_SYSCALL(__quotactl)(long long res, void *path_, void *args_) {
3655 const char *path = (const char *)path_;
3658 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3662 PRE_SYSCALL(posix_spawn)
3663 (void *pid_, void *path_, void *file_actions_, void *attrp_, void *argv_,
3665 const char *path = (const char *)path_;
3667 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3670 POST_SYSCALL(posix_spawn)
3671 (long long res, void *pid_, void *path_, void *file_actions_, void *attrp_,
3672 void *argv_, void *envp_) {
3673 const char *path = (const char *)path_;
3676 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3680 PRE_SYSCALL(recvmmsg)
3681 (long long s_, void *mmsg_, long long vlen_, long long flags_, void *timeout_) {
3683 PRE_READ(timeout_, struct_timespec_sz);
3686 POST_SYSCALL(recvmmsg)
3687 (long long res, long long s_, void *mmsg_, long long vlen_, long long flags_,
3691 POST_READ(timeout_, struct_timespec_sz);
3695 PRE_SYSCALL(sendmmsg)
3696 (long long s_, void *mmsg_, long long vlen_, long long flags_) {
3697 struct __sanitizer_mmsghdr *mmsg = (struct __sanitizer_mmsghdr *)mmsg_;
3698 unsigned int vlen = (vlen_ > 1024 ? 1024 : vlen_);
3700 PRE_READ(mmsg, sizeof(struct __sanitizer_mmsghdr) * vlen);
3703 POST_SYSCALL(sendmmsg)
3704 (long long res, long long s_, void *mmsg_, long long vlen_, long long flags_) {
3705 struct __sanitizer_mmsghdr *mmsg = (struct __sanitizer_mmsghdr *)mmsg_;
3706 unsigned int vlen = (vlen_ > 1024 ? 1024 : vlen_);
3709 POST_READ(mmsg, sizeof(struct __sanitizer_mmsghdr) * vlen);
3713 PRE_SYSCALL(clock_nanosleep)
3714 (long long clock_id_, long long flags_, void *rqtp_, void *rmtp_) {
3716 PRE_READ(rqtp_, struct_timespec_sz);
3719 POST_SYSCALL(clock_nanosleep)
3720 (long long res, long long clock_id_, long long flags_, void *rqtp_,
3723 POST_READ(rqtp_, struct_timespec_sz);
3726 PRE_SYSCALL(___lwp_park60)
3727 (long long clock_id_, long long flags_, void *ts_, long long unpark_,
3728 void *hint_, void *unparkhint_) {
3730 PRE_READ(ts_, struct_timespec_sz);
3733 POST_SYSCALL(___lwp_park60)
3734 (long long res, long long clock_id_, long long flags_, void *ts_,
3735 long long unpark_, void *hint_, void *unparkhint_) {
3738 POST_READ(ts_, struct_timespec_sz);
3742 PRE_SYSCALL(posix_fallocate)
3743 (long long fd_, long long PAD_, long long pos_, long long len_) {
3746 POST_SYSCALL(posix_fallocate)
3747 (long long res, long long fd_, long long PAD_, long long pos_, long long len_) {
3750 PRE_SYSCALL(fdiscard)
3751 (long long fd_, long long PAD_, long long pos_, long long len_) {
3754 POST_SYSCALL(fdiscard)
3755 (long long res, long long fd_, long long PAD_, long long pos_, long long len_) {
3759 (long long idtype_, long long id_, void *status_, long long options_,
3760 void *wru_, void *info_) {
3764 (long long res, long long idtype_, long long id_, void *status_,
3765 long long options_, void *wru_, void *info_) {
3768 PRE_SYSCALL(clock_getcpuclockid2)
3769 (long long idtype_, long long id_, void *clock_id_) {
3772 POST_SYSCALL(clock_getcpuclockid2)
3773 (long long res, long long idtype_, long long id_, void *clock_id_) {
3776 #undef SYS_MAXSYSARGS
3786 #endif // SANITIZER_NETBSD