Mercurial > hg > truffle
annotate make/solaris/makefiles/sparcWorks.make @ 17716:cdb71841f4bc
6498581: ThreadInterruptTest3 produces wrong output on Windows
Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set.
Reviewed-by: acorn, kvn
Contributed-by: david.holmes@oracle.com, yumin.qi@oracle.com
author | minqi |
---|---|
date | Wed, 26 Feb 2014 15:20:41 -0800 |
parents | da91efe96a93 |
children |
rev | line source |
---|---|
0 | 1 # |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
2 # Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. |
0 | 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 # | |
5 # This code is free software; you can redistribute it and/or modify it | |
6 # under the terms of the GNU General Public License version 2 only, as | |
7 # published by the Free Software Foundation. | |
8 # | |
9 # This code is distributed in the hope that it will be useful, but WITHOUT | |
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 # version 2 for more details (a copy is included in the LICENSE file that | |
13 # accompanied this code). | |
14 # | |
15 # You should have received a copy of the GNU General Public License version | |
16 # 2 along with this work; if not, write to the Free Software Foundation, | |
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
18 # | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1547
diff
changeset
|
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1547
diff
changeset
|
20 # or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1547
diff
changeset
|
21 # questions. |
0 | 22 # |
23 # | |
24 | |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
25 # If a SPEC is not set already, then use these defaults. |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
26 ifeq ($(SPEC),) |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
27 # Compiler-specific flags for sparcworks. |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
28 CC = cc |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
29 CXX = CC |
0 | 30 |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
31 # Note that this 'as' is an older version of the Sun Studio 'fbe', and will |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
32 # use the older style options. The 'fbe' options will match 'cc' and 'CC'. |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
33 AS = /usr/ccs/bin/as |
0 | 34 |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
35 NM = /usr/ccs/bin/nm |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
36 NAWK = /bin/nawk |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
37 |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
38 MCS = /usr/ccs/bin/mcs |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
39 STRIP = /usr/ccs/bin/strip |
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
40 endif |
0 | 41 |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
42 # Check for the versions of C++ and C compilers ($CXX and $CC) used. |
0 | 43 |
44 # Get the last thing on the line that looks like x.x+ (x is a digit). | |
45 COMPILER_REV := \ | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
46 $(shell $(CXX) -V 2>&1 | sed -n 's/^.*[ ,\t]C++[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p') |
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
47 CC_COMPILER_REV := \ |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
48 $(shell $(CC) -V 2>&1 | sed -n 's/^.*[ ,\t]C[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p') |
0 | 49 |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
50 # Pick which compiler is validated |
724
2bf529ef0adb
6831323: Use v8plus as minimum required hardware for current Hotspot sources
kvn
parents:
430
diff
changeset
|
51 ifeq ($(JRE_RELEASE_VER),1.6.0) |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
52 # Validated compiler for JDK6 is SS11 (5.8) |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
53 VALIDATED_COMPILER_REVS := 5.8 |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
54 VALIDATED_CC_COMPILER_REVS := 5.8 |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
55 else |
1834
22cace5e30b5
6983296: build sanity checks for jdk7 should require SS12u1
jcoomes
parents:
1687
diff
changeset
|
56 # Validated compiler for JDK7 is SS12 update 1 + patches (5.10) |
22cace5e30b5
6983296: build sanity checks for jdk7 should require SS12u1
jcoomes
parents:
1687
diff
changeset
|
57 VALIDATED_COMPILER_REVS := 5.10 |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
58 VALIDATED_CC_COMPILER_REVS := 5.10 |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
59 endif |
0 | 60 |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
61 # Warning messages about not using the above validated versions |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
62 ENFORCE_COMPILER_REV${ENFORCE_COMPILER_REV} := $(strip ${VALIDATED_COMPILER_REVS}) |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
63 ifeq ($(filter ${ENFORCE_COMPILER_REV},${COMPILER_REV}),) |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
64 PRINTABLE_CC_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_COMPILER_REV}) |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
65 dummy_var_to_enforce_compiler_rev := $(shell \ |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
66 echo >&2 WARNING: You are using CC version ${COMPILER_REV} and \ |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
67 should be using version ${PRINTABLE_CC_REVS}.; \ |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
68 echo >&2 Set ENFORCE_COMPILER_REV=${COMPILER_REV} to avoid this \ |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
69 warning.) |
0 | 70 endif |
71 | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
72 ENFORCE_CC_COMPILER_REV${ENFORCE_CC_COMPILER_REV} := $(strip ${VALIDATED_CC_COMPILER_REVS}) |
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
73 ifeq ($(filter ${ENFORCE_CC_COMPILER_REV},${CC_COMPILER_REV}),) |
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
74 PRINTABLE_C_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_CC_COMPILER_REV}) |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
75 dummy_var_to_enforce_c_compiler_rev := $(shell \ |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
76 echo >&2 WARNING: You are using cc version ${CC_COMPILER_REV} and \ |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
77 should be using version ${PRINTABLE_C_REVS}.; \ |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
78 echo >&2 Set ENFORCE_CC_COMPILER_REV=${CC_COMPILER_REV} to avoid this \ |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
79 warning.) |
0 | 80 endif |
81 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
82 COMPILER_REV_NUMERIC := $(shell echo $(COMPILER_REV) | awk -F. '{ print $$1 * 100 + $$2 }') |
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
83 |
0 | 84 # Fail the build if __fabsf is used. __fabsf exists only in Solaris 8 2/04 |
85 # and newer; objects with a dependency on this symbol will not run on older | |
86 # Solaris 8. | |
87 JVM_FAIL_IF_UNDEFINED = __fabsf | |
88 | |
89 JVM_CHECK_SYMBOLS = $(NM) -u -p $(LIBJVM.o) | \ | |
90 $(NAWK) -v f="${JVM_FAIL_IF_UNDEFINED}" \ | |
91 'BEGIN { c=split(f,s); rc=0; } \ | |
92 /:$$/ { file = $$1; } \ | |
93 /[^:]$$/ { for(n=1;n<=c;++n) { \ | |
94 if($$1==s[n]) { \ | |
95 printf("JVM_CHECK_SYMBOLS: %s contains illegal symbol %s\n", \ | |
96 file,$$1); \ | |
97 rc=1; \ | |
98 } \ | |
99 } \ | |
100 } \ | |
101 END { exit rc; }' | |
102 | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
103 LINK_LIB.CXX/PRE_HOOK += $(JVM_CHECK_SYMBOLS) || exit 1; |
0 | 104 |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
105 # New architecture options started in SS12 (5.9), we need both styles to build. |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
106 # The older arch options for SS11 (5.8) or older and also for /usr/ccs/bin/as. |
724
2bf529ef0adb
6831323: Use v8plus as minimum required hardware for current Hotspot sources
kvn
parents:
430
diff
changeset
|
107 # Note: default for 32bit sparc is now the same as v8plus, so the |
2bf529ef0adb
6831323: Use v8plus as minimum required hardware for current Hotspot sources
kvn
parents:
430
diff
changeset
|
108 # settings below have changed all 32bit sparc builds to be v8plus. |
2bf529ef0adb
6831323: Use v8plus as minimum required hardware for current Hotspot sources
kvn
parents:
430
diff
changeset
|
109 ARCHFLAG_OLD/sparc = -xarch=v8plus |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
110 ARCHFLAG_NEW/sparc = -m32 -xarch=sparc |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
111 ARCHFLAG_OLD/sparcv9 = -xarch=v9 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
112 ARCHFLAG_NEW/sparcv9 = -m64 -xarch=sparc |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
113 ARCHFLAG_OLD/i486 = |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
114 ARCHFLAG_NEW/i486 = -m32 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
115 ARCHFLAG_OLD/amd64 = -xarch=amd64 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
116 ARCHFLAG_NEW/amd64 = -m64 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
117 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
118 # Select the ARCHFLAGs and other SS12 (5.9) options |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
119 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
120 ARCHFLAG/sparc = $(ARCHFLAG_NEW/sparc) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
121 ARCHFLAG/sparcv9 = $(ARCHFLAG_NEW/sparcv9) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
122 ARCHFLAG/i486 = $(ARCHFLAG_NEW/i486) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
123 ARCHFLAG/amd64 = $(ARCHFLAG_NEW/amd64) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
124 else |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
125 ARCHFLAG/sparc = $(ARCHFLAG_OLD/sparc) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
126 ARCHFLAG/sparcv9 = $(ARCHFLAG_OLD/sparcv9) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
127 ARCHFLAG/i486 = $(ARCHFLAG_OLD/i486) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
128 ARCHFLAG/amd64 = $(ARCHFLAG_OLD/amd64) |
0 | 129 endif |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
130 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
131 # ARCHFLAGS for the current build arch |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
132 ARCHFLAG = $(ARCHFLAG/$(BUILDARCH)) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
133 AS_ARCHFLAG = $(ARCHFLAG_OLD/$(BUILDARCH)) |
0 | 134 |
135 # Optional sub-directory in /usr/lib where BUILDARCH libraries are kept. | |
136 ISA_DIR=$(ISA_DIR/$(BUILDARCH)) | |
137 ISA_DIR/sparcv9=/sparcv9 | |
138 ISA_DIR/amd64=/amd64 | |
139 | |
140 # Use these to work around compiler bugs: | |
141 OPT_CFLAGS/SLOWER=-xO3 | |
142 OPT_CFLAGS/O2=-xO2 | |
143 OPT_CFLAGS/NOOPT=-xO1 | |
144 | |
1972 | 145 # Flags for creating the dependency files. |
146 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) | |
147 DEPFLAGS = -xMMD -xMF $(DEP_DIR)/$(@:%=%.d) | |
148 endif | |
149 | |
1983
c760f78e0a53
7003125: precompiled.hpp is included when precompiled headers are not used
stefank
parents:
1972
diff
changeset
|
150 # -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp. |
c760f78e0a53
7003125: precompiled.hpp is included when precompiled headers are not used
stefank
parents:
1972
diff
changeset
|
151 CFLAGS += -DDONT_USE_PRECOMPILED_HEADER |
c760f78e0a53
7003125: precompiled.hpp is included when precompiled headers are not used
stefank
parents:
1972
diff
changeset
|
152 |
3929
f94227b6117b
7090259: Fix hotspot sources to build with old compilers
kvn
parents:
3313
diff
changeset
|
153 # Compiler warnings are treated as errors |
f94227b6117b
7090259: Fix hotspot sources to build with old compilers
kvn
parents:
3313
diff
changeset
|
154 CFLAGS_WARN = -xwe |
f94227b6117b
7090259: Fix hotspot sources to build with old compilers
kvn
parents:
3313
diff
changeset
|
155 |
1972 | 156 ################################################ |
1687
fb8abd207dbe
6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
kvn
parents:
1552
diff
changeset
|
157 # Begin current (>=5.9) Forte compiler options # |
fb8abd207dbe
6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
kvn
parents:
1552
diff
changeset
|
158 ################################################# |
fb8abd207dbe
6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
kvn
parents:
1552
diff
changeset
|
159 |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
160 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
161 ifeq ($(Platform_arch), x86) |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
162 OPT_CFLAGS/NO_TAIL_CALL_OPT = -Wu,-O~yz |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
163 OPT_CCFLAGS/NO_TAIL_CALL_OPT = -Qoption ube -O~yz |
1687
fb8abd207dbe
6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
kvn
parents:
1552
diff
changeset
|
164 OPT_CFLAGS/stubGenerator_x86_32.o = $(OPT_CFLAGS) -xspace |
fb8abd207dbe
6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
kvn
parents:
1552
diff
changeset
|
165 OPT_CFLAGS/stubGenerator_x86_64.o = $(OPT_CFLAGS) -xspace |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
166 endif # Platform_arch == x86 |
1687
fb8abd207dbe
6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
kvn
parents:
1552
diff
changeset
|
167 ifeq ("${Platform_arch}", "sparc") |
fb8abd207dbe
6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
kvn
parents:
1552
diff
changeset
|
168 OPT_CFLAGS/stubGenerator_sparc.o = $(OPT_CFLAGS) -xspace |
fb8abd207dbe
6975049: nsk/regression/b4287029 crashes with -Xss64 on solaris-i586
kvn
parents:
1552
diff
changeset
|
169 endif |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
170 endif # COMPILER_REV_NUMERIC >= 509 |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
171 |
0 | 172 ################################################# |
173 # Begin current (>=5.6) Forte compiler options # | |
174 ################################################# | |
175 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
176 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 506), 1) |
0 | 177 |
178 ifeq ("${Platform_arch}", "sparc") | |
179 | |
180 # We MUST allow data alignment of 4 for sparc (sparcv9 is ok at 8s) | |
181 ifndef LP64 | |
182 CFLAGS += -xmemalign=4s | |
183 endif | |
184 | |
185 endif | |
186 | |
187 endif | |
188 | |
189 ################################################# | |
190 # Begin current (>=5.5) Forte compiler options # | |
191 ################################################# | |
192 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
193 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 505), 1) |
0 | 194 |
195 CFLAGS += $(ARCHFLAG) | |
196 AOUT_FLAGS += $(ARCHFLAG) | |
197 LIB_FLAGS += $(ARCHFLAG) | |
198 LFLAGS += $(ARCHFLAG) | |
199 | |
200 ifeq ("${Platform_arch}", "sparc") | |
201 | |
202 # Flags for Optimization | |
203 | |
204 # [phh] Commented out pending verification that we do indeed want | |
205 # to potentially bias against u1 and u3 targets. | |
206 #CFLAGS += -xchip=ultra2 | |
207 | |
208 OPT_CFLAGS=-xO4 $(EXTRA_OPT_CFLAGS) | |
209 | |
210 endif # sparc | |
211 | |
212 ifeq ("${Platform_arch_model}", "x86_32") | |
213 | |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
214 OPT_CFLAGS=-xtarget=pentium -xO4 $(EXTRA_OPT_CFLAGS) |
0 | 215 |
216 endif # 32bit x86 | |
217 | |
218 ifeq ("${Platform_arch_model}", "x86_64") | |
219 | |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
220 ASFLAGS += $(AS_ARCHFLAG) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
221 CFLAGS += $(ARCHFLAG/amd64) |
0 | 222 # this one seemed useless |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
223 LFLAGS_VM += $(ARCHFLAG/amd64) |
0 | 224 # this one worked |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
225 LFLAGS += $(ARCHFLAG/amd64) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
226 AOUT_FLAGS += $(ARCHFLAG/amd64) |
0 | 227 |
228 # -xO3 is faster than -xO4 on specjbb with SS10 compiler | |
229 OPT_CFLAGS=-xO4 $(EXTRA_OPT_CFLAGS) | |
230 | |
231 endif # 64bit x86 | |
232 | |
233 # Inline functions | |
234 CFLAGS += $(GAMMADIR)/src/os_cpu/solaris_${Platform_arch}/vm/solaris_${Platform_arch_model}.il | |
235 | |
236 # no more exceptions | |
237 CFLAGS/NOEX=-features=no%except | |
238 | |
113
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
91
diff
changeset
|
239 |
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
91
diff
changeset
|
240 # avoid compilation problems arising from fact that C++ compiler tries |
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
91
diff
changeset
|
241 # to search for external template definition by just compiling additional |
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
91
diff
changeset
|
242 # source files in th same context |
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
91
diff
changeset
|
243 CFLAGS += -template=no%extdef |
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
91
diff
changeset
|
244 |
0 | 245 # Reduce code bloat by reverting back to 5.0 behavior for static initializers |
246 CFLAGS += -features=no%split_init | |
247 | |
248 # Use -D_Crun_inline_placement so we don't get references to | |
249 # __1c2n6FIpv_0_ or void*operator new(unsigned,void*) | |
250 # This avoids the hard requirement of the newer Solaris C++ runtime patches. | |
251 # NOTE: This is an undocumented feature of the SS10 compiler. See 6306698. | |
252 CFLAGS += -D_Crun_inline_placement | |
253 | |
254 # PIC is safer for SPARC, and is considerably slower | |
255 # a file foo.o which wants to compile -pic can set "PICFLAG/foo.o = -PIC" | |
256 PICFLAG = -KPIC | |
257 PICFLAG/DEFAULT = $(PICFLAG) | |
258 # [RGV] Need to figure which files to remove to get link to work | |
259 #PICFLAG/BETTER = -pic | |
260 PICFLAG/BETTER = $(PICFLAG/DEFAULT) | |
261 PICFLAG/BYFILE = $(PICFLAG/$@)$(PICFLAG/DEFAULT$(PICFLAG/$@)) | |
262 | |
263 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file. | |
264 MAPFLAG = -M FILENAME | |
265 | |
266 # Use $(SONAMEFLAG:SONAME=soname) to specify the intrinsic name of a shared obj | |
267 SONAMEFLAG = -h SONAME | |
268 | |
269 # Build shared library | |
270 SHARED_FLAG = -G | |
271 | |
272 # We don't need libCstd.so and librwtools7.so, only libCrun.so | |
273 CFLAGS += -library=%none | |
274 LFLAGS += -library=%none | |
275 | |
276 LFLAGS += -mt | |
277 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
278 endif # COMPILER_REV_NUMERIC >= 505 |
0 | 279 |
280 ###################################### | |
281 # End 5.5 Forte compiler options # | |
282 ###################################### | |
283 | |
284 ###################################### | |
285 # Begin 5.2 Forte compiler options # | |
286 ###################################### | |
287 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
288 ifeq ($(COMPILER_REV_NUMERIC), 502) |
0 | 289 |
290 CFLAGS += $(ARCHFLAG) | |
291 AOUT_FLAGS += $(ARCHFLAG) | |
292 LIB_FLAGS += $(ARCHFLAG) | |
293 LFLAGS += $(ARCHFLAG) | |
294 | |
295 ifeq ("${Platform_arch}", "sparc") | |
296 | |
297 # Flags for Optimization | |
298 | |
299 # [phh] Commented out pending verification that we do indeed want | |
300 # to potentially bias against u1 and u3 targets. | |
301 #CFLAGS += -xchip=ultra2 | |
302 | |
303 ifdef LP64 | |
304 # SC5.0 tools on v9 are flakey at -xO4 | |
305 # [phh] Is this still true for 6.1? | |
306 OPT_CFLAGS=-xO3 $(EXTRA_OPT_CFLAGS) | |
307 else | |
308 OPT_CFLAGS=-xO4 $(EXTRA_OPT_CFLAGS) | |
309 endif | |
310 | |
311 endif # sparc | |
312 | |
313 ifeq ("${Platform_arch_model}", "x86_32") | |
314 | |
315 OPT_CFLAGS=-xtarget=pentium $(EXTRA_OPT_CFLAGS) | |
316 | |
317 # SC5.0 tools on x86 are flakey at -xO4 | |
318 # [phh] Is this still true for 6.1? | |
319 OPT_CFLAGS+=-xO3 | |
320 | |
321 endif # 32bit x86 | |
322 | |
323 # no more exceptions | |
324 CFLAGS/NOEX=-noex | |
325 | |
1123
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
326 # Inline functions |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
327 CFLAGS += $(GAMMADIR)/src/os_cpu/solaris_${Platform_arch}/vm/solaris_${Platform_arch_model}.il |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
328 |
0 | 329 # Reduce code bloat by reverting back to 5.0 behavior for static initializers |
330 CFLAGS += -Qoption ccfe -one_static_init | |
331 | |
332 # PIC is safer for SPARC, and is considerably slower | |
333 # a file foo.o which wants to compile -pic can set "PICFLAG/foo.o = -PIC" | |
334 PICFLAG = -KPIC | |
335 PICFLAG/DEFAULT = $(PICFLAG) | |
336 # [RGV] Need to figure which files to remove to get link to work | |
337 #PICFLAG/BETTER = -pic | |
338 PICFLAG/BETTER = $(PICFLAG/DEFAULT) | |
339 PICFLAG/BYFILE = $(PICFLAG/$@)$(PICFLAG/DEFAULT$(PICFLAG/$@)) | |
340 | |
1123
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
341 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file. |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
342 MAPFLAG = -M FILENAME |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
343 |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
344 # Use $(SONAMEFLAG:SONAME=soname) to specify the intrinsic name of a shared obj |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
345 SONAMEFLAG = -h SONAME |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
346 |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
347 # Build shared library |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
348 SHARED_FLAG = -G |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
349 |
0 | 350 # Would be better if these weren't needed, since we link with CC, but |
351 # at present removing them causes run-time errors | |
352 LFLAGS += -library=Crun | |
353 LIBS += -library=Crun -lCrun | |
354 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
355 endif # COMPILER_REV_NUMERIC == 502 |
0 | 356 |
357 ################################## | |
358 # End 5.2 Forte compiler options # | |
359 ################################## | |
360 | |
361 ################################## | |
362 # Begin old 5.1 compiler options # | |
363 ################################## | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
364 ifeq ($(COMPILER_REV_NUMERIC), 501) |
0 | 365 |
366 _JUNK_ := $(shell echo >&2 \ | |
367 "*** ERROR: sparkWorks.make incomplete for 5.1 compiler") | |
368 @exit 1 | |
369 endif | |
370 ################################## | |
371 # End old 5.1 compiler options # | |
372 ################################## | |
373 | |
374 ################################## | |
375 # Begin old 5.0 compiler options # | |
376 ################################## | |
377 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
378 ifeq (${COMPILER_REV_NUMERIC}, 500) |
0 | 379 |
380 # Had to hoist this higher apparently because of other changes. Must | |
381 # come before -xarch specification. | |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
382 # NOTE: native says optimize for the machine doing the compile, bad news. |
0 | 383 CFLAGS += -xtarget=native |
384 | |
385 CFLAGS += $(ARCHFLAG) | |
386 AOUT_FLAGS += $(ARCHFLAG) | |
387 LIB_FLAGS += $(ARCHFLAG) | |
388 LFLAGS += $(ARCHFLAG) | |
389 | |
390 CFLAGS += -library=iostream | |
391 LFLAGS += -library=iostream -library=Crun | |
392 LIBS += -library=iostream -library=Crun -lCrun | |
393 | |
394 # Flags for Optimization | |
395 ifdef LP64 | |
396 # SC5.0 tools on v9 are flakey at -xO4 | |
397 OPT_CFLAGS=-xO3 $(EXTRA_OPT_CFLAGS) | |
398 else | |
399 OPT_CFLAGS=-xO4 $(EXTRA_OPT_CFLAGS) | |
400 endif | |
401 | |
402 ifeq ("${Platform_arch}", "sparc") | |
403 | |
404 CFLAGS += $(GAMMADIR)/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.il | |
405 | |
406 endif # sparc | |
407 | |
408 ifeq ("${Platform_arch_model}", "x86_32") | |
409 OPT_CFLAGS=-xtarget=pentium $(EXTRA_OPT_CFLAGS) | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
410 ifeq ("${COMPILER_REV_NUMERIC}", "500") |
0 | 411 # SC5.0 tools on x86 are flakey at -xO4 |
412 OPT_CFLAGS+=-xO3 | |
413 else | |
414 OPT_CFLAGS+=-xO4 | |
415 endif | |
416 | |
417 CFLAGS += $(GAMMADIR)/src/os_cpu/solaris_x86/vm/solaris_x86_32.il | |
418 | |
419 endif # 32bit x86 | |
420 | |
421 # The following options run into misaligned ldd problem (raj) | |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
422 #OPT_CFLAGS = -fast -O4 $(ARCHFLAG/sparc) -xchip=ultra |
0 | 423 |
424 # no more exceptions | |
425 CFLAGS/NOEX=-noex | |
426 | |
427 # PIC is safer for SPARC, and is considerably slower | |
428 # a file foo.o which wants to compile -pic can set "PICFLAG/foo.o = -PIC" | |
429 PICFLAG = -PIC | |
430 PICFLAG/DEFAULT = $(PICFLAG) | |
431 # [RGV] Need to figure which files to remove to get link to work | |
432 #PICFLAG/BETTER = -pic | |
433 PICFLAG/BETTER = $(PICFLAG/DEFAULT) | |
434 PICFLAG/BYFILE = $(PICFLAG/$@)$(PICFLAG/DEFAULT$(PICFLAG/$@)) | |
435 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
436 endif # COMPILER_REV_NUMERIC = 500 |
0 | 437 |
438 ################################ | |
439 # End old 5.0 compiler options # | |
440 ################################ | |
441 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
442 ifeq ("${COMPILER_REV_NUMERIC}", "402") |
0 | 443 # 4.2 COMPILERS SHOULD NO LONGER BE USED |
444 _JUNK_ := $(shell echo >&2 \ | |
445 "*** ERROR: SC4.2 compilers are not supported by this code base!") | |
446 @exit 1 | |
447 endif | |
448 | |
449 # do not include shared lib path in a.outs | |
450 AOUT_FLAGS += -norunpath | |
451 LFLAGS_VM = -norunpath -z noversion | |
452 | |
453 # need position-indep-code for shared libraries | |
454 # (ild appears to get errors on PIC code, so we'll try non-PIC for debug) | |
455 ifeq ($(PICFLAGS),DEFAULT) | |
456 VM_PICFLAG/LIBJVM = $(PICFLAG/DEFAULT) | |
457 else | |
458 VM_PICFLAG/LIBJVM = $(PICFLAG/BYFILE) | |
459 endif | |
460 VM_PICFLAG/AOUT = | |
461 | |
462 VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO)) | |
463 CFLAGS += $(VM_PICFLAG) | |
464 | |
465 # less dynamic linking (no PLTs, please) | |
466 #LIB_FLAGS += $(LINK_MODE) | |
467 # %%%%% despite -znodefs, -Bsymbolic gets link errors -- Rose | |
468 | |
469 LINK_MODE = $(LINK_MODE/$(VERSION)) | |
470 LINK_MODE/debug = | |
471 LINK_MODE/optimized = -Bsymbolic -znodefs | |
472 | |
473 # Have thread local errnos | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
474 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 505), 1) |
0 | 475 CFLAGS += -mt |
476 else | |
477 CFLAGS += -D_REENTRANT | |
478 endif | |
479 | |
480 ifdef CC_INTERP | |
481 # C++ Interpreter | |
482 CFLAGS += -DCC_INTERP | |
483 endif | |
484 | |
485 # Flags for Debugging | |
3954 | 486 # The -g0 setting allows the C++ frontend to inline, which is a big win. |
487 # The -xs setting disables 'lazy debug info' which puts everything in | |
488 # the .so instead of requiring the '.o' files. | |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
489 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
3954 | 490 OPT_CFLAGS += -g0 -xs |
491 endif | |
0 | 492 DEBUG_CFLAGS = -g |
493 FASTDEBUG_CFLAGS = -g0 | |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
494 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
3954 | 495 DEBUG_CFLAGS += -xs |
496 FASTDEBUG_CFLAGS += -xs | |
497 endif | |
0 | 498 |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
499 # Special global options for SS12 |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1123
diff
changeset
|
500 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
501 # There appears to be multiple issues with the new Dwarf2 debug format, so |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
502 # we tell the compiler to use the older 'stabs' debug format all the time. |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
503 # Note that this needs to be used in optimized compiles too to be 100%. |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
504 # This is a workaround for SS12 (5.9) bug 6694600 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
505 CFLAGS += -xdebugformat=stabs |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
506 endif |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
113
diff
changeset
|
507 |
0 | 508 # Enable the following CFLAGS additions if you need to compare the |
509 # built ELF objects. | |
510 # | |
511 # The -g option makes static data global and the "-Qoption ccfe | |
512 # -xglobalstatic" option tells the compiler to not globalize static | |
513 # data using a unique globalization prefix. Instead force the use of | |
514 # a static globalization prefix based on the source filepath so the | |
515 # objects from two identical compilations are the same. | |
3954 | 516 # EXTRA_CFLAGS only covers vm_version.cpp for some reason |
517 #EXTRA_CFLAGS += -Qoption ccfe -xglobalstatic | |
518 #OPT_CFLAGS += -Qoption ccfe -xglobalstatic | |
0 | 519 #DEBUG_CFLAGS += -Qoption ccfe -xglobalstatic |
520 #FASTDEBUG_CFLAGS += -Qoption ccfe -xglobalstatic | |
521 | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
522 ifeq (${COMPILER_REV_NUMERIC}, 502) |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
523 COMPILER_DATE := $(shell $(CXX) -V 2>&1 | sed -n '/^.*[ ]C++[ ]\([1-9]\.[0-9][0-9]*\)/p' | awk '{ print $$NF; }') |
0 | 524 ifeq (${COMPILER_DATE}, 2001/01/31) |
525 # disable -g0 in fastdebug since SC6.1 dated 2001/01/31 seems to be buggy | |
526 # use an innocuous value because it will get -g if it's empty | |
527 FASTDEBUG_CFLAGS = -c | |
528 endif | |
529 endif | |
530 | |
531 # Uncomment or 'gmake CFLAGS_BROWSE=-sbfast' to get source browser information. | |
532 # CFLAGS_BROWSE = -sbfast | |
533 CFLAGS += $(CFLAGS_BROWSE) | |
534 | |
535 # ILD is gone as of SS11 (5.8), not supportted in SS10 (5.7) | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
278
diff
changeset
|
536 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \< 507), 1) |
0 | 537 # use ild when debugging (but when optimizing we want reproducible results) |
538 ILDFLAG = $(ILDFLAG/$(VERSION)) | |
539 ILDFLAG/debug = -xildon | |
540 ILDFLAG/optimized = | |
541 AOUT_FLAGS += $(ILDFLAG) | |
542 endif | |
543 | |
544 # Where to put the *.o files (a.out, or shared library)? | |
545 LINK_INTO = $(LINK_INTO/$(VERSION)) | |
546 LINK_INTO/debug = LIBJVM | |
547 LINK_INTO/optimized = LIBJVM | |
548 | |
549 # We link the debug version into the a.out because: | |
550 # 1. ild works on a.out but not shared libraries, and using ild | |
551 # can cut rebuild times by 25% for small changes. (ILD is gone in SS11) | |
552 # 2. dbx cannot gracefully set breakpoints in shared libraries | |
553 # | |
554 | |
555 # apply this setting to link into the shared library even in the debug version: | |
556 ifdef LP64 | |
557 LINK_INTO = LIBJVM | |
558 else | |
559 #LINK_INTO = LIBJVM | |
560 endif | |
561 | |
562 # Solaris platforms collect lots of redundant file-ident lines, | |
563 # to the point of wasting a significant percentage of file space. | |
564 # (The text is stored in ELF .comment sections, contributed by | |
565 # all "#pragma ident" directives in header and source files.) | |
566 # This command "compresses" the .comment sections simply by | |
567 # removing repeated lines. The data can be extracted from | |
568 # binaries in the field by using "mcs -p libjvm.so" or the older | |
569 # command "what libjvm.so". | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
570 LINK_LIB.CXX/POST_HOOK += $(MCS) -c $@ || exit 1; |
0 | 571 # (The exit 1 is necessary to cause a build failure if the command fails and |
572 # multiple commands are strung together, and the final semicolon is necessary | |
573 # since the hook must terminate itself as a valid command.) | |
574 | |
575 # Also, strip debug and line number information (worth about 1.7Mb). | |
3954 | 576 # If we can create .debuginfo files, then the VM is stripped in vm.make |
577 # and this macro is not used. | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
578 STRIP_LIB.CXX/POST_HOOK = $(STRIP) -x $@ || exit 1; |
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3954
diff
changeset
|
579 # STRIP_LIB.CXX/POST_HOOK is incorporated into LINK_LIB.CXX/POST_HOOK |
0 | 580 # in certain configurations, such as product.make. Other configurations, |
581 # such as debug.make, do not include the strip operation. |