28 lines
1.1 KiB
Diff
28 lines
1.1 KiB
Diff
diff --git openjdk.orig/make/autoconf/flags-cflags.m4 openjdk/make/autoconf/flags-cflags.m4
|
|
--- openjdk.orig/make/autoconf/flags-cflags.m4
|
|
+++ openjdk/make/autoconf/flags-cflags.m4
|
|
@@ -715,9 +715,21 @@
|
|
# CFLAGS PER CPU
|
|
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
|
# COMMON to gcc and clang
|
|
+ AC_MSG_CHECKING([if $1 is x86])
|
|
if test "x$FLAGS_CPU" = xx86; then
|
|
- # Force compatibility with i586 on 32 bit intel platforms.
|
|
- $1_CFLAGS_CPU="-march=i586"
|
|
+ AC_MSG_RESULT([yes])
|
|
+ AC_MSG_CHECKING([if control flow protection is enabled by additional compiler flags])
|
|
+ if echo "${EXTRA_CFLAGS}${EXTRA_CXXFLAGS}${EXTRA_ASFLAGS}" | ${GREP} -q 'fcf-protection' ; then
|
|
+ # cf-protection requires CMOV and thus i686
|
|
+ $1_CFLAGS_CPU="-march=i686"
|
|
+ AC_MSG_RESULT([yes, forcing ${$1_CFLAGS_CPU}])
|
|
+ else
|
|
+ # Force compatibility with i586 on 32 bit intel platforms.
|
|
+ $1_CFLAGS_CPU="-march=i586"
|
|
+ AC_MSG_RESULT([no, forcing ${$1_CFLAGS_CPU}])
|
|
+ fi
|
|
+ else
|
|
+ AC_MSG_RESULT([no])
|
|
fi
|
|
fi
|
|
|