23 # |
23 # |
24 |
24 |
25 # Sets make macros for making debug version of VM |
25 # Sets make macros for making debug version of VM |
26 |
26 |
27 # Compiler specific DEBUG_CFLAGS are passed in from gcc.make, sparcWorks.make |
27 # Compiler specific DEBUG_CFLAGS are passed in from gcc.make, sparcWorks.make |
28 # They may also specify FASTDEBUG_CFLAGS, but it defaults to DEBUG_FLAGS. |
28 # They may also specify FASTDEBUG_CFLAGS, but it defaults to DEBUG_CFLAGS. |
29 |
29 |
30 FASTDEBUG_CFLAGS$(FASTDEBUG_CFLAGS) = $(DEBUG_CFLAGS) |
30 FASTDEBUG_CFLAGS$(FASTDEBUG_CFLAGS) = $(DEBUG_CFLAGS) |
31 |
31 |
32 # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make |
32 # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make |
33 OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) |
33 OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) |
34 OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@)) |
34 OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@)) |
35 |
35 |
36 ifeq ("${Platform_compiler}", "sparcWorks") |
36 ifeq ("${Platform_compiler}", "sparcWorks") |
37 OPT_CFLAGS/SLOWER = -xO2 |
37 OPT_CFLAGS/SLOWER = -xO2 |
38 ifeq ($(shell expr $(COMPILER_REV) \>= 5.5), 1) |
38 |
39 # CC 5.5 has bug 4908364 with -xO4 |
39 # Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876) |
|
40 ifeq ($(COMPILER_REV), 5.9) |
|
41 # Not clear this workaround could be skipped in some cases. |
|
42 OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) |
|
43 OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) |
|
44 OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER) |
|
45 endif |
|
46 |
|
47 ifeq ($(COMPILER_REV), 5.5) |
|
48 # CC 5.5 has bug 4908364 with -xO4 (Fixed in 5.6) |
40 OPT_CFLAGS/library_call.o = $(OPT_CFLAGS/SLOWER) |
49 OPT_CFLAGS/library_call.o = $(OPT_CFLAGS/SLOWER) |
41 else # COMPILER_REV >= 5.5 |
50 endif # COMPILER_REV == 5.5 |
|
51 |
|
52 ifeq ($(shell expr $(COMPILER_REV) \<= 5.4), 1) |
42 # Compilation of *_<arch>.cpp can take an hour or more at O3. Use O2 |
53 # Compilation of *_<arch>.cpp can take an hour or more at O3. Use O2 |
43 # See comments at top of sparc.make. |
54 # See comments at top of sparc.make. |
44 OPT_CFLAGS/ad_$(Platform_arch).o = $(OPT_CFLAGS/SLOWER) |
55 OPT_CFLAGS/ad_$(Platform_arch).o = $(OPT_CFLAGS/SLOWER) |
45 OPT_CFLAGS/dfa_$(Platform_arch).o = $(OPT_CFLAGS/SLOWER) |
56 OPT_CFLAGS/dfa_$(Platform_arch).o = $(OPT_CFLAGS/SLOWER) |
46 endif # COMPILER_REV >= 5.5 |
57 endif # COMPILER_REV <= 5.4 |
47 |
58 |
48 ifeq (${COMPILER_REV}, 5.0) |
59 ifeq (${COMPILER_REV}, 5.0) |
49 # Avoid a compiler bug caused by using -xO<level> -g<level> |
60 # Avoid a compiler bug caused by using -xO<level> -g<level> |
50 # Since the bug also occurs with -xO0, use an innocuous value (must not be null) |
61 # Since the bug also occurs with -xO0, use an innocuous value (must not be null) |
51 OPT_CFLAGS/c1_LIROptimizer_i486.o = -c |
62 OPT_CFLAGS/c1_LIROptimizer_i486.o = -c |