common/autoconf/flags.m4

changeset 2375
10c71c9fba23
parent 2325
a5b23c21a665
parent 2373
2c9ec0970599
child 2401
7d134528324e
     1.1 --- a/common/autoconf/flags.m4	Fri Nov 30 12:04:19 2018 +0000
     1.2 +++ b/common/autoconf/flags.m4	Wed Dec 05 11:26:37 2018 +0000
     1.3 @@ -388,6 +388,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 @@ -450,6 +464,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