mirror of
https://github.com/fluencelabs/musl
synced 2025-04-25 15:22:15 +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_get_mempolicy 275
|
||||||
#define SYS_set_mempolicy 276
|
#define SYS_set_mempolicy 276
|
||||||
#define SYS_mq_open 277
|
#define SYS_mq_open 277
|
||||||
#define SYS_mq_unlink (SYS_mq_open+1)
|
#define SYS_mq_unlink 278
|
||||||
#define SYS_mq_timedsend (SYS_mq_open+2)
|
#define SYS_mq_timedsend 279
|
||||||
#define SYS_mq_timedreceive (SYS_mq_open+3)
|
#define SYS_mq_timedreceive 280
|
||||||
#define SYS_mq_notify (SYS_mq_open+4)
|
#define SYS_mq_notify 281
|
||||||
#define SYS_mq_getsetattr (SYS_mq_open+5)
|
#define SYS_mq_getsetattr 282
|
||||||
#define SYS_kexec_load 283
|
#define SYS_kexec_load 283
|
||||||
#define SYS_waitid 284
|
#define SYS_waitid 284
|
||||||
/* #define SYS_sys_setaltroot 285 */
|
/* #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
|
// Syscall API with C libraries. In theory this is the only JavaScript
|
||||||
// implementation we need.
|
// implementation we need.
|
||||||
var syscall = (function() {
|
var syscall = (function() {
|
||||||
// TODO auto-generate syscall number from the header.
|
|
||||||
return {
|
return {
|
||||||
__syscall: function(n, args) {
|
__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; },
|
return -1; },
|
||||||
__syscall0: function(n) { print('syscall(' + n + ')'); return -1; },
|
|
||||||
__syscall1: function(n, a) {
|
__syscall1: function(n, a) {
|
||||||
print('syscall(' + n + ', ' + a + ')');
|
print('syscall1(' + syscall_names[n] + ', ' + a + ')');
|
||||||
return -1; },
|
return -1; },
|
||||||
__syscall2: function(n, a, b) {
|
__syscall2: function(n, a, b) {
|
||||||
print('syscall(' + n + ', ' + a + ', ' + b + ')');
|
print('syscall2(' + syscall_names[n] + ', ' + a + ', ' + b + ')');
|
||||||
return -1; },
|
return -1; },
|
||||||
__syscall3: function(n, a, b, c) {
|
__syscall3: function(n, a, b, c) {
|
||||||
print('syscall(' + n + ', ' + a + ', ' + b + ', ' + c + ')');
|
print('syscall3(' + syscall_names[n] + ', ' + a + ', ' + b + ', ' + c + ')');
|
||||||
return -1; },
|
return -1; },
|
||||||
__syscall4: function(n, a, b, c, d) {
|
__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; },
|
return -1; },
|
||||||
__syscall5: function(n, a, b, c, d, e) {
|
__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 + ')');
|
e + ')');
|
||||||
return -1; },
|
return -1; },
|
||||||
__syscall6: function(n, a, b, c, d, e, f) {
|
__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 + ')');
|
e + ', ' + f + ')');
|
||||||
return -1; },
|
return -1; },
|
||||||
__syscall_cp: function(n, a, b, c, d, e, f) {
|
__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 + ')');
|
e + ', ' + f + ')');
|
||||||
return -1; }
|
return -1; }
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user