aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-06-13 07:33:12 +0000
committerUlrich Drepper <drepper@redhat.com>2000-06-13 07:33:12 +0000
commitab95290c787fb6e22bf03f23059b97559e1ad7d7 (patch)
tree892cff92b6d49d7c99a6d99c077882642fe6eda7 /sysdeps/unix
parenta5c88158b6170149fa1b98e1704ed9dcab457314 (diff)
downloadglibc-ab95290c787fb6e22bf03f23059b97559e1ad7d7.tar
glibc-ab95290c787fb6e22bf03f23059b97559e1ad7d7.tar.gz
glibc-ab95290c787fb6e22bf03f23059b97559e1ad7d7.tar.bz2
glibc-ab95290c787fb6e22bf03f23059b97559e1ad7d7.zip
Update.
2000-06-13 Ulrich Drepper <drepper@redhat.com> * misc/sys/cdefs.h: Define __bounded and __unbounded if __BOUNDED_POINTERS__ is not defined. 2000-06-07 Greg McGary <greg@mcgary.org> * sysdeps/generic/bp-sym.h: New file. * sysdeps/generic/bp-start.h: New file. * sysdeps/i386/elf/start.S: Designate BP symbols. * sysdeps/generic/libc-start.c: Wrap bounds around argv & envp and each of their string members. 2000-06-07 Greg McGary <greg@mcgary.org> * sysdeps/unix/make-syscalls.sh: Add comments to output that aid debugging & comprehension. Map simple syscall signatures to number of args. Generate BP syscall thunk definitions. * sysdeps/generic/bp-thunks.h: New file. * sysdeps/unix/syscalls.list: Replace arg-count with simple return+arg signature. * sysdeps/unix/common/syscalls.list: Likewise. * sysdeps/unix/inet/syscalls.list: Likewise. * sysdeps/unix/mman/syscalls.list: Likewise. * sysdeps/unix/sysv/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/i386/syscalls.list: Likewise. 2000-06-07 Greg McGary <greg@mcgary.org> * Makeconfig (CPPFLAGS-.ob): pass -fbounded-pointers for all files *.[cS]. (CFLAGS-.ob): Don't optimize sibling calls. (bppfx): New variable. * Makerules (elide-bp-thunks): New variable. (elide-routines.*): Elide BP-* files for all but *.ob. (sources): Include bp-thunks. * iconv/gconv_simple.c: Remove unnecessary prototype. * iconv/gconv_trans.c: Pretty print.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/common/syscalls.list30
-rw-r--r--sysdeps/unix/inet/syscalls.list42
-rw-r--r--sysdeps/unix/make-syscalls.sh111
-rw-r--r--sysdeps/unix/mman/syscalls.list10
-rw-r--r--sysdeps/unix/syscalls.list128
-rw-r--r--sysdeps/unix/sysv/linux/i386/syscalls.list10
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list108
-rw-r--r--sysdeps/unix/sysv/syscalls.list28
8 files changed, 253 insertions, 214 deletions
diff --git a/sysdeps/unix/common/syscalls.list b/sysdeps/unix/common/syscalls.list
index 328b395310..899d3b9103 100644
--- a/sysdeps/unix/common/syscalls.list
+++ b/sysdeps/unix/common/syscalls.list
@@ -1,17 +1,17 @@
# File name Caller Syscall name # args Strong name Weak names
-adjtime - adjtime 2 __adjtime adjtime
-fchmod - fchmod 2 __fchmod fchmod
-fchown - fchown 3 __fchown fchown
-ftruncate - ftruncate 2 __ftruncate ftruncate
-getpgid - getpgrp 1 __getpgid getpgid
-getrusage - getrusage 2 __getrusage getrusage
-gettimeofday - gettimeofday 2 __gettimeofday gettimeofday
-settimeofday - settimeofday 2 __settimeofday settimeofday
-setpgid - setpgrp 2 __setpgid setpgid
-setregid - setregid 2 __setregid setregid
-setreuid - setreuid 2 __setreuid setreuid
-sigaction - sigaction 3 __sigaction sigaction
-sys_lstat lxstat lstat 2 __syscall_lstat
-truncate - truncate 2 truncate
-vhangup - vhangup 1 vhangup
+adjtime - adjtime i:pp __adjtime adjtime
+fchmod - fchmod i:ii __fchmod fchmod
+fchown - fchown i:iii __fchown fchown
+ftruncate - ftruncate i:ii __ftruncate ftruncate
+getpgid - getpgrp i:i __getpgid getpgid
+getrusage - getrusage i:ip __getrusage getrusage
+gettimeofday - gettimeofday i:pp __gettimeofday gettimeofday
+settimeofday - settimeofday i:pp __settimeofday settimeofday
+setpgid - setpgrp i:ii __setpgid setpgid
+setregid - setregid i:ii __setregid setregid
+setreuid - setreuid i:ii __setreuid setreuid
+sigaction - sigaction i:ipp __sigaction sigaction
+sys_lstat lxstat lstat i:sp __syscall_lstat
+truncate - truncate i:si truncate
+vhangup - vhangup i:i vhangup
diff --git a/sysdeps/unix/inet/syscalls.list b/sysdeps/unix/inet/syscalls.list
index 772d2390b5..93ca33ae52 100644
--- a/sysdeps/unix/inet/syscalls.list
+++ b/sysdeps/unix/inet/syscalls.list
@@ -1,23 +1,23 @@
# File name Caller Syscall name # args Strong name Weak names
-accept - accept 3 __libc_accept accept
-bind - bind 3 bind
-connect - connect 3 __libc_connect __connect connect
-gethostid - gethostid 0 gethostid
-gethostname - gethostname 2 __gethostname gethostname
-getpeername - getpeername 3 getpeername
-getsockname - getsockname 3 getsockname
-getsockopt - getsockopt 5 getsockopt
-listen - listen 2 listen
-recv - recv 4 __libc_recv recv
-recvfrom - recvfrom 6 __libc_recvfrom recvfrom
-recvmsg - recvmsg 3 __libc_recvmsg recvmsg
-send - send 4 __libc_send __send send
-sendmsg - sendmsg 3 __libc_sendmsg sendmsg
-sendto - sendto 6 __libc_sendto sendto
-sethostid - sethostid 1 sethostid
-sethostname - sethostname 2 sethostname
-setsockopt - setsockopt 5 setsockopt
-shutdown - shutdown 2 shutdown
-socket - socket 3 socket
-socketpair - socketpair 4 socketpair
+accept - accept i:ipi __libc_accept accept
+bind - bind i:ipi bind
+connect - connect i:ipi __libc_connect __connect connect
+gethostid - gethostid i: gethostid
+gethostname - gethostname i:si __gethostname gethostname
+getpeername - getpeername i:ipi getpeername
+getsockname - getsockname i:ipi getsockname
+getsockopt - getsockopt i:iiipp getsockopt
+listen - listen i:ii listen
+recv - recv i:ipii __libc_recv recv
+recvfrom - recvfrom i:ipiipp __libc_recvfrom recvfrom
+recvmsg - recvmsg i:ipi __libc_recvmsg recvmsg
+send - send i:ipii __libc_send __send send
+sendmsg - sendmsg i:ipi __libc_sendmsg sendmsg
+sendto - sendto i:ipiipi __libc_sendto sendto
+sethostid - sethostid i:i sethostid
+sethostname - sethostname i:pi sethostname
+setsockopt - setsockopt i:iiipi setsockopt
+shutdown - shutdown i:ii shutdown
+socket - socket i:iii socket
+socketpair - socketpair i:iiip socketpair
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index 7aa4b3ea0d..387df6799e 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -5,47 +5,68 @@
thisdir=$1; shift
-# Get the list of system calls for this directory.
-calls=`sed 's/#.*$//
-/^[ ]*$/d' $thisdir/syscalls.list`
-
+echo ''
+echo \#### DIRECTORY = $thisdir
# Check each sysdep dir with higher priority than this one,
# and remove from $calls all the functions found in other dirs.
-for dir in $sysdirs; do
+# Punt when we reach the directory defining these syscalls.
+sysdirs=`for dir in $sysdirs; do
+ test $dir = $thisdir && break; echo $dir; done`
+echo \#### SYSDIRS = $sysdirs
- # Punt when we reach the directory defining these syscalls.
- test $dir = $thisdir && break
+# Get the list of system calls for this directory.
+calls=`sed 's/#.*$//
+/^[ ]*$/d' $thisdir/syscalls.list`
+calls=`echo "$calls" |
+while read file caller rest; do
# Remove each syscall that is implemented by a file in $dir.
# If a syscall specified a "caller", then only compile that syscall
# if the caller function is also implemented in this directory.
- calls=`echo "$calls" | while read file caller rest; do
- test -f $dir/$file.c && continue
- test -f $dir/$file.S && continue
- test -f $dir/$file.s && continue
- if test x$caller != x-; then
- test -f $dir/$caller.c && continue
- test -f $dir/$caller.S && continue
- test -f $dir/$caller.s && continue
- fi
- echo $file $caller $rest
- done`
-
-done
+ srcfile=-;
+ for dir in $sysdirs; do
+ { test -f $dir/$file.c && srcfile=$dir/$file.c; } ||
+ { test -f $dir/$file.S && srcfile=$dir/$file.S; } ||
+ { test -f $dir/$file.s && srcfile=$dir/$file.s; } ||
+ { test x$caller != x- &&
+ { { test -f $dir/$caller.c && srcfile=$dir/$caller.c; } ||
+ { test -f $dir/$caller.S && srcfile=$dir/$caller.S; } ||
+ { test -f $dir/$caller.s && srcfile=$dir/$caller.s; }; }; } && break;
+ done;
+ echo $file $srcfile $caller $rest;
+done`
# Any calls left?
test -n "$calls" || exit 0
-files=
-
# Emit rules to compile the syscalls remaining in $calls.
-echo "$calls" | while read file caller syscall nargs strong weak; do
+echo "$calls" | while read file srcfile caller syscall args strong weak; do
+
+# Figure out if $syscall is defined with a number in syscall.h.
+callnum=-
+eval `{ echo "#include <sysdep.h>";
+ echo "callnum=SYS_ify ($syscall)"; } |
+ $asm_CPP - |grep "^callnum=" |grep -v $syscall`
+
+ # Derive the number of arguments from the argument signature
+ case $args in
+ [0-9]) nargs=$args;;
+ ?:) nargs=0;;
+ ?:?) nargs=1;;
+ ?:??) nargs=2;;
+ ?:???) nargs=3;;
+ ?:????) nargs=4;;
+ ?:?????) nargs=5;;
+ ?:??????) nargs=6;;
+ esac
- # Figure out if $syscall is defined with a number in syscall.h.
- $asm_CPP - << EOF | grep "^@@@ .*$syscall" >/dev/null && continue
-#include <sysdep.h>
-@@@ SYS_ify ($syscall)
-EOF
+ # Make sure only the first syscall rule is used, if multiple dirs
+ # define the same syscall.
+ echo "#### CALL=$file NUMBER=$callnum ARGS=$args SOURCE=$srcfile"
+ case x$srcfile$callnum in
+ x*-) ;; ### Do nothing for undefined callnum
+ x-*)
+ echo "ifeq (,\$(filter $file,\$(unix-syscalls)))"
case $weak in
*@*)
@@ -53,11 +74,6 @@ EOF
echo "ifneq (,\$(filter .os,\$(object-suffixes)))"
;;
esac
-
- # Make sure only the first syscall rule is used, if multiple dirs
- # define the same syscall.
- echo "ifeq (,\$(filter $file,\$(unix-syscalls)))"
-
# Accumulate the list of syscall files for this directory.
echo "unix-syscalls += $file"
test x$caller = x- || echo "unix-extra-syscalls += $file"
@@ -75,7 +91,7 @@ shared-only-routines += $file
\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o): \\"
;;
esac
- echo "\$(common-objpfx)s-proto.d
+ echo " \$(common-objpfx)s-proto.d
(echo '#include <sysdep.h>'; \\
echo 'PSEUDO ($strong, $syscall, $nargs)'; \\
echo ' ret'; \\
@@ -124,8 +140,6 @@ shared-only-routines += $file
# And finally, pipe this all into the compiler.
echo ' ) | $(COMPILE.S) -x assembler-with-cpp -o $@ -'
- echo endif
-
case $weak in
*@*)
# The versioned symbols are only in the shared library.
@@ -133,4 +147,29 @@ shared-only-routines += $file
;;
esac
+ echo endif
+ ;;
+ esac
+
+ case x$callnum,$srcfile,$args in
+ x[0-9]*,-,*[sp]* | x*,*.[sS],*[sp]*)
+ echo "ifeq (,\$(filter $file,\$(bp-thunks)))"
+ echo "bp-thunks += $file";
+ echo "\
+\$(objpfx)\$(bppfx)$file.ob: \$(common-objpfx)s-proto.d
+ (echo '#include <bp-thunks.h>'; \\
+ echo 'BP_THUNK_`echo $args |tr : _` ($strong)'; \\"
+
+ for name in $weak; do
+ case $name in
+ *@*) ;;
+ *) echo " echo 'BP_ALIAS ($strong, $name)'; \\" ;;
+ esac
+ done
+
+ echo ' ) | $(COMPILE.c) -x c -o $@ -'
+ echo endif
+ ;;
+ esac
+
done
diff --git a/sysdeps/unix/mman/syscalls.list b/sysdeps/unix/mman/syscalls.list
index 1d3173eafd..67aa948915 100644
--- a/sysdeps/unix/mman/syscalls.list
+++ b/sysdeps/unix/mman/syscalls.list
@@ -4,8 +4,8 @@
# File name Caller Syscall name # args Strong name Weak names
-madvise - madvise 3 madvise
-mmap - mmap 6 __mmap mmap
-mprotect - mprotect 3 __mprotect mprotect
-msync - msync 3 __libc_msync msync
-munmap - munmap 2 __munmap munmap
+madvise - madvise i:pii madvise
+mmap - mmap p:piiiii __mmap mmap
+mprotect - mprotect i:pii __mprotect mprotect
+msync - msync i:pii __libc_msync msync
+munmap - munmap i:pi __munmap munmap
diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list
index 9a39b656b3..9e7c43e83c 100644
--- a/sysdeps/unix/syscalls.list
+++ b/sysdeps/unix/syscalls.list
@@ -1,65 +1,65 @@
-# File name Caller Syscall name # args Strong name Weak names
+# File name Caller Syscall name Args Strong name Weak names
-access - access 2 __access access
-acct - acct 1 acct
-chdir - chdir 1 __chdir chdir
-chmod - chmod 2 __chmod chmod
-chown - chown 3 __chown chown
-chroot - chroot 1 chroot
-close - close 1 __libc_close __close close
-dup - dup 1 __dup dup
-dup2 - dup2 2 __dup2 dup2
-fchdir - fchdir 1 __fchdir fchdir
-fcntl - fcntl 3 __libc_fcntl __fcntl fcntl
-fstatfs - fstatfs 2 __fstatfs fstatfs
-fsync - fsync 1 __libc_fsync fsync
-getdomain - getdomainname 2 getdomainname
-getgid - getgid 0 __getgid getgid
-getgroups - getgroups 2 __getgroups getgroups
-getitimer - getitimer 2 __getitimer getitimer
-getpid - getpid 0 __getpid getpid
-getpriority - getpriority 2 getpriority
-getrlimit - getrlimit 2 __getrlimit getrlimit
-getuid - getuid 0 __getuid getuid
-ioctl - ioctl 3 __ioctl ioctl
-kill - kill 2 __kill kill
-link - link 2 __link link
-lseek - lseek 3 __libc_lseek __lseek lseek
-mkdir - mkdir 2 __mkdir mkdir
-open - open 3 __libc_open __open open
-profil - profil 4 profil
-ptrace - ptrace 4 ptrace
-read - read 3 __libc_read __read read
-readlink - readlink 3 __readlink readlink
-readv - readv 3 __readv readv
-reboot - reboot 1 reboot
-rename - rename 2 rename
-rmdir - rmdir 1 __rmdir rmdir
-select - select 5 __select select
-setdomain - setdomainname 2 setdomainname
-setegid - setegid 1 __setegid setegid
-seteuid - seteuid 1 __seteuid seteuid
-setgid - setgid 1 __setgid setgid
-setgroups - setgroups 2 setgroups
-setitimer - setitimer 3 __setitimer setitimer
-setpriority - setpriority 3 setpriority
-setrlimit - setrlimit 2 setrlimit
-setsid - setsid 0 __setsid setsid
-settimeofday - settimeofday 2 __settimeofday settimeofday
-setuid - setuid 1 __setuid setuid
-sigsuspend - sigsuspend 1 sigsuspend
-sstk - sstk 1 sstk
-statfs - statfs 2 __statfs statfs
-swapoff - swapoff 1 swapoff
-swapon - swapon 1 swapon
-symlink - symlink 2 __symlink symlink
-sync - sync 0 sync
-sys_fstat fxstat fstat 2 __syscall_fstat
-sys_mknod xmknod mknod 3 __syscall_mknod
-sys_stat xstat stat 2 __syscall_stat
-umask - umask 1 __umask umask
-uname - uname 1 uname
-unlink - unlink 1 __unlink unlink
-utimes - utimes 2 __utimes utimes
-write - write 3 __libc_write __write write
-writev - writev 3 __writev writev
+access - access i:si __access access
+acct - acct i:s acct
+chdir - chdir i:s __chdir chdir
+chmod - chmod i:si __chmod chmod
+chown - chown i:sii __chown chown
+chroot - chroot i:s chroot
+close - close i:i __libc_close __close close
+dup - dup i:i __dup dup
+dup2 - dup2 i:ii __dup2 dup2
+fchdir - fchdir i:i __fchdir fchdir
+fcntl - fcntl i:iip __libc_fcntl __fcntl fcntl
+fstatfs - fstatfs i:ip __fstatfs fstatfs
+fsync - fsync i:i __libc_fsync fsync
+getdomain - getdomainname i:si getdomainname
+getgid - getgid i: __getgid getgid
+getgroups - getgroups i:ip __getgroups getgroups
+getitimer - getitimer i:ip __getitimer getitimer
+getpid - getpid i: __getpid getpid
+getpriority - getpriority i:ii getpriority
+getrlimit - getrlimit i:ip __getrlimit getrlimit
+getuid - getuid i: __getuid getuid
+ioctl - ioctl i:iip __ioctl ioctl
+kill - kill i:ii __kill kill
+link - link i:ss __link link
+lseek - lseek i:iii __libc_lseek __lseek lseek
+mkdir - mkdir i:si __mkdir mkdir
+open - open i:sii __libc_open __open open
+profil - profil i:piii profil
+ptrace - ptrace i:iiii ptrace
+read - read i:ipi __libc_read __read read
+readlink - readlink i:spi __readlink readlink
+readv - readv i:ipi __readv readv
+reboot - reboot i:i reboot
+rename - rename i:ss rename
+rmdir - rmdir i:s __rmdir rmdir
+select - select i:ipppp __select select
+setdomain - setdomainname i:si setdomainname
+setegid - setegid i:i __setegid setegid
+seteuid - seteuid i:i __seteuid seteuid
+setgid - setgid i:i __setgid setgid
+setgroups - setgroups i:ip setgroups
+setitimer - setitimer i:ipp __setitimer setitimer
+setpriority - setpriority i:iii setpriority
+setrlimit - setrlimit i:ip setrlimit
+setsid - setsid i: __setsid setsid
+settimeofday - settimeofday i:pp __settimeofday settimeofday
+setuid - setuid i:i __setuid setuid
+sigsuspend - sigsuspend i:p sigsuspend
+sstk - sstk p:i sstk
+statfs - statfs i:sp __statfs statfs
+swapoff - swapoff i:s swapoff
+swapon - swapon i:s swapon
+symlink - symlink i:ss __symlink symlink
+sync - sync i: sync
+sys_fstat fxstat fstat i:ip __syscall_fstat
+sys_mknod xmknod mknod i:pii __syscall_mknod
+sys_stat xstat stat i:sp __syscall_stat
+umask - umask i:i __umask umask
+uname - uname i:p uname
+unlink - unlink i:s __unlink unlink
+utimes - utimes i:sp __utimes utimes
+write - write i:ipi __libc_write __write write
+writev - writev i:ipi __writev writev
diff --git a/sysdeps/unix/sysv/linux/i386/syscalls.list b/sysdeps/unix/sysv/linux/i386/syscalls.list
index 3cf0d30340..f87c4f7ff1 100644
--- a/sysdeps/unix/sysv/linux/i386/syscalls.list
+++ b/sysdeps/unix/sysv/linux/i386/syscalls.list
@@ -1,6 +1,6 @@
-# File name Caller Syscall name # args Strong name Weak names
+# File name Caller Syscall name Args Strong name Weak names
-modify_ldt EXTRA modify_ldt 3 __modify_ldt modify_ldt
-vm86 - vm86 1 __vm86 vm86
-oldgetrlimit EXTRA getrlimit 2 __old_getrlimit getrlimit@GLIBC_2.0
-oldsetrlimit EXTRA setrlimit 2 __old_setrlimit setrlimit@GLIBC_2.0
+modify_ldt EXTRA modify_ldt i:ipi __modify_ldt modify_ldt
+vm86 - vm86 i:p __vm86 vm86
+oldgetrlimit EXTRA getrlimit i:ip __old_getrlimit getrlimit@GLIBC_2.0
+oldsetrlimit EXTRA setrlimit i:ip __old_setrlimit setrlimit@GLIBC_2.0
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index a0709d8b6b..db05d8766c 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -1,7 +1,7 @@
-# File name Caller Syscall name # args Strong name Weak names
+# File name Caller Syscall name Args Strong name Weak names
-adjtimex adjtime adjtimex 1 __adjtimex adjtimex ntp_adjtime
-bdflush EXTRA bdflush 2 bdflush
+adjtimex adjtime adjtimex i:p __adjtimex adjtimex ntp_adjtime
+bdflush EXTRA bdflush i:ii bdflush
capget EXTRA capget 2 capget
capset EXTRA capset 2 capset
clock_getres - clock_getres 2 clock_getres
@@ -9,61 +9,61 @@ clock_gettime - clock_gettime 2 clock_gettime
clock_settime - clock_settime 2 clock_settime
create_module EXTRA create_module 3 create_module
delete_module EXTRA delete_module 3 delete_module
-fdatasync - fdatasync 1 fdatasync
-flock - flock 2 __flock flock
-fork - fork 0 __libc_fork __fork fork
-get_kernel_syms EXTRA get_kernel_syms 1 get_kernel_syms
-getegid - getegid 0 __getegid getegid
-geteuid - geteuid 0 __geteuid geteuid
-getpgid - getpgid 1 __getpgid getpgid
-getpgrp - getpgrp 0 getpgrp
-getppid - getppid 0 __getppid getppid
-getsid - getsid 1 getsid
+fdatasync - fdatasync i:i fdatasync
+flock - flock i:ii __flock flock
+fork - fork i: __libc_fork __fork fork
+get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms
+getegid - getegid i: __getegid getegid
+geteuid - geteuid i: __geteuid geteuid
+getpgid - getpgid i:i __getpgid getpgid
+getpgrp - getpgrp i: getpgrp
+getppid - getppid i: __getppid getppid
+getsid - getsid i:i getsid
init_module EXTRA init_module 5 init_module
-ioperm - ioperm 3 ioperm
-iopl - iopl 1 iopl
-klogctl EXTRA syslog 3 klogctl
-lchown - lchown 3 __lchown lchown
-madvise - madvise 3 posix_madvise madvise
+ioperm - ioperm i:iii ioperm
+iopl - iopl i:i iopl
+klogctl EXTRA syslog i:isi klogctl
+lchown - lchown i:sii __lchown lchown
+madvise - madvise i:pii posix_madvise madvise
mincore - mincore 3 mincore
-mlock EXTRA mlock 2 __mlock mlock
-mlockall EXTRA mlockall 1 __mlockall mlockall
-mmap - mmap 6 __mmap mmap
-mount EXTRA mount 5 __mount mount
-mremap EXTRA mremap 4 __mremap mremap
-munlock EXTRA munlock 2 __munlock munlock
-munlockall EXTRA munlockall 0 __munlockall munlockall
-nanosleep - nanosleep 2 __libc_nanosleep __nanosleep nanosleep
-nfsservctl EXTRA nfsservctl 3 nfsservctl
-pause - pause 0 __libc_pause pause
-personality init-first personality 1 __personality personality
-pipe - pipe 1 __pipe pipe
-prctl EXTRA prctl 5 prctl
-query_module EXTRA query_module 5 query_module
-quotactl EXTRA quotactl 4 quotactl
-sched_getp - sched_getparam 2 __sched_getparam sched_getparam
-sched_gets - sched_getscheduler 1 __sched_getscheduler sched_getscheduler
-sched_primax - sched_get_priority_max 1 __sched_get_priority_max sched_get_priority_max
-sched_primin - sched_get_priority_min 1 __sched_get_priority_min sched_get_priority_min
-sched_rr_gi - sched_rr_get_interval 2 __sched_rr_get_interval sched_rr_get_interval
-sched_setp - sched_setparam 2 __sched_setparam sched_setparam
-sched_sets - sched_setscheduler 3 __sched_setscheduler sched_setscheduler
-sched_yield - sched_yield 0 __sched_yield sched_yield
-select - _newselect 5 __select select
-sendfile EXTRA sendfile 4 sendfile
-setfsgid EXTRA setfsgid 1 setfsgid
-setfsuid EXTRA setfsuid 1 setfsuid
-setpgid - setpgid 2 __setpgid setpgid
-setresuid EXTRA setresuid 3 __setresuid setresuid
-setresgid EXTRA setresgid 3 __setresgid setresgid
-sigaltstack - sigaltstack 2 __sigaltstack sigaltstack
-sysinfo EXTRA sysinfo 1 sysinfo
-swapon - swapon 2 __swapon swapon
-swapoff - swapoff 1 __swapoff swapoff
+mlock EXTRA mlock i:pi __mlock mlock
+mlockall EXTRA mlockall i:i __mlockall mlockall
+mmap - mmap p:piiiii __mmap mmap
+mount EXTRA mount i:sssip __mount mount
+mremap EXTRA mremap p:piii __mremap mremap
+munlock EXTRA munlock i:pi __munlock munlock
+munlockall EXTRA munlockall i: __munlockall munlockall
+nanosleep - nanosleep i:pp __libc_nanosleep __nanosleep nanosleep
+nfsservctl EXTRA nfsservctl i:ipp nfsservctl
+pause - pause i: __libc_pause pause
+personality init-first personality i:i __personality personality
+pipe - pipe i:p __pipe pipe
+prctl EXTRA prctl i:iiiii prctl
+query_module EXTRA query_module i:sipip query_module
+quotactl EXTRA quotactl i:isip quotactl
+sched_getp - sched_getparam i:ip __sched_getparam sched_getparam
+sched_gets - sched_getscheduler i:i __sched_getscheduler sched_getscheduler
+sched_primax - sched_get_priority_max i:i __sched_get_priority_max sched_get_priority_max
+sched_primin - sched_get_priority_min i:i __sched_get_priority_min sched_get_priority_min
+sched_rr_gi - sched_rr_get_interval i:ip __sched_rr_get_interval sched_rr_get_interval
+sched_setp - sched_setparam i:ip __sched_setparam sched_setparam
+sched_sets - sched_setscheduler i:iip __sched_setscheduler sched_setscheduler
+sched_yield - sched_yield i: __sched_yield sched_yield
+select - _newselect i:ipppp __select select
+sendfile EXTRA sendfile i:iipi sendfile
+setfsgid EXTRA setfsgid i:i setfsgid
+setfsuid EXTRA setfsuid i:i setfsuid
+setpgid - setpgid i:ii __setpgid setpgid
+setresuid EXTRA setresuid i:iii __setresuid setresuid
+setresgid EXTRA setresgid i:iii __setresgid setresgid
+sigaltstack - sigaltstack i:pp __sigaltstack sigaltstack
+sysinfo EXTRA sysinfo i:p sysinfo
+swapon - swapon i:si __swapon swapon
+swapoff - swapoff i:s __swapoff swapoff
timer_create - timer_create 3 timer_create
timer_delete - timer_delete 1 timer_delete
timer_getoverr - timer_getoverrun 1 timer_getoverrun
timer_gettime - timer_gettime 2 timer_gettime
timer_settime - timer_settime 4 timer_settime
-uselib EXTRA uselib 1 uselib
-wait4 - wait4 4 __wait4 wait4
+uselib EXTRA uselib i:s uselib
+wait4 - wait4 i:ipip __wait4 wait4
diff --git a/sysdeps/unix/sysv/syscalls.list b/sysdeps/unix/sysv/syscalls.list
index 4ed36850e6..209d017d18 100644
--- a/sysdeps/unix/sysv/syscalls.list
+++ b/sysdeps/unix/sysv/syscalls.list
@@ -1,16 +1,16 @@
# File name Caller Syscall name # args Strong name Weak names
-alarm - alarm 1 alarm
-ftime - ftime 1 ftime
-nice - nice 1 nice
-pause - pause 0 pause
-poll - poll 3 poll
-s_getdents getdents getdents 3 __getdents
-setrlimit - setrlimit 2 setrlimit
-settimeofday - settimeofday 2 __settimeofday settimeofday
-signal - signal 2 signal
-stime - stime 1 stime
-time - time 1 time
-times - times 1 __times times
-ulimit - ulimit 2 ulimit
-utime - utime 2 utime
+alarm - alarm i:i alarm
+ftime - ftime i:p ftime
+nice - nice i:i nice
+pause - pause i: pause
+poll - poll i:pii poll
+s_getdents getdents getdents i:ipi __getdents
+setrlimit - setrlimit i:ip setrlimit
+settimeofday - settimeofday i:pp __settimeofday settimeofday
+signal - signal i:ii signal
+stime - stime i:p stime
+time - time i:p time
+times - times i:p __times times
+ulimit - ulimit i:ii ulimit
+utime - utime i:pp utime