diff -r 8cd738678469 -r 2c9ec0970599 common/autoconf/flags.m4 --- a/common/autoconf/flags.m4 Tue Nov 27 10:22:00 2018 -0800 +++ b/common/autoconf/flags.m4 Mon Nov 19 14:52:55 2018 -0800 @@ -381,6 +381,20 @@ CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" elif test "x$TOOLCHAIN_TYPE" = xgcc; then + case $OPENJDK_TARGET_CPU_ARCH in + x86 ) + LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector" + LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector" + ;; + x86_64 ) + LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector" + LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector" + ;; + esac + if test "x$OPENJDK_TARGET_OS" != xmacosx; then + LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,relro" + LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS -Wl,-z,relro" + fi $2CXXSTD_CXXFLAG="-std=gnu++98" FLAGS_CXX_COMPILER_CHECK_ARGUMENTS([[$]$2CXXSTD_CXXFLAG -Werror], [], [$2CXXSTD_CXXFLAG=""]) @@ -443,6 +457,10 @@ ppc ) # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing ;; + x86 ) + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer -fstack-protector" + CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing -fstack-protector" + ;; * ) CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer" CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"