aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/common/syscalls.list4
-rw-r--r--sysdeps/unix/inet/syscalls.list8
-rw-r--r--sysdeps/unix/make-syscalls.sh133
-rw-r--r--sysdeps/unix/mman/syscalls.list2
-rw-r--r--sysdeps/unix/syscalls.list12
-rw-r--r--sysdeps/unix/sysv/linux/ia64/syscalls.list6
-rw-r--r--sysdeps/unix/sysv/linux/mips/syscalls.list6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/syscalls.list4
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list10
-rw-r--r--sysdeps/unix/sysv/syscalls.list2
10 files changed, 101 insertions, 86 deletions
diff --git a/sysdeps/unix/common/syscalls.list b/sysdeps/unix/common/syscalls.list
index 899d3b9103..2b06b73a33 100644
--- a/sysdeps/unix/common/syscalls.list
+++ b/sysdeps/unix/common/syscalls.list
@@ -6,8 +6,8 @@ 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
+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
diff --git a/sysdeps/unix/inet/syscalls.list b/sysdeps/unix/inet/syscalls.list
index 1a68a81f6c..5a02f95f87 100644
--- a/sysdeps/unix/inet/syscalls.list
+++ b/sysdeps/unix/inet/syscalls.list
@@ -1,6 +1,6 @@
# File name Caller Syscall name # args Strong name Weak names
-accept - accept i:ibN __libc_accept accept
+accept - accept i:iBN __libc_accept accept
bind - bind i:ipi bind
connect - connect i:ipi __libc_connect __connect connect
gethostid - gethostid i: gethostid
@@ -10,7 +10,7 @@ getsockname - getsockname i:ibN getsockname
getsockopt - getsockopt i:iiiBN getsockopt
listen - listen i:ii listen
recv - recv i:ibni __libc_recv recv
-recvfrom - recvfrom i:ibnibN __libc_recvfrom recvfrom
+recvfrom - recvfrom i:ibniBN __libc_recvfrom recvfrom
recvmsg - recvmsg i:ipi __libc_recvmsg recvmsg
send - send i:ibni __libc_send __send send
sendmsg - sendmsg i:ipi __libc_sendmsg sendmsg
@@ -21,3 +21,7 @@ setsockopt - setsockopt i:iiibn setsockopt
shutdown - shutdown i:ii shutdown
socket - socket i:iii socket
socketpair - socketpair i:iiif socketpair
+
+
+
+
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index 503ad78787..628522b2c6 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -8,23 +8,24 @@
# Syscall Signature Key Letters for BP Thunks:
#
# a: unchecked address (e.g., 1st arg to mmap)
-# b: non-NULL buffer (e.g., 2nd arg to read)
+# b: non-NULL buffer (e.g., 2nd arg to read; return value from mmap)
# B: optionally-NULL buffer (e.g., 4th arg to getsockopt)
# f: buffer of 2 ints (e.g., 4th arg to socketpair)
+# F: 3rd arg to fcntl
# i: scalar (any signedness & size: int, long, long long, enum, whatever)
+# I: 3rd arg to ioctl
# n: scalar buffer length (e.g., 3rd arg to read)
# N: pointer to value/return scalar buffer length (e.g., 6th arg to recvfrom)
-# p: pointer to typed object (e.g., any non-void* arg)
-# P: pointer return value (e.g., return value from mmap)
-# s: string (e.g., 1st arg to open)
+# p: non-NULL pointer to typed object (e.g., any non-void* arg)
+# P: optionally-NULL pointer to typed object (e.g., 2nd argument to gettimeofday)
+# s: non-NULL string (e.g., 1st arg to open)
+# S: optionally-NULL string (e.g., 1st arg to acct)
# v: vararg scalar (e.g., optional 3rd arg to open)
-# V: vararg pointer (e.g., 3rd arg to fcntl & ioctl)
+# W: wait status, optionally-NULL pointer to int (e.g., 2nd arg of wait4)
-ptrlet='[abBfNpPs]'
-argdig='[1-9]'
-fixarg='[^vV]'$argdig # fixed args (declare extern)
-ptrarg=$ptrlet$argdig # pointer arg (toss bounds)
-intarg='[inv]'$argdig # scalar arg
+ptr='[abBfFINpPsSW]' # all pointer keyletters
+int='[inv]' # all scalar keyletters
+typ='[ifnNpP]' # typed-arg keyletters: we capture type for use in thunk
##############################################################################
@@ -185,7 +186,7 @@ shared-only-routines += $file
case x"$callnum",$srcfile,$args in
x-,-,* | x*,*.[sS],*V*) ;;
- x*,-,*$ptrlet* | x*,*.[sS],*$ptrlet*)
+ x*,-,*$ptr* | x*,*.[sS],*$ptr*)
nv_weak=`for name in $weak; do
case $name in
@@ -200,16 +201,16 @@ shared-only-routines += $file
# convert signature string to individual numbered arg names
# e.g., i:ipbN -> i0 i1 p2 b3 N4
set `echo $args |
- sed -e 's/^\(.\):\(.*\)/\2 \10/' \
- -e 's/^\([^ ]\)\(.*\)/\2 \11/' \
- -e 's/^\([^ ]\)\(.*\)/\2 \12/' \
- -e 's/^\([^ ]\)\(.*\)/\2 \13/' \
- -e 's/^\([^ ]\)\(.*\)/\2 \14/' \
- -e 's/^\([^ ]\)\(.*\)/\2 \15/' \
- -e 's/^\([^ ]\)\(.*\)/\2 \16/' \
- -e 's/^\([^ ]\)\(.*\)/\2 \17/' \
- -e 's/^\([^ ]\)\(.*\)/\2 \18/' \
- -e 's/^\([^ ]\)\(.*\)/\2 \19/'`
+ sed -e 's/^\(.\):\(.*\)/\2 <\10>/' \
+ -e 's/^\([^ ]\)\(.*\)/\2 <\11>/' \
+ -e 's/^\([^ ]\)\(.*\)/\2 <\12>/' \
+ -e 's/^\([^ ]\)\(.*\)/\2 <\13>/' \
+ -e 's/^\([^ ]\)\(.*\)/\2 <\14>/' \
+ -e 's/^\([^ ]\)\(.*\)/\2 <\15>/' \
+ -e 's/^\([^ ]\)\(.*\)/\2 <\16>/' \
+ -e 's/^\([^ ]\)\(.*\)/\2 <\17>/' \
+ -e 's/^\([^ ]\)\(.*\)/\2 <\18>/' \
+ -e 's/^\([^ ]\)\(.*\)/\2 <\19>/'`
rtn=$1; shift
args=$*
arglist=`echo $* |sed 's/ /, /g'`
@@ -222,43 +223,53 @@ shared-only-routines += $file
echo "bp-thunks += $file"
echo "\$(objpfx)\$(bppfx)$file.ob: \$(common-objpfx)s-proto.d"
- # generate macro head & thunk prologue
- echo "\
- (echo '#define $callname($arglist) r0, $rtn; \\'; \\
- echo '`echo $args | \
- sed -e 's/\('$fixarg'\)/extern \1, \1v;/g' \
- -e 's/\(v'$argdig'\)/extern int \1v;/g'` \\'; \\
- echo '__typeof (r0) BP_SYM ($strong) (`echo $args | \
- sed -e 's/ /, /g' \
- -e 's/\('$ptrarg'\)/__typeof (\1v) *__bounded \1a/g' \
- -e 's/\('$intarg'\)/__typeof (\1v) \1a/g'`) { \\'; \\
- echo ' extern __typeof (r0) ($callname) (`echo $args | \
- sed -e 's/ /, /g' \
- -e 's/\('$ptrarg'\)/__typeof (\1v) *__unbounded/g' \
- -e 's/\('$intarg'\)/__typeof (\1v)/g'`); \\'; \\"
-
- # stash length arg for use with mman calls that return pointers
- len=`echo $args |sed -e 's/.*\('n$argdig'\).*/\1/'`
-
- # generate thunk epilogue
- funcall="($callname) (`echo $args | \
- sed -e 's/ /, /g' \
- -e 's/\('a$argdig'\)/__ptrvalue (\1a)/g' \
- -e 's/\('s$argdig'\)/CHECK_STRING (\1a)/g' \
- -e 's/\('p$argdig'\)/CHECK_1 (\1a)/g' \
- -e 's/\('f$argdig'\)/CHECK_N (\1a, 2)/g' \
- -e 's/\('b$argdig'\), \('n$argdig'\)/CHECK_N (\1a, \2), \2/g' \
- -e 's/\('b$argdig'\), \('N$argdig'\)/CHECK_N (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \
- -e 's/\('B$argdig'\), \('n$argdig'\)/CHECK_Nopt (\1a, \2), \2/g' \
- -e 's/\('B$argdig'\), \('N$argdig'\)/CHECK_Nopt (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \
- -e 's/\('[ivn]$argdig'\)/\1a/g'`)"
-
- case $rtn in
- P*) echo " echo '{ __typeof ($rtn) *__bounded rtn; \\'; \\
- echo ' __ptrlow (rtn) = __ptrvalue (rtn) = $funcall; \\'; \\
- echo ' __ptrhigh (rtn) = __ptrlow (rtn) + ${len}a; return rtn; } \\'; \\" ;;
- *) echo " echo ' return $funcall; \\'; \\" ;;
- esac
+ # generate macro head
+ echo " (echo '#define $callname(`echo $arglist | \
+ sed -e 's/[<>]//g'`) `echo $rtn | \
+ sed -e 's/<\('$typ'0\)>/\1v;/g' \
+ -e 's/<\(b0\)>/x0; extern char \1v;/g'` \\'; \\"
+
+ # generate extern decls of dummy variables for each arg
+ echo " echo '`echo $args | \
+ sed -e 's/<\('$typ'[1-9]\)>/extern \1, \1v;/g' \
+ -e 's/<\([abBFIsS][1-9]\)>/extern char \1v;/g' \
+ -e 's/<\([Wv][1-9]\)>/extern int \1v;/g'` \\'; \\"
+
+ # generate bounded-pointer thunk declarator
+ echo " echo '`echo $rtn | \
+ sed -e 's/<\('$ptr'0\)>/__typeof (\1v) *__bounded/g' \
+ -e 's/<\('$int'0\)>/__typeof (\1v)/g'` BP_SYM ($strong) (`echo $arglist | \
+ sed -e 's/<\('$ptr'[1-9]\)>/__typeof (\1v) *__bounded \1a/g' \
+ -e 's/<\('$int'[1-9]\)>/__typeof (\1v) \1a/g'`) { \\'; \\"
+
+ # generate extern primitive syscall declaration
+ echo " echo ' extern `echo $rtn | \
+ sed -e 's/<\('$ptr'0\)>/__typeof (\1v) *__unbounded/g' \
+ -e 's/<\('$int'0\)>/__typeof (\1v)/g'` ($callname) (`echo $arglist | \
+ sed -e 's/<\('$ptr'[1-9]\)>/__typeof (\1v) *__unbounded/g' \
+ -e 's/<\('$int'[1-9]\)>/__typeof (\1v)/g'`); \\'; \\"
+
+ # generate call the primtive system call, optionally wrapping bounds
+ # around the result if the signature's return keyletter is `b'.
+ echo " echo ' return `echo $rtn |
+ sed -e 's/<b0>/BOUNDED_N (/' \
+ -e 's/<.0>//'`($callname) (`echo $arglist | \
+ sed -e 's/<\(a[1-9]\)>/__ptrvalue (\1a)/g' \
+ -e 's/<\(b[1-9]\)>, <\(n[1-9]\)>/CHECK_N (\1a, \2a), \2a/g' \
+ -e 's/<\(b[1-9]\)>, <\(N[1-9]\)>/CHECK_N (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \
+ -e 's/<\(B[1-9]\)>, <\(n[1-9]\)>/CHECK_Nopt (\1a, \2a), \2a/g' \
+ -e 's/<\(B[1-9]\)>, <\(N[1-9]\)>/CHECK_Nopt (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \
+ -e 's/<\(f[1-9]\)>/CHECK_N (\1a, 2)/g' \
+ -e 's/<\(i[1-9]\)>, <\(F[1-9]\)>/\1a, CHECK_FCNTL (\2a, \1a)/g' \
+ -e 's/<\(i[1-9]\)>, <\(I[1-9]\)>/\1a, CHECK_IOCTL (\2a, \1a)/g' \
+ -e 's/<\(p[1-9]\)>/CHECK_1 (\1a)/g' \
+ -e 's/<\([PW][1-9]\)>/CHECK_1opt (\1a)/g' \
+ -e 's/<\(s[1-9]\)>/CHECK_STRING (\1a)/g' \
+ -e 's/<\(S[1-9]\)>/CHECK_STRINGopt (\1a)/g' \
+ -e 's/<\([ivn][1-9]\)>/\1a/g'`)`echo $rtn $args |
+ sed -e 's/<b0>.*<\(n[1-9]\)>.*/, \1a)/' \
+ -e 's/<.0>.*//'`; \\'; \\"
+
echo " echo '} \\'; \\"
# generate thunk aliases
@@ -272,9 +283,9 @@ shared-only-routines += $file
echo '#include <bp-thunks.h>'; \\
) | \$(COMPILE.c) -x c -o \$@ -"
### Use this for debugging intermediate output:
-### echo ' ) >$(@:.ob=.c)
-### $(subst -c,-E,$(COMPILE.c)) -o $(@:.ob=.ib) $(@:.ob=.c)
-### $(COMPILE.c) -x cpp-output -o $@ $(@:.ob=.ib)'
+### ) >\$(@:.ob=.c)
+### \$(subst -c,-E,\$(COMPILE.c)) -o \$(@:.ob=.ib) \$(@:.ob=.c)
+### \$(COMPILE.c) -x cpp-output -o \$@ \$(@:.ob=.ib)"
echo endif
;;
esac
diff --git a/sysdeps/unix/mman/syscalls.list b/sysdeps/unix/mman/syscalls.list
index d610fe5eee..772caff370 100644
--- a/sysdeps/unix/mman/syscalls.list
+++ b/sysdeps/unix/mman/syscalls.list
@@ -5,7 +5,7 @@
# File name Caller Syscall name # args Strong name Weak names
madvise - madvise i:pii madvise
-mmap - mmap P:aniiii __mmap mmap
+mmap - mmap b:aniiii __mmap mmap
mprotect - mprotect i:aii __mprotect mprotect
msync - msync i:aii __libc_msync msync
munmap - munmap i:ai __munmap munmap
diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list
index ee99b3b573..b8f7bf5428 100644
--- a/sysdeps/unix/syscalls.list
+++ b/sysdeps/unix/syscalls.list
@@ -1,7 +1,7 @@
# File name Caller Syscall name Args Strong name Weak names
access - access i:si __access access
-acct - acct i:s acct
+acct - acct i:S acct
chdir - chdir i:s __chdir chdir
chmod - chmod i:si __chmod chmod
chown - chown i:sii __chown chown
@@ -10,7 +10,7 @@ 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:iiV __libc_fcntl __fcntl fcntl
+fcntl - fcntl i:iiF __libc_fcntl __fcntl fcntl
fstatfs - fstatfs i:ip __fstatfs fstatfs
fsync - fsync i:i __libc_fsync fsync
getdomain - getdomainname i:si getdomainname
@@ -21,7 +21,7 @@ getpid - getpid i: __getpid getpid
getpriority - getpriority i:ii getpriority
getrlimit - getrlimit i:ip __getrlimit getrlimit
getuid - getuid i: __getuid getuid
-ioctl - ioctl i:iiV __ioctl ioctl
+ioctl - ioctl i:iiI __ioctl ioctl
kill - kill i:ii __kill kill
link - link i:ss __link link
lseek - lseek i:iii __libc_lseek __lseek lseek
@@ -35,7 +35,7 @@ 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
+select - select i:iPPPP __select select
setdomain - setdomainname i:si setdomainname
setegid - setegid i:i __setegid setegid
seteuid - seteuid i:i __seteuid seteuid
@@ -45,10 +45,10 @@ 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
+settimeofday - settimeofday i:PP __settimeofday settimeofday
setuid - setuid i:i __setuid setuid
sigsuspend - sigsuspend i:p sigsuspend
-sstk - sstk p:i sstk
+sstk - sstk b:i sstk
statfs - statfs i:sp __statfs statfs
swapoff - swapoff i:s swapoff
swapon - swapon i:s swapon
diff --git a/sysdeps/unix/sysv/linux/ia64/syscalls.list b/sysdeps/unix/sysv/linux/ia64/syscalls.list
index a7a465a03c..866fb19d2e 100644
--- a/sysdeps/unix/sysv/linux/ia64/syscalls.list
+++ b/sysdeps/unix/sysv/linux/ia64/syscalls.list
@@ -8,7 +8,7 @@ pread - pread 4 __syscall_pread __syscall_pread64 __pread pread __pread64 prea
pwrite - pwrite 4 __syscall_pwrite __syscall_pwrite64 __pwrite pwrite __pwrite64 pwrite64
fstatfs - fstatfs i:ip __fstatfs fstatfs fstatfs64 __fstatfs64
statfs - statfs i:sp __statfs statfs statfs64
-mmap - mmap P:aniiii __mmap mmap __mmap64 mmap64
+mmap - mmap b:aniiii __mmap mmap __mmap64 mmap64
getpeername - getpeername i:ipp __getpeername getpeername
getpriority - getpriority i:ii __getpriority getpriority
@@ -26,7 +26,7 @@ semget - semget i:iii __semget semget
semctl - semctl i:iiii __semctl semctl
# proper socket implementations:
-accept - accept i:ipp __libc_accept __accept accept
+accept - accept i:iBN __libc_accept __accept accept
bind - bind i:ipi __bind bind
connect - connect i:ipi __libc_connect __connect connect
getpeername - getpeername i:ipp __getpeername getpeername
@@ -34,7 +34,7 @@ getsockname - getsockname i:ipp __getsockname getsockname
getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
listen - listen i:ii __listen listen
recv - recv i:ibni __libc_recv __recv recv
-recvfrom - recvfrom i:ibnibN __libc_recvfrom __recvfrom recvfrom
+recvfrom - recvfrom i:ibniBN __libc_recvfrom __recvfrom recvfrom
recvmsg - recvmsg i:ipi __libc_recvmsg recvmsg
send - send i:ibni __libc_send __send send
sendmsg - sendmsg i:ipi __libc_sendmsg sendmsg
diff --git a/sysdeps/unix/sysv/linux/mips/syscalls.list b/sysdeps/unix/sysv/linux/mips/syscalls.list
index 117e7dd0fa..71a1aa28f0 100644
--- a/sysdeps/unix/sysv/linux/mips/syscalls.list
+++ b/sysdeps/unix/sysv/linux/mips/syscalls.list
@@ -9,14 +9,14 @@ cacheflush - cacheflush i:pii _flush_cache cacheflush
sysmips - sysmips i:iiii __sysmips sysmips
# override select.S in parent directory:
-select - select i:ipppp __select select
+select - select i:iPPPP __select select
sigsuspend - sigsuspend i:p __sigsuspend sigsuspend
#
# Socket functions; Linux/MIPS doesn't use the socketcall(2) wrapper;
# it's provided for compatibility, though.
#
-accept - accept i:ipp __libc_accept __accept accept
+accept - accept i:iBN __libc_accept __accept accept
bind - bind i:ipi __bind bind
connect - connect i:ipi __libc_connect __connect connect
getpeername - getpeername i:ipp __getpeername getpeername
@@ -24,7 +24,7 @@ getsockname - getsockname i:ipp __getsockname getsockname
getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
listen - listen i:ii __listen listen
recv - recv i:ibni __libc_recv __recv recv
-recvfrom - recvfrom i:ibnibN __libc_recvfrom __recvfrom recvfrom
+recvfrom - recvfrom i:ibniBN __libc_recvfrom __recvfrom recvfrom
recvmsg - recvmsg i:ipi __libc_recvmsg __recvmsg recvmsg
send - send i:ibni __libc_send __send send
sendmsg - sendmsg i:ipi __libc_sendmsg __sendmsg sendmsg
diff --git a/sysdeps/unix/sysv/linux/powerpc/syscalls.list b/sysdeps/unix/sysv/linux/powerpc/syscalls.list
index 7fc6fa2b33..9228ee25b8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/syscalls.list
+++ b/sysdeps/unix/sysv/linux/powerpc/syscalls.list
@@ -1,7 +1,7 @@
# File name Caller Syscall name # args Strong name Weak names
# System calls with wrappers.
-s_ioctl ioctl ioctl i:iip __syscall_ioctl
+s_ioctl ioctl ioctl i:iiI __syscall_ioctl
s_ipc msgget ipc i:iiiip __syscall_ipc
s_llseek llseek _llseek i:iiipi __syscall__llseek
s_chown chown chown i:sii __syscall_chown
@@ -22,7 +22,7 @@ getresgid - getresgid i:ppp getresgid
getresuid - getresuid i:ppp getresuid
s_getrlimit getrlimit getrlimit i:ip __syscall_getrlimit
s_lstat64 lxstat64 lstat64 i:sp __syscall_lstat64
-s_mmap2 mmap64 mmap2 P:aniiii __syscall_mmap2
+s_mmap2 mmap64 mmap2 b:aniiii __syscall_mmap2
s_poll poll poll i:pii __syscall_poll
s_pread64 pread64 pread i:ibnii __syscall_pread
s_ptrace ptrace ptrace i:iipp __syscall_ptrace
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index 8d7e7703f9..bff42d8a2b 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -25,9 +25,9 @@ madvise - madvise i:pii posix_madvise madvise
mincore - mincore i:iip mincore
mlock EXTRA mlock i:bn __mlock mlock
mlockall EXTRA mlockall i:i __mlockall mlockall
-mmap - mmap P:aniiii __mmap mmap
+mmap - mmap b:aniiii __mmap mmap
mount EXTRA mount i:sssip __mount mount
-mremap EXTRA mremap P:aini __mremap mremap
+mremap EXTRA mremap b:aini __mremap mremap
munlock EXTRA munlock i:ai __munlock munlock
munlockall EXTRA munlockall i: __munlockall munlockall
nanosleep - nanosleep i:pp __libc_nanosleep __nanosleep nanosleep
@@ -46,16 +46,16 @@ sched_rr_gi - sched_rr_get_interval i:ip __sched_rr_get_interval sched_rr_get_in
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
+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
+sigaltstack - sigaltstack i:PP __sigaltstack sigaltstack
sysinfo EXTRA sysinfo i:p sysinfo
swapon - swapon i:si __swapon swapon
swapoff - swapoff i:s __swapoff swapoff
uselib EXTRA uselib i:s uselib
-wait4 - wait4 i:ipip __wait4 wait4
+wait4 - wait4 i:iWiP __wait4 wait4
diff --git a/sysdeps/unix/sysv/syscalls.list b/sysdeps/unix/sysv/syscalls.list
index 209d017d18..2525bae2ea 100644
--- a/sysdeps/unix/sysv/syscalls.list
+++ b/sysdeps/unix/sysv/syscalls.list
@@ -7,7 +7,7 @@ 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
+settimeofday - settimeofday i:PP __settimeofday settimeofday
signal - signal i:ii signal
stime - stime i:p stime
time - time i:p time