Re: make samples/bpf/ using gcc instead of clang/llvm

From: Joel Fernandes
Date: Wed Jan 27 2016 - 01:18:27 EST


Alexei,

Thanks for the quick reply.

But, the bpf sample programs like tracex1_kern.c are marked with
hostprogs-y in the Makefile as well, just like test_verifier.c. How
does Kbuild/Make know when to use gcc and when to use clang?

Best,

On Tue, Jan 26, 2016 at 10:08 PM, Alexei Starovoitov
<alexei.starovoitov@xxxxxxxxx> wrote:
> On Tue, Jan 26, 2016 at 09:51:54PM -0800, Joel Fernandes wrote:
>> Hi Brendan, Alexei,
>>
>> I noticed your patch fixing the $subject issue.
>>
>> https://patchwork.ozlabs.org/patch/471118/
>>
>> However, I still see make samples/bpf/ using gcc instead of clang.
>>
>> Here's a verbose kbuild output of make samples/bpf/. My kernel version
>> is 4.4. It looks to me like Kbuild is ignoring the Makefile in
>> samples/bpf/. Let me know if you spot anything of the ordinary?
>> Thanks.
>>
>> make KBUILD_VERBOSE=1 samples/bpf/
>> [..]
>> make KBUILD_MODULES=1 \
>> -f /home/joel/data/repo/linux-4.4/scripts/Makefile.build obj=samples/bpf
>> (cat /dev/null; ) > samples/bpf/modules.order
>> gcc -Wp,-MD,samples/bpf/.test_verifier.o.d -Isamples/bpf -Wall
>> -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
>> -std=gnu89 -I/home/joel/data/repo/linux-4.4/./usr/include
>> -I./usr/include -c -o samples/bpf/test_verifier.o
>> /home/joel/data/repo/linux-4.4/samples/bpf/test_verifier.c
>> /home/joel/data/repo/linux-4.4/samples/bpf/test_verifier.c:12:23:
>> fatal error: linux/bpf.h: No such file or directory
>> #include <linux/bpf.h>
>> ^
>> compilation terminated.
>
> test_verifier.c should be built with gcc.
> *_kern.c are built with clang.
> In this case likely 'make headers_install' is missing.
>