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