Severin, Your patch looks good to me. I'm assuming you have tested that nothing breaks.
/Magnus > 13 sep. 2018 kl. 10:43 skrev Severin Gehwolf <sgehw...@redhat.com>: > > Hi Erik, > >> On Wed, 2018-09-12 at 10:25 -0700, Erik Joelsson wrote: >> Hello, >> >> I very much doubt it was included with the new build system. We were >> extremely careful to use the exact same flags then, and did binary >> comparisons of all object files to verify equal builds. >> >> Tracing back, it was caused (probably unintentionally) by this change: >> >> http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/e796d52ca85b > > Thanks for the detective work! This looks very much unintentional to me > as JDK-8114853 is about silencing a note. > >> In the old build, setting OPT_CFLAGS/<file> overrides the common >> OPT_CFLAGS. In the new build, we have a more general way of adding flags >> for specific files that does not directly override any other flags. To >> get the same behavior for vmStructs.cpp in the new build as in the old >> at the time of the switch, we had to add -O0 explicitly in the new build. > > I've filed JDK-8210703 and posting this patch as review for the bug. > Note I've changed the subject. Does this look OK? > > diff --git a/make/hotspot/lib/JvmOverrideFiles.gmk > b/make/hotspot/lib/JvmOverrideFiles.gmk > --- a/make/hotspot/lib/JvmOverrideFiles.gmk > +++ b/make/hotspot/lib/JvmOverrideFiles.gmk > @@ -30,7 +30,7 @@ > # status for individual files on specific platforms. > > ifeq ($(TOOLCHAIN_TYPE), gcc) > - BUILD_LIBJVM_vmStructs.cpp_CXXFLAGS := -fno-var-tracking-assignments -O0 > + BUILD_LIBJVM_vmStructs.cpp_CXXFLAGS := -fno-var-tracking-assignments > BUILD_LIBJVM_jvmciCompilerToVM.cpp_CXXFLAGS := -fno-var-tracking-assignments > BUILD_LIBJVM_jvmciCompilerToVMInit.cpp_CXXFLAGS := > -fno-var-tracking-assignments > BUILD_LIBJVM_assembler_x86.cpp_CXXFLAGS := -Wno-maybe-uninitialized > > Thanks, > Severin > > On 2018-09-12 09:13, Severin Gehwolf wrote: >>> Hi, >>> >>> Does anybody know why vmStructs.cpp gets an override in >>> JvmOverrideFiles.gmk: >>> >>> $ grep -C3 -n vmStructs.cpp make/hotspot/lib/JvmOverrideFiles.gmk >>> 30-# status for individual files on specific platforms. >>> 31- >>> 32-ifeq ($(TOOLCHAIN_TYPE), gcc) >>> 33: BUILD_LIBJVM_vmStructs.cpp_CXXFLAGS := -fno-var-tracking-assignments >>> -O0 >>> 34- BUILD_LIBJVM_jvmciCompilerToVM.cpp_CXXFLAGS := >>> -fno-var-tracking-assignments >>> 35- BUILD_LIBJVM_jvmciCompilerToVMInit.cpp_CXXFLAGS := >>> -fno-var-tracking-assignments >>> 36- BUILD_LIBJVM_assembler_x86.cpp_CXXFLAGS := -Wno-maybe-uninitialized >>> >>> It seems to have been introduced with the new build system. JDK 8 >>> doesn't seem to have it. Thoughts? >>> >>> Thanks, >>> Severin >