samples/bpf: Set -fno-stack-protector when building BPF programs
authorToke Høiland-Jørgensen <toke@redhat.com>
Mon, 16 Dec 2019 10:38:19 +0000 (11:38 +0100)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 16 Dec 2019 15:03:12 +0000 (07:03 -0800)
It seems Clang can in some cases turn on stack protection by default, which
doesn't work with BPF. This was reported once before[0], but it seems the
flag to explicitly turn off the stack protector wasn't added to the
Makefile, so do that now.

The symptom of this is compile errors like the following:

error: <unknown>:0:0: in function bpf_prog1 i32 (%struct.__sk_buff*): A call to built-in function '__stack_chk_fail' is not supported.

[0] https://www.spinics.net/lists/netdev/msg556400.html

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20191216103819.359535-1-toke@redhat.com
samples/bpf/Makefile

index 227077ae66ed09dec30277e11f6ad0b108b3f1c5..5b89c0370f33213c55488c75f586168b70baa583 100644 (file)
@@ -236,6 +236,7 @@ BTF_LLVM_PROBE := $(shell echo "int main() { return 0; }" | \
                          readelf -S ./llvm_btf_verify.o | grep BTF; \
                          /bin/rm -f ./llvm_btf_verify.o)
 
+BPF_EXTRA_CFLAGS += -fno-stack-protector
 ifneq ($(BTF_LLVM_PROBE),)
        BPF_EXTRA_CFLAGS += -g
 else