All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yonghong Song <yhs@fb.com>
To: <sedat.dilek@gmail.com>
Cc: <bpf@vger.kernel.org>, Andrii Nakryiko <andrii@kernel.org>,
	Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>,
	<kernel-team@fb.com>, Nick Desaulniers <ndesaulniers@google.com>
Subject: Re: [PATCH bpf-next 1/5] selftests: set CC to clang in lib.mk if LLVM is set
Date: Sun, 11 Apr 2021 09:51:47 -0700	[thread overview]
Message-ID: <b161ef91-8f3b-9f09-660e-69ee33982334@fb.com> (raw)
In-Reply-To: <CA+icZUVf9RPxBHZvTaEK0scNoPkF3pf__wWCy3K=TeacgBq98g@mail.gmail.com>



On 4/11/21 3:22 AM, Sedat Dilek wrote:
> On Sat, Apr 10, 2021 at 6:49 PM Yonghong Song <yhs@fb.com> wrote:
>>
>> selftests/bpf/Makefile includes lib.mk. With the following command
>>    make -j60 LLVM=1 LLVM_IAS=1  <=== compile kernel
>>    make -j60 -C tools/testing/selftests/bpf LLVM=1 LLVM_IAS=1 V=1
>> some files are still compiled with gcc. This patch
>> fixed lib.mk issue which sets CC to gcc in all cases.
>>
>> Cc: Sedat Dilek <sedat.dilek@gmail.com>
>> Signed-off-by: Yonghong Song <yhs@fb.com>
>> ---
>>   tools/testing/selftests/lib.mk | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
>> index a5ce26d548e4..9a41d8bb9ff1 100644
>> --- a/tools/testing/selftests/lib.mk
>> +++ b/tools/testing/selftests/lib.mk
>> @@ -1,6 +1,10 @@
>>   # This mimics the top-level Makefile. We do it explicitly here so that this
>>   # Makefile can operate with or without the kbuild infrastructure.
>> +ifneq ($(LLVM),)
>> +CC := clang
>> +else
>>   CC := $(CROSS_COMPILE)gcc
>> +endif
>>
> 
> Why not use include "include ../../../scripts/Makefile.include" here
> and include CC and GNU or LLVM (bin)utils from there?

There is a comment above my change,

 >>   # This mimics the top-level Makefile. We do it explicitly here so 
that this
 >>   # Makefile can operate with or without the kbuild infrastructure.

It is intentionally not depending on kbuild 
(../../../scripts/Makefile.include).

> 
> Should the CC line have a $(CROSS_COMPILE) for people doing cross-compilation?
> 
> CC := $(CROSS_COMPILE)clang

The top linux/Makefile has

ifneq ($(LLVM),)
CC              = clang
LD              = ld.lld
AR              = llvm-ar
NM              = llvm-nm
OBJCOPY         = llvm-objcopy
OBJDUMP         = llvm-objdump
READELF         = llvm-readelf
STRIP           = llvm-strip
else
CC              = $(CROSS_COMPILE)gcc
LD              = $(CROSS_COMPILE)ld
AR              = $(CROSS_COMPILE)ar
NM              = $(CROSS_COMPILE)nm
OBJCOPY         = $(CROSS_COMPILE)objcopy
OBJDUMP         = $(CROSS_COMPILE)objdump
READELF         = $(CROSS_COMPILE)readelf
STRIP           = $(CROSS_COMPILE)strip
endif

There is no CROSS_COMPILE prefix for llvm.
Also see here:
   https://clang.llvm.org/docs/CrossCompilation.html
for clang, cross compilation is mostly related to
tweaking compiler options than building a different
compiler.

Hence, I didn't add $(CROSS_COMPILER) prefix.

> 
> - Sedat -
> 
> 
>>   ifeq (0,$(MAKELEVEL))
>>       ifeq ($(OUTPUT),)
>> --
>> 2.30.2
>>

  reply	other threads:[~2021-04-11 16:52 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-10 16:49 [PATCH bpf-next 0/5] support build selftests/bpf with clang Yonghong Song
2021-04-10 16:49 ` [PATCH bpf-next 1/5] selftests: set CC to clang in lib.mk if LLVM is set Yonghong Song
2021-04-11 10:22   ` Sedat Dilek
2021-04-11 16:51     ` Yonghong Song [this message]
2021-04-11 17:10       ` Sedat Dilek
2021-04-10 16:49 ` [PATCH bpf-next 2/5] tools: allow proper CC/CXX/... override with LLVM=1 in Makefile.include Yonghong Song
2021-04-11 10:24   ` Sedat Dilek
2021-04-11 16:52     ` Yonghong Song
2021-04-10 16:49 ` [PATCH bpf-next 3/5] selftests/bpf: fix test_cpp compilation failure with clang Yonghong Song
2021-04-11 10:47   ` Sedat Dilek
2021-04-11 17:20     ` Yonghong Song
2021-04-11 17:31       ` Sedat Dilek
2021-04-11 19:08         ` Yonghong Song
2021-04-12  4:47           ` Sedat Dilek
2021-04-12  5:42             ` Yonghong Song
2021-04-12  6:06               ` Sedat Dilek
2021-04-12 14:15                 ` Yonghong Song
2021-04-13  4:32   ` Andrii Nakryiko
2021-04-13  6:12     ` Yonghong Song
2021-04-13 17:50       ` Andrii Nakryiko
2021-04-10 16:49 ` [PATCH bpf-next 4/5] selftests/bpf: silence clang compilation warnings Yonghong Song
2021-04-11 11:12   ` Sedat Dilek
2021-04-11 17:40     ` Yonghong Song
2021-04-10 16:49 ` [PATCH bpf-next 5/5] bpftool: fix a clang compilation warning Yonghong Song
2021-04-11 11:05   ` Sedat Dilek
2021-04-11 17:24     ` Yonghong Song
2021-04-10 17:23 ` [PATCH bpf-next 0/5] support build selftests/bpf with clang Alexei Starovoitov
2021-04-10 17:38   ` Yonghong Song
2021-04-10 19:19 ` Sedat Dilek
2021-04-11 16:46   ` Yonghong Song

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b161ef91-8f3b-9f09-660e-69ee33982334@fb.com \
    --to=yhs@fb.com \
    --cc=andrii@kernel.org \
    --cc=arnaldo.melo@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=kernel-team@fb.com \
    --cc=ndesaulniers@google.com \
    --cc=sedat.dilek@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.