Merge jdk7-b131
authorcl
Wed, 23 Feb 2011 15:49:19 -0800
changeset 35598ac52c85f9e9
parent 3555 89055b6d9ae0
parent 3558 5e09deee1967
child 3560 11c9a066a5a4
child 3630 eb54e565c491
Merge
     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