BaseTools/Conf/tools_def: Refactored VS2022 DLINK_FLAGS.

This commit is contained in:
Mikhail Krichanov 2025-04-15 11:48:47 +03:00
parent d8204d9779
commit ddb1ca04d2

View File

@ -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 =
####################################################################################