Failed to build arm64 bpf samples with LLVM 3.7 on 4.3 kernel
alexei.starovoitov at gmail.com
Tue Nov 10 16:47:17 PST 2015
On Tue, Nov 10, 2015 at 03:10:42PM -0800, Shi, Yang wrote:
> >Try hacking it by adding #define __ASM_SYSREG_H to prevent inclusion
> >of that file? all those asms are unused anyway.
> >tracing samples include kernel headers to have exact struct layout.
> >and #include skbuff.h can be removed from almost all samples.
> >In-kernel 'struct sk_buff' only used inside tracex1_kern.c
> The below change works:
> clang $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(EXTRA_CFLAGS) \
> - -D__KERNEL__ -Wno-unused-value -Wno-pointer-sign \
> + -D__KERNEL__ -D__ASM_SYSREG_H -Wno-unused-value
> -Wno-pointer-sign \
> -O2 -emit-llvm -c $< -o -| $(LLC) -march=bpf -filetype=obj
> -o $@
> Is it ok for upstream too?
It's fragile and ugly, but I don't see a cleaner way for arm64,
so yes, please submit it officially.
More information about the linux-arm-kernel