mirror of
https://github.com/fluencelabs/musl
synced 2025-04-24 14:52:13 +00:00
[WebAssembly] Add syscall numbers of wasm.js (#23)
I verified that this change doesn't change the list of failing tests on the wasm waterfall.
This commit is contained in:
parent
9f20a8a3c2
commit
0f2a7be58e
@ -629,11 +629,11 @@
|
||||
#define SYS_get_mempolicy 275
|
||||
#define SYS_set_mempolicy 276
|
||||
#define SYS_mq_open 277
|
||||
#define SYS_mq_unlink (SYS_mq_open+1)
|
||||
#define SYS_mq_timedsend (SYS_mq_open+2)
|
||||
#define SYS_mq_timedreceive (SYS_mq_open+3)
|
||||
#define SYS_mq_notify (SYS_mq_open+4)
|
||||
#define SYS_mq_getsetattr (SYS_mq_open+5)
|
||||
#define SYS_mq_unlink 278
|
||||
#define SYS_mq_timedsend 279
|
||||
#define SYS_mq_timedreceive 280
|
||||
#define SYS_mq_notify 281
|
||||
#define SYS_mq_getsetattr 282
|
||||
#define SYS_kexec_load 283
|
||||
#define SYS_waitid 284
|
||||
/* #define SYS_sys_setaltroot 285 */
|
||||
|
@ -897,37 +897,390 @@ var musl_hack = (function() {
|
||||
};
|
||||
})();
|
||||
|
||||
syscall_names = {
|
||||
// Generted using the following command:
|
||||
// grep "^#define SYS_" arch/wasm32/bits/syscall.h | awk '{print $3 ": \"" $2 // "\'," }'
|
||||
0: "SYS_restart_syscall",
|
||||
1: "SYS_exit",
|
||||
2: "SYS_fork",
|
||||
3: "SYS_read",
|
||||
4: "SYS_write",
|
||||
5: "SYS_open",
|
||||
6: "SYS_close",
|
||||
7: "SYS_waitpid",
|
||||
8: "SYS_creat",
|
||||
9: "SYS_link",
|
||||
10: "SYS_unlink",
|
||||
11: "SYS_execve",
|
||||
12: "SYS_chdir",
|
||||
13: "SYS_time",
|
||||
14: "SYS_mknod",
|
||||
15: "SYS_chmod",
|
||||
16: "SYS_lchown",
|
||||
17: "SYS_break",
|
||||
18: "SYS_oldstat",
|
||||
19: "SYS_lseek",
|
||||
20: "SYS_getpid",
|
||||
21: "SYS_mount",
|
||||
22: "SYS_umount",
|
||||
23: "SYS_setuid",
|
||||
24: "SYS_getuid",
|
||||
25: "SYS_stime",
|
||||
26: "SYS_ptrace",
|
||||
27: "SYS_alarm",
|
||||
28: "SYS_oldfstat",
|
||||
29: "SYS_pause",
|
||||
30: "SYS_utime",
|
||||
31: "SYS_stty",
|
||||
32: "SYS_gtty",
|
||||
33: "SYS_access",
|
||||
34: "SYS_nice",
|
||||
35: "SYS_ftime",
|
||||
36: "SYS_sync",
|
||||
37: "SYS_kill",
|
||||
38: "SYS_rename",
|
||||
39: "SYS_mkdir",
|
||||
40: "SYS_rmdir",
|
||||
41: "SYS_dup",
|
||||
42: "SYS_pipe",
|
||||
43: "SYS_times",
|
||||
44: "SYS_prof",
|
||||
45: "SYS_brk",
|
||||
46: "SYS_setgid",
|
||||
47: "SYS_getgid",
|
||||
48: "SYS_signal",
|
||||
49: "SYS_geteuid",
|
||||
50: "SYS_getegid",
|
||||
51: "SYS_acct",
|
||||
52: "SYS_umount2",
|
||||
53: "SYS_lock",
|
||||
54: "SYS_ioctl",
|
||||
55: "SYS_fcntl",
|
||||
56: "SYS_mpx",
|
||||
57: "SYS_setpgid",
|
||||
58: "SYS_ulimit",
|
||||
59: "SYS_oldolduname",
|
||||
60: "SYS_umask",
|
||||
61: "SYS_chroot",
|
||||
62: "SYS_ustat",
|
||||
63: "SYS_dup2",
|
||||
64: "SYS_getppid",
|
||||
65: "SYS_getpgrp",
|
||||
66: "SYS_setsid",
|
||||
67: "SYS_sigaction",
|
||||
68: "SYS_sgetmask",
|
||||
69: "SYS_ssetmask",
|
||||
70: "SYS_setreuid",
|
||||
71: "SYS_setregid",
|
||||
72: "SYS_sigsuspend",
|
||||
73: "SYS_sigpending",
|
||||
74: "SYS_sethostname",
|
||||
75: "SYS_setrlimit",
|
||||
76: "SYS_getrlimit",
|
||||
77: "SYS_getrusage",
|
||||
78: "SYS_gettimeofday",
|
||||
79: "SYS_settimeofday",
|
||||
80: "SYS_getgroups",
|
||||
81: "SYS_setgroups",
|
||||
82: "SYS_select",
|
||||
83: "SYS_symlink",
|
||||
84: "SYS_oldlstat",
|
||||
85: "SYS_readlink",
|
||||
86: "SYS_uselib",
|
||||
87: "SYS_swapon",
|
||||
88: "SYS_reboot",
|
||||
89: "SYS_readdir",
|
||||
90: "SYS_mmap",
|
||||
91: "SYS_munmap",
|
||||
92: "SYS_truncate",
|
||||
93: "SYS_ftruncate",
|
||||
94: "SYS_fchmod",
|
||||
95: "SYS_fchown",
|
||||
96: "SYS_getpriority",
|
||||
97: "SYS_setpriority",
|
||||
98: "SYS_profil",
|
||||
99: "SYS_statfs",
|
||||
100: "SYS_fstatfs",
|
||||
101: "SYS_ioperm",
|
||||
102: "SYS_socketcall",
|
||||
103: "SYS_syslog",
|
||||
104: "SYS_setitimer",
|
||||
105: "SYS_getitimer",
|
||||
106: "SYS_stat",
|
||||
107: "SYS_lstat",
|
||||
108: "SYS_fstat",
|
||||
109: "SYS_olduname",
|
||||
110: "SYS_iopl",
|
||||
111: "SYS_vhangup",
|
||||
112: "SYS_idle",
|
||||
113: "SYS_vm86old",
|
||||
114: "SYS_wait4",
|
||||
115: "SYS_swapoff",
|
||||
116: "SYS_sysinfo",
|
||||
117: "SYS_ipc",
|
||||
118: "SYS_fsync",
|
||||
119: "SYS_sigreturn",
|
||||
120: "SYS_clone",
|
||||
121: "SYS_setdomainname",
|
||||
122: "SYS_uname",
|
||||
123: "SYS_modify_ldt",
|
||||
124: "SYS_adjtimex",
|
||||
125: "SYS_mprotect",
|
||||
126: "SYS_sigprocmask",
|
||||
127: "SYS_create_module",
|
||||
128: "SYS_init_module",
|
||||
129: "SYS_delete_module",
|
||||
130: "SYS_get_kernel_syms",
|
||||
131: "SYS_quotactl",
|
||||
132: "SYS_getpgid",
|
||||
133: "SYS_fchdir",
|
||||
134: "SYS_bdflush",
|
||||
135: "SYS_sysfs",
|
||||
136: "SYS_personality",
|
||||
137: "SYS_afs_syscall",
|
||||
138: "SYS_setfsuid",
|
||||
139: "SYS_setfsgid",
|
||||
140: "SYS__llseek",
|
||||
141: "SYS_getdents",
|
||||
142: "SYS__newselect",
|
||||
143: "SYS_flock",
|
||||
144: "SYS_msync",
|
||||
145: "SYS_readv",
|
||||
146: "SYS_writev",
|
||||
147: "SYS_getsid",
|
||||
148: "SYS_fdatasync",
|
||||
149: "SYS__sysctl",
|
||||
150: "SYS_mlock",
|
||||
151: "SYS_munlock",
|
||||
152: "SYS_mlockall",
|
||||
153: "SYS_munlockall",
|
||||
154: "SYS_sched_setparam",
|
||||
155: "SYS_sched_getparam",
|
||||
156: "SYS_sched_setscheduler",
|
||||
157: "SYS_sched_getscheduler",
|
||||
158: "SYS_sched_yield",
|
||||
159: "SYS_sched_get_priority_max",
|
||||
160: "SYS_sched_get_priority_min",
|
||||
161: "SYS_sched_rr_get_interval",
|
||||
162: "SYS_nanosleep",
|
||||
163: "SYS_mremap",
|
||||
164: "SYS_setresuid",
|
||||
165: "SYS_getresuid",
|
||||
166: "SYS_vm86",
|
||||
167: "SYS_query_module",
|
||||
168: "SYS_poll",
|
||||
169: "SYS_nfsservctl",
|
||||
170: "SYS_setresgid",
|
||||
171: "SYS_getresgid",
|
||||
172: "SYS_prctl",
|
||||
173: "SYS_rt_sigreturn",
|
||||
174: "SYS_rt_sigaction",
|
||||
175: "SYS_rt_sigprocmask",
|
||||
176: "SYS_rt_sigpending",
|
||||
177: "SYS_rt_sigtimedwait",
|
||||
178: "SYS_rt_sigqueueinfo",
|
||||
179: "SYS_rt_sigsuspend",
|
||||
180: "SYS_pread64",
|
||||
181: "SYS_pwrite64",
|
||||
182: "SYS_chown",
|
||||
183: "SYS_getcwd",
|
||||
184: "SYS_capget",
|
||||
185: "SYS_capset",
|
||||
186: "SYS_sigaltstack",
|
||||
187: "SYS_sendfile",
|
||||
188: "SYS_getpmsg",
|
||||
189: "SYS_putpmsg",
|
||||
190: "SYS_vfork",
|
||||
191: "SYS_ugetrlimit",
|
||||
192: "SYS_mmap2",
|
||||
193: "SYS_truncate64",
|
||||
194: "SYS_ftruncate64",
|
||||
195: "SYS_stat64",
|
||||
196: "SYS_lstat64",
|
||||
197: "SYS_fstat64",
|
||||
198: "SYS_lchown32",
|
||||
199: "SYS_getuid32",
|
||||
200: "SYS_getgid32",
|
||||
201: "SYS_geteuid32",
|
||||
202: "SYS_getegid32",
|
||||
203: "SYS_setreuid32",
|
||||
204: "SYS_setregid32",
|
||||
205: "SYS_getgroups32",
|
||||
206: "SYS_setgroups32",
|
||||
207: "SYS_fchown32",
|
||||
208: "SYS_setresuid32",
|
||||
209: "SYS_getresuid32",
|
||||
210: "SYS_setresgid32",
|
||||
211: "SYS_getresgid32",
|
||||
212: "SYS_chown32",
|
||||
213: "SYS_setuid32",
|
||||
214: "SYS_setgid32",
|
||||
215: "SYS_setfsuid32",
|
||||
216: "SYS_setfsgid32",
|
||||
217: "SYS_pivot_root",
|
||||
218: "SYS_mincore",
|
||||
219: "SYS_madvise",
|
||||
219: "SYS_madvise1",
|
||||
220: "SYS_getdents64",
|
||||
221: "SYS_fcntl64",
|
||||
224: "SYS_gettid",
|
||||
225: "SYS_readahead",
|
||||
226: "SYS_setxattr",
|
||||
227: "SYS_lsetxattr",
|
||||
228: "SYS_fsetxattr",
|
||||
229: "SYS_getxattr",
|
||||
230: "SYS_lgetxattr",
|
||||
231: "SYS_fgetxattr",
|
||||
232: "SYS_listxattr",
|
||||
233: "SYS_llistxattr",
|
||||
234: "SYS_flistxattr",
|
||||
235: "SYS_removexattr",
|
||||
236: "SYS_lremovexattr",
|
||||
237: "SYS_fremovexattr",
|
||||
238: "SYS_tkill",
|
||||
239: "SYS_sendfile64",
|
||||
240: "SYS_futex",
|
||||
241: "SYS_sched_setaffinity",
|
||||
242: "SYS_sched_getaffinity",
|
||||
243: "SYS_set_thread_area",
|
||||
244: "SYS_get_thread_area",
|
||||
245: "SYS_io_setup",
|
||||
246: "SYS_io_destroy",
|
||||
247: "SYS_io_getevents",
|
||||
248: "SYS_io_submit",
|
||||
249: "SYS_io_cancel",
|
||||
250: "SYS_fadvise64",
|
||||
252: "SYS_exit_group",
|
||||
253: "SYS_lookup_dcookie",
|
||||
254: "SYS_epoll_create",
|
||||
255: "SYS_epoll_ctl",
|
||||
256: "SYS_epoll_wait",
|
||||
257: "SYS_remap_file_pages",
|
||||
258: "SYS_set_tid_address",
|
||||
259: "SYS_timer_create",
|
||||
260: "SYS_timer_settime",
|
||||
261: "SYS_timer_gettime",
|
||||
262: "SYS_timer_getoverrun",
|
||||
263: "SYS_timer_delete",
|
||||
264: "SYS_clock_settime",
|
||||
265: "SYS_clock_gettime",
|
||||
266: "SYS_clock_getres",
|
||||
267: "SYS_clock_nanosleep",
|
||||
268: "SYS_statfs64",
|
||||
269: "SYS_fstatfs64",
|
||||
270: "SYS_tgkill",
|
||||
271: "SYS_utimes",
|
||||
272: "SYS_fadvise64_64",
|
||||
273: "SYS_vserver",
|
||||
274: "SYS_mbind",
|
||||
275: "SYS_get_mempolicy",
|
||||
276: "SYS_set_mempolicy",
|
||||
277: "SYS_mq_open",
|
||||
278: "SYS_mq_unlink",
|
||||
279: "SYS_mq_timedsend",
|
||||
280: "SYS_mq_timedreceive",
|
||||
281: "SYS_mq_notify",
|
||||
282: "SYS_mq_getsetattr",
|
||||
283: "SYS_kexec_load",
|
||||
284: "SYS_waitid",
|
||||
286: "SYS_add_key",
|
||||
287: "SYS_request_key",
|
||||
288: "SYS_keyctl",
|
||||
289: "SYS_ioprio_set",
|
||||
290: "SYS_ioprio_get",
|
||||
291: "SYS_inotify_init",
|
||||
292: "SYS_inotify_add_watch",
|
||||
293: "SYS_inotify_rm_watch",
|
||||
294: "SYS_migrate_pages",
|
||||
295: "SYS_openat",
|
||||
296: "SYS_mkdirat",
|
||||
297: "SYS_mknodat",
|
||||
298: "SYS_fchownat",
|
||||
299: "SYS_futimesat",
|
||||
300: "SYS_fstatat64",
|
||||
301: "SYS_unlinkat",
|
||||
302: "SYS_renameat",
|
||||
303: "SYS_linkat",
|
||||
304: "SYS_symlinkat",
|
||||
305: "SYS_readlinkat",
|
||||
306: "SYS_fchmodat",
|
||||
307: "SYS_faccessat",
|
||||
308: "SYS_pselect6",
|
||||
309: "SYS_ppoll",
|
||||
310: "SYS_unshare",
|
||||
311: "SYS_set_robust_list",
|
||||
312: "SYS_get_robust_list",
|
||||
313: "SYS_splice",
|
||||
314: "SYS_sync_file_range",
|
||||
315: "SYS_tee",
|
||||
316: "SYS_vmsplice",
|
||||
317: "SYS_move_pages",
|
||||
318: "SYS_getcpu",
|
||||
319: "SYS_epoll_pwait",
|
||||
320: "SYS_utimensat",
|
||||
321: "SYS_signalfd",
|
||||
322: "SYS_timerfd_create",
|
||||
323: "SYS_eventfd",
|
||||
324: "SYS_fallocate",
|
||||
325: "SYS_timerfd_settime",
|
||||
326: "SYS_timerfd_gettime",
|
||||
327: "SYS_signalfd4",
|
||||
328: "SYS_eventfd2",
|
||||
329: "SYS_epoll_create1",
|
||||
330: "SYS_dup3",
|
||||
331: "SYS_pipe2",
|
||||
332: "SYS_inotify_init1",
|
||||
333: "SYS_preadv",
|
||||
334: "SYS_pwritev",
|
||||
340: "SYS_prlimit64",
|
||||
341: "SYS_name_to_handle_at",
|
||||
342: "SYS_open_by_handle_at",
|
||||
343: "SYS_clock_adjtime",
|
||||
344: "SYS_syncfs",
|
||||
345: "SYS_sendmmsg",
|
||||
346: "SYS_setns",
|
||||
347: "SYS_process_vm_readv",
|
||||
348: "SYS_process_vm_writev",
|
||||
349: "SYS_kcmp",
|
||||
350: "SYS_finit_module",
|
||||
357: "SYS_recvmmsg",
|
||||
367: "SYS_fanotify_init",
|
||||
368: "SYS_fanotify_mark",
|
||||
375: "SYS_membarrier"
|
||||
}
|
||||
|
||||
// Syscall API with C libraries. In theory this is the only JavaScript
|
||||
// implementation we need.
|
||||
var syscall = (function() {
|
||||
// TODO auto-generate syscall number from the header.
|
||||
return {
|
||||
__syscall: function(n, args) {
|
||||
print('syscall(' + n + ', ' + args + ')');
|
||||
print('syscall(' + syscall_names[n] + ', ' + args + ')');
|
||||
return -1; },
|
||||
__syscall0: function(n) {
|
||||
print('syscall0(' + syscall_names[n] + ')');
|
||||
return -1; },
|
||||
__syscall0: function(n) { print('syscall(' + n + ')'); return -1; },
|
||||
__syscall1: function(n, a) {
|
||||
print('syscall(' + n + ', ' + a + ')');
|
||||
print('syscall1(' + syscall_names[n] + ', ' + a + ')');
|
||||
return -1; },
|
||||
__syscall2: function(n, a, b) {
|
||||
print('syscall(' + n + ', ' + a + ', ' + b + ')');
|
||||
print('syscall2(' + syscall_names[n] + ', ' + a + ', ' + b + ')');
|
||||
return -1; },
|
||||
__syscall3: function(n, a, b, c) {
|
||||
print('syscall(' + n + ', ' + a + ', ' + b + ', ' + c + ')');
|
||||
print('syscall3(' + syscall_names[n] + ', ' + a + ', ' + b + ', ' + c + ')');
|
||||
return -1; },
|
||||
__syscall4: function(n, a, b, c, d) {
|
||||
print('syscall(' + n + ', ' + a + ', ' + b + ', ' + c + ', ' + d + ')');
|
||||
print('syscall4(' + syscall_names[n] + ', ' + a + ', ' + b + ', ' + c + ', ' + d + ')');
|
||||
return -1; },
|
||||
__syscall5: function(n, a, b, c, d, e) {
|
||||
print('syscall(' + n + ', ' + a + ', ' + b + ', ' + c + ', ' + d + ', ' +
|
||||
print('syscall4(' + syscall_names[n] + ', ' + a + ', ' + b + ', ' + c + ', ' + d + ', ' +
|
||||
e + ')');
|
||||
return -1; },
|
||||
__syscall6: function(n, a, b, c, d, e, f) {
|
||||
print('syscall(' + n + ', ' + a + ', ' + b + ', ' + c + ', ' + d + ', ' +
|
||||
print('syscall6(' + syscall_names[n] + ', ' + a + ', ' + b + ', ' + c + ', ' + d + ', ' +
|
||||
e + ', ' + f + ')');
|
||||
return -1; },
|
||||
__syscall_cp: function(n, a, b, c, d, e, f) {
|
||||
print('syscall(' + n + ', ' + a + ', ' + b + ', ' + c + ', ' + d + ', ' +
|
||||
print('syscall_cp(' + syscall_names[n] + ', ' + a + ', ' + b + ', ' + c + ', ' + d + ', ' +
|
||||
e + ', ' + f + ')');
|
||||
return -1; }
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user