Failed to build arm64 bpf samples with LLVM 3.7 on 4.3 kernel
Shi, Yang
yang.shi at linaro.org
Tue Nov 10 16:53:28 PST 2015
On 11/10/2015 4:47 PM, Alexei Starovoitov wrote:
> 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.
Yes, but anyway I could add some comment to explain the workaround. If
anyone else run into such issue in the future, at least they could know
how to workaround it.
Thanks,
Yang
>
> Thanks!
>
More information about the linux-arm-kernel
mailing list