From 9c6b58d5b14f760fd09a5f1d47b80846b22e9f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Correa=20Casablanca?= Date: Thu, 28 Oct 2021 10:19:16 +0200 Subject: [PATCH 1/4] docs: mark few syscalls as implemented Mark few syscalls as implemented (as indicated in the blog post https://seiya.me/writing-linux-clone-in-rust). --- COMPATIBILITY.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index d6ce6ea2..61351aab 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -18,7 +18,7 @@ Not supported. | 4 | stat | Unimplemented | | | 5 | fstat | Unimplemented | | | 6 | lstat | Unimplemented | | -| 7 | poll | Unimplemented | | +| 7 | poll | Implemented | | | 8 | lseek | Unimplemented | | | 9 | mmap | Unimplemented | | | 10 | mprotect | Unimplemented | | @@ -33,7 +33,7 @@ Not supported. | 19 | readv | Unimplemented | | | 20 | writev | Unimplemented | | | 21 | access | Unimplemented | | -| 22 | pipe | Unimplemented | | +| 22 | pipe | Implemented | | | 23 | select | Unimplemented | | | 24 | sched_yield | Unimplemented | | | 25 | mremap | Unimplemented | | @@ -68,9 +68,9 @@ Not supported. | 54 | setsockopt | Unimplemented | | | 55 | getsockopt | Unimplemented | | | 56 | clone | Unimplemented | | -| 57 | fork | Unimplemented | | +| 57 | fork | Implemented | | | 58 | vfork | Unimplemented | | -| 59 | execve | Unimplemented | | +| 59 | execve | Implemented | | | 60 | exit | Unimplemented | | | 61 | wait4 | Unimplemented | | | 62 | kill | Unimplemented | | From de8866cb5d274214347b50a77b54eeec878bddb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Correa=20Casablanca?= Date: Thu, 28 Oct 2021 10:35:11 +0200 Subject: [PATCH 2/4] docs: add release column to compatibility table --- COMPATIBILITY.md | 698 +++++++++++++++++++++++------------------------ 1 file changed, 349 insertions(+), 349 deletions(-) diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index 61351aab..3dfe12cc 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -9,352 +9,352 @@ Not supported. ## System Calls -| No | Name | Status | Notes | -|-----|------------------------|---------------|-------| -| 0 | read | Unimplemented | | -| 1 | write | Unimplemented | | -| 2 | open | Unimplemented | | -| 3 | close | Unimplemented | | -| 4 | stat | Unimplemented | | -| 5 | fstat | Unimplemented | | -| 6 | lstat | Unimplemented | | -| 7 | poll | Implemented | | -| 8 | lseek | Unimplemented | | -| 9 | mmap | Unimplemented | | -| 10 | mprotect | Unimplemented | | -| 11 | munmap | Unimplemented | | -| 12 | brk | Unimplemented | | -| 13 | rt_sigaction | Unimplemented | | -| 14 | rt_sigprocmask | Unimplemented | | -| 15 | rt_sigreturn | Unimplemented | | -| 16 | ioctl | Unimplemented | | -| 17 | pread64 | Unimplemented | | -| 18 | pwrite64 | Unimplemented | | -| 19 | readv | Unimplemented | | -| 20 | writev | Unimplemented | | -| 21 | access | Unimplemented | | -| 22 | pipe | Implemented | | -| 23 | select | Unimplemented | | -| 24 | sched_yield | Unimplemented | | -| 25 | mremap | Unimplemented | | -| 26 | msync | Unimplemented | | -| 27 | mincore | Unimplemented | | -| 28 | madvise | Unimplemented | | -| 29 | shmget | Unimplemented | | -| 30 | shmat | Unimplemented | | -| 31 | shmctl | Unimplemented | | -| 32 | dup | Unimplemented | | -| 33 | dup2 | Unimplemented | | -| 34 | pause | Unimplemented | | -| 35 | nanosleep | Unimplemented | | -| 36 | getitimer | Unimplemented | | -| 37 | alarm | Unimplemented | | -| 38 | setitimer | Unimplemented | | -| 39 | getpid | Unimplemented | | -| 40 | sendfile | Unimplemented | | -| 41 | socket | Unimplemented | | -| 42 | connect | Unimplemented | | -| 43 | accept | Unimplemented | | -| 44 | sendto | Unimplemented | | -| 45 | recvfrom | Unimplemented | | -| 46 | sendmsg | Unimplemented | | -| 47 | recvmsg | Unimplemented | | -| 48 | shutdown | Unimplemented | | -| 49 | bind | Unimplemented | | -| 50 | listen | Unimplemented | | -| 51 | getsockname | Unimplemented | | -| 52 | getpeername | Unimplemented | | -| 53 | socketpair | Unimplemented | | -| 54 | setsockopt | Unimplemented | | -| 55 | getsockopt | Unimplemented | | -| 56 | clone | Unimplemented | | -| 57 | fork | Implemented | | -| 58 | vfork | Unimplemented | | -| 59 | execve | Implemented | | -| 60 | exit | Unimplemented | | -| 61 | wait4 | Unimplemented | | -| 62 | kill | Unimplemented | | -| 63 | uname | Unimplemented | | -| 64 | semget | Unimplemented | | -| 65 | semop | Unimplemented | | -| 66 | semctl | Unimplemented | | -| 67 | shmdt | Unimplemented | | -| 68 | msgget | Unimplemented | | -| 69 | msgsnd | Unimplemented | | -| 70 | msgrcv | Unimplemented | | -| 71 | msgctl | Unimplemented | | -| 72 | fcntl | Unimplemented | | -| 73 | flock | Unimplemented | | -| 74 | fsync | Unimplemented | | -| 75 | fdatasync | Unimplemented | | -| 76 | truncate | Unimplemented | | -| 77 | ftruncate | Unimplemented | | -| 78 | getdents | Unimplemented | | -| 79 | getcwd | Unimplemented | | -| 80 | chdir | Unimplemented | | -| 81 | fchdir | Unimplemented | | -| 82 | rename | Unimplemented | | -| 83 | mkdir | Unimplemented | | -| 84 | rmdir | Unimplemented | | -| 85 | creat | Unimplemented | | -| 86 | link | Unimplemented | | -| 87 | unlink | Unimplemented | | -| 88 | symlink | Unimplemented | | -| 89 | readlink | Unimplemented | | -| 90 | chmod | Unimplemented | | -| 91 | fchmod | Unimplemented | | -| 92 | chown | Unimplemented | | -| 93 | fchown | Unimplemented | | -| 94 | lchown | Unimplemented | | -| 95 | umask | Unimplemented | | -| 96 | gettimeofday | Unimplemented | | -| 97 | getrlimit | Unimplemented | | -| 98 | getrusage | Unimplemented | | -| 99 | sysinfo | Unimplemented | | -| 100 | times | Unimplemented | | -| 101 | ptrace | Unimplemented | | -| 102 | getuid | Unimplemented | | -| 103 | syslog | Unimplemented | | -| 104 | getgid | Unimplemented | | -| 105 | setuid | Unimplemented | | -| 106 | setgid | Unimplemented | | -| 107 | geteuid | Unimplemented | | -| 108 | getegid | Unimplemented | | -| 109 | setpgid | Unimplemented | | -| 110 | getppid | Unimplemented | | -| 111 | getpgrp | Unimplemented | | -| 112 | setsid | Unimplemented | | -| 113 | setreuid | Unimplemented | | -| 114 | setregid | Unimplemented | | -| 115 | getgroups | Unimplemented | | -| 116 | setgroups | Unimplemented | | -| 117 | setresuid | Unimplemented | | -| 118 | getresuid | Unimplemented | | -| 119 | setresgid | Unimplemented | | -| 120 | getresgid | Unimplemented | | -| 121 | getpgid | Unimplemented | | -| 122 | setfsuid | Unimplemented | | -| 123 | setfsgid | Unimplemented | | -| 124 | getsid | Unimplemented | | -| 125 | capget | Unimplemented | | -| 126 | capset | Unimplemented | | -| 127 | rt_sigpending | Unimplemented | | -| 128 | rt_sigtimedwait | Unimplemented | | -| 129 | rt_sigqueueinfo | Unimplemented | | -| 130 | rt_sigsuspend | Unimplemented | | -| 131 | sigaltstack | Unimplemented | | -| 132 | utime | Unimplemented | | -| 133 | mknod | Unimplemented | | -| 134 | uselib | Unimplemented | | -| 135 | personality | Unimplemented | | -| 136 | ustat | Unimplemented | | -| 137 | statfs | Unimplemented | | -| 138 | fstatfs | Unimplemented | | -| 139 | sysfs | Unimplemented | | -| 140 | getpriority | Unimplemented | | -| 141 | setpriority | Unimplemented | | -| 142 | sched_setparam | Unimplemented | | -| 143 | sched_getparam | Unimplemented | | -| 144 | sched_setscheduler | Unimplemented | | -| 145 | sched_getscheduler | Unimplemented | | -| 146 | sched_get_priority_max | Unimplemented | | -| 147 | sched_get_priority_min | Unimplemented | | -| 148 | sched_rr_get_interval | Unimplemented | | -| 149 | mlock | Unimplemented | | -| 150 | munlock | Unimplemented | | -| 151 | mlockall | Unimplemented | | -| 152 | munlockall | Unimplemented | | -| 153 | vhangup | Unimplemented | | -| 154 | modify_ldt | Unimplemented | | -| 155 | pivot_root | Unimplemented | | -| 156 | sysctl | Unimplemented | | -| 157 | prctl | Unimplemented | | -| 158 | arch_prctl | Unimplemented | | -| 159 | adjtimex | Unimplemented | | -| 160 | setrlimit | Unimplemented | | -| 161 | chroot | Unimplemented | | -| 162 | sync | Unimplemented | | -| 163 | acct | Unimplemented | | -| 164 | settimeofday | Unimplemented | | -| 165 | mount | Unimplemented | | -| 166 | umount2 | Unimplemented | | -| 167 | swapon | Unimplemented | | -| 168 | swapoff | Unimplemented | | -| 169 | reboot | Unimplemented | | -| 170 | sethostname | Unimplemented | | -| 171 | setdomainname | Unimplemented | | -| 172 | iopl | Unimplemented | | -| 173 | ioperm | Unimplemented | | -| 174 | create_module | Unimplemented | | -| 175 | init_module | Unimplemented | | -| 176 | delete_module | Unimplemented | | -| 177 | get_kernel_syms | Unimplemented | | -| 178 | query_module | Unimplemented | | -| 179 | quotactl | Unimplemented | | -| 180 | nfsservctl | Unimplemented | | -| 181 | getpmsg | Unimplemented | | -| 182 | putpmsg | Unimplemented | | -| 183 | afs_syscall | Unimplemented | | -| 184 | tuxcall | Unimplemented | | -| 185 | security | Unimplemented | | -| 186 | gettid | Unimplemented | | -| 187 | readahead | Unimplemented | | -| 188 | setxattr | Unimplemented | | -| 189 | lsetxattr | Unimplemented | | -| 190 | fsetxattr | Unimplemented | | -| 191 | getxattr | Unimplemented | | -| 192 | lgetxattr | Unimplemented | | -| 193 | fgetxattr | Unimplemented | | -| 194 | listxattr | Unimplemented | | -| 195 | llistxattr | Unimplemented | | -| 196 | flistxattr | Unimplemented | | -| 197 | removexattr | Unimplemented | | -| 198 | lremovexattr | Unimplemented | | -| 199 | fremovexattr | Unimplemented | | -| 200 | tkill | Unimplemented | | -| 201 | time | Unimplemented | | -| 202 | futex | Unimplemented | | -| 203 | sched_setaffinity | Unimplemented | | -| 204 | sched_getaffinity | Unimplemented | | -| 205 | set_thread_area | Unimplemented | | -| 206 | io_setup | Unimplemented | | -| 207 | io_destroy | Unimplemented | | -| 208 | io_getevents | Unimplemented | | -| 209 | io_submit | Unimplemented | | -| 210 | io_cancel | Unimplemented | | -| 211 | get_thread_area | Unimplemented | | -| 212 | lookup_dcookie | Unimplemented | | -| 213 | epoll_create | Unimplemented | | -| 214 | epoll_ctl_old | Unimplemented | | -| 215 | epoll_wait_old | Unimplemented | | -| 216 | remap_file_pages | Unimplemented | | -| 217 | getdents64 | Unimplemented | | -| 218 | set_tid_address | Unimplemented | | -| 219 | restart_syscall | Unimplemented | | -| 220 | semtimedop | Unimplemented | | -| 221 | fadvise64 | Unimplemented | | -| 222 | timer_create | Unimplemented | | -| 223 | timer_settime | Unimplemented | | -| 224 | timer_gettime | Unimplemented | | -| 225 | timer_getoverrun | Unimplemented | | -| 226 | timer_delete | Unimplemented | | -| 227 | clock_settime | Unimplemented | | -| 228 | clock_gettime | Unimplemented | | -| 229 | clock_getres | Unimplemented | | -| 230 | clock_nanosleep | Unimplemented | | -| 231 | exit_group | Unimplemented | | -| 232 | epoll_wait | Unimplemented | | -| 233 | epoll_ctl | Unimplemented | | -| 234 | tgkill | Unimplemented | | -| 235 | utimes | Unimplemented | | -| 236 | vserver | Unimplemented | | -| 237 | mbind | Unimplemented | | -| 238 | set_mempolicy | Unimplemented | | -| 239 | get_mempolicy | Unimplemented | | -| 240 | mq_open | Unimplemented | | -| 241 | mq_unlink | Unimplemented | | -| 242 | mq_timedsend | Unimplemented | | -| 243 | mq_timedreceive | Unimplemented | | -| 244 | mq_notify | Unimplemented | | -| 245 | mq_getsetattr | Unimplemented | | -| 246 | kexec_load | Unimplemented | | -| 247 | waitid | Unimplemented | | -| 248 | add_key | Unimplemented | | -| 249 | request_key | Unimplemented | | -| 250 | keyctl | Unimplemented | | -| 251 | ioprio_set | Unimplemented | | -| 252 | ioprio_get | Unimplemented | | -| 253 | inotify_init | Unimplemented | | -| 254 | inotify_add_watch | Unimplemented | | -| 255 | inotify_rm_watch | Unimplemented | | -| 256 | migrate_pages | Unimplemented | | -| 257 | openat | Unimplemented | | -| 258 | mkdirat | Unimplemented | | -| 259 | mknodat | Unimplemented | | -| 260 | fchownat | Unimplemented | | -| 261 | futimesat | Unimplemented | | -| 262 | fstatat | Unimplemented | | -| 263 | unlinkat | Unimplemented | | -| 264 | renameat | Unimplemented | | -| 265 | linkat | Unimplemented | | -| 266 | symlinkat | Unimplemented | | -| 267 | readlinkat | Unimplemented | | -| 268 | fchmodat | Unimplemented | | -| 269 | faccessat | Unimplemented | | -| 270 | pselect | Unimplemented | | -| 271 | ppoll | Unimplemented | | -| 272 | unshare | Unimplemented | | -| 273 | set_robust_list | Unimplemented | | -| 274 | get_robust_list | Unimplemented | | -| 275 | splice | Unimplemented | | -| 276 | tee | Unimplemented | | -| 277 | sync_file_range | Unimplemented | | -| 278 | vmsplice | Unimplemented | | -| 279 | move_pages | Unimplemented | | -| 280 | utimensat | Unimplemented | | -| 281 | epoll_pwait | Unimplemented | | -| 282 | signalfd | Unimplemented | | -| 283 | timerfd_create | Unimplemented | | -| 284 | eventfd | Unimplemented | | -| 285 | fallocate | Unimplemented | | -| 286 | timerfd_settime | Unimplemented | | -| 287 | timerfd_gettime | Unimplemented | | -| 288 | accept4 | Unimplemented | | -| 289 | signalfd4 | Unimplemented | | -| 290 | eventfd2 | Unimplemented | | -| 291 | epoll_create1 | Unimplemented | | -| 292 | dup3 | Unimplemented | | -| 293 | pipe2 | Unimplemented | | -| 294 | inotify_init1 | Unimplemented | | -| 295 | preadv | Unimplemented | | -| 296 | pwritev | Unimplemented | | -| 297 | rt_tgsigqueueinfo | Unimplemented | | -| 298 | perf_event_open | Unimplemented | | -| 299 | recvmmsg | Unimplemented | | -| 300 | fanotify_init | Unimplemented | | -| 301 | fanotify_mark | Unimplemented | | -| 302 | prlimit64 | Unimplemented | | -| 303 | name_to_handle_at | Unimplemented | | -| 304 | open_by_handle_at | Unimplemented | | -| 305 | clock_adjtime | Unimplemented | | -| 306 | syncfs | Unimplemented | | -| 307 | sendmmsg | Unimplemented | | -| 308 | setns | Unimplemented | | -| 309 | getcpu | Unimplemented | | -| 310 | process_vm_readv | Unimplemented | | -| 311 | process_vm_writev | Unimplemented | | -| 312 | kcmp | Unimplemented | | -| 313 | finit_module | Unimplemented | | -| 314 | sched_setattr | Unimplemented | | -| 315 | sched_getattr | Unimplemented | | -| 316 | renameat2 | Unimplemented | | -| 317 | seccomp | Unimplemented | | -| 318 | getrandom | Unimplemented | | -| 319 | memfd_create | Unimplemented | | -| 320 | kexec_file_load | Unimplemented | | -| 321 | bpf | Unimplemented | | -| 322 | execveat | Unimplemented | | -| 323 | userfaultfd | Unimplemented | | -| 324 | membarrier | Unimplemented | | -| 325 | mlock2 | Unimplemented | | -| 326 | copy_file_range | Unimplemented | | -| 327 | preadv2 | Unimplemented | | -| 328 | pwritev2 | Unimplemented | | -| 329 | pkey_mprotect | Unimplemented | | -| 330 | pkey_alloc | Unimplemented | | -| 331 | pkey_free | Unimplemented | | -| 332 | statx | Unimplemented | | -| 333 | io_pgetevents | Unimplemented | | -| 334 | rseq | Unimplemented | | -| 424 | pidfd_send_signal | Unimplemented | | -| 425 | io_uring_setup | Unimplemented | | -| 426 | io_uring_enter | Unimplemented | | -| 427 | io_uring_register | Unimplemented | | -| 428 | open_tree | Unimplemented | | -| 429 | move_mount | Unimplemented | | -| 430 | fsopen | Unimplemented | | -| 431 | fsconfig | Unimplemented | | -| 432 | fsmount | Unimplemented | | -| 433 | fspick | Unimplemented | | -| 434 | pidfd_open | Unimplemented | | -| 435 | clone3 | Unimplemented | | +| No | Name | Status | Release | Notes | +|-----|------------------------|---------------|---------|-------| +| 0 | read | Unimplemented | | | +| 1 | write | Unimplemented | | | +| 2 | open | Unimplemented | | | +| 3 | close | Unimplemented | | | +| 4 | stat | Unimplemented | | | +| 5 | fstat | Unimplemented | | | +| 6 | lstat | Unimplemented | | | +| 7 | poll | Implemented | `main` | | +| 8 | lseek | Unimplemented | | | +| 9 | mmap | Unimplemented | | | +| 10 | mprotect | Unimplemented | | | +| 11 | munmap | Unimplemented | | | +| 12 | brk | Unimplemented | | | +| 13 | rt_sigaction | Unimplemented | | | +| 14 | rt_sigprocmask | Unimplemented | | | +| 15 | rt_sigreturn | Unimplemented | | | +| 16 | ioctl | Unimplemented | | | +| 17 | pread64 | Unimplemented | | | +| 18 | pwrite64 | Unimplemented | | | +| 19 | readv | Unimplemented | | | +| 20 | writev | Unimplemented | | | +| 21 | access | Unimplemented | | | +| 22 | pipe | Implemented | `main` | | +| 23 | select | Unimplemented | | | +| 24 | sched_yield | Unimplemented | | | +| 25 | mremap | Unimplemented | | | +| 26 | msync | Unimplemented | | | +| 27 | mincore | Unimplemented | | | +| 28 | madvise | Unimplemented | | | +| 29 | shmget | Unimplemented | | | +| 30 | shmat | Unimplemented | | | +| 31 | shmctl | Unimplemented | | | +| 32 | dup | Unimplemented | | | +| 33 | dup2 | Unimplemented | | | +| 34 | pause | Unimplemented | | | +| 35 | nanosleep | Unimplemented | | | +| 36 | getitimer | Unimplemented | | | +| 37 | alarm | Unimplemented | | | +| 38 | setitimer | Unimplemented | | | +| 39 | getpid | Unimplemented | | | +| 40 | sendfile | Unimplemented | | | +| 41 | socket | Unimplemented | | | +| 42 | connect | Unimplemented | | | +| 43 | accept | Unimplemented | | | +| 44 | sendto | Unimplemented | | | +| 45 | recvfrom | Unimplemented | | | +| 46 | sendmsg | Unimplemented | | | +| 47 | recvmsg | Unimplemented | | | +| 48 | shutdown | Unimplemented | | | +| 49 | bind | Unimplemented | | | +| 50 | listen | Unimplemented | | | +| 51 | getsockname | Unimplemented | | | +| 52 | getpeername | Unimplemented | | | +| 53 | socketpair | Unimplemented | | | +| 54 | setsockopt | Unimplemented | | | +| 55 | getsockopt | Unimplemented | | | +| 56 | clone | Unimplemented | | | +| 57 | fork | Implemented | `main` | | +| 58 | vfork | Unimplemented | | | +| 59 | execve | Implemented | `main` | | +| 60 | exit | Unimplemented | | | +| 61 | wait4 | Unimplemented | | | +| 62 | kill | Unimplemented | | | +| 63 | uname | Unimplemented | | | +| 64 | semget | Unimplemented | | | +| 65 | semop | Unimplemented | | | +| 66 | semctl | Unimplemented | | | +| 67 | shmdt | Unimplemented | | | +| 68 | msgget | Unimplemented | | | +| 69 | msgsnd | Unimplemented | | | +| 70 | msgrcv | Unimplemented | | | +| 71 | msgctl | Unimplemented | | | +| 72 | fcntl | Unimplemented | | | +| 73 | flock | Unimplemented | | | +| 74 | fsync | Unimplemented | | | +| 75 | fdatasync | Unimplemented | | | +| 76 | truncate | Unimplemented | | | +| 77 | ftruncate | Unimplemented | | | +| 78 | getdents | Unimplemented | | | +| 79 | getcwd | Unimplemented | | | +| 80 | chdir | Unimplemented | | | +| 81 | fchdir | Unimplemented | | | +| 82 | rename | Unimplemented | | | +| 83 | mkdir | Unimplemented | | | +| 84 | rmdir | Unimplemented | | | +| 85 | creat | Unimplemented | | | +| 86 | link | Unimplemented | | | +| 87 | unlink | Unimplemented | | | +| 88 | symlink | Unimplemented | | | +| 89 | readlink | Unimplemented | | | +| 90 | chmod | Unimplemented | | | +| 91 | fchmod | Unimplemented | | | +| 92 | chown | Unimplemented | | | +| 93 | fchown | Unimplemented | | | +| 94 | lchown | Unimplemented | | | +| 95 | umask | Unimplemented | | | +| 96 | gettimeofday | Unimplemented | | | +| 97 | getrlimit | Unimplemented | | | +| 98 | getrusage | Unimplemented | | | +| 99 | sysinfo | Unimplemented | | | +| 100 | times | Unimplemented | | | +| 101 | ptrace | Unimplemented | | | +| 102 | getuid | Unimplemented | | | +| 103 | syslog | Unimplemented | | | +| 104 | getgid | Unimplemented | | | +| 105 | setuid | Unimplemented | | | +| 106 | setgid | Unimplemented | | | +| 107 | geteuid | Unimplemented | | | +| 108 | getegid | Unimplemented | | | +| 109 | setpgid | Unimplemented | | | +| 110 | getppid | Unimplemented | | | +| 111 | getpgrp | Unimplemented | | | +| 112 | setsid | Unimplemented | | | +| 113 | setreuid | Unimplemented | | | +| 114 | setregid | Unimplemented | | | +| 115 | getgroups | Unimplemented | | | +| 116 | setgroups | Unimplemented | | | +| 117 | setresuid | Unimplemented | | | +| 118 | getresuid | Unimplemented | | | +| 119 | setresgid | Unimplemented | | | +| 120 | getresgid | Unimplemented | | | +| 121 | getpgid | Unimplemented | | | +| 122 | setfsuid | Unimplemented | | | +| 123 | setfsgid | Unimplemented | | | +| 124 | getsid | Unimplemented | | | +| 125 | capget | Unimplemented | | | +| 126 | capset | Unimplemented | | | +| 127 | rt_sigpending | Unimplemented | | | +| 128 | rt_sigtimedwait | Unimplemented | | | +| 129 | rt_sigqueueinfo | Unimplemented | | | +| 130 | rt_sigsuspend | Unimplemented | | | +| 131 | sigaltstack | Unimplemented | | | +| 132 | utime | Unimplemented | | | +| 133 | mknod | Unimplemented | | | +| 134 | uselib | Unimplemented | | | +| 135 | personality | Unimplemented | | | +| 136 | ustat | Unimplemented | | | +| 137 | statfs | Unimplemented | | | +| 138 | fstatfs | Unimplemented | | | +| 139 | sysfs | Unimplemented | | | +| 140 | getpriority | Unimplemented | | | +| 141 | setpriority | Unimplemented | | | +| 142 | sched_setparam | Unimplemented | | | +| 143 | sched_getparam | Unimplemented | | | +| 144 | sched_setscheduler | Unimplemented | | | +| 145 | sched_getscheduler | Unimplemented | | | +| 146 | sched_get_priority_max | Unimplemented | | | +| 147 | sched_get_priority_min | Unimplemented | | | +| 148 | sched_rr_get_interval | Unimplemented | | | +| 149 | mlock | Unimplemented | | | +| 150 | munlock | Unimplemented | | | +| 151 | mlockall | Unimplemented | | | +| 152 | munlockall | Unimplemented | | | +| 153 | vhangup | Unimplemented | | | +| 154 | modify_ldt | Unimplemented | | | +| 155 | pivot_root | Unimplemented | | | +| 156 | sysctl | Unimplemented | | | +| 157 | prctl | Unimplemented | | | +| 158 | arch_prctl | Unimplemented | | | +| 159 | adjtimex | Unimplemented | | | +| 160 | setrlimit | Unimplemented | | | +| 161 | chroot | Unimplemented | | | +| 162 | sync | Unimplemented | | | +| 163 | acct | Unimplemented | | | +| 164 | settimeofday | Unimplemented | | | +| 165 | mount | Unimplemented | | | +| 166 | umount2 | Unimplemented | | | +| 167 | swapon | Unimplemented | | | +| 168 | swapoff | Unimplemented | | | +| 169 | reboot | Unimplemented | | | +| 170 | sethostname | Unimplemented | | | +| 171 | setdomainname | Unimplemented | | | +| 172 | iopl | Unimplemented | | | +| 173 | ioperm | Unimplemented | | | +| 174 | create_module | Unimplemented | | | +| 175 | init_module | Unimplemented | | | +| 176 | delete_module | Unimplemented | | | +| 177 | get_kernel_syms | Unimplemented | | | +| 178 | query_module | Unimplemented | | | +| 179 | quotactl | Unimplemented | | | +| 180 | nfsservctl | Unimplemented | | | +| 181 | getpmsg | Unimplemented | | | +| 182 | putpmsg | Unimplemented | | | +| 183 | afs_syscall | Unimplemented | | | +| 184 | tuxcall | Unimplemented | | | +| 185 | security | Unimplemented | | | +| 186 | gettid | Unimplemented | | | +| 187 | readahead | Unimplemented | | | +| 188 | setxattr | Unimplemented | | | +| 189 | lsetxattr | Unimplemented | | | +| 190 | fsetxattr | Unimplemented | | | +| 191 | getxattr | Unimplemented | | | +| 192 | lgetxattr | Unimplemented | | | +| 193 | fgetxattr | Unimplemented | | | +| 194 | listxattr | Unimplemented | | | +| 195 | llistxattr | Unimplemented | | | +| 196 | flistxattr | Unimplemented | | | +| 197 | removexattr | Unimplemented | | | +| 198 | lremovexattr | Unimplemented | | | +| 199 | fremovexattr | Unimplemented | | | +| 200 | tkill | Unimplemented | | | +| 201 | time | Unimplemented | | | +| 202 | futex | Unimplemented | | | +| 203 | sched_setaffinity | Unimplemented | | | +| 204 | sched_getaffinity | Unimplemented | | | +| 205 | set_thread_area | Unimplemented | | | +| 206 | io_setup | Unimplemented | | | +| 207 | io_destroy | Unimplemented | | | +| 208 | io_getevents | Unimplemented | | | +| 209 | io_submit | Unimplemented | | | +| 210 | io_cancel | Unimplemented | | | +| 211 | get_thread_area | Unimplemented | | | +| 212 | lookup_dcookie | Unimplemented | | | +| 213 | epoll_create | Unimplemented | | | +| 214 | epoll_ctl_old | Unimplemented | | | +| 215 | epoll_wait_old | Unimplemented | | | +| 216 | remap_file_pages | Unimplemented | | | +| 217 | getdents64 | Unimplemented | | | +| 218 | set_tid_address | Unimplemented | | | +| 219 | restart_syscall | Unimplemented | | | +| 220 | semtimedop | Unimplemented | | | +| 221 | fadvise64 | Unimplemented | | | +| 222 | timer_create | Unimplemented | | | +| 223 | timer_settime | Unimplemented | | | +| 224 | timer_gettime | Unimplemented | | | +| 225 | timer_getoverrun | Unimplemented | | | +| 226 | timer_delete | Unimplemented | | | +| 227 | clock_settime | Unimplemented | | | +| 228 | clock_gettime | Unimplemented | | | +| 229 | clock_getres | Unimplemented | | | +| 230 | clock_nanosleep | Unimplemented | | | +| 231 | exit_group | Unimplemented | | | +| 232 | epoll_wait | Unimplemented | | | +| 233 | epoll_ctl | Unimplemented | | | +| 234 | tgkill | Unimplemented | | | +| 235 | utimes | Unimplemented | | | +| 236 | vserver | Unimplemented | | | +| 237 | mbind | Unimplemented | | | +| 238 | set_mempolicy | Unimplemented | | | +| 239 | get_mempolicy | Unimplemented | | | +| 240 | mq_open | Unimplemented | | | +| 241 | mq_unlink | Unimplemented | | | +| 242 | mq_timedsend | Unimplemented | | | +| 243 | mq_timedreceive | Unimplemented | | | +| 244 | mq_notify | Unimplemented | | | +| 245 | mq_getsetattr | Unimplemented | | | +| 246 | kexec_load | Unimplemented | | | +| 247 | waitid | Unimplemented | | | +| 248 | add_key | Unimplemented | | | +| 249 | request_key | Unimplemented | | | +| 250 | keyctl | Unimplemented | | | +| 251 | ioprio_set | Unimplemented | | | +| 252 | ioprio_get | Unimplemented | | | +| 253 | inotify_init | Unimplemented | | | +| 254 | inotify_add_watch | Unimplemented | | | +| 255 | inotify_rm_watch | Unimplemented | | | +| 256 | migrate_pages | Unimplemented | | | +| 257 | openat | Unimplemented | | | +| 258 | mkdirat | Unimplemented | | | +| 259 | mknodat | Unimplemented | | | +| 260 | fchownat | Unimplemented | | | +| 261 | futimesat | Unimplemented | | | +| 262 | fstatat | Unimplemented | | | +| 263 | unlinkat | Unimplemented | | | +| 264 | renameat | Unimplemented | | | +| 265 | linkat | Unimplemented | | | +| 266 | symlinkat | Unimplemented | | | +| 267 | readlinkat | Unimplemented | | | +| 268 | fchmodat | Unimplemented | | | +| 269 | faccessat | Unimplemented | | | +| 270 | pselect | Unimplemented | | | +| 271 | ppoll | Unimplemented | | | +| 272 | unshare | Unimplemented | | | +| 273 | set_robust_list | Unimplemented | | | +| 274 | get_robust_list | Unimplemented | | | +| 275 | splice | Unimplemented | | | +| 276 | tee | Unimplemented | | | +| 277 | sync_file_range | Unimplemented | | | +| 278 | vmsplice | Unimplemented | | | +| 279 | move_pages | Unimplemented | | | +| 280 | utimensat | Unimplemented | | | +| 281 | epoll_pwait | Unimplemented | | | +| 282 | signalfd | Unimplemented | | | +| 283 | timerfd_create | Unimplemented | | | +| 284 | eventfd | Unimplemented | | | +| 285 | fallocate | Unimplemented | | | +| 286 | timerfd_settime | Unimplemented | | | +| 287 | timerfd_gettime | Unimplemented | | | +| 288 | accept4 | Unimplemented | | | +| 289 | signalfd4 | Unimplemented | | | +| 290 | eventfd2 | Unimplemented | | | +| 291 | epoll_create1 | Unimplemented | | | +| 292 | dup3 | Unimplemented | | | +| 293 | pipe2 | Unimplemented | | | +| 294 | inotify_init1 | Unimplemented | | | +| 295 | preadv | Unimplemented | | | +| 296 | pwritev | Unimplemented | | | +| 297 | rt_tgsigqueueinfo | Unimplemented | | | +| 298 | perf_event_open | Unimplemented | | | +| 299 | recvmmsg | Unimplemented | | | +| 300 | fanotify_init | Unimplemented | | | +| 301 | fanotify_mark | Unimplemented | | | +| 302 | prlimit64 | Unimplemented | | | +| 303 | name_to_handle_at | Unimplemented | | | +| 304 | open_by_handle_at | Unimplemented | | | +| 305 | clock_adjtime | Unimplemented | | | +| 306 | syncfs | Unimplemented | | | +| 307 | sendmmsg | Unimplemented | | | +| 308 | setns | Unimplemented | | | +| 309 | getcpu | Unimplemented | | | +| 310 | process_vm_readv | Unimplemented | | | +| 311 | process_vm_writev | Unimplemented | | | +| 312 | kcmp | Unimplemented | | | +| 313 | finit_module | Unimplemented | | | +| 314 | sched_setattr | Unimplemented | | | +| 315 | sched_getattr | Unimplemented | | | +| 316 | renameat2 | Unimplemented | | | +| 317 | seccomp | Unimplemented | | | +| 318 | getrandom | Unimplemented | | | +| 319 | memfd_create | Unimplemented | | | +| 320 | kexec_file_load | Unimplemented | | | +| 321 | bpf | Unimplemented | | | +| 322 | execveat | Unimplemented | | | +| 323 | userfaultfd | Unimplemented | | | +| 324 | membarrier | Unimplemented | | | +| 325 | mlock2 | Unimplemented | | | +| 326 | copy_file_range | Unimplemented | | | +| 327 | preadv2 | Unimplemented | | | +| 328 | pwritev2 | Unimplemented | | | +| 329 | pkey_mprotect | Unimplemented | | | +| 330 | pkey_alloc | Unimplemented | | | +| 331 | pkey_free | Unimplemented | | | +| 332 | statx | Unimplemented | | | +| 333 | io_pgetevents | Unimplemented | | | +| 334 | rseq | Unimplemented | | | +| 424 | pidfd_send_signal | Unimplemented | | | +| 425 | io_uring_setup | Unimplemented | | | +| 426 | io_uring_enter | Unimplemented | | | +| 427 | io_uring_register | Unimplemented | | | +| 428 | open_tree | Unimplemented | | | +| 429 | move_mount | Unimplemented | | | +| 430 | fsopen | Unimplemented | | | +| 431 | fsconfig | Unimplemented | | | +| 432 | fsmount | Unimplemented | | | +| 433 | fspick | Unimplemented | | | +| 434 | pidfd_open | Unimplemented | | | +| 435 | clone3 | Unimplemented | | | From d304d81e2d4fb7a7b2a6b2a67a31c5d1755f7057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Correa=20Casablanca?= Date: Thu, 28 Oct 2021 10:45:42 +0200 Subject: [PATCH 3/4] docs: mark as implemented calls listed in README Mark as implemented in COMPATIBILITY.md some syscalls mentioned in README.md. --- COMPATIBILITY.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index 3dfe12cc..e85d0657 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -12,15 +12,15 @@ Not supported. | No | Name | Status | Release | Notes | |-----|------------------------|---------------|---------|-------| | 0 | read | Unimplemented | | | -| 1 | write | Unimplemented | | | +| 1 | write | Implemented | `main` | | | 2 | open | Unimplemented | | | | 3 | close | Unimplemented | | | -| 4 | stat | Unimplemented | | | +| 4 | stat | Implemented | `main` | | | 5 | fstat | Unimplemented | | | | 6 | lstat | Unimplemented | | | | 7 | poll | Implemented | `main` | | | 8 | lseek | Unimplemented | | | -| 9 | mmap | Unimplemented | | | +| 9 | mmap | Implemented | `main` | | | 10 | mprotect | Unimplemented | | | | 11 | munmap | Unimplemented | | | | 12 | brk | Unimplemented | | | @@ -72,7 +72,7 @@ Not supported. | 58 | vfork | Unimplemented | | | | 59 | execve | Implemented | `main` | | | 60 | exit | Unimplemented | | | -| 61 | wait4 | Unimplemented | | | +| 61 | wait4 | Implemented | `main` | | | 62 | kill | Unimplemented | | | | 63 | uname | Unimplemented | | | | 64 | semget | Unimplemented | | | From aae2b2523c3729a9d03e7e588daf1b04d01ca571 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Correa=20Casablanca?= Date: Thu, 28 Oct 2021 11:11:06 +0200 Subject: [PATCH 4/4] docs: document "wired" syscalls from syscalls/mod --- COMPATIBILITY.md | 94 ++++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index e85d0657..a2849ea3 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -11,30 +11,30 @@ Not supported. | No | Name | Status | Release | Notes | |-----|------------------------|---------------|---------|-------| -| 0 | read | Unimplemented | | | +| 0 | read | Implemented | `main` | | | 1 | write | Implemented | `main` | | | 2 | open | Unimplemented | | | | 3 | close | Unimplemented | | | | 4 | stat | Implemented | `main` | | -| 5 | fstat | Unimplemented | | | -| 6 | lstat | Unimplemented | | | +| 5 | fstat | Implemented | `main` | | +| 6 | lstat | Implemented | `main` | | | 7 | poll | Implemented | `main` | | | 8 | lseek | Unimplemented | | | | 9 | mmap | Implemented | `main` | | | 10 | mprotect | Unimplemented | | | | 11 | munmap | Unimplemented | | | -| 12 | brk | Unimplemented | | | -| 13 | rt_sigaction | Unimplemented | | | +| 12 | brk | Implemented | `main` | | +| 13 | rt_sigaction | Implemented | `main` | | | 14 | rt_sigprocmask | Unimplemented | | | -| 15 | rt_sigreturn | Unimplemented | | | -| 16 | ioctl | Unimplemented | | | +| 15 | rt_sigreturn | Implemented | `main` | | +| 16 | ioctl | Implemented | `main` | | | 17 | pread64 | Unimplemented | | | | 18 | pwrite64 | Unimplemented | | | | 19 | readv | Unimplemented | | | -| 20 | writev | Unimplemented | | | +| 20 | writev | Implemented | `main` | | | 21 | access | Unimplemented | | | | 22 | pipe | Implemented | `main` | | -| 23 | select | Unimplemented | | | +| 23 | select | Implemented | `main` | | | 24 | sched_yield | Unimplemented | | | | 25 | mremap | Unimplemented | | | | 26 | msync | Unimplemented | | | @@ -44,37 +44,37 @@ Not supported. | 30 | shmat | Unimplemented | | | | 31 | shmctl | Unimplemented | | | | 32 | dup | Unimplemented | | | -| 33 | dup2 | Unimplemented | | | +| 33 | dup2 | Implemented | `main` | | | 34 | pause | Unimplemented | | | | 35 | nanosleep | Unimplemented | | | | 36 | getitimer | Unimplemented | | | | 37 | alarm | Unimplemented | | | | 38 | setitimer | Unimplemented | | | -| 39 | getpid | Unimplemented | | | +| 39 | getpid | Implemented | `main` | | | 40 | sendfile | Unimplemented | | | -| 41 | socket | Unimplemented | | | -| 42 | connect | Unimplemented | | | -| 43 | accept | Unimplemented | | | -| 44 | sendto | Unimplemented | | | -| 45 | recvfrom | Unimplemented | | | +| 41 | socket | Implemented | `main` | | +| 42 | connect | Implemented | `main` | | +| 43 | accept | Implemented | `main` | | +| 44 | sendto | Implemented | `main` | | +| 45 | recvfrom | Implemented | `main` | | | 46 | sendmsg | Unimplemented | | | | 47 | recvmsg | Unimplemented | | | | 48 | shutdown | Unimplemented | | | -| 49 | bind | Unimplemented | | | -| 50 | listen | Unimplemented | | | -| 51 | getsockname | Unimplemented | | | -| 52 | getpeername | Unimplemented | | | +| 49 | bind | Implemented | `main` | | +| 50 | listen | Implemented | `main` | | +| 51 | getsockname | Implemented | `main` | | +| 52 | getpeername | Implemented | `main` | | | 53 | socketpair | Unimplemented | | | | 54 | setsockopt | Unimplemented | | | -| 55 | getsockopt | Unimplemented | | | +| 55 | getsockopt | Implemented | `main` | | | 56 | clone | Unimplemented | | | | 57 | fork | Implemented | `main` | | | 58 | vfork | Unimplemented | | | | 59 | execve | Implemented | `main` | | -| 60 | exit | Unimplemented | | | +| 60 | exit | Implemented | `main` | | | 61 | wait4 | Implemented | `main` | | | 62 | kill | Unimplemented | | | -| 63 | uname | Unimplemented | | | +| 63 | uname | Implemented | `main` | | | 64 | semget | Unimplemented | | | | 65 | semop | Unimplemented | | | | 66 | semctl | Unimplemented | | | @@ -83,27 +83,27 @@ Not supported. | 69 | msgsnd | Unimplemented | | | | 70 | msgrcv | Unimplemented | | | | 71 | msgctl | Unimplemented | | | -| 72 | fcntl | Unimplemented | | | +| 72 | fcntl | Implemented | `main` | | | 73 | flock | Unimplemented | | | -| 74 | fsync | Unimplemented | | | +| 74 | fsync | Implemented | `main` | | | 75 | fdatasync | Unimplemented | | | | 76 | truncate | Unimplemented | | | | 77 | ftruncate | Unimplemented | | | | 78 | getdents | Unimplemented | | | -| 79 | getcwd | Unimplemented | | | -| 80 | chdir | Unimplemented | | | +| 79 | getcwd | Implemented | `main` | | +| 80 | chdir | Implemented | `main` | | | 81 | fchdir | Unimplemented | | | | 82 | rename | Unimplemented | | | -| 83 | mkdir | Unimplemented | | | +| 83 | mkdir | Implemented | `main` | | | 84 | rmdir | Unimplemented | | | | 85 | creat | Unimplemented | | | -| 86 | link | Unimplemented | | | +| 86 | link | Implemented | `main` | | | 87 | unlink | Unimplemented | | | | 88 | symlink | Unimplemented | | | -| 89 | readlink | Unimplemented | | | -| 90 | chmod | Unimplemented | | | +| 89 | readlink | Implemented | `main` | | +| 90 | chmod | Implemented | `main` | | | 91 | fchmod | Unimplemented | | | -| 92 | chown | Unimplemented | | | +| 92 | chown | Implemented | `main` | | | 93 | fchown | Unimplemented | | | | 94 | lchown | Unimplemented | | | | 95 | umask | Unimplemented | | | @@ -113,26 +113,26 @@ Not supported. | 99 | sysinfo | Unimplemented | | | | 100 | times | Unimplemented | | | | 101 | ptrace | Unimplemented | | | -| 102 | getuid | Unimplemented | | | -| 103 | syslog | Unimplemented | | | +| 102 | getuid | Implemented | `main` | | +| 103 | syslog | Implemented | `main` | | | 104 | getgid | Unimplemented | | | -| 105 | setuid | Unimplemented | | | -| 106 | setgid | Unimplemented | | | -| 107 | geteuid | Unimplemented | | | +| 105 | setuid | Implemented | `main` | | +| 106 | setgid | Implemented | `main` | | +| 107 | geteuid | Implemented | `main` | | | 108 | getegid | Unimplemented | | | -| 109 | setpgid | Unimplemented | | | +| 109 | setpgid | Implemented | `main` | | | 110 | getppid | Unimplemented | | | | 111 | getpgrp | Unimplemented | | | | 112 | setsid | Unimplemented | | | | 113 | setreuid | Unimplemented | | | | 114 | setregid | Unimplemented | | | | 115 | getgroups | Unimplemented | | | -| 116 | setgroups | Unimplemented | | | +| 116 | setgroups | Implemented | `main` | | | 117 | setresuid | Unimplemented | | | | 118 | getresuid | Unimplemented | | | | 119 | setresgid | Unimplemented | | | | 120 | getresgid | Unimplemented | | | -| 121 | getpgid | Unimplemented | | | +| 121 | getpgid | Implemented | `main` | | | 122 | setfsuid | Unimplemented | | | | 123 | setfsgid | Unimplemented | | | | 124 | getsid | Unimplemented | | | @@ -169,7 +169,7 @@ Not supported. | 155 | pivot_root | Unimplemented | | | | 156 | sysctl | Unimplemented | | | | 157 | prctl | Unimplemented | | | -| 158 | arch_prctl | Unimplemented | | | +| 158 | arch_prctl | Implemented | `main` | | | 159 | adjtimex | Unimplemented | | | | 160 | setrlimit | Unimplemented | | | | 161 | chroot | Unimplemented | | | @@ -228,8 +228,8 @@ Not supported. | 214 | epoll_ctl_old | Unimplemented | | | | 215 | epoll_wait_old | Unimplemented | | | | 216 | remap_file_pages | Unimplemented | | | -| 217 | getdents64 | Unimplemented | | | -| 218 | set_tid_address | Unimplemented | | | +| 217 | getdents64 | Implemented | `main` | | +| 218 | set_tid_address | Implemented | `main` | | | 219 | restart_syscall | Unimplemented | | | | 220 | semtimedop | Unimplemented | | | | 221 | fadvise64 | Unimplemented | | | @@ -239,14 +239,14 @@ Not supported. | 225 | timer_getoverrun | Unimplemented | | | | 226 | timer_delete | Unimplemented | | | | 227 | clock_settime | Unimplemented | | | -| 228 | clock_gettime | Unimplemented | | | +| 228 | clock_gettime | Implemented | `main` | | | 229 | clock_getres | Unimplemented | | | | 230 | clock_nanosleep | Unimplemented | | | | 231 | exit_group | Unimplemented | | | | 232 | epoll_wait | Unimplemented | | | | 233 | epoll_ctl | Unimplemented | | | | 234 | tgkill | Unimplemented | | | -| 235 | utimes | Unimplemented | | | +| 235 | utimes | Implemented | `main` | | | 236 | vserver | Unimplemented | | | | 237 | mbind | Unimplemented | | | | 238 | set_mempolicy | Unimplemented | | | @@ -276,7 +276,7 @@ Not supported. | 262 | fstatat | Unimplemented | | | | 263 | unlinkat | Unimplemented | | | | 264 | renameat | Unimplemented | | | -| 265 | linkat | Unimplemented | | | +| 265 | linkat | Implemented | `main` | | | 266 | symlinkat | Unimplemented | | | | 267 | readlinkat | Unimplemented | | | | 268 | fchmodat | Unimplemented | | | @@ -329,7 +329,7 @@ Not supported. | 315 | sched_getattr | Unimplemented | | | | 316 | renameat2 | Unimplemented | | | | 317 | seccomp | Unimplemented | | | -| 318 | getrandom | Unimplemented | | | +| 318 | getrandom | Implemented | `main` | | | 319 | memfd_create | Unimplemented | | | | 320 | kexec_file_load | Unimplemented | | | | 321 | bpf | Unimplemented | | |