diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2023-02-28 00:53:01 +0100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-03-09 00:36:03 +0100 |
commit | 0d8c114aa25cb093607feea5d98ce81d7389aa73 (patch) | |
tree | 87f77a218c2f0d1fb9f7c4fc1f1cc66a1d6e8419 | |
parent | c538ee8d695de053dc9da8965c85997a79fb6cb2 (diff) | |
download | passt-0d8c114aa25cb093607feea5d98ce81d7389aa73.tar passt-0d8c114aa25cb093607feea5d98ce81d7389aa73.tar.gz passt-0d8c114aa25cb093607feea5d98ce81d7389aa73.tar.bz2 passt-0d8c114aa25cb093607feea5d98ce81d7389aa73.tar.lz passt-0d8c114aa25cb093607feea5d98ce81d7389aa73.tar.xz passt-0d8c114aa25cb093607feea5d98ce81d7389aa73.tar.zst passt-0d8c114aa25cb093607feea5d98ce81d7389aa73.zip |
Makefile, seccomp.sh: Fix cross-builds, adjust syscalls list to compiler
Debian cross-building automatic checks:
http://crossqa.debian.net/src/passt
currently fail because we don't use the right target architecture and
compiler while building the system call lists and resolving their
numbers in seccomp.sh. Pass ARCH and CC to seccomp.sh and use them.
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | Makefile | 2 | ||||
-rwxr-xr-x | seccomp.sh | 7 |
2 files changed, 6 insertions, 3 deletions
@@ -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) @@ -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##*:} ;; |