Mercurial > hg > graal-jvmci-8
comparison make/solaris/makefiles/sparcWorks.make @ 1547:fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
Reviewed-by: kamg, ysr, dholmes, johnc
author | jcoomes |
---|---|
date | Tue, 18 May 2010 11:02:18 -0700 |
parents | 167c2986d91b |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1546:a00b51b2dda4 | 1547:fb1a39993f69 |
---|---|
46 $(shell $(CC) -V 2>&1 | sed -n 's/^.*[ ,\t]C[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p') | 46 $(shell $(CC) -V 2>&1 | sed -n 's/^.*[ ,\t]C[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p') |
47 | 47 |
48 # Pick which compiler is validated | 48 # Pick which compiler is validated |
49 ifeq ($(JRE_RELEASE_VER),1.6.0) | 49 ifeq ($(JRE_RELEASE_VER),1.6.0) |
50 # Validated compiler for JDK6 is SS11 (5.8) | 50 # Validated compiler for JDK6 is SS11 (5.8) |
51 VALIDATED_COMPILER_REV := 5.8 | 51 VALIDATED_COMPILER_REVS := 5.8 |
52 VALIDATED_C_COMPILER_REV := 5.8 | 52 VALIDATED_C_COMPILER_REVS := 5.8 |
53 else | 53 else |
54 # Validated compiler for JDK7 is SS12 (5.9) | 54 # Validated compilers for JDK7 are SS12 (5.9) or SS12 update 1 (5.10) |
55 VALIDATED_COMPILER_REV := 5.9 | 55 VALIDATED_COMPILER_REVS := 5.9 5.10 |
56 VALIDATED_C_COMPILER_REV := 5.9 | 56 VALIDATED_C_COMPILER_REVS := 5.9 5.10 |
57 endif | 57 endif |
58 | 58 |
59 # Warning messages about not using the above validated version | 59 # Warning messages about not using the above validated versions |
60 ENFORCE_COMPILER_REV${ENFORCE_COMPILER_REV} := ${VALIDATED_COMPILER_REV} | 60 ENFORCE_COMPILER_REV${ENFORCE_COMPILER_REV} := $(strip ${VALIDATED_COMPILER_REVS}) |
61 ifneq (${COMPILER_REV},${ENFORCE_COMPILER_REV}) | 61 ifeq ($(filter ${ENFORCE_COMPILER_REV},${COMPILER_REV}),) |
62 dummy_target_to_enforce_compiler_rev:=\ | 62 PRINTABLE_CC_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_COMPILER_REV}) |
63 $(shell echo >&2 WARNING: You are using CC version ${COMPILER_REV} \ | 63 dummy_var_to_enforce_compiler_rev := $(shell \ |
64 and should be using version ${ENFORCE_COMPILER_REV}. Set ENFORCE_COMPILER_REV=${COMPILER_REV} to avoid this warning.) | 64 echo >&2 WARNING: You are using CC version ${COMPILER_REV} and \ |
65 endif | 65 should be using version ${PRINTABLE_CC_REVS}.; \ |
66 | 66 echo >&2 Set ENFORCE_COMPILER_REV=${COMPILER_REV} to avoid this \ |
67 ENFORCE_C_COMPILER_REV${ENFORCE_C_COMPILER_REV} := ${VALIDATED_C_COMPILER_REV} | 67 warning.) |
68 ifneq (${C_COMPILER_REV},${ENFORCE_C_COMPILER_REV}) | 68 endif |
69 dummy_target_to_enforce_c_compiler_rev:=\ | 69 |
70 $(shell echo >&2 WARNING: You are using cc version ${C_COMPILER_REV} \ | 70 ENFORCE_C_COMPILER_REV${ENFORCE_C_COMPILER_REV} := $(strip ${VALIDATED_C_COMPILER_REVS}) |
71 and should be using version ${ENFORCE_C_COMPILER_REV}. Set ENFORCE_C_COMPILER_REV=${C_COMPILER_REV} to avoid this warning.) | 71 ifeq ($(filter ${ENFORCE_C_COMPILER_REV},${C_COMPILER_REV}),) |
72 PRINTABLE_C_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_C_COMPILER_REV}) | |
73 dummy_var_to_enforce_c_compiler_rev := $(shell \ | |
74 echo >&2 WARNING: You are using cc version ${C_COMPILER_REV} and \ | |
75 should be using version ${PRINTABLE_C_REVS}.; \ | |
76 echo >&2 Set ENFORCE_C_COMPILER_REV=${C_COMPILER_REV} to avoid this \ | |
77 warning.) | |
72 endif | 78 endif |
73 | 79 |
74 COMPILER_REV_NUMERIC := $(shell echo $(COMPILER_REV) | awk -F. '{ print $$1 * 100 + $$2 }') | 80 COMPILER_REV_NUMERIC := $(shell echo $(COMPILER_REV) | awk -F. '{ print $$1 * 100 + $$2 }') |
75 | 81 |
76 # Fail the build if __fabsf is used. __fabsf exists only in Solaris 8 2/04 | 82 # Fail the build if __fabsf is used. __fabsf exists only in Solaris 8 2/04 |
137 # Use these to work around compiler bugs: | 143 # Use these to work around compiler bugs: |
138 OPT_CFLAGS/SLOWER=-xO3 | 144 OPT_CFLAGS/SLOWER=-xO3 |
139 OPT_CFLAGS/O2=-xO2 | 145 OPT_CFLAGS/O2=-xO2 |
140 OPT_CFLAGS/NOOPT=-xO1 | 146 OPT_CFLAGS/NOOPT=-xO1 |
141 | 147 |
148 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) | |
149 ifeq ($(Platform_arch), x86) | |
150 OPT_CFLAGS/NO_TAIL_CALL_OPT = -Wu,-O~yz | |
151 OPT_CCFLAGS/NO_TAIL_CALL_OPT = -Qoption ube -O~yz | |
152 endif # Platform_arch == x86 | |
153 endif # COMPILER_REV_NUMERIC >= 509 | |
154 | |
142 ################################################# | 155 ################################################# |
143 # Begin current (>=5.6) Forte compiler options # | 156 # Begin current (>=5.6) Forte compiler options # |
144 ################################################# | 157 ################################################# |
145 | 158 |
146 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 506), 1) | 159 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 506), 1) |
179 | 192 |
180 endif # sparc | 193 endif # sparc |
181 | 194 |
182 ifeq ("${Platform_arch_model}", "x86_32") | 195 ifeq ("${Platform_arch_model}", "x86_32") |
183 | 196 |
184 OPT_CFLAGS=-xtarget=pentium $(EXTRA_OPT_CFLAGS) | 197 OPT_CFLAGS=-xtarget=pentium -xO4 $(EXTRA_OPT_CFLAGS) |
185 | |
186 # UBE (CC 5.5) has bug 4923569 with -xO4 | |
187 OPT_CFLAGS+=-xO3 | |
188 | 198 |
189 endif # 32bit x86 | 199 endif # 32bit x86 |
190 | 200 |
191 ifeq ("${Platform_arch_model}", "x86_64") | 201 ifeq ("${Platform_arch_model}", "x86_64") |
192 | 202 |
459 DEBUG_CFLAGS = -g | 469 DEBUG_CFLAGS = -g |
460 FASTDEBUG_CFLAGS = -g0 | 470 FASTDEBUG_CFLAGS = -g0 |
461 # The -g0 setting allows the C++ frontend to inline, which is a big win. | 471 # The -g0 setting allows the C++ frontend to inline, which is a big win. |
462 | 472 |
463 # Special global options for SS12 | 473 # Special global options for SS12 |
464 ifeq ($(COMPILER_REV_NUMERIC),509) | 474 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) |
465 # There appears to be multiple issues with the new Dwarf2 debug format, so | 475 # There appears to be multiple issues with the new Dwarf2 debug format, so |
466 # we tell the compiler to use the older 'stabs' debug format all the time. | 476 # we tell the compiler to use the older 'stabs' debug format all the time. |
467 # Note that this needs to be used in optimized compiles too to be 100%. | 477 # Note that this needs to be used in optimized compiles too to be 100%. |
468 # This is a workaround for SS12 (5.9) bug 6694600 | 478 # This is a workaround for SS12 (5.9) bug 6694600 |
469 CFLAGS += -xdebugformat=stabs | 479 CFLAGS += -xdebugformat=stabs |