OSDN Git Service

- deal with ARM specific syscalls. Closes #2894
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Wed, 24 Sep 2008 15:17:12 +0000 (15:17 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Wed, 24 Sep 2008 15:17:12 +0000 (15:17 -0000)
extra/scripts/gen_bits_syscall_h.sh

index c0b4c25..a77fc8b 100755 (executable)
@@ -24,9 +24,9 @@ esac
 
 ( echo "#include <asm/unistd.h>";
   echo "#include <asm/unistd.h>" |
-  $CC -E $CC_SYSNUM_ARGS $INCLUDE_OPTS - |
-  sed -ne 's/^[ ]*#define[ ]*__NR_\([A-Za-z0-9_]*\).*/UCLIBC_\1 __NR_\1/gp' \
-      -e 's/^[ ]*#undef[ ]*__NR_\([A-Za-z0-9_]*\).*/UNDEFUCLIBC_\1 __NR_\1/gp' # needed to strip out any kernel-internal defines
+  $CC -E $CC_SYSNUM_ARGS $INCLUDE_OPTS - | tee /tmp/bar |
+  sed -ne 's/^[ ]*#define[ ]*\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/UCLIBC\1\2 \1\2/gp' \
+      -e 's/^[ ]*#undef[ ]*\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/UNDEFUCLIBC\1\2 \1\2/gp' # needed to strip out any kernel-internal defines
 ) |
 $CC -E $INCLUDE_OPTS - |
 ( echo "/* WARNING!!! AUTO-GENERATED FILE!!! DO NOT EDIT!!! */" ;
@@ -37,10 +37,10 @@ $CC -E $INCLUDE_OPTS - |
   echo "#ifndef _SYSCALL_H" ;
   echo "# error \"Never use <bits/sysnum.h> directly; include <sys/syscall.h> instead.\"" ;
   echo "#endif" ; echo ;
-  sed -ne 's/^UCLIBC_\([A-Za-z0-9_]*\) *\(.*\)/#undef __NR_\1\
-#define __NR_\1 \2\
-#define SYS_\1 __NR_\1/gp' \
-     -e 's/^UNDEFUCLIBC_\([A-Za-z0-9_]*\).*/#undef __NR_\1/gp'
+  sed -ne 's/^UCLIBC\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\) *\(.*\)/#undef \1\2\
+#define \1\2 \3\
+#define SYS_\2 \1\2/gp' \
+     -e 's/^UNDEFUCLIBC\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/#undef \1\2/gp'
   echo ;
   echo "#endif" ;
 )