If LLD was built with -DLLD_VENDOR="xyz", ld.lld --version output will prefix LLD_VENDOR. Since LLD_VENDOR can contain spaces, the LLD identifier isn't guaranteed to be $2 either.
Adjust the version checker to handle such versions of lld. Signed-off-by: Bernhard Rosenkränzer <b...@lindev.ch> --- scripts/ld-version.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/scripts/ld-version.sh b/scripts/ld-version.sh index a463273509b5..4c042a306e22 100755 --- a/scripts/ld-version.sh +++ b/scripts/ld-version.sh @@ -49,6 +49,18 @@ elif [ "$1" = LLD ]; then min_version=$lld_min_version name=LLD disp_name=LLD +elif echo "$@" |grep -q ' LLD '; then + # if LLD was built with -DLLD_VENDOR="xyz", it ld.lld --version + # says "xyz LLD [...]". Since LLD_VENDOR may contain spaces, we + # don't know the exact position of "LLD" and the version info + # at this point + while [ "$1" != "LLD" ]; do + shift + done + version=$2 + min_version=$lld_min_version + name=LLD + disp_name=LLD else echo "$orig_args: unknown linker" >&2 exit 1 -- 2.30.1