[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200424051833.4om5dzimpnvegeab@google.com>
Date: Thu, 23 Apr 2020 22:18:33 -0700
From: Fangrui Song <maskray@...gle.com>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: Nick Desaulniers <ndesaulniers@...gle.com>,
Sedat Dilek <sedat.dilek@...il.com>,
Masami Hiramatsu <mhiramat@...nel.org>,
"Steven Rostedt (VMware)" <rostedt@...dmis.org>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>,
Tejun Heo <tj@...nel.org>,
Mauro Carvalho Chehab <mchehab+samsung@...nel.org>,
"Joel Fernandes (Google)" <joel@...lfernandes.org>,
Patrick Bellasi <patrick.bellasi@....com>,
Krzysztof Kozlowski <krzk@...nel.org>,
Dan Williams <dan.j.williams@...el.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
LKML <linux-kernel@...r.kernel.org>,
clang-built-linux <clang-built-linux@...glegroups.com>
Subject: Re: [RFC PATCH 1/2] kbuild: add CONFIG_LD_IS_BINUTILS
On 2020-04-24, Masahiro Yamada wrote:
>On Fri, Apr 24, 2020 at 3:44 AM Nick Desaulniers
><ndesaulniers@...gle.com> wrote:
>>
>> On Sun, Apr 19, 2020 at 6:19 AM Sedat Dilek <sedat.dilek@...il.com> wrote:
>> >
>> > This patch is currently not mandatory but a prerequisites for the second one.
>> >
>> > Folks from ClangBuiltLinux project like the combination of Clang compiler
>> > and LLD linker from LLVM project to build their Linux kernels.
>> >
>> > Sami Tolvanen <samitolvanen@...gle.com> has a patch for using LD_IS_LLD (see [1]).
>> >
>> > Documentation/process/changes.rst says and uses "binutils" that's why I called
>> > it LD_IS_BINUTILS (see [2] and [3]).
>> >
>> > The second patch will rename existing LD_VERSION to BINUTILS_VERSION to have
>> > a consistent naming convention like:
>> >
>> > 1. CC_IS_GCC and GCC_VERSION
>> > 2. CC_IS_CLANG and CLANG_VERSION
>> > 3. LD_IS_BINUTILS and BINUTILS_VERSION
>> >
>> > [1] https://github.com/samitolvanen/linux/commit/61889e01f0ed4f07a9d631f163bba6c6637bfa46
>> > [2] https://git.kernel.org/linus/tree/Documentation/process/changes.rst#n34
>> > [3] https://git.kernel.org/linus/tree/Documentation/process/changes.rst#n76
>> >
>> > Signed-off-by: Sedat Dilek <sedat.dilek@...il.com>
>>
>> Just some background on Sami's patch. Originally we were using
>> ld.gold (for LTO for Pixel 3) before moving to ld.lld (for LTO for
>> Pixel 4 and later). Not sure if Kconfig would be a better place to
>> check if gold is used, then warn? I kind of prefer the distinction
>> that binutils contains two different linkers, though if no one is
>> supporting ld.gold, and it doesn't work for the kernel, then maybe
>> that preference is moot?
>
>
>I prefer LD_IS_BFD, like this patch:
>https://lore.kernel.org/patchwork/patch/1039719/
>
>We do not need LD_IS_GOLD, though.
>
>--
>Best Regards
>Masahiro Yamada
+1 for CONFIG_LD_IS_BFD
Usually GNU ld is also installed as ld.bfd and can be referred to by -fuse-ld=bfd (GCC >= 9, or clang)
The repository binutils-gdb includes two linkers: GNU ld and GNU gold, so CONFIG_LD_IS_BINUTILS would be ambiguous.
Powered by blists - more mailing lists