diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT
index 765d2fa..e1934fa 100644
--- a/libc/SYSCALLS.TXT
+++ b/libc/SYSCALLS.TXT
@@ -22,18 +22,18 @@
 #        assembler template for the syscall; it's up to the bionic implementation to provide
 #        a relevant C stub
 #
-#      - additionally, if the syscall number is different amoung ARM, and x86, use:
-#        return_type funcname[:syscall_name](parameters) arm_number,x86_number
+#      - additionally, if the syscall number is different amoung ARM, and x86, MIPS use:
+#        return_type funcname[:syscall_name](parameters) arm_number,x86_number, mips_number
 #
 # the file is processed by a python script named gensyscalls.py
 #
 
 # process management
-void    _exit:exit_group (int)      248,252
+void    _exit:exit_group (int)      248,252,246
 void    _exit_thread:exit (int)     1
 pid_t   __fork:fork (void)           2
-pid_t   _waitpid:waitpid (pid_t, int*, int, struct rusage*)   -1,7
-int     __waitid:waitid(int, pid_t, struct siginfo_t*, int,void*)          280,284
+pid_t   _waitpid:waitpid (pid_t, int*, int, struct rusage*)   -1,7,7
+int     __waitid:waitid(int, pid_t, struct siginfo_t*, int,void*)          280,284,278
 
 # NOTE: this system call is never called directly, but we list it there
 #       to have __NR_clone properly defined.
@@ -42,71 +42,86 @@
 
 int     execve (const char*, char* const*, char* const*)  11
 
-int     __setuid:setuid32 (uid_t)    213
-uid_t   getuid:getuid32 ()         199
-gid_t   getgid:getgid32 ()         200
-uid_t   geteuid:geteuid32 ()       201
-gid_t   getegid:getegid32 ()       202
-uid_t   getresuid:getresuid32 (uid_t *ruid, uid_t *euid, uid_t *suid)   209
-gid_t   getresgid:getresgid32 (gid_t *rgid, gid_t *egid, gid_t *sgid)   211
-pid_t   gettid()                   224
-ssize_t readahead(int, off64_t, size_t)     225
-int     getgroups:getgroups32(int, gid_t *)    205
+int     __setuid:setuid32 (uid_t)    213,213,-1
+int     __setuid:setuid (uid_t)   -1,-1,23
+uid_t   getuid:getuid32 ()         199,199,-1
+uid_t   getuid:getuid ()           -1,-1,24
+gid_t   getgid:getgid32 ()         200,200,-1
+gid_t   getgid:getgid ()           -1,-1,47
+uid_t   geteuid:geteuid32 ()       201,201,-1
+uid_t   geteuid:geteuid ()         -1,-1,49
+gid_t   getegid:getegid32 ()       202,202,-1
+gid_t   getegid:getegid ()         -1,-1,50
+uid_t   getresuid:getresuid32 (uid_t *ruid, uid_t *euid, uid_t *suid)   209,209,-1
+uid_t   getresuid:getresuid (uid_t *ruid, uid_t *euid, uid_t *suid)     -1,-1,186
+gid_t   getresgid:getresgid32 (gid_t *rgid, gid_t *egid, gid_t *sgid)   211,211,-1
+gid_t   getresgid:getresgid (gid_t *rgid, gid_t *egid, gid_t *sgid)     -1,-1,191
+pid_t   gettid()                   224,224,222
+ssize_t readahead(int, off64_t, size_t)     225,225,223
+int     getgroups:getgroups32(int, gid_t *)    205,205,-1
+int     getgroups:getgroups(int, gid_t *)      -1,-1,80
 pid_t   getpgid(pid_t)             132
 pid_t   getppid()                  64
 pid_t   setsid()                   66
-int     setgid:setgid32(gid_t)     214
+int     setgid:setgid32(gid_t)     214,214,-1
+int     setgid:setgid(gid_t)       -1,-1,46
 int     seteuid:seteuid32(uid_t)   stub
-int     __setreuid:setreuid32(uid_t, uid_t)   203
-int     __setresuid:setresuid32(uid_t, uid_t, uid_t)   208
-int     setresgid:setresgid32(gid_t, gid_t, gid_t)   210
+int     __setreuid:setreuid32(uid_t, uid_t)   203,203,-1
+int     __setreuid:setreuid(uid_t, uid_t)     -1,-1,70
+int     __setresuid:setresuid32(uid_t, uid_t, uid_t)   208,208,-1
+int     __setresuid:setresuid(uid_t, uid_t, uid_t)     -1,-1,185
+int     setresgid:setresgid32(gid_t, gid_t, gid_t)   210,210,-1
+int     setresgid:setresgid(gid_t, gid_t, gid_t)     -1,-1,190
 void*   __brk:brk(void*)           45
 # see comments in arch-arm/bionic/kill.S to understand why we don't generate an ARM stub for kill/tkill
-int     kill(pid_t, int)           -1,37
-int     tkill(pid_t tid, int sig)  -1,238
+int     kill(pid_t, int)           -1,37,37
+int     tkill(pid_t tid, int sig)  -1,238,236
 int     __ptrace:ptrace(int request, int pid, void* addr, void* data)  26
-int     __set_thread_area:set_thread_area(void*  user_desc)  -1,243
+int     __set_thread_area:set_thread_area(void*  user_desc)  -1,243,283
 int     __getpriority:getpriority(int, int)  96
 int     setpriority(int, int, int)   97
 int     setrlimit(int resource, const struct rlimit *rlp)  75
-int     getrlimit:ugetrlimit(int resource, struct rlimit *rlp)  191
+int     getrlimit:ugetrlimit(int resource, struct rlimit *rlp)  191,191,-1
+int     getrlimit:getrlimit(int resource, struct rlimit *rlp)  -1,-1,76
 int     getrusage(int who, struct rusage*  r_usage)  77
-int     setgroups:setgroups32(int, const gid_t *)   206
+int     setgroups:setgroups32(int, const gid_t *)   206,206,-1
+int     setgroups:setgroups(int, const gid_t *)     -1,-1,81
 pid_t   getpgrp(void)  stub
 int     setpgid(pid_t, pid_t)  57
-pid_t   vfork(void)  190,-1,190
-int     setregid:setregid32(gid_t, gid_t)  204
+pid_t   vfork(void)  190,-1,-1
+int     setregid:setregid32(gid_t, gid_t)  204,204,-1
+int     setregid:setregid(gid_t, gid_t)    -1,-1,71
 int     chroot(const char *)  61
 # IMPORTANT: Even though <sys/prctl.h> declares prctl(int,...), the syscall stub must take 6 arguments
 #            to match the kernel implementation.
-int     prctl(int option, unsigned int arg2, unsigned int arg3, unsigned int arg4, unsigned int arg5)  172
-int     capget(cap_user_header_t header, cap_user_data_t data) 184
-int     capset(cap_user_header_t header, const cap_user_data_t data) 185
-int     sigaltstack(const stack_t*, stack_t*) 186
+int     prctl(int option, unsigned int arg2, unsigned int arg3, unsigned int arg4, unsigned int arg5)  172,172,192
+int     capget(cap_user_header_t header, cap_user_data_t data) 184,184,204
+int     capset(cap_user_header_t header, const cap_user_data_t data) 185,185,205
+int     sigaltstack(const stack_t*, stack_t*) 186,186,206
 int     acct(const char*  filepath)  51
 
 # file descriptors
 ssize_t     read (int, void*, size_t)        3
 ssize_t     write (int, const void*, size_t)       4
-ssize_t     pread64 (int, void *, size_t, off64_t) 180
-ssize_t     pwrite64 (int, void *, size_t, off64_t) 181
+ssize_t     pread64 (int, void *, size_t, off64_t) 180,180,200
+ssize_t     pwrite64 (int, void *, size_t, off64_t) 181,181,201
 int         __open:open (const char*, int, mode_t)  5
-int         __openat:openat (int, const char*, int, mode_t)  322,295
+int         __openat:openat (int, const char*, int, mode_t)  322,295,288
 int         close (int)                      6
 int         creat(const char*, mode_t)       stub
 off_t       lseek(int, off_t, int)           19
 int         __llseek:_llseek (int, unsigned long, unsigned long, loff_t*, int)  140
 pid_t       getpid ()    20
 void *      mmap(void *, size_t, int, int, int, long)  stub
-void *      __mmap2:mmap2(void*, size_t, int, int, int, long)   192
+void *      __mmap2:mmap2(void*, size_t, int, int, int, long)   192,192,210
 int         munmap(void *, size_t)  91
-void *      mremap(void *, size_t, size_t, unsigned long)  163
+void *      mremap(void *, size_t, size_t, unsigned long)  163,163,167
 int         msync(const void *, size_t, int)    144
 int         mprotect(const void *, size_t, int)  125
-int         madvise(const void *, size_t, int)  220,219
-int         mlock(const void *addr, size_t len)    150
-int         munlock(const void *addr, size_t len)   151
-int         mincore(void*  start, size_t  length, unsigned char*  vec)   219,218
+int         madvise(const void *, size_t, int)  220,219,218
+int         mlock(const void *addr, size_t len)    150,150,154
+int         munlock(const void *addr, size_t len)   151,151,155
+int         mincore(void*  start, size_t  length, unsigned char*  vec)   219,218,217
 int         __ioctl:ioctl(int, int, void *)  54
 int         readv(int, const struct iovec *, int)   145
 int         writev(int, const struct iovec *, int)  146
@@ -114,143 +129,146 @@
 int         flock(int, int)   143
 int         fchmod(int, mode_t)  94
 int         dup(int)  41
-int         pipe(int *)  42,42
-int         pipe2(int *, int) 359,331
+int         pipe(int *)  42,42,-1
+int         pipe2(int *, int) 359,331,328
 int         dup2(int, int)   63
 int         select:_newselect(int, struct fd_set *, struct fd_set *, struct fd_set *, struct timeval *)  142
 int         ftruncate(int, off_t)  93
-int         ftruncate64(int, off64_t) 194
-int         getdents:getdents64(unsigned int, struct dirent *, unsigned int)   217,220
+int         ftruncate64(int, off64_t) 194,194,212
+int         getdents:getdents64(unsigned int, struct dirent *, unsigned int)   217,220,219
 int         fsync(int)  118
-int         fdatasync(int) 148
-int         fchown:fchown32(int, uid_t, gid_t)  207
+int         fdatasync(int) 148,148,152
+int         fchown:fchown32(int, uid_t, gid_t)  207,207,-1
+int         fchown:fchown(int, uid_t, gid_t)    -1,-1,95
 void        sync(void)  36
-int         __fcntl64:fcntl64(int, int, void *)  221
-int         __fstatfs64:fstatfs64(int, size_t, struct statfs *)  267,269
-ssize_t     sendfile(int out_fd, int in_fd, off_t *offset, size_t count)  187
-int         fstatat:fstatat64(int dirfd, const char *path, struct stat *buf, int flags)   327,300
-int         mkdirat(int dirfd, const char *pathname, mode_t mode)  323,296
-int         fchownat(int dirfd, const char *path, uid_t owner, gid_t group, int flags)  325,298
-int         fchmodat(int dirfd, const char *path, mode_t mode, int flags)  333,306
-int         renameat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath)  329,302
-int         fsetxattr(int, const char *, const void *, size_t, int) 228
-ssize_t     fgetxattr(int, const char *, void *, size_t) 231
-ssize_t     flistxattr(int, char *, size_t) 234
-int         fremovexattr(int, const char *) 237
+int         __fcntl64:fcntl64(int, int, void *)  221,221,220
+int         __fstatfs64:fstatfs64(int, size_t, struct statfs *)  267,269,256
+ssize_t     sendfile(int out_fd, int in_fd, off_t *offset, size_t count)  187,187,207
+int         fstatat:fstatat64(int dirfd, const char *path, struct stat *buf, int flags)   327,300,293
+int         mkdirat(int dirfd, const char *pathname, mode_t mode)  323,296,289
+int         fchownat(int dirfd, const char *path, uid_t owner, gid_t group, int flags)  325,298,291
+int         fchmodat(int dirfd, const char *path, mode_t mode, int flags)  333,306,299
+int         renameat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath)  329,302,295
+int         fsetxattr(int, const char *, const void *, size_t, int) 228,228,226
+ssize_t     fgetxattr(int, const char *, void *, size_t) 231,231,229
+ssize_t     flistxattr(int, char *, size_t) 234,234,232
+int         fremovexattr(int, const char *) 237,237,235
 
 # file system
 int     link (const char*, const char*)  9
 int     unlink (const char*)             10
-int     unlinkat (int, const char *, int)   328,301
+int     unlinkat (int, const char *, int)   328,301,294
 int     chdir (const char*)              12
 int     mknod (const char*, mode_t, dev_t)  14
 int     chmod (const char*,mode_t)          15
-int     chown:chown32(const char *, uid_t, gid_t)  212
-int     lchown:lchown32 (const char*, uid_t, gid_t)  198
+int     chown:chown32(const char *, uid_t, gid_t)  212,212,-1
+int     chown:chown(const char *, uid_t, gid_t)    -1,-1,202
+int     lchown:lchown32 (const char*, uid_t, gid_t)  198,198,-1
+int     lchown:lchown (const char*, uid_t, gid_t)  -1,-1,16
 int     mount (const char*, const char*, const char*, unsigned long, const void*)  21
 int     umount(const char*)  stub
 int     umount2 (const char*, int)  52
-int     fstat:fstat64(int, struct stat*)    197
-int     stat:stat64(const char *, struct stat *)  195
-int     lstat:lstat64(const char *, struct stat *)  196
+int     fstat:fstat64(int, struct stat*)    197,197,215
+int     stat:stat64(const char *, struct stat *)  195,195,213
+int     lstat:lstat64(const char *, struct stat *)  196,196,214
 int     mkdir(const char *, mode_t) 39
 int     readlink(const char *, char *, size_t)  85
 int     rmdir(const char *)  40
 int     rename(const char *, const char *)  38
-int     __getcwd:getcwd(char * buf, size_t size)  183
+int     __getcwd:getcwd(char * buf, size_t size)  183,183,203
 int     access(const char *, int)  33
 int     symlink(const char *, const char *)  83
 int     fchdir(int)    133
 int     truncate(const char*, off_t)    92
-int     setxattr(const char *, const char *, const void *, size_t, int) 226
-int     lsetxattr(const char *, const char *, const void *, size_t, int) 227
-ssize_t getxattr(const char *, const char *, void *, size_t) 229
-ssize_t lgetxattr(const char *, const char *, void *, size_t) 230
-ssize_t listxattr(const char *, char *, size_t) 232
-ssize_t llistxattr(const char *, char *, size_t) 233
-int     removexattr(const char *, const char *) 235
-int     lremovexattr(const char *, const char *) 236
-int     __statfs64:statfs64(const char *, size_t, struct statfs *)  266,268
+int     setxattr(const char *, const char *, const void *, size_t, int) 226,226,224
+int     lsetxattr(const char *, const char *, const void *, size_t, int) 227,227,225
+ssize_t getxattr(const char *, const char *, void *, size_t) 229,229,227
+ssize_t lgetxattr(const char *, const char *, void *, size_t) 230,230,228
+ssize_t listxattr(const char *, char *, size_t) 232,232,230
+ssize_t llistxattr(const char *, char *, size_t) 233,233,231
+int     removexattr(const char *, const char *) 235,235,233
+int     lremovexattr(const char *, const char *) 236,236,234
+int     __statfs64:statfs64(const char *, size_t, struct statfs *)  266,268,255
 
 # time
 int           pause ()                       29
 int           gettimeofday(struct timeval*, struct timezone*)       78
 int           settimeofday(const struct timeval*, const struct timezone*)   79
 clock_t       times(struct tms *)       43
-int           nanosleep(const struct timespec *, struct timespec *)   162
-int           clock_gettime(clockid_t clk_id, struct timespec *tp)    263,265
-int           clock_settime(clockid_t clk_id, const struct timespec *tp)  262,264
-int           clock_getres(clockid_t clk_id, struct timespec *res)   264,266
-int           clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *req, struct timespec *rem)  265,267
+int           nanosleep(const struct timespec *, struct timespec *)   162,162,166
+int           clock_gettime(clockid_t clk_id, struct timespec *tp)    263,265,263
+int           clock_settime(clockid_t clk_id, const struct timespec *tp)  262,264,262
+int           clock_getres(clockid_t clk_id, struct timespec *res)   264,266,264
+int           clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *req, struct timespec *rem)  265,267,265
 int           getitimer(int, const struct itimerval *)   105
 int           setitimer(int, const struct itimerval *, struct itimerval *)  104
-int           __timer_create:timer_create(clockid_t clockid, struct sigevent *evp, timer_t *timerid)    257,259
-int           __timer_settime:timer_settime(timer_t, int, const struct itimerspec*, struct itimerspec*) 258,260
-int           __timer_gettime:timer_gettime(timer_t, struct itimerspec*)                                259,261
-int           __timer_getoverrun:timer_getoverrun(timer_t)                                              260,262
-int           __timer_delete:timer_delete(timer_t)                                                      261,263
-int           utimes(const char*, const struct timeval tvp[2])                          269, 271
-int           utimensat(int, const char *, const struct timespec times[2], int)         348, 320
+int           __timer_create:timer_create(clockid_t clockid, struct sigevent *evp, timer_t *timerid)    257,259,257
+int           __timer_settime:timer_settime(timer_t, int, const struct itimerspec*, struct itimerspec*) 258,260,258
+int           __timer_gettime:timer_gettime(timer_t, struct itimerspec*)                                259,261,259
+int           __timer_getoverrun:timer_getoverrun(timer_t)                                              260,262,260
+int           __timer_delete:timer_delete(timer_t)                                                      261,263,261
+int           utimes(const char*, const struct timeval tvp[2])                          269,271,267
+int           utimensat(int, const char *, const struct timespec times[2], int)         348,320,316
 
 # signals
 int     sigaction(int, const struct sigaction *, struct sigaction *)  67
 int     sigprocmask(int, const sigset_t *, sigset_t *)  126
 int     __sigsuspend:sigsuspend(int unused1, int unused2, unsigned mask)  72
-int     __rt_sigaction:rt_sigaction (int sig, const struct sigaction *act, struct sigaction *oact, size_t sigsetsize)  174
-int     __rt_sigprocmask:rt_sigprocmask (int  how, const sigset_t *set, sigset_t *oset, size_t sigsetsize)  175
-int     __rt_sigtimedwait:rt_sigtimedwait(const sigset_t *set, struct siginfo_t  *info, struct timespec_t  *timeout, size_t  sigset_size)  177
+int     __rt_sigaction:rt_sigaction (int sig, const struct sigaction *act, struct sigaction *oact, size_t sigsetsize)  174,174,194
+int     __rt_sigprocmask:rt_sigprocmask (int  how, const sigset_t *set, sigset_t *oset, size_t sigsetsize)  175,175,195
+int     __rt_sigtimedwait:rt_sigtimedwait(const sigset_t *set, struct siginfo_t  *info, struct timespec_t  *timeout, size_t  sigset_size)  177,177,197
 int     sigpending(sigset_t *)  73
 
 # sockets
-int           socket(int, int, int)              281,-1
-int           socketpair(int, int, int, int*)    288,-1
-int           bind(int, struct sockaddr *, int)  282,-1
-int           connect(int, struct sockaddr *, socklen_t)   283,-1
-int           listen(int, int)                   284,-1
-int           accept(int, struct sockaddr *, socklen_t *)  285,-1
-int           getsockname(int, struct sockaddr *, socklen_t *)  286,-1
-int           getpeername(int, struct sockaddr *, socklen_t *)  287,-1
-int           sendto(int, const void *, size_t, int, const struct sockaddr *, socklen_t)  290,-1
-int           recvfrom(int, void *, size_t, unsigned int, struct sockaddr *, socklen_t *)  292,-1
-int           shutdown(int, int)  293,-1
-int           setsockopt(int, int, int, const void *, socklen_t)  294,-1
-int           getsockopt(int, int, int, void *, socklen_t *)    295,-1
-int           sendmsg(int, const struct msghdr *, unsigned int)  296,-1
-int           recvmsg(int, struct msghdr *, unsigned int)   297,-1
+int           socket(int, int, int)              281,-1,183
+int           socketpair(int, int, int, int*)    288,-1,184
+int           bind(int, struct sockaddr *, int)  282,-1,169
+int           connect(int, struct sockaddr *, socklen_t)   283,-1,170
+int           listen(int, int)                   284,-1,174
+int           accept(int, struct sockaddr *, socklen_t *)  285,-1,168
+int           getsockname(int, struct sockaddr *, socklen_t *)  286,-1,172
+int           getpeername(int, struct sockaddr *, socklen_t *)  287,-1,171
+int           sendto(int, const void *, size_t, int, const struct sockaddr *, socklen_t)  290,-1,180
+int           recvfrom(int, void *, size_t, unsigned int, struct sockaddr *, socklen_t *)  292,-1,176
+int           shutdown(int, int)  293,-1,182
+int           setsockopt(int, int, int, const void *, socklen_t)  294,-1,181
+int           getsockopt(int, int, int, void *, socklen_t *)    295,-1,173
+int           sendmsg(int, const struct msghdr *, unsigned int)  296,-1,179
+int           recvmsg(int, struct msghdr *, unsigned int)   297,-1,177
 
 # sockets for x86. These are done as an "indexed" call to socketcall syscall.
-int           socket:socketcall:1 (int, int, int) -1,102
-int           bind:socketcall:2 (int, struct sockaddr *, int)  -1,102
-int           connect:socketcall:3(int, struct sockaddr *, socklen_t)   -1,102
-int           listen:socketcall:4(int, int)                   -1,102
-int           accept:socketcall:5(int, struct sockaddr *, socklen_t *)  -1,102
-int           getsockname:socketcall:6(int, struct sockaddr *, socklen_t *)  -1,102
-int           getpeername:socketcall:7(int, struct sockaddr *, socklen_t *)  -1,102
-int           socketpair:socketcall:8(int, int, int, int*)    -1,102
-int           sendto:socketcall:11(int, const void *, size_t, int, const struct sockaddr *, socklen_t)  -1,102
-int           recvfrom:socketcall:12(int, void *, size_t, unsigned int, struct sockaddr *, socklen_t *)  -1,102
-int           shutdown:socketcall:13(int, int)  -1,102
-int           setsockopt:socketcall:14(int, int, int, const void *, socklen_t)  -1,102
-int           getsockopt:socketcall:15(int, int, int, void *, socklen_t *)    -1,102
-int           sendmsg:socketcall:16(int, const struct msghdr *, unsigned int)  -1,102
-int           recvmsg:socketcall:17(int, struct msghdr *, unsigned int)   -1,102
+int           socket:socketcall:1 (int, int, int) -1,102,-1
+int           bind:socketcall:2 (int, struct sockaddr *, int)  -1,102,-1
+int           connect:socketcall:3(int, struct sockaddr *, socklen_t)   -1,102,-1
+int           listen:socketcall:4(int, int)                   -1,102,-1
+int           accept:socketcall:5(int, struct sockaddr *, socklen_t *)  -1,102,-1
+int           getsockname:socketcall:6(int, struct sockaddr *, socklen_t *)  -1,102,-1
+int           getpeername:socketcall:7(int, struct sockaddr *, socklen_t *)  -1,102,-1
+int           socketpair:socketcall:8(int, int, int, int*)    -1,102,-1
+int           sendto:socketcall:11(int, const void *, size_t, int, const struct sockaddr *, socklen_t)  -1,102,-1
+int           recvfrom:socketcall:12(int, void *, size_t, unsigned int, struct sockaddr *, socklen_t *)  -1,102,-1
+int           shutdown:socketcall:13(int, int)  -1,102,-1
+int           setsockopt:socketcall:14(int, int, int, const void *, socklen_t)  -1,102,-1
+int           getsockopt:socketcall:15(int, int, int, void *, socklen_t *)    -1,102,-1
+int           sendmsg:socketcall:16(int, const struct msghdr *, unsigned int)  -1,102,-1
+int           recvmsg:socketcall:17(int, struct msghdr *, unsigned int)   -1,102,-1
 
 # scheduler & real-time
-int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param)  156
-int sched_getscheduler(pid_t pid)  157
-int sched_yield(void)  158
-int sched_setparam(pid_t pid, const struct sched_param *param)  154
-int sched_getparam(pid_t pid, struct sched_param *param)  155
-int sched_get_priority_max(int policy)  159
-int sched_get_priority_min(int policy)  160
-int sched_rr_get_interval(pid_t pid, struct timespec *interval)  161
-int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set) 241
-int __sched_getaffinity:sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set)  242
-int __getcpu:getcpu(unsigned *cpu, unsigned *node, void *unused) 345,318
+int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param)  156,156,160
+int sched_getscheduler(pid_t pid)  157,157,161
+int sched_yield(void)  158,158,162
+int sched_setparam(pid_t pid, const struct sched_param *param)  154,154,158
+int sched_getparam(pid_t pid, struct sched_param *param)  155,155,159
+int sched_get_priority_max(int policy)  159,159,163
+int sched_get_priority_min(int policy)  160,160,164
+int sched_rr_get_interval(pid_t pid, struct timespec *interval)  161,161,165
+int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set) 241,241,239
+int __sched_getaffinity:sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set)  242,242,240
+int __getcpu:getcpu(unsigned *cpu, unsigned *node, void *unused) 345,318,312
 
 # io priorities
-int ioprio_set(int which, int who, int ioprio) 314,289
-int ioprio_get(int which, int who) 315,290
+int ioprio_set(int which, int who, int ioprio) 314,289,314
+int ioprio_get(int which, int who) 315,290,315
 
 # other
 int     uname(struct utsname *)  122
@@ -265,21 +283,25 @@
 int     personality(unsigned long)  136
 
 # futex
-int	futex(void *, int, int, void *, void *, int) 240
+int	futex(void *, int, int, void *, void *, int) 240,240,238
 
 # epoll
-int     epoll_create(int size)     250,254
-int     epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)    251,255
-int     epoll_wait(int epfd, struct epoll_event *events, int max, int timeout)   252,256
+int     epoll_create(int size)     250,254,248
+int     epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)    251,255,249
+int     epoll_wait(int epfd, struct epoll_event *events, int max, int timeout)   252,256,250
 
-int     inotify_init(void)      316,291,290
-int     inotify_add_watch(int, const char *, unsigned int)  317,292
-int     inotify_rm_watch(int, unsigned int)  318,293
+int     inotify_init(void)      316,291,284
+int     inotify_add_watch(int, const char *, unsigned int)  317,292,285
+int     inotify_rm_watch(int, unsigned int)  318,293,286
 
-int     poll(struct pollfd *, unsigned int, long)  168
+int     poll(struct pollfd *, unsigned int, long)  168,168,188
 
-int     eventfd:eventfd2(unsigned int, int)  356,328
+int     eventfd:eventfd2(unsigned int, int)  356,328,325
 
 # ARM-specific ARM_NR_BASE == 0x0f0000 == 983040
-int     __set_tls:ARM_set_tls(void*)                                 983045,-1
-int     cacheflush:ARM_cacheflush(long start, long end, long flags)  983042,-1
+int     __set_tls:ARM_set_tls(void*)                                 983045,-1,-1
+int     cacheflush:ARM_cacheflush(long start, long end, long flags)  983042,-1,-1
+
+# MIPS-specific
+int	_flush_cache:cacheflush(char *addr, const int nbytes, const int op)	-1,-1,147
+int	syscall(int number,...) -1,-1,0
