common/autoconf/flags.m4

changeset 2373
2c9ec0970599
parent 2298
d7057bcda329
child 2375
10c71c9fba23
     1.1 --- a/common/autoconf/flags.m4	Tue Nov 27 10:22:00 2018 -0800
     1.2 +++ b/common/autoconf/flags.m4	Mon Nov 19 14:52:55 2018 -0800
     1.3 @@ -381,6 +381,20 @@
     1.4      CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
     1.5      CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
     1.6    elif test "x$TOOLCHAIN_TYPE" = xgcc; then
     1.7 +    case $OPENJDK_TARGET_CPU_ARCH in
     1.8 +    x86 )
     1.9 +      LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector"
    1.10 +      LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector"
    1.11 +      ;;
    1.12 +    x86_64 )
    1.13 +      LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector"
    1.14 +      LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector"
    1.15 +      ;;
    1.16 +    esac
    1.17 +    if test "x$OPENJDK_TARGET_OS" != xmacosx; then
    1.18 +      LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,relro"
    1.19 +      LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS -Wl,-z,relro"
    1.20 +    fi
    1.21      $2CXXSTD_CXXFLAG="-std=gnu++98"
    1.22      FLAGS_CXX_COMPILER_CHECK_ARGUMENTS([[$]$2CXXSTD_CXXFLAG -Werror],
    1.23                                         [], [$2CXXSTD_CXXFLAG=""])
    1.24 @@ -443,6 +457,10 @@
    1.25        ppc )
    1.26          # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
    1.27          ;;
    1.28 +      x86 )
    1.29 +        CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer -fstack-protector"
    1.30 +        CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing -fstack-protector"
    1.31 +        ;;
    1.32        * )
    1.33          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
    1.34          CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"

mercurial