diff --git a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c index ecf77f0739..4cd0d4ce30 100644 --- a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c +++ b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c @@ -23,7 +23,7 @@ #include /// "canary" value that is inserted by the compiler into the stack frame. -VOID *__stack_chk_guard = (VOID*)FixedPcdGet64 (PcdBaseStackCanary); +VOID *__stack_chk_guard = (VOID*)0x0AFF; // If ASLR was enabled we could use //void (*__stack_chk_guard)(void) = __stack_chk_fail; diff --git a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf index 3304284ecb..1f33d5b211 100644 --- a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf +++ b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf @@ -38,5 +38,4 @@ DebugLib [FixedPcd] - gEfiMdePkgTokenSpaceGuid.PcdBaseStackCanary gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index 743e7bdba8..bd5ce07269 100644 --- a/MdePkg/MdePkg.dec +++ b/MdePkg/MdePkg.dec @@ -1553,10 +1553,6 @@ # The required memory space is decided by the value of PcdMaximumGuidedExtractHandler. gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|0x1000000|UINT64|0x30001015 - ## Canary value for the stack overflow protection. This PCD can be used by a firmware vendor - # or for debugging purposes to change the recommended value. - gEfiMdePkgTokenSpaceGuid.PcdBaseStackCanary|0x0AFF|UINT64|0x0000002A - [PcdsFixedAtBuild.IPF] ## The base address of IO port space for IA64 arch gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000|UINT64|0x0000000f diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc index 9532c1ec1e..8971d762a9 100644 --- a/MdePkg/MdePkg.dsc +++ b/MdePkg/MdePkg.dsc @@ -169,3 +169,6 @@ [Components.EBC] MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf + +[Components.ARM, Components.AARCH64] + MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf