RFR: JDK-8129395 Configure should verify that -fstack-protector is valid - take 2
David Holmes
david.holmes at oracle.com
Fri Feb 5 12:25:30 UTC 2016
Hi Magnus,
This seems reasonable. The proof of course is in the testing.
Thanks,
David
On 5/02/2016 8:48 PM, Magnus Ihse Bursie wrote:
> A previous fix to check if -fstack-protector is accepted by gcc failed,
> since when testing the option, gcc emitted a warning and not an error.
>
> The one thing I'm thinking here about is if the ssp-buffer-size option
> should be more tightly coupled with the -fstack-protector flag. It does
> not harm to have it without the -f flag, but it seems a bit funny.
> Opinions?
>
> I also noted that this flag is added to CFLAGS_DEBUG_OPTIONS. This means
> that it only gets activated if we generate debug symbols. For Oracle
> builds we always do so it doesn't really matter, but I'd say that it's
> technically incorrect. I'd rather not fix that now, though, but save it
> for the upcoming and long overdue cleanup of flags handling.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8129395
> Patch inline:
> diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4
> --- a/common/autoconf/flags.m4
> +++ b/common/autoconf/flags.m4
> @@ -1,5 +1,5 @@
> #
> -# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights
> reserved.
> +# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights
> reserved.
> # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> #
> # This code is free software; you can redistribute it and/or modify it
> @@ -426,7 +426,7 @@
> # 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(ARGUMENT:
> [$STACK_PROTECTOR_CFLAG], IF_FALSE: [STACK_PROTECTOR_CFLAG=""])
> + FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$STACK_PROTECTOR_CFLAG
> -Werror], IF_FALSE: [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"
>
> /Magnus
More information about the build-dev
mailing list