Skip to content

Commit b464213

Browse files
Eric Liunick-arm
Eric Liu
authored andcommittedOct 13, 2020
8252407: Build failure with gcc-8+ and asan
Reviewed-by: ihse, kbarrett
1 parent 2a4328b commit b464213

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed
 

‎make/autoconf/flags-cflags.m4

+7-1
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,14 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
231231
# -D_FORTIFY_SOURCE=2 hardening option needs optimization (at least -O1) enabled
232232
# set for lower O-levels -U_FORTIFY_SOURCE to overwrite previous settings
233233
if test "x$OPENJDK_TARGET_OS" = xlinux -a "x$DEBUG_LEVEL" = "xfastdebug"; then
234-
ENABLE_FORTIFY_CFLAGS="-D_FORTIFY_SOURCE=2"
235234
DISABLE_FORTIFY_CFLAGS="-U_FORTIFY_SOURCE"
235+
# ASan doesn't work well with _FORTIFY_SOURCE
236+
# See https://github.com/google/sanitizers/wiki/AddressSanitizer#faq
237+
if test "x$ASAN_ENABLED" = xyes; then
238+
ENABLE_FORTIFY_CFLAGS="${DISABLE_FORTIFY_CFLAGS}"
239+
else
240+
ENABLE_FORTIFY_CFLAGS="-D_FORTIFY_SOURCE=2"
241+
fi
236242
C_O_FLAG_HIGHEST_JVM="${C_O_FLAG_HIGHEST_JVM} ${ENABLE_FORTIFY_CFLAGS}"
237243
C_O_FLAG_HIGHEST="${C_O_FLAG_HIGHEST} ${ENABLE_FORTIFY_CFLAGS}"
238244
C_O_FLAG_HI="${C_O_FLAG_HI} ${ENABLE_FORTIFY_CFLAGS}"

‎make/autoconf/jdk-options.m4

+4-1
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,10 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
423423
fi
424424
],
425425
IF_ENABLED: [
426-
ASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer"
426+
# ASan is simply incompatible with gcc -Wstringop-truncation. See
427+
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85650
428+
# It's harmless to be suppressed in clang as well.
429+
ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer"
427430
ASAN_LDFLAGS="-fsanitize=address"
428431
JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
429432
JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"

0 commit comments

Comments
 (0)
Failed to load comments.