8223219: Backport of JDK-8199552 to OpenJDK 8 leads to duplicate -fstack-protector flags, overriding --with-extra-cflags jdk8u232-b01

Wed, 24 Jul 2019 03:18:35 +0100

author
andrew
date
Wed, 24 Jul 2019 03:18:35 +0100
changeset 2445
ef88239d3d16
parent 2444
abf33bbd954c
child 2446
d932feeb203d

8223219: Backport of JDK-8199552 to OpenJDK 8 leads to duplicate -fstack-protector flags, overriding --with-extra-cflags
Summary: Apply -fstack-protector to all archs and remove duplication in JDK build
Reviewed-by: sgehwolf

common/autoconf/flags.m4 file | annotate | diff | comparison | revisions
common/autoconf/generated-configure.sh file | annotate | diff | comparison | revisions
     1.1 --- a/common/autoconf/flags.m4	Wed Jul 17 21:18:48 2019 +0100
     1.2 +++ b/common/autoconf/flags.m4	Wed Jul 24 03:18:35 2019 +0100
     1.3 @@ -388,16 +388,8 @@
     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 +    LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector"
    1.18 +    LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector"
    1.19      if test "x$OPENJDK_TARGET_OS" != xmacosx; then
    1.20        LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,relro"
    1.21        LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS -Wl,-z,relro"
    1.22 @@ -456,7 +448,7 @@
    1.23    if test "x$TOOLCHAIN_TYPE" = xgcc; then
    1.24      # these options are used for both C and C++ compiles
    1.25      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \
    1.26 -        -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
    1.27 +        -pipe -fstack-protector -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
    1.28      case $OPENJDK_TARGET_CPU_ARCH in
    1.29        arm )
    1.30          # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
    1.31 @@ -465,10 +457,6 @@
    1.32        ppc )
    1.33          # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
    1.34          ;;
    1.35 -      x86 )
    1.36 -        CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer -fstack-protector"
    1.37 -        CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing -fstack-protector"
    1.38 -        ;;
    1.39        * )
    1.40          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
    1.41          CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
     2.1 --- a/common/autoconf/generated-configure.sh	Wed Jul 17 21:18:48 2019 +0100
     2.2 +++ b/common/autoconf/generated-configure.sh	Wed Jul 24 03:18:35 2019 +0100
     2.3 @@ -4376,7 +4376,7 @@
     2.4  #CUSTOM_AUTOCONF_INCLUDE
     2.5  
     2.6  # Do not change or remove the following line, it is needed for consistency checks:
     2.7 -DATE_WHEN_GENERATED=1556533111
     2.8 +DATE_WHEN_GENERATED=1560366811
     2.9  
    2.10  ###############################################################################
    2.11  #
    2.12 @@ -41432,16 +41432,8 @@
    2.13      CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
    2.14      CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
    2.15    elif test "x$TOOLCHAIN_TYPE" = xgcc; then
    2.16 -    case $OPENJDK_TARGET_CPU_ARCH in
    2.17 -    x86 )
    2.18 -      LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector"
    2.19 -      LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector"
    2.20 -      ;;
    2.21 -    x86_64 )
    2.22 -      LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector"
    2.23 -      LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector"
    2.24 -      ;;
    2.25 -    esac
    2.26 +    LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector"
    2.27 +    LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector"
    2.28      if test "x$OPENJDK_TARGET_OS" != xmacosx; then
    2.29        LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,relro"
    2.30        LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS -Wl,-z,relro"
    2.31 @@ -41552,7 +41544,7 @@
    2.32    if test "x$TOOLCHAIN_TYPE" = xgcc; then
    2.33      # these options are used for both C and C++ compiles
    2.34      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \
    2.35 -        -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
    2.36 +        -pipe -fstack-protector -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
    2.37      case $OPENJDK_TARGET_CPU_ARCH in
    2.38        arm )
    2.39          # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
    2.40 @@ -41561,10 +41553,6 @@
    2.41        ppc )
    2.42          # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
    2.43          ;;
    2.44 -      x86 )
    2.45 -        CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer -fstack-protector"
    2.46 -        CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing -fstack-protector"
    2.47 -        ;;
    2.48        * )
    2.49          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
    2.50          CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"

mercurial