mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
![Michal Hocko](/assets/img/avatar_default.png)
samples/seccomp relies on the host setting which is not suitable for crosscompilation and it actually fails when crosscompiling s390 and powerpc all{yes,mod}config on x86_64 with samples/seccomp/bpf-helper.h:135:2: error: #error __BITS_PER_LONG value unusable. #error __BITS_PER_LONG value unusable. ^ In file included from samples/seccomp/bpf-fancy.c:13:0: samples/seccomp/bpf-fancy.c: In function ‘main’: samples/seccomp/bpf-fancy.c:38:11: error: ‘__NR_exit’ undeclared (first use in this function) SYSCALL(__NR_exit, ALLOW), and many others. I am doing these for compile testing and it's been quite useful to catch issues. Crosscompiling sample code on the other hand doesn't seem all that important so it seems like the easiest way to simply disable samples/seccomp when crosscompiling. Fixing this properly is not that easy as Kees explains: : IIRC, one of the problems is with build ordering problems: the kernel : headers used by the samples aren't available when cross compiling. Signed-off-by: Michal Hocko <mhocko@suse.com> Signed-off-by: Kees Cook <keescook@chromium.org>
38 lines
1.1 KiB
Makefile
38 lines
1.1 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
ifndef CROSS_COMPILE
|
|
hostprogs-$(CONFIG_SAMPLE_SECCOMP) := bpf-fancy dropper bpf-direct
|
|
|
|
HOSTCFLAGS_bpf-fancy.o += -I$(objtree)/usr/include
|
|
HOSTCFLAGS_bpf-fancy.o += -idirafter $(objtree)/include
|
|
HOSTCFLAGS_bpf-helper.o += -I$(objtree)/usr/include
|
|
HOSTCFLAGS_bpf-helper.o += -idirafter $(objtree)/include
|
|
bpf-fancy-objs := bpf-fancy.o bpf-helper.o
|
|
|
|
HOSTCFLAGS_dropper.o += -I$(objtree)/usr/include
|
|
HOSTCFLAGS_dropper.o += -idirafter $(objtree)/include
|
|
dropper-objs := dropper.o
|
|
|
|
HOSTCFLAGS_bpf-direct.o += -I$(objtree)/usr/include
|
|
HOSTCFLAGS_bpf-direct.o += -idirafter $(objtree)/include
|
|
bpf-direct-objs := bpf-direct.o
|
|
|
|
# Try to match the kernel target.
|
|
ifndef CONFIG_64BIT
|
|
|
|
# s390 has -m31 flag to build 31 bit binaries
|
|
ifndef CONFIG_S390
|
|
MFLAG = -m32
|
|
else
|
|
MFLAG = -m31
|
|
endif
|
|
|
|
HOSTCFLAGS_bpf-direct.o += $(MFLAG)
|
|
HOSTCFLAGS_dropper.o += $(MFLAG)
|
|
HOSTCFLAGS_bpf-helper.o += $(MFLAG)
|
|
HOSTCFLAGS_bpf-fancy.o += $(MFLAG)
|
|
HOSTLOADLIBES_bpf-direct += $(MFLAG)
|
|
HOSTLOADLIBES_bpf-fancy += $(MFLAG)
|
|
HOSTLOADLIBES_dropper += $(MFLAG)
|
|
endif
|
|
always := $(hostprogs-m)
|
|
endif
|