about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/unix/make-syscalls.sh10
2 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index fd23e11028..8369e52637 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2000-06-15  Greg McGary  <greg@mcgary.org>
+
+	* sysdeps/unix/make-syscalls.sh: Strip leading whitespace from lhs
+	of callnum assignment.  Tolerate callnum expressions containing
+	parens.
+
 2000-06-14  Ulrich Drepper  <drepper@redhat.com>
 
 	* login/Makefile (utmpd): Remove rule to build utmpd.
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index 387df6799e..89bd3a3e42 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -46,7 +46,8 @@ echo "$calls" | while read file srcfile caller syscall args strong weak; do
 callnum=-
 eval `{ echo "#include <sysdep.h>";
 	echo "callnum=SYS_ify ($syscall)"; } |
-	  $asm_CPP - |grep "^callnum=" |grep -v $syscall`
+	  $asm_CPP - |sed -n -e "/^callnum=.*$syscall/d" \
+			     -e "/^\(callnum=\)[ 	]*\(.*\)/s//\1'\2'/p"`
 
   # Derive the number of arguments from the argument signature
   case $args in
@@ -63,7 +64,7 @@ eval `{ echo "#include <sysdep.h>";
   # 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
+ case x$srcfile"$callnum" in
  x*-) ;; ### Do nothing for undefined callnum
  x-*)
   echo "ifeq (,\$(filter $file,\$(unix-syscalls)))"
@@ -151,8 +152,9 @@ shared-only-routines += $file
  ;;
  esac
 
-  case x$callnum,$srcfile,$args in
-  x[0-9]*,-,*[sp]* | x*,*.[sS],*[sp]*)
+  case x"$callnum",$srcfile,$args in
+  x-,-,*) ;;
+  x*,-,*[sp]* | x*,*.[sS],*[sp]*)
     echo "ifeq (,\$(filter $file,\$(bp-thunks)))"
     echo "bp-thunks += $file";
     echo "\