1.1 --- a/LICENSE Fri Feb 18 14:23:48 2011 -0800
1.2 +++ b/LICENSE Wed Feb 23 15:49:19 2011 -0800
1.3 @@ -325,11 +325,11 @@
1.4
1.5 "CLASSPATH" EXCEPTION TO THE GPL
1.6
1.7 -Certain source files distributed by Sun Microsystems, Inc. are subject to
1.8 -the following clarification and special exception to the GPL, but only where
1.9 -Sun has expressly included in the particular source file's header the words
1.10 -"Sun designates this particular file as subject to the "Classpath" exception
1.11 -as provided by Sun in the LICENSE file that accompanied this code."
1.12 +Certain source files distributed by Oracle America and/or its affiliates are
1.13 +subject to the following clarification and special exception to the GPL, but
1.14 +only where Oracle has expressly included in the particular source file's header
1.15 +the words "Oracle designates this particular file as subject to the "Classpath"
1.16 +exception as provided by Oracle in the LICENSE file that accompanied this code."
1.17
1.18 Linking this library statically or dynamically with other modules is making
1.19 a combined work based on this library. Thus, the terms and conditions of
2.1 --- a/make/common/Defs-windows.gmk Fri Feb 18 14:23:48 2011 -0800
2.2 +++ b/make/common/Defs-windows.gmk Wed Feb 23 15:49:19 2011 -0800
2.3 @@ -359,7 +359,13 @@
2.4
2.5 # VS2008 has bufferoverflow baked in:
2.6 LFLAGS_VS2008 =
2.7 - LFLAGS_VS2010 =
2.8 +
2.9 + # VS2010, always need safe exception handlers, not needed on 64bit
2.10 + ifeq ($(ARCH_DATA_MODEL), 32)
2.11 + LFLAGS_VS2010 = -SAFESEH
2.12 + else
2.13 + LFLAGS_VS2010 =
2.14 + endif
2.15
2.16 # LFLAGS are the flags given to $(LINK) and used to build the actual DLL file
2.17 BASELFLAGS = -nologo /opt:REF /incremental:no
3.1 --- a/make/common/Release.gmk Fri Feb 18 14:23:48 2011 -0800
3.2 +++ b/make/common/Release.gmk Wed Feb 23 15:49:19 2011 -0800
3.3 @@ -124,9 +124,11 @@
3.4 tnameserv.1 \
3.5 unpack200.1
3.6
3.7 +ifndef OPENJDK
3.8 ifeq ($(ARCH_DATA_MODEL),32)
3.9 JRE_MAN_PAGES += javaws.1
3.10 endif
3.11 +endif
3.12
3.13 JDK_MAN_PAGES = \
3.14 $(JRE_MAN_PAGES) \
4.1 --- a/make/common/shared/Defs-windows.gmk Fri Feb 18 14:23:48 2011 -0800
4.2 +++ b/make/common/shared/Defs-windows.gmk Wed Feb 23 15:49:19 2011 -0800
4.3 @@ -772,9 +772,20 @@
4.4 BANNED_DLLS=msvcp100[.]dll|msvcr100d[.]dll|msvcrtd[.]dll
4.5 endif
4.6
4.7 -# Macro to check it's input file for banned dependencies and verify the
4.8 -# binary was built properly. Relies on process exit code.
4.9 -define binary_file_verification # binary_file
4.10 +# Check for /safeseh (only used on 32bit)
4.11 +define binary_file_safeseh_verification # binary_file
4.12 +( \
4.13 + $(ECHO) "Checking for /SAFESEH usage in: $1" && \
4.14 + if [ "`$(DUMPBIN) /loadconfig $1 | $(EGREP) -i 'Safe Exception Handler Table'`" = "" ] ; then \
4.15 + $(ECHO) "ERROR: Did not find 'Safe Exception Handler Table' in loadconfig: $1" ; \
4.16 + $(DUMPBIN) /loadconfig $1 ; \
4.17 + exit 6 ; \
4.18 + fi ; \
4.19 +)
4.20 +endef
4.21 +
4.22 +# Check for /NXCOMPAT usage
4.23 +define binary_file_nxcompat_verification # binary_file
4.24 ( \
4.25 $(ECHO) "Checking for /NXCOMPAT usage in: $1" && \
4.26 if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'NX compatible'`" = "" ] ; then \
4.27 @@ -782,12 +793,24 @@
4.28 $(DUMPBIN) /headers $1 ; \
4.29 exit 7 ; \
4.30 fi ; \
4.31 +)
4.32 +endef
4.33 +
4.34 +# Check for /DYNAMICBASE usage
4.35 +define binary_file_dynamicbase_verification # binary_file
4.36 +( \
4.37 $(ECHO) "Checking for /DYNAMICBASE usage in: $1" && \
4.38 if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'Dynamic base'`" = "" ] ; then \
4.39 $(ECHO) "ERROR: Did not find 'Dynamic base' in headers: $1" ; \
4.40 $(DUMPBIN) /headers $1 ; \
4.41 exit 8 ; \
4.42 fi ; \
4.43 +)
4.44 +endef
4.45 +
4.46 +# Check for banned dll usage
4.47 +define binary_file_dll_verification # binary_file
4.48 +( \
4.49 $(ECHO) "Checking for banned dependencies in: $1" && \
4.50 if [ "`$(DUMPBIN) /dependents $1 | $(EGREP) -i '$(BANNED_DLLS)'`" != "" ] ; then \
4.51 $(ECHO) "ERROR: Found use of $(BANNED_DLLS)"; \
4.52 @@ -797,6 +820,27 @@
4.53 )
4.54 endef
4.55
4.56 +# Macro to check it's input file for properly built executables.
4.57 +# Relies on process exit code. Different for 32bit vs 64bit.
4.58 +ifeq ($(ARCH_DATA_MODEL),32)
4.59 +define binary_file_verification # binary_file
4.60 +( \
4.61 + $(call binary_file_safeseh_verification,$1); \
4.62 + $(call binary_file_nxcompat_verification,$1); \
4.63 + $(call binary_file_dynamicbase_verification,$1); \
4.64 + $(call binary_file_dll_verification,$1); \
4.65 +)
4.66 +endef
4.67 +else
4.68 +define binary_file_verification # binary_file
4.69 +( \
4.70 + $(call binary_file_nxcompat_verification,$1); \
4.71 + $(call binary_file_dynamicbase_verification,$1); \
4.72 + $(call binary_file_dll_verification,$1); \
4.73 +)
4.74 +endef
4.75 +endif
4.76 +
4.77 else
4.78
4.79 # Macro to check it's input file for banned dependencies and verify the