aboutgitcodebugslistschat
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rwxr-xr-xseccomp.sh7
2 files changed, 6 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 667ddfb..e5723a7 100644
--- a/Makefile
+++ b/Makefile
@@ -105,7 +105,7 @@ static: FLAGS += -static -DGLIBC_NO_STATIC_NSS
static: clean all
seccomp.h: seccomp.sh $(PASST_SRCS) $(PASST_HEADERS)
- @ EXTRA_SYSCALLS="$(EXTRA_SYSCALLS)" ./seccomp.sh $(PASST_SRCS) $(PASST_HEADERS)
+ @ EXTRA_SYSCALLS="$(EXTRA_SYSCALLS)" ARCH="$(TARGET_ARCH)" CC="$(CC)" ./seccomp.sh $(PASST_SRCS) $(PASST_HEADERS)
passt: $(PASST_SRCS) $(HEADERS)
$(CC) $(FLAGS) $(CFLAGS) $(CPPFLAGS) $(PASST_SRCS) -o passt $(LDFLAGS)
diff --git a/seccomp.sh b/seccomp.sh
index 31ea8da..b075efd 100755
--- a/seccomp.sh
+++ b/seccomp.sh
@@ -17,6 +17,9 @@ TMP="$(mktemp)"
IN="$@"
OUT="seccomp.h"
+[ -z "${ARCH}" ] && ARCH="$(uname -m)"
+[ -z "${CC}" ] && CC="cc"
+
HEADER="/* This file was automatically generated by $(basename ${0}) */
#ifndef AUDIT_ARCH_PPC64LE
@@ -110,7 +113,7 @@ log2() {
# $1: Name of syscall
syscall_nr() {
__in="$(printf "#include <asm-generic/unistd.h>\n#include <sys/syscall.h>\n__NR_%s" ${1})"
- __out="$(echo "${__in}" | cc -E -xc - -o - | tail -1)"
+ __out="$(echo "${__in}" | ${CC} -E -xc - -o - | tail -1)"
[ "${__out}" = "__NR_$1" ] && return 1
# Output might be in the form "(x + y)" (seen on armv6l, armv7l)
@@ -125,7 +128,7 @@ filter() {
case ${__c} in
*:*)
case ${__c} in
- $(uname -m):*)
+ ${ARCH}:*)
__arch_match=1
__c=${__c##*:}
;;