Tentatively apply D23691, which takes LINKER_FREEBSD_VERSION from the

numerical field after the dash.  This avoids re-bootstrapping of the
linker, when only the git commit hash changes.
This commit is contained in:
Dimitry Andric
2020-02-15 14:53:26 +00:00
parent ef1c128c05
commit c246b3930d
2 changed files with 7 additions and 4 deletions
+2 -1
View File
@@ -272,9 +272,10 @@ WANT_LINKER_TYPE=
!make(test-system-compiler)
.if ${WANT_LINKER_TYPE} == "lld"
WANT_LINKER_FREEBSD_VERSION_FILE= lib/clang/include/VCSVersion.inc
WANT_LINKER_FREEBSD_VERSION!= \
_WANT_LINKER_FREEBSD_VERSION!= \
awk '$$2 == "LLD_REVISION" {gsub(/"/, "", $$3); print $$3}' \
${SRCDIR}/${WANT_LINKER_FREEBSD_VERSION_FILE} || echo unknown
WANT_LINKER_FREEBSD_VERSION=${_WANT_LINKER_FREEBSD_VERSION:C/.*-(.*)/\1/}
WANT_LINKER_VERSION_FILE= lib/clang/include/lld/Common/Version.inc
WANT_LINKER_VERSION!= \
awk '$$2 == "LLD_VERSION" {split($$3, a, "."); print a[1] * 10000 + a[2] * 100 + a[3]}' \
+5 -3
View File
@@ -69,9 +69,11 @@ _v= ${_ld_version:M[1-9]*.[0-9]*:[1]}
.elif ${_ld_version:[1]} == "LLD"
${X_}LINKER_TYPE= lld
_v= ${_ld_version:[2]}
${X_}LINKER_FREEBSD_VERSION!= \
${${ld}} --version | \
awk '$$3 ~ /FreeBSD/ {print substr($$4, 1, length($$4)-1)}'
.if ${_ld_version:[3]} == "(FreeBSD"
${X_}LINKER_FREEBSD_VERSION:= ${_ld_version:[4]:C/.*-(.*)\)/\1/}
.else
${X_}LINKER_FREEBSD_VERSION= 0
.endif
.else
.warning Unknown linker from ${ld}=${${ld}}: ${_ld_version}, defaulting to bfd
${X_}LINKER_TYPE= bfd