From ddb1ca04d2bbe2a35d4c97344cf9cccf6b787691 Mon Sep 17 00:00:00 2001 From: Mikhail Krichanov Date: Tue, 15 Apr 2025 11:48:47 +0300 Subject: [PATCH] BaseTools/Conf/tools_def: Refactored VS2022 DLINK_FLAGS. --- BaseTools/Conf/tools_def.template | 44 +++++++++++++++---------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index b2a37bdb4f..5c0d567e6a 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -807,12 +807,12 @@ NOOPT_VS2022_IA32_NASM_FLAGS = -O0 -f win32 -g # Linker warning 4210 is disabled globally, because it checks if static initializers are present and the VCRuntime is # linked. We do not link the VCRuntime (except for HOST_APPLICATIONs) so this warning can be generated erroneously # whenever there are static initializers, because we will always fail the VCRuntime linking check - DEBUG_VS2022_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /WX /IGNORE:4210 -RELEASE_VS2022_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data /WX /IGNORE:4210 -NOOPT_VS2022_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /WX /IGNORE:4210 + DEBUG_VS2022_IA32_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /DEBUG /WX /IGNORE:4210 +RELEASE_VS2022_IA32_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /IGNORE:4254 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /WX /IGNORE:4210 +NOOPT_VS2022_IA32_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /DEBUG /WX /IGNORE:4210 # BaseTools cannot handle XIP modules with different section and file alignment -*_VS2022_IA32_DLINK_SECPEIFLAGS = /ALIGN:32 +*_VS2022_IA32_DLINK_SECPEIFLAGS = DEF(MSFT_ALIGN) ################## # X64 definitions @@ -843,12 +843,12 @@ NOOPT_VS2022_X64_NASM_FLAGS = -O0 -f win64 -g # Linker warning 4210 is disabled globally, because it checks if static initializers are present and the VCRuntime is # linked. We do not link the VCRuntime (except for HOST_APPLICATIONs) so this warning can be generated erroneously # whenever there are static initializers, because we will always fail the VCRuntime linking check - DEBUG_VS2022_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /ALIGN:4096 /DLL /WX /IGNORE:4210 -RELEASE_VS2022_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data /ALIGN:4096 /DLL /WX /IGNORE:4210 -NOOPT_VS2022_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /ALIGN:4096 /DLL /WX /IGNORE:4210 + DEBUG_VS2022_X64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /IGNORE:4281 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /DEBUG /WX /IGNORE:4210 +RELEASE_VS2022_X64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /IGNORE:4281 /IGNORE:4254 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /WX /IGNORE:4210 +NOOPT_VS2022_X64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /IGNORE:4281 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /DEBUG /WX /IGNORE:4210 # BaseTools cannot handle XIP modules with different section and file alignment -*_VS2022_X64_DLINK_SECPEIFLAGS = /ALIGN:32 +*_VS2022_X64_DLINK_SECPEIFLAGS = DEF(MSFT_ALIGN) ################# # ARM definitions @@ -876,12 +876,12 @@ NOOPT_VS2022_ARM_ASM_FLAGS = /nologo # Linker warning 4210 is disabled globally, because it checks if static initializers are present and the VCRuntime is # linked. We do not link the VCRuntime (except for HOST_APPLICATIONs) so this warning can be generated erroneously # whenever there are static initializers, because we will always fail the VCRuntime linking check - DEBUG_VS2022_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /WX /IGNORE:4210 -RELEASE_VS2022_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data /WX /IGNORE:4210 -NOOPT_VS2022_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /WX /IGNORE:4210 + DEBUG_VS2022_ARM_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /DEBUG /WX /IGNORE:4210 +RELEASE_VS2022_ARM_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /IGNORE:4254 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /WX /IGNORE:4210 +NOOPT_VS2022_ARM_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /DEBUG /WX /IGNORE:4210 # BaseTools cannot handle XIP modules with different section and file alignment -*_VS2022_ARM_DLINK_SECPEIFLAGS = /ALIGN:32 +*_VS2022_ARM_DLINK_SECPEIFLAGS = DEF(MSFT_ALIGN) ##################### # AARCH64 definitions @@ -909,12 +909,12 @@ NOOPT_VS2022_AARCH64_ASM_FLAGS = /nologo # Linker warning 4210 is disabled globally, because it checks if static initializers are present and the VCRuntime is # linked. We do not link the VCRuntime (except for HOST_APPLICATIONs) so this warning can be generated erroneously # whenever there are static initializers, because we will always fail the VCRuntime linking check - DEBUG_VS2022_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG /WX /IGNORE:4210 -RELEASE_VS2022_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /MERGE:.rdata=.data /WX /IGNORE:4210 -NOOPT_VS2022_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG /WX /IGNORE:4210 + DEBUG_VS2022_AARCH64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /DEBUG /WX /IGNORE:4210 +RELEASE_VS2022_AARCH64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /IGNORE:4254 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /WX /IGNORE:4210 +NOOPT_VS2022_AARCH64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /DEBUG /WX /IGNORE:4210 # BaseTools cannot handle XIP modules with different section and file alignment -*_VS2022_AARCH64_DLINK_SECPEIFLAGS = /ALIGN:32 +*_VS2022_AARCH64_DLINK_SECPEIFLAGS = DEF(MSFT_ALIGN) #################################################################################### # GCC Common @@ -1252,15 +1252,15 @@ DEFINE CLANGPDB_ALL_CC_FLAGS = DEF(GCC5_ALL_CC_FLAGS) DEF(CLANGPDB_WARNI *_CLANGPDB_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGPDB_IA32_TARGET) DEBUG_CLANGPDB_IA32_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGPDB_IA32_TARGET) -gcodeview -malign-double -DEBUG_CLANGPDB_IA32_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /DRIVER /MACHINE:X86 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap +DEBUG_CLANGPDB_IA32_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /MACHINE:X86 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap DEBUG_CLANGPDB_IA32_DLINK2_FLAGS = RELEASE_CLANGPDB_IA32_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGPDB_IA32_TARGET) -malign-double -RELEASE_CLANGPDB_IA32_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /DRIVER /IGNORE:4254 /MACHINE:X86 /MLLVM:-exception-model=wineh /lldmap +RELEASE_CLANGPDB_IA32_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /IGNORE:4254 /MACHINE:X86 /MLLVM:-exception-model=wineh /lldmap RELEASE_CLANGPDB_IA32_DLINK2_FLAGS = NOOPT_CLANGPDB_IA32_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANGPDB_IA32_TARGET) -gcodeview -malign-double -NOOPT_CLANGPDB_IA32_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /DRIVER /MACHINE:X86 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap +NOOPT_CLANGPDB_IA32_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /MACHINE:X86 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap NOOPT_CLANGPDB_IA32_DLINK2_FLAGS = ########################## @@ -1285,15 +1285,15 @@ NOOPT_CLANGPDB_IA32_DLINK2_FLAGS = *_CLANGPDB_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGPDB_X64_TARGET) DEBUG_CLANGPDB_X64_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -Oz -flto DEF(CLANGPDB_X64_TARGET) -gcodeview -funwind-tables -DEBUG_CLANGPDB_X64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /DRIVER /MACHINE:X64 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap +DEBUG_CLANGPDB_X64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /MACHINE:X64 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap DEBUG_CLANGPDB_X64_DLINK2_FLAGS = RELEASE_CLANGPDB_X64_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -Oz -flto DEF(CLANGPDB_X64_TARGET) -fno-unwind-tables -RELEASE_CLANGPDB_X64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /DRIVER /IGNORE:4254 /MACHINE:X64 /MLLVM:-exception-model=wineh /lldmap +RELEASE_CLANGPDB_X64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /IGNORE:4254 /MACHINE:X64 /MLLVM:-exception-model=wineh /lldmap RELEASE_CLANGPDB_X64_DLINK2_FLAGS = NOOPT_CLANGPDB_X64_CC_FLAGS = DEF(CLANGPDB_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -O0 DEF(CLANGPDB_X64_TARGET) -gcodeview -funwind-tables -NOOPT_CLANGPDB_X64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /DRIVER /MACHINE:X64 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap +NOOPT_CLANGPDB_X64_DLINK_FLAGS = DEF(MSFT_DLINK_COMMON) /MACHINE:X64 /DEBUG:GHASH /MLLVM:-exception-model=wineh /lldmap NOOPT_CLANGPDB_X64_DLINK2_FLAGS = ####################################################################################