diff --git a/ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/ArmStandaloneMmCoreEntryPoint.inf b/ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/ArmStandaloneMmCoreEntryPoint.inf index 9afd8e9715..e5bfb810f1 100644 --- a/ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/ArmStandaloneMmCoreEntryPoint.inf +++ b/ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/ArmStandaloneMmCoreEntryPoint.inf @@ -47,6 +47,7 @@ ArmSvcLib ArmTransferListLib ArmFfaLib + StackCheckLib [Guids] gMpInformationHobGuid diff --git a/ArmPlatformPkg/PeilessSec/PeilessSec.inf b/ArmPlatformPkg/PeilessSec/PeilessSec.inf index 7ceeb74f69..7f67adfa71 100644 --- a/ArmPlatformPkg/PeilessSec/PeilessSec.inf +++ b/ArmPlatformPkg/PeilessSec/PeilessSec.inf @@ -51,6 +51,7 @@ PrintLib SerialPortLib TimerLib + StackCheckLib [Ppis] gArmMpCoreInfoPpiGuid diff --git a/ArmPlatformPkg/Sec/Sec.inf b/ArmPlatformPkg/Sec/Sec.inf index 58a566f5f0..b5af19e7a4 100644 --- a/ArmPlatformPkg/Sec/Sec.inf +++ b/ArmPlatformPkg/Sec/Sec.inf @@ -47,6 +47,7 @@ DebugLib PrintLib SerialPortLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid diff --git a/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf b/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf index ed8b89e2b6..1f6538a4e5 100755 --- a/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf +++ b/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf @@ -54,6 +54,7 @@ PlatformPeiLib MemoryInitPeiLib CacheMaintenanceLib + StackCheckLib [Guids] gArmMpCoreInfoGuid diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc index a4989c1239..5bba746a02 100644 --- a/EmulatorPkg/EmulatorPkg.dsc +++ b/EmulatorPkg/EmulatorPkg.dsc @@ -323,10 +323,7 @@ # USER_DEFINED components skip normal NULL lib linking, so we have to link this # specially here for the libs that have stack guard enabled ## - EmulatorPkg/Win/Host/WinHost.inf { - - NULL|MdePkg/Library/StackCheckLibNull/StackCheckLibNull.inf - } + EmulatorPkg/Win/Host/WinHost.inf !else ## # Emulator, OS POSIX application @@ -334,10 +331,7 @@ # USER_DEFINED components skip normal NULL lib linking, so we have to link this # specially here for the libs that have stack guard enabled ## - EmulatorPkg/Unix/Host/Host.inf { - - NULL|MdePkg/Library/StackCheckLibNull/StackCheckLibNull.inf - } + EmulatorPkg/Unix/Host/Host.inf !endif !endif diff --git a/EmulatorPkg/Sec/Sec.inf b/EmulatorPkg/Sec/Sec.inf index 7476094f13..5d47eed7ae 100644 --- a/EmulatorPkg/Sec/Sec.inf +++ b/EmulatorPkg/Sec/Sec.inf @@ -40,6 +40,7 @@ PeiServicesLib PpiListLib BaseMemoryLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid diff --git a/EmulatorPkg/Unix/Host/Host.inf b/EmulatorPkg/Unix/Host/Host.inf index 1b7481d1e0..550cb9f6e8 100644 --- a/EmulatorPkg/Unix/Host/Host.inf +++ b/EmulatorPkg/Unix/Host/Host.inf @@ -61,6 +61,7 @@ PpiListLib PeiServicesLib PeCoffGetEntryPointLib + StackCheckLib [Ppis] gEfiPeiStatusCodePpiGuid # PPI ALWAYS_PRODUCED diff --git a/EmulatorPkg/Win/Host/WinHost.inf b/EmulatorPkg/Win/Host/WinHost.inf index 9b3cefcabb..b123ea9dcf 100644 --- a/EmulatorPkg/Win/Host/WinHost.inf +++ b/EmulatorPkg/Win/Host/WinHost.inf @@ -55,6 +55,7 @@ PpiListLib PeiServicesLib FrameBufferBltLib + StackCheckLib [Ppis] gEmuThunkPpiGuid diff --git a/IntelFsp2Pkg/FspSecCore/Fsp22SecCoreS.inf b/IntelFsp2Pkg/FspSecCore/Fsp22SecCoreS.inf index 4a67388ddf..1b627e2825 100644 --- a/IntelFsp2Pkg/FspSecCore/Fsp22SecCoreS.inf +++ b/IntelFsp2Pkg/FspSecCore/Fsp22SecCoreS.inf @@ -52,6 +52,7 @@ FspSwitchStackLib FspCommonLib FspSecPlatformLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid ## PRODUCES diff --git a/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf b/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf index 40ff9f22f7..03b1d62cf3 100644 --- a/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf +++ b/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf @@ -61,6 +61,7 @@ CpuLib FspMultiPhaseLib FspPlatformLib + StackCheckLib [Pcd] gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamBase ## CONSUMES diff --git a/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf b/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf index 1d44fb67b5..4df7fce0e0 100644 --- a/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf +++ b/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf @@ -53,6 +53,7 @@ FspCommonLib FspSecPlatformLib FspMultiPhaseLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid ## PRODUCES diff --git a/IntelFsp2Pkg/FspSecCore/FspSecCoreI.inf b/IntelFsp2Pkg/FspSecCore/FspSecCoreI.inf index d31576c00b..62129a1b88 100644 --- a/IntelFsp2Pkg/FspSecCore/FspSecCoreI.inf +++ b/IntelFsp2Pkg/FspSecCore/FspSecCoreI.inf @@ -50,5 +50,6 @@ FspSwitchStackLib FspCommonLib FspSecPlatformLib + StackCheckLib diff --git a/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf b/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf index ac572a6168..07b62177eb 100644 --- a/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf +++ b/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf @@ -60,6 +60,7 @@ FspSecPlatformLib CpuLib FspPlatformLib + StackCheckLib [Pcd] gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamBase ## CONSUMES diff --git a/IntelFsp2Pkg/FspSecCore/FspSecCoreS.inf b/IntelFsp2Pkg/FspSecCore/FspSecCoreS.inf index fb80c0e339..0d6aa4d2f3 100644 --- a/IntelFsp2Pkg/FspSecCore/FspSecCoreS.inf +++ b/IntelFsp2Pkg/FspSecCore/FspSecCoreS.inf @@ -52,6 +52,7 @@ FspSwitchStackLib FspCommonLib FspSecPlatformLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid ## PRODUCES diff --git a/IntelFsp2Pkg/FspSecCore/FspSecCoreT.inf b/IntelFsp2Pkg/FspSecCore/FspSecCoreT.inf index e5a6eaa164..73c0de88d5 100644 --- a/IntelFsp2Pkg/FspSecCore/FspSecCoreT.inf +++ b/IntelFsp2Pkg/FspSecCore/FspSecCoreT.inf @@ -46,6 +46,7 @@ FspSwitchStackLib FspCommonLib FspSecPlatformLib + StackCheckLib [Pcd] gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamBase ## CONSUMES diff --git a/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf b/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf index 35d2535a5b..8457ac3236 100644 --- a/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf +++ b/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf @@ -44,6 +44,9 @@ DebugLib CpuExceptionHandlerLib DebugAgentLib + # CapsuleX64 implements its own _ModuleEntryPoint() and does not link against the standard PEIM entrypoint. As a + # result, it must include StackCheckLib to resolve the compiler inserted references to stack cookie functionality + StackCheckLib [Depex] FALSE diff --git a/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf b/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf index 72fd7572b7..05def4471d 100644 --- a/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf +++ b/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf @@ -33,4 +33,5 @@ [LibraryClasses] BaseLib DebugLib + StackCheckLib diff --git a/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf b/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf index c14a84dd32..d73c8e01d1 100644 --- a/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf +++ b/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf @@ -31,4 +31,4 @@ [LibraryClasses] BaseLib DebugLib - + StackCheckLib diff --git a/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf b/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf index b4f6a7342e..7334c5cc50 100644 --- a/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf +++ b/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf @@ -31,4 +31,4 @@ [LibraryClasses] DebugLib - + StackCheckLib diff --git a/MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf b/MdePkg/Library/StackCheckLib/StackCheckLib.inf similarity index 86% rename from MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf rename to MdePkg/Library/StackCheckLib/StackCheckLib.inf index ce8bc11f2b..ece291ea0b 100644 --- a/MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf +++ b/MdePkg/Library/StackCheckLib/StackCheckLib.inf @@ -7,11 +7,11 @@ [Defines] INF_VERSION = 1.29 - BASE_NAME = StackCheckLibStaticInit - FILE_GUID = 2b24dc50-e33d-4c9f-8b62-e826f06e483f + BASE_NAME = StackCheckLib + FILE_GUID = 1C4CA056-8FEA-413C-89D2-59A7E22847B3 MODULE_TYPE = BASE VERSION_STRING = 1.0 - LIBRARY_CLASS = NULL + LIBRARY_CLASS = StackCheckLib [Sources] StackCheckLibCommonMsvc.c | MSFT @@ -39,8 +39,6 @@ [LibraryClasses] StackCheckFailureHookLib - BaseLib - DebugLib [FixedPcd] gEfiMdePkgTokenSpaceGuid.PcdStackCookieExceptionVector diff --git a/MdePkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf b/MdePkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf index 1a6f255fac..03b33dce7c 100644 --- a/MdePkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf +++ b/MdePkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf @@ -30,3 +30,4 @@ [LibraryClasses] BaseLib DebugLib + StackCheckLib diff --git a/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf b/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf index 9303566309..ed2634ec37 100644 --- a/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf +++ b/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf @@ -36,6 +36,7 @@ BaseLib DebugLib MmServicesTableLib + StackCheckLib [Protocols] gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMES diff --git a/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf b/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf index b9d5b047a4..a97423026b 100644 --- a/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf +++ b/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf @@ -32,4 +32,5 @@ UefiBootServicesTableLib DebugLib BaseLib + StackCheckLib diff --git a/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf b/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf index 1d9a8cc1ac..4f8153ea12 100644 --- a/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf +++ b/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf @@ -36,6 +36,7 @@ UefiBootServicesTableLib DebugLib BaseLib + StackCheckLib [Protocols] diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc index a793fce809..ccefe558f3 100644 --- a/MdePkg/MdePkg.dsc +++ b/MdePkg/MdePkg.dsc @@ -142,7 +142,7 @@ MdePkg/Library/StackCheckFailureHookLibNull/StackCheckFailureHookLibNull.inf MdePkg/Library/StackCheckLibNull/StackCheckLibNull.inf - MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf + MdePkg/Library/StackCheckLib/StackCheckLib.inf [Components.IA32, Components.X64, Components.ARM, Components.AARCH64] # diff --git a/OvmfPkg/IntelTdx/Sec/SecMain.inf b/OvmfPkg/IntelTdx/Sec/SecMain.inf index cf95284f02..a9ba5c8f78 100644 --- a/OvmfPkg/IntelTdx/Sec/SecMain.inf +++ b/OvmfPkg/IntelTdx/Sec/SecMain.inf @@ -50,6 +50,7 @@ PeilessStartupLib PlatformInitLib CcProbeLib + StackCheckLib [Pcd] gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase diff --git a/OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf b/OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf index 19985b8c29..c72e701c96 100644 --- a/OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf +++ b/OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf @@ -31,6 +31,7 @@ DebugLib QemuFwCfgSimpleParserLib UefiBootServicesTableLib + StackCheckLib [Protocols] gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMES diff --git a/OvmfPkg/LoongArchVirt/Sec/SecMain.inf b/OvmfPkg/LoongArchVirt/Sec/SecMain.inf index afa0ff8fd1..82d2f803d6 100644 --- a/OvmfPkg/LoongArchVirt/Sec/SecMain.inf +++ b/OvmfPkg/LoongArchVirt/Sec/SecMain.inf @@ -40,6 +40,7 @@ PeCoffGetEntryPointLib PeCoffExtraActionLib PeiServicesLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid # PPI ALWAYS_PRODUCED diff --git a/OvmfPkg/RiscVVirt/Sec/SecMain.inf b/OvmfPkg/RiscVVirt/Sec/SecMain.inf index 73df0ee4cb..5a8cc49721 100644 --- a/OvmfPkg/RiscVVirt/Sec/SecMain.inf +++ b/OvmfPkg/RiscVVirt/Sec/SecMain.inf @@ -49,6 +49,7 @@ MemoryAllocationLib HobLib SerialPortLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid # PPI ALWAYS_PRODUCED diff --git a/OvmfPkg/Sec/SecMain.inf b/OvmfPkg/Sec/SecMain.inf index 88c2d3fb6d..4a91fb2bbb 100644 --- a/OvmfPkg/Sec/SecMain.inf +++ b/OvmfPkg/Sec/SecMain.inf @@ -56,6 +56,7 @@ CpuExceptionHandlerLib CcProbeLib CpuPageTableLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid # PPI ALWAYS_PRODUCED diff --git a/UefiCpuPkg/SecCore/SecCore.inf b/UefiCpuPkg/SecCore/SecCore.inf index 20a2ccef0b..94966f4edf 100644 --- a/UefiCpuPkg/SecCore/SecCore.inf +++ b/UefiCpuPkg/SecCore/SecCore.inf @@ -56,6 +56,7 @@ PeiServicesTablePointerLib HobLib CpuPageTableLib + StackCheckLib [Ppis] ## SOMETIMES_CONSUMES diff --git a/UefiCpuPkg/SecCore/SecCoreNative.inf b/UefiCpuPkg/SecCore/SecCoreNative.inf index 6d6d306294..facb79c2c4 100644 --- a/UefiCpuPkg/SecCore/SecCoreNative.inf +++ b/UefiCpuPkg/SecCore/SecCoreNative.inf @@ -53,6 +53,7 @@ PeiServicesTablePointerLib HobLib CpuPageTableLib + StackCheckLib [Ppis] ## SOMETIMES_CONSUMES diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf index e84ef664d3..da5a58ab22 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf @@ -55,6 +55,7 @@ PeCoffLib PlatformSupportLib CpuLib + StackCheckLib [Guids] gEfiMemoryTypeInformationGuid diff --git a/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf b/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf index 01bb9a118a..8804ef6b9c 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf +++ b/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf @@ -47,6 +47,7 @@ PeCoffLib CpuLib HobPrintLib + StackCheckLib [Guids] gEfiMemoryTypeInformationGuid