From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B12772095B9F5 for ; Wed, 23 Aug 2017 21:35:33 -0700 (PDT) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Aug 2017 21:38:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,419,1498546800"; d="scan'208";a="143332754" Received: from shwde7172.ccr.corp.intel.com ([10.239.9.14]) by fmsmga005.fm.intel.com with ESMTP; 23 Aug 2017 21:38:07 -0700 From: Liming Gao To: edk2-devel@lists.01.org Date: Thu, 24 Aug 2017 12:38:01 +0800 Message-Id: <1503549481-8016-1-git-send-email-liming.gao@intel.com> X-Mailer: git-send-email 2.8.0.windows.1 Subject: [Patch] BaseTools: Support /WHOLEARCHIVE option in VS2015 tool chain X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Aug 2017 04:35:33 -0000 https://bugzilla.tianocore.org/show_bug.cgi?id=582 Don't enable this option in the default setting, because it may cause VS2015 linker crash. Platform can enable this option in PlatformPkg.dsc like below: [BuildOptions] *_*_*_DLINK2_FLAGS = /WHOLEARCHIVE Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao Cc: Yonghong Zhu --- BaseTools/Conf/build_rule.template | 1 + BaseTools/Conf/tools_def.template | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index 1db94b6..d8c8253 100755 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -289,6 +289,7 @@ $(DEBUG_DIR)(+)$(MODULE_NAME).dll + "$(DLINK)" /OUT:${dst} $(DLINK_FLAGS) $(DLINK2_FLAGS) $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) "$(DLINK)" /OUT:${dst} $(DLINK_FLAGS) $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 1fa3ca3..e0ef4b1 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -575,7 +575,7 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G # Intel(r) ACPI Compiler (iasl.exe) from # https://acpica.org/downloads # VS2015x86 -win64- Requires: -# Microsoft Visual Studio 2015 (x86) Professional Edition +# Microsoft Visual Studio 2015 (x86) Update 2 or above # Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830 # Optional: # Required to build platforms or ACPI tables: @@ -3605,6 +3605,7 @@ NOOPT_VS2013x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT *_VS2015_*_APP_FLAGS = /nologo /E /TC *_VS2015_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h *_VS2015_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h +*_VS2015_*_DLINK2_FLAGS = *_VS2015_*_ASM16_PATH = DEF(VS2015_BIN)\ml.exe @@ -3723,6 +3724,7 @@ NOOPT_VS2015_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT *_VS2015xASL_*_APP_FLAGS = /nologo /E /TC *_VS2015xASL_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h *_VS2015xASL_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h +*_VS2015xASL_*_DLINK2_FLAGS = *_VS2015xASL_*_ASM16_PATH = DEF(VS2015_BIN)\ml.exe @@ -3839,6 +3841,7 @@ NOOPT_VS2015xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE *_VS2015x86_*_APP_FLAGS = /nologo /E /TC *_VS2015x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h *_VS2015x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h +*_VS2015x86_*_DLINK2_FLAGS = *_VS2015x86_*_ASM16_PATH = DEF(VS2015x86_BIN)\ml.exe @@ -3954,6 +3957,7 @@ NOOPT_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF *_VS2015x86xASL_*_APP_FLAGS = /nologo /E /TC *_VS2015x86xASL_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h *_VS2015x86xASL_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h +*_VS2015x86xASL_*_DLINK2_FLAGS = *_VS2015x86xASL_*_ASM16_PATH = DEF(VS2015x86_BIN)\ml.exe -- 2.8.0.windows.1