Mercurial > hg > graal-compiler
annotate make/jprt.config @ 364:919e7959392a
6742641: G1: NullPointerException during GCOld
Summary: An update buffer is not processed correctly, which causes roots into the collection set not to be scanned and, hence, for the heap to be corrupted. The cause is that an object is accessed after it has been explicitly deleted, which causes a race.
Reviewed-by: jcoomes, ysr
author | tonyp |
---|---|
date | Mon, 22 Sep 2008 09:56:49 -0400 |
parents | 4852f4a82e58 |
children | 4961a8a726a4 |
rev | line source |
---|---|
0 | 1 #!echo "This is not a shell script" |
2 # | |
196 | 3 # Copyright 2006-2008 Sun Microsystems, Inc. All Rights Reserved. |
0 | 4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 # | |
6 # This code is free software; you can redistribute it and/or modify it | |
7 # under the terms of the GNU General Public License version 2 only, as | |
8 # published by the Free Software Foundation. | |
9 # | |
10 # This code is distributed in the hope that it will be useful, but WITHOUT | |
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 # version 2 for more details (a copy is included in the LICENSE file that | |
14 # accompanied this code). | |
15 # | |
16 # You should have received a copy of the GNU General Public License version | |
17 # 2 along with this work; if not, write to the Free Software Foundation, | |
18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
19 # | |
20 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, | |
21 # CA 95054 USA or visit www.sun.com if you need additional information or | |
22 # have any questions. | |
23 # | |
24 # | |
25 | |
26 ############################################################################# | |
27 # Error | |
28 error() # message | |
29 { | |
30 echo "ERROR: $1" | |
31 exit 6 | |
32 } | |
33 # Directory must exist | |
34 dirMustExist() # dir name | |
35 { | |
36 if [ ! -d "$1" ] ; then | |
37 error "Directory for $2 does not exist: $1" | |
38 fi | |
39 } | |
40 # File must exist | |
41 fileMustExist() # dir name | |
42 { | |
43 if [ ! -f "$1" ] ; then | |
44 error "File for $2 does not exist: $1" | |
45 fi | |
46 } | |
47 ############################################################################# | |
48 | |
49 # Should be set by JPRT as the 3 basic inputs | |
50 bootdir="${ALT_BOOTDIR}" | |
51 slashjava="${ALT_SLASH_JAVA}" | |
52 jdk_import="${ALT_JDK_IMPORT_PATH}" | |
53 | |
54 # Check input | |
55 dirMustExist "${bootdir}" ALT_BOOTDIR | |
56 dirMustExist "${slashjava}" ALT_SLASH_JAVA | |
57 dirMustExist "${jdk_import}" ALT_JDK_IMPORT_PATH | |
58 | |
59 # Uses 'uname -s', but only expect SunOS or Linux, assume Windows otherwise. | |
60 osname=`uname -s` | |
61 if [ "${osname}" = SunOS ] ; then | |
62 | |
63 # SOLARIS: Sparc or X86 | |
64 osarch=`uname -p` | |
65 if [ "${osarch}" = sparc ] ; then | |
66 solaris_arch=sparc | |
67 else | |
68 solaris_arch=i386 | |
69 fi | |
70 | |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
71 if [ "${JPRT_SOLARIS_COMPILER_NAME}" != "" ] ; then |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
72 compiler_name=${JPRT_SOLARIS_COMPILER_NAME} |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
73 else |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
74 if [ "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6" -o \ |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
75 "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6u10" -o \ |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
76 "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6perf" ] ; then |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
77 # All jdk6 builds use SS11 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
78 compiler_name=SS11 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
79 else |
278
4852f4a82e58
6724668: Hotspot: Official change to Sun Studio 12 compilers on Solaris
ohair
parents:
196
diff
changeset
|
80 compiler_name=SS12 |
158
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
81 fi |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
82 fi |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
83 |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
84 # Get into path (make sure it matches ALT setting) |
a49545cab84a
6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
ohair
parents:
0
diff
changeset
|
85 compiler_path=${slashjava}/devtools/${solaris_arch}/SUNWspro/${compiler_name}/bin |
0 | 86 dirMustExist "${compiler_path}" COMPILER_PATH |
87 path4sdk=${compiler_path} | |
88 | |
89 # Add basic solaris system paths | |
90 path4sdk=${path4sdk}:/usr/ccs/bin:/usr/ccs/lib:/usr/bin:/bin:/usr/sfw/bin | |
91 | |
92 # Get the previous JDK to be used to bootstrap the build | |
93 path4sdk=${bootdir}/bin:${path4sdk} | |
94 | |
95 # Find GNU make | |
96 make=/usr/sfw/bin/gmake | |
97 if [ ! -f ${make} ] ; then | |
98 make=/opt/sfw/bin/gmake | |
99 if [ ! -f ${make} ] ; then | |
100 make=${slashjava}/devtools/${solaris_arch}/bin/gnumake | |
101 fi | |
102 fi | |
103 fileMustExist "${make}" make | |
104 | |
105 # File creation mask | |
106 umask 002 | |
107 | |
108 elif [ "${osname}" = Linux ] ; then | |
109 | |
110 # LINUX: X86, AMD64 | |
111 osarch=`uname -m` | |
112 if [ "${osarch}" = i686 ] ; then | |
113 linux_arch=i586 | |
114 elif [ "${osarch}" = x86_64 ] ; then | |
115 linux_arch=amd64 | |
116 fi | |
117 | |
118 # Get the compilers into path (make sure it matches ALT setting) | |
119 compiler_path=/usr/bin | |
120 dirMustExist "${compiler_path}" COMPILER_PATH | |
121 path4sdk=${compiler_path} | |
122 | |
123 # Add basic paths | |
124 path4sdk=${path4sdk}:/usr/bin:/bin:/usr/sbin:/sbin | |
125 | |
126 # Get the previous JDK to be used to bootstrap the build | |
127 path4sdk=${bootdir}/bin:${path4sdk} | |
128 | |
129 # Find GNU make | |
130 make=/usr/bin/make | |
131 fileMustExist "${make}" make | |
132 | |
133 umask 002 | |
134 | |
135 else | |
136 | |
137 # Windows: Differs on CYGWIN vs. MKS, and the compiler available. | |
138 # Also, blanks in pathnames gives GNU make headaches, so anything placed | |
139 # in any ALT_* variable should be the short windows dosname. | |
140 | |
141 # WINDOWS: Install and use MKS or CYGWIN (should have already been done) | |
142 # Assumption here is that you are in a shell window via MKS or cygwin. | |
143 # MKS install should have defined the environment variable ROOTDIR. | |
144 # We also need to figure out which one we have: X86, AMD64 | |
145 if [ "`echo ${PROCESSOR_IDENTIFIER} | fgrep AMD64`" != "" ] ; then | |
146 windows_arch=amd64 | |
147 else | |
148 windows_arch=i586 | |
149 fi | |
150 | |
151 # We need to determine if we are running a CYGWIN shell or an MKS shell | |
152 # (if uname isn't available, then it will be unix_toolset=unknown) | |
153 unix_toolset=unknown | |
154 if [ "`uname -a | fgrep Cygwin`" = "" -a -d "${ROOTDIR}" ] ; then | |
155 # We kind of assume ROOTDIR is where MKS is and it's ok | |
156 unix_toolset=MKS | |
157 mkshome=`dosname -s "${ROOTDIR}"` | |
158 # Utility to convert to short pathnames without spaces | |
159 dosname="${mkshome}/mksnt/dosname -s" | |
160 # Most unix utilities are in the mksnt directory of ROOTDIR | |
161 unixcommand_path="${mkshome}/mksnt" | |
162 path4sdk="${unixcommand_path}" | |
163 dirMustExist "${unixcommand_path}" UNIXCOMMAND_PATH | |
164 devtools_path="${slashjava}/devtools/win32/bin" | |
165 path4sdk="${devtools_path};${path4sdk}" | |
166 dirMustExist "${devtools_path}" DEVTOOLS_PATH | |
167 # Find GNU make | |
168 make="${devtools_path}/gnumake.exe" | |
169 fileMustExist "${make}" make | |
170 elif [ "`uname -a | fgrep Cygwin`" != "" -a -f /bin/cygpath ] ; then | |
171 # For CYGWIN, uname will have "Cygwin" in it, and /bin/cygpath should exist | |
172 unix_toolset=CYGWIN | |
173 # Utility to convert to short pathnames without spaces | |
174 dosname="/usr/bin/cygpath -a -m -s" | |
175 # Most unix utilities are in the /usr/bin | |
176 unixcommand_path="/usr/bin" | |
177 path4sdk="${unixcommand_path}" | |
178 dirMustExist "${unixcommand_path}" UNIXCOMMAND_PATH | |
179 # Find GNU make | |
180 make="${unixcommand_path}/make.exe" | |
181 fileMustExist "${make}" make | |
182 else | |
183 echo "WARNING: Cannot figure out if this is MKS or CYGWIN" | |
184 fi | |
185 | |
186 # WINDOWS: Compiler setup (nasty part) | |
187 # NOTE: You can use vcvars32.bat to set PATH, LIB, and INCLUDE. | |
188 # NOTE: CYGWIN has a link.exe too, make sure the compilers are first | |
189 if [ "${windows_arch}" = i586 ] ; then | |
190 # 32bit Windows compiler settings | |
191 # VisualStudio .NET 2003 VC++ 7.1 (VS71COMNTOOLS should be defined) | |
192 vs_root=`${dosname} "${VS71COMNTOOLS}/../.."` | |
193 # Fill in PATH, LIB, and INCLUDE (unset all others to make sure) | |
194 vc7_root="${vs_root}/Vc7" | |
195 compiler_path="${vc7_root}/bin" | |
196 platform_sdk="${vc7_root}/PlatformSDK" | |
197 # LIB and INCLUDE must use ; as a separator | |
198 include4sdk="${vc7_root}/atlmfc/include" | |
199 include4sdk="${include4sdk};${vc7_root}/include" | |
200 include4sdk="${include4sdk};${platform_sdk}/include/prerelease" | |
201 include4sdk="${include4sdk};${platform_sdk}/include" | |
202 include4sdk="${include4sdk};${vs_root}/SDK/v1.1/include" | |
203 lib4sdk="${vc7_root}/atlmfc/lib" | |
204 lib4sdk="${lib4sdk};${vc7_root}/lib" | |
205 lib4sdk="${lib4sdk};${platform_sdk}/lib/prerelease" | |
206 lib4sdk="${lib4sdk};${platform_sdk}/lib" | |
207 lib4sdk="${lib4sdk};${vs_root}/SDK/v1.1/lib" | |
208 # Search path and DLL locating path | |
209 # WARNING: CYGWIN has a link.exe too, make sure compilers are first | |
210 path4sdk="${vs_root}/Common7/Tools/bin;${path4sdk}" | |
211 path4sdk="${vs_root}/SDK/v1.1/bin;${path4sdk}" | |
212 path4sdk="${vs_root}/Common7/Tools;${path4sdk}" | |
213 path4sdk="${vs_root}/Common7/Tools/bin/prerelease;${path4sdk}" | |
214 path4sdk="${vs_root}/Common7/IDE;${path4sdk}" | |
215 path4sdk="${compiler_path};${path4sdk}" | |
216 elif [ "${windows_arch}" = amd64 ] ; then | |
217 # AMD64 64bit Windows compiler settings | |
218 if [ "${MSSDK}" != "" ] ; then | |
219 platform_sdk="${MSSDK}" | |
220 else | |
221 platform_sdk=`${dosname} "C:/Program Files/Microsoft Platform SDK/"` | |
222 fi | |
223 compiler_path="${platform_sdk}/Bin/win64/x86/AMD64" | |
224 # LIB and INCLUDE must use ; as a separator | |
225 include4sdk="${platform_sdk}/Include" | |
226 include4sdk="${include4sdk};${platform_sdk}/Include/crt/sys" | |
227 include4sdk="${include4sdk};${platform_sdk}/Include/mfc" | |
228 include4sdk="${include4sdk};${platform_sdk}/Include/atl" | |
229 include4sdk="${include4sdk};${platform_sdk}/Include/crt" | |
230 lib4sdk="${platform_sdk}/Lib/AMD64" | |
231 lib4sdk="${lib4sdk};${platform_sdk}/Lib/AMD64/atlmfc" | |
232 # Search path and DLL locating path | |
233 # WARNING: CYGWIN has a link.exe too, make sure compilers are first | |
234 path4sdk="${platform_sdk}/bin;${path4sdk}" | |
235 path4sdk="${compiler_path};${path4sdk}" | |
236 fi | |
237 # Export LIB and INCLUDE | |
238 unset lib | |
239 unset Lib | |
240 LIB="${lib4sdk}" | |
241 export LIB | |
242 unset include | |
243 unset Include | |
244 INCLUDE="${include4sdk}" | |
245 export INCLUDE | |
246 # Set the ALT variable | |
247 dirMustExist "${compiler_path}" COMPILER_PATH | |
248 | |
249 # WINDOWS: Get the previous JDK to be used to bootstrap the build | |
250 path4sdk="${bootdir}/bin;${path4sdk}" | |
251 | |
252 # Turn all \\ into /, remove duplicates and trailing / | |
253 slash_path="`echo ${path4sdk} | sed -e 's@\\\\@/@g' -e 's@//@/@g' -e 's@/$@@' -e 's@/;@;@g'`" | |
254 | |
255 # For windows, it's hard to know where the system is, so we just add this | |
256 # to PATH. | |
257 path4sdk="${slash_path};${PATH}" | |
258 | |
259 # Convert path4sdk to cygwin style | |
260 if [ "${unix_toolset}" = CYGWIN ] ; then | |
261 path4sdk="`/usr/bin/cygpath -p ${path4sdk}`" | |
262 fi | |
263 | |
264 fi | |
265 | |
266 # Export PATH setting | |
267 PATH="${path4sdk}" | |
268 export PATH | |
269 | |
270 # Unset certain vars | |
271 unset LD_LIBRARY_PATH | |
272 unset LD_LIBRARY_PATH_32 | |
273 unset LD_LIBRARY_PATH_64 | |
274 |