summaryrefslogtreecommitdiff
path: root/sysdeps/unix/make-syscalls.sh
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-08-05 06:58:03 +0000
committerRoland McGrath <roland@gnu.org>2002-08-05 06:58:03 +0000
commit7944bd340c06f2249e41d85994591529b59da2d1 (patch)
tree24ae890816157cbac389eaa33b88e51e237fea8d /sysdeps/unix/make-syscalls.sh
parenta162642d80973c1ca52bf58e0d776060d9746d75 (diff)
* sysdeps/unix/make-syscalls.sh: If the syscall name field is -
then generate a dummy module under the given name, obeying the normal rules for the "caller" field.
Diffstat (limited to 'sysdeps/unix/make-syscalls.sh')
-rw-r--r--sysdeps/unix/make-syscalls.sh19
1 files changed, 17 insertions, 2 deletions
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index d8a3210930..0a7b5fba56 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -70,6 +70,9 @@ test -n "$calls" || exit 0
echo "$calls" |
while read file srcfile caller syscall args strong weak; do
+ case x"$syscall" in
+ x-) callnum=_ ;;
+ *)
# Figure out if $syscall is defined with a number in syscall.h.
callnum=-
eval `{ echo "#include <sysdep.h>";
@@ -77,6 +80,8 @@ while read file srcfile caller syscall args strong weak; do
$asm_CPP -D__OPTIMIZE__ - |
sed -n -e "/^callnum=.*$syscall/d" \
-e "/^\(callnum=\)[ ]*\(.*\)/s//\1'\2'/p"`
+ ;;
+ esac
# Derive the number of arguments from the argument signature
case $args in
@@ -126,12 +131,22 @@ shared-only-routines += $file
\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o): \\"
;;
esac
- echo " \$(common-objpfx)s-proto.d
+
+ echo ' $(common-objpfx)s-proto.d'
+ case x"$callnum" in
+ x_)
+ echo "\
+ (echo '/* Dummy module requested by syscalls.list */'; \\"
+ ;;
+ x*)
+ echo "\
(echo '#include <sysdep.h>'; \\
echo 'PSEUDO ($strong, $syscall, $nargs)'; \\
echo ' ret'; \\
echo 'PSEUDO_END($strong)'; \\
echo 'libc_hidden_def ($strong)'; \\"
+ ;;
+ esac
# Append any weak aliases or versions defined for this syscall function.
@@ -189,7 +204,7 @@ shared-only-routines += $file
esac
case x"$callnum",$srcfile,$args in
- x-,-,* | x*,*.[sS],*V*) ;;
+ x[_-],-,* | x*,*.[sS],*V*) ;;
x*,-,*$ptr* | x*,*.[sS],*$ptr*)
nv_weak=`for name in $weak; do