annotate make/windows/makefiles/launcher.make @ 2308:99bd05619fa4

7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions Summary: Ensure safe exception handler table is generated on Win32 binaries when compile with VS2010 Reviewed-by: acorn, coleenp, dcubed, sla, ohair
author zgu
date Wed, 02 Mar 2011 09:16:18 -0500
parents aa6e219afbf1
children 1d1603768966
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2308
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
1 #
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
2 # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
4 #
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
7 # published by the Free Software Foundation.
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
8 #
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
13 # accompanied this code).
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
14 #
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
15 # You should have received a copy of the GNU General Public License version
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
18 #
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
21 # questions.
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
22 #
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
23 #
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
24
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
25
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
26 LAUNCHER_FLAGS=$(CPP_FLAGS) $(ARCHFLAG) \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
27 /D FULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
28 /D JDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
29 /D JDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
30 /D GAMMA \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
31 /D LAUNCHER_TYPE=\"gamma\" \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
32 /D _CRT_SECURE_NO_WARNINGS \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
33 /D _CRT_SECURE_NO_DEPRECATE \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
34 /D LINK_INTO_LIBJVM \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
35 /I $(WorkSpace)\src\os\windows\launcher \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
36 /I $(WorkSpace)\src\share\tools\launcher \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
37 /I $(WorkSpace)\src\share\vm\prims \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
38 /I $(WorkSpace)\src\share\vm \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
39 /I $(WorkSpace)\src\cpu\$(Platform_arch)\vm \
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
40 /I $(WorkSpace)\src\os\windows\vm
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
41
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
42 LINK_FLAGS=/manifest $(HS_INTERNAL_NAME).lib kernel32.lib user32.lib /nologo /machine:$(MACHINE) /map /debug /subsystem:console
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
43
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
44 !if "$(COMPILER_NAME)" == "VS2005"
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
45 # This VS2005 compiler has /GS as a default and requires bufferoverflowU.lib
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
46 # on the link command line, otherwise we get missing __security_check_cookie
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
47 # externals at link time. Even with /GS-, you need bufferoverflowU.lib.
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
48 BUFFEROVERFLOWLIB = bufferoverflowU.lib
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
49 LINK_FLAGS = $(LINK_FLAGS) $(BUFFEROVERFLOWLIB)
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
50 !endif
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
51
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
52 !if "$(COMPILER_NAME)" == "VS2010" && "$(BUILDARCH)" == "i486"
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
53 LINK_FLAGS = /SAFESEH $(LINK_FLAGS)
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
54 !endif
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
55
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
56 LAUNCHERDIR = $(WorkSpace)/src/os/windows/launcher
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
57 LAUNCHERDIR_SHARE = $(WorkSpace)/src/share/tools/launcher
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
58
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
59 OUTDIR = launcher
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
60
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
61 {$(LAUNCHERDIR)}.c{$(OUTDIR)}.obj:
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
62 -mkdir $(OUTDIR) 2>NUL >NUL
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
63 $(CPP) $(LAUNCHER_FLAGS) /c /Fo$@ $<
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
64
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
65 {$(LAUNCHERDIR_SHARE)}.c{$(OUTDIR)}.obj:
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
66 -mkdir $(OUTDIR) 2>NUL >NUL
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
67 $(CPP) $(LAUNCHER_FLAGS) /c /Fo$@ $<
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
68
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
69 $(OUTDIR)\*.obj: $(LAUNCHERDIR)\*.c $(LAUNCHERDIR)\*.h $(LAUNCHERDIR_SHARE)\*.c $(LAUNCHERDIR_SHARE)\*.h
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
70
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
71 launcher: $(OUTDIR)\java.obj $(OUTDIR)\java_md.obj $(OUTDIR)\jli_util.obj
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
72 echo $(JAVA_HOME) > jdkpath.txt
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2027
diff changeset
73 $(LINK) $(LINK_FLAGS) /out:hotspot.exe $**