make/windows/makefiles/launcher.make

Wed, 02 Mar 2011 09:16:18 -0500

author
zgu
date
Wed, 02 Mar 2011 09:16:18 -0500
changeset 2590
99bd05619fa4
parent 2369
aa6e219afbf1
child 2708
1d1603768966
permissions
-rw-r--r--

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

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

mercurial