aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/unix/make-syscalls.sh19
2 files changed, 21 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b3a0dd49de..bea4efbd9a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2002-08-04 Roland McGrath <roland@redhat.com>
+ * 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.
+
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Make the phdr loop
actually iterate over the elements. Fix typo p_type -> p_vaddr.
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