aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/make-syscalls.sh10
1 files changed, 6 insertions, 4 deletions
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 "\