![Will Drewry](/assets/img/avatar_default.png)
This change fixes the compilation error triggered here for i386 allmodconfig in linux-next: http://kisskb.ellerman.id.au/kisskb/buildresult/6123842/ Logic attempting to predict the host architecture has been removed from the Makefile. Instead, the bpf-direct sample should now compile on any architecture, but if the architecture is not supported, it will compile a minimal main() function. This change also ensures the samples are not compiled when there is no seccomp filter support. (Note, I wasn't able to reproduce the error locally, but the existing approach was clearly flawed. This tweak should resolve your issue and avoid other future weirdness.) Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com> Suggested-by: Kees Cook <keescook@chromium.org> Signed-off-by: Will Drewry <wad@chromium.org> Signed-off-by: James Morris <james.l.morris@oracle.com>
33 lines
1 KiB
Makefile
33 lines
1 KiB
Makefile
# kbuild trick to avoid linker error. Can be omitted if a module is built.
|
|
obj- := dummy.o
|
|
|
|
hostprogs-$(CONFIG_SECCOMP_FILTER) := 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.
|
|
ifeq ($(CONFIG_64BIT),)
|
|
HOSTCFLAGS_bpf-direct.o += -m32
|
|
HOSTCFLAGS_dropper.o += -m32
|
|
HOSTCFLAGS_bpf-helper.o += -m32
|
|
HOSTCFLAGS_bpf-fancy.o += -m32
|
|
HOSTLOADLIBES_bpf-direct += -m32
|
|
HOSTLOADLIBES_bpf-fancy += -m32
|
|
HOSTLOADLIBES_dropper += -m32
|
|
endif
|
|
|
|
# Tell kbuild to always build the programs
|
|
always := $(hostprogs-y)
|