Status of building problem with GCC 6
David Holmes
david.holmes at oracle.com
Sat Jul 2 11:53:36 UTC 2016
cc'ing build-dev - don't understand why they are not part of this. The
build team now owns the hotspot build. Unfortunately Erik J. is now on
vacation for a couple of weeks.
David
On 2/07/2016 5:13 AM, Kim Barrett wrote:
>> On Jul 1, 2016, at 10:17 AM, Yasumasa Suenaga <yasuenag at gmail.com> wrote:
>> For HotSpot, I think JDK-8156980 should be fixed at first.
>> I've proposed changes as below:
>>
>> -----------
>> diff -r ba08710f3b6c make/lib/CompileJvm.gmk
>> --- a/make/lib/CompileJvm.gmk Mon Jun 27 09:35:18 2016 +0200
>> +++ b/make/lib/CompileJvm.gmk Tue Jun 28 12:10:09 2016 +0900
>> @@ -187,6 +187,11 @@
>>
>> JVM_OPTIMIZATION ?= HIGHEST_JVM
>>
>> +JVM_CXXFLAGS := $(JVM_CFLAGS)
>> +ifeq ($(TOOLCHAIN_TYPE), gcc)
>> + JVM_CXXFLAGS += -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse
>> +endif
>> +
>> ################################################################################
>> # Now set up the actual compilation of the main hotspot native library
>>
>> @@ -202,6 +207,7 @@
>> CFLAGS := $(JVM_CFLAGS), \
>> CFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
>> CXXFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
>> + CXXFLAGS := $(JVM_CXXFLAGS), \
>> vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
>> DISABLED_WARNINGS_clang := delete-non-virtual-dtor dynamic-class-memaccess \
>> empty-body format logical-op-parentheses parentheses \
>> —————
>
> Please keep in mind that my understanding of the new build system is
> pretty weak. That said, this doesn't look to me like the right way to
> fix JDK-8156980.
>
> There is already code that is supposed to deal with both the -std
> option and the additional code generation options, which seems to work
> for some of the packages that we build, but is not affecting the
> Hotspot build for some reason. Adding a completely separate way to
> deal with this just for Hotspot seems contrary to the unification
> effort that was part of the new build system.
>
> -fno-lifetime-dse is a relatively recent option, and needs to be
> conditionalized. And discussion during the review of JDK-8151841 led
> to the additional code generation options being limited to gcc6+.
> The existing code mentioned above is conditionalizing that way, except
> it's just not working for Hotspot.
>
More information about the build-dev
mailing list