Re: [PATCH v4 1/5] kbuild: add CONFIG_LD_IS_LLD

From: Sedat Dilek
Date: Wed Apr 29 2020 - 03:13:56 EST


On Wed, Apr 29, 2020 at 12:14 AM Nathan Chancellor
<natechancellor@xxxxxxxxx> wrote:
>
> From: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
>
> Similarly to the CC_IS_CLANG config, add LD_IS_LLD to avoid GNU ld
> specific logic such as ld-version or ld-ifversion and gain the
> ability to select potential features that depend on the linker at
> configuration time such as LTO.
>
> Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
> Acked-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> [nc: Reword commit message]
> Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>

Tested-by: Sedat Dilek <sedat.dilek@xxxxxxxxx>
Reviewed-by: Sedat Dilek <sedat.dilek@xxxxxxxxx>

Testing on Debian/testing AMD64 (since Linux v5.3):
#1: LLVM/Clang/LLD version 9.0 and 10.0
#2: Debian's GCC 9.3 with ld.lld-9 and ld.lld-10

I am linking my Linux-kernels with ld.lld despite there are issues -
then check with ld.bfd.

- Sedat -

> ---
>
> v3 -> v4:
>
> * No changes.
>
> v2 -> v3:
>
> * Add Masahiro's ack.
>
> v1 -> v2:
>
> * No changes.
>
> Sami, please scream if you are unhappy with how I worded this commit.
>
> init/Kconfig | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/init/Kconfig b/init/Kconfig
> index 9e22ee8fbd75e..c15ee42b82726 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -23,6 +23,9 @@ config LD_VERSION
> config CC_IS_CLANG
> def_bool $(success,$(CC) --version | head -n 1 | grep -q clang)
>
> +config LD_IS_LLD
> + def_bool $(success,$(LD) -v | head -n 1 | grep -q LLD)
> +
> config CLANG_VERSION
> int
> default $(shell,$(srctree)/scripts/clang-version.sh $(CC))
>
> base-commit: 96c9a7802af7d500a582d89a8b864584fe878c1b
> --
> 2.26.2
>