Zero JVM segfaulting on linux-sparc
Severin Gehwolf
sgehwolf at redhat.com
Fri Dec 21 12:52:54 UTC 2018
Hi Adrian,
On Fri, 2018-12-21 at 13:27 +0100, John Paul Adrian Glaubitz wrote:
> Hi Severin!
>
> On 12/21/18 10:12 AM, Severin Gehwolf wrote:
> > It could be that you are hitting a GCC bug specific to linux sparc.
> > Then again, why wouldn't you hit it for a server JVM. As a temporary
> > work-around you could try this (compile without opt as prior JDK-
> > 8210425, not tested):
> >
> > 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
> > @@ -49,6 +49,15 @@
> > # by using -ffp-contract=off on GCC/Clang platforms.
> > ifneq ($(FDLIBM_CFLAGS), )
> > LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NORM)
> > + # Don't optimize fdlibm-fork for Zero on Linux spark
> > + # See JDK-XXXX
> > + ifeq ($(call check-jvm-feature, zero), true)
> > + ifeq ($(OPENJDK_TARGET_OS), linux)
> > + ifeq ($(OPENJDK_TARGET_CPU_ARCH), spark)
> > + LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NONE)
> > + endif
> > + endif
> > + endif
> > endif
>
> This indeed fixes the problem for me, with the spelling fix for "sparc" ;-).
OK. It's rather curious. What are the different flags being used?
Pre/post patch? It looks as if this happens (on Linux sparc):
Zero and '-ffp-contract=off -O2' => bad build
Zero and '-ffp-contract=off -O0' => good build
Server and '-ffp-contract=off -O2' => good build
Thanks,
Severin
More information about the hotspot-dev
mailing list