RealTimeClockLib|ArmVirtPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.inf\r
XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf\r
\r
+ ArmGenericTimerCounterLib|ArmVirtPkg/Library/XenArmGenericTimerVirtCounterLib/XenArmGenericTimerVirtCounterLib.inf\r
ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf\r
\r
[LibraryClasses.common.UEFI_DRIVER]\r
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
\r
-[BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE]\r
- # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE\r
- # executable we build for the relocatable PrePi. They are not runtime\r
- # relocatable in ELF.\r
- *_CLANG35_*_CC_FLAGS = -mno-movt\r
+[BuildOptions.common.EDKII.SEC, BuildOptions.common.EDKII.BASE]\r
+ #\r
+ # CLANG38 with LTO support enabled uses the GNU GOLD linker, which insists\r
+ # on emitting GOT based symbol references when running in shared mode, unless\r
+ # we override visibility to 'hidden' in all modules that make up the PrePi\r
+ # build.\r
+ #\r
+ GCC:*_CLANG38_*_CC_FLAGS = -include $(WORKSPACE)/ArmVirtPkg/Include/Platform/Hidden.h\r
\r
################################################################################\r
#\r
MdeModulePkg/Core/Dxe/DxeMain.inf {\r
<LibraryClasses>\r
NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
}\r
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {\r
<LibraryClasses>\r
#\r
# Bds\r
#\r
- MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
+ MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {\r
+ <LibraryClasses>\r
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+ }\r
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r