svn commit: r332301 - in stable/11: . share/mk
Ed Maste
emaste at FreeBSD.org
Sun Apr 8 20:28:38 UTC 2018
Author: emaste
Date: Sun Apr 8 20:28:37 2018
New Revision: 332301
URL: https://svnweb.freebsd.org/changeset/base/332301
Log:
MFC r328972: add retpoline compiler and linker feature flags
These features indicate that the compiler and linker support the
retpoline speculative execution vulnerability (CVE-2017-5715)
mitigation.
Modified:
stable/11/Makefile.inc1
stable/11/share/mk/bsd.compiler.mk
stable/11/share/mk/bsd.linker.mk
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/Makefile.inc1
==============================================================================
--- stable/11/Makefile.inc1 Sun Apr 8 20:26:50 2018 (r332300)
+++ stable/11/Makefile.inc1 Sun Apr 8 20:28:37 2018 (r332301)
@@ -166,11 +166,11 @@ test-system-compiler: .PHONY
.if !defined(X_COMPILER_TYPE)
CROSSENV+= COMPILER_VERSION=${COMPILER_VERSION} \
COMPILER_TYPE=${COMPILER_TYPE} \
- COMPILER_FEATURES=${COMPILER_FEATURES} \
+ COMPILER_FEATURES="${COMPILER_FEATURES}" \
COMPILER_FREEBSD_VERSION=${COMPILER_FREEBSD_VERSION}
.else
CROSSENV+= COMPILER_VERSION=${X_COMPILER_VERSION} \
- COMPILER_FEATURES=${X_COMPILER_FEATURES} \
+ COMPILER_FEATURES="${X_COMPILER_FEATURES}" \
COMPILER_TYPE=${X_COMPILER_TYPE} \
COMPILER_FREEBSD_VERSION=${X_COMPILER_FREEBSD_VERSION}
.endif
Modified: stable/11/share/mk/bsd.compiler.mk
==============================================================================
--- stable/11/share/mk/bsd.compiler.mk Sun Apr 8 20:26:50 2018 (r332300)
+++ stable/11/share/mk/bsd.compiler.mk Sun Apr 8 20:28:37 2018 (r332301)
@@ -19,7 +19,9 @@
# COMPILER_FEATURES will contain one or more of the following, based on
# compiler support for that feature:
#
-# - c++11 : supports full (or nearly full) C++11 programming environment.
+# - c++11: supports full (or nearly full) C++11 programming environment.
+# - retpoline: supports the retpoline speculative execution vulnerability
+# mitigation.
#
# These variables with an X_ prefix will also be provided if XCC is set.
#
@@ -168,11 +170,13 @@ ${X_}COMPILER_FREEBSD_VERSION= unknown
.endif
.endif
+${X_}COMPILER_FEATURES=
.if ${${X_}COMPILER_TYPE} == "clang" || \
(${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 40800)
-${X_}COMPILER_FEATURES= c++11
-.else
-${X_}COMPILER_FEATURES=
+${X_}COMPILER_FEATURES+= c++11
+.endif
+.if ${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= 60000
+${X_}COMPILER_FEATURES+= retpoline
.endif
.else
Modified: stable/11/share/mk/bsd.linker.mk
==============================================================================
--- stable/11/share/mk/bsd.linker.mk Sun Apr 8 20:26:50 2018 (r332300)
+++ stable/11/share/mk/bsd.linker.mk Sun Apr 8 20:28:37 2018 (r332301)
@@ -12,7 +12,9 @@
# LINKER_FEATURES may contain one or more of the following, based on
# linker support for that feature:
#
-# - build-id : support for generating a Build-ID note
+# - build-id: support for generating a Build-ID note
+# - retpoline: support for generating PLT with retpoline speculative
+# execution vulnerability mitigation
#
# These variables with an X_ prefix will also be provided if XLD is set.
#
@@ -72,6 +74,9 @@ ${X_}LINKER_FEATURES+= build-id
.endif
.if ${${X_}LINKER_TYPE} != "lld" || ${${X_}LINKER_VERSION} >= 50000
${X_}LINKER_FEATURES+= filter
+.endif
+.if ${${X_}LINKER_TYPE} == "lld" && ${${X_}LINKER_VERSION} >= 60000
+${X_}LINKER_FEATURES+= retpoline
.endif
.endif
.else
More information about the svn-src-stable
mailing list