]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmVirtPkg/ArmVirtXen.dsc
ArmVirtPkg/PrePiUniCoreRelocatable CLANG38: work around build issues
[mirror_edk2.git] / ArmVirtPkg / ArmVirtXen.dsc
index 175b56d10c8f91e18b37127b82acc3a393b25408..e083666f54eadb076f5d53bcca90610a87391ed8 100644 (file)
@@ -36,6 +36,7 @@
   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
+[BuildOptions.common.EDKII.SEC, BuildOptions.common.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
+  *_CLANG35_ARM_CC_FLAGS = -mno-movt\r
+\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