RFR: JDK-8081692 Configure should verify that -fstack-protector is valid
David Holmes
david.holmes at oracle.com
Thu Jun 4 05:41:40 UTC 2015
Magnus,
You missed the hotspot side of this:
./solaris/makefiles/gcc.make: DEBUG_CFLAGS += -fstack-protector-all
--param ssp-buffer-size=1
./bsd/makefiles/gcc.make: DEBUG_CFLAGS += -fstack-protector-all
--param ssp-buffer-size=1
./linux/makefiles/gcc.make: DEBUG_CFLAGS += -fstack-protector-all
--param ssp-buffer-size=1
David
On 3/06/2015 10:33 PM, Magnus Ihse Bursie wrote:
> Not all versions of gcc support -fstack-protector. We should check that
> it is accepted as an argument before adding it to the flags.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8081692
> WebRev inline:
>
> diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4
> --- a/common/autoconf/flags.m4
> +++ b/common/autoconf/flags.m4
> @@ -338,14 +338,16 @@
> # no adjustment
> ;;
> slowdebug )
> - # Add runtime stack smashing and undefined behavior checks
> - CFLAGS_DEBUG_OPTIONS="-fstack-protector-all --param
> ssp-buffer-size=1"
> - CXXFLAGS_DEBUG_OPTIONS="-fstack-protector-all --param
> ssp-buffer-size=1"
> + # Add runtime stack smashing and undefined behavior checks.
> + # Not all versions of gcc support -fstack-protector
> + STACK_PROTECTOR_CFLAG="-fstack-protector-all"
> + FLAGS_COMPILER_CHECK_ARGUMENTS([$STACK_PROTECTOR_CFLAG], [],
> [STACK_PROTECTOR_CFLAG=""])
> +
> + CFLAGS_DEBUG_OPTIONS="$STACK_PROTECTOR_CFLAG --param
> ssp-buffer-size=1"
> + CXXFLAGS_DEBUG_OPTIONS="$STACK_PROTECTOR_CFLAG --param
> ssp-buffer-size=1"
> ;;
> esac
> fi
> - AC_SUBST(CFLAGS_DEBUG_OPTIONS)
> - AC_SUBST(CXXFLAGS_DEBUG_OPTIONS)
>
> # Optimization levels
> if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
>
> The AC_SUBST removal is just a bit of cleanup, we didn't use the
> *_DEBUG_OPTIONS in the spec files, just later on when constructing
> JDK_CFLAGS.
>
> /Magnus
>
More information about the build-dev
mailing list