Mercurial > hg > truffle
annotate make/solaris/makefiles/vm.make @ 807:d44bdab1c03d
6843694: G1: assert(index < _vs.committed_size(),"bad index"), g1BlockOffsetTable.inline.hpp:55
Summary: For heaps larger than 32Gb, the number of heap regions overflows the data type used to hold the region index in the SparsePRT structure. Changed the region indexes, card indexes, and RSet hash table buckets to ints and added some size overflow guarantees.
Reviewed-by: ysr, tonyp
author | johnc |
---|---|
date | Thu, 11 Jun 2009 17:19:33 -0700 |
parents | 4d20a3aaf1ab |
children | 167c2986d91b |
rev | line source |
---|---|
0 | 1 # |
196 | 2 # Copyright 1998-2008 Sun Microsystems, Inc. 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 # | |
19 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, | |
20 # CA 95054 USA or visit www.sun.com if you need additional information or | |
21 # have any questions. | |
22 # | |
23 # | |
24 | |
25 # Rules to build JVM and related libraries, included from vm.make in the build | |
26 # directory. | |
27 | |
28 # Common build rules. | |
91
a294fd0c4b38
6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents:
0
diff
changeset
|
29 MAKEFILES_DIR=$(GAMMADIR)/make/$(Platform_os_family)/makefiles |
0 | 30 include $(MAKEFILES_DIR)/rules.make |
31 | |
32 default: build | |
33 | |
34 #---------------------------------------------------------------------- | |
35 # Defs | |
36 | |
37 GENERATED = ../generated | |
38 | |
39 # read a generated file defining the set of .o's and the .o .h dependencies | |
40 include $(GENERATED)/Dependencies | |
41 | |
42 # read machine-specific adjustments (%%% should do this via buildtree.make?) | |
43 include $(MAKEFILES_DIR)/$(BUILDARCH).make | |
44 | |
45 # set VPATH so make knows where to look for source files | |
46 # Src_Dirs is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm | |
47 # The incls directory contains generated header file lists for inclusion. | |
48 # The adfiles directory contains ad_<arch>.[ch]pp. | |
49 # The jvmtifiles directory contains jvmti*.[ch]pp | |
50 Src_Dirs_V = $(GENERATED)/adfiles $(GENERATED)/jvmtifiles ${Src_Dirs} $(GENERATED)/incls | |
51 VPATH += $(Src_Dirs_V:%=%:) | |
52 | |
53 # set INCLUDES for C preprocessor | |
54 Src_Dirs_I = $(GENERATED)/adfiles $(GENERATED)/jvmtifiles ${Src_Dirs} $(GENERATED) | |
55 INCLUDES += $(Src_Dirs_I:%=-I%) | |
56 | |
57 ifeq (${VERSION}, debug) | |
58 SYMFLAG = -g | |
59 else | |
60 SYMFLAG = | |
61 endif | |
62 | |
63 # The following variables are defined in the generated flags.make file. | |
64 BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" | |
65 JRE_VERSION = -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" | |
100
c7c777385a15
6667042: PrintAssembly option does not work without special plugin
jrose
parents:
0
diff
changeset
|
66 HS_LIB_ARCH = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\" |
0 | 67 BUILD_TARGET = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\"" |
68 BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\"" | |
69 VM_DISTRO = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\"" | |
70 | |
71 CPPFLAGS = \ | |
72 ${SYSDEFS} \ | |
73 ${INCLUDES} \ | |
74 ${BUILD_VERSION} \ | |
75 ${BUILD_TARGET} \ | |
76 ${BUILD_USER} \ | |
100
c7c777385a15
6667042: PrintAssembly option does not work without special plugin
jrose
parents:
0
diff
changeset
|
77 ${HS_LIB_ARCH} \ |
0 | 78 ${JRE_VERSION} \ |
79 ${VM_DISTRO} | |
80 | |
81 # CFLAGS_WARN holds compiler options to suppress/enable warnings. | |
82 CFLAGS += $(CFLAGS_WARN) | |
83 | |
84 # Do not use C++ exception handling | |
85 CFLAGS += $(CFLAGS/NOEX) | |
86 | |
87 # Extra flags from gnumake's invocation or environment | |
88 CFLAGS += $(EXTRA_CFLAGS) | |
89 | |
90 # Math Library (libm.so), do not use -lm. | |
91 # There might be two versions of libm.so on the build system: | |
92 # libm.so.1 and libm.so.2, and we want libm.so.1. | |
93 # Depending on the Solaris release being used to build with, | |
94 # /usr/lib/libm.so could point at a libm.so.2, so we are | |
95 # explicit here so that the libjvm.so you have built will work on an | |
96 # older Solaris release that might not have libm.so.2. | |
97 # This is a critical factor in allowing builds on Solaris 10 or newer | |
98 # to run on Solaris 8 or 9. | |
99 # | |
100 LIBM=/usr/lib$(ISA_DIR)/libm.so.1 | |
101 | |
102 ifeq ("${Platform_compiler}", "sparcWorks") | |
103 # The whole megilla: | |
430
4d20a3aaf1ab
6769748: Fix solaris makefiles for the case when "CC -V" produces several lines
kvn
parents:
196
diff
changeset
|
104 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 505), 1) |
0 | 105 # Old Comment: List the libraries in the order the compiler was designed for |
106 # Not sure what the 'designed for' comment is referring too above. | |
107 # The order may not be too significant anymore, but I have placed this | |
108 # older libm before libCrun, just to make sure it's found and used first. | |
109 LIBS += -lsocket -lsched -ldl $(LIBM) -lCrun -lthread -ldoor -lc | |
110 else | |
111 LIBS += -ldl -lthread -lsocket $(LIBM) -lsched -ldoor | |
112 endif | |
113 else | |
114 LIBS += -lsocket -lsched -ldl $(LIBM) -lthread -lc | |
115 endif | |
116 | |
117 # By default, link the *.o into the library, not the executable. | |
118 LINK_INTO$(LINK_INTO) = LIBJVM | |
119 | |
120 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH) | |
121 | |
122 #---------------------------------------------------------------------- | |
123 # jvm_db & dtrace | |
124 include $(MAKEFILES_DIR)/dtrace.make | |
125 | |
126 #---------------------------------------------------------------------- | |
127 # JVM | |
128 | |
129 JVM = jvm$(G_SUFFIX) | |
130 LIBJVM = lib$(JVM).so | |
131 | |
132 JVM_OBJ_FILES = $(Obj_Files) $(DTRACE_OBJS) | |
133 | |
134 vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES)) | |
135 | |
136 mapfile : $(MAPFILE) $(MAPFILE_DTRACE_OPT) | |
137 rm -f $@ | |
138 cat $^ > $@ | |
139 | |
140 mapfile_reorder : mapfile $(MAPFILE_DTRACE_OPT) $(REORDERFILE) | |
141 rm -f $@ | |
142 cat $^ > $@ | |
143 | |
144 ifeq ($(LINK_INTO),AOUT) | |
145 LIBJVM.o = | |
146 LIBJVM_MAPFILE = | |
147 LIBS_VM = $(LIBS) | |
148 else | |
149 LIBJVM.o = $(JVM_OBJ_FILES) | |
150 LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder | |
151 LFLAGS_VM$(LDNOMAP) += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE)) | |
152 LFLAGS_VM += $(SONAMEFLAG:SONAME=$(LIBJVM)) | |
153 ifndef USE_GCC | |
154 LIBS_VM = $(LIBS) | |
155 else | |
156 # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to | |
157 # get around library dependency and compatibility issues. Must use gcc not | |
158 # g++ to link. | |
159 LFLAGS_VM += $(STATIC_LIBGCC) | |
160 LIBS_VM += $(STATIC_STDCXX) $(LIBS) | |
161 endif | |
162 endif | |
163 | |
164 ifdef USE_GCC | |
165 LINK_VM = $(LINK_LIB.c) | |
166 else | |
167 LINK_VM = $(LINK_LIB.CC) | |
168 endif | |
169 # making the library: | |
170 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) | |
171 $(QUIETLY) \ | |
172 case "$(CFLAGS_BROWSE)" in \ | |
173 -sbfast|-xsbfast) \ | |
174 ;; \ | |
175 *) \ | |
176 echo Linking vm...; \ | |
177 $(LINK_LIB.CC/PRE_HOOK) \ | |
178 $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM); \ | |
179 $(LINK_LIB.CC/POST_HOOK) \ | |
180 rm -f $@.1; ln -s $@ $@.1; \ | |
181 ;; \ | |
182 esac | |
183 | |
184 DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM) | |
185 | |
186 install_jvm: $(LIBJVM) | |
187 @echo "Copying $(LIBJVM) to $(DEST_JVM)" | |
188 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" | |
189 | |
190 #---------------------------------------------------------------------- | |
191 # Other files | |
192 | |
193 # Gamma launcher | |
194 include $(MAKEFILES_DIR)/launcher.make | |
195 | |
196 # Signal interposition library | |
197 include $(MAKEFILES_DIR)/jsig.make | |
198 | |
199 # Serviceability agent | |
200 include $(MAKEFILES_DIR)/saproc.make | |
201 | |
202 #---------------------------------------------------------------------- | |
203 | |
204 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(LIBJVM_DTRACE) checkAndBuildSA dtraceCheck | |
205 | |
206 install: install_jvm install_jsig install_saproc | |
207 | |
208 .PHONY: default build install install_jvm |