Re: [PATCH 1/4] init/Kconfig: add config support for detecting linker

From: Mathieu Desnoyers
Date: Thu Feb 07 2019 - 19:57:24 EST



----- ndesaulniers@xxxxxxxxxx wrote:
> Similar to how we differentiate between CONFIG_CC_IS_GCC and
> CONFIG_CC_IS_CLANG, add CONFIG_LD_IS_BFD, CONFIG_LD_IS_GOLD, and
> CONFIG_LD_IS_LLD.
>
> This simiplifies patches to Makefiles that need to do different things
> for different linkers.

What guarantees that the linker used for e.g. make defconfig is the same linker used for make ?

Is it required with this patch ?

How does it work in a cross compile environment ?

Thanks,

Mathieu


>
> Cc: Nathan Chancellor <natechancellor@xxxxxxxxx>
> Cc: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
> Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> ---
> init/Kconfig | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/init/Kconfig b/init/Kconfig
> index c9386a365eea..b6046dcf7794 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -26,6 +26,15 @@ config CLANG_VERSION
> config CC_HAS_ASM_GOTO
> def_bool $(success,$(srctree)/scripts/gcc-goto.sh $(CC))
>
> +config LD_IS_BFD
> + def_bool $(success,$(LD) --version | head -n 1 | grep -q 'GNU ld')
> +
> +config LD_IS_GOLD
> + def_bool $(success,$(LD) --version | head -n 1 | grep -q 'GNU gold')
> +
> +config LD_IS_LLD
> + def_bool $(success,$(LD) --version | head -n 1 | grep -q 'LLD')
> +
> config CONSTRUCTORS
> bool
> depends on !UML
> --
> 2.20.1.791.gb4d0f1c61a-goog
>

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com