diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/all_syscalls | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/all_syscalls b/tools/all_syscalls index 9c14778..eccb0d0 100755 --- a/tools/all_syscalls +++ b/tools/all_syscalls @@ -1,15 +1,18 @@ #!/bin/bash set -e +set -o pipefail +SED="$1" +shift OUTPUT=syscalls.h SYSCALL_INCLUDES=" #include <sys/syscall.h> " -trap 'rm $OUTPUT $OUTPUT.deps' ERR +trap 'rm -f $OUTPUT $OUTPUT.deps' ERR "$@" -MD -MF "$OUTPUT.deps" <<< "$SYSCALL_INCLUDES" -dM -E - \ - | gawk 'match($0, /^#define __NR_([^ ]+)/, res) { print "UL_SYSCALL(\"" res[1] "\", __NR_" res[1] ")" }' \ + | "$SED" -n -e 's/^#define __NR_\([^ ]*\).*$/UL_SYSCALL("\1", __NR_\1)/p' \ | sort \ > "$OUTPUT" |