aboutsummaryrefslogtreecommitdiff
path: root/make
diff options
context:
space:
mode:
authornever <none@none>2010-05-25 13:18:49 -0700
committernever <none@none>2010-05-25 13:18:49 -0700
commit6205d1495b3b3e6cb1bc21ba81005a1ec02dba9a (patch)
tree70f6ac7389705a6d1a63d8242eda8484ab9c3600 /make
parentb334090f4d595b8b4eb8a503b1dff5ae03e17cbb (diff)
parent94e5af365ed631b2af43e3a8aa6ac68e7d55f501 (diff)
Merge
Diffstat (limited to 'make')
-rw-r--r--make/solaris/makefiles/amd64.make6
-rw-r--r--make/solaris/makefiles/fastdebug.make16
-rw-r--r--make/solaris/makefiles/i486.make19
-rw-r--r--make/solaris/makefiles/launcher.make19
-rw-r--r--make/solaris/makefiles/optimized.make11
-rw-r--r--make/solaris/makefiles/product.make11
-rw-r--r--make/solaris/makefiles/sparcWorks.make52
-rw-r--r--make/solaris/makefiles/vm.make23
8 files changed, 65 insertions, 92 deletions
diff --git a/make/solaris/makefiles/amd64.make b/make/solaris/makefiles/amd64.make
index b05414dbd..5165b25ab 100644
--- a/make/solaris/makefiles/amd64.make
+++ b/make/solaris/makefiles/amd64.make
@@ -33,14 +33,8 @@ Obj_Files += solaris_x86_64.o
#
ifeq ("${Platform_compiler}", "sparcWorks")
-# Temporary until C++ compiler is fixed
-
-# _lwp_create_interpose must have a frame
-OPT_CFLAGS/os_solaris_x86_64.o = -xO1
-
# Temporary until SS10 C++ compiler is fixed
OPT_CFLAGS/generateOptoStub.o = -xO2
-OPT_CFLAGS/thread.o = -xO2
else
diff --git a/make/solaris/makefiles/fastdebug.make b/make/solaris/makefiles/fastdebug.make
index 4edeb373f..0f8732a02 100644
--- a/make/solaris/makefiles/fastdebug.make
+++ b/make/solaris/makefiles/fastdebug.make
@@ -36,15 +36,15 @@ OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@))
ifeq ("${Platform_compiler}", "sparcWorks")
OPT_CFLAGS/SLOWER = -xO2
-# Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876)
ifeq ($(COMPILER_REV_NUMERIC), 509)
- # To avoid jvm98 crash
- OPT_CFLAGS/instanceKlass.o = $(OPT_CFLAGS/SLOWER)
- # Not clear this workaround could be skipped in some cases.
- OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER)
- OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER)
- OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER)
-endif
+# To avoid jvm98 crash
+OPT_CFLAGS/instanceKlass.o = $(OPT_CFLAGS/SLOWER)
+endif # COMPILER_NUMERIC_REV == 509
+
+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)
+endif # COMPILER_NUMERIC_REV >= 509
ifeq ($(COMPILER_REV_NUMERIC), 505)
# CC 5.5 has bug 4908364 with -xO4 (Fixed in 5.6)
diff --git a/make/solaris/makefiles/i486.make b/make/solaris/makefiles/i486.make
index 320035fd4..4dc418767 100644
--- a/make/solaris/makefiles/i486.make
+++ b/make/solaris/makefiles/i486.make
@@ -33,25 +33,6 @@ Obj_Files += solaris_x86_32.o
# Special case flags for compilers and compiler versions on i486.
#
ifeq ("${Platform_compiler}", "sparcWorks")
-
-# _lwp_create_interpose must have a frame
-OPT_CFLAGS/os_solaris_x86.o = -xO1
-else
-
-ifeq ("${Platform_compiler}", "gcc")
-# gcc
-# _lwp_create_interpose must have a frame
-OPT_CFLAGS/os_solaris_x86.o = -fno-omit-frame-pointer
-#
-else
-# error
-_JUNK2_ := $(shell echo >&2 \
- "*** ERROR: this compiler is not yet supported by this code base!")
- @exit 1
-endif
-endif
-
-ifeq ("${Platform_compiler}", "sparcWorks")
# ILD is gone as of SS11 (5.8), not supported in SS10 (5.7)
ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \< 507), 1)
#
diff --git a/make/solaris/makefiles/launcher.make b/make/solaris/makefiles/launcher.make
index bf32444c5..088d2b639 100644
--- a/make/solaris/makefiles/launcher.make
+++ b/make/solaris/makefiles/launcher.make
@@ -80,15 +80,12 @@ launcher.c:
} > $@
$(LAUNCHER): $(LAUNCHER.o) $(LIBJVM) $(LAUNCHER_MAPFILE)
+ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
+ @echo Linking launcher...
+ $(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
$(QUIETLY) \
- case "$(CFLAGS_BROWSE)" in \
- -sbfast|-xsbfast) \
- ;; \
- *) \
- echo Linking launcher...; \
- $(LINK_LAUNCHER/PRE_HOOK) \
- $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(LAUNCHER.o) $(LIBS_LAUNCHER); \
- $(LINK_LAUNCHER/POST_HOOK) \
- [ -f $(LAUNCHER_G) ] || { ln -s $@ $(LAUNCHER_G); }; \
- ;; \
- esac
+ $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(LAUNCHER.o) $(LIBS_LAUNCHER)
+ $(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
+ [ -f $(LAUNCHER_G) ] || ln -s $@ $(LAUNCHER_G)
+endif # filter -sbfast -xsbfast
+
diff --git a/make/solaris/makefiles/optimized.make b/make/solaris/makefiles/optimized.make
index d3cf526f6..d9353e11e 100644
--- a/make/solaris/makefiles/optimized.make
+++ b/make/solaris/makefiles/optimized.make
@@ -32,13 +32,10 @@ OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@))
# (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files)
ifeq ("${Platform_compiler}", "sparcWorks")
-# Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876)
-ifeq ($(COMPILER_REV_NUMERIC),509)
- # Not clear this workaround could be skipped in some cases.
- OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) -g
- OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) -g
- OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER) -g
-endif
+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)
+endif # COMPILER_NUMERIC_REV >= 509
# Workaround SS11 bug 6345274 (all platforms) (Fixed in SS11 patch and SS12)
ifeq ($(COMPILER_REV_NUMERIC),508)
diff --git a/make/solaris/makefiles/product.make b/make/solaris/makefiles/product.make
index 10c6b4568..ef32ea3e1 100644
--- a/make/solaris/makefiles/product.make
+++ b/make/solaris/makefiles/product.make
@@ -40,13 +40,10 @@ endif
# (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files)
ifeq ("${Platform_compiler}", "sparcWorks")
-# Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876)
-ifeq ($(COMPILER_REV_NUMERIC),509)
- # Not clear this workaround could be skipped in some cases.
- OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) -g
- OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) -g
- OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER) -g
-endif
+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)
+endif # COMPILER_NUMERIC_REV >= 509
# Workaround SS11 bug 6345274 (all platforms) (Fixed in SS11 patch and SS12)
ifeq ($(COMPILER_REV_NUMERIC),508)
diff --git a/make/solaris/makefiles/sparcWorks.make b/make/solaris/makefiles/sparcWorks.make
index acab51921..7b3acc797 100644
--- a/make/solaris/makefiles/sparcWorks.make
+++ b/make/solaris/makefiles/sparcWorks.make
@@ -48,27 +48,33 @@ $(shell $(CC) -V 2>&1 | sed -n 's/^.*[ ,\t]C[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p'
# Pick which compiler is validated
ifeq ($(JRE_RELEASE_VER),1.6.0)
# Validated compiler for JDK6 is SS11 (5.8)
- VALIDATED_COMPILER_REV := 5.8
- VALIDATED_C_COMPILER_REV := 5.8
+ VALIDATED_COMPILER_REVS := 5.8
+ VALIDATED_C_COMPILER_REVS := 5.8
else
- # Validated compiler for JDK7 is SS12 (5.9)
- VALIDATED_COMPILER_REV := 5.9
- VALIDATED_C_COMPILER_REV := 5.9
+ # Validated compilers for JDK7 are SS12 (5.9) or SS12 update 1 (5.10)
+ VALIDATED_COMPILER_REVS := 5.9 5.10
+ VALIDATED_C_COMPILER_REVS := 5.9 5.10
endif
-# Warning messages about not using the above validated version
-ENFORCE_COMPILER_REV${ENFORCE_COMPILER_REV} := ${VALIDATED_COMPILER_REV}
-ifneq (${COMPILER_REV},${ENFORCE_COMPILER_REV})
-dummy_target_to_enforce_compiler_rev:=\
-$(shell echo >&2 WARNING: You are using CC version ${COMPILER_REV} \
-and should be using version ${ENFORCE_COMPILER_REV}. Set ENFORCE_COMPILER_REV=${COMPILER_REV} to avoid this warning.)
+# Warning messages about not using the above validated versions
+ENFORCE_COMPILER_REV${ENFORCE_COMPILER_REV} := $(strip ${VALIDATED_COMPILER_REVS})
+ifeq ($(filter ${ENFORCE_COMPILER_REV},${COMPILER_REV}),)
+PRINTABLE_CC_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_COMPILER_REV})
+dummy_var_to_enforce_compiler_rev := $(shell \
+ echo >&2 WARNING: You are using CC version ${COMPILER_REV} and \
+ should be using version ${PRINTABLE_CC_REVS}.; \
+ echo >&2 Set ENFORCE_COMPILER_REV=${COMPILER_REV} to avoid this \
+ warning.)
endif
-ENFORCE_C_COMPILER_REV${ENFORCE_C_COMPILER_REV} := ${VALIDATED_C_COMPILER_REV}
-ifneq (${C_COMPILER_REV},${ENFORCE_C_COMPILER_REV})
-dummy_target_to_enforce_c_compiler_rev:=\
-$(shell echo >&2 WARNING: You are using cc version ${C_COMPILER_REV} \
-and should be using version ${ENFORCE_C_COMPILER_REV}. Set ENFORCE_C_COMPILER_REV=${C_COMPILER_REV} to avoid this warning.)
+ENFORCE_C_COMPILER_REV${ENFORCE_C_COMPILER_REV} := $(strip ${VALIDATED_C_COMPILER_REVS})
+ifeq ($(filter ${ENFORCE_C_COMPILER_REV},${C_COMPILER_REV}),)
+PRINTABLE_C_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_C_COMPILER_REV})
+dummy_var_to_enforce_c_compiler_rev := $(shell \
+ echo >&2 WARNING: You are using cc version ${C_COMPILER_REV} and \
+ should be using version ${PRINTABLE_C_REVS}.; \
+ echo >&2 Set ENFORCE_C_COMPILER_REV=${C_COMPILER_REV} to avoid this \
+ warning.)
endif
COMPILER_REV_NUMERIC := $(shell echo $(COMPILER_REV) | awk -F. '{ print $$1 * 100 + $$2 }')
@@ -139,6 +145,13 @@ OPT_CFLAGS/SLOWER=-xO3
OPT_CFLAGS/O2=-xO2
OPT_CFLAGS/NOOPT=-xO1
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
+ifeq ($(Platform_arch), x86)
+OPT_CFLAGS/NO_TAIL_CALL_OPT = -Wu,-O~yz
+OPT_CCFLAGS/NO_TAIL_CALL_OPT = -Qoption ube -O~yz
+endif # Platform_arch == x86
+endif # COMPILER_REV_NUMERIC >= 509
+
#################################################
# Begin current (>=5.6) Forte compiler options #
#################################################
@@ -181,10 +194,7 @@ endif # sparc
ifeq ("${Platform_arch_model}", "x86_32")
-OPT_CFLAGS=-xtarget=pentium $(EXTRA_OPT_CFLAGS)
-
-# UBE (CC 5.5) has bug 4923569 with -xO4
-OPT_CFLAGS+=-xO3
+OPT_CFLAGS=-xtarget=pentium -xO4 $(EXTRA_OPT_CFLAGS)
endif # 32bit x86
@@ -461,7 +471,7 @@ FASTDEBUG_CFLAGS = -g0
# The -g0 setting allows the C++ frontend to inline, which is a big win.
# Special global options for SS12
-ifeq ($(COMPILER_REV_NUMERIC),509)
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
# There appears to be multiple issues with the new Dwarf2 debug format, so
# we tell the compiler to use the older 'stabs' debug format all the time.
# Note that this needs to be used in optimized compiles too to be 100%.
diff --git a/make/solaris/makefiles/vm.make b/make/solaris/makefiles/vm.make
index 058bb6bd7..6a47aa10b 100644
--- a/make/solaris/makefiles/vm.make
+++ b/make/solaris/makefiles/vm.make
@@ -174,19 +174,16 @@ LINK_VM = $(LINK_LIB.CC)
endif
# making the library:
$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE)
- $(QUIETLY) \
- case "$(CFLAGS_BROWSE)" in \
- -sbfast|-xsbfast) \
- ;; \
- *) \
- echo Linking vm...; \
- $(LINK_LIB.CC/PRE_HOOK) \
- $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM); \
- $(LINK_LIB.CC/POST_HOOK) \
- rm -f $@.1; ln -s $@ $@.1; \
- [ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \
- ;; \
- esac
+ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
+ @echo Linking vm...
+ $(QUIETLY) $(LINK_LIB.CC/PRE_HOOK)
+ $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM)
+ $(QUIETLY) $(LINK_LIB.CC/POST_HOOK)
+ $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
+ $(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G)
+ $(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1
+endif # filter -sbfast -xsbfast
+
DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM)