OvmfPkg: Use Xcode5 version of CpuExceptionHandlerLib for CLANGDWARF

The CLANGDWARF toolchain has the same problem as XCODE5 linking
CpuExceptionHandlerLib. So, use the
Xcode5SecPeiCpuExceptionHandlerLib.inf when building with the CLANGDWARF
toolchain.

Since the difference is that the non-Xcode5 version uses `mov` while the
Xcode5 version uses `lea`, they can be merged in future with the single
version using `lea`.

[ardb: the main difference is that the 'mov' instructions result in
       absolute symbol references, which are necessary because the code
       in question is copied in memory independently from the code that
       carries the symbols it refers to. The Xcode5 version has
       additional runtime handling to fix up the copied code with the
       correct absolute references.]

Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
Rebecca Cran 2023-03-28 11:31:08 -06:00 committed by mergify[bot]
parent 8f8e4fa3f3
commit b697a31a8d
1 changed files with 1 additions and 1 deletions

View File

@ -297,7 +297,7 @@
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
!if $(TOOL_CHAIN_TAG) == "XCODE5"
!if $(TOOL_CHAIN_TAG) == "XCODE5" || $(TOOL_CHAIN_TAG) == "CLANGDWARF"
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.inf
!else
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf