[9] Fix for JDK-8032045 breaks fastdebug/slowdebug builds on Linux (Fedora 20)

Severin Gehwolf sgehwolf at redhat.com
Mon Aug 4 11:33:09 UTC 2014


Hi,

Vanilla debug builds of the hs-comp tree[1] fails for me on Fedora 20
with glibc-headers version 2.18. Release builds work fine. Any
"slowdebug" or "fastdebug" build of an openjdk 9 tree, however, fail
with:

/usr/bin/g++ -DLINUX -D_GNU_SOURCE -DAMD64 -DASSERT -I.
-I/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/prims -I/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm -I/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/precompiled -I/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/cpu/x86/vm -I/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/os_cpu/linux_x86/vm -I/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/os/linux/vm -I/home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/os/posix/vm -I../generated '-DHOTSPOT_BUILD_USER="sgehwolf"' '-DHOTSPOT_LIB_ARCH="amd64"' '-DHOTSPOT_VM_DISTRO="OpenJDK"' -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_x86 -DTARGET_ARCH_MODEL_x86_64 -DTARGET_OS_ARCH_linux_x86 -DTARGET_OS_ARCH_MODEL_linux_x86_64 -DTARGET_COMPILER_gcc -DCOMPILER2 -DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -fvisibility=hidden -m64 -pipe -fno-strict-aliasing -g -fno-omit-frame-pointer -O0 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-all --param ssp-buffer-size=1 -D_NMT_NOINLINE_ -DVM_LITTLE_ENDIAN -D_LP64=1 -Werror -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -DDTRACE_ENABLED -c -MMD -MP -MF ../generated/dependencies/precompiled.hpp.gch.d -fpch-deps -x c++-header /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/precompiled/precompiled.hpp -o precompiled.hpp.gch

In file included from /usr/include/stdio.h:27:0,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/prims/jni.h:39,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/utilities/globalDefinitions.hpp:33,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/utilities/debug.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/runtime/globals.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/memory/allocation.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/memory/iterator.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/memory/genOopClosures.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/oops/klass.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/runtime/handles.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/memory/universe.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/code/oopRecorder.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/asm/codeBuffer.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/asm/assembler.hpp:28,

 from /home/sgehwolf/Documents/openjdk/upstream-sources/openjdk9-dev-hs-comp/hotspot/src/share/vm/precompiled/precompiled.hpp:29:
/usr/include/features.h:327:4: error: #warning _FORTIFY_SOURCE requires
compiling with optimization (-O) [-Werror=cpp]
 #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
    ^
cc1plus: all warnings being treated as errors

It appears the change which introduced this was:
http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/d8d7bf7dcaba

Related bug is:
https://bugs.openjdk.java.net/browse/JDK-8032045

I see this in /usr/include/features.h around line 327:

#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0
# if !defined __OPTIMIZE__ || __OPTIMIZE__ <= 0
#  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
# elif !__GNUC_PREREQ (4, 1)

The GCC version used for building is 4.8.3. It seems line 374 in
make/linux/makefiles/gcc.make is breaking F20 debug builds.

Thoughts?

Thanks,
Severin

[1] http://hg.openjdk.java.net/jdk9/hs-comp



More information about the hotspot-dev mailing list