about summary refs log tree commit diff
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
parenta162642d80973c1ca52bf58e0d776060d9746d75 (diff)
downloadglibc-7944bd340c06f2249e41d85994591529b59da2d1.tar.gz
glibc-7944bd340c06f2249e41d85994591529b59da2d1.tar.xz
glibc-7944bd340c06f2249e41d85994591529b59da2d1.zip
* 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.
-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