37 OPT_CFLAGS/SLOWER = -xO2 38 39 # Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876) 40 ifeq ($(COMPILER_REV_NUMERIC), 509) 41 # To avoid jvm98 crash 42 OPT_CFLAGS/instanceKlass.o = $(OPT_CFLAGS/SLOWER) 43 # Not clear this workaround could be skipped in some cases. 44 OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) 45 OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) 46 OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER) 47 endif 48 49 ifeq ($(COMPILER_REV_NUMERIC), 505) 50 # CC 5.5 has bug 4908364 with -xO4 (Fixed in 5.6) 51 OPT_CFLAGS/library_call.o = $(OPT_CFLAGS/SLOWER) 52 endif # COMPILER_REV_NUMERIC == 505 53 54 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \<= 504), 1) 55 # Compilation of *_<arch>.cpp can take an hour or more at O3. Use O2 56 # See comments at top of sparc.make. 57 OPT_CFLAGS/ad_$(Platform_arch).o = $(OPT_CFLAGS/SLOWER) 58 OPT_CFLAGS/dfa_$(Platform_arch).o = $(OPT_CFLAGS/SLOWER) 59 endif # COMPILER_REV_NUMERIC <= 504 60 61 ifeq (${COMPILER_REV_NUMERIC}, 500) 62 # Avoid a compiler bug caused by using -xO<level> -g<level> 63 # Since the bug also occurs with -xO0, use an innocuous value (must not be null) 64 OPT_CFLAGS/c1_LIROptimizer_i486.o = -c 65 endif 66 67 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \< 505), 1) 68 # Same problem with Solaris/x86 compiler (both 5.0 and 5.2) on ad_i486.cpp. 69 # CC build time is also too long for ad_i486_{gen,misc}.o 70 OPT_CFLAGS/ad_i486.o = -c 71 OPT_CFLAGS/ad_i486_gen.o = -c 72 OPT_CFLAGS/ad_i486_misc.o = -c 73 ifeq ($(Platform_arch), i486) 74 # Same problem for the wrapper roosts: jni.o jvm.o 75 OPT_CFLAGS/jni.o = -c 76 OPT_CFLAGS/jvm.o = -c 77 # Same problem in parse2.o (probably the Big Switch over bytecodes) 78 OPT_CFLAGS/parse2.o = -c 79 endif # Platform_arch == i486 80 endif 81 82 # Frame size > 100k if we allow inlining via -g0! 83 DEBUG_CFLAGS/bytecodeInterpreter.o = -g 84 DEBUG_CFLAGS/bytecodeInterpreterWithChecks.o = -g 85 ifeq ($(Platform_arch), i486) 86 # ube explodes on x86 87 OPT_CFLAGS/bytecodeInterpreter.o = -xO1 88 OPT_CFLAGS/bytecodeInterpreterWithChecks.o = -xO1 89 endif # Platform_arch == i486 90 91 endif # Platform_compiler == sparcWorks 92 93 # Workaround for a bug in dtrace. If ciEnv::post_compiled_method_load_event() 94 # is inlined, the resulting dtrace object file needs a reference to this 95 # function, whose symbol name is too long for dtrace. So disable inlining 96 # for this method for now. (fix this when dtrace bug 6258412 is fixed) 97 OPT_CFLAGS/ciEnv.o = $(OPT_CFLAGS) -xinline=no%__1cFciEnvbFpost_compiled_method_load_event6MpnHnmethod__v_ 98 99 100 # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files) 101 102 # If you set HOTSPARC_GENERIC=yes, you disable all OPT_CFLAGS settings 103 CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE) 104 105 # Set the environment variable HOTSPARC_GENERIC to "true" 106 # to inhibit the effect of the previous line on CFLAGS. 107 108 # The following lines are copied from debug.make, except that we 109 # consult FASTDEBUG_CFLAGS instead of DEBUG_CFLAGS. | 37 OPT_CFLAGS/SLOWER = -xO2 38 39 # Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876) 40 ifeq ($(COMPILER_REV_NUMERIC), 509) 41 # To avoid jvm98 crash 42 OPT_CFLAGS/instanceKlass.o = $(OPT_CFLAGS/SLOWER) 43 # Not clear this workaround could be skipped in some cases. 44 OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) 45 OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) 46 OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER) 47 endif 48 49 ifeq ($(COMPILER_REV_NUMERIC), 505) 50 # CC 5.5 has bug 4908364 with -xO4 (Fixed in 5.6) 51 OPT_CFLAGS/library_call.o = $(OPT_CFLAGS/SLOWER) 52 endif # COMPILER_REV_NUMERIC == 505 53 54 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \<= 504), 1) 55 # Compilation of *_<arch>.cpp can take an hour or more at O3. Use O2 56 # See comments at top of sparc.make. 57 OPT_CFLAGS/ad_$(Platform_arch_model).o = $(OPT_CFLAGS/SLOWER) 58 OPT_CFLAGS/dfa_$(Platform_arch_model).o = $(OPT_CFLAGS/SLOWER) 59 endif # COMPILER_REV_NUMERIC <= 504 60 61 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \< 505), 1) 62 # Same problem with Solaris/x86 compiler (both 5.0 and 5.2) on ad_x86_{32,64}.cpp. 63 # CC build time is also too long for ad_$(Platform_arch_model)_{gen,misc}.o 64 OPT_CFLAGS/ad_$(Platform_arch_model).o = -c 65 OPT_CFLAGS/ad_$(Platform_arch_model)_gen.o = -c 66 OPT_CFLAGS/ad_$(Platform_arch_model)_misc.o = -c 67 ifeq ($(Platform_arch), x86) 68 # Same problem for the wrapper roosts: jni.o jvm.o 69 OPT_CFLAGS/jni.o = -c 70 OPT_CFLAGS/jvm.o = -c 71 # Same problem in parse2.o (probably the Big Switch over bytecodes) 72 OPT_CFLAGS/parse2.o = -c 73 endif # Platform_arch == x86 74 endif 75 76 # Frame size > 100k if we allow inlining via -g0! 77 DEBUG_CFLAGS/bytecodeInterpreter.o = -g 78 DEBUG_CFLAGS/bytecodeInterpreterWithChecks.o = -g 79 ifeq ($(Platform_arch), x86) 80 # ube explodes on x86 81 OPT_CFLAGS/bytecodeInterpreter.o = -xO1 82 OPT_CFLAGS/bytecodeInterpreterWithChecks.o = -xO1 83 endif # Platform_arch == x86 84 85 endif # Platform_compiler == sparcWorks 86 87 # Workaround for a bug in dtrace. If ciEnv::post_compiled_method_load_event() 88 # is inlined, the resulting dtrace object file needs a reference to this 89 # function, whose symbol name is too long for dtrace. So disable inlining 90 # for this method for now. (fix this when dtrace bug 6258412 is fixed) 91 OPT_CFLAGS/ciEnv.o = $(OPT_CFLAGS) -xinline=no%__1cFciEnvbFpost_compiled_method_load_event6MpnHnmethod__v_ 92 93 94 # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files) 95 96 # If you set HOTSPARC_GENERIC=yes, you disable all OPT_CFLAGS settings 97 CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE) 98 99 # Set the environment variable HOTSPARC_GENERIC to "true" 100 # to inhibit the effect of the previous line on CFLAGS. 101 102 # The following lines are copied from debug.make, except that we 103 # consult FASTDEBUG_CFLAGS instead of DEBUG_CFLAGS. |