# HG changeset patch # User jiangli # Date 1343337871 14400 # Node ID 43541217e9f73b0825d8c0e9d4c3723b0264dd4e # Parent fe94b4e7212b1f6a01ad1a0ebe0268d6781f8267 7187046: Crash in ClassFileParser on solaris-ia32 during RetransformClasses. Summary: Lower compiler optimization level when compiling jvmtiClassFileReconstituter.cpp as a workaround for the solaris x86 5.10 cc bug. Reviewed-by: kvn, coleenp diff -r fe94b4e7212b -r 43541217e9f7 make/solaris/makefiles/fastdebug.make --- a/make/solaris/makefiles/fastdebug.make Mon Jul 23 14:28:38 2012 -0700 +++ b/make/solaris/makefiles/fastdebug.make Thu Jul 26 17:24:31 2012 -0400 @@ -36,6 +36,11 @@ ifeq ("${Platform_compiler}", "sparcWorks") OPT_CFLAGS/SLOWER = -xO2 +ifeq ($(COMPILER_REV_NUMERIC), 510) +# CC 5.10 has bug XXXXX with -xO4 +OPT_CFLAGS/jvmtiClassFileReconstituter.o = $(OPT_CFLAGS/SLOWER) +endif # COMPILER_REV_NUMERIC == 510 + ifeq ($(COMPILER_REV_NUMERIC), 509) # To avoid jvm98 crash OPT_CFLAGS/instanceKlass.o = $(OPT_CFLAGS/SLOWER) diff -r fe94b4e7212b -r 43541217e9f7 make/solaris/makefiles/optimized.make --- a/make/solaris/makefiles/optimized.make Mon Jul 23 14:28:38 2012 -0700 +++ b/make/solaris/makefiles/optimized.make Thu Jul 26 17:24:31 2012 -0400 @@ -32,6 +32,11 @@ # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files) ifeq ("${Platform_compiler}", "sparcWorks") +ifeq ($(COMPILER_REV_NUMERIC), 510) +# CC 5.10 has bug XXXXX with -xO4 +OPT_CFLAGS/jvmtiClassFileReconstituter.o = $(OPT_CFLAGS/O2) +endif # COMPILER_REV_NUMERIC == 510 + ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) # dtrace cannot handle tail call optimization (6672627, 6693876) OPT_CFLAGS/jni.o = $(OPT_CFLAGS/DEFAULT) $(OPT_CCFLAGS/NO_TAIL_CALL_OPT) diff -r fe94b4e7212b -r 43541217e9f7 make/solaris/makefiles/product.make --- a/make/solaris/makefiles/product.make Mon Jul 23 14:28:38 2012 -0700 +++ b/make/solaris/makefiles/product.make Thu Jul 26 17:24:31 2012 -0400 @@ -40,6 +40,11 @@ # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files) ifeq ("${Platform_compiler}", "sparcWorks") +ifeq ($(COMPILER_REV_NUMERIC), 510) +# CC 5.10 has bug XXXXX with -xO4 +OPT_CFLAGS/jvmtiClassFileReconstituter.o = $(OPT_CFLAGS/O2) +endif # COMPILER_REV_NUMERIC == 510 + ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) # dtrace cannot handle tail call optimization (6672627, 6693876) OPT_CFLAGS/jni.o = $(OPT_CFLAGS/DEFAULT) $(OPT_CCFLAGS/NO_TAIL_CALL_OPT)