annotate make/windows/makefiles/defs.make @ 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 818a18cd69a8
children 3c07cda72b7d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
196
d1605aabd0a1 6719955: Update copyright year
xdono
parents: 91
diff changeset
2 # Copyright 2006-2008 Sun Microsystems, Inc. All Rights Reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 #
a61af66fc99e Initial load
duke
parents:
diff changeset
19 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
a61af66fc99e Initial load
duke
parents:
diff changeset
20 # CA 95054 USA or visit www.sun.com if you need additional information or
a61af66fc99e Initial load
duke
parents:
diff changeset
21 # have any questions.
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 # The common definitions for hotspot windows builds.
a61af66fc99e Initial load
duke
parents:
diff changeset
26 # Include the top level defs.make under make directory instead of this one.
a61af66fc99e Initial load
duke
parents:
diff changeset
27 # This file is included into make/defs.make.
a61af66fc99e Initial load
duke
parents:
diff changeset
28 # On windows it is only used to construct parameters for
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
29 # make/windows/build.make when make/Makefile is used to build VM.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
30
a61af66fc99e Initial load
duke
parents:
diff changeset
31 SLASH_JAVA ?= J:
a61af66fc99e Initial load
duke
parents:
diff changeset
32 PATH_SEP = ;
a61af66fc99e Initial load
duke
parents:
diff changeset
33
a61af66fc99e Initial load
duke
parents:
diff changeset
34 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
a61af66fc99e Initial load
duke
parents:
diff changeset
35 ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) x86),)
a61af66fc99e Initial load
duke
parents:
diff changeset
36 ARCH_DATA_MODEL=32
a61af66fc99e Initial load
duke
parents:
diff changeset
37 PLATFORM=windows-i586
a61af66fc99e Initial load
duke
parents:
diff changeset
38 VM_PLATFORM=windows_i486
a61af66fc99e Initial load
duke
parents:
diff changeset
39 HS_ARCH=x86
a61af66fc99e Initial load
duke
parents:
diff changeset
40 MAKE_ARGS += ARCH=x86
a61af66fc99e Initial load
duke
parents:
diff changeset
41 MAKE_ARGS += BUILDARCH=i486
a61af66fc99e Initial load
duke
parents:
diff changeset
42 MAKE_ARGS += Platform_arch=x86
a61af66fc99e Initial load
duke
parents:
diff changeset
43 MAKE_ARGS += Platform_arch_model=x86_32
a61af66fc99e Initial load
duke
parents:
diff changeset
44 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
45
a61af66fc99e Initial load
duke
parents:
diff changeset
46 ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) ia64),)
a61af66fc99e Initial load
duke
parents:
diff changeset
47 ARCH_DATA_MODEL=64
a61af66fc99e Initial load
duke
parents:
diff changeset
48 PLATFORM=windows-ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
49 VM_PLATFORM=windows_ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
50 HS_ARCH=ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
51 MAKE_ARGS += LP64=1
a61af66fc99e Initial load
duke
parents:
diff changeset
52 MAKE_ARGS += ARCH=ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
53 MAKE_ARGS += BUILDARCH=ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
54 MAKE_ARGS += Platform_arch=ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
55 MAKE_ARGS += Platform_arch_model=ia64
a61af66fc99e Initial load
duke
parents:
diff changeset
56 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
57
a61af66fc99e Initial load
duke
parents:
diff changeset
58 ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),)
a61af66fc99e Initial load
duke
parents:
diff changeset
59 ARCH_DATA_MODEL=64
a61af66fc99e Initial load
duke
parents:
diff changeset
60 PLATFORM=windows-amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
61 VM_PLATFORM=windows_amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
62 HS_ARCH=x86
a61af66fc99e Initial load
duke
parents:
diff changeset
63 MAKE_ARGS += LP64=1
a61af66fc99e Initial load
duke
parents:
diff changeset
64 MAKE_ARGS += ARCH=x86
a61af66fc99e Initial load
duke
parents:
diff changeset
65 MAKE_ARGS += BUILDARCH=amd64
a61af66fc99e Initial load
duke
parents:
diff changeset
66 MAKE_ARGS += Platform_arch=x86
a61af66fc99e Initial load
duke
parents:
diff changeset
67 MAKE_ARGS += Platform_arch_model=x86_64
a61af66fc99e Initial load
duke
parents:
diff changeset
68 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
69
a61af66fc99e Initial load
duke
parents:
diff changeset
70 JDK_INCLUDE_SUBDIR=win32
a61af66fc99e Initial load
duke
parents:
diff changeset
71
a61af66fc99e Initial load
duke
parents:
diff changeset
72 # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined
a61af66fc99e Initial load
duke
parents:
diff changeset
73 # and added to MAKE_ARGS list in $(GAMMADIR)/make/defs.make.
a61af66fc99e Initial load
duke
parents:
diff changeset
74
a61af66fc99e Initial load
duke
parents:
diff changeset
75 # next parameters are defined in $(GAMMADIR)/make/defs.make.
a61af66fc99e Initial load
duke
parents:
diff changeset
76 MAKE_ARGS += JDK_MKTG_VERSION=$(JDK_MKTG_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
77 MAKE_ARGS += JDK_MAJOR_VER=$(JDK_MAJOR_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
78 MAKE_ARGS += JDK_MINOR_VER=$(JDK_MINOR_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
79 MAKE_ARGS += JDK_MICRO_VER=$(JDK_MICRO_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
80
a61af66fc99e Initial load
duke
parents:
diff changeset
81 ifdef COOKED_JDK_UPDATE_VERSION
a61af66fc99e Initial load
duke
parents:
diff changeset
82 MAKE_ARGS += JDK_UPDATE_VER=$(COOKED_JDK_UPDATE_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
83 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
84
a61af66fc99e Initial load
duke
parents:
diff changeset
85 # COOKED_BUILD_NUMBER should only be set if we have a numeric
a61af66fc99e Initial load
duke
parents:
diff changeset
86 # build number. It must not be zero padded.
a61af66fc99e Initial load
duke
parents:
diff changeset
87 ifdef COOKED_BUILD_NUMBER
a61af66fc99e Initial load
duke
parents:
diff changeset
88 MAKE_ARGS += JDK_BUILD_NUMBER=$(COOKED_BUILD_NUMBER)
a61af66fc99e Initial load
duke
parents:
diff changeset
89 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
90
a61af66fc99e Initial load
duke
parents:
diff changeset
91 NMAKE= MAKEFLAGS= MFLAGS= nmake /NOLOGO
a61af66fc99e Initial load
duke
parents:
diff changeset
92
a61af66fc99e Initial load
duke
parents:
diff changeset
93 # Check for CYGWIN
a61af66fc99e Initial load
duke
parents:
diff changeset
94 ifneq (,$(findstring CYGWIN,$(shell uname)))
a61af66fc99e Initial load
duke
parents:
diff changeset
95 USING_CYGWIN=true
a61af66fc99e Initial load
duke
parents:
diff changeset
96 else
a61af66fc99e Initial load
duke
parents:
diff changeset
97 USING_CYGWIN=false
a61af66fc99e Initial load
duke
parents:
diff changeset
98 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
99 # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
a61af66fc99e Initial load
duke
parents:
diff changeset
100 VM_DEBUG=debug
a61af66fc99e Initial load
duke
parents:
diff changeset
101
a61af66fc99e Initial load
duke
parents:
diff changeset
102 # Windows wants particular paths due to nmake (must be after macros defined)
a61af66fc99e Initial load
duke
parents:
diff changeset
103 # It is important that gnumake invokes nmake with C:\\...\\ formated
a61af66fc99e Initial load
duke
parents:
diff changeset
104 # strings so that nmake gets C:\...\ style strings.
a61af66fc99e Initial load
duke
parents:
diff changeset
105 # Check for CYGWIN
a61af66fc99e Initial load
duke
parents:
diff changeset
106 ifeq ($(USING_CYGWIN), true)
a61af66fc99e Initial load
duke
parents:
diff changeset
107 ABS_OUTPUTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(OUTPUTDIR)"))
a61af66fc99e Initial load
duke
parents:
diff changeset
108 ABS_BOOTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(BOOTDIR)"))
a61af66fc99e Initial load
duke
parents:
diff changeset
109 ABS_GAMMADIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(GAMMADIR)"))
271
818a18cd69a8 6730514: assertion failure in mangling code when expanding by 0 bytes
jmasa
parents: 196
diff changeset
110 ABS_OS_MAKEFILE := $(shell /bin/cygpath -m -a "$(HS_MAKE_DIR)/$(OSNAME)")/build.make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
111 else
a61af66fc99e Initial load
duke
parents:
diff changeset
112 ABS_OUTPUTDIR := $(subst /,\\,$(shell $(CD) $(OUTPUTDIR);$(PWD)))
a61af66fc99e Initial load
duke
parents:
diff changeset
113 ABS_BOOTDIR := $(subst /,\\,$(shell $(CD) $(BOOTDIR);$(PWD)))
a61af66fc99e Initial load
duke
parents:
diff changeset
114 ABS_GAMMADIR := $(subst /,\\,$(shell $(CD) $(GAMMADIR);$(PWD)))
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
115 ABS_OS_MAKEFILE := $(subst /,\\,$(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME);$(PWD))/build.make)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
116 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
117
a61af66fc99e Initial load
duke
parents:
diff changeset
118 # Disable building SA on windows until we are sure
a61af66fc99e Initial load
duke
parents:
diff changeset
119 # we want to release it. If we build it here,
a61af66fc99e Initial load
duke
parents:
diff changeset
120 # the SDK makefiles will copy it over and put it into
a61af66fc99e Initial load
duke
parents:
diff changeset
121 # the created image.
a61af66fc99e Initial load
duke
parents:
diff changeset
122 BUILD_WIN_SA = 0
a61af66fc99e Initial load
duke
parents:
diff changeset
123 ifneq ($(ALT_BUILD_WIN_SA),)
a61af66fc99e Initial load
duke
parents:
diff changeset
124 BUILD_WIN_SA = $(ALT_BUILD_WIN_SA)
a61af66fc99e Initial load
duke
parents:
diff changeset
125 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
126
a61af66fc99e Initial load
duke
parents:
diff changeset
127 ifeq ($(BUILD_WIN_SA), 1)
a61af66fc99e Initial load
duke
parents:
diff changeset
128 ifeq ($(ARCH),ia64)
a61af66fc99e Initial load
duke
parents:
diff changeset
129 BUILD_WIN_SA = 0
a61af66fc99e Initial load
duke
parents:
diff changeset
130 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
131 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
132
a61af66fc99e Initial load
duke
parents:
diff changeset
133 EXPORT_SERVER_DIR = $(EXPORT_JRE_BIN_DIR)/server
a61af66fc99e Initial load
duke
parents:
diff changeset
134 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
a61af66fc99e Initial load
duke
parents:
diff changeset
135 EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.dll
a61af66fc99e Initial load
duke
parents:
diff changeset
136 EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.pdb
a61af66fc99e Initial load
duke
parents:
diff changeset
137 EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.map
a61af66fc99e Initial load
duke
parents:
diff changeset
138 EXPORT_LIST += $(EXPORT_LIB_DIR)/jvm.lib
a61af66fc99e Initial load
duke
parents:
diff changeset
139 ifeq ($(ARCH_DATA_MODEL), 32)
a61af66fc99e Initial load
duke
parents:
diff changeset
140 EXPORT_CLIENT_DIR = $(EXPORT_JRE_BIN_DIR)/client
a61af66fc99e Initial load
duke
parents:
diff changeset
141 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
a61af66fc99e Initial load
duke
parents:
diff changeset
142 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.dll
a61af66fc99e Initial load
duke
parents:
diff changeset
143 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.pdb
a61af66fc99e Initial load
duke
parents:
diff changeset
144 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.map
a61af66fc99e Initial load
duke
parents:
diff changeset
145 # kernel vm
a61af66fc99e Initial load
duke
parents:
diff changeset
146 EXPORT_KERNEL_DIR = $(EXPORT_JRE_BIN_DIR)/kernel
a61af66fc99e Initial load
duke
parents:
diff changeset
147 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/Xusage.txt
a61af66fc99e Initial load
duke
parents:
diff changeset
148 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.dll
a61af66fc99e Initial load
duke
parents:
diff changeset
149 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.pdb
a61af66fc99e Initial load
duke
parents:
diff changeset
150 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.map
a61af66fc99e Initial load
duke
parents:
diff changeset
151 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
152
a61af66fc99e Initial load
duke
parents:
diff changeset
153 ifeq ($(BUILD_WIN_SA), 1)
a61af66fc99e Initial load
duke
parents:
diff changeset
154 EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.dll
a61af66fc99e Initial load
duke
parents:
diff changeset
155 EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.pdb
a61af66fc99e Initial load
duke
parents:
diff changeset
156 EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.map
a61af66fc99e Initial load
duke
parents:
diff changeset
157 EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
a61af66fc99e Initial load
duke
parents:
diff changeset
158 # Must pass this down to nmake.
a61af66fc99e Initial load
duke
parents:
diff changeset
159 MAKE_ARGS += BUILD_WIN_SA=1
a61af66fc99e Initial load
duke
parents:
diff changeset
160 endif