OpenJDK / portola / portola
changeset 54970:7e5e0b326ed7
8130017: use _FORTIFY_SOURCE in gcc fastdebug builds
Reviewed-by: erikj
author | mbaesken |
---|---|
date | Tue, 14 May 2019 10:21:55 +0200 |
parents | 8c63164bd540 |
children | 8c977741c3c8 |
files | make/autoconf/flags-cflags.m4 test/fmw/gtest/src/gtest.cc |
diffstat | 2 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/make/autoconf/flags-cflags.m4 Mon May 20 14:42:32 2019 +0530 +++ b/make/autoconf/flags-cflags.m4 Tue May 14 10:21:55 2019 +0200 @@ -300,6 +300,20 @@ C_O_FLAG_DEBUG="-O0" C_O_FLAG_DEBUG_JVM="-O0" C_O_FLAG_NONE="-O0" + # -D_FORTIFY_SOURCE=2 hardening option needs optimization (at least -O1) enabled + # set for lower O-levels -U_FORTIFY_SOURCE to overwrite previous settings + if test "x$OPENJDK_TARGET_OS" = xlinux -a "x$DEBUG_LEVEL" = "xfastdebug"; then + ENABLE_FORTIFY_CFLAGS="-D_FORTIFY_SOURCE=2" + DISABLE_FORTIFY_CFLAGS="-U_FORTIFY_SOURCE" + C_O_FLAG_HIGHEST_JVM="${C_O_FLAG_HIGHEST_JVM} ${ENABLE_FORTIFY_CFLAGS}" + C_O_FLAG_HIGHEST="${C_O_FLAG_HIGHEST} ${ENABLE_FORTIFY_CFLAGS}" + C_O_FLAG_HI="${C_O_FLAG_HI} ${ENABLE_FORTIFY_CFLAGS}" + C_O_FLAG_NORM="${C_O_FLAG_NORM} ${ENABLE_FORTIFY_CFLAGS}" + C_O_FLAG_SIZE="${C_O_FLAG_SIZE} ${DISABLE_FORTIFY_CFLAGS}" + C_O_FLAG_DEBUG="${C_O_FLAG_DEBUG} ${DISABLE_FORTIFY_CFLAGS}" + C_O_FLAG_DEBUG_JVM="${C_O_FLAG_DEBUG_JVM} ${DISABLE_FORTIFY_CFLAGS}" + C_O_FLAG_NONE="${C_O_FLAG_NONE} ${DISABLE_FORTIFY_CFLAGS}" + fi elif test "x$TOOLCHAIN_TYPE" = xclang; then if test "x$OPENJDK_TARGET_OS" = xmacosx; then # On MacOSX we optimize for size, something
--- a/test/fmw/gtest/src/gtest.cc Mon May 20 14:42:32 2019 +0530 +++ b/test/fmw/gtest/src/gtest.cc Tue May 14 10:21:55 2019 +0200 @@ -34,6 +34,7 @@ #include "gtest/internal/custom/gtest.h" #include "gtest/gtest-spi.h" +#include <assert.h> #include <ctype.h> #include <math.h> #include <stdarg.h> @@ -4388,7 +4389,8 @@ // errors are ignored as there's nothing better we can do and we // don't want to fail the test because of this. FILE* pfile = posix::FOpen(premature_exit_filepath, "w"); - fwrite("0", 1, 1, pfile); + size_t cnt= fwrite("0", 1, 1, pfile); + assert(cnt == (size_t)1); fclose(pfile); } }