Merge
authorcl
Wed, 23 Feb 2011 15:49:19 -0800
changeset 8271 29efcc797dc6
parent 8267 6a5f458575cf (current diff)
parent 8270 b502abe966ed (diff)
child 8272 71ea5ccb1e82
Merge
--- a/jdk/LICENSE	Fri Feb 18 14:23:48 2011 -0800
+++ b/jdk/LICENSE	Wed Feb 23 15:49:19 2011 -0800
@@ -325,11 +325,11 @@
 
 "CLASSPATH" EXCEPTION TO THE GPL
 
-Certain source files distributed by Sun Microsystems, Inc.  are subject to
-the following clarification and special exception to the GPL, but only where
-Sun has expressly included in the particular source file's header the words
-"Sun designates this particular file as subject to the "Classpath" exception
-as provided by Sun in the LICENSE file that accompanied this code."
+Certain source files distributed by Oracle America and/or its affiliates are
+subject to the following clarification and special exception to the GPL, but
+only where Oracle has expressly included in the particular source file's header
+the words "Oracle designates this particular file as subject to the "Classpath"
+exception as provided by Oracle in the LICENSE file that accompanied this code."
 
     Linking this library statically or dynamically with other modules is making
     a combined work based on this library.  Thus, the terms and conditions of
--- a/jdk/make/common/Defs-windows.gmk	Fri Feb 18 14:23:48 2011 -0800
+++ b/jdk/make/common/Defs-windows.gmk	Wed Feb 23 15:49:19 2011 -0800
@@ -359,7 +359,13 @@
 
   # VS2008 has bufferoverflow baked in:
   LFLAGS_VS2008 = 
-  LFLAGS_VS2010 = 
+
+  # VS2010, always need safe exception handlers, not needed on 64bit
+  ifeq ($(ARCH_DATA_MODEL), 32)
+    LFLAGS_VS2010 =  -SAFESEH
+  else
+    LFLAGS_VS2010 =
+  endif
 
   # LFLAGS are the flags given to $(LINK) and used to build the actual DLL file
   BASELFLAGS = -nologo /opt:REF /incremental:no
--- a/jdk/make/common/Release.gmk	Fri Feb 18 14:23:48 2011 -0800
+++ b/jdk/make/common/Release.gmk	Wed Feb 23 15:49:19 2011 -0800
@@ -124,9 +124,11 @@
 	tnameserv.1     \
 	unpack200.1
 
+ifndef OPENJDK
 ifeq ($(ARCH_DATA_MODEL),32)
   JRE_MAN_PAGES += javaws.1
 endif
+endif
 
 JDK_MAN_PAGES =            \
 	$(JRE_MAN_PAGES)   \
--- a/jdk/make/common/shared/Defs-windows.gmk	Fri Feb 18 14:23:48 2011 -0800
+++ b/jdk/make/common/shared/Defs-windows.gmk	Wed Feb 23 15:49:19 2011 -0800
@@ -772,9 +772,20 @@
   BANNED_DLLS=msvcp100[.]dll|msvcr100d[.]dll|msvcrtd[.]dll
 endif
 
-# Macro to check it's input file for banned dependencies and verify the
-#   binary was built properly. Relies on process exit code.
-define binary_file_verification # binary_file
+# Check for /safeseh (only used on 32bit)
+define binary_file_safeseh_verification # binary_file
+( \
+  $(ECHO) "Checking for /SAFESEH usage in: $1" && \
+  if [ "`$(DUMPBIN) /loadconfig $1 | $(EGREP) -i 'Safe Exception Handler Table'`" = "" ] ; then \
+    $(ECHO) "ERROR: Did not find 'Safe Exception Handler Table' in loadconfig: $1" ; \
+    $(DUMPBIN) /loadconfig $1 ; \
+    exit 6 ; \
+  fi ; \
+)
+endef
+
+# Check for /NXCOMPAT usage
+define binary_file_nxcompat_verification # binary_file
 ( \
   $(ECHO) "Checking for /NXCOMPAT usage in: $1" && \
   if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'NX compatible'`" = "" ] ; then \
@@ -782,12 +793,24 @@
     $(DUMPBIN) /headers $1 ; \
     exit 7 ; \
   fi ; \
+)
+endef
+
+# Check for /DYNAMICBASE usage
+define binary_file_dynamicbase_verification # binary_file
+( \
   $(ECHO) "Checking for /DYNAMICBASE usage in: $1" && \
   if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'Dynamic base'`" = "" ] ; then \
     $(ECHO) "ERROR: Did not find 'Dynamic base' in headers: $1" ; \
     $(DUMPBIN) /headers $1 ; \
     exit 8 ; \
   fi ; \
+)
+endef
+
+# Check for banned dll usage
+define binary_file_dll_verification # binary_file
+( \
   $(ECHO) "Checking for banned dependencies in: $1" && \
   if [ "`$(DUMPBIN) /dependents $1 | $(EGREP) -i '$(BANNED_DLLS)'`" != "" ] ; then \
     $(ECHO) "ERROR: Found use of $(BANNED_DLLS)"; \
@@ -797,6 +820,27 @@
 )
 endef
 
+# Macro to check it's input file for properly built executables.
+#   Relies on process exit code. Different for 32bit vs 64bit.
+ifeq ($(ARCH_DATA_MODEL),32)
+define binary_file_verification # binary_file
+( \
+  $(call binary_file_safeseh_verification,$1); \
+  $(call binary_file_nxcompat_verification,$1); \
+  $(call binary_file_dynamicbase_verification,$1); \
+  $(call binary_file_dll_verification,$1); \
+)
+endef
+else
+define binary_file_verification # binary_file
+( \
+  $(call binary_file_nxcompat_verification,$1); \
+  $(call binary_file_dynamicbase_verification,$1); \
+  $(call binary_file_dll_verification,$1); \
+)
+endef
+endif
+
 else
 
 # Macro to check it's input file for banned dependencies and verify the