Mercurial > hg > release > icedtea6-1.11
view patches/openjdk/6816311-compiler_name.patch @ 2930:88ad9f715193
Backport various Makefile changes so -Wno-clobbered is only used with GCC >= 4.3.
S6563752: Build and test JDK7 with Sun Studio 12 Express compilers (prep makefiles)
S6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
S6799141: Build with --hash-style=both so that binaries can work on SuSE 10
S6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
S6974017: Upgrade required Solaris Studio compilers to 5.10 (12 update 1 + patches)
S6980281: SWAT: SwingSet2 got core dumped in Solaris-AMD64 using b107 swat build
S7000225: Sanity check on sane-alsa-headers is broken
S7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber
2013-09-02 Andrew John Hughes <gnu.andrew@redhat.com>
* Makefile.am:
(ICEDTEA_PATCHES): Add new backports. Move
disable-cc-incompatible-sanity-checks and freetypeversion
to the end.
* patches/disable-cc-incompatible-sanity-checks.patch,
* patches/freetypeversion.patch:
Regenerated to work after new backports.
* patches/openjdk/6563752-ss12_support.patch,
* patches/openjdk/6729772-opt_cleanup.patch,
* patches/openjdk/6799141-split_out_versions.patch,
* patches/openjdk/6816311-compiler_name.patch,
* patches/openjdk/6974017-minorver_for_solaris.patch,
* patches/openjdk/6980281-majorver_for_solaris.patch,
* patches/openjdk/7000225-bad_tabs.patch,
* patches/openjdk/7038711-fix_no-clobber_usage.patch:
Backports from OpenJDK 7 to bring in latest Makefile
updates.
* NEWS: Update and order backports numerically.
author | Andrew John Hughes <gnu.andrew@redhat.com> |
---|---|
date | Wed, 04 Sep 2013 00:13:08 +0100 |
parents | |
children |
line wrap: on
line source
diff -Nru openjdk.orig/jdk/make/common/Defs-windows.gmk openjdk/jdk/make/common/Defs-windows.gmk --- openjdk.orig/jdk/make/common/Defs-windows.gmk 2013-09-02 16:35:07.688884584 +0100 +++ openjdk/jdk/make/common/Defs-windows.gmk 2013-09-02 16:40:22.565779052 +0100 @@ -78,6 +78,13 @@ MS_RUNTIME_LIBRARIES += unicows.dll endif +ifeq ($(ARCH_DATA_MODEL), 64) + ifeq ($(COMPILER_VERSION), VS2008) + MSVCRNN_DLL = msvcr90.dll + MSVCPNN_DLL = msvcp90.dll + MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL) + endif +endif EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH) @@ -302,17 +309,13 @@ # CFLAGS_COMMON += -Fd$(OBJDIR)/$(basename $(@F)).pdb -Fm$(OBJDIR)/$(basename $(@F)).map -# -# Add warnings and extra on 64bit issues -# -ifeq ($(ARCH_DATA_MODEL), 64) - CFLAGS_COMMON += -Wp64 -endif -CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL) # # Treat compiler warnings as errors, if requested # +CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL) +# Turn off security warnings about using the standard C library function strcpy +CFLAGS_COMMON += -D _CRT_SECURE_NO_DEPRECATE ifeq ($(COMPILER_WARNINGS_FATAL),true) CFLAGS_COMMON += -WX endif diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk --- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk 2013-09-02 16:35:07.712884957 +0100 +++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2013-09-02 16:40:22.565779052 +0100 @@ -27,8 +27,6 @@ # GCC Compiler settings # -COMPILER_NAME=GCC - ifeq ($(PLATFORM), windows) # Settings specific to Windows, pretty stale, hasn't been used @@ -153,3 +151,7 @@ _CC_VER :=$(shell $(CC) -dumpversion 2>&1 ) CC_VER :=$(call GetVersion,"$(_CC_VER)") +# Name of compiler +COMPILER_NAME = GCC$(call MajorVersion,$(CC_VER)) +COMPILER_VERSION = $(COMPILER_NAME) + diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-msvc.gmk openjdk/jdk/make/common/shared/Compiler-msvc.gmk --- openjdk.orig/jdk/make/common/shared/Compiler-msvc.gmk 2013-09-02 16:35:07.712884957 +0100 +++ openjdk/jdk/make/common/shared/Compiler-msvc.gmk 2013-09-02 16:40:22.565779052 +0100 @@ -110,6 +110,12 @@ endif endif endif + ifeq ($(CC_MAJORVER), 15) + COMPILER_NAME=Microsoft Windows SDK with Visual Studio 9 (6001.18000.367) + COMPILER_VERSION=VS2008 + RC = $(MSSDK61)/Bin/X64/rc.exe + MT = $(MSSDK61)/Bin/X64/mt.exe + endif # This will cause problems if ALT_COMPILER_PATH is defined to "" # which is a directive to use the PATH. REBASE = $(COMPILER_PATH)../REBASE diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-sun.gmk openjdk/jdk/make/common/shared/Compiler-sun.gmk --- openjdk.orig/jdk/make/common/shared/Compiler-sun.gmk 2013-09-02 16:35:07.712884957 +0100 +++ openjdk/jdk/make/common/shared/Compiler-sun.gmk 2013-09-02 16:41:13.914577209 +0100 @@ -27,13 +27,8 @@ # Sun Studio Compiler settings # -COMPILER_NAME=Sun Studio - # Sun Studio Compiler settings specific to Solaris ifeq ($(PLATFORM), solaris) - # FIXUP: Change to SS12 when validated - #COMPILER_VERSION=SS12 - COMPILER_VERSION=SS11 CC = $(COMPILER_PATH)cc CPP = $(COMPILER_PATH)cc -E CXX = $(COMPILER_PATH)CC @@ -46,7 +41,6 @@ # Sun Studio Compiler settings specific to Linux ifeq ($(PLATFORM), linux) # This has not been tested - COMPILER_VERSION=SS11 CC = $(COMPILER_PATH)cc CPP = $(COMPILER_PATH)cc -E CXX = $(COMPILER_PATH)CC @@ -68,6 +62,18 @@ _CC_VER :=$(shell $(CC) -V 2>&1 | $(HEAD) -n 1) CC_VER :=$(call GetVersion,"$(_CC_VER)") +# Name of compilers being used +COMPILER_VERSION-5.7 = SS10 +COMPILER_NAME-5.7 = Sun Studio 10 +COMPILER_VERSION-5.8 = SS11 +COMPILER_NAME-5.8 = Sun Studio 11 +COMPILER_VERSION-5.9 = SS12 +COMPILER_NAME-5.9 = Sun Studio 12 +COMPILER_VERSION-5.10 = SS13 +COMPILER_NAME-5.10 = Sun Studio 13 +COMPILER_VERSION = $(COMPILER_VERSION-$(CC_VER)) +COMPILER_NAME = $(COMPILER_NAME-$(CC_VER)) + # Arch specific settings (determines type of .o files and instruction set) # Starting in SS12 (5.9), the arch options changed. # The assembler /usr/ccs/bin/as wants older SS11 (5.8) style options. diff -Nru openjdk.orig/jdk/make/common/shared/Defs-versions.gmk openjdk/jdk/make/common/shared/Defs-versions.gmk --- openjdk.orig/jdk/make/common/shared/Defs-versions.gmk 2013-09-02 16:35:07.720885081 +0100 +++ openjdk/jdk/make/common/shared/Defs-versions.gmk 2013-09-02 16:40:22.565779052 +0100 @@ -45,6 +45,12 @@ # REQUIRED_CC_VER # The primary C compiler version expected. # +# REQUIRED_COMPILER_NAME +# The long descriptive name of the compiler we should use +# +# REQUIRED_COMPILER_VERSION +# The one word name that identifies the compilers being used. +# # REQUIRED_CYGWIN_VER # Windows only: If CYGWIN is used, the minimum CYGWIN version. # @@ -114,6 +120,8 @@ else REQUIRED_FREE_SPACE = 1040000 endif + REQUIRED_COMPILER_NAME = Sun Studio 11 + REQUIRED_COMPILER_VERSION = SS11 ifeq ($(CC_VERSION),sun) REQUIRED_CC_VER = 5.8 endif @@ -130,6 +138,8 @@ REQUIRED_OS_VARIANT_VERSION = 9 REQUIRED_FREE_SPACE = 1460000 REQUIRED_ALSA_VERSION = 0.9.1 + REQUIRED_COMPILER_NAME = GCC3 + REQUIRED_COMPILER_VERSION = GCC3 REQUIRED_GCC_VER = 2.95 ifeq ($(CC_VERSION),gcc) REQUIRED_CC_VER = 3.2 @@ -155,14 +165,20 @@ REQUIRED_DXSDK_VER = 0x0900 ifeq ($(CC_VERSION),msvc) ifeq ($(ARCH_DATA_MODEL), 32) + REQUIRED_COMPILER_NAME = Visual Studio .NET 2003 Professional C++ + REQUIRED_COMPILER_VERSION = VS2003 REQUIRED_CC_VER = 13.10.3077 REQUIRED_LINK_VER = 7.10.3077 else ifeq ($(ARCH), ia64) - REQUIRED_CC_VER = 13.00.9337.7 - REQUIRED_LINK_VER = 7.00.9337.7 + REQUIRED_COMPILER_NAME = Microsoft Platform SDK - November 2001 Edition + REQUIRED_COMPILER_VERSION = VS2003 + REQUIRED_CC_VER = 13.00.9337.7 + REQUIRED_LINK_VER = 7.00.9337.7 endif ifeq ($(ARCH), amd64) + REQUIRED_COMPILER_NAME=Microsoft Platform SDK - April 2005 Edition (3790.1830) + REQUIRED_COMPILER_VERSION=VS2005 REQUIRED_CC_VER = 14.00.40310.41 REQUIRED_LINK_VER = 8.00.40310.39 endif diff -Nru openjdk.orig/jdk/make/common/shared/Defs-windows.gmk openjdk/jdk/make/common/shared/Defs-windows.gmk --- openjdk.orig/jdk/make/common/shared/Defs-windows.gmk 2013-09-02 16:35:07.712884957 +0100 +++ openjdk/jdk/make/common/shared/Defs-windows.gmk 2013-09-02 16:40:22.565779052 +0100 @@ -199,6 +199,7 @@ endif ifeq ($(ARCH_DATA_MODEL), 32) _program_files :=$(call FullPath,$(xPROGRAMFILES)) + _program_files32 :=$(_program_files) else ifdef PROGRAMW6432 xPROGRAMW6432 :="$(subst \,/,$(PROGRAMW6432))" @@ -260,17 +261,30 @@ ifneq ($(_msvc_dir),) _compiler_bin :=$(_msvc_dir)/Bin _redist_sdk :=$(_msvc_dir)/../SDK/v1.1/Bin - _ms_sdk :=$(_msvc_dir)/PlatformSDK + # Assume PlatformSDK is in VS71 (will be empty if VS90) + _ms_sdk :=$(call FullPath,$(_msvc_dir)/PlatformSDK) + # Assume VS90, then VS80, then VS71 + _redist_sdk :=$(call FullPath,$(_msvc_dir)/../SDK/v3.5/Bin) + ifeq ($(_redist_sdk),) + _redist_sdk :=$(call FullPath,$(_msvc_dir)/../SDK/v2.0/Bin) + ifeq ($(_redist_sdk),) + _redist_sdk :=$(call FullPath,$(_msvc_dir)/../SDK/v1.1/Bin) + endif + endif endif endif # The Microsoft Platform SDK installed by itself ifneq ($(_program_files),) - xPSDK :="$(_program_files)/Microsoft Platform SDK" - _psdk :=$(call FullPath,$(xPSDK)) + _PSDK :="$(_program_files)/Microsoft SDKs/Windows/v6.1/" + _psdk :=$(call FullPath,$(xMSSDK61)) ifeq ($(_psdk),) - xPSDK :="$(_program_files)/Microsoft SDK" - _psdk :=$(call FullPath,$(xMSSDK)) + xPSDK :="$(_program_files)/Microsoft Platform SDK" + _psdk :=$(call FullPath,$(xPSDK)) + ifeq ($(_psdk),) + xPSDK :="$(_program_files)/Microsoft SDK" + _psdk :=$(call FullPath,$(xMSSDK)) + endif endif endif @@ -291,13 +305,22 @@ # Compilers for 64bit are from SDK ifeq ($(ARCH_DATA_MODEL), 64) - ifneq ($(_ms_sdk),) - ifeq ($(ARCH), ia64) - _compiler_bin :=$(_ms_sdk)/Bin/Win64 - endif - ifeq ($(ARCH), amd64) - _compiler_bin :=$(_ms_sdk)/Bin/Win64/x86/$(ARCH) - _redist_sdk :=$(_ms_sdk)/redist/win64/AMD64 + xVS2008 :="$(_program_files32)/Microsoft Visual Studio 9.0/" + VS2008 :=$(call FullPath,$(xVS2008)) + ifneq ($(VS2008),) + _compiler_bin :=$(VS2008)/VC/Bin/$(ARCH) + xMSSDK61 :="$(_program_files)/Microsoft SDKs/Windows/v6.1/" + MSSDK61 :=$(call FullPath,$(xMSSDK61)) + _redist_sdk :=$(VS2008)/VC/redist/x86/Microsoft.VC90.CRT + else + ifneq ($(_ms_sdk),) + ifeq ($(ARCH), ia64) + _compiler_bin :=$(_ms_sdk)/Bin/Win64 + endif + ifeq ($(ARCH), amd64) + _compiler_bin :=$(_ms_sdk)/Bin/Win64/x86/$(ARCH) + _redist_sdk :=$(_ms_sdk)/redist/win64/AMD64 + endif endif endif endif @@ -400,38 +423,30 @@ _BOOTDIR2 =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION) endif -# See if SDK area has a msvcrt.dll file, directory may exist w/o msvcr* files -_REDIST_SDK_EXISTS := $(shell \ - if [ -f "$(_redist_sdk)/msvcrt.dll" ]; then \ - echo "true"; \ - else \ - echo "false"; \ - fi) -_REDIST71_SDK_EXISTS := $(shell \ - if [ -f "$(_redist_sdk)/msvcr71.dll" ]; then \ - echo "true"; \ - else \ - echo "false"; \ - fi) +# 32 bit always needs 2 runtimes, 64 bit usually does too -# 32 bit needs 2 runtimes -ifeq ($(ARCH_DATA_MODEL), 32) +# MSVCRT_DLL_PATH: location of msvcrt.dll that will be re-distributed +ifdef ALT_MSVCRT_DLL_PATH + xALT_MSVCRT_DLL_PATH :="$(subst \,/,$(ALT_MSVCRT_DLL_PATH))" + MSVCRT_DLL_PATH :=$(call FullPath,$(xALT_MSVCRT_DLL_PATH)) +else + MSVCRT_DLL_PATH :=$(call FullPath,$(_system_root)/system32/) +endif +MSVCRT_DLL_PATH:=$(call AltCheckSpaces,MSVCRT_DLL_PATH) +MSVCRT_DLL_PATH:=$(call AltCheckValue,MSVCRT_DLL_PATH) - # MSVCRT_DLL_PATH: location of msvcrt.dll that will be re-distributed - ifdef ALT_MSVCRT_DLL_PATH - xALT_MSVCRT_DLL_PATH :="$(subst \,/,$(ALT_MSVCRT_DLL_PATH))" - MSVCRT_DLL_PATH :=$(call FullPath,$(xALT_MSVCRT_DLL_PATH)) +# 32bit always needs the MSVCRNN runtime, 64bit does when using VS2008 +ifeq ($(ARCH_DATA_MODEL), 32) + _NEEDS_MSVCRNN = true +else + ifeq ($(VS2008),) + _NEEDS_MSVCRNN = false else - ifeq ($(_REDIST_SDK_EXISTS), true) - xREDIST_DIR :=$(_redist_sdk) - else - xREDIST_DIR :=$(_system_root)/system32 - endif - MSVCRT_DLL_PATH :=$(call FullPath,$(xREDIST_DIR)) + _NEEDS_MSVCRNN = true endif - MSVCRT_DLL_PATH:=$(call AltCheckSpaces,MSVCRT_DLL_PATH) - MSVCRT_DLL_PATH:=$(call AltCheckValue,MSVCRT_DLL_PATH) - +endif + +ifeq ($(ARCH_DATA_MODEL), 32) # MSVCR71_DLL_PATH: location of msvcr71.dll that will be re-distributed ifdef ALT_MSVCR71_DLL_PATH xALT_MSVCR71_DLL_PATH :="$(subst \,/,$(ALT_MSVCR71_DLL_PATH))" @@ -448,22 +463,17 @@ MSVCR71_DLL_PATH:=$(call AltCheckValue,MSVCR71_DLL_PATH) else - - # MSVCRT_DLL_PATH: location of msvcrt.dll that will be re-distributed - ifdef ALT_MSVCRT_DLL_PATH - xALT_MSVCRT_DLL_PATH :="$(subst \,/,$(ALT_MSVCRT_DLL_PATH))" - MSVCRT_DLL_PATH :=$(call FullPath,$(xALT_MSVCRT_DLL_PATH)) - else - ifeq ($(_REDIST_SDK_EXISTS), true) - xREDIST_DIR :=$(_redist_sdk) - else - xREDIST_DIR :=$(_system_root)/SysWOW64 - endif - MSVCRT_DLL_PATH :=$(call FullPath,$(xREDIST_DIR)) - endif - MSVCRT_DLL_PATH:=$(call AltCheckSpaces,MSVCRT_DLL_PATH) - MSVCRT_DLL_PATH:=$(call AltCheckValue,MSVCRT_DLL_PATH) - +ifeq ($(_NEEDS_MSVCRNN), true) + # MSVCRNN_DLL_PATH: location of msvcrnn.dll that will be re-distributed + ifdef ALT_MSVCRNN_DLL_PATH + xALT_MSVCRNN_DLL_PATH :="$(subst \,/,$(ALT_MSVCRNN_DLL_PATH))" + MSVCRNN_DLL_PATH :=$(call FullPath,$(xALT_MSVCRNN_DLL_PATH)) + else + MSVCRNN_DLL_PATH :=$(_redist_sdk) + endif + MSVCRNN_DLL_PATH :=$(call AltCheckSpaces,MSVCRNN_DLL_PATH) + MSVCRNN_DLL_PATH:=$(call AltCheckValue,MSVCRNN_DLL_PATH) +endif endif # DXSDK_PATH: path to Microsoft DirectX SDK Include and Lib diff -Nru openjdk.orig/jdk/make/common/shared/Sanity.gmk openjdk/jdk/make/common/shared/Sanity.gmk --- openjdk.orig/jdk/make/common/shared/Sanity.gmk 2013-09-02 16:35:07.712884957 +0100 +++ openjdk/jdk/make/common/shared/Sanity.gmk 2013-09-02 16:40:22.565779052 +0100 @@ -123,7 +123,7 @@ ifeq ($(_OS_VERSION),) OS_VERSION = 5.0 else - OS_VERSION = $(_OS_VERSION) + OS_VERSION = $(call MajorVersion,$(_OS_VERSION)).$(call MinorVersion,$(_OS_VERSION)) endif OS_VARIANT_NAME := $(WINDOWS_MAPPING-$(OS_VERSION)) OS_VARIANT_VERSION := $(OS_VERSION) @@ -1320,8 +1320,8 @@ fi @if [ "$(LINK_CHECK)" != "same" ]; then \ $(ECHO) "WARNING: To build Java 2 SDK $(JDK_VERSION) you need : \n" \ - " $(COMPILER_VERSION) - link.exe version \"$(REQUIRED_LINK_VER)\" \n" \ - " Specifically the $(COMPILER_NAME) link.exe. \n " \ + " $(REQUIRED_COMPILER_VERSION) - link.exe version \"$(REQUIRED_LINK_VER)\" \n" \ + " Specifically the $(REQUIRED_COMPILER_NAME) link.exe. \n " \ " $(YOU_ARE_USING) Linker version \"$(LINK_VER)\" \n" \ "" >> $(WARNING_FILE) ; \ fi @@ -1338,21 +1338,13 @@ fi ifndef OPENJDK @if [ "$(CC_CHECK)" != "same" ]; then \ - $(ECHO) "WARNING: The $(PLATFORM) compiler is not version $(COMPILER_VERSION) $(REQUIRED_CC_VER) \n" \ - " Specifically the $(COMPILER_NAME) $(CC_TYPE) compiler. \n " \ - " $(YOU_ARE_USING) compiler version: $(CC_VER) \n" \ + $(ECHO) "WARNING: The $(PLATFORM) compiler is not version $(REQUIRED_COMPILER_VERSION) $(REQUIRED_CC_VER) \n" \ + " Specifically the $(REQUIRED_COMPILER_NAME) compiler. \n " \ + " $(YOU_ARE_USING) $(COMPILER_VERSION): $(CC_VER) \n" \ " The compiler was obtained from the following location: \n" \ " $(COMPILER_PATH) \n" \ "" >> $(WARNING_FILE) ; \ fi - ifeq ($(PLATFORM), windows) - ifeq ($(ARCH_DATA_MODEL), 64) - ifneq ($(COMPILER_VERSION), VS2005) - @$(ECHO) "WARNING: Should be using VS2005 compiler on 64bit platform. \n" \ - "" >> $(WARNING_FILE) - endif - endif - endif endif ###################################################### diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt.rc openjdk/jdk/src/windows/native/sun/windows/awt.rc --- openjdk.orig/jdk/src/windows/native/sun/windows/awt.rc 2013-09-02 16:35:02.892810032 +0100 +++ openjdk/jdk/src/windows/native/sun/windows/awt.rc 2013-09-02 16:40:22.565779052 +0100 @@ -23,7 +23,7 @@ // questions. // -#include "afxres.h" +#include "windows.h" // Need 2 defines so macro argument to XSTR will get expanded before quoting. #define XSTR(x) STR(x) diff -Nru openjdk.orig/jdk/src/windows/resource/version.rc openjdk/jdk/src/windows/resource/version.rc --- openjdk.orig/jdk/src/windows/resource/version.rc 2012-10-26 19:26:19.000000000 +0100 +++ openjdk/jdk/src/windows/resource/version.rc 2013-09-02 16:40:22.565779052 +0100 @@ -23,7 +23,7 @@ // questions. // -#include "afxres.h" +#include "windows.h" // Need 2 defines so macro argument to XSTR will get expanded before quoting. #define XSTR(x) STR(x)