annotate make/windows/makefiles/sa.make @ 12176:88c255656030

8016155: SIGBUS when running Kitchensink with ParallelScavenge and ParallelOld Summary: When using NUMA and large pages we need to ease the requirement on which node the memory should be allocated on. To avoid the SIGBUS we now use the memory policy MPOL_PREFERRED, which prefers a certain node, instead of MPOL_BIND, which requires a certain node. Reviewed-by: jmasa, pliden Contributed-by: stefan.johansson@oracle.com
author mgerdin
date Thu, 22 Aug 2013 10:50:41 +0200
parents 5a98bf7d847b
children febab3a8f203 7638e35cabc6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
2 # Copyright (c) 2003, 2012, Oracle and/or its affiliates. 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 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 971
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 971
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: 971
diff changeset
21 # questions.
0
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 # This makefile is used to build Serviceability Agent code
a61af66fc99e Initial load
duke
parents:
diff changeset
26 # and generate JNI header file for native methods.
a61af66fc99e Initial load
duke
parents:
diff changeset
27
a61af66fc99e Initial load
duke
parents:
diff changeset
28 AGENT_DIR = $(WorkSpace)/agent
a61af66fc99e Initial load
duke
parents:
diff changeset
29 checkAndBuildSA::
a61af66fc99e Initial load
duke
parents:
diff changeset
30
a61af66fc99e Initial load
duke
parents:
diff changeset
31 !if "$(BUILD_WIN_SA)" != "1"
a61af66fc99e Initial load
duke
parents:
diff changeset
32 # Already warned about this in build.make
a61af66fc99e Initial load
duke
parents:
diff changeset
33 !else
a61af66fc99e Initial load
duke
parents:
diff changeset
34
a61af66fc99e Initial load
duke
parents:
diff changeset
35 # This first part is used to build sa-jdi.jar
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
36 !include $(WorkSpace)/make/windows/makefiles/rules.make
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
37 !include $(WorkSpace)/make/sa.files
0
a61af66fc99e Initial load
duke
parents:
diff changeset
38
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
39 GENERATED = ../generated
0
a61af66fc99e Initial load
duke
parents:
diff changeset
40
a61af66fc99e Initial load
duke
parents:
diff changeset
41 # tools.jar is needed by the JDI - SA binding
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
42 SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar
0
a61af66fc99e Initial load
duke
parents:
diff changeset
43
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
44 SA_CLASSDIR = $(GENERATED)/saclasses
0
a61af66fc99e Initial load
duke
parents:
diff changeset
45
a61af66fc99e Initial load
duke
parents:
diff changeset
46 SA_BUILD_VERSION_PROP = sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)
a61af66fc99e Initial load
duke
parents:
diff changeset
47
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
48 SA_PROPERTIES = $(SA_CLASSDIR)/sa.properties
0
a61af66fc99e Initial load
duke
parents:
diff changeset
49
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
50 default:: $(GENERATED)/sa-jdi.jar
0
a61af66fc99e Initial load
duke
parents:
diff changeset
51
456
b6272ef4a18f 6743339: Enable building sa-jdi.jar and sawindbg.dll on Windows with hotspot build
poonam
parents: 427
diff changeset
52 # Remove the space between $(SA_BUILD_VERSION_PROP) and > below as it adds a white space
b6272ef4a18f 6743339: Enable building sa-jdi.jar and sawindbg.dll on Windows with hotspot build
poonam
parents: 427
diff changeset
53 # at the end of SA version string and causes a version mismatch with the target VM version.
b6272ef4a18f 6743339: Enable building sa-jdi.jar and sawindbg.dll on Windows with hotspot build
poonam
parents: 427
diff changeset
54
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
55 $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
56 $(QUIETLY) mkdir -p $(SA_CLASSDIR)
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
57 @echo ...Building sa-jdi.jar into $(SA_CLASSDIR)
2471
37be97a58393 7010849: 5/5 Extraneous javac source/target options when building sa-jdi
andrew
parents: 1552
diff changeset
58 @echo ...$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -d $(SA_CLASSDIR) ....
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
59 @$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
60 $(COMPILE_RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
456
b6272ef4a18f 6743339: Enable building sa-jdi.jar and sawindbg.dll on Windows with hotspot build
poonam
parents: 427
diff changeset
61 $(QUIETLY) echo $(SA_BUILD_VERSION_PROP)> $(SA_PROPERTIES)
311
25c3145237c6 6731958: Include all the SA classes into sa-jdi.jar
poonam
parents: 196
diff changeset
62 $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
25c3145237c6 6731958: Include all the SA classes into sa-jdi.jar
poonam
parents: 196
diff changeset
63 $(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql
456
b6272ef4a18f 6743339: Enable building sa-jdi.jar and sawindbg.dll on Windows with hotspot build
poonam
parents: 427
diff changeset
64 $(QUIETLY) rm -rf $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
65 $(QUIETLY) mkdir $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources
456
b6272ef4a18f 6743339: Enable building sa-jdi.jar and sawindbg.dll on Windows with hotspot build
poonam
parents: 427
diff changeset
66 $(QUIETLY) cp $(AGENT_SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(SA_CLASSDIR)/sun/jvm/hotspot/ui/resources
b6272ef4a18f 6743339: Enable building sa-jdi.jar and sawindbg.dll on Windows with hotspot build
poonam
parents: 427
diff changeset
67 $(QUIETLY) cp -r $(AGENT_SRC_DIR)/images/* $(SA_CLASSDIR)
3846
4aa5974a06dd 7075559: JPRT windows_x64 build failure
kvn
parents: 2471
diff changeset
68 $(RUN_JAR) cf $@ -C $(SA_CLASSDIR) .
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
69 $(RUN_JAR) uf $@ -C $(AGENT_SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
0
a61af66fc99e Initial load
duke
parents:
diff changeset
70 $(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal
a61af66fc99e Initial load
duke
parents:
diff changeset
71 $(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.x86.X86ThreadContext
a61af66fc99e Initial load
duke
parents:
diff changeset
72 $(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
6782
5a98bf7d847b 6879063: SA should use hsdis for disassembly
minqi
parents: 6603
diff changeset
73 $(RUN_JAVAH) -classpath $(SA_CLASSDIR) -jni sun.jvm.hotspot.asm.Disassembler
0
a61af66fc99e Initial load
duke
parents:
diff changeset
74
a61af66fc99e Initial load
duke
parents:
diff changeset
75
a61af66fc99e Initial load
duke
parents:
diff changeset
76
a61af66fc99e Initial load
duke
parents:
diff changeset
77 # This second part is used to build sawindbg.dll
a61af66fc99e Initial load
duke
parents:
diff changeset
78 # We currently build it the same way for product, debug, and fastdebug.
a61af66fc99e Initial load
duke
parents:
diff changeset
79
a61af66fc99e Initial load
duke
parents:
diff changeset
80 SAWINDBG=sawindbg.dll
a61af66fc99e Initial load
duke
parents:
diff changeset
81
a61af66fc99e Initial load
duke
parents:
diff changeset
82 checkAndBuildSA:: $(SAWINDBG)
a61af66fc99e Initial load
duke
parents:
diff changeset
83
a61af66fc99e Initial load
duke
parents:
diff changeset
84 # These do not need to be optimized (don't run a lot of code) and it
a61af66fc99e Initial load
duke
parents:
diff changeset
85 # will be useful to have the assertion checks in place
a61af66fc99e Initial load
duke
parents:
diff changeset
86
a61af66fc99e Initial load
duke
parents:
diff changeset
87 !if "$(BUILDARCH)" == "ia64"
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
88 SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 $(GX_OPTION) -Od -D "WIN32" -D "WIN64" -D "_WINDOWS" -D "_DEBUG" -D "_CONSOLE" -D "_MBCS" -YX -FD -c
0
a61af66fc99e Initial load
duke
parents:
diff changeset
89 !elseif "$(BUILDARCH)" == "amd64"
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
90 SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 $(GX_OPTION) -Od -D "WIN32" -D "WIN64" -D "_WINDOWS" -D "_DEBUG" -D "_CONSOLE" -D "_MBCS" -YX -FD -c
645
c3a720eefe82 6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
kvn
parents: 456
diff changeset
91 !if "$(COMPILER_NAME)" == "VS2005"
0
a61af66fc99e Initial load
duke
parents:
diff changeset
92 # On amd64, VS2005 compiler requires bufferoverflowU.lib on the link command line,
a61af66fc99e Initial load
duke
parents:
diff changeset
93 # otherwise we get missing __security_check_cookie externals at link time.
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 3963
diff changeset
94 SA_LD_FLAGS = bufferoverflowU.lib
645
c3a720eefe82 6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
kvn
parents: 456
diff changeset
95 !endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
96 !else
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
97 SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 -Gm $(GX_OPTION) -Od -D "WIN32" -D "_WINDOWS" -D "_DEBUG" -D "_CONSOLE" -D "_MBCS" -YX -FD -GZ -c
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
98 !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
99 SA_CFLAGS = $(SA_CFLAGS) -ZI
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
100 !endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
101 !endif
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 311
diff changeset
102 !if "$(MT)" != ""
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
103 SA_LD_FLAGS = -manifest $(SA_LD_FLAGS)
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 311
diff changeset
104 !endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
105 SASRCFILE = $(AGENT_DIR)/src/os/win32/windbg/sawindbg.cpp
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
106 SA_LFLAGS = $(SA_LD_FLAGS) -nologo -subsystem:console -machine:$(MACHINE)
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
107 !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
108 SA_LFLAGS = $(SA_LFLAGS) -map -debug
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
109 !endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
110
a61af66fc99e Initial load
duke
parents:
diff changeset
111 # Note that we do not keep sawindbj.obj around as it would then
a61af66fc99e Initial load
duke
parents:
diff changeset
112 # get included in the dumpbin command in build_vm_def.sh
a61af66fc99e Initial load
duke
parents:
diff changeset
113
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 311
diff changeset
114 # In VS2005 or VS2008 the link command creates a .manifest file that we want
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 311
diff changeset
115 # to insert into the linked artifact so we do not need to track it separately.
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 311
diff changeset
116 # Use ";#2" for .dll and ";#1" for .exe in the MT command below:
0
a61af66fc99e Initial load
duke
parents:
diff changeset
117 $(SAWINDBG): $(SASRCFILE)
a61af66fc99e Initial load
duke
parents:
diff changeset
118 set INCLUDE=$(SA_INCLUDE)$(INCLUDE)
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 3963
diff changeset
119 $(CXX) @<<
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
120 -I"$(BootStrapDir)/include" -I"$(BootStrapDir)/include/win32"
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
121 -I"$(GENERATED)" $(SA_CFLAGS)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
122 $(SASRCFILE)
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
123 -out:$*.obj
0
a61af66fc99e Initial load
duke
parents:
diff changeset
124 <<
a61af66fc99e Initial load
duke
parents:
diff changeset
125 set LIB=$(SA_LIB)$(LIB)
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
126 $(LD) -out:$@ -DLL $*.obj dbgeng.lib $(SA_LFLAGS)
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 311
diff changeset
127 !if "$(MT)" != ""
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
128 $(MT) -manifest $(@F).manifest -outputresource:$(@F);#2
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 311
diff changeset
129 !endif
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
130 !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
131 !if "$(ZIP_DEBUGINFO_FILES)" == "1"
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
132 $(ZIPEXE) -q $*.diz $*.map $*.pdb
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
133 $(RM) $*.map $*.pdb
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
134 !endif
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
135 !endif
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4891
diff changeset
136 -@rm -f $*.obj
0
a61af66fc99e Initial load
duke
parents:
diff changeset
137
a61af66fc99e Initial load
duke
parents:
diff changeset
138 cleanall :
6603
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
139 rm -rf $(GENERATED)/saclasses
0d8e265ba727 7181175: Enable builds on Windows with MinGW/MSYS
dcubed
parents: 6020
diff changeset
140 rm -rf $(GENERATED)/sa-jdi.jar
0
a61af66fc99e Initial load
duke
parents:
diff changeset
141 !endif