1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include "../../memcheck.h"
2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include "scalar.h"
3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <unistd.h>
4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <sched.h>
5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <signal.h>
6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <sys/shm.h>
7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// See memcheck/tests/x86-linux/scalar.c for an explanation of what this test
9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// is doing.
10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main(void)
12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{
13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // uninitialised, but we know px[0] is 0x0
14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   long* px  = malloc(sizeof(long));
15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   long  x0  = px[0];
16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   long  res;
17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   VALGRIND_MAKE_MEM_NOACCESS(0, 0x1000);
19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_syscall 0
21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX
22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_exit, 1, "below");
24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (see below)
25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fork, 2, "other");
27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (sse scalar_fork.c)
28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // Nb: here we are also getting an error from the syscall arg itself.
30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_read, 3, "1+3s 1m");
31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_read+(int)x0, x0, x0, x0+1); FAILx(EFAULT);
32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_write, 4, "3s 1m");
34ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_write, x0, x0, x0+1); FAIL;
35ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   //res = write(x0, x0, x0+1); FAIL;
36ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
37ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_open, 5, "(2-args) 2s 1m");
38ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_open, x0, x0); FAIL;
39ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // Only 1s 0m errors -- the other 2s 1m have been checked in the previous
40ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // open test, and if we test them they may be commoned up but they also
41ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // may not.
42ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_open, 5, "(3-args) 1s 0m");
43ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_open, "scalar.c", O_CREAT|O_EXCL, x0); FAIL;
44ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
45ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_close, 6, "1s 0m");
46ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_close, x0-1); FAIL;
47ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
48ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_wait4, 7, "4s 2m");
49ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_wait4, x0, x0+1, x0, x0+1); FAIL;
50ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
51ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(8, "old creat");
52ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
53ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_link, 9, "2s 2m");
54ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_link, x0, x0); FAIL;
55ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
56ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_unlink, 10, "1s 1m");
57ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_unlink, x0); FAIL;
58ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
59ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(11, "old execv");
60ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
61ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_chdir, 12, "1s 1m");
62ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_chdir, x0); FAIL;
63ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
64ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fchdir, 13, "1s 0m");
65ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fchdir, x0-1); FAIL;
66ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
67ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mknod, 14, "3s 1m");
68ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mknod, x0, x0, x0); FAIL;
69ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
70ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_chmod, 15, "2s 1m");
71ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_chmod, x0, x0); FAIL;
72ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
73ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_chown, 16, "3s 1m");
74ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_chown, x0, x0, x0); FAIL;
75ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
76ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(17, "old break");
77ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
78ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getfsstat, 18, "3s 1m");
79ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getfsstat, x0+1, x0+1, x0); SUCC; // This should fail...
80ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
81ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(19, "old lseek");
82ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
83ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpid 20
84ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
85ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(21, "old mount");
86ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
87ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(22, "old umount");
88ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
89ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setuid 23
90ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getuid 24
91ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_geteuid 25
92ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ptrace 26
93ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_recvmsg 27
94ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sendmsg 28
95ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_recvfrom 29
96ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_accept 30
97ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpeername 31
98ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getsockname 32
99ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_access 33
100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_chflags 34
101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fchflags 35
102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sync 36
103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_kill 37
104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(38, "old stat");
106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getppid 39
108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(40, "old lstat");
110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_dup 41
112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_pipe           VG_DARWIN_SYSCALL_CONSTRUCT_UX64(42
113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getegid 43
114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_profil 44
115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(45, "old ktrace");
117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigaction 46
119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getgid 47
120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigprocmask 48
121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getlogin 49
122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setlogin 50
123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_acct 51
124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigpending 52
125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigaltstack 53
126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ioctl 54
127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_reboot 55
128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_revoke 56
129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_symlink 57
130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_readlink 58
131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_execve 59
132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_umask 60
133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_chroot 61
134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(62, "old fstat");
136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(63, "used internally, reserved");
138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(64, "old getpagesize");
140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_msync 65
142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_vfork 66
143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(67, "old vread");
145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(68, "old vwrite");
147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(69, "old sbrk");
149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(70, "old sstk");
151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(71, "old mmap");
153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(72, "old vadvise");
155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_munmap 73
157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mprotect 74
158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_madvise 75
159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(76, "old vhangup");
161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(77, "old vlimit");
163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mincore, 78, "3s 1m");
165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mincore, x0, x0+40960, x0); FAIL;
166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getgroups 79
168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setgroups 80
169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpgrp 81
170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setpgid, 82, "2s 0m");
172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setpgid, x0-1, x0-1); FAIL;
173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setitimer 83
175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(78, "old wait");
177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_swapon 85
179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getitimer 86
180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(87, "old gethostname");
182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(88, "old sethostname");
184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getdtablesize 89
186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_dup2 90
187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(91, "old getdopt");
189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fcntl 92
191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_select 93
192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(94, "old setdopt");
194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fsync 95
196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setpriority 96
197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_socket 97
198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_connect 98
199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(99, "old accept");
201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpriority 100
203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(101, "old send");
205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(102, "old recv");
207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(103, "old sigreturn");
209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_bind 104
211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setsockopt, 105, "5s 1m");
213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setsockopt, x0, x0, x0, x0+1, x0+1); FAIL;
214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_listen 106
216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(107, "old vtimes");
218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(108, "old sigvec");
220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(109, "old sigblock");
222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(110, "old sigsetmask");
224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigsuspend 111
226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(112, "old sigstack");
228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(113, "old recvmsg");
230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(114, "old sendmsg");
232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(115, "old vtrace");
234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_gettimeofday 116
236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getrusage 117
237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // Nb: there's no "getsockopt(optlen) points to unaddressable byte(s)";
239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // difficult to get with arg4 being checked with buf_and_len_pre_check.
240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getsockopt, 118, "5s 1m");
241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getsockopt, x0, x0, x0, x0+1, x0+&px[1]); FAIL;
242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(119, "old resuba");
244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_readv 120
246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_writev 121
247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_settimeofday 122
248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fchown 123
249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fchmod 124
250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(125, "old recvfrom");
252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setreuid 126
254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setregid 127
255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rename 128
256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(129, "old truncate");
258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(130, "old ftruncate");
260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_flock 131
262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mkfifo 132
263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sendto 133
264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_shutdown 134
265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_socketpair 135
266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mkdir 136
267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rmdir 137
268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_utimes 138
269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_futimes 139
270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_adjtime 140
271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(141, "old getpeername");
273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_gethostuuid 142
275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(143, "old sethostid");
277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(144, "old getrlimit");
279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(145, "old setrlimit");
281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(146, "old killpg");
283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setsid 147
285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(148, "old setquota");
287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(149, "old qquota");
289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(150, "old getsockname");
291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpgid 151
293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setprivexec 152
294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_pread 153
295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_pwrite 154
296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_nfssvc 155
297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(156, "old getdirentries");
299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_statfs 157
301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstatfs 158
302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_unmount 159
303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(160, "old async_daemon");
305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getfh 161
307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(162, "old getdomainname");
309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(163, "old setdomainname");
311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // /* 164 */
313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_quotactl 165
315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(166, "old exportfs");
317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mount, 167, "4s 2m");
319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mount, x0, x0, x0, x0); FAIL;
320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(168, "old ustat");
322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_csops, 169, "4s 1m");
324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_csops, x0, x0, x0+1, x0+1); FAILx(EFAULT);
325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(170, "old table");
327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(171, "old wait3");
329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(172, "old rpause");
331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_waitid 173
333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(174, "old getdents");
335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(175, "old gc_control");
337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_add_profil 176
339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(177-179, "unused");
341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_kdebug_trace 180
343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setgid 181
344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setegid 182
345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_seteuid 183
346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigreturn 184
347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_chud 185
348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(186-187, "unused");
350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_stat 188
352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstat 189
353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lstat 190
354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_pathconf 191
355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fpathconf 192
356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(193, "unused");
358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getrlimit 194
360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setrlimit 195
361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getdirentries 196
362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mmap 197
363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // /* 198  __syscall */
365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lseek          VG_DARWIN_SYSCALL_CONSTRUCT_UX64(199
367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_truncate 200
368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ftruncate 201
369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___sysctl 202
370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mlock 203
371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_munlock 204
372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_undelete 205
373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ATsocket 206
374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ATgetmsg 207
375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ATputmsg 208
376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ATPsndreq 209
377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ATPsndrsp 210
378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ATPgetreq 211
379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ATPgetrsp 212
380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(213, "reserved for AppleTalk");
382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_kqueue_from_portset_np 214
384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_kqueue_portset_np 215
385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mkcomplex 216
386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_statv 217
387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lstatv 218
388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstatv 219
389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getattrlist 220
390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setattrlist 221
391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getdirentriesattr 222
392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_exchangedata, 223, "3s 2m");
394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_exchangedata, x0, x0, x0); FAIL;
395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // /* 224  checkuseraccess */
397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_searchfs 225
399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_delete 226
400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_copyfile 227
401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(228-229, "unused");
403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_poll 230
405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_watchevent 231
406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_waitevent 232
407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_modwatch 233
408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getxattr 234
409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fgetxattr 235
410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setxattr 236
411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fsetxattr 237
412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_removexattr 238
413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fremovexattr 239
414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_listxattr 240
415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_flistxattr 241
416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fsctl 242
417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_initgroups 243
418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_posix_spawn 244
419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(245-246, "unused");
421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_nfsclnt 247
423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fhopen 248
424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(249, "unused");
426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_minherit 250
428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_semsys 251
429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_msgsys 252
430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_shmsys 253
431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_semctl 254
432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_semget 255
433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_semop 256
434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(257, "unused");
436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_msgctl 258
438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_msgget 259
439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_msgsnd 260
440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_msgrcv 261
441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_shmat, 262, "3s 0m");
443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_shmat, x0, x0, x0); FAIL;
444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_shmctl, 263, "3s 1m");
446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_shmctl, x0, x0+IPC_STAT, x0+1); FAIL;
447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_shmdt, 264, "1s 0m");
449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_shmdt, x0); FAIL;
450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_shmget, 265, "3s 0m");
452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_shmget, x0, x0, x0); FAIL;
453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_shm_open 266
455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_shm_unlink 267
456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sem_open, 268, "2s 1m");
458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sem_open, x0, x0); FAIL;
459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sem_open, 268, "(4-args) 2s 0m");
461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sem_open, "my_sem", O_CREAT|O_EXCL, x0, x0); SUCC_OR_FAIL;
462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // Nb: we add 0x12345 to make sure it's not a valid semaphore descriptor.
464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sem_close, 269, "1s 0m");
465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sem_close, x0+0x12345); FAIL;
466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sem_unlink, 270, "1s 1m");
468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sem_unlink, x0); FAIL;
469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sem_wait, 271, "1s 0m");
471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sem_wait, x0); FAIL;
472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sem_trywait, 272, "1s 0m");
474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sem_trywait, x0); FAIL;
475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sem_post, 273, "1s 0m");
477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sem_post, x0); FAIL;
478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sem_getvalue 274
480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sem_init, 275, "3s 1m");
482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sem_init, x0+1, x0, x0); FAILx(ENOSYS);
483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sem_destroy, 276, "1s 1m");
485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sem_destroy, x0+1); FAILx(ENOSYS);
486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_open_extended 277
488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_umask_extended 278
489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      size_t one = 1;
492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_stat_extended, 279, "4s 4m");
493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_stat_extended, x0, x0, x0, x0); FAIL;
494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // Go again to get a complaint about where the 3rd arg points;  it
495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // requires the 4th arg to point to a valid value.
496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_stat_extended, 0, 0, 0, &one); FAIL;
497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_lstat_extended, 280, "4s 4m");
499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_lstat_extended, x0, x0, x0, x0); FAIL;
500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // Go again to get a complaint about where the 3rd arg points;  it
501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // requires the 4th arg to point to a valid value.
502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_lstat_extended, 0, 0, 0, &one); FAIL;
503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_fstat_extended, 280, "4s 3m");
505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_fstat_extended, x0, x0, x0, x0); FAIL;
506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // Go again to get a complaint about where the 3rd arg points;  it
507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // requires the 4th arg to point to a valid value.
508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_fstat_extended, 0, 0, 0, &one); FAIL;
509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_chmod_extended 282
512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fchmod_extended 283
513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX: we don't check the 'results' (too hard, see the wrapper code).  If
515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // we did, it would be 2m.
516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_access_extended, 284, "4s 1m");
517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_access_extended, x0, x0+1, x0, x0); FAIL;
518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_settid 285
520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_gettid 286
521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setsgroups 287
522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getsgroups 288
523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setwgroups 289
524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getwgroups 290
525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mkfifo_extended 291
526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mkdir_extended 292
527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_identitysvc 293
528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_shared_region_check_np 294
529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_shared_region_map_np 295
530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(296, "old load_shared_file");
532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(297, "old reset_shared_file");
534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(298, "old new_system_shared_regions");
536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(299, "old shared_region_map_file_np");
538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(300, "old shared_region_make_private_np");
540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_mutex_destroy 301
542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_mutex_init 302
543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_mutex_lock 303
544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_mutex_trylock 304
545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_mutex_unlock 305
546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_cond_init 306
547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_cond_destroy 307
548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_cond_broadcast 308
549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_cond_signal 309
550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getsid 310
551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_settid_with_pid 311
552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_cond_timedwait 312
553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_aio_fsync 313
554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_aio_return, 314, "1s 0m");
556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_aio_return, x0); FAIL;
557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_aio_suspend, 315, "1s 0m");
559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_aio_suspend, x0, x0+1, x0); FAIL;
560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_aio_cancel 316
562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_aio_error, 317, "1s 0m");
564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_aio_error, x0); FAIL;
565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_aio_read, 318, "1s 1m");
567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_aio_read, x0); FAIL;
568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_aio_write, 319, "1s 1m");
570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_aio_write, x0); FAIL;
571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lio_listio 320
573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_cond_wait 321
574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_iopolicysys 322
575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(323, "unused");
577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mlockall 324
579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_munlockall 325
580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(326, "unused");
582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_issetugid 327
584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR___pthread_kill, 328, "2s 0m");
586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR___pthread_kill, x0, x0); FAIL;
587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_sigmask 329
589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___sigwait 330
590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigwait 330) // GrP fixme hack
591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___disable_threadsignal 331
592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_markcancel 332
593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_canceled 333
594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___semwait_signal 334
595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(335, "old utrace");
597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_proc_info 336
599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sendfile 337
600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_stat64 338
601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstat64 339
602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lstat64 340
603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      size_t one = 1;
606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_stat64_extended, 341, "4s 4m");
607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_stat64_extended, x0, x0, x0, x0); FAIL;
608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // Go again to get a complaint about where the 3rd arg points;  it
609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // requires the 4th arg to point to a valid value.
610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_stat64_extended, 0, 0, 0, &one); FAIL;
611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_lstat64_extended, 342, "4s 4m");
613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_lstat64_extended, x0, x0, x0, x0); FAIL;
614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // Go again to get a complaint about where the 3rd arg points;  it
615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // requires the 4th arg to point to a valid value.
616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_lstat64_extended, 0, 0, 0, &one); FAIL;
617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_fstat64_extended, 342, "4s 3m");
619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_fstat64_extended, x0, x0, x0, x0); FAIL;
620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // Go again to get a complaint about where the 3rd arg points;  it
621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // requires the 4th arg to point to a valid value.
622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_fstat64_extended, 0, 0, 0, &one); FAIL;
623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstat64_extended 343
626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getdirentries64 344
627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_statfs64 345
628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstatfs64 346
629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getfsstat64, 347, "3s 1m");
631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getfsstat64, x0+1, x0+1, x0); SUCC; // This should fail...
632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_chdir 348
634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___pthread_fchdir 349
635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_audit 350
636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_auditon 351
637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // /* 352 */
639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getauid 353
641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setauid 354
642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getaudit 355
643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setaudit 356
644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getaudit_addr 357
645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setaudit_addr 358
646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_auditctl 359
647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_bsdthread_create 360
648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_bsdthread_terminate 361
649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_kqueue 362
650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_kevent 363
651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lchown 364
652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_stack_snapshot 365
653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_bsdthread_register 366
654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_workq_open 367
655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_workq_ops 368
656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO_UNIMP(369-379, "unused");
658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_execve 380
660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_syscall 381
661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_get_file 382
662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_set_file 383
663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_get_link 384
664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_set_link 385
665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_get_proc 386
666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_set_proc 387
667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_get_fd 388
668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_set_fd 389
669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_get_pid 390
670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_get_lcid 391
671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_get_lctx 392
672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_set_lctx 393
673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setlcid 394
674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getlcid 395
675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // The nocancel syscalls (396--423) are tested in scalar_nocancel.c.
677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_mount 424
679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_get_mount 425
680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR___mac_getfsstat 426
681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_MAXSYSCALL 427
682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX: all these are copied from x86-linux/scalar.c.
685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_creat 8
687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_creat, "2s 1m");
688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_creat, x0, x0); FAIL;
689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_execve 11
691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // Nb: could have 3 memory errors if we pass x0+1 as the 2nd and 3rd
692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // args, except for bug #93174.
693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_execve, "3s 1m");
694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_execve, x0, x0, x0); FAIL;
695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_time 13
697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_time, "1s 1m");
698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_time, x0+1); FAIL;
699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lchown 16
701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lchown, "n/a");
702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_lchown); // (Not yet handled by Valgrind) FAIL;
703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_break 17
705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_break, "ni");
706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_break); FAIL;
707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_oldstat 18
709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_oldstat, "n/a");
710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (obsolete, not handled by Valgrind)
711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lseek 19
713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lseek, "3s 0m");
714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_lseek, x0-1, x0, x0); FAILx(EBADF);
715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpid 20
717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getpid, "0s 0m");
718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getpid); SUCC;
719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mount 21
721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mount, "5s 3m");
722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mount, x0, x0, x0, x0, x0); FAIL;
723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_umount 22
725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_umount, "1s 1m");
726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_umount, x0); FAIL;
727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setuid 23
729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setuid, "1s 0m");
730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setuid, x0); FAIL;
731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getuid 24
733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getuid, "0s 0m");
734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getuid); SUCC;
735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_stime 25
737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_stime, "n/a");
738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_stime); // (Not yet handled by Valgrind) FAIL;
739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ptrace 26
741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX: memory pointed to by arg3 goes unchecked... otherwise would be 2m
742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ptrace, "4s 1m");
743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_ptrace, x0+PTRACE_GETREGS, x0, x0, x0); FAIL;
744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_alarm 27
746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_alarm, "1s 0m");
747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_alarm, x0); SUCC;
748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_oldfstat 28
750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_oldfstat, "n/a");
751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (obsolete, not handled by Valgrind)
752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_pause 29
754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_pause, "ignore");
755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (hard to test, and no args so not much to be gained -- don't bother)
756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_utime 30
758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_utime, "2s 2m");
759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_utime, x0, x0+1); FAIL;
760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_stty 31
762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_stty, "ni");
763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_stty); FAIL;
764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_gtty 32
766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_gtty, "ni");
767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_gtty); FAIL;
768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_access 33
770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_access, "2s 1m");
771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_access, x0, x0); FAIL;
772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_nice 34
774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_nice, "1s 0m");
775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_nice, x0); SUCC;
776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ftime 35
778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ftime, "ni");
779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_ftime); FAIL;
780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sync 36
782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sync, "0s 0m");
783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sync); SUCC;
784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_kill 37
786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_kill, "2s 0m");
787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_kill, x0, x0); SUCC;
788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rename 38
790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_rename, "2s 2m");
791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_rename, x0, x0); FAIL;
792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mkdir 39
794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mkdir, "2s 1m");
795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mkdir, x0, x0); FAIL;
796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rmdir 40
798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_rmdir, "1s 1m");
799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_rmdir, x0); FAIL;
800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_dup 41
802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_dup, "1s 0m");
803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_dup, x0-1); FAIL;
804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_pipe 42
806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_pipe, "1s 1m");
807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_pipe, x0); FAIL;
808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_times 43
810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_times, "1s 1m");
811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_times, x0+1); FAIL;
812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_prof 44
814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_prof, "ni");
815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_prof); FAIL;
816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_brk 45
818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_brk, "1s 0m");
819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_brk, x0); SUCC;
820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setgid 46
822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setgid, "1s 0m");
823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setgid, x0); FAIL;
824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getgid 47
826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getgid, "0s 0m");
827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getgid); SUCC;
828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_signal 48
830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_signal, "n/a");
831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_signal); // (Not yet handled by Valgrind) FAIL;
832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_geteuid 49
834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_geteuid, "0s 0m");
835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_geteuid); SUCC;
836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getegid 50
838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getegid, "0s 0m");
839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getegid); SUCC;
840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_acct 51
842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_acct, "1s 1m");
843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_acct, x0); FAIL;
844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_umount2 52
846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_umount2, "2s 1m");
847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_umount2, x0, x0); FAIL;
848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lock 53
850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lock, "ni");
851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_lock); FAIL;
852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ioctl 54
854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   #include <asm/ioctls.h>
855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ioctl, "3s 1m");
856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_ioctl, x0, x0+TCSETS, x0); FAIL;
857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fcntl 55
859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // As with sys_open(), the 'fd' error is suppressed for the later ones.
860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // For F_GETFD the 3rd arg is ignored
861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fcntl, "(GETFD) 2s 0m");
862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fcntl, x0-1, x0+F_GETFD, x0); FAILx(EBADF);
863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // For F_DUPFD the 3rd arg is 'arg'.  We don't check the 1st two args
865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // because any errors may or may not be commoned up with the ones from
866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // the previous fcntl call.
867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fcntl, "(DUPFD) 1s 0m");
868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fcntl, -1, F_DUPFD, x0); FAILx(EBADF);
869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // For F_GETLK the 3rd arg is 'lock'.  On x86, this fails w/EBADF.  But
871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // on amd64 in 32-bit mode it fails w/EFAULT.  We don't check the 1st two
872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // args for the reason given above.
873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fcntl, "(GETLK) 1s 0m");
874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fcntl, -1, F_GETLK, x0); FAIL; //FAILx(EBADF);
875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mpx 56
877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mpx, "ni");
878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mpx); FAIL;
879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setpgid 57
881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setpgid, "2s 0m");
882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setpgid, x0, x0-1); FAIL;
883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ulimit 58
885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ulimit, "ni");
886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_ulimit); FAIL;
887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_oldolduname 59
889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_oldolduname, "n/a");
890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (obsolete, not handled by Valgrind)
891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_umask 60
893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_umask, "1s 0m");
894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_umask, x0+022); SUCC;
895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_chroot 61
897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_chroot, "1s 1m");
898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_chroot, x0); FAIL;
899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ustat 62
901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ustat, "n/a");
902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (deprecated, not handled by Valgrind)
903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_dup2 63
905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_dup2, "2s 0m");
906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_dup2, x0-1, x0); FAIL;
907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getppid 64
909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getppid, "0s 0m");
910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getppid); SUCC;
911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpgrp 65
913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getpgrp, "0s 0m");
914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getpgrp); SUCC;
915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setsid 66
917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setsid, "0s 0m");
918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setsid); SUCC_OR_FAIL;
919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigaction 67
921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sigaction, "3s 4m");
922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sigaction, x0, x0+&px[1], x0+&px[1]); FAIL;
923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sgetmask 68 sys_sgetmask()
925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sgetmask, "n/a");
926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sgetmask); // (Not yet handled by Valgrind) FAIL;
927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ssetmask 69
929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ssetmask, "n/a");
930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_ssetmask); // (Not yet handled by Valgrind) FAIL;
931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setreuid 70
933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setreuid, "2s 0m");
934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setreuid, x0, x0); FAIL;
935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setregid 71
937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setregid, "2s 0m");
938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setregid, x0, x0); FAIL;
939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigsuspend 72
941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX: how do you use this function?
942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sigsuspend, "ignore");
943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (I don't know how to test this...)
944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigpending 73
946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sigpending, "1s 1m");
947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sigpending, x0); FAIL;
948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sethostname 74
950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sethostname, "n/a");
951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sethostname); // (Not yet handled by Valgrind) FAIL;
952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setrlimit 75
954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setrlimit, "2s 1m");
955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setrlimit, x0, x0); FAIL;
956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getrlimit 76
958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getrlimit, "2s 1m");
959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getrlimit, x0, x0); FAIL;
960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getrusage 77
962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getrusage, "2s 1m");
963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getrusage, x0, x0); FAIL;
964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_gettimeofday 78
966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_gettimeofday, "2s 2m");
967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_gettimeofday, x0, x0+1); FAIL;
968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_settimeofday 79
970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_settimeofday, "2s 2m");
971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_settimeofday, x0, x0+1); FAIL;
972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getgroups 80
974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getgroups, "2s 1m");
975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getgroups, x0+1, x0+1); FAIL;
976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setgroups 81
978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setgroups, "2s 1m");
979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setgroups, x0+1, x0+1); FAIL;
980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_select 82
982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      long args[5] = { x0+8, x0+0xffffffee, x0+1, x0+1, x0+1 };
984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_select, "1s 5m");
985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_select, args+x0); FAIL;
986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_symlink 83
989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_symlink, "2s 2m");
990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_symlink, x0, x0); FAIL;
991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_oldlstat 84
993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_oldlstat, "n/a");
994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (obsolete, not handled by Valgrind)
995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_readlink 85
997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_readlink, "3s 2m");
998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_readlink, x0+1, x0+1, x0+1); FAIL;
999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_uselib 86
1001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_uselib, "n/a");
1002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_uselib); // (Not yet handled by Valgrind) FAIL;
1003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_swapon 87
1005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_swapon, "n/a");
1006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_swapon); // (Not yet handled by Valgrind) FAIL;
1007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_reboot 88
1009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_reboot, "n/a");
1010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_reboot); // (Not yet handled by Valgrind) FAIL;
1011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_readdir 89
1013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_readdir, "n/a");
1014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (superseded, not handled by Valgrind)
1015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mmap 90
1017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
1018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      long args[6] = { x0, x0, x0, x0, x0-1, x0 };
1019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_mmap, "1s 1m");
1020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_mmap, args+x0); FAIL;
1021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
1022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_munmap 91
1024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_munmap, "2s 0m");
1025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_munmap, x0, x0); FAIL;
1026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_truncate 92
1028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_truncate, "2s 1m");
1029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_truncate, x0, x0); FAIL;
1030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ftruncate 93
1032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ftruncate, "2s 0m");
1033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_ftruncate, x0, x0); FAIL;
1034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fchmod 94
1036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fchmod, "2s 0m");
1037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fchmod, x0-1, x0); FAIL;
1038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fchown 95
1040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fchown, "3s 0m");
1041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fchown, x0, x0, x0); FAIL;
1042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpriority 96
1044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getpriority, "2s 0m");
1045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getpriority, x0-1, x0); FAIL;
1046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setpriority 97
1048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setpriority, "3s 0m");
1049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setpriority, x0-1, x0, x0); FAIL;
1050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_profil 98
1052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_profil, "ni");
1053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_profil); FAIL;
1054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_statfs 99
1056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_statfs, "2s 2m");
1057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_statfs, x0, x0); FAIL;
1058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstatfs 100
1060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fstatfs, "2s 1m");
1061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fstatfs, x0, x0); FAIL;
1062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ioperm 101
1064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ioperm, "3s 0m");
1065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_ioperm, x0, x0, x0); FAIL;
1066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_socketcall 102
1068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_socketcall, "XXX");
1069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (XXX: need to do all sub-cases properly)
1070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_syslog 103
1072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_syslog, "3s 1m");
1073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_syslog, x0+2, x0, x0+1); FAIL;
1074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setitimer 104
1076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setitimer, "3s 2m");
1077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setitimer, x0, x0+1, x0+1); FAIL;
1078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getitimer 105
1080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getitimer, "2s 1m");
1081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getitimer, x0, x0, x0); FAIL;
1082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_stat 106
1084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_stat, "2s 2m");
1085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_stat, x0, x0); FAIL;
1086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lstat 107
1088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lstat, "2s 2m");
1089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_lstat, x0, x0); FAIL;
1090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstat 108
1092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fstat, "2s 1m");
1093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fstat, x0, x0); FAIL;
1094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_olduname 109
1096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_olduname, "n/a");
1097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (obsolete, not handled by Valgrind)
1098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_iopl 110
1100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_iopl, "1s 0m");
1101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_iopl, x0+100); FAIL;
1102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_vhangup 111
1104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_vhangup, "0s 0m");
1105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_vhangup); SUCC_OR_FAIL;  // Will succeed for superuser
1106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_idle 112
1108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_idle, "ni");
1109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_idle); FAIL;
1110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_vm86old 113
1112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_vm86old, "n/a");
1113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (will probably never be handled by Valgrind)
1114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_swapoff 115
1116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_swapoff, "n/a");
1117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_swapoff); // (Not yet handled by Valgrind) FAIL;
1118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sysinfo 116
1120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sysinfo, "1s 1m");
1121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sysinfo, x0); FAIL;
1122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ipc 117
1124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX: This is simplistic -- need to do all the sub-cases properly.
1125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX: Also, should be 6 scalar errors, except glibc's syscall() doesn't
1126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   //      use the 6th one!
1127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ipc, "5s 0m");
1128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_ipc, x0+4, x0, x0, x0, x0, x0); FAIL;
1129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fsync 118
1131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fsync, "1s 0m");
1132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fsync, x0-1); FAIL;
1133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigreturn 119
1135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sigreturn, "n/a");
1136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sigreturn); // (Not yet handled by Valgrind) FAIL;
1137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_clone 120
1139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#ifndef CLONE_PARENT_SETTID
1140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define CLONE_PARENT_SETTID   0x00100000
1141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
1142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX: should really be "4s 2m"?  Not sure... (see PRE(sys_clone))
1143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_clone, "4s 0m");
1144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_clone, x0|CLONE_PARENT_SETTID|SIGCHLD, x0, x0, x0); FAIL;
1145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   if (0 == res) {
1146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_exit, 0); FAIL;
1147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
1148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setdomainname 121
1150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setdomainname, "n/a");
1151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_setdomainname); // (Not yet handled by Valgrind) FAIL;
1152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_uname 122
1154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_uname, "1s 1m");
1155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_uname, x0); FAIL;
1156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_modify_ldt 123
1158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_modify_ldt, "3s 1m");
1159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_modify_ldt, x0+1, x0, x0+1); FAILx(EINVAL);
1160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_adjtimex 124
1162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX: need to do properly, but deref'ing NULL causing Valgrind to crash...
1163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown     GO(__NR_adjtimex, "XXX");
1164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown//   SY(__NR_adjtimex, x0); FAIL;
1165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mprotect 125
1167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mprotect, "3s 0m");
1168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mprotect, x0+1, x0, x0); FAILx(EINVAL);
1169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigprocmask 126
1171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sigprocmask, "3s 2m");
1172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sigprocmask, x0, x0+&px[1], x0+&px[1]); SUCC;
1173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_create_module 127
1175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_create_module, "ni");
1176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_create_module); FAIL;
1177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_init_module 128
1179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_init_module, "3s 2m");
1180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_init_module, x0, x0+1, x0); FAIL;
1181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_delete_module 129
1183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_delete_module, "n/a");
1184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_delete_module); // (Not yet handled by Valgrind) FAIL;
1185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_get_kernel_syms 130
1187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_get_kernel_syms, "ni");
1188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_get_kernel_syms); FAIL;
1189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_quotactl 131
1191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_quotactl, "4s 1m");
1192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_quotactl, x0, x0, x0, x0); FAIL;
1193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpgid 132
1195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getpgid, "1s 0m");
1196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getpgid, x0-1); FAIL;
1197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_bdflush 134
1199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_bdflush, "n/a");
1200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_bdflush); // (Not yet handled by Valgrind) FAIL;
1201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sysfs 135
1203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sysfs, "n/a");
1204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sysfs); // (Not yet handled by Valgrind) FAIL;
1205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_personality 136
1207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_personality, "1s 0m");
1208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_personality, x0+0xffffffff); SUCC;
1209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_afs_syscall 137
1211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_afs_syscall, "ni");
1212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_afs_syscall); FAIL;
1213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setfsuid 138
1215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setfsuid, "1s 0m");
1216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setfsuid, x0); SUCC;  // This syscall has a stupid return value
1217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setfsgid 139
1219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setfsgid, "1s 0m");
1220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setfsgid, x0); SUCC;  // This syscall has a stupid return value
1221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR__llseek 140
1223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR__llseek, "5s 1m");
1224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR__llseek, x0, x0, x0, x0, x0); FAIL;
1225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getdents 141
1227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getdents, "3s 1m");
1228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getdents, x0, x0, x0+1); FAIL;
1229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR__newselect 142
1231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR__newselect, "5s 4m");
1232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR__newselect, x0+8, x0+0xffffffff, x0+1, x0+1, x0+1); FAIL;
1233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_flock 143
1235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_flock, "2s 0m");
1236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_flock, x0, x0); FAIL;
1237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_msync 144
1239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_msync, "3s 1m");
1240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_msync, x0, x0+1, x0); FAIL;
1241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_readv 145
1243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_readv, "3s 1m");
1244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_readv, x0, x0, x0+1); FAIL;
1245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_writev 146
1247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_writev, "3s 1m");
1248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_writev, x0, x0, x0+1); FAIL;
1249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getsid 147
1251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getsid, "1s 0m");
1252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getsid, x0-1); FAIL;
1253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fdatasync 148
1255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fdatasync, "1s 0m");
1256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fdatasync, x0-1); FAIL;
1257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR__sysctl 149
1259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR__sysctl, "1s 1m");
1260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR__sysctl, x0); FAIL;
1261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mlock 150
1263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mlock, "2s 0m");
1264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mlock, x0, x0+1); FAIL;
1265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_munlock 151
1267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_munlock, "2s 0m");
1268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_munlock, x0, x0+1); FAIL;
1269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mlockall 152
1271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mlockall, "1s 0m");
1272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mlockall, x0-1); FAIL;
1273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_munlockall 153
1275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_munlockall, "0s 0m");
1276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_munlockall); SUCC_OR_FAILx(EPERM);
1277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_setparam 154
1279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_setparam, "2s 1m");
1280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sched_setparam, x0, x0); FAIL;
1281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_getparam 155
1283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_getparam, "2s 1m");
1284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sched_getparam, x0, x0); FAIL;
1285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_setscheduler 156
1287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_setscheduler, "3s 1m");
1288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sched_setscheduler, x0-1, x0, x0+1); FAIL;
1289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_getscheduler 157
1291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_getscheduler, "1s 0m");
1292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sched_getscheduler, x0-1); FAIL;
1293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_yield 158
1295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_yield, "0s 0m");
1296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sched_yield); SUCC;
1297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_get_priority_max 159
1299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_get_priority_max, "1s 0m");
1300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sched_get_priority_max, x0-1); FAIL;
1301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_get_priority_min 160
1303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_get_priority_min, "1s 0m");
1304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sched_get_priority_min, x0-1); FAIL;
1305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_rr_get_interval 161
1307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_rr_get_interval, "n/a");
1308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sched_rr_get_interval); // (Not yet handled by Valgrind) FAIL;
1309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_nanosleep 162
1311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_nanosleep, "2s 2m");
1312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_nanosleep, x0, x0+1); FAIL;
1313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mremap 163
1315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mremap, "5s 0m");
1316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mremap, x0+1, x0, x0, x0+MREMAP_FIXED, x0); FAILx(EINVAL);
1317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setresuid 164
1319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setresuid, "3s 0m");
1320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setresuid, x0, x0, x0); FAIL;
1321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getresuid 165
1323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getresuid, "3s 3m");
1324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getresuid, x0, x0, x0); FAIL;
1325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_vm86 166
1327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_vm86, "n/a");
1328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (will probably never be handled by Valgrind)
1329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_query_module 167
1331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_query_module, "ni");
1332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_query_module); FAIL;
1333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_poll 168
1335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_poll, "3s 1m");
1336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_poll, x0, x0+1, x0); FAIL;
1337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_nfsservctl 169
1339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_nfsservctl, "n/a");
1340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_nfsservctl); // (Not yet handled by Valgrind) FAIL;
1341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setresgid 170
1343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setresgid, "3s 0m");
1344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setresgid, x0, x0, x0); FAIL;
1345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getresgid 171
1347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getresgid, "3s 3m");
1348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getresgid, x0, x0, x0); FAIL;
1349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_prctl 172
1351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_prctl, "5s 0m");
1352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_prctl, x0, x0, x0, x0, x0); FAIL;
1353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rt_sigreturn 173
1355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_rt_sigreturn, "n/a");
1356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_rt_sigreturn); // (Not yet handled by Valgrind) FAIL;
1357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rt_sigaction 174
1359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_rt_sigaction, "4s 4m");
1360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_rt_sigaction, x0, x0+&px[2], x0+&px[2], x0); FAIL;
1361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rt_sigprocmask 175
1363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_rt_sigprocmask, "4s 2m");
1364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_rt_sigprocmask, x0, x0+1, x0+1, x0); FAIL;
1365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rt_sigpending 176
1367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_rt_sigpending, "2s 1m");
1368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_rt_sigpending, x0, x0+1); FAIL;
1369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rt_sigtimedwait 177
1371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_rt_sigtimedwait, "4s 3m");
1372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_rt_sigtimedwait, x0+1, x0+1, x0+1, x0); FAIL;
1373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rt_sigqueueinfo 178
1375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_rt_sigqueueinfo, "3s 1m");
1376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_rt_sigqueueinfo, x0, x0+1, x0); FAIL;
1377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_rt_sigsuspend 179
1379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_rt_sigsuspend, "ignore");
1380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (I don't know how to test this...)
1381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_pread64 180
1383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_pread64, "5s 1m");
1384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_pread64, x0, x0, x0+1, x0, x0); FAIL;
1385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_pwrite64 181
1387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_pwrite64, "5s 1m");
1388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_pwrite64, x0, x0, x0+1, x0, x0); FAIL;
1389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getcwd 183
1391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getcwd, "2s 1m");
1392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getcwd, x0, x0+1); FAIL;
1393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_capget 184
1395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_capget, "2s 2m");
1396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_capget, x0, x0); FAIL;
1397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_capset 185
1399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_capset, "2s 2m");
1400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_capset, x0, x0); FAIL;
1401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sigaltstack 186
1403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
1404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      struct our_sigaltstack {
1405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown              void *ss_sp;
1406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown              int ss_flags;
1407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown              size_t ss_size;
1408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      } ss;
1409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      ss.ss_sp     = NULL;
1410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      ss.ss_flags  = 0;
1411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      ss.ss_size   = 0;
1412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      VALGRIND_MAKE_MEM_NOACCESS(& ss, sizeof(struct our_sigaltstack));
1413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_sigaltstack, "2s 2m");
1414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_sigaltstack, x0+&ss, x0+&ss); SUCC;
1415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
1416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sendfile 187
1418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sendfile, "4s 1m");
1419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sendfile, x0, x0, x0+1, x0); FAIL;
1420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getpmsg 188
1422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // Could do 5s 4m with more effort, but I can't be bothered for this
1423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // crappy non-standard syscall.
1424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getpmsg, "5s 0m");
1425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getpmsg, x0, x0, x0, x0); FAIL;
1426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_putpmsg 189
1428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // Could do 5s 2m with more effort, but I can't be bothered for this
1429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // crappy non-standard syscall.
1430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_putpmsg, "5s 0m");
1431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_putpmsg, x0, x0, x0, x0, x0); FAIL;
1432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_vfork 190
1434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_vfork, "other");
1435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (sse scalar_vfork.c)
1436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ugetrlimit 191
1438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ugetrlimit, "2s 1m");
1439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_ugetrlimit, x0, x0); FAIL;
1440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mmap2 192
1442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mmap2, "6s 0m");
1443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mmap2, x0, x0, x0, x0, x0-1, x0); FAIL;
1444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_truncate64 193
1446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_truncate64, "3s 1m");
1447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_truncate64, x0, x0, x0); FAIL;
1448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_ftruncate64 194
1450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_ftruncate64, "3s 0m");
1451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_ftruncate64, x0, x0, x0); FAIL;
1452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_stat64 195
1454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_stat64, "2s 2m");
1455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_stat64, x0, x0); FAIL;
1456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lstat64 196
1458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lstat64, "2s 2m");
1459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_lstat64, x0, x0); FAIL;
1460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstat64 197
1462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fstat64, "2s 1m");
1463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fstat64, x0, x0); FAIL;
1464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lchown32 198
1466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lchown32, "3s 1m");
1467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_lchown32, x0, x0, x0); FAIL;
1468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getuid32 199
1470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getuid32, "0s 0m");
1471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getuid32); SUCC;
1472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getgid32 200
1474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getgid32, "0s 0m");
1475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getgid32); SUCC;
1476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_geteuid32 201
1478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_geteuid32, "0s 0m");
1479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_geteuid32); SUCC;
1480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getegid32 202
1482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getegid32, "0s 0m");
1483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getegid32); SUCC;
1484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setreuid32 203
1486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setreuid32, "2s 0m");
1487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setreuid32, x0, x0); FAIL;
1488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setregid32 204
1490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setregid32, "2s 0m");
1491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setregid32, x0, x0); FAIL;
1492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getgroups32 205
1494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getgroups32, "2s 1m");
1495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getgroups32, x0+1, x0+1); FAIL;
1496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setgroups32 206
1498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setgroups32, "2s 1m");
1499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setgroups32, x0+1, x0+1); FAIL;
1500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fchown32 207
1502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fchown32, "3s 0m");
1503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fchown32, x0, x0, x0); FAIL;
1504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setresuid32 208
1506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setresuid32, "3s 0m");
1507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setresuid32, x0, x0, x0); FAIL;
1508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getresuid32 209
1510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getresuid32, "3s 3m");
1511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getresuid32, x0, x0, x0); FAIL;
1512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setresgid32 210
1514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setresgid32, "3s 0m");
1515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setresgid32, x0, x0, x0); FAIL;
1516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getresgid32 211
1518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getresgid32, "3s 3m");
1519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getresgid32, x0, x0, x0); FAIL;
1520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_chown32 212
1522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_chown32, "3s 1m");
1523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_chown32, x0, x0, x0); FAIL;
1524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setuid32 213
1526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setuid32, "1s 0m");
1527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setuid32, x0); FAIL;
1528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setgid32 214
1530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setgid32, "1s 0m");
1531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setgid32, x0); FAIL;
1532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setfsuid32 215
1534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setfsuid32, "1s 0m");
1535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setfsuid32, x0); SUCC;  // This syscall has a stupid return value
1536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setfsgid32 216
1538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setfsgid32, "1s 0m");
1539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setfsgid32, x0); SUCC;  // This syscall has a stupid return value
1540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_pivot_root 217
1542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_pivot_root, "n/a");
1543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_pivot_root); // (Not yet handled by Valgrind) FAIL;
1544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mincore 218
1546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mincore, "3s 1m");
1547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mincore, x0, x0+40960, x0); FAIL;
1548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_madvise 219
1550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_madvise, "3s 0m");
1551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_madvise, x0, x0+1, x0); FAILx(ENOMEM);
1552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getdents64 220
1554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getdents64, "3s 1m");
1555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getdents64, x0, x0, x0+1); FAIL;
1556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fcntl64 221
1558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // As with sys_open(), we don't trigger errors for the 1st two args for
1559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // the later ones.
1560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // For F_GETFD the 3rd arg is ignored.
1561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fcntl64, "(GETFD) 2s 0m");
1562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fcntl64, x0-1, x0+F_GETFD, x0); FAILx(EBADF);
1563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // For F_DUPFD the 3rd arg is 'arg'
1565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fcntl64, "(DUPFD) 1s 0m");
1566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fcntl64, -1, F_DUPFD, x0); FAILx(EBADF);
1567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // For F_GETLK the 3rd arg is 'lock'.
1569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // On x86, this fails w/EBADF.  But on amd64 in 32-bit mode it fails
1570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // w/EFAULT.
1571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fcntl64, "(GETLK) 1s 0m");
1572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fcntl64, -1, +F_GETLK, x0); FAIL; //FAILx(EBADF);
1573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // 222
1575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(222, "ni");
1576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(222); FAIL;
1577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // 223
1579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(223, "ni");
1580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(223); FAIL;
1581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_gettid 224
1583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_gettid, "n/a");
1584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_gettid); // (Not yet handled by Valgrind) FAIL;
1585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_readahead 225
1587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_readahead, "n/a");
1588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_readahead); // (Not yet handled by Valgrind) FAIL;
1589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_setxattr 226
1591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_setxattr, "5s 3m");
1592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_setxattr, x0, x0, x0, x0+1, x0); FAIL;
1593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lsetxattr 227
1595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lsetxattr, "5s 3m");
1596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_lsetxattr, x0, x0, x0, x0+1, x0); FAIL;
1597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fsetxattr 228
1599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fsetxattr, "5s 2m");
1600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fsetxattr, x0, x0, x0, x0+1, x0); FAIL;
1601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_getxattr 229
1603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_getxattr, "4s 3m");
1604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_getxattr, x0, x0, x0, x0+1); FAIL;
1605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lgetxattr 230
1607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lgetxattr, "4s 3m");
1608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_lgetxattr, x0, x0, x0, x0+1); FAIL;
1609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fgetxattr 231
1611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fgetxattr, "4s 2m");
1612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fgetxattr, x0, x0, x0, x0+1); FAIL;
1613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_listxattr 232
1615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_listxattr, "3s 2m");
1616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_listxattr, x0, x0, x0+1); FAIL;
1617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_llistxattr 233
1619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_llistxattr, "3s 2m");
1620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_llistxattr, x0, x0, x0+1); FAIL;
1621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_flistxattr 234
1623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_flistxattr, "3s 1m");
1624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_flistxattr, x0-1, x0, x0+1); FAIL; /* kernel returns EBADF, but both seem correct */
1625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_removexattr 235
1627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_removexattr, "2s 2m");
1628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_removexattr, x0, x0); FAIL;
1629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lremovexattr 236
1631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lremovexattr, "2s 2m");
1632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_lremovexattr, x0, x0); FAIL;
1633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fremovexattr 237
1635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fremovexattr, "2s 1m");
1636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fremovexattr, x0, x0); FAIL;
1637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_tkill 238
1639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_tkill, "n/a");
1640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_tkill); // (Not yet handled by Valgrind) FAIL;
1641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sendfile64 239
1643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sendfile64, "4s 1m");
1644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sendfile64, x0, x0, x0+1, x0); FAIL;
1645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_futex 240
1647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   #ifndef FUTEX_WAIT
1648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   #define FUTEX_WAIT   0
1649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   #endif
1650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // XXX: again, glibc not doing 6th arg means we have only 5s errors
1651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_futex, "5s 2m");
1652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_futex, x0+FUTEX_WAIT, x0, x0, x0+1, x0, x0); FAIL;
1653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_setaffinity 241
1655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_setaffinity, "3s 1m");
1656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sched_setaffinity, x0, x0+1, x0); FAIL;
1657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sched_getaffinity 242
1659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sched_getaffinity, "3s 1m");
1660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sched_getaffinity, x0, x0+1, x0); FAIL;
1661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_set_thread_area 243
1663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_set_thread_area, "1s 1m");
1664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_set_thread_area, x0); FAILx(EFAULT);
1665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_get_thread_area 244
1667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_get_thread_area, "1s 1m");
1668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_get_thread_area, x0); FAILx(EFAULT);
1669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_io_setup 245
1671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_io_setup, "2s 1m");
1672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_io_setup, x0, x0); FAIL;
1673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_io_destroy 246
1675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
1676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      // jump through hoops to prevent the PRE(io_destroy) wrapper crashing.
1677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      struct fake_aio_ring {
1678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        unsigned        id;     /* kernel internal index number */
1679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        unsigned        nr;     /* number of io_events */
1680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        // There are more fields in the real aio_ring, but the 'nr' field is
1681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        // the only one used by the PRE() wrapper.
1682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      } ring = { 0, 0 };
1683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      struct fake_aio_ring* ringptr = &ring;
1684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      GO(__NR_io_destroy, "1s 0m");
1685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      SY(__NR_io_destroy, x0+&ringptr); FAIL;
1686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
1687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_io_getevents 247
1689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_io_getevents, "5s 2m");
1690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_io_getevents, x0, x0, x0+1, x0, x0+1); FAIL;
1691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_io_submit 248
1693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_io_submit, "3s 1m");
1694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_io_submit, x0, x0+1, x0); FAIL;
1695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_io_cancel 249
1697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_io_cancel, "3s 2m");
1698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_io_cancel, x0, x0, x0); FAIL;
1699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fadvise64 250
1701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fadvise64, "n/a");
1702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_fadvise64); // (Not yet handled by Valgrind) FAIL;
1703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // 251
1705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(251, "ni");
1706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(251); FAIL;
1707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_exit_group 252
1709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_exit_group, "other");
1710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // (see scalar_exit_group.c)
1711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_lookup_dcookie 253
1713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_lookup_dcookie, "4s 1m");
1714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_lookup_dcookie, x0, x0, x0, x0+1); FAIL;
1715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_epoll_create 254
1717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_epoll_create, "1s 0m");
1718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_epoll_create, x0); SUCC_OR_FAIL;
1719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_epoll_ctl 255
1721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_epoll_ctl, "4s 1m");
1722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_epoll_ctl, x0, x0, x0, x0); FAIL;
1723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_epoll_wait 256
1725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_epoll_wait, "4s 1m");
1726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_epoll_wait, x0, x0, x0+1, x0); FAIL;
1727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_remap_file_pages 257
1729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_remap_file_pages, "n/a");
1730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_remap_file_pages); // (Not yet handled by Valgrind) FAIL;
1731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_set_tid_address 258
1733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_set_tid_address, "1s 0m");
1734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_set_tid_address, x0); SUCC_OR_FAILx(ENOSYS);
1735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_timer_create 259
1737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_timer_create, "3s 2m");
1738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_timer_create, x0, x0+1, x0); FAIL;
1739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_timer_settime (__NR_timer_create+1)
1741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_timer_settime, "4s 2m");
1742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_timer_settime, x0, x0, x0, x0+1); FAIL;
1743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_timer_gettime (__NR_timer_create+2)
1745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_timer_gettime, "2s 1m");
1746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_timer_gettime, x0, x0); FAIL;
1747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_timer_getoverrun (__NR_timer_create+3)
1749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_timer_getoverrun, "1s 0m");
1750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_timer_getoverrun, x0); FAIL;
1751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_timer_delete (__NR_timer_create+4)
1753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_timer_delete, "1s 0m");
1754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_timer_delete, x0); FAIL;
1755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_clock_settime (__NR_timer_create+5)
1757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_clock_settime, "2s 1m");
1758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_clock_settime, x0, x0);  FAIL; FAIL;
1759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_clock_gettime (__NR_timer_create+6)
1761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_clock_gettime, "2s 1m");
1762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_clock_gettime, x0, x0); FAIL;
1763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_clock_getres (__NR_timer_create+7)
1765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_clock_getres, "2s 1m");
1766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_clock_getres, x0+1, x0+1); FAIL; FAIL;
1767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_clock_nanosleep (__NR_timer_create+8)
1769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_clock_nanosleep, "n/a");
1770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_clock_nanosleep); // (Not yet handled by Valgrind) FAIL;
1771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_statfs64 268
1773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_statfs64, "3s 2m");
1774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_statfs64, x0, x0+1, x0); FAIL;
1775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fstatfs64 269
1777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fstatfs64, "3s 1m");
1778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_fstatfs64, x0, x0+1, x0); FAIL;
1779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_tgkill 270
1781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_tgkill, "n/a");
1782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_tgkill); // (Not yet handled by Valgrind) FAIL;
1783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_utimes 271
1785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_utimes, "2s 2m");
1786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_utimes, x0, x0+1); FAIL;
1787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_fadvise64_64 272
1789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_fadvise64_64, "n/a");
1790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_fadvise64_64); // (Not yet handled by Valgrind) FAIL;
1791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_vserver 273
1793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_vserver, "ni");
1794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_vserver); FAIL;
1795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mbind 274
1797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mbind, "n/a");
1798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_mbind); // (Not yet handled by Valgrind) FAIL;
1799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_get_mempolicy 275
1801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_get_mempolicy, "n/a");
1802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_get_mempolicy); // (Not yet handled by Valgrind) FAIL;
1803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_set_mempolicy 276
1805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_set_mempolicy, "n/a");
1806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_set_mempolicy); // (Not yet handled by Valgrind) FAIL;
1807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mq_open 277
1809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mq_open, "4s 3m");
1810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mq_open, x0, x0+O_CREAT, x0, x0+1); FAIL;
1811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mq_unlink (__NR_mq_open+1)
1813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mq_unlink, "1s 1m");
1814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mq_unlink, x0); FAIL;
1815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mq_timedsend (__NR_mq_open+2)
1817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mq_timedsend, "5s 2m");
1818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mq_timedsend, x0, x0, x0+1, x0, x0+1); FAIL;
1819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mq_timedreceive (__NR_mq_open+3)
1821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mq_timedreceive, "5s 3m");
1822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mq_timedreceive, x0, x0, x0+1, x0+1, x0+1); FAIL;
1823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mq_notify (__NR_mq_open+4)
1825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mq_notify, "2s 1m");
1826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mq_notify, x0, x0+1); FAIL;
1827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_mq_getsetattr (__NR_mq_open+5)
1829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_mq_getsetattr, "3s 2m");
1830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_mq_getsetattr, x0, x0+1, x0+1); FAIL;
1831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_sys_kexec_load 283
1833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_sys_kexec_load, "ni");
1834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_sys_kexec_load); FAIL;
1835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
1836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // no such syscall...
1838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(9999, 9999, "1e");
1839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(9999); FAIL;
1840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // __NR_exit 1
1842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   GO(__NR_exit, 1, "1s 0m");
1843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   SY(__NR_exit, x0); FAIL;
1844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   assert(0);
1846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
1847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1848