Re: [PATCH 2/2] kbuild: check the minimum linker version in Kconfig

From: Masahiro Yamada
Date: Sun Feb 21 2021 - 12:13:04 EST


On Tue, Feb 16, 2021 at 12:11 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> Unify the two scripts/ld-version.sh and scripts/lld-version.sh, and
> check the minimum linker version like scripts/cc-version.sh did.
>
> I tested this script for some corner cases reported in the past:
>
> - GNU ld version 2.25-15.fc23
> as reported by commit 8083013fc320 ("ld-version: Fix it on Fedora")
>
> - GNU ld (GNU Binutils) 2.20.1.20100303
> as reported by commit 0d61ed17dd30 ("ld-version: Drop the 4th and
> 5th version components")
>
> This script show an error message if the linker is too old:
>
> $ make LD=ld.lld-9
> SYNC include/config/auto.conf
> ***
> *** Linker is too old.
> *** Your LLD version: 9.0.1
> *** Minimum LLD version: 10.0.1
> ***
> scripts/Kconfig.include:50: Sorry, this linker is not supported.
> make[2]: *** [scripts/kconfig/Makefile:71: syncconfig] Error 1
> make[1]: *** [Makefile:600: syncconfig] Error 2
> make: *** [Makefile:708: include/config/auto.conf] Error 2
>
> I also moved the check for gold to this script, so gold is still rejected:
>
> $ make LD=gold
> SYNC include/config/auto.conf
> gold linker is not supported as it is not capable of linking the kernel proper.
> scripts/Kconfig.include:50: Sorry, this linker is not supported.
> make[2]: *** [scripts/kconfig/Makefile:71: syncconfig] Error 1
> make[1]: *** [Makefile:600: syncconfig] Error 2
> make: *** [Makefile:708: include/config/auto.conf] Error 2
>
> Thanks to David Laight for suggesting shell script improvements.
>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---
>

Applied to linux-kbuild.


--
Best Regards
Masahiro Yamada