f6041c1d8a
Add a separate Kconfig option for SAMPLES_SECCOMP. Main reason for this is that, just like other samples, it's forced to be a module. Without this, since the sample is a target only controlled by CONFIG_SECCOMP_FILTER, the samples will be built before include files are put in place properly. For example, from an arm64 allmodconfig built with "make -sk -j 32" (without specific target), the following happens: samples/seccomp/bpf-fancy.c:13:27: fatal error: linux/seccomp.h: No such file or directory samples/seccomp/bpf-helper.h:20:50: fatal error: linux/seccomp.h: No such file or directory samples/seccomp/dropper.c:20:27: fatal error: linux/seccomp.h: No such file or directory samples/seccomp/bpf-direct.c:21:27: fatal error: linux/seccomp.h: No such file or directory So, just stick to the same format as other samples. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Kees Cook <keescook@chromium.org>
49 lines
1.4 KiB
Makefile
49 lines
1.4 KiB
Makefile
# kbuild trick to avoid linker error. Can be omitted if a module is built.
|
|
obj- := dummy.o
|
|
|
|
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 CROSS_COMPILE
|
|
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-y)
|
|
else
|
|
# MIPS system calls are defined based on the -mabi that is passed
|
|
# to the toolchain which may or may not be a valid option
|
|
# for the host toolchain. So disable tests if target architecture
|
|
# is MIPS but the host isn't.
|
|
ifndef CONFIG_MIPS
|
|
always := $(hostprogs-y)
|
|
endif
|
|
endif
|